Im estudiar la programación dinámica y estoy buscando para resolver el siguiente problema, que se puede encontrar aquí http://www.cs.berkeley.edu/~vazirani/algorithms/chap6.pdf:programación dinámica y la aplicación de la mochila
Se le da un trozo de tela rectangular con dimensiones X por Y, donde X e Y son enteros positivos, y una lista de n productos que se pueden hacer usando la tela. Para cada producto i en [1, n] usted sabe que se necesita un rectángulo de tela de dimensiones ai por bi y que el precio de venta final del producto es ci. Supongamos que ai, bi y ci son enteros positivos. Usted tiene una máquina que puede cortar cualquier pieza rectangular de tela en dos piezas, ya sea horizontal o verticalmente. Diseñe un algoritmo que encuentre la mejor estrategia para cortar una pieza de tela X por Y para que los productos fabricados con las piezas resultantes den la suma máxima de los precios de venta. Puede hacer tantas copias de un producto determinado como desee o ninguna si lo desea. (De los algoritmos de Dasgupta, Papadimitriou y Vazirani.)
Parece que tenemos una especie de problema de mochila bidimensional, pero creo que es posible resolverlo simplemente con el algoritmo tradicional de mochila considerando el pesos como las áreas de los rectángulos. ¿Esto parece un enfoque razonable?
Esta es una asignación de programación para un curso que estoy tomando, por lo que solo incluya discusión conceptual y/o pseudocódigo para ilustrar ideas.
¿Qué hay de una mochila pero con cada área de producto en lugar de las dimensiones del producto? – higuaro
Esto huele mucho a una variación más difícil del problema de corte de stock que, incluso en círculos de programación restringida, es increíblemente difícil de resolver. Déjame pensar en esto, ya que el capítulo trata sobre programación dinámica que es una pista. – Rafe