Programacion Lineal Final
-
Upload
adolfo-harper -
Category
Documents
-
view
219 -
download
4
description
Transcript of Programacion Lineal Final
EII 405 – INVESTIGACIÓN DE OPERACIONES
Capítulo 2 – Programación Lineal
2S2015
MFGL
Problema de programación lineal
MFGL 2
Cuándo usar programación lineal
Los problemas reales que podemos conceptualizar como problemas de programación lineal tienen las siguientes características (supuestos subyacentes):
• Linealidad: las relaciones entre las variables de decisión son lineales, es decir, hay proporcionalidad e independencia.
• Determinismo: los parámetros son conocidos y determinísticos.
• Divisibilidad: las variables pueden tomar valores fraccionarios.
MFGL 3
Ejemplo – Planificación de la producción
• Una compañía elabora y vende los productos 1 y 2. Se muestra la proporciónde materias primas MP 1, 2 y 3 que se emplean para la producción, cantidaddisponible de cada MP, y el precio de venta unitario de cada producto.
• ¿Cómo planificar la producción que reporte el mayor beneficio a la compañía?
MFGL 4
MP1 MP2 MP3 Ingresos
Producto 1 5 4 35 13
Producto 2 15 4 20 23
Capacidad 480 160 1190
MP1 MP2 MP3
Producto 1 Producto 2
Revisemos las características del ejemplo
• Linealidad: si ocupo 4[u] de MP2 para hacer 1 [u] del producto 1, para producir x emplearé 4x
[u]; si gano $13 por [u], ganaré $13x por x[u].
• Determinismo: conozco cantidades necesarias, disponibles y precios y las asumo constantes.
• Divisibilidad: puedo producir de a media [u], o un cuarto de [u].
Al cumplirse estas 3 características,
el problema se puede
conceptualizar como un PPL
MFGL 5
MP1
480 [u]MP2
160 [u]
MP3
1190 [u]
Producto 1
5 [u] MP1+
4 [u] MP2+
35 [u] MP3
Producto 2
15 [u] MP1+
4 [u] MP2+
20 [u] MP3
$13 $23
Formulación de modelos
MFGL 6
Recordemos
MFGL 7
Estrategia:
1. Preguntas clave : ¿Cuál es el objetivo? ¿Variables de decisión?¿Medidas de efectividad? ¿Relaciones funcionales? ¿Restricciones?
2. Modelo conceptual: Función objetivo, Restricciones
Ejemplo – Planificación de la producción
• Una compañía elabora y vende los productos 1 y 2. Se muestra la proporciónde materias primas MP 1, 2 y 3 que se emplean para la producción, cantidaddisponible de cada MP, y el precio de venta unitario de cada producto.
• ¿Cómo planificar la producción que reporte el mayor beneficio a la compañía?
MFGL 8
MP1 MP2 MP3 Ingresos
Producto 1 5 4 35 13
Producto 2 15 4 20 23
Capacidad 480 160 1190
MP1 MP2 MP3
Producto 1 Producto 2
Ejemplo – Planificación de la producción
1. Preguntas clave
– ¿Cuál es el objetivo? Definir mix productos que maximiza ingresos
– ¿Variables de decisión?Cantidades a producir
– ¿Medidas de efectividad? Ingresos totales
– ¿Relaciones funcionales? Proporción de MP para cada producto
– ¿Restricciones? Disponibilidad de materia prima
2. Modelo conceptual
– FO: Maximizar ingresos
– Restricciones:
Suma de MP de cada tipo usados en elaboración de los dos tipos de productos no debe sobrepasar la capacidad, producción no negativa
MFGL 9
Modelo de instancia
MFGL 10
0,x
11902035x
16044x
480155x
s.a.
32 13x max
21
21
21
21
21
≥≤+≤+≤+
+
x
x
x
x
x
producto 1 producto 2
F.O.
� MP 1
� MP 2
� MP 3
variables de decisión
restricciones
� ingresos
Ejercicio - variaciones del ejemplo
• Cómo cambiaría el modelo si se tiene:
– Otro precio de venta
– Un ingrediente adicional
– Contamos con más cantidad de una MP
– Debemos producir al menos el doble de un producto respecto al otro
• ¿Cuál es el modelo de clase del problema?
MFGL 11
Ejercicio – Compañía eléctrica
Una compañía eléctrica tiene tres plantas que suministran energía a cuatrociudades. Cada planta tiene la siguiente capacidad en Mkwh: 35 (planta 1), 50(planta 2), y 40 (planta 3). Los peak de demanda en cada una de las ciudades enMkwh son: 45 (ciudad 1), 20 (ciudad 2), 30 (ciudad 3), y 30 (ciudad 4). El costo deproveer 1 Mkwh desde cada planta a cada ciudad se muestra en la tabla acontinuación.
¿Cuál es la forma más económica de suministrar electricidad de las tres plantas a las cuatro ciudades?
MFGL 12
Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4
Planta 1 8 6 10 9
Planta 2 9 12 13 7
Planta 3 14 9 16 5
Ejercicio – Compañía eléctrica
1. Justifique que se cumplen los supuestos de PPL
2. Formule modelo de instancia (partiendo por responder preguntas claves y definir modelo conceptual)
3. Qué condición debe cumplirse para que el problema tenga solución
4. Qué pasa con lo anterior si la demanda de la ciudad 1 es ahora de 40 Mkwh. Muestre la modificación del modelo.
5. Formule el modelo de clase
6. Qué pasa si consideramos subestaciones
MFGL 13
Ejercicio – Transmisión
MFGL 14
1
2
1
2
3
Plantas generadoras
demanda 1 [MW]
demanda 2 [MW]
demanda 3 [MW]
capacidad 1 [MW]
Subestaciones
Se tienen 2 plantas generadoras eléctricas que deben abastecer a 3subestaciones y se quiere definir la capacidad de las líneas de transmisión queconectan las plantas con las subestaciones. Cada planta tiene una capacidad degeneración en MW, cada subestación tiene una demanda de energía en MW quedebe cubrir para abastecer a sus clientes, y cada línea tiene un costo por MWtransportado.
capacidad 2 [MW]
Problema de transporte
1. Preguntas clave
– ¿Cuál es el objetivo?
Decidir flujo de items entre múltiples orígenes y destinos.
– ¿Variables de decisión?
Flujo de items transportado entre cierto origen y cierto destino.
– ¿Medidas de efectividad?
Costos totales de transporte.
– ¿Relaciones funcionales?
Relaciones entre oferta y demanda.
– ¿Restricciones?
Satisfacer la demanda sin sobrepasar la oferta.
2. Modelo conceptual
– FO:
Minimizar costos totales de transporte
– Restricciones:
Flujo total de items a cada destino satisface su demanda, flujo total de items desde cada origen no sobrepasa su oferta, flujos no negativos 15
Modelo prototipo
Gráficamente
MFGL 16
1
2
m
1
2
n
… …
Orígenes
oferta 2
oferta m
demanda 1
demanda 2
demanda n
oferta 1
Destinos
Modelo de clase
• Parámetros:
m: número de orígenes.
n: número de destinos.
ai: oferta de items en el origen i.
bj: demanda de items en el destino j.
cij: costo unitario de transporte entre el origen i y el destino j.
• Variables de decisión:
xij: cantidad de items transportadas entre la fuente i y el destino j.
MFGL 17
Modelo de clase
MFGL 18
min � � ������
��
�
��s.a.
� ��� ≤ �� ∀��∈�
� ��� ≥ �� ∀��∈���� ≥ 0 ∀�, �
Enfoques de solución
MFGL 19
Ejemplo – Planificación de la producción
• Una compañía elabora y vende los productos 1 y 2. Se muestra la proporciónde materias primas MP 1, 2 y 3 que se emplean para la producción, cantidaddisponible de cada MP, y el precio de venta unitario de cada producto.
• Distintas decisiones de producción
MFGL 20
MP1 MP2 MP3 Precio venta
Producto 1 5 4 35 13
Producto 2 15 4 20 23
Capacidad 480 160 1190
consumo MP1:34 x 5
supera capacidad
¿alguna mejor?
MP1 MP2 MP3 Ingresos
34 [u] producto 1 170 136 1190 442
12 [u] producto 1 y 28 [u] producto 2 480 160 980 800
32 [u] producto 2 480 128 640 736
20 [u] producto 1 y 25 [u] producto 2 475 180 1200 720
Reflexiones
• Distintas combinaciones proporcionan distintos ingresos a distinto costo: la combinación más adecuada depende de quién está decidiendo.
• ¿Cómo asegurar detectar la combinación más eficiente?
• ¿Qué pasa al considerar aspectos adicionales: otro precio de venta, un ingrediente adicional, más disponibilidad de una MP, debemos producir al menos el doble de un producto respecto al otro
• Si el problema involucra muchísimas más variables y decisiones simultáneas, un método por inspección resulta ineficiente y en ocasiones imposible.
MFGL 21
Miremos las restricciones del ejemplo
• Estamos en ℝ�, donde cada restricción define un semiplano (hiperplano en ℝ�).
• La intersección de las restricciones define un polígono (poliedro en ℝ�) que constituye la región factible del problema la cual es convexa.
22
MP15x1+15x2≤480
MP24x1+4x2≤160
MP335x1+20x2≤1190
producto 1
prod
ucto
2
(26,14)
(12,28)
( 0,32)
( 0, 0) (34, 0)
Miremos la F.O. del ejemplo
• Al evaluar la F.O. en los distintos puntos de la región factible , estamos evaluando la efectividad de una decisión particular.
• Podemos identificar una dirección de mejora.
• Es evidente que el máximo (y el mínimo) valor de la F.O. se obtiene en alguno de los vértices de la región factible. ¿Siempre será así?
MFGL 23
producto 1
prod
ucto
2
(34, 0)
(26,14)
(12,28)
( 0,32)
( 0, 0)
13x1+23x2=$442
13x1+23x2=$800
Teorema (Weierstrass)
• Si la F.O. es una función continua y la región factible es un
conjunto cerrado y acotado, entonces el problema admite al menos un mínimo y un máximo globales. Particularmente, si
existe un óptimo, éste corresponde a uno de los vértices.
– No se garantiza un único óptimo (caso múltiples soluciones)
– Pueden existir PPL en que no se cumplan las condiciones y aún así exista un óptimo (caso poliedro no cerrado)
– Existen casos en que no existe un óptimo (caso poliedro no cerrado, caso poliedro vacío)
MFGL 24
Caso: Múltiples soluciones
• Si la F.O. cambia su pendiente hasta igualar la de la restricción de MP2entonces todos lo puntos que constituyen el segmento entre (12,28) y (26,14) son soluciones óptimas para del problema.
MFGL 25
producto 1pr
oduc
to 2
(34, 0)
(26,14)
(12,28)
( 0,32)
( 0, 0)producto 1
prod
ucto
2
(34, 0)
(26,14)
(12,28)
( 0,32)
( 0, 0)
Caso: Poliedro vacío
• Si se agrega la restricción que se debe producir un mínimo de 40 unidades de producto 1, la región factible es vacía y por lo tanto no
existe un óptimo.
MFGL 26
MP1
MP2
MP3
producto 1
prod
ucto
2
(26,14)
(12,28)
( 0,32)
( 0, 0) (34, 0)
nueva
Caso: Poliedro no cerrado
• Si contaramos con una cantidad infinita de materias primas, las únicas restricciones del problema serían las dominio, entonces la región
factible es no acotada y la F.O. puede mejorar infinitamente: problema no acotado.
MFGL 27
producto 1
prod
ucto
2
( 0, 0)
Caso: Poliedro no cerrado
• Si en este caso, la F.O. fuera de minimización (en lugar de maximización), entonces si bien la región factible es no acotada, el problema tiene un óptimo (en este caso es trivial).
MFGL 28
producto 1
prod
ucto
2
( 0, 0)
Enfoques de búsqueda solución
• En definitiva:
– Si el problema es factible (y sin múltiples soluciones) existe un número
finito de posibles soluciones (los vértices).
– Sin embargo la cantidad puede ser grande, pensemos en problemas con muchas variables y muchas restricciones, lo cual desafía la capacidad de cómputo.
MFGL 29
ecuaciones
iablesC#
var#
Enfoques de búsqueda solución
• Búsqueda global
– Identificar todos los vértices, evaluar en ellos la F.O., comparar para determinar el óptimo.
– En nuestro ejemplo no es complejo, pero en general es mala idea por la eventualmente gran cantidad de puntos a evaluar.
MFGL 30
(34, 0)
(26,14)
(12,28)
( 0,32)
( 0, 0)
Enfoques de búsqueda solución
• Búsqueda local
– Es posible aprovechando el hecho que en PL un óptimo local es un
óptimo global (convexidad del poliedro y linealidad función).
– Simplex (George Dantzig, 1947): algoritmo de búsqueda local para solucionar un PPL. Desde un vértice inicial busca el adyacente en la dirección de mejora, si es óptimo local se detiene, si no sigue iterando.
MFGL 31
(34, 0)
(26,14)
(12,28)
( 0,32)
( 0, 0)
MatricialAlgebraica
Modelo estándar
j: variables (j=1,…, n)i: restricciones (i=1,…, m)F.O.: efectividad global del sistemaxj: nivel de actividad j sobre el cuál se quiere decidircj: incremento en F.O. al aumento unitario del nivel de actividad jbi: capacidad disponible del recurso iaij: cantidad de recurso i consumido por unidad de la actividad j
MFGL 32
n1,2,...,j 0
m1,2,...,i s.a.
max
n
1j
n
1j
=≥
=≤⋅
⋅
∑
∑
=
=
j
ijij
jj
x
bxa
xc
0,...,,x
xa
xa
xa
s.a.
c...cxc max
21
221m1
22222121
11212111
n2211
≥≤++
≤++≤++
+++
n
mnmnm
nn
nn
n
xx
bxaxa
bxaxa
bxaxa
xx
L
MMOMM
K
L
s.a.
max T
0x
b Ax
xc
≥≤
No siempre obtenemos un modelo estándar “naturalmente”
• Dos modelos son equivalentes si ambos tienen las mismas soluciones
óptimas o bien si existe una transformación que permite construir la solución
de uno a partir de la solución de otro.
• Las equivalencias nos permiten manipular un modelo a un formato deseado, por ejemplo, al formato estándar.
MFGL 33
Maximización y
minimizaciónmin f(x) � max [-f(x)]
Constantesmax [f(x)+c] � [max f(x)]+c
max [c f(x)] � c[max f(x)]
(Des)igualdadesax1+bx2=c � ax1+bx2>=c , ax1+bx2<=c
ax1+bx2<=c � ax1+bx2+h=c, h>=0
Variables sin restricción
de signo y no-negativas
x s.r.s. � x=x1-x2, x1>=0, x2>=0
x >=0 � x=x1-x2, x1-x2>=0, x1 s.r.s, x2 s.r.s
Fundamentos Simplex
• Introduciendo variables de holgura a cada restricción se obtiene un problema equivalente con restricciones de igualdad esto se conoce como formato canónico. 34
0,...,,x
xa
xa
xa
s.a.
c...cxc max
21
221m1
22222121
11212111
n2211
≥≤++
≤++≤++
+++
n
mnmnm
nn
nn
n
xx
bxaxa
bxaxa
bxaxa
xx
L
MMOMM
K
L
0,..., ,,,...,,x
xa
xa
xa
s.a.
c ... c xc max
2121
221m1
222222121
111212111
n2211
≥=+++
=+++=+++
+++
+++
+
+
+
mnnnn
mmnnmnm
nnn
nnn
n
xxxxx
bxxaxa
bxxaxa
bxxaxa
xx
L
MMMOMM
L
L
Fundamentos Simplex
• Matricialmente, debemos redefinir adecuadamente c, x y A:
35
s.a.
max T
0x
b Ax
xc
≥≤
s.a.
max T
0x
b Ax
xc
≥=
Miremos las restricciones
• Las variables de holgura aseguran rg(A)=m. Por lo tanto se tiene un sistema de m ecuaciones l.i. con n+m incógnitas.
• Sea B una matriz con m columnas l.i. de A, entonces podemos reformular las restricciones (permutación conveniente de columnas):
36
[ ] bx
xNB =
N
B |bAx =
matriz básica
matriz no básica
vector de variables básica
vector de variables no básica
bNxBx =+ NB
Miremos las restricciones
• Premultiplicando por B-1 y reordenando se tiene:
• Una solución posible sería:
• Esta solución se conoce como solución básica, si además xB es no negativo, se llama solución básica factible, lo cual es equivalente a un
vértice de la región factible.
• Al forzar que las variables no básicas sean 0, se tiene un sistema de m
ecuaciones l.i. con m incógnitas, y por tanto una solución única.
37
NBNxBbBx
11 −− −=
=
=
−
0
bBx
xx
1
N
B
0x0x
bNxBx
=≥=+
NB
NB
, 0x
bBx
≥=
B
B
Miremos las restricciones
• Una forma de obtener los vértices de la región factible es resolver
este último sistema para distintas bases.
• En el ejemplo podemos ver en los vértices adyacentes sus vectores de
variables básicas difieren en un componente, es decir, sus matrices básicas varían en una columna.
38
[x1,x3,x4](34, 0)
[x1,x2,x3](26,14)
[x1,x2,x5](12,28)
[x2,x4,x5]( 0,32)
[x3,x4,x5]( 0, 0)
Miremos la F.O.
• Con la misma lógica aplicada anteriormente, podemos formular la F.O.:
• Considerando :
re expresamos F.O.:
• De aquí definimos los costos reducidos de las variables no básicas, los cuales indican la mejora unitaria en la F.O. si las variables no básicas fueran no nulas.
por su parte, para las variable básicas son nulos.
39
[ ]
=
N
BTN
TBz
x
xcc |
NBNxBbBx
11 −− −=
NTB
TN
TB cccz xNBbB )( 11 −− −+=
NBcc1−−= T
B
T
N
T
Nc
Miremos la F.O
• Criterio de optimalidad: en un problema de maximización una solución básica factible será óptima si los costos reducidos de las
variables no básicas son no positivos:
• Es decir, si las variables no básicas fueran no nulas, disminuye el valor de la F.O. (empeora).
• En un problema de minimización buscamos costos reducidos no negativos.
MFGL 40
0NBccc ≤−= −1T
B
T
N
T
N
Mejorando el valor de la F.O
• El cambio de base, conocido como pivote, debe considerar la dirección
de mejora de la F.O. Según vimos, el valor z de la F.O. está dado por:
– Variable que entra a la base (xe): Para mejorar el valor de la F.O. debemos aumentar el término que depende de xN, por lo tanto se requiere un xe con costo reducido positivo en la nueva base.
– Variable que sale de la base (xs): Buscamos sacar de la base actual la variable que impone la mayor restricción al incremento de la variable entrante, es decir, un xs con el menor ratio bi/aie (aie>0):
MFGL 41
N
T
N
T
Bcz xbBc += −1
0>ee
cx :
0 ,}/{ argmin :i
>ieieis aabx
Obtener nueva B y x*:
Seleccionar variable saliente de la base
Seleccionar variable entrante a la base
Verificar condición optimalidad
Algoritmo Simplex
42
Inicio:Para B determinar
una solución básica factible x* inicial
cumple
Término:x* es la solución
óptima
algún candidato
Término:problema no acotado
sí
sí
no
no
0 >ie
a
0c ≤T
N
0>ee cx :
}/{ argmin :i
ieis abx
Tableau
• Es una implementación tabular de Simplex en base al formato canónico
• Representa tabularmente
más una fila
MFGL 43
]|[ s.a.
max T
0x
bxIA
xc
≥=
]||[]||[ 1111 bBBABbIAB −−−− =
],[ 1bBcc
−B
bB
bBBAB
1
)(
111
)1(
11
−
−−−
++
−− B
nB
B
Bmnnn
ccz
x
x
xxxxx
M
LL
Seleccionar fila pivote l como la con menor
xB(i)/ui para ui>0
Seleccionar columna pivote u tal que costo
reducido de xj sea positivo
Examinar costos reducidos en última
fila
Algoritmo Tableau (Simplex)
44
Tableau asociado a una matriz B y una
solución básica factible (x*≥0)
todos ≤0
Término:x* es la solución
óptima
algún elemento
ui>0
Término:problema no acotado
sí
sí
no
noSumar a cada fila un
múltiplo de la fila pivote l tal que el
elemento pivote ul se transforme en “1” y el
resto de los ui se transformen en “0”
bB
bBBAB
1
)(
111
)1(
11
−
−−−
++
−− B
nB
B
Bmnnn
ccz
x
x
xxxxx
M
LL
ull
u
Volvamos al ejemplo
MFGL 45
Inicial
x1 x2 x3 x4 x5 XB(i)
x3 5 15 1 0 0 480
x4 4 4 0 1 0 160
x5 35 20 0 0 1 1190
-z 13 23 0 0 0 0
[x1,x3,x4](34, 0)z=$442
[x1,x2,x5](12,28)z*=800
[x3,x4,x5]( 0, 0)z=$0
Iteración 1
Iteración 3
Iteración 3x1 x2 x3 x4 x5 XB(i)
x5 0 0 1 1/2 -10 5/8 1 210
x2 0 1 1/10 - 1/8 0 28
x1 1 0 - 1/10 3/8 0 12
-z 0 0 -1 -2 0 -800
Iteración 1x1 x2 x3 x4 x5 XB(i)
x3 0 12 1/7 1 0 - 1/7 310
x4 0 1 5/7 0 1 - 4/35 24
x1 1 4/7 0 0 1/35 34
-z 0 15 4/7 0 0 - 13/35 -442
Iteración 2x1 x2 x3 x4 x5 XB(i)
x3 0 0 1 -7 1/12 2/3 140
x2 0 1 0 7/12 - 1/15 14
x1 1 0 0 - 1/3 1/15 26
-z 0 0 0 -9 1/12 2/3 -660
xB(i)/ui
96
40
34
xB(i)/ui
25 9/17
14
59 1/2
xB(i)/ui
210
390
F1-5F3´
F2-4F3
F3´=F3/35
F4-13F3´
F1-(85/7)F2´
F2´=F2/(12/7)
F3-(4/7)F2´
F4-(109/7)F2´
[x1,x2,x3](26,14)z=$660
Iteración 2
F1´=F1/(2/3)
F2+(1/15)F1´
F3-(1/15)F1´
F4-(2/3)*F1´
Algunas situaciones - Degeneración
MFGL 46
��� 2�� ����. �. 4�� �3�� ≤ 12 $1%
4�� ��� ≤ 8 $2%4�� �2�� ≤ 8 $3%
��, �� � 0
0
4
8
0 4 8
x2
x1
(1) (2) (3)
x1 x2 x3 x4 x5 xB
x3 4 3 1 0 0 12
x4 4 1 0 1 0 8
x5 4 2 0 0 1 8
-z 2 1 0 0 0 0
x1 x2 x3 x4 x5 xB
x3 0 2 1 -1 0 4
x1 1 1/4 0 1/4 0 2
x5 0 1 0 -1 1 0
-z 0 1/2 0 -1/2 0 -4
x1 x2 x3 x4 x5 xB
x3 0 0 1 1 -2 4
x1 1 0 0 1/2 -1/4 2
x2 0 1 0 -1 1 0
-z 0 0 0 0 -1/2 -4
3 restricciones especificando
un punto
Algunas situaciones – Problema no acotado
MFGL 47
��� 2�� ����. �. �� '�� ≤ 10 1
2�� '�� 40 2
��, �� � 0
-40
-20
0
20
40
0 20 40
x2
x1
(1) (2)
x1 x2 x3 x4 xB
x3 1 -1 1 0 10
x4 2 -1 0 1 40
-z 2 1 0 0 0
x1 x2 x3 x4 xB
x1 1 -1 1 0 10
x4 0 1 -2 1 20
-z 0 3 -2 0 -20
x1 x2 x3 x4 xB
x1 1 0 -1 1 30
x2 0 1 -2 1 20
-z 0 0 4 -3 -80
la 3ª iteración llega al origen
de un rayo
Algunas situaciones – Múltiples soluciones
MFGL 48
��� 4�� �14���. �. 2�� �7�� ≤ 21 1
7�� �2�� ≤ 21 2��, �� � 0
0
5
10
0 5 10
x2
x1
(1) (2)
x1 x2 x3 x4 xB
x3 2 7 1 0 21
x4 7 2 0 1 21
-z 4 14 0 0 0
x1 x2 x3 x4 xB
x2 2/7 1 1/7 0 3
x4 45/7 0 -2/7 1 15
-z 0 0 -2 0 -42
x1 x2 x3 x4 xB
x2 0 1 7/45 -2/45 7/3
x1 1 0 -2/45 7/45 7/3
-z 0 0 -2 0 -42
pendiente F.O. coincide con la del segmento
Ejercicio:
a)
b)
c)
d)
MFGL 49
x1 x2 x3 x4 xB
x1 1 -2 -1 0 4
X4 0 -1 0 1 2
-z 0 -3 -2 0 -20
x1 x2 x3 x4 xB
x3 0 0 1 -2 5
x1 1 -2 0 3 6
-z 0 1 0 -2 -20
x1 x2 x3 x4 xB
x2 3 1 0 -2 4
x3 -2 0 1 1 0
-z -2 0 0 -1 -8
x1 x2 x3 x4 xB
x4 0 -1 1 1 4
x1 1 1 -1 0 4
-z 0 0 -2 0 -5
Encontremos una cota superior
• Una cota superior del problema estará dada por combinaciones lineales positivas de las restricciones tal que los coeficientes de las variables sean mayor que aquellos en la F.O.
• Por ejemplo tomando 0*(1), 0*(2) y 10*(3) se identifica la cota 11900 (lo cual es coherente con z* óptimo que ya conocemos)
MFGL 50
0, x
(3) 11902035x
(2) 16044x
(1) 480155x
s.a.
(0) 32 13xmax
21
21
21
21
21
≥≤+≤+≤+
+
x
x
x
x
x
11900200 350x 32 13x 2121 ≤+≤+ xx
Encontremos la “mejor” cota superior
• Debemos encontrar los factores y1, y2, y3 de la combinación lineal de las restricciones, es decir, (1) y1, (2) y2, (3) y3:
• Además debemos asegurar que dichos coeficientes sean mayores que los de la F.O.
• Para tener la cota más estricta
• Finalmente, garantizamos una combinación lineal positiva
MFGL 51
0, x
(3) 11902035x
(2) 16044x
(1) 480155x
s.a.
(0) 32 13xmax
21
21
21
21
21
≥≤+≤+≤+
+
x
x
x
x
x
32123211321 y1190160y480y )x20y4yy (15)x35y4yy (5 ++≤+++++
2320y4yy 15 1335y4yy 5 321321 ≥++∧≥++
321 1190yy160480yin ++m
0y,y,y 321 ≥
Encontremos la “mejor” cota superior
• En definitiva, resolver el problema (DUAL):
entrega cota superior más estricta para el problema original (PRIMAL):
MFGL 52
��) 480*� +160*� +1190*-
�. �. 5*� +4*� +35*- ≥ 13
15*� +4*� +20*- ≥ 23
*�, *�, *- ≥ 0
��� 13�� +23��
�. �. 5�� +15�� ≤ 480
4�� +4�� ≤ 160
35�� +20�� ≤ 1190
��, �� ≥ 0
Dualidad
• El principio de dualidad indica que un problema puede verse desde dos perspectivas: como problema PRIMAL o como problema DUAL. Al resolver el PRIMAL del ejemplo optimizamos la asignación de recursos (Resource
allocation) , y al resolver su DUAL nos indica cuánto se estaría dispuesto a pagar por una unidad adicional de recursos (Resource valuation).
• Dualidad Débil: sea x* una solución primal-factible (max) e y* una solución dual-factible (min). Entonces se cumple que: cTx*≤yTb*.
• Dualidad Fuerte: de lo anterior se desprenden las siguientes posibilidades para el par PRIMAL-DUAL:
1. Ambos infactibles
2. PRIMAL infactible y DUAL no acotado, o viceversa
3. Ambos factibles y sus soluciones óptimas son iguales
MFGL 53
Dualidad
• El DUAL de un problema de maximización es un problema de minimización y viceversa (el dual del DUAL es el PRIMAL).
• En general:
MFGL 54
s.a.
max T
0x
b Ax
xc
≥≤
s.a.
min T
0y
cy A
by
≥≥T
Problema min Problema max
Si restricción es:>=<==
La variable asociada es:>= 0<= 0s.r.s.
Si la variable es:>= 0<= 0s.r.s.
La restricción correspondiente es:<=>==
PRIMAL DUAL
Dualidad
MFGL 55
��� 13�� +23��
�. �. 5�� +15�� ≤ 480
4�� +4�� ≤ 160
35�� +20�� ≤ 1190
��, �� ≥ 0
��� 13�� +23��
�. �. 5�� +15�� +�- = 480 *�
4�� +4�� +�0 = 160 *�
35�� +20�� +�1 = 1190 *-
��, … , �1 ≥ 0
��) 480*� +160*� +1190*-
�. �. 5*� +4*� +35*- ≥ 13
15*� +4*� +20*- ≥ 23
*�, *�, *- ≥ 0
��� −480*� −160*� −1190*-
�. �. −5*� −4*� −35*- +*0 = −13 ��
−15*� −4*� −20*- +*1 = −23 ��
*�, … , *1 ≥ 0 0
primal forma canónica
dual forma estándar dual forma canónica
primal forma estándar
��� −480*� −160*� −1190*-
�. �. −5*� −4*� −35*- ≤ −13
−15*� −4*� −20*- ≤ −23
*�, *�, *- ≥ 0
dual
Dualidad
MFGL 56
��� 13�� +23��
�. �. 5�� +15�� +�- = 480 *�
4�� +4�� +�0 = 160 *�
35�� +20�� +�1 = 1190 *-
��, … , �1 ≥ 0
Notar la relación entre variables y restricciones de un problema con el otro:
# variables originales un problema = # restricciones del otro problema
x1 x2 x3 x4 x5
y4 y5 y1 y2 y3
��� −480*� −160*� −1190*-
�. �. −5*� −4*� −35*- +*0 = −13 ��
−15*� −4*� −20*- +*1 = −23 ��
*�, … , *1 ≥ 0 0
Dualidad y el óptimo
x1 x2 x3 x4 x5 XB
x1 1 0 - 1/10 3/8 0 12
x2 0 1 1/10 - 1/8 0 28
x5 0 0 1 1/2 -10 5/8 1 210
-z 0 0 -1 -2 0 -800
MFGL 57
y1 y2 y3 y4 y5 YB
y1 1 0 -1 1/2 1/10 - 1/10 1
y2 0 1 10 5/8 - 3/8 1/8 2
z 0 0 -210 -12 -28 800
��� 13�� +23��
�. �. 5�� +15�� +�- = 480 *�
4�� +4�� +�0 = 160 *�
35�� +20�� +�1 = 1190 *-
��, … , �1 ≥ 0
Existe una relación entre costos reducidos de un problema
y los valores de las variables en el otro.
��� −480*� −160*� −1190*-
�. �. −5*� −4*� −35*- +*0 = −13 ��
−15*� −4*� −20*- +*1 = −23 ��
*�, … , *1 ≥ 0 0
Dualidad y el óptimo
MFGL 58
y3=0 (variable decisión no básica) se interpreta como que la FO primal no mejora alaumentar el lado derecho de la tercera restricción primal. Es razonable que la variablede holgura de dicha restricción x5 no sea nula (variable de holgura básica) pues dadoque no mejora el valor de la FO “no ocupamos toda su capacidad”.
x1 x2 x3 x4 x5 XB
x1 1 0 - 1/10 3/8 0 12
x2 0 1 1/10 - 1/8 0 28
x5 0 0 1 1/2 -10 5/8 1 210
-z 0 0 -1 -2 0 -800
y1 y2 y3 y4 y5 YB
y1 1 0 -1 1/2 1/10 - 1/10 1
y2 0 1 10 5/8 - 3/8 1/8 2
z 0 0 -210 -12 -28 800
��� 13�� +23��
�. �. 5�� +15�� +�- = 480 *�
4�� +4�� +�0 = 160 *�
35�� +20�� +�1 = 1190 *-
��, … , �1 ≥ 0
��� −480*� −160*� −1190*-
�. �. −5*� −4*� −35*- +*0 = −13 ��
−15*� −4*� −20*- +*1 = −23 ��
*�, … , *1 ≥ 0 0
Dualidad y el óptimo
MFGL 59
x1 =12 (variable decisión básica) se interpreta como que la FO dual mejora en 12[u] alaumentar el lado derecho de la primera restricción dual de 13 a 14. Es razonable que lavariable de holgura de dicha restricción sea nula y4=0 (variable holgura no básica) puesdado que mejora el valor de la FO “ocupamos toda su capacidad”.
x1 x2 x3 x4 x5 XB
x1 1 0 - 1/10 3/8 0 12
x2 0 1 1/10 - 1/8 0 28
x5 0 0 1 1/2 -10 5/8 1 210
-z 0 0 -1 -2 0 -800
y1 y2 y3 y4 y5 YB
y1 1 0 -1 1/2 1/10 - 1/10 1
y2 0 1 10 5/8 - 3/8 1/8 2
z 0 0 -210 -12 -28 800
��� 13�� +23��
�. �. 5�� +15�� +�- = 480 *�
4�� +4�� +�0 = 160 *�
35�� +20�� +�1 = 1190 *-
��, … , �1 ≥ 0
��� −480*� −160*� −1190*-
�. �. −5*� −4*� −35*- +*0 = −13 ��
−15*� −4*� −20*- +*1 = −23 ��
*�, … , *1 ≥ 0 0
Dualidad y el óptimo
• Complementariedad de las holguras: sea x* una solución primal-factible (max) e y* una solución dual-factible (min). Entonces ambas son óptimas si se cumple simultáneamente que:
xn+i yi = 0 i=1,…,m (restricción primal sin holgura o variable dual nula)
xj ym+j = 0 j=1,…,n (variable primal nula o restricción dual sin holgura)
MFGL 60
La dualidad aplicada a PPL nos permite
• Realizar interpretaciones económicas de los PPL, como ya vimos.
• Facilitar la resolución de un PPL donde el numero de restricciones es significativamente mayor que el numero de variables. Gracias a los teoremas de dualidad, sabemos que la solución de unos de los problemas (primal o dual) nos proporciona la solución del otro.
• Certificar optimalidad ya sea por dualidad fuerte o complementariedad de las holguras.
• Generar métodos , como Dual-Simplex, de utilidad en el análisis de post-optimal, entre otras áreas.
MFGL 61
Seleccionar columna pivote l como la con menor |cj|/ui para
ui<0
Seleccionar fila pivote u tal que xB(l) < 0
Examinar solución en última columna
Algoritmo Tableau (Dual Simplex)
62
Tableau asociado a una matriz B y una
solución básica dual-factible (x*≤0)
todos ≥0
Término:x* es la solución
óptima
algún elemento
ui<0
Término:problema no acotado
sí
sí
no
no
Sumar a cada fila un múltiplo de la fila pivote tal que el
elemento pivote ul se transforme en “1” y el
resto de los vi se transformen en “0”
bB
bBBAB
1
)(
111
)1(
11
−
−−−
++
−− B
nB
B
Bmnnn
ccz
x
x
xxxxx
M
LL
ulu
l
En el ejemplo
MFGL 63
y1 y2 y3 y4 y5 YB(i)y4 -5 -4 -35 1 0 -13
y5 -15 -4 -20 0 1 -23
z -480 -160 -1190 0 0 0
cj/ui 32 40 59 1/2
F1+5F2´F2´=-F2/15F3-480F2´
y1 y2 y3 y4 y5 YB(i)y4 0 -2 2/3 -28 1/3 1 - 1/3 -5 1/3 y1 1 4/15 1 1/3 0 - 1/15 1 1/2z 0 -32 -550 0 -32 736
cj/ui 12 19 7/17 96
F1´=F1/(-8/3)F2-F1´/4F3+32F1´
y1 y2 y3 y4 y5 YB(i)y2 0 1 10 5/8 - 3/8 1/8 2 y1 1 0 -1 1/2 1/10 - 1/10 1 z 0 0 -210 -12 -28 800
Sensibilidad
64
• El análisis de sensibilidad o post-optimal estudia qué sucede con una
solución óptima ante variaciones de la información a partir de la cualse ha construido el modelo.
– Cambios en los parámetros del modelo
• ¿En qué medida afecta la solución?
• ¿Existe un rango en que no afecte?
– Incluir o eliminar restricciones o variables
MFGL
Sensibilidad – Perspectiva gráfica
65
• Conocemos su solución óptima x* y z* del ejemplo:
��� 13�� +23��
�. �. 5�� +15�� ≤ 480
4�� +4�� ≤ 160
35�� +20�� ≤ 1190
��, �� ≥ 0
(12,28)
Sensibilidad – Perspectiva gráfica
66
• Cambios en c modifican la pendiente de la F.O. lo cual modifica z*, ypuede o no modificar x*.
(12,28)
��� 13�� +23��
�. �. 5�� +15�� ≤ 480
4�� +4�� ≤ 160
35�� +20�� ≤ 1190
��, �� ≥ 0
Sensibilidad – Perspectiva gráfica
67
• Cambios en b desplazan las restricciones modificando la región factible,lo cual podría o no modificar x*, y consecuentemente z*. Algo similarsucede con cambios en A o al agregar o eliminar una restricción.
(12,28) (12,28)
��� 13�� +23��
�. �. 5�� +15�� ≤ 480
4�� +4�� ≤ 160
35�� +20�� ≤ 1190
��, �� ≥ 0
Sensibilidad – Perspectiva algebraica
• Para entender qué sucede con una solución óptima ante variaciones de la información con la cual se ha construido el modelo, revisamos:
– valores de solución:
– condiciones de factibilidad y optimalidad:
MFGL 68
0≥Bx 0NBccc ≤−= − 1TB
TT
B
T
Bz xc= bBx 1−=B
Ejemplo
• Otra fábrica con 3 productos ydistintas recetas y e ingresos porunidad.
• El tableau óptimo del problemaindica que conviene producir 2[u] delprimer producto y 8[u] del segundoproducto, lo que proporcionará uningreso de $280. Además, tendremosun excedente de 24[u] del primerrecurso.
MFGL 69
0,,
85.05.12
205.124
4868..
203060max
321
321
321
321
321
≥≤++≤++≤++
++
xxx
xxx
xxx
xxxas
xxx
x1 x2 x3 x4 x5 x6 xB
x4 0 -2 0 1 2 -8 24
x3 0 -2 1 0 2 -4 8
x1 1 1,3 0 0 -0,5 1,5 2
-z 0 -5 0 0 -10 -10 -280
Ejemplo
• Tableau óptimo:
• Recordar:
MFGL 70
bB
bBBAB
1
)(
111
)1(
11
−
−−−
++
−− B
nB
B
Bmnnn
ccz
x
x
xxxxx
M
LL
B-1
x1 x2 x3 x4 x5 x6 xB
x4 0 -2 0 1 2 -8 24
x3 0 -2 1 0 2 -4 8
x1 1 1,3 0 0 -0,5 1,5 2
-z 0 -5 0 0 -10 -10 -280
Ejemplo: Variación coeficiente de variable básica c1->c1+δ
– No altera x* ni factibilidad pues:
– Altera z* pues:
– Altera costos reducidos pues:
Luego, la optimalidad se mantiene ssi:MFGL 71
δδ 2280
2
8
24
]60200[ +=
+==B
T
Bz xc
2040 ≤≤−⇔≤ δT
Nc
0,,
85.05.12
205.124
4868..
203060max
321
321
321
321
321
≥≤++≤++≤++
++
xxx
xxx
xxx
xxxas
xxx
bBx1−=B
]5.1105.01025.15[
105.1
012
006
]60200[]0030[ 11
δδδ
δ
−−+−−−=
+−=−= −− BNBccc TB
TN
T
N
x1 x2 x3 x4 x5 x6 xB
x4 0 -2 0 1 2 -8 24
x3 0 -2 1 0 2 -4 8
x1 1 1,3 0 0 -0,5 1,5 2
-z 0 -5 0 0 -10 -10 -280
Ejemplo: Variación coeficiente de variable no básica c2->c2+δ
– No altera x*, z* ni factibilidad al ser no básica pues:
– Altera costos reducidos:
Luego, la optimalidad se mantiene ssi:
MFGL 72
0,,
85.05.12
205.124
4868..
203060max
321
321
321
321
321
≥≤++≤++≤++
++
xxx
xxx
xxx
xxxas
xxx
502 ≤⇔≤ δc
δδ +−=
−+=⇒−= −− 5
5.1
2
6
]60200[)30( 12
1 BcNBccc TB
TN
T
N
BTBz xc=bBx
1−=B
x1 x2 x3 x4 x5 x6 xB
x4 0 -2 0 1 2 -8 24
x3 0 -2 1 0 2 -4 8
x1 1 1,3 0 0 -0,5 1,5 2
-z 0 -5 0 0 -10 -10 -280
Ejemplo: Variación coeficiente de variable no básica a22->a22+δ
– No altera x*, z* ni factibilidad al ser no básica pues:
– Altera costos reducidos:
Luego, la optimalidad se mantiene ssi:
MFGL 73
5.002 −≥⇔≤ δc
0,,
85.05.12
205.124
4868..
203060max
321
321
321
321
321
≥≤++≤++≤++
++
xxx
xxx
xxx
xxxas
xxx
BTBz xc=bBx
1−=B
δδ 105
5.1
2
6
]60200[30 12
1 −−=
+−=⇒−= −− BcNBccc TB
TN
T
N
x1 x2 x3 x4 x5 x6 xB
x4 0 -2 0 1 2 -8 24
x3 0 -2 1 0 2 -4 8
x1 1 1,3 0 0 -0,5 1,5 2
-z 0 -5 0 0 -10 -10 -280
Ejemplo: Agregar una variable
• Siendo x* óptima y agregando xI con su correspondiente AI y cI la solución (x*, xI)=(x*, 0) es una solución básica factible del problema modificado.
• Si no se cumple optimalidad será necesario seguir iterando tras agregar al tableau la columna:
MFGL 74
−
I
I
c
AB1
Ejemplo: Agregar una variable
• Modifiquemos el ejemplo:
calculemos la nueva columna del tableau:
MFGL 75
[ ] 20
5,0
0
3
6020050
5,0
0
3
1
2
1
71
771-
71- =
−−=−=
−=
= − ABccBAB TBc
x1 x2 x3 x4 x5 x6 x7 xB
x4 0 -2 0 1 2 -8 -3 24
x3 0 -2 1 0 2 -4 0 8
x1 1 1,25 0 0 -0,5 1,5 0,5 2
-z 0 -5 0 0 -10 -10 20 -280
x1 x2 x3 x4 x5 x6 xB
x4 0 -2 0 1 2 -8 24
x3 0 -2 1 0 2 -4 8
x1 1 1,3 0 0 -0,5 1,5 2
-z 0 -5 0 0 -10 -10 -280
0,,
85.05.12
2025.124
4868..
50203060max
321
7321
7321
7321
7321
≥≤+++
≤+++≤+++
+++
xxx
xxxx
xxxx
xxxxas
xxxx
Ejemplo: Agregar una restricción
• Si actual óptimo x* cumple, se mantiene como óptimo del problema modificado.
• Si no: introducir variable de holgura asociada a la restricción, agregar a tableau fila correspondiente a la restricción, agregar variable de holgura a la base y canonizar mediante operaciones fila.
• Eventual problema de inicialización.
MFGL 76
Ejemplo: Agregar una restricción
• Modifiquemos el ejemplo con:
MFGL 77
70423 321 ≤++ xxx
x1 x2 x3 x4 x5 x6 x7 xB
x4 0 -2 0 1 2 -8 0 24
x3 0 -2 1 0 2 -4 0 8
x1 1 1,3 0 0 -0,5 1,5 0 2x7 3 2 4 0 0 0 1 70-z 0 -5 0 0 -10 -10 0 -280
x1 x2 x3 x4 x5 x6 xB
x4 0 -2 0 1 2 -8 24
x3 0 -2 1 0 2 -4 8
x1 1 1,3 0 0 -0,5 1,5 2
-z 0 -5 0 0 -10 -10 -280
x1 x2 x3 x4 x5 x6 x7 xB
x4 0 -2 0 1 2 -8 0 24
x3 0 -2 1 0 2 -4 0 8
x1 1 1,3 0 0 -0,5 1,5 0 2x7 0 6,1 0 0 -6,5 11,5 1 32-z 0 -5 0 0 -10 -10 0 -280
F4-3F3-4F2
Comentarios
• Otros aspectos: modificar capacidades, eliminar restricción o variable.
• Ojo con el dual y el dual-simplex.
MFGL 78
EII 405 – INVESTIGACIÓN DE OPERACIONES
Capítulo 2 – Programación Lineal
2S2015
MFGL