Test Foro de elhacker.net SMF 2.1

Programación => Programación General => 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 (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;    
}