Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Para poder utilizar esta técnica, el problema debe poder dividirse en sub-
etapas en las que hay varias opciones. La decisión para continuar a la siguiente
etapa se toma eligiendo la opción con el mejor resultado parcial.
El problema de la mochila resuelto con un algoritmo voraz
con la restricción:
Tanto los pesos como los valores son positivos (wi >0 y vi >0) y las fracciones
xi pueden ir de cero a 1 (0 ≤ xi ≤ 1). Si utilizamos un algoritmo voraz para
resolver el problema tendremos que los candidatos son los diferentes objetos y
la solución es un vector (x1, x2,…, xn) este vector indica qué fracción de cada
objeto se debe incluir en la mochila. La función objetivo es el valor total de los
objetos que están en la mochila. La solución es factible siempre que se cumpla
la restricción. Cuando la suma de todos los pesos de los objetos enteros es
menor o igual a W, la solución al problema es es trivial (incluir en la mochila
todos los objetos), por lo que asumiremos que esta suma sobrepasa W, para
que el caso sea interesante.
Solución óptima
El bucle requiere como máximo n (num. obj.) iteraciones: O(n) (una para cada
posible objeto en el caso de que todos quepan en la mochila)
i =1 i =2 i =3 i =4 i =5
Pesos: 10 20 30 40 50 kg
Valores: 20 30 66 40 60 pesos
Teorema: “Si se seleccionan los objetos por orden decreciente de la razón valori
/pesoi , entonces el algoritmo de la mochila encuentra una solución óptima”
[Brassard y Bratley, 2008].