Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad...

82
Mejora iterativa Dr. Eduardo A. RODRÍGUEZ TELLO CINVESTAV-Tamaulipas 9 de abril de 2018 Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 1 / 82

Transcript of Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad...

Page 1: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa

Dr. Eduardo A. RODRÍGUEZ TELLO

CINVESTAV-Tamaulipas

9 de abril de 2018

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 1 / 82

Page 2: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 2 / 82

Page 3: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Introducción

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 3 / 82

Page 4: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Introducción

Introducción

La clase pasada estudiamos los algoritmos codiciosos (greedy)los cuales construyen una solución de un problema deoptimización paso a paso a través de una secuencia deelecciones que son: factibles, localmente óptimas e irrevocables

Hoy veremos otro enfoque para diseñar algoritmos para resolverproblemas de optimización:

Comienza con una solución factible (que no viole las restricciones)

Procede a mejorarla aplicando repetidamente un paso simple.Típicamente un pequeño cambio local que lleve a otra soluciónfactible con mejor valor de la función objetivo

Cuando dicho cambio no existe el algoritmo regresa la últimasolución factible encontrada y se detiene

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 4 / 82

Page 5: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Introducción

Introducción

Existen muchos problemas importantes que pueden ser resueltosmediante algoritmos de mejora iterativa

El más importante de ellos es la programación lineal

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 5 / 82

Page 6: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Programación lineal

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 6 / 82

Page 7: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Programación lineal

Programación lineal

El término programación lineal define una clase particular deproblemas de optimización en los que las restricciones delsistema se pueden expresar como:

Ecuaciones lineales, oDesigualdades

Además, la función objetivo es una función lineal de las variablesde decisión/diseño

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 7 / 82

Page 8: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Programación lineal

Programación lineal

Las técnicas de programación lineal (PL) son ampliamenteutilizadas para resolver una amplia serie de problemas militares,económicos, industriales y sociales

Las razones principales para su amplio uso son:La disponibilidad de software comercial para resolver problemasmuy grandes, yLa facilidad con la que la variación de datos (análisis desensibilidad) puede manejarse a través de modelos de PL

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 8 / 82

Page 9: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Formulación de modelos de PL

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 9 / 82

Page 10: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Formulación de modelos de PL

Formulación de modelos de PL

La formulación se refiere a la construcción de modelos de PL deproblemas prácticos del mundo real

No se trata de una ciencia

Es cuestión de experiencia y práctica

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 10 / 82

Page 11: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Formulación de modelos de PL

Formulación de modelos de PL

Los pasos básicos para la formulación de un modelo de PL son:

1 Identificar las variables de decisión/diseño,

2 Expresar las restricciones del problema como ecuaciones linealeso inecuaciones, y

3 Escribir la función a optimizar (minimizar/maximizar) como unafunción lineal

Ilustraremos estos pasos a través de un ejemplo

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 11 / 82

Page 12: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Formulación de modelos de PL

Formulación de modelos de PLEjemplo: problema de inspección

Una compañía tiene dos grados de inspectores (1 y 2), los cuales tienen que serasignados a una inspección de control de calidad

Se requiere que al menos 1800 piezas sean inspeccionadas por día (8 hrs)

Los inspectores Grado 1 pueden verificar 25 piezas por hora con una precisiónde 98%

Los inspectores Grado 2 pueden verificar 15 piezas por hora con una precisiónde 95%

Los salarios para los inspectores son: $4.0/hr para Grado 1 y $3.0/hr para Grado2

Cada vez que un inspector falla, el costo para la compañía es de $2.0

La compañía dispone de un máximo de plazas de inspector: 8 para Grado 1 y10 para Grado 2

La compañía quiere determinar la asignación óptima de inspectores queminimice el costo total de inspección

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 12 / 82

Page 13: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Formulación de modelos de PL

Formulación de modelos de PLEjemplo: problema de inspección

Paso 1. Identificar variables de decisión

Las variables de decisión/diseño en este problema son x1 y x2

Estas representan el número de inspectores grado 1 y grado 2asignados

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 13 / 82

Page 14: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Formulación de modelos de PL

Formulación de modelos de PLEjemplo: problema de inspección

Paso 2. Expresar restricciones como ecuaciones lineales

Dado que el número máximo de inspectores disponibles paracada grado es restringido (8 y 10), podemos escribir lassiguientes restricciones:

x1 ≤ 8 (grado 1)x2 ≤ 10 (grado 2)

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 14 / 82

Page 15: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Formulación de modelos de PL

Formulación de modelos de PLEjemplo: problema de inspección

Paso 2. Expresar restricciones como ecuaciones lineales...

La compañía requiere que al menos 1800 piezas se inspeccionendiariamente y cada inspector tiene un máximo de piezasinspeccionadas por hora (25 y 15)

8(25)x1 + 8(15)x2 ≥ 1800200x1 + 120x2 ≥ 1800

simplificando:5x1 + 3x2 ≥ 45

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 15 / 82

Page 16: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Formulación de modelos de PL

Formulación de modelos de PLEjemplo: problema de inspección

Paso 3. Escribir función objetivo (lineal)

La compañía incurre en dos tipos de costos: (1) salarios de inspectores y (2)errores de inspección

El costo para cada inspector grado 1 es:

$4 + $2(25)(0.02) = $5.0/hr

De manera similar el costo para cada inspector grado 2 es:

$3 + $2(15)(0.05) = $4.5/hr

Por lo tanto la función objetivo para minimizar los costos diarios de inspecciónes:

Z = 8(5.0x1 + 4.5x2) = 40x1 + 36x2

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 16 / 82

Page 17: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Formulación de modelos de PL

Formulación de modelos de PLEjemplo: problema de inspección

La formulación completa del problema de PL es la siguiente:

Minimizar: Z = 40x1 + 36x2

Sujeto a: x1 ≤ 8x2 ≤ 105x1 + 3x2 ≥ 45x1 ≥ 0x2 ≥ 0

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 17 / 82

Page 18: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 18 / 82

Page 19: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Representación y proyección de poliedros

Acabamos de ver cómo formular un problema de PL (problema deinspección)

Minimizar: Z = 40x1 + 36x2

Sujeto a: x1 ≤ 8

x2 ≤ 10

5x1 + 3x2 ≥ 45

x1 ≥ 0

x2 ≥ 0

Para resolverlo se requieren conocer los valores de x1 y x2 quesatisfagan las restricciones y resulten en el menor valor de lafunción objetivo

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 19 / 82

Page 20: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Representación y proyección de poliedros

Minimizar: Z = 40x1 + 36x2

Sujeto a: x1 ≤ 8

x2 ≤ 10

5x1 + 3x2 ≥ 45

x1 ≥ 0

x2 ≥ 0

Primero identificaremos todos los valores de x1 y x2 (positivos)que satisfagan las restriccionesPor ejemplo, x1 = 8 y x2 = 10 (solución factible)El conjunto de todas las soluciones factibles es conocido como laregión factibleResolver un problema de PL es encontrar la mejor solución en laregión factible (solución óptima)

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 20 / 82

Page 21: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Representación y proyección de poliedrosLa región factible puede ser representada como un poliedro en un planocartesianoLas restricciones de no negatividad (x1 ≥ 0 y x2 ≥ 0) implican que todas lassoluciones factibles caen en el primer cuadranteLas restricciones x1 ≤ 8 y x2 ≤ 10 acotan aún más la región factible

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 21 / 82

Page 22: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Representación y proyección de poliedrosLa restricción 5x1 + 3x2 ≥ 45 (inspección de 1800 piezas diarias)

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 22 / 82

Page 23: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Representación y proyección de poliedrosLa función objetivo Z = 40x1 + 36x2 = 600

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 23 / 82

Page 24: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Representación y proyección de poliedrosLa función objetivo Z = 40x1 + 36x2 = 500

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 24 / 82

Page 25: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Representación y proyección de poliedrosLa función objetivo Z = 40x1 + 36x2 = 380

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 25 / 82

Page 26: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Representación y proyección de poliedrosLa solución óptima es x1 = 8 y x2 = 2 que resulta en Z = 380

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 26 / 82

Page 27: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Representación y proyección de poliedros

Existen tres posibles resultados para un determinado problemade PL:

Factible: Existe al menos una solución óptimaExiste un único vértice de la región factible (una solución óptima)Existen una arista o cara de la región factible ortogonal a la funciónobjetivo (múltiples soluciones óptimas)

No factible: La región factible es no acotada, y por lo tanto, no haysoluciónNo acotado: La región factible es no acotada en la dirección de lafunción objetivo, por lo que no existe solución óptima finita

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 27 / 82

Page 28: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Problema de PL factible consolución óptima única

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 28 / 82

Page 29: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Problema de PL factible conmúltiples soluciones óptimas

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 29 / 82

Page 30: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Problema de PL no factible(región factible vacía)

No existe solución óptima

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 30 / 82

Page 31: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Problema de PL no acotado enla dirección del gradiente de lafunción objetivo(maximización)

No existe solución óptimafinita (óptimo no acotado)

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 31 / 82

Page 32: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Problema de PL no acotado endirección diferente a la delgradiente de la funciónobjetivo (minimización)

Existe una solución óptima

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 32 / 82

Page 33: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Representación y proyección de poliedros

Es importante observar que si existe una solución óptima para un problema dePL, entonces al menos uno de los vértices de la región factible calificarásiempre para ser una solución óptima

Esta es la propiedad fundamental en la cual se basa el método simplex pararesolver problemas de PL

Aún cuando la región factible de un problema de PL puede contener un númeroinfinito de puntos, la solución óptima puede obtenerse al examinarsistemáticamente un número finito de vértices de la región factible

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 33 / 82

Page 34: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL en espacios dimensionales mayores

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 34 / 82

Page 35: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL en espacios dimensionales mayores

PL en espacios dimensionales mayores

Una tienda de chocolates tiene tres productos: chocolate blanco, chocolateamargo y chocolate con leche

Si la demanda diaria está limitada a máximo: 200 cajas de chocolate blanco y300 de chocolate amargo

La ganancias por caja son: $1 para chocolate blanco, $6 para chocolate amargoy $13 para chocolate con leche

El personal sólo puede producir 400 cajas por día

El chocolate amargo y el chocolate con leche requieren la misma maquinariapara empaque, excepto que el chocolate con leche la emplea tres veces mástiempo

El tiempo total de empaque de ambos tipos de chocolate no debe exceder 600minutos

¿Cuánto debe producir para maximizar sus ganancias?

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 35 / 82

Page 36: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL en espacios dimensionales mayores

PL en espacios dimensionales mayores

Maximizar: Z = x1 + 6x2 + 13x3

Sujeto a: x1 ≤ 200x2 ≤ 300x1 + x2 + x3 ≤ 400x2 + 3x3 ≤ 600x1, x2, x3 ≥ 0

Un posible trayectoria delmétodo simplex:

1 (0,0,0)=$02 (200,0,0)=$2003 (200,200,0)=$14004 (200,0,200)=$28005 (0,300,100)=$3100

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 36 / 82

Page 37: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoría de la dualidad

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 37 / 82

Page 38: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoría de la dualidad

Teoría de la dualidad

Desde el punto de vista teórico y práctico, la teoría de la dualidades uno de los conceptos más importantes e interesantes en PL

La teoría de la dualidad fue desarrollada de maneraindependiente por John von Neumann y Leonid Kantoróvich en1947

La idea básica detrás de la teoría de la dualidad es que cadaproblema de PL (primal) tiene asociado un programa linealconocido como su dual

Por lo tanto, cuando se resuelve un problema de PL, en realidadse obtienen soluciones para dos problemas de PL

Veamos el concepto de dualidad con un ejemplo

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 38 / 82

Page 39: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoría de la dualidad

Problema primal

Maximizar: Z = x1 + 2x2 + 3x3 + 4x4

Sujeto a: x1 + 2x2 + 2x3 + 3x4 ≤ 20

2x1 + x2 + 3x3 + 2x4 ≤ 20

x1, x2, x3, x4 ≥ 0

Problema dual

Minimizar: W = 20y1 + 20y2

Sujeto a: y1 + 2y2 ≥ 1

2y1 + y2 ≥ 2

2y1 + 3y2 ≥ 3

3y1 + 2y2 ≥ 4

y1, y2 ≥ 0

Primal: 4 variables, 2 restricciones. Dual: 2 variables, 4 restricciones

Cada restricción (fila) en el primal corresponde a una columna en el dual

El objetivo primal de maximizar cambia a minimizar

Coeficientes de función obj (primal) son constantes en el lado derecho delproblema dual

Constantes del lado derecho (primal) son los coeficientes de costos en el dual

Las desigualdades se invierten en las restricciones

El dual del dual es el problema primal

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 39 / 82

Page 40: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoría de la dualidad

Teoría de la dualidad

Problema primal

Maximizar: cTx

Sujeto a: Ax ≤ b

x ≥ 0

Problema dual

Minimizar: bT y

Sujeto a: AT y ≥ c

y ≥ 0

xT = [x1, x2, . . . , xn] y cT = [c1, c2, . . . , cn] son vectores en Rn

bT = [b1, b2, . . . , bm] ∈ Rm

A = [aij ] es una matriz en Rm×n

yT = [y1, y2, . . . , ym] ≥ 0

Si todas las variables son no negativas y las restricciones son desigualdadesentonces son problemas duales simétricos

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 40 / 82

Page 41: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoremas de dualidad

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 41 / 82

Page 42: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoremas de dualidad

Teoremas de dualidad

Para los siguientes teoremas y axiomas consideremos losproblemas duales simétricos: maximizar cTx,Ax ≤ b, x ≥ 0, yminimizar bT y,AT y ≥ c, y ≥ 0

Teorema de dualidad débil

En general, el valor de la función objetivo de cualquier solución factibledel problema dual provee una cota superior (i.e., es siempre mayor oigual que) para cualquier solución factible del problema primal.

Análogamente, cualquier solución factible del problema primal es unacota inferior para el problema dual.

Ilustremos este teorema con el siguiente ejemplo

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 42 / 82

Page 43: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoremas de dualidad

Teoremas de dualidad, ejemplo

Problema primal

Maximizar: Z = x1 + 2x2 + 3x3 + 4x4

Sujeto a: x1 + 2x2 + 2x3 + 3x4 ≤ 20

2x1 + x2 + 3x3 + 2x4 ≤ 20

x1, x2, x3, x4 ≥ 0

Problema dual

Minimizar: W = 20y1 + 20y2

Sujeto a: y1 + 2y2 ≥ 1

2y1 + y2 ≥ 2

2y1 + 3y2 ≥ 3

3y1 + 2y2 ≥ 4

y1, y2 ≥ 0

Una solución factible cualquiera x1 = x2 = x3 = x4 = 1 del problema primal,Z = cTx = 10

Una solución factible cualquiera y1 = y2 = 1 del problema dual, W = bT y = 40

Observe que cTx < bT y lo que satisface el teorema de dualidad débil

El mínimo valor de W no puede ser menor que 10

De forma similar, el máximo valor de Z para el problema primal no puedeexceder 40

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 43 / 82

Page 44: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoremas de dualidad

Teoremas de dualidad

Teorema de dualidad fuerte

Si [y1, y2, . . . , ym] es una solución factible del dual de un problema y[x1, x2, . . . , xn] es una solución factible del problema primalcorrespondiente, tales que cTx = bT y, entonces ambas soluciones sonóptimas para sus respectivos problemas.

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 44 / 82

Page 45: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoremas de dualidad

Teoremas de dualidad, ejemplo

Problema primal

Maximizar: Z = x1 + 2x2 + 3x3 + 4x4

Sujeto a: x1 + 2x2 + 2x3 + 3x4 ≤ 20

2x1 + x2 + 3x3 + 2x4 ≤ 20

x1, x2, x3, x4 ≥ 0

Problema dual

Minimizar: W = 20y1 + 20y2

Sujeto a: y1 + 2y2 ≥ 1

2y1 + y2 ≥ 2

2y1 + 3y2 ≥ 3

3y1 + 2y2 ≥ 4

y1, y2 ≥ 0

La solución óptima para el problema primal es Z = cTx = 28 con x1 = x2 = 0 yx3 = x4 = 4

La solución óptima del problema dual es W = bT y = 28 con y1 = 65

y y2 = 15

cTx = bT y, i.e., ambas coinciden

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 45 / 82

Page 46: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoremas de dualidad

Teoremas de dualidad

Resumiendo:Cada solución factible del problema dual representa una cotasuperior del valor óptimo del problema primal

Recíprocamente, cada solución factible del problema primalrepresenta una cota inferior del valor óptimo del problema dual

Si uno de los problemas admite una solución óptima, entonces elotro problema también y ambas soluciones óptimas coinciden

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 46 / 82

Page 47: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoremas de dualidad

Teoremas de dualidad

Corolario 1

Si el problema primal es factible y su objetivo no está acotado (i.e.,max cTx → +∞), entonces el problema dual no puede tener unasolución factible.

Corolario 2

Si el problema dual es factible y no está acotado (i.e., minbT y → −∞), entonces el problema primal es no factible.

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 47 / 82

Page 48: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Teoremas de dualidad

Teoremas de dualidad

Corolario 3

Si el problema primal es factible, y el dual es no factible, entonces elprimal es no acotado.

Corolario 4

Si el problema dual es factible y el primal es no factible, entonces eldual es no acotado.

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 48 / 82

Page 49: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Importancia de la dualidad en PL

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 49 / 82

Page 50: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Importancia de la dualidad en PL

Importancia de la dualidad en PL

Resolver los problemas duales se justifica en el caso deproblemas primales donde el número de restricciones supere alnúmero de variables, pues resulta más fácil

Una ventaja es que como el número de restricciones y variablesentre un problema dual y su primal es inverso, entonces esposible resolver gráficamente problemas con dos restricciones sinimportar el número de variables que empleen

Resolver el problema dual permite obtener una cota superior delvalor óptimo del problema primal (certificado de optimalidad)

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 50 / 82

Page 51: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Importancia de la dualidad en PL

certificado de optimalidad, ejemploProblema primal

Maximizar: x1 + 6x2 = ZSujeto a: x1 ≤ 200

x2 ≤ 300x1 + x2 ≤ 400x1, x2, x3, x4 ≥ 0

Problema dual

Minimizar: 200y1 + 300y2 + 400y3 = WSujeto a: y1 + y3 ≥ 1

y2 + y3 ≥ 6y1, y2, y3 ≥ 0

Buscar cota superior del óptimo primal mediante una combinación lineal de lasrestricciones

y1(x1)+y2(x2)+y3(x1+x2) = (y1+y3)x1+(y2+y3)x2 ≤ 200y1+300y2+400y3

Queremos que el lado izquierdo se asemeje a x1 + 6x2 para que el derechorepresente una cota superior del óptimo con y1, y2, y3 ≥ 0

Para eso requerimos que (y1 + y3) ≥ 1 y (y2 + y3) ≥ 6 y obtenemos la cotasuperior

x1 + 6x2 ≤ 200y1 + 300y2 + 400y3

Óptimo dual es W = bT y = 1900 con y1 = 0, y2 = 5 y y3 = 1

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 51 / 82

Page 52: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Algoritmo Simplex

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 52 / 82

Page 53: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Algoritmo Simplex

Algoritmo Simplex

El algoritmo simplex es un método analítico de solución deproblemas de PL capaz de resolver modelos más complejos quelos resueltos mediante el método gráfico (sin restricción en elnúmero de variables)

El algoritmo simplex primal fue desarrollado por el matemáticonorteamericano George Dantzig en 1947

Es un método de mejora iterativa que procede examinandovértices adyacentes del poliedro de soluciones para mejorar lasolución en cada paso

Dado que el número de vértices que presenta un poliedrosolución es finito siempre se encontrará una solución

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 53 / 82

Page 54: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Algoritmo Simplex

Algoritmo Simplex

El algoritmo simplex es la alternativa más popular para resolverproblemas de PL

Algoritmo Simplex

Sea v cualquier vértice de la región factiblewhile exista un vecino v′ de v con mejor valor objetivo dov = v′

end while

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 54 / 82

Page 55: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Algoritmo Simplex

Algoritmo Simplex

Cada vértice está especificado por n inecuaciones

Dos vértices son vecinos si tienen n− 1 restricciones en común

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 55 / 82

Page 56: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Algoritmo Simplex

Algoritmo Simplex

Maximizar: Z = x1 + 6x2 + 13x3

Sujeto a: x1 ≤ 200x2 ≤ 300x1 + x2 + x3 ≤ 400x2 + 3x3 ≤ 600x1, x2, x3 ≥ 0

Un posible trayectoria delmétodo simplex:

1 (0,0,0)=$02 (200,0,0)=$2003 (200,200,0)=$14004 (200,0,200)=$28005 (0,300,100)=$3100

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 56 / 82

Page 57: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Algoritmo Simplex

Algoritmo Simplex

En el peor caso, el algoritmo simplex visitará(n+mn

)vértices,

siendo n el número de variables y m el número de restricciones,lo cual implica un tiempo exponencial en n

Sin embargo, este caso raramente se presenta en la práctica

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 57 / 82

Page 58: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Algoritmo Simplex

Algoritmo Simplex

Un buen vértice de inicio, por la facilidad de identificación, es elorigen

En adelante, se busca resolver sistemas de ecuaciones(restricciones) para encontrar nuevos vértices

El algoritmo simplex consiste en resolver continuamente sistemasde ecuaciones lineales, pero tiene la ventaja de que, para cadasiguiente problema, sólo se ha modificado una de las restricciones

Varios métodos de resolución de ecuaciones pueden aprovechareste hecho, entre ellos la Eliminación Gaussiana

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 58 / 82

Page 59: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Algoritmo Simplex

Algoritmo Simplex, desventajas

El algoritmo simplex no es un algoritmo polinomial en tiempo

Algunos casos raros de programas de PL causan que éste vayade un vértice de la región factible a otro mejor y después a otrotodavía mejor, y así sucesivamente por un número exponencial deveces (ciclado)

Por esta razón por mucho tiempo la PL fue considerada unaparadoja: Un problema que puede ser resuelto en la práctica,pero no en la teoría

En otras palabras se creía que no era posible resolverlo entiempo polinomial

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 59 / 82

Page 60: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Otros algoritmos

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 60 / 82

Page 61: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Otros algoritmos

Otros algoritmos, método del elipsoide

En 1979, Leonid Khachiyan (matemático soviético) diseñó elllamado Algoritmo del Elipsoide, a través del cual demostró que elproblema de la PL es resoluble en tiempo polinomial (i.e., demanera eficiente)

Este algoritmo es muy diferente al método simplex. En vez desaltar de vértice en vértice del poliedro, lo confina a elipsoidescada vez más pequeños

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 61 / 82

Page 62: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Otros algoritmos

Otros algoritmos, método del elipsoide

Imagen tomada de Wikipedia

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 62 / 82

Page 63: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Otros algoritmos

Otros algoritmos, método del elipsoide

Cuando este algoritmo se publicó fue un gran logro para la URSSsobre EEUU (en plena Guerra Fria), pues mostraba la posiblesuperioridad científica de la Unión Soviética

El algoritmo del elipsoide fue una gran aportación teórica, pero enla práctica no funcionaba tan bien como el simplex

La paradoja de la PL se agravó: Un problema con 2 algoritmos,uno eficiente en teoría, y uno eficiente en la práctica

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 63 / 82

Page 64: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Otros algoritmos

Otros algoritmos, método de punto interior

Años más tarde, en 1984, Narendra Karmarkar (estudiante indioen UC Berkeley) introduce una idea completamente nueva, que lolleva a obtener otro algoritmo probablemente polinomial en tiempo

El algoritmo de Karmarkar se conoce como método de puntointerior porque la solución actual no sigue la frontera de la regiónfactible (vértices o arcos del poliedro) como en el caso del métodosimplex

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 64 / 82

Page 65: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Otros algoritmos

Otros algoritmos, método de punto interior

Sino que se mueven a través del interior de la región factible,mejorando cada vez más la aproximación de la solución óptimaen cada iteración, hasta converger (i.e., traza un camino“inteligente” al interior del poliedro de la región factible)

El algoritmo de Karmarkar se desempeña muy bien en la práctica

Constituyó un enorme avance en los principios teóricos yprácticos en el área de PL

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 65 / 82

Page 66: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Otros algoritmos

Otros algoritmos, método de punto interior

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 66 / 82

Page 67: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Software para resolver problemas de PL

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 67 / 82

Page 68: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Software para resolver problemas de PL

Software para resolver problemas de PL

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 68 / 82

Page 69: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Software para resolver problemas de PL

Software para resolver problemas de PL

Algunas ligas útiles:

http://ampl.com/

http://www-01.ibm.com/software/commerce/optimization/

cplex-optimizer/

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 69 / 82

Page 70: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa Software para resolver problemas de PL

Software para resolver problemas de PL

Mathematica a través del lenguaje Wolfram permite tener accesoa una serie de algoritmos para resolver problemas de PLUtiliza principalmente el formato MPS (MathematicalProgramming System) para importar modelos de PL de grantamañoEn la siguiente URL hay un excelente tutorial:https://reference.wolfram.com/language/tutorial/

ConstrainedOptimizationLinearProgramming.html

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 70 / 82

Page 71: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

1 Mejora iterativaIntroducciónProgramación linealFormulación de modelos de PLRepresentación y proyección de poliedrosPL en espacios dimensionales mayoresTeoría de la dualidadTeoremas de dualidadImportancia de la dualidad en PLAlgoritmo SimplexOtros algoritmosSoftware para resolver problemas de PLPL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 71 / 82

Page 72: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Flujo máximo en redes

Red de Transporte

Una Red de Transporte es un grafo con pesos (V,E, c), donde haydos nodos especiales: uno llamado fuente s y otro llamado sumiderot. Se asume que todo nodo del grafo v ∈ V está en un caminos v t. El peso de cada arco e debe ser no negativo y representasu capacidad, c(e) ≥ 0.

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 72 / 82

Page 73: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Un flujo f en una red de trasporte (V,E, c) es una asignación de un valornumérico f(e) a cada arco e ∈ E que satisface:

1 Restricción de capacidad: ∀e ∈ E:

0 ≤ f(e) ≤ c(e)

2 Conservación de flujo: ∀v ∈ V − {s, t}:∑{x,v}∈E

f(x, v) =∑

{v,y}∈E

f(v, y)

Para cualquier nodo v el flujo total de entrada es igual al flujo totalde salida

El valor del flujo f se define como la cantidad total de flujo enviada de s a t:

|f | =∑

{s,v}∈E

f(s, v)

Por conservación de flujo, |f | es igual al flujo total que sale de s

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 73 / 82

Page 74: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Cada arco tiene entonces dos valores asignados: flujo / capacidad

Para este ejemplo |f | = 19

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 74 / 82

Page 75: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Dada una red de trasporte (V,E, c) encontrar un flujo f conmáximo valor |f |

La formulación en PL es directa: Para cada arco e ∈ E se tieneuna variable de decisión xe que representa su flujo con lasrestricciones 0 ≤ xe ≤ c(e)

Función objetivo:

Maximizar z =∑e∈E

xe donde e = {s, v}

Restricciones para cada nodo v diferente de s y t:∑e={x,v}∈E

xe =∑

e′={v,y}∈E

xe′

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 75 / 82

Page 76: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Maximizar: Z = x61 + x64

Sujeto a:x61 + x41 = x12 + x14

x64 + x14 + x24 = x41 + x43

x12 + x32 = x24 + x25

x43 = x32 + x35

0 ≤ x61 ≤ 160 ≤ x64 ≤ 13

0 ≤ x12 ≤ 120 ≤ x25 ≤ 200 ≤ x32 ≤ 70 ≤ x35 ≤ 40 ≤ x43 ≤ 140 ≤ x24 ≤ 90 ≤ x41 ≤ 40 ≤ x14 ≤ 10

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 76 / 82

Page 77: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 77 / 82

Page 78: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 78 / 82

Page 79: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 79 / 82

Page 80: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 80 / 82

Page 81: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 81 / 82

Page 82: Mejora iterativa - tamps.cinvestav.mxertello/algorithms/sesion16.pdf · Teoría de la dualidad Teoremas de dualidad Importancia de la dualidad en PL ... Las razones principales para

Mejora iterativa PL para resolver problemas combinatorios

PL para resolver problemas combinatorios

Dr. Eduardo RODRÍGUEZ T. (CINVESTAV) Mejora iterativa 9 de abril de 2018 82 / 82