Este es el problema de la mochila si puede elegir un producto o no. Si puede elegir valores fraccionarios de productos, entonces puede resolver esto con el método símplex, pero el problema de mochila fraccional tiene una solución simple.
Ordene los artículos por relación energía/precio, escoja el 100% de los más altos hasta que se quede sin dinero, luego elija un valor fraccionario del más alto restante.
Por ejemplo, si los precios son 4,3,5,4 y 3,5,2,7 energías son el ordenamiento es
7/4, 5/3, 3/4, 2/5
por lo que sería recoger artículos 4 y 2, que costaría 7 $, con los $ 3 restantes que iba a comprar el 75% de la primera partida de un precio de $ 3 y una energía de 3 * .75 = 2,25
Este daría una energía total de 14.25
Tenga en cuenta que permitir valores fraccionarios le dará un valor objetivo más alto que solo permitir 0% o 100%, por lo que ninguna solución entera será mejor que 14.25 (o 14 para el caso, ya que el valor objetivo tiene que ser un número entero).
Para resolver el problema original de la mochila, puede usar una ramificación y encuadernación que debería funcionar bien en la práctica. Suponga que tiene una solución candidata actual con un valor objetivo de z *
- Resuelva el problema relajado, donde permite los pesos fraccionarios. Si el valor es menor que z *, descarte esta rama.
- Calcule un nuevo valor z que es la solución encontrada sin la última fracción de peso, si este valor es mayor que z *, reemplace z * con su nuevo valor
- Elija un ítem (digamos el primero en la lista, más rentable) y forman dos subproblemas, uno donde debe incluirlo en la solución y otro donde no puede incluirlo en la solución (este es el paso de bifurcación).
- Mientras tenga subproblemas pendientes de resolver, elija uno y vuelva al paso 1.
Tenga en cuenta que cuando crea el subproblema donde debe elegir un artículo, simplemente resta su precio del presupuesto y agrega el valor al beneficio, ahora tiene un problema menor que resolver.
Para una descripción más detallada mire Branch and Bound en Wikipedia.
En este problema, se le presenta una colección de n premios desde los que se puede seleccionar como máximo m premios, donde m