SlideShare una empresa de Scribd logo
2
Lo más leído
8
Lo más leído
9
Lo más leído
ALGORITMOS APROXIMADOS
El problema de la mochila 0-1.
El problema de llenado de cajas.

Alejandro Claro Mosqueda
AGENDA
• Formulación del problema de la mochila.
• Definiciones básicas.
• Algoritmos Aproximados.
• Algoritmo aproximado para el problema de la mochila.
• Formulación del problema de llenado de cajas.
• Algoritmos aproximados para el problema llenado de cajas.
EL PROBLEMA DE LA MOCHILA
180 $
45 Kg

400 $
100 Kg

100 $
20 Kg

350 $
50 Kg
EL PROBLEMA DE LA MOCHILA
Esto puede ser formulado de la siguiente manera:

donde xj es una variable binaria, cuyo valor es 1
si j debe ser incluido en la caja y 0 de lo contrario.
PROBLEMAS DE OPTIMIZACIÓN
Un problema de optimización, consiste de:
• Un conjunto de instancias (D).
PROBLEMAS DE OPTIMIZACIÓN
• Cada instancia I  D tiene un conjunto de
soluciones factibles (S ).

I

S (I) =

=

400 $
100 Kg

280 $
65 Kg

450 $
70 Kg

530 $
95 Kg
PROBLEMAS DE OPTIMIZACIÓN
• Un algoritmo en tiempo polinomial que dado el
par (I, s) determina si s  S .

(

,

95 Kg

)
PROBLEMAS DE OPTIMIZACIÓN
• Una función objetivo (f ), calculable en tiempo
polinomial, que asigna un numero real nonegativo a cada par (I, s). Donde s es una
solución factible.

400 $

280 $

450 $

530 $
PROBLEMAS DE OPTIMIZACIÓN
Una solución optima para una instancia de un
problema de minimización (maximización) es una
solución factible que obtiene el valor más
pequeño (grande) de la función objetivo.

OPT(I)

=
530 $
ALGORITMOS APROXIMADOS
La idea detrás de los algoritmos aproximados es
diseñar algoritmos en tiempo polinomial que
resulten en una solución ¨próxima¨ a la solución
optima de un problema de optimización NP.
Sea  un problema de minimización
(maximización), y  sea un numero real positivo,
  1 (  1). Un algoritmo A se dice que es
algoritmo factor -aproximado para  si en para
cada instancia I, A produce una solución factible
s, tal que
(Minimización)
(Maximización)
LA MOCHILA 0-1 (APROXIMADO)
Es un problema débilmente NP-hard. Admite
solución pseudo-polinomial con tiempo de
ejecución en (nc) por programación dinámica.

¡Prohibitivo cuando c es grande!
LA MOCHILA 0-1 (APROXIMADO)
Algoritmo sub-optimo eficiente [(nlogn)]:
LA MOCHILA 0-1 (APROXIMADO)
No siempre determina la solución optimo, y
desafortunadamente ¡puede ser arbitrariamente
¨malo¨!.
2$
1 Kg

X>2

X$
X Kg

X$

OPT(I) =

GREDDY(I) =

2$
LA MOCHILA 0-1 (APROXIMADO)
¡Afortunadamente, esto es fácil de solucionar!

Considérese la siguiente modificación al algoritmo:

¡Algoritmo factor ½ - aproximado!

½
LA MOCHILA 0-1 (APROXIMADO)
Sea l el menor entero tal que,

Considere la siguiente modificación al problema,

I’ =

c’

OPT(I’) = GREEDY(I’)
LA MOCHILA 0-1 (APROXIMADO)

OPT(I)  OPT(I’)

Empleando el hecho de que max(x,y)  (x+y)/2
se obtiene que
LA MOCHILA 0-1 (APROXIMADO)

OPT(I)

>
450 $

530/2 $ = 265 $
LLENADO DE CAJAS

¿Cuál es el mayor numero de objetos que se
puede almacenar?
LLENADO DE CAJAS

¿

…

?

¿Cuál es el menor numero de cajas que se
necesitan para almacenar todos los objetos?
LLENADO DE CAJAS (APROXIMADO)
Algoritmo Greedy:
Dado los objetos ordenados por orden no
decreciente de peso, se introducen tantos como
se pueda en una caja; cuando está este llena,
ponemos cuantos sean posible en la siguiente.

5 Kg
2 Kg

3 Kg

4 Kg
LLENADO DE CAJAS (APROXIMADO)
Greedy(I) =

5 Kg

7 Kg

4 Kg

7 Kg

OPT(I) =

Pero el algoritmo aproximado nunca se equivoca
en mas de k-1 objetos; donde k es el número de
cajas.
LLENADO DE CAJAS (APROXIMADO)
Supóngase que se tiene una caja de capacidad

Si se llena empezando por los objetos de menor
peso, la solución es optima para esta caja.
LLENADO DE CAJAS (APROXIMADO)
Si ahora se va dividiendo la caja por la porción de
las cajas del problema original, se desplazaran lo
objetos “partidos” a la siguiente caja.

Lo que puede provocar que, que a lo sumo, el
último objeto no quepa (caso dos cajas).

Al generalizar este resultado se obtiene que para
k cajas, la solución aproximada tendrá, a lo sumo,
k-1 objetos menos que la solución optima.
LLENADO DE CAJAS (APROXIMADO)

• Para ordenar los objetos se requiere un tiempo
de ejecución (nlogn).
• El tiempo de ejecución del algoritmo Greedy es
(n)
LLENADO DE CAJAS (APROXIMADO)
¿Cuál es el menor numero de cajas que se
necesitan para almacenar todos los objetos?

¿

…

?

Algoritmo Greedy:
Se toman los objetos por orden de pesos no
decrecientes, se colocan tantos como sea posible
en la primera caja, después en la segunda, y así
sucesivamente, y al final se cuentan el número de
cajas que se necesitan para almacenar los n
objetos.
LLENADO DE CAJAS (APROXIMADO)

Es posible demostrar que la solución aproximada
(s) esta acotada por

donde b es la solución optima del problema.
LLENADO DE CAJAS (APROXIMADO)
Algoritmo Greedy alternativo:
Se obtiene algoritmo aproximado mejor si los
objetos se consideran por orden no creciente,
Ahora se va tomando cada objeto por turno, y se
intenta añadir el objeto a la caja 1; si no cabe, se
intenta añadir a la caja 2, y así sucesivamente; si
no cabe en ninguna de las cajas existentes, se
comienza a llenar una nueva caja.

?

?

?

…
LLENADO DE CAJAS (APROXIMADO)

Es posible demostrar que la solución aproximada
(s) esta acotada por

donde b es la solución optima del problema.
Algoritmos aproximados - El problema de la mochila 0-1

Más contenido relacionado

PPTX
Programación 3: algoritmo de Prim y de Kruskal
PPTX
Recursividad (Divide y Vencerás)
PPTX
Programación 3: árboles binarios y ordenados
PPTX
Estructura de datos: lista, pilas y colas
PPTX
Tipos de listas en estructura de datos
PPTX
Arboles - estructura de datos
PPTX
Presentación OR Problemas de Caminos Más Cortos
PPT
Algoritmos de kruskal y prim
Programación 3: algoritmo de Prim y de Kruskal
Recursividad (Divide y Vencerás)
Programación 3: árboles binarios y ordenados
Estructura de datos: lista, pilas y colas
Tipos de listas en estructura de datos
Arboles - estructura de datos
Presentación OR Problemas de Caminos Más Cortos
Algoritmos de kruskal y prim

La actualidad más candente (20)

PPT
Jerarquia de chomsky
PDF
Algoritmo de kruskal
PPTX
Estructura de Datos - Unidad 5 metodos de ordenamiento
PPTX
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
PDF
Árboles binarios, ABB y AVL
PPTX
Estructura de Datos - Unidad 6 Metodos de busqueda
PPTX
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
DOCX
Listas como estructura de datos..
PDF
Cena de Filósofos
PPTX
Componentes y Librerías - Tópicos avanzados de programación.
PDF
Practicas de robotica utilizando matlab - Roque
PDF
Tutorial de JFLAP
PPTX
Algoritmo de kruskal
PPTX
ARBOLES BINARIOS
PPTX
Estructura de Datos Unidad - V: Métodos de Ordenamiento
PPTX
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
PPTX
Pilas estáticas. IESIT
PPTX
Ordenamiento con árbol binario
PPTX
Tipos de usuarios de base de datos diapositivas
Jerarquia de chomsky
Algoritmo de kruskal
Estructura de Datos - Unidad 5 metodos de ordenamiento
Algoritmos de Dijkstra, Warshall, Ordenación Topológica.
Árboles binarios, ABB y AVL
Estructura de Datos - Unidad 6 Metodos de busqueda
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Listas como estructura de datos..
Cena de Filósofos
Componentes y Librerías - Tópicos avanzados de programación.
Practicas de robotica utilizando matlab - Roque
Tutorial de JFLAP
Algoritmo de kruskal
ARBOLES BINARIOS
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Pilas estáticas. IESIT
Ordenamiento con árbol binario
Tipos de usuarios de base de datos diapositivas
Publicidad

Similar a Algoritmos aproximados - El problema de la mochila 0-1 (20)

PPT
PPTX
Programacion dinamica
PDF
Inecuaciones trigonometricas
PPTX
Metodo de la grange
PDF
2 algoritmos voraces
PDF
Apunte de problemas
PDF
Apunte de problemas
PDF
Apunte de problemas
PPTX
Programación Dinámica
PDF
Analisis de Algoritmos tarea 1
PDF
PROGRAMACIÓN LINEAL_GRAFICA _TEOREMA FUNDAMENTAL.pdf
PDF
PROBLEMA DE LA MOCHILA
PPT
Programacion lineal
PPTX
Metodos kuhn tucker y lagrange
PDF
Diapositivas semana 14
PPTX
Optimización. Métodos numéricos
PDF
Capítulo 5: Criptografía de clave pública, antecedentes matemáticos
PDF
Parcial(2017 i) (solucionario)
DOCX
Ejercicios recursion en seudolenguaje con resultados.
Programacion dinamica
Inecuaciones trigonometricas
Metodo de la grange
2 algoritmos voraces
Apunte de problemas
Apunte de problemas
Apunte de problemas
Programación Dinámica
Analisis de Algoritmos tarea 1
PROGRAMACIÓN LINEAL_GRAFICA _TEOREMA FUNDAMENTAL.pdf
PROBLEMA DE LA MOCHILA
Programacion lineal
Metodos kuhn tucker y lagrange
Diapositivas semana 14
Optimización. Métodos numéricos
Capítulo 5: Criptografía de clave pública, antecedentes matemáticos
Parcial(2017 i) (solucionario)
Ejercicios recursion en seudolenguaje con resultados.
Publicidad

Más de Alejandro Claro Mosqueda (6)

PDF
Metodos de monte carlo en mecánica estadistica
PPT
Introducción a los solitones - Presentación de algunas soluciones solitónicas
PDF
Tunelaje de solitones
PDF
Software design - Write solid software with the ideal chalk
PDF
Unit testing - An introduction
PDF
Lean thinking and the agile culture
Metodos de monte carlo en mecánica estadistica
Introducción a los solitones - Presentación de algunas soluciones solitónicas
Tunelaje de solitones
Software design - Write solid software with the ideal chalk
Unit testing - An introduction
Lean thinking and the agile culture

Último (20)

PPTX
Curso de generación de energía mediante sistemas solares
PDF
MANUAL de recursos humanos para ODOO.pdf
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Propuesta BKP servidores con Acronis1.pptx
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Diapositiva proyecto de vida, materia catedra
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
modulo seguimiento 1 para iniciantes del
Curso de generación de energía mediante sistemas solares
MANUAL de recursos humanos para ODOO.pdf
TRABAJO DE TECNOLOGIA.pdf...........................
Sesion 1 de microsoft power point - Clase 1
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Propuesta BKP servidores con Acronis1.pptx
Zarate Quispe Alex aldayir aplicaciones de internet .docx
historia_web de la creacion de un navegador_presentacion.pptx
Diapositiva proyecto de vida, materia catedra
la-historia-de-la-medicina Edna Silva.pptx
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Presentacion de Alba Curso Auditores Internos ISO 19011
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
Power Point Nicolás Carrasco (disertación Roblox).pptx
informe_fichas1y2_corregido.docx (2) (1).pdf
modulo seguimiento 1 para iniciantes del

Algoritmos aproximados - El problema de la mochila 0-1

  • 1. ALGORITMOS APROXIMADOS El problema de la mochila 0-1. El problema de llenado de cajas. Alejandro Claro Mosqueda
  • 2. AGENDA • Formulación del problema de la mochila. • Definiciones básicas. • Algoritmos Aproximados. • Algoritmo aproximado para el problema de la mochila. • Formulación del problema de llenado de cajas. • Algoritmos aproximados para el problema llenado de cajas.
  • 3. EL PROBLEMA DE LA MOCHILA 180 $ 45 Kg 400 $ 100 Kg 100 $ 20 Kg 350 $ 50 Kg
  • 4. EL PROBLEMA DE LA MOCHILA Esto puede ser formulado de la siguiente manera: donde xj es una variable binaria, cuyo valor es 1 si j debe ser incluido en la caja y 0 de lo contrario.
  • 5. PROBLEMAS DE OPTIMIZACIÓN Un problema de optimización, consiste de: • Un conjunto de instancias (D).
  • 6. PROBLEMAS DE OPTIMIZACIÓN • Cada instancia I  D tiene un conjunto de soluciones factibles (S ). I S (I) = = 400 $ 100 Kg 280 $ 65 Kg 450 $ 70 Kg 530 $ 95 Kg
  • 7. PROBLEMAS DE OPTIMIZACIÓN • Un algoritmo en tiempo polinomial que dado el par (I, s) determina si s  S . ( , 95 Kg )
  • 8. PROBLEMAS DE OPTIMIZACIÓN • Una función objetivo (f ), calculable en tiempo polinomial, que asigna un numero real nonegativo a cada par (I, s). Donde s es una solución factible. 400 $ 280 $ 450 $ 530 $
  • 9. PROBLEMAS DE OPTIMIZACIÓN Una solución optima para una instancia de un problema de minimización (maximización) es una solución factible que obtiene el valor más pequeño (grande) de la función objetivo. OPT(I) = 530 $
  • 10. ALGORITMOS APROXIMADOS La idea detrás de los algoritmos aproximados es diseñar algoritmos en tiempo polinomial que resulten en una solución ¨próxima¨ a la solución optima de un problema de optimización NP. Sea  un problema de minimización (maximización), y  sea un numero real positivo,   1 (  1). Un algoritmo A se dice que es algoritmo factor -aproximado para  si en para cada instancia I, A produce una solución factible s, tal que (Minimización) (Maximización)
  • 11. LA MOCHILA 0-1 (APROXIMADO) Es un problema débilmente NP-hard. Admite solución pseudo-polinomial con tiempo de ejecución en (nc) por programación dinámica. ¡Prohibitivo cuando c es grande!
  • 12. LA MOCHILA 0-1 (APROXIMADO) Algoritmo sub-optimo eficiente [(nlogn)]:
  • 13. LA MOCHILA 0-1 (APROXIMADO) No siempre determina la solución optimo, y desafortunadamente ¡puede ser arbitrariamente ¨malo¨!. 2$ 1 Kg X>2 X$ X Kg X$ OPT(I) = GREDDY(I) = 2$
  • 14. LA MOCHILA 0-1 (APROXIMADO) ¡Afortunadamente, esto es fácil de solucionar! Considérese la siguiente modificación al algoritmo: ¡Algoritmo factor ½ - aproximado! ½
  • 15. LA MOCHILA 0-1 (APROXIMADO) Sea l el menor entero tal que, Considere la siguiente modificación al problema, I’ = c’ OPT(I’) = GREEDY(I’)
  • 16. LA MOCHILA 0-1 (APROXIMADO) OPT(I)  OPT(I’) Empleando el hecho de que max(x,y)  (x+y)/2 se obtiene que
  • 17. LA MOCHILA 0-1 (APROXIMADO) OPT(I) > 450 $ 530/2 $ = 265 $
  • 18. LLENADO DE CAJAS ¿Cuál es el mayor numero de objetos que se puede almacenar?
  • 19. LLENADO DE CAJAS ¿ … ? ¿Cuál es el menor numero de cajas que se necesitan para almacenar todos los objetos?
  • 20. LLENADO DE CAJAS (APROXIMADO) Algoritmo Greedy: Dado los objetos ordenados por orden no decreciente de peso, se introducen tantos como se pueda en una caja; cuando está este llena, ponemos cuantos sean posible en la siguiente. 5 Kg 2 Kg 3 Kg 4 Kg
  • 21. LLENADO DE CAJAS (APROXIMADO) Greedy(I) = 5 Kg 7 Kg 4 Kg 7 Kg OPT(I) = Pero el algoritmo aproximado nunca se equivoca en mas de k-1 objetos; donde k es el número de cajas.
  • 22. LLENADO DE CAJAS (APROXIMADO) Supóngase que se tiene una caja de capacidad Si se llena empezando por los objetos de menor peso, la solución es optima para esta caja.
  • 23. LLENADO DE CAJAS (APROXIMADO) Si ahora se va dividiendo la caja por la porción de las cajas del problema original, se desplazaran lo objetos “partidos” a la siguiente caja. Lo que puede provocar que, que a lo sumo, el último objeto no quepa (caso dos cajas). Al generalizar este resultado se obtiene que para k cajas, la solución aproximada tendrá, a lo sumo, k-1 objetos menos que la solución optima.
  • 24. LLENADO DE CAJAS (APROXIMADO) • Para ordenar los objetos se requiere un tiempo de ejecución (nlogn). • El tiempo de ejecución del algoritmo Greedy es (n)
  • 25. LLENADO DE CAJAS (APROXIMADO) ¿Cuál es el menor numero de cajas que se necesitan para almacenar todos los objetos? ¿ … ? Algoritmo Greedy: Se toman los objetos por orden de pesos no decrecientes, se colocan tantos como sea posible en la primera caja, después en la segunda, y así sucesivamente, y al final se cuentan el número de cajas que se necesitan para almacenar los n objetos.
  • 26. LLENADO DE CAJAS (APROXIMADO) Es posible demostrar que la solución aproximada (s) esta acotada por donde b es la solución optima del problema.
  • 27. LLENADO DE CAJAS (APROXIMADO) Algoritmo Greedy alternativo: Se obtiene algoritmo aproximado mejor si los objetos se consideran por orden no creciente, Ahora se va tomando cada objeto por turno, y se intenta añadir el objeto a la caja 1; si no cabe, se intenta añadir a la caja 2, y así sucesivamente; si no cabe en ninguna de las cajas existentes, se comienza a llenar una nueva caja. ? ? ? …
  • 28. LLENADO DE CAJAS (APROXIMADO) Es posible demostrar que la solución aproximada (s) esta acotada por donde b es la solución optima del problema.