Está en la página 1de 101

Optimización Lineal

Ariel Garcı́a López

U.P.T.C.

Junio 2017

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 1 / 101


Introducción a la optimización lineal

Por qué optimización lineal

Técnica de optimización que permite expresar un problema en


términos lineales.

Figure 1: Naturaleza de los problemas de optimización

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 2 / 101


Introducción a la optimización lineal

Optimización en la toma de decisiones

Búsqueda de mejores soluciones.


Representación de realidad compleja con notación simple.
Se pueden intentar variaciones al modelo sin incurrir en un costo.
Existe la posibilidad de fallar.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 3 / 101


Modelación matemática

Componentes de un modelo

Decisiones: qué debe decidirse (Variables de Decisión).


Información: qué información está disponible para tomar una
decisión (Parámetros)
Condiciones: qué limita la decisión (Restricciones)
Propósito: cómo cuantificar el impacto de las decisiones (Función
Objetivo)

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 4 / 101


Modelación matemática

Ejemplo

Una empresa de refinación de petróleo tiene la posibilidad de comprar su


materia prima de dos diferentes paı́ses: Arabia Saudı́ y Venezuela.

Los barriles que se le compran a Venezuela producen 0.3 barriles de gasolina,


0.4 barriles de diésel y 0.2 barriles de lubricante. Los barriles que se le
compran a Arabia producen 0.4 barriles de gasolina, 0.2 barriles de diésel y
0.3 barriles de lubricante.

La disponibilidad diaria de petroleo venezolano es de 6000 barriles por dı́a


a un precio de $15 USD (por barril) mientras que la disponibilidad diaria de
petroleo saudı́ es de 9000 barriles a un precio de $20 USD (por barril).

Esta empresa ha firmado unas clausulas de cumplimiento que le obligan a


producir 2000 barriles diarios de gasolina, 1500 barriles diarios de diésel y
500 barriles de lubricante.
Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 5 / 101
Modelación matemática

Formulación matemática

min 20x1 + 15x2 Asegurar el costo mı́nimo


s.t. Sujeto a
0.3x1 + 0.4x2 ≥ 2000 Asegurar la producción de gasolina
0.4x1 + 0.2x2 ≥ 1500 Asegurar la producción de diésel
0.2x1 + 0.3x2 ≥ 500 Asegurar la producción de lubricante
x1 ≤ 9000 No superar la disponibilidad de Arabia
x2 ≤ 6000 No superar la disponibilidad de Venezuela
x1 , x2 ≥ 0 No se compran cantidades negativas

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 6 / 101


Modelación matemática

Solución gráfica

Figure 2: Representación gráfica.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 7 / 101


Modelación matemática

Representación de una función objetivo

Gradiente como dirección de


∂Z ∂Z
movimiento ∇Z = ( ∂x ,
1 ∂x2
).
Curvas de nivel representan los
cambios en la función objetivo.
Las curvas de nivel son
perpendiculares al gradiente.

Figure 3: Curvas de nivel y gradiente.


Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 8 / 101
Modelación matemática

Cambios en la función objetivo

Cuando se hacen cambios en la


función objetivo, se hacen
cambios en la dirección de
movimiento (gradiente).
¿Qué pasarı́a si el precio del
barril venezolano cuesta ahora
$10 USD?.
Se generan varias soluciones al
problema; óptimos alternos.

Figure 4: Óptimos alternos.


Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 9 / 101
Modelación matemática

Cambios en la función objetivo

¿Qué pasarı́a si la disponibilidad


de Venezuela y Arabia se
redujera a 2000 barriles?.
No serı́a posible cumplir la
demanda establecida.
Infactibilidad del problema.

Figure 5: Problema infactible.


Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 10 / 101
Modelación matemática

Cambios en la función objetivo

Arabia Saudita encontró una


cantidad virtualmente infinita de
petróleo y ahora le paga $2
USD por barril que usted
”compre”.
Suministro infinito.
Cambio del gradiente y curvas
de nivel.

Figure 6: Óptimo no acotado.


Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 11 / 101
Modelación matemática

Formulación a gran escala


Pi Hybrids1

Hybrids es un productor de semillas que cuenta con dos tipos de semillas


(azul y roja) que son fabricadas en dos plantas diferentes y son distribuidas
a dos ciudades diferentes.

La información que ha recolectado la unidad de inteligencia analı́tica son:


1) los costos de producción de cada variedad en cada planta; 2) el costo de
envio de cada bolsa de cada variedad a cada una de las ciudades destino; 3)
la cantidad de insumos requeridos para producir una bolsa de cada variedad;
4) la capacidad de procesamiento de cada planta y 5) la demanda estimada
de cada ciudad.

Formule un modelo que le permita hacer un seguimiento de la mejor forma


de producción y operacion de Hybrids.
Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 12 / 101
Modelación matemática

Formulación a gran escala

Decisiones: 1) Cantidad de bolsas de semillas de cada variedad que


se producen en cada planta y 2) Cantidad de bolsas de semillas de
cada variedad enviadas desde cada planta hacia cada ciudad.
x11 : Cantidad a producir en la planta 1 de la variedad 1 de semillas
x12 : Cantidad a producir en la planta 1 de la variedad 2 de semillas
x21 : Cantidad a producir en la planta 2 de la variedad 1 de semillas
x22 : Cantidad a producir en la planta 2 de la variedad 2 de semillas

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 13 / 101


Modelación matemática

Formulación a gran escala

Decisiones: 1) Cantidad de bolsas de semillas de cada variedad que


se producen en cada planta y 2) Cantidad de bolsas de semillas de
cada variedad enviadas desde cada planta hacia cada ciudad.
y111 : Cantidad enviada desde la planta 1
de la variedad 1 de semillas a la ciudad 1

y211 : Cantidad enviada desde la planta 2


de la variedad 1 de semillas a la ciudad 1

y222 : Cantidad enviada desde la planta 2


de la variedad 2 de semillas a la ciudad 2

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 14 / 101


Modelación matemática

Formulación a gran escala

Información: 1) Costos de envı́o, 2) Costos de procesamiento, 3)


Capacidades de procesamiento, 4) Demanda, 5) etc.
c11 : Costo de producir en la planta 2 una bolsa de la variedad 1 de semillas
c22 : Costo de producir en la planta 2 una bolsa de la variedad 2 de semillas

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 15 / 101


Modelación matemática

Formulación a gran escala

Información: 1) Costos de envı́o, 2) Costos de procesamiento, 3)


Capacidades de procesamiento, 4) Demanda, 5) etc.
s111 : Costo de enviar desde la planta 1 una bolsa de la variedad 1
hasta la ciudad 1

s222 : Costo de enviar desde la planta 2 una bolsa de la variedad 2

hasta la ciudad 2

s221 : Costo de enviar desde la planta 2 una bolsa de la variedad 2

hasta la ciudad 1
Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 16 / 101
Modelación matemática

Formulación a gran escala

Información: 1) Costos de envı́o, 2) Costos de procesamiento, 3)


Capacidades de procesamiento, 4) Demanda, 5) etc.
u1 : Capacidad de procesamiento de la planta 1
u2 : Capacidad de procesamiento de la planta 2

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 17 / 101


Modelación matemática

Formulación a gran escala

Información: 1) Costos de envı́o, 2) Costos de procesamiento, 3)


Capacidades de procesamiento, 4) Demanda, 5) etc.
a1 : Cantidad de maiz que debe ser procesado para producir
una bolsa de semillas tipo 1
a2 : Cantidad de maiz que debe ser procesado para producir
una bolsa de semillas tipo 2

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 18 / 101


Modelación matemática

Formulación a gran escala

Información: 1) Costos de envı́o, 2) Costos de procesamiento, 3)


Capacidades de procesamiento, 4) Demanda, 5) etc.
d11 : Demanda de la variedad de maiz 1 en la ciudad 1
d12 : Demanda de la variedad de maiz 1 en la ciudad 2
d21 : Demanda de la variedad de maiz 2 en la ciudad 1
d22 : Demanda de la variedad de maiz 2 en la ciudad 2

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 19 / 101


Modelación matemática

Formulación a gran escala

Condiciones (Restricciones): 1) Costos de envı́o, 2) Costos de


procesamiento, 3) Capacidades de procesamiento, 4) Demanda, 5)
etc.
No se puede exceder la capacidad de producción de las plantas.
La cantidad enviada a cada ciudad desde las plantas debe ser
suficiente para satisfacer la demanda.
Todo lo que se produce en las plantas se debe enviar a las ciudades.
No se pueden producir ni enviar cantidades negativas de bolsas de
semillas.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 20 / 101


Modelación matemática

Formulación a gran escala

Condiciones (Restricciones):
No se puede exceder la capacidad de producción de las plantas.
?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 21 / 101


Modelación matemática

Formulación a gran escala

Condiciones (Restricciones):
No se puede exceder la capacidad de producción de las plantas.
a1 x11 + a2 x12 ≤ u1
a1 x21 + a2 x22 ≤ u2

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 22 / 101


Modelación matemática

Formulación a gran escala

Condiciones (Restricciones):
No se puede exceder la capacidad de producción de las plantas.
¿Cómo escribir la restricción de una forma compacta?
a1 x11 + a2 x12 ≤ u1
a1 x21 + a2 x22 ≤ u2

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 23 / 101


Modelación matemática

Formulación a gran escala

Condiciones (Restricciones):
No se puede exceder la capacidad de producción de las plantas.
¿Cómo escribir la restricción de una forma compacta?

Figure 7: Sumatoria de ı́ndices.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 24 / 101


Modelación matemática

Formulación a gran escala

Condiciones (Restricciones):
No se puede exceder la capacidad de producción de las plantas.
¿Cómo escribir la restricción de una forma compacta?

Figure 8: Expresión para todos ∀.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 25 / 101


Modelación matemática

Formulación a gran escala

Condiciones (Restricciones):
Demanda de las ciudades.
¿Cómo escribir la restricción de una forma compacta?
y111 + y211 ≥ d11
y121 + y221 ≥ d21
y112 + y212 ≥ d12
y122 + y222 ≥ d22

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 26 / 101


Modelación matemática

Formulación a gran escala

Condiciones (Restricciones):
Demanda de las ciudades.
¿Cómo escribir la restricción de una forma compacta?

Figure 9: Formulación compacta.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 27 / 101


Modelación matemática

Formulación a gran escala

Propósito (Función objetivo):


¿Cómo se cuantifica el impacto de la decisión?

Figure 10: Función objetivo de Hybrids.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 28 / 101


Modelación matemática

Formulación a gran escala

¿Cuál serı́a la formulación matemática para el problema de


producción y distribución de semillas?

Figure 11: Problema de Hybrids.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 29 / 101


Estructuras Comunes

Estructuras comunes

¿Por qué utilizarlas?

Reducción del tiempo de formulación; son comunes en problemas de


optimización.
Eficiencia computacional.
Claridad conceptual en la formulación

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 30 / 101


Estructuras Comunes

Estructuras comunes

Restricciones de cota.
Restricciones de flujo.
Restricciones de recursos.
Restricciones de balance.
Temas especiales*

Figure 12: Problema de flujo máximo.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 31 / 101


Estructuras Comunes

Restricciones de cota

Volviendo al problema de
refinación de crudos: la
disponibilidad de petróleo de
Venezuela y Arabia.
x1 ≤ 9
x2 ≤ 6

Figure 13: Disponibilidad de petróleo.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 32 / 101


Estructuras Comunes

Restricción de flujo

Volviendo al problema de
Hybrids
¿Cómo asegurarse que las k1
unidades de la planta 1 sean
despachadas?
¿cómo asegurarse que las k2
unidades de la planta 2 sean
despachadas?
Figure 14: Restricción de flujo en
problemas de transporte.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 33 / 101


Estructuras Comunes

Restricción de flujo

Volviendo al problema de
Hybrids
¿Cómo asegurarse que las k1
unidades de la planta 1 sean
despachadas?
¿cómo asegurarse que las k2
unidades de la planta 2 sean
despachadas?
Pn Figure 15: Restricción de flujo en
j=1 xij = ki ∀i = 1, 2
problemas de transporte.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 34 / 101


Estructuras Comunes

Restricción de recursos

Se requieren a unidades de un recurso para producir un ı́tem x.


Se tiene una limitación de b unidades del recurso a.
P4
i=1 aij xi ≤ bj ∀j = 1, 2, 3, 4

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 35 / 101


Estructuras Comunes

Restricción de balance

Una empresa de correo concentra toda la correspondencia en una


bodega, en donde no puede almacenar ningún paquete.
¿Cómo asegurar que toda la correspondencia que llegue sea
despachada?
¿?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 36 / 101


Estructuras Comunes

Restricción de balance

Una empresa de correo concentra toda la correspondencia en una


bodega, en donde no puede almacenar ningún paquete.
¿Cómo asegurar que toda la correspondencia que llegue sea
despachada?
Pm Pn
i=1 xio = j=1 yoj

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 37 / 101


Estructuras Comunes

Restricción de balance - Inventario

Una empresa de ladrillos tiene 8 ladrillos almacenados en bodega, los


cuales le sobraron de la operación del dı́a anterior.
Hoy produjo 9 ladrillos adicionales.
Además, hoy, despachó 10 ladrillos a sus clientes.
Ihoy = Iayer + Iproducido − Ienviado

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 38 / 101


Estructuras Comunes

Restricción de balance - Inventario

Una empresa de ladrillos tiene 8 ladrillos almacenados en bodega, los


cuales le sobraron de la operación del dı́a anterior.
Hoy produjo 9 ladrillos adicionales.
Además, hoy, despachó 10 ladrillos a sus clientes.
Hasta n dı́as
It = It−1 + xt − vt ∀t = 1, 2, 3, ..., n

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 39 / 101


Estructuras Comunes

Temas especiales: variables binarias

Considere un conjunto de 8 proyectos candidatos a ser seleccionados.


Se debe decidir si realizar, o no, cada uno de los proyectos.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 40 / 101


Estructuras Comunes

Temas especiales: variables binarias

Considere un conjunto de 8 proyectos candidatos a ser seleccionados.


se debe decidir si realizar, o no, cada uno de los proyectos.
yi : (1)si se realiza el proyecto i ∈ P
yi : (0)d.l.c.
yi ∈ {0, 1} ∀i ∈ P

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 41 / 101


Estructuras Comunes

Temas especiales: variables binarias

Se debe realizar como máximo un proyecto.


X
yi ≤ 1
i∈P

Se deben realizar como máximo tres proyectos.


X
yi ≤ 3
i∈P

Se debe realizar exactamente dos proyectos.


X
yi = 2
i∈P

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 42 / 101


Estructuras Comunes

Temas especiales: variables binarias

Si cualquier de los proyectos 1 o 2 (o ambos) se realizan, entonces al


menos uno de los proyectos 3, 4, y 5 deben realizarse también.
¿?

Figure 16: ¿Qué es eso?.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 43 / 101


Estructuras Comunes

Temas especiales: variables binarias

Si cualquier de los proyectos 1 o 2 (o ambos) se realizan, entonces al


menos uno de los proyectos 3, 4, y 5 deben realizarse también.
Uso del concepto de variables auxiliares.
Generalmente denominadas z.
Funciona también como una variable binaria (se prenden o apagan).
y1 + y2 ≤ 2z Si se hacen ambos proyectos
y1 + y2 ≥ z Si se hacen sólo un proyecto
z ≤ y3 + y4 + y5 Asegura que z se prenda.
z ∈ {0, 1} Asegura que es una variable binaria.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 44 / 101


Estructuras Comunes

Temas especiales: variables binarias

Son variables muy utilizadas en


modelación lineal.
Se complementan muy bien con
las estructuras presentadas.
Figure 17: Funciones no lineales.
Ayudan a transformar
problemas no lineales en uno
lineal.
Para más información: FICO
Xpress, (2014) MIP formulation
and linealization. Quick
reference.
Figure 18: Aproximación por cortes
tangentes.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 45 / 101


Estructuras Comunes

Temas especiales: conjuntos y subconjuntos

Reduce la enumeración en los


ı́ndices.
Indexación más ágil.
Un ejemplo:
El conjunto representa una
economı́a. i ∈ P Figure 19: Representación de
Cada una de las figuras subconjuntos.
representa un sector de la
economı́a. Ni , i ∈ P

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 46 / 101


Estructuras Comunes

Temas especiales: conjuntos y subconjuntos

Reduce la enumeración en los Economı́a:


ı́ndices. Financiero, Alimenticio,
Energético, etc.
Indexación más ágil.
Subsectores de la economı́a:
Un ejemplo:
Financiero: Davivienda,
El conjunto representa una
Bancolombia, AVAL.
economı́a. i ∈ P
Energético: Ecopetrol, Pacific,
Cada una de las figuras
etc.
representa un sector de la
economı́a. Ni , i ∈ P
El subconjunto va indexado
en el conjunto.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 47 / 101


Estructuras Comunes

Temas especiales: tipos de función objetivo y variables

Funciones objetivo:
Min-max.
Max-min.
Tipos de variables:
Continuas.
Discretas.
Enteras.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 48 / 101


Estructuras Comunes

Temas especiales: tipos de función objetivo y variables

Funciones objetivo:
Min-max
Max-min.
Tipos de variables:
Continuas.
Discretas.
Enteras.

Figure 20: Problema con variables


continuas.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 49 / 101


Estructuras Comunes

Temas especiales: tipos de función objetivo y variables

Funciones objetivo:
Min-max
Max-min.
Tipos de variables:
Continuas.
Discretas.
Enteras.

Figure 21: Problema con variables


enteras.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 50 / 101


Búsqueda de mejores soluciones

Búsqueda local

Se define como un proceso iterativo (Heurı́stica).


La idea es buscar, dentro de un espacio de solución factible, la mejor
solución.
El único criterio de actualización es el valor de la función objetivo.

Algoritmo de búsqueda local genérico.


1 Buscar una solución factible (x 0 )
2 Exploración del vecindario de (x 0 ) buscando una mejor solución
3 Moverse a una mejor solución factible (x 1 )
4 Iterar desde el paso 1.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 51 / 101


Búsqueda de mejores soluciones

Paradigma de búsqueda

Es genérico para cualquier problema de búsqueda


x t+1 ← x t + λ∆x
λ: Longitud del paso (escalar)
∆: Dirección de movimiento (vector columna) (puede ser factible y de
mejora)

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 52 / 101


Búsqueda de mejores soluciones

Paradigma de búsqueda

Figure 22: Óptimos locales y globales.


Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 53 / 101
Optimización Lineal

Supuestos

Figure 23: Tipos de problemas de optimización.


Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 54 / 101
Optimización Lineal

Supuestos

Figure 24: Tipos de problemas de optimización.


Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 55 / 101
Optimización Lineal

Supuestos

Proporcionalidad: la contribución de la i-ésima variable xi es


proporcional respecto al término multiplicativo (constante) a
Aditividad: el valor de la función objetivo es la sumatoria
(proporcional) de sus variables de decisión. Aplica para las
restricciones,también.
Divisibilidad: las variables de decisión pueden ser fraccionales.
Coeficientes determinı́sticos: no existe distribución de probabilidad
para los parámetros.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 56 / 101


Optimización Lineal

Forma canónico vs Forma estándar

Forma estándar: implica que exista estricta igualdad en las


restricciones
P
j∈J aij xj = bi ∀i ∈ I
xj ≥ 0, ∀j ∈ J
Forma canónico: existen desigualdades en las restricciones
En
P problemas de minimización
j∈J aij xj ≥ bi ∀i ∈ I
xj ≥ 0, ∀j ∈ J
En
P problemas de maximización
j∈J aij xj ≤ bi ∀i ∈ I
xj ≥ 0, ∀j ∈ J

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 57 / 101


Optimización Lineal

Forma canónico vs Forma estándar

¿Cómo se expresa una restricción en forma estándar desde una forma


canónica ?
En problemas de minimización
P
j∈J aij xj ≥ bi ∀i ∈ I
¿?
En problemas de maximización
P
j∈J aij xj ≤ bi ∀i ∈ I
¿?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 58 / 101


Optimización Lineal

Forma canónico vs Forma estándar

¿Cómo se expresa una restricción en forma estándar desde una forma


canónica ?
En problemas de minimización
P
aij xj ≥ bi ∀i ∈ I
Pj∈J
j∈J aij xj − si = bi ∀i ∈ I
En problemas de maximización
P
aij xj ≤ bi ∀i ∈ I
Pj∈J
j∈J aij xj + si = bi ∀i ∈ I

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 59 / 101


Optimización Lineal

Formato matricial de un problema de optimización


Un problema de optimización se puede expresar en los siguientes términos
matriciales
min c T x
s.t.
Ax ≥ b
x ≥0

Figure 25: Formato matricial.


Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 60 / 101
Optimización Lineal

Representación gráfica de las variables de holgura

Figure 26: Representación gráfica.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 61 / 101


Optimización Lineal

Punto extremo

Definición
Sea X un poliedro de la forma X = {x : Ax ≤ b, x ≥ 0} donde A es una
matriz de dimensión m x n y b es un vector de dimensión m x l: un
punto extremo es un punto factible donde hay n o más restricciones
activas.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 62 / 101


Optimización Lineal

Ejemplo

min c T x
s.t.
2x1 + x2 ≤ 8
−x1 − x2 ≤ −1
x1 , x2 ≥ 0

Figure 27: Modelo.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 63 / 101


Optimización Lineal

Ejemplo

min c T x
s.t.
2x1 + x2 + s1 = 8
−x1 − x2 + s2 = −1
x1 , x2 , s1 , s2 ≥ 0

Figure 28: Modelo.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 64 / 101


Optimización Lineal

Ejemplo

min c T x
s.t.

Figure 30: Modelo.


Figure 29: Representación matricial del
problema.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 65 / 101


Optimización Lineal

Ejemplo

min c T x
s.t.

Figure 32: Modelo.


Figure 31: Representación matricial del
problema.
¿Cuántos puntos extremos tiene el problema?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 66 / 101


Optimización Lineal

Soluciones básicas

min c T x
s.t.

Figure 33: Representación matricial del


problema.
Figure 34: Modelo.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 67 / 101


Optimización Lineal

Algoritmo para encontrar puntos extremos

¿Cómo encontrar los puntos extremos en un poliedro de forma analı́tica?


Algoritmo
1 Encontrar una matriz de variables básicas de dimensión m x m
(Invertible)
2 Multiplicar por el vector b
3 Algún elemento del vector resultante es negativo:
Si → Solución básica infactible
No → Solución básica factible (punto extremo)
4 Iterar hasta haber combinado todas las variables

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 68 / 101


Algoritmo Simplex

Conceptos previos

Definiciones
Un conjunto S es convexo si para cualquier x, y ∈ S y para cualquier
λ ∈ 0, 1 se cumple que λx + (1 − λ)y ∈ S
Una combinación lineal convexa es un vector que suma elementos de
sus mismos pares en un conjunto determinado.
Retomando el concepto de dirección de movimiento ∆: un vector ∆
es una dirección de movimiento para un conjunto convexo
{x 0 + λ∆ : λ > 0}.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 69 / 101


Algoritmo Simplex

Teorema de representación. Nociones

Teorema de representación
Cualquier punto x 0 ∈ X puede
ser representado como una
combinación lineal convexa de
x 1 , x 2 , x 3 , ..., x k más una
combinación no-negativa de
∆1 , ∆2 , ..., ∆t .

Figure 35: Representación gráfica del


Teorema de la Representación.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 70 / 101


Algoritmo Simplex

Teorema de representación. Nociones

Definición
k
X l
X
x0 = λ j xj + µj ∆j
j=1 j=1

k
X
λj = 1
j=1

λj ≥ 0 ∀j = 1, 2, 3, ..., k
µj ≥ 0 ∀j = 1, 2, 3, ..., l

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 71 / 101


Algoritmo Simplex

Teorema de representación. Nociones

Es importante pues es la base del Algoritmo Simplex.


Es limitado a problemas de juguete.
Un problema con matriz A de tamaño m = 50 (restricciones) y
n = 125 (variables) se demorarı́a 7.9x1018 milenios en resolver. Aun
con un poder de procesamiento de 1.000.000 de SB/Seg.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 72 / 101


Algoritmo Simplex

Algoritmo Simplex

Creado por George Dantzig


Algoritmo eficiente utilizado en
técnicas de resolución
avanzadas (Simplex Revisado,
Dantzig-Wolfe, Descomposición
de Benders, etc.)

Figure 36: George Dantzig. Tomado de


WikiCommons.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 73 / 101


Algoritmo Simplex

Algoritmo Simplex

Algoritmo. Parte 1.
1 Encontrar una solución básica factible
La solución debe ser un punto extremo.
Caso contrario. Utilizar un método de inicialización (Dos fases, gran
M)
2 Criterio de optimalidad
Si ninguna dirección de mejora la función objetivo, entonces el método
deja de iterar. El punto extremo actual se declara como el óptimo.
Si existe al menos una dirección de mejora, el movimiento se hace en
esa dirección.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 74 / 101


Algoritmo Simplex

Algoritmo Simplex

Algoritmo
1 Construcción de una dirección de movimiento
La dirección debe mejorar la función objetivo.
El movimiento sea realiza hacia puntos extremos adyacentes.*
El movimiento se realiza a través de un intercambio de columna de la
base con una columna de la matriz no básica.
2 Longitud de movimiento
En el cálculo de la longitud debe verificarse un no acotamiento.
La longitud del movimiento debe asegurar que la solución siga siendo
factible.
3 Movimiento
Actualizar la solución por medio del paradigma de búsqueda (?).
La base se actualiza, incluye la nueva variable básica. De la misma
forma, la matriz no básica se actualiza.
Volver al Criterio de optimalidad.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 75 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Encontrar la solución al siguiente


problema por medio del Algoritmo
Simplex

max 3x1 + 5x2

s.t.
x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18 Figure 37: ¿Cómo resolverlo?

x1 , x2 ≥ 0

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 76 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

¿Qué hacer primero?


¿?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 77 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

¿Qué hacer primero?


Expresarlo en forma estándar
max 3x1 + 5x2
s.t.
x1 + x3 = 4
2x2 + x4 = 12
3x1 + 2x2 + x5 = 18
x1 , x2 , x3 , x4 , x5 ≥ 0

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 78 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, ¿qué hacemos?


Expresarlo en formato matricial.
Partir la matriz A en básicas y no básicas.
c T = [cBT |cN
T
]
xB
x =[ ]
xN

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 79 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, encontrar una solución básica.


Recordemos que un sistema de ecuaciones lineales se resuelve
multiplicando su matriz inversa por su vector solución.
Para el caso de optimización: xB = B −1 b
¿Cuál deberı́a ser la base inicial?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 80 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, encontrar una solución básica.


Recordemos que un sistema de ecuaciones lineales se resuelve
multiplicando su matriz inversa por su vector solución.
Para el caso de optimización: xB = B −1 b
Generalmente, la base inicial la conforman las variables de holgura.
Puede ser conformada por otras variables, pero encontrar cuáles
conforman un punto extremo puede ser un proceso iterativo
desgastante.
Si la base inicial no se puede conformar por las variables de holgura,
se utiliza un método de inicialización.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 81 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, revisar la optimalidad del punto extremo encontrado.


Concepto más importante del algoritmo Simplex: COSTOS
REDUCIDOS
Un punto extremo con un vector de costos reducidos no positivo
r t ≤ 0, entonces x ∗ es la solución óptima de un problema de
maximización.
Ayuda: los costos reducidos de las variables básicas son siempre cero.
Entonces ... ¿?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 82 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, revisar la optimalidad del punto extremo encontrado.


Concepto más importante del algoritmo Simplex: COSTOS
REDUCIDOS
Un punto extremo con un vector de costos reducidos no positivo
r T ≤ 0, entonces x ∗ es la solución óptima de un problema de
maximización.
Ayuda: los costos reducidos de las variables básicas son siempre cero.
Entonces ... ¡Encontrar los costos reducidos de las variables no
básicas!
rq = cq − W T Aq q ∈ IN
W T = cBT B −1
¿Cuál es el costo reducido de las variables no básicas?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 83 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, revisar la optimalidad del punto extremo encontrado.


Concepto más importante del algoritmo Simplex: COSTOS
REDUCIDOS
Un punto extremo con un vector de costos reducidos no positivo
r T ≤ 0, entonces x ∗ es la solución óptima de un problema de
maximización.
Ayuda: los costos reducidos de las variables básicas son siempre cero.
Entonces ... ¡Encontrar los costos reducidos de las variables no
básicas!
rq = cq − W T Aq q ∈ IN
W T = cBT B −1
¿Cuál es el costo reducido de las variables no básicas?r1 , r2

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 84 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, movernos de acuerdo a la variable básica que entramos.


Pero momento ....

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 85 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, movernos de acuerdo a la variable básica que entramos.


Pero momento ....
¿Cuál variable entrar ...?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 86 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, movernos de acuerdo a la variable básica que entramos.


Pero momento ....
¿Cuál variable entrar ...?
El costo reducido es una promesa de mejora, no necesariamente el
costo reducido más alto implica llegar al óptimo más rapido.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 87 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, movernos de acuerdo a la variable básica que entramos.


Pero momento ....
¿Cuál variable entrar ...?
¿Entonces? Calcular la dirección de movimiento (∆) de cada uno de
las variables no básicas (d q )
−B −1 Aq
dq = [ ]
eq

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 88 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo

Ahora, movernos de acuerdo a la variable básica que entramos.


Pero momento ....
¿Cuál variable entrar ...?
¿Entonces? Calcular la dirección de movimiento (∆) de cada uno de
las variables no básicas (d q )
Pero escoger la dirección que permita llegar más lejos a veces ayuda,
al menos cuando se hacen problemas de juguete.
−B −1 Aq
dq = [ ]
eq

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 89 / 101


Algoritmo Simplex

Algoritmo Simplex. Un ejemplo


Pero después de calculada la dirección, ¿qué tanto se puede mover?
Recordemos que la longitud de movimiento en una búsqueda local
era λ
xB B −1 b −B −1 Aq
[ ]=[ ] + α[ ]
xN 0 eq

La expresión anterior ya nos es conocida.


Ahora el problema es encontrar qué valor debe tomar la longitud de
movimiento α
Se usa la Prueba de la Razón Mı́nima.

Figure 38: Prueba de la razón mı́nima

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 90 / 101


Métodos de inicialización.

Métodos de inicialización

Para muchos problemas avanzados de optimización no es trivial


encontrar una base con las variables de holgura.
Nuevamente, iterar hasta encontrar una base es una forma
ineficiente.
Es posible que nunca se encuentre una base; se declara infactibilidad
del problema.
Se puede solucionar este problema con dos rutinas previas al
algoritmo Simplex: 1) Método de Dos Fases y 2) Método de la Gran
M.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 91 / 101


Métodos de inicialización.

Método de dos fases

Definición
Un problema de optimización con un vector de costos transpuestos
c T x que no tiene una solución básica factible.
Se debe transformar el vector de costos para obtener 1T x a .
Se utiliza una variable artificial (x a ) para encontrar una matriz
identidad.
Se itera sobre esa variable hasta encontrar que el costo reducido de la
variable (x a = 0).
Si con varias iteraciones Simplex, el costo reducido de (x a 6= 0): el
problema es infactible.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 92 / 101


Métodos de inicialización.

Método de dos fases

Definición
Un problema de optimización con un vector de costos transpuestos
c T x que no tiene una solución básica factible.
Se suma al vector de costos un costo artificial Mx a .
Se utiliza una variable artificial (x a ) para encontrar una matriz
identidad.
Se itera sobre esa variable hasta encontrar que el costo reducido de la
variable (x a = 0).
Si con varias iteraciones Simplex, el costo reducido de (x a 6= 0): el
problema es infactible.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 93 / 101


Dualidad y Sensibilidad

Análisis de dualidad

La compañı́a relojera Rolox produce dos tipos de relojes, el tipo de gama


media Payless y el reloj de gama alta Timeless, los cuales vende a 2 y 3
dólares respectivamente.

Para producir el reloj Payless se necesita un gramo de platino y dos gramos


de oro, mientras que para producir un reloj timeless se necesita un gramo
de oro y un gramo de platino.

Rolox cuenta en sus cajas fuertes con 3 gramos de platino y 4 de oro. El


objetivo de la compañı́a es maximizar sus ingresos por la venta de relojes.

¿Qué cantidad deberı́a producir Rolox de cada tipo de reloj?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 94 / 101


Dualidad y Sensibilidad

Análisis de dualidad

¿Cuál serı́a la formulación matemática para el problema de Rolox?.

Figure 39: Problema de Rolox.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 95 / 101


Dualidad y Sensibilidad

Análisis de dualidad

De acuerdo a la formulación anterior, ¿en cuánto valor Rolox sus


recursos ?

¿Cuánto estarı́a dispuesto a pagar por una unidad adicional de cada


recurso?

Se encuentra el Problema Dual asociado al problema original


formulado.
Este Problema Dual permite encontrar el cambio marginal asociado a
cada reloj o cada recurso.
El Problema Dual es, básicamente, la transposición de la matriz A
del problema original (Problema Primal).

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 96 / 101


Dualidad y Sensibilidad

Análisis de dualidad

El problema dual asociado al primal es:

min 3w1 + 4w2


s.t.
w1 + 2w2 ≥ 2
w1 + w2 ≥ 3
w1 , w2 ≥ 0
Cuya solución es z = 9, w1 = 3 y w2 = 0
Esto ocurre por las Condiciones de Karush - Kuhn - Tucker
(KKT)

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 97 / 101


Dualidad y Sensibilidad

Análisis de dualidad

Debido a los altos costos de los recursos, Rolox desea comprar un seguro
contra robo. Para esto, ha llegado a un acuerdo con Delime (una em-
presa de seguros), en el cual Rolox escoge el valor por el cual desea ase-
gurar cada unidad de cada recurso (oro y platino).

La polı́tica que desea tomar Rolox es asegurar todos sus recursos (3 gramos
de platino y 4 de oro) de manera que si le roban cierta cantidad, se le re-
ponga por lo menos lo que Rolox dejarı́a de recibir.

Debido a que las cuotas de la póliza dependen de la cantidad asegurara,


Rolox desea asegurar los recursos por el menor valor posible. ¿Por qué
cantidad deberı́a Rolox asegurar sus recursos?

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 98 / 101


Dualidad y Sensibilidad

Análisis de dualidad

Debido a los altos costos de los recursos, Rolox desea comprar un seguro
contra robo. Para esto, ha llegado a un acuerdo con Delime (una em-
presa de seguros), en el cual Rolox escoge el valor por el cual desea ase-
gurar cada unidad de cada recurso (oro y platino).

La polı́tica que desea tomar Rolox es asegurar todos sus recursos (3 gramos
de platino y 4 de oro) de manera que si le roban cierta cantidad, se le re-
ponga por lo menos lo que Rolox dejarı́a de recibir.

Debido a que las cuotas de la póliza dependen de la cantidad asegurara,


Rolox desea asegurar los recursos por el menor valor posible. ¿Por qué
cantidad deberı́a Rolox asegurar sus recursos?

El valor de las variables duales es la valoración de cada unidad de recurso.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 99 / 101


References

References

R. Rardin. Optimization in operations research. Prentice Hall. 1998.


M. Bazaraa. Linear programming and network flow. Wiley . 2010.
R. Ahuja. Network flows: theory, algorithms and applications.
Prentice Hall. 1993.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 100 / 101
End of Presentation

Gracias.

Ariel Garcı́a López (U.P.T.C.) Optimización Lineal Junio 2017 101 / 101

También podría gustarte