Foro de elhacker.net

Programación => Java => Mensaje iniciado por: zenydark en 30 Junio 2010, 23:28 pm



Título: Algoritmo de la mochila JAva
Publicado por: zenydark en 30 Junio 2010, 23:28 pm
Hola estoy realizando un proyecto sobre  el algoritmo  de la mochila

Alguien me podría explicar en que consiste y además el código en java


Título: Re: Algoritmo de la mochila JAva
Publicado por: @synthesize en 30 Junio 2010, 23:34 pm
http://es.wikipedia.org/wiki/Problema_de_la_mochila (http://es.wikipedia.org/wiki/Problema_de_la_mochila)

Ahí tienes para rato


Título: Re: Algoritmo de la mochila JAva
Publicado por: Leyer en 1 Julio 2010, 00:17 am
src,bin programa de ejemplo
http://alumno.us.es/s/sjromcas/programas/mochila3.jar
 
Quisas te sirva
http://es.wikibooks.org/wiki/Problema_de_la_mochila_con_programaci%C3%B3n_din%C3%A1mica

Código
  1. public int[][] Mochila(int[] pesos, int[] beneficios, int capacidad){  
  2. //Creamos la matriz de devoluciones    
  3. int[][]  matriz_mochila = new int[pesos.length+1][capacidad+1];
  4. //Rellenamos la 1ª fila de ceros  
  5. for(int i = 0; i <= capacidad; i++)  
  6. matriz_mochila[0][i] = 0;    //Rellenamos la 1ª columna de ceros
  7. for(int i = 0; i <= pesos.length; i++)          
  8. matriz_mochila[i][0] = 0;          
  9. for(int j = 1; j <= pesos.length ; j++)          
  10. for(int c = 1; c <= capacidad; c++){      
  11. if(c <  pesos[j-1] ){          
  12. matriz_mochila[j][c] = matriz_mochila[j-1][c];  
  13. }else{              
  14. if(matriz_mochila[j-1][c] > matriz_mochila[j-1][c-pesos[j-1]]+ beneficios[j-1]){    
  15. matriz_mochila[j][c] = matriz_mochila[j-1][c];          
  16. }else{                
  17. matriz_mochila[j][c] = matriz_mochila[j-1][c-pesos[j-1]]+beneficios[j-1];
  18. }          
  19. }    
  20. }       return matriz_mochila;    
  21. }