18 - programación lineal

10
Pontificia Universidad Católica Escuela de Ingeniería Departamento de Ingeniería Industrial y de Sistemas Clase 18 Programaci´ on Lineal ICS 1102 Optimizaci´ on Profesor : Claudio Seebach 4 de octubre de 2005 Apuntes de Clases Optimizaci´ on Claudio Seebach Programaci´ on Lineal 17 Introducci´ on a Programaci´on Lineal Todo problema de Programaci´ on Lineal puede expresarse mediante el siguiente formato est´ andar: min Z = c 1 x 1 + c 2 x 2 + ... + c n x n s.a a 11 x 1 + ... + a 1n x n b 1 . . . a m1 x 1 + ... + a mn x n b m En notaci´ on matricial: min c · x s.a A x b Apuntes de Clases Optimizaci´ on Claudio Seebach Programaci´ on Lineal 18

Upload: fabian-moreno

Post on 20-Jan-2016

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 18 - Programación Lineal

Pontificia Universidad CatólicaEscuela de IngenieríaDepartamento de Ingeniería Industrial y de Sistemas

Clase 18 • Programacion Lineal

ICS 1102 • OptimizacionProfesor : Claudio Seebach

4 de octubre de 2005

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 17

Introduccion a Programacion Lineal

• Todo problema de Programacion Lineal puede expresarse mediante elsiguiente formato estandar:

min Z = c1x1 + c2x2 + ... + cnxn

s.a a11x1 + ... + a1nxn ≤ b1...

am1x1 + ... + amnxn ≤ bm

• En notacion matricial:

min!c · !xs.a A!x ≤ !b

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 18

Page 2: 18 - Programación Lineal

Terminologıa de Programacion Lineal

• Solucion optima

• Multiples optimos, o solucion no optima

• Valor optimo o mas favorable de Z

• Problema no acotado

• Problema infactible

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 19

Casos Especiales en LP

1. Problema infactible

2. Region no acotada, pero objetivo acotado

3. Region no acotada y objetivo no acotado

4. Multiples soluciones

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 20

Page 3: 18 - Programación Lineal

Caso Especial 1

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 21

Caso Especial 2

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 22

Page 4: 18 - Programación Lineal

Caso Especial 3

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 23

Caso Especial 4

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 24

Page 5: 18 - Programación Lineal

Resolviendo un Problema de LP

• Metodo de solucion basado en vertices

• Ejemplo: max Z = 3x1 + 2x2

• Paso 1: Encontrar todos los vertices factibles del problema

• Paso 2: Encontrar el valor objetivo para cada verticeEjemplo: CP3: (x1 = 3, x2 = 4) y Z(CP3) = 3× 3 + 2× 4 = 17

• Paso 3: Determinar el vertice con mayor Z

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 25

Resolviendo un Problema de LP

Ejemplo:

• Objetivo: max Z = 3x1 + 5x2 + x3

• Restricciones:

x1 ≤ 4

2x2 + 4x3 ≤ 12

3x1 + 2x2 + x3 ≤ 18

x3 ≥ 2

• No-negatividad: x1 ≥ 0, x2 ≥ 0

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 26

Page 6: 18 - Programación Lineal

Resolviendo un Problema de LP

• Usemos el Solver de Excel:

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 27

Resolviendo un Problema de LP

•⇒ Solucion optima: x1 = 4, x2 = 2, x3 = 2 y Z∗ = 24

• Un problema con 20 variables de decision y 40 restricciones tiene(40

20

),

o sea mas de 30 millones de posibles vertices factibles !!!

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 28

Page 7: 18 - Programación Lineal

KKT y Programacion Lineal

• Los problemas de Programacion Lineal son abordables via KKT

• Problema convexo⇒ cualquier solucion que cumpla con las condicionesde KKT sera un optimo global al problema

• No necesariamente la solucion optima sera unica, pues las funcionesobjetivo lineales no son estrictamente convexas

• Consideremos el problema P ) min cx s.a. Ax ≤ b

• Las condiciones de KKT de L(x, µ) = cx + µ(Ax− b) son:

∂L

∂x= c + µA = 0

∂L

∂µ= Ax− b ≤ 0

µ∂L

∂µ= µ(Ax− b) = 0

µ ≥ 0

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 29

KKT y Programacion Lineal

• Incorporando restricciones de signo en todas las variables xi ≥ 0, lascondiciones KKT son:

∂L

∂x= c + µA ≥ 0

x∂L

∂x= x(c + µA) = 0

∂L

∂µ= Ax− b ≤ 0

µ∂L

∂µ= µ(Ax− b) = 0

µ ≥ 0

x ≥ 0

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 30

Page 8: 18 - Programación Lineal

Ejemplo KKT y Programacion Lineal

Ejemplo 1 Una fabrica produce dos tipos de planchas de aluminiopintado y requiere determinar la cantidad a producir de cada tipo. Pro-ducir una plancha del tipo 1 requiere 7 m2 de aluminio bruto, 0, 3 ltsde pintura y 15 min de trabajo. El costo por plancha (en aluminio ypintura) para el fabricante es de $400 y el precio unitario de venta esde $1200. Producir una plancha del tipo 2 requiere 14 m2 de aluminiobruto, 0, 3 lts de pintura y 5 min de trabajo. El costo por plancha es$900 y el precio unitario de venta es de $1500. El fabricante manejaun stock diario maximo de 630 m2 de aluminio bruto y 15 lts de pin-tura. Trabajara solo y dispone de 10 hrs cada dıa. El fabricante nodispone de un trabajo alternativo para las horas no utilizadas en fa-bricar planchas de aluminio ¿Cuanto es lo optimo a producir de modode maximizar la utilidad?

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 31

Ejemplo KKT y Programacion Lineal

• Definamos dos variables x1 y x2 que representan el numero de planchaspintadas diarias a producir de cada tipo:

P ) max 800x1 + 600x2

s.a. 15x1 + 5x2 ≤ 600 (minutos disponibles)

7x1 + 14x2 ≤ 630 (m2 de aluminio)

0, 3x1 + 0, 3x2 ≤ 15 (lts de pintura)

x1, x2 ≥ 0

• El objetivo es identificar la combinacion de x1 y x2 que, satisfaciendolas restricciones del modelo, maximiza las utilidades para la empresa.

• El problema tiene solucion optima ya que en un problema de progra-macion lineal basta determinar una solucion factible:

– Producir 20 planchas tipo 1 y 20 del tipo 2. Esto consume solo6 hrs 40 min, 420 m2 de aluminio y 12 lts de pintura de lasdisponibles, lo que alcanza. Su utilidad serıa de $28.000 diarios,pero claramente no serıa optimo (sobran insumos de todo tipo!).

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 32

Page 9: 18 - Programación Lineal

Solucion Grafica

Tip

o 2

Tipo 1

min disponiblesm2 de aluminiolts de pintura

(35,15)

x1

x2*

*

• La solucion optima corresponde a la combinacion de x1 y x2 en que laprimera y tercera restriccion estan activas, es decir, se utiliza toda lapintura y las horas disponibles.

• Esta solucion corresponde a x∗1 = 35 y x∗2 = 15, con una utilidad de$37.000.

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 33

Ejemplo KKT y Programacion Lineal

• Escribamos este problema como un problema de KKT:

L = −800x1 − 600x2 + µ1(15x1 + 5x2 − 600)

+µ2(7x1 + 14x2 − 630) + µ3(0, 3x1 + 0, 3x2 − 15)

• Por lo tanto, un punto mınimo del problema equivalente (o maximo deloriginal) debe cumplir con:

−800 + 15µ1 + 7µ2 + 0, 3µ3 ≥ 0 −600 + 5µ1 + 14µ2 + 0, 3µ3 ≥ 0x1(−800 + 15µ1 + 7µ2 + 0, 3µ3) = 0 x2(−600 + 5µ1 + 14µ2 + 0, 3µ3) = 0

µ1(15x1 + 5x2 − 600) = 0 µ2(7x1 + 14x2 − 630) = 0µ3(0, 3x1 + 0, 3x2 − 15) = 0

15x1 + 5x2 − 600 ≤ 0 7x1 + 14x2 − 630 ≤ 00, 3x1 + 0, 3x2 − 15 ≤ 0

x1 ≥ 0x2 ≥ 0µ1 ≥ 0 µ2 ≥ 0µ3 ≥ 0

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 34

Page 10: 18 - Programación Lineal

Ejemplo KKT y Programacion Lineal

• Identifiquemos los multiplicadores µ1, µ2 y µ3 asociados al punto x∗1 =35 y x∗2 = 15 y verifiquemo que esta solucion satisface las condicionesde KKT.

• Las condiciones de complementariedad de las holguras en este puntoexigen:

−800 + 15µ1 + 7µ2 + 0, 3µ3 = 0

−600 + 5µ1 + 14µ2 + 0, 3µ3 = 0

µ2 = 0

• Ası se obtiene:

µ1 = 20

µ3 = 1666, 6

• El punto x∗1 = 35 , x∗2 = 15, µ1 = 20, µ2 = 0, µ3 = 1666, 6 satisfacetodas las condiciones de KKT y por lo tanto corresponde a un optimoglobal del problema.

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 35

KKT y Programacion Lineal

• Observacion 1: Los multiplicadores obtenidos no dependen de losinsumos disponibles. Cambios menores en el vector de insumos b modi-fican la combinacion optima de planchas (x∗1, x

∗2), pero no modifican los

multiplicadores optimos.

• Observacion 2: Como se trata de un problema de programacionlineal, el impacto en el valor optimo de aumentar en una unidad elinsumo disponible de una restriccion activa sera el mismo independientede el valor del lado derecho (en la medida que el conjunto restante derestricciones activas en el punto optimo no cambie).

• Observacion 3: Si la restriccion esta inactiva, el multiplicador per-manecera nulo ante cambios en el total de insumos disponibles que lamantengan inactiva.

• Observacion 4: Como se trata de un problema de programacionlineal, la estimacion de primer orden del impacto en el valor optimo esexacta para perturbaciones menores.

Apuntes de Clases • Optimizacion • Claudio Seebach Programacion Lineal • 36