Vous êtes sur la page 1sur 11

Llenado de Cajones

Introduccin: Algoritmos de aproximacin


Muchos centenares de problemas con aplicaciones importantes son NP -completos. Hay varias estrategias posibles.
Aunque no exista ningn algoritmo polinomialmente acotado, podra haber diferencias importantes entre las
complejidades de los algoritmos conocidos.
En esta seccin estudiaremos un enfoque distinto para resolver problemas de optimizacin NP -completos: el uso de
algoritmos rpidos (es decir, polinomicamente acotados) que no garantizan la mejor solucin pero s una cercana a la
ptima.
Para algunos problemas es posible demostrar que hallar una solucin casi ptima es tan difcil como hallar una solucin
ptima.

Llenado de Cajones
Es una simplificacin de una clase de problemas que se presentan con frecuencia,
como es el almacenamiento de objetos de diversos tamaos y formas, teniendo como
resultados el desperdicio de espacio.

Empacar n elementos en el menor nmero posible de cajones (cada cajn de


capacidad 1).
Solucin ptima considerando todas las formas de dividir un conjunto de n cosas
en n o menos subconjuntos.
El nmero de particiones posibles es mayor que (n/2)^(n/2)

Primer Ajuste Decreciente (FFD first fit decreasing)


1. Primero se ordenan los objetos en orden decreciente por tamao.
2. Se coloca un objeto en el primer cajn en el que cabe.
3. No siempre produce empacados ptimos

Aspectos a considerar del Primer Ajuste Decreciente

Se tiene un nmero opt(S) como nmero ptimo de cajones para el conjunto de


elementos S. Todos los elementos colocados en cajones extra tienen un tamao
menor o igual a . (Lema)
Para cualquier conjunto de elementos S, el nmero de elementos colocados en
cajones extra es mximo opt(S)-1. (Lema)

Otras formas de atacar el problema

Estrategia de primer ajuste (FF first fit), sin ordenar los objetos. Se realiza el
mismo procedimiento que FFD.
Estrategia del mejor ajuste (BF, best fit), se coloca un objeto de x tamao
en el cajn ms lleno de todos los otros cajones en los que el objeto puede caber.
Estrategia siguiente ajuste. Sin ordenar objetos, se llena un cajn a la vez. Los
objetos se colocan hasta que ya no quepan ms objetos en el cajn, despus se
inicia en un nuevo cajn y se realiza el mismo procedimiento.

rboles orientados a elementos


Otra forma de resolver el problema consiste en realizar rboles.

Los elementos se ordenan decrecientemente.


Se pone el primer elemento en un cajn.
Para cada elemento, se decide en qu cajn de los existentes podra ponerse
(considerando el tamao) o si es necesario un nuevo cajn.

La solucin se encuentra en una de las hojas del rbol.


Tiene la desventaja de generar rboles muy grandes.

rboles orientados a cajones


En lugar de ir asignando cada elemento a un determinado cajn, se busca llenar cada
cajn de manera mxima posible.

Se propone un llenado del primer cajn considerando que debe incluir al


elemento ms grande. Se llena el espacio restante con los elementos posibles.
Para el siguiente nivel, se comienza a llenar con el elemento ms grande que
quede, usando la misma tcnica.

La solucin se encuentra en un conjunto de los cajones que se llenaron.