Algoritmo de la mochila JAva

Iniciado por zenydark, 30 Junio 2010, 23:28 PM

0 Miembros y 1 Visitante están viendo este tema.

zenydark

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

@synthesize


Leyer

#2
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 (java) [Seleccionar]
public int[][] Mochila(int[] pesos, int[] beneficios, int capacidad){  
//Creamos la matriz de devoluciones    
int[][]  matriz_mochila = new int[pesos.length+1][capacidad+1];
//Rellenamos la 1ª fila de ceros  
for(int i = 0; i <= capacidad; i++)  
matriz_mochila[0][i] = 0;    //Rellenamos la 1ª columna de ceros
for(int i = 0; i <= pesos.length; i++)          
matriz_mochila[i][0] = 0;          
for(int j = 1; j <= pesos.length ; j++)          
for(int c = 1; c <= capacidad; c++){      
if(c <  pesos[j-1] ){          
matriz_mochila[j][c] = matriz_mochila[j-1][c];  
}else{              
if(matriz_mochila[j-1][c] > matriz_mochila[j-1][c-pesos[j-1]]+ beneficios[j-1]){    
matriz_mochila[j][c] = matriz_mochila[j-1][c];          
}else{                
matriz_mochila[j][c] = matriz_mochila[j-1][c-pesos[j-1]]+beneficios[j-1];
}          
}    
}       return matriz_mochila;    
}