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%A1micapublic 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;
}