You are on page 1of 79

EII 405 INVESTIGACIN DE OPERACIONES

Captulo 2 Programacin Lineal


2S2015
MFGL

Problema de programacin lineal

MFGL

Cundo usar programacin lineal


Los problemas reales que podemos conceptualizar como problemas de
programacin lineal tienen las siguientes caractersticas (supuestos
subyacentes):
Linealidad: las relaciones entre las variables de decisin son lineales, es
decir, hay proporcionalidad e independencia.
Determinismo: los parmetros son conocidos y determinsticos.
Divisibilidad: las variables pueden tomar valores fraccionarios.

MFGL

Ejemplo Planificacin de la produccin


Una compaa elabora y vende los productos 1 y 2. Se muestra la proporcin
de materias primas MP 1, 2 y 3 que se emplean para la produccin, cantidad
disponible de cada MP, y el precio de venta unitario de cada producto.
MP1

MP2

MP3

Ingresos

Producto 1

35

13

Producto 2

15

20

23

Capacidad

480

160

1190

MP1

MP2

MP3

Producto 2

Producto 1

Cmo planificar la produccin que reporte el mayor beneficio a la compaa?


MFGL

Revisemos las caractersticas 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].

MP1
480 [u]

MP2
160 [u]

MP3
1190 [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 caractersticas,
el problema se puede
conceptualizar como un PPL
MFGL

Producto 1
5 [u] MP1
+
4 [u] MP2
+
35 [u] MP3

Producto 2
15 [u] MP1
+
4 [u] MP2
+
20 [u] MP3

$13

$23

Formulacin de modelos

MFGL

Recordemos

Estrategia:
1. Preguntas clave : Cul es el objetivo? Variables de decisin?
Medidas de efectividad? Relaciones funcionales? Restricciones?
2. Modelo conceptual: Funcin objetivo, Restricciones

MFGL

Ejemplo Planificacin de la produccin


Una compaa elabora y vende los productos 1 y 2. Se muestra la proporcin
de materias primas MP 1, 2 y 3 que se emplean para la produccin, cantidad
disponible de cada MP, y el precio de venta unitario de cada producto.
MP1

MP2

MP3

Ingresos

Producto 1

35

13

Producto 2

15

20

23

Capacidad

480

160

1190

MP1

MP2

MP3

Producto 2

Producto 1

Cmo planificar la produccin que reporte el mayor beneficio a la compaa?


MFGL

Ejemplo Planificacin de la produccin


1. Preguntas clave
Cul es el objetivo?
Definir mix productos que maximiza ingresos
Variables de decisin?
Cantidades a producir
Medidas de efectividad?
Ingresos totales
Relaciones funcionales?
Proporcin 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 elaboracin de los dos tipos de


productos no debe sobrepasar la capacidad, produccin no negativa
MFGL

Modelo de instancia

variables de decisin
producto 1

max 13x1
5x 1
s.a. 4x 1
35x1

producto 2

+ 23x2
+ 15x2 480
+ 4 x2 160
+ 20 x2 1190
x 1 , x2 0

MFGL

ingresos

F.O.

MP 1
MP 2

restricciones

MP 3

10

Ejercicio - variaciones del ejemplo


Cmo cambiara el modelo si se tiene:

Otro precio de venta


Un ingrediente adicional
Contamos con ms cantidad de una MP
Debemos producir al menos el doble de un producto respecto al otro

Cul es el modelo de clase del problema?

MFGL

11

Ejercicio Compaa elctrica


Una compaa elctrica tiene tres plantas que suministran energa a cuatro
ciudades. 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 en
Mkwh son: 45 (ciudad 1), 20 (ciudad 2), 30 (ciudad 3), y 30 (ciudad 4). El costo de
proveer 1 Mkwh desde cada planta a cada ciudad se muestra en la tabla a
continuacin.
Ciudad 1

Ciudad 2

Ciudad 3

Ciudad 4

Planta 1

10

Planta 2

12

13

Planta 3

14

16

Cul es la forma ms econmica de suministrar electricidad de las tres plantas a


las cuatro ciudades?
MFGL

12

Ejercicio Compaa elctrica


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 condicin debe cumplirse para que el problema tenga solucin

4.

Qu pasa con lo anterior si la demanda de la ciudad 1 es ahora de 40 Mkwh.


Muestre la modificacin del modelo.

5.

Formule el modelo de clase

6.

Qu pasa si consideramos subestaciones

MFGL

13

Ejercicio Transmisin
Se tienen 2 plantas generadoras elctricas que deben abastecer a 3
subestaciones y se quiere definir la capacidad de las lneas de transmisin que
conectan las plantas con las subestaciones. Cada planta tiene una capacidad de
generacin en MW, cada subestacin tiene una demanda de energa en MW que
debe cubrir para abastecer a sus clientes, y cada lnea tiene un costo por MW
transportado.
Subestaciones

Plantas generadoras

capacidad 1 [MW]

capacidad 2 [MW]

demanda 1 [MW]

demanda 2 [MW]

demanda 3 [MW]

1
2

MFGL

14

Problema de transporte

Modelo
prototipo

1. Preguntas clave
Cul es el objetivo?
Decidir flujo de items entre mltiples orgenes y destinos.
Variables de decisin?
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

Grficamente

Destinos

Orgenes

demanda 2

oferta 1

oferta 2

demanda 1

oferta m

MFGL

demanda n

16

Modelo de clase
Parmetros:
m: nmero de orgenes.
n: nmero 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 decisin:
xij: cantidad de items transportadas entre la fuente i y el destino j.

MFGL

17

Modelo de clase

min
s.a.

0 ,

MFGL

18

Enfoques de solucin

MFGL

19

Ejemplo Planificacin de la produccin


Una compaa elabora y vende los productos 1 y 2. Se muestra la proporcin
de materias primas MP 1, 2 y 3 que se emplean para la produccin, cantidad
disponible de cada MP, y el precio de venta unitario de cada producto.
MP1

MP2

MP3

Precio venta

Producto 1

35

13

Producto 2

15

20

23

Capacidad

480

160

1190
consumo MP1:
34 x 5

Distintas decisiones de produccin


MP1

MP2

MP3

Ingresos

34 [u] producto 1

170

136

1190

442

32 [u] producto 2

480

128

640

736

20 [u] producto 1 y 25 [u] producto 2

475

180

1200

720

12 [u] producto 1 y 28 [u] producto 2

480

160

980

800

MFGL

supera
capacidad
alguna
mejor?
20

Reflexiones
Distintas combinaciones proporcionan distintos ingresos a distinto costo: la
combinacin ms adecuada depende de quin est decidiendo.
Cmo asegurar detectar la combinacin ms eficiente?
Qu pasa al considerar aspectos adicionales: otro precio de venta, un
ingrediente adicional, ms disponibilidad de una MP, debemos producir al
menos el doble de un producto respecto al otro
Si el problema involucra muchsimas ms variables y decisiones simultneas,
un mtodo por inspeccin resulta ineficiente y en ocasiones imposible.

MFGL

21

Miremos las restricciones del ejemplo


Estamos en , donde cada restriccin define un semiplano (hiperplano en
).
La interseccin de las restricciones define un polgono (poliedro en ) que
constituye la regin factible del problema la cual es convexa.

( 0,32)

producto 2

(12,28)

( 0, 0)

MP1
5x1+15x2480
(26,14)

MP2
4x1+4x2160
producto 1

(34, 0)

MP3
35x1+20x21190
22

Miremos la F.O. del ejemplo


Al evaluar la F.O. en los distintos puntos de la regin factible , estamos
evaluando la efectividad de una decisin particular.
Podemos identificar una direccin de mejora.
Es evidente que el mximo (y el mnimo) valor de la F.O. se obtiene en
alguno de los vrtices de la regin factible. Siempre ser as?
( 0,32)

producto 2

(12,28)

( 0, 0)

(26,14)

producto 1

13x1+23x2=$800

(34, 0)

13x1+23x2=$442
MFGL

23

Teorema (Weierstrass)
Si la F.O. es una funcin continua y la regin factible es un
conjunto cerrado y acotado, entonces el problema admite al
menos un mnimo y un mximo globales. Particularmente, si
existe un ptimo, ste corresponde a uno de los vrtices.
No se garantiza un nico ptimo (caso mltiples soluciones)
Pueden existir PPL en que no se cumplan las condiciones y
an as exista un ptimo (caso poliedro no cerrado)
Existen casos en que no existe un ptimo (caso poliedro no
cerrado, caso poliedro vaco)

MFGL

24

Caso: Mltiples soluciones


Si la F.O. cambia su pendiente hasta igualar la de la restriccin de MP2
entonces todos lo puntos que constituyen el segmento entre (12,28) y
(26,14) son soluciones ptimas para del problema.

( 0,32)

( 0,32)

( 0, 0)

(12,28)
producto 2

producto 2

(12,28)

(26,14)

producto 1

(34, 0)

( 0, 0)

MFGL

(26,14)

producto 1

(34, 0)

25

Caso: Poliedro vaco


Si se agrega la restriccin que se debe producir un mnimo de 40
unidades de producto 1, la regin factible es vaca y por lo tanto no
existe un ptimo.

nueva
( 0,32)

producto 2

(12,28)

MP1
(26,14)

MP2
( 0, 0)

producto 1

(34, 0)

MP3
MFGL

26

Caso: Poliedro no cerrado

producto 2

Si contaramos con una cantidad infinita de materias primas, las nicas


restricciones del problema seran las dominio, entonces la regin
factible es no acotada y la F.O. puede mejorar infinitamente:
problema no acotado.

( 0, 0)

producto 1

MFGL

27

Caso: Poliedro no cerrado

producto 2

Si en este caso, la F.O. fuera de minimizacin (en lugar de


maximizacin), entonces si bien la regin factible es no acotada, el
problema tiene un ptimo (en este caso es trivial).

( 0, 0)

producto 1

MFGL

28

Enfoques de bsqueda solucin


En definitiva:
Si el problema es factible (y sin mltiples soluciones) existe un nmero
finito de posibles soluciones (los vrtices).
Sin embargo la cantidad puede ser grande, pensemos en problemas con
muchas variables y muchas restricciones, lo cual desafa la capacidad de
cmputo.
ecuaciones
C ##var
iables

MFGL

29

Enfoques de bsqueda solucin


Bsqueda global
Identificar todos los vrtices, 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.

( 0,32)
(12,28)

(26,14)

( 0, 0)

(34, 0)
MFGL

30

Enfoques de bsqueda solucin


Bsqueda local
Es posible aprovechando el hecho que en PL un ptimo local es un
ptimo global (convexidad del poliedro y linealidad funcin).
Simplex (George Dantzig, 1947): algoritmo de bsqueda local para
solucionar un PPL. Desde un vrtice inicial busca el adyacente en la
direccin de mejora, si es ptimo local se detiene, si no sigue
iterando.
( 0,32)
(12,28)

(26,14)

( 0, 0)

(34, 0)
MFGL

31

Modelo estndar

Matricial

Algebraica
max c1x 1 + c2 x2 + ... + cn x n
s.a.
a11x 1 + a12 x2 L + a1n x n

b1

+ a22 x2 K + a2n x n
M
O
M
+ am2 x2 L + amn x n

b2
M
bm

a21x 1
M
am1x 1

max

xj

j=1

s.a.

ij

x j bi

i = 1,2,...,m

j=1

xj 0

j = 1,2,...,n

max c T x
s.a. Ax b
x0

x 1 , x2 ,..., x n 0

j: variables (j=1,, n)
i: restricciones (i=1,, m)
F.O.: efectividad global del sistema
xj: nivel de actividad j sobre el cul se quiere decidir
cj: incremento en F.O. al aumento unitario del nivel de actividad j
bi: capacidad disponible del recurso i
aij: cantidad de recurso i consumido por unidad de la actividad j
MFGL

32

No siempre obtenemos un modelo estndar naturalmente


Dos modelos son equivalentes si ambos tienen las mismas soluciones
ptimas o bien si existe una transformacin que permite construir la solucin
de uno a partir de la solucin de otro.
Las equivalencias nos permiten manipular un modelo a un formato deseado,
por ejemplo, al formato estndar.
Maximizacin y
minimizacin
Constantes
(Des)igualdades
Variables sin restriccin
de signo y no-negativas

min f(x)
max [f(x)+c]
max [c f(x)]

max [-f(x)]
[max f(x)]+c
c[max f(x)]

ax1+bx2=c
ax1+bx2>=c , ax1+bx2<=c
ax1+bx2<=c
ax1+bx2+h=c, h>=0
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
MFGL

33

Fundamentos Simplex
max c1x 1 + c2 x2 + ... + cn x n
s.a.
a11x 1 + a12 x2 L + a1n x n

b1

+ a22 x2 K + a2n x n
M
O
M
+ am2 x2 L + amn x n

b2
M
bm

a21x 1
M
am1x 1

x 1 , x2 ,..., x n 0
max c1x 1
s.a.
a11x 1
a21x 1
M
am1x 1

+ c2 x2 + ...
+ a12 x2

+ cn xn

L + a1n xn

+ x n +1

+ a22 x2 L + a2 n xn
M
O
M
+ am2 x2 L + amn xn

=
+ x n +2
M

b1

+ xn+ m

b2
M
= bm

x 1 , x2 ,..., x n , x n+1 , xn+2 ,..., xn + m 0

Introduciendo variables de holgura a cada restriccin se obtiene un


problema equivalente con restricciones de igualdad esto se conoce
34
como formato cannico.

Fundamentos Simplex
Matricialmente, debemos redefinir adecuadamente c, x y A:

max c T x
s.a. Ax b
x0

max

cT x

s.a. Ax = b
x0
35

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 incgnitas.
Sea B una matriz con m columnas l.i. de A, entonces podemos
reformular las restricciones (permutacin conveniente de columnas):

matriz bsica

Ax = b

vector de variables bsica

xB
[B|N] = b
x N

matriz no bsica

Bx B + Nx N = b

vector de variables no bsica

36

Miremos las restricciones


Premultiplicando por B-1 y reordenando se tiene: x B = B 1b B 1Nx N
Una solucin posible sera:

x B B 1b
x= =

x
N 0

Esta solucin se conoce como solucin bsica, si adems xB es no


negativo, se llama solucin bsica factible, lo cual es equivalente a un
vrtice de la regin factible.
Al forzar que las variables no bsicas sean 0, se tiene un sistema de m
ecuaciones l.i. con m incgnitas, y por tanto una solucin nica.

Bx B + Nx N = b
x B 0, x N = 0

Bx B = b
xB 0

37

Miremos las restricciones


Una forma de obtener los vrtices de la regin factible es resolver
este ltimo sistema para distintas bases.

[x2,x4,x5]
( 0,32)

[x1,x2,x5]
(12,28)
[x1,x2,x3]
(26,14)

[x3,x4,x5]
( 0, 0)

[x1,x3,x4]
(34, 0)

En el ejemplo podemos ver en los vrtices adyacentes sus vectores de


variables bsicas difieren en un componente, es decir, sus matrices
bsicas varan en una columna.
38

Miremos la F.O.
Con la misma lgica aplicada anteriormente, podemos formular la F.O.:

z = cB | cN
Considerando :

xB
x
N

x B = B 1b B 1Nx N

re expresamos F.O.:

z = cBT B 1b + (cTN cBT B 1N )x N

De aqu definimos los costos reducidos de las variables no bsicas, los


cuales indican la mejora unitaria en la F.O. si las variables no bsicas
fueran no nulas.
T

cN = cTN cTBB 1N

por su parte, para las variable bsicas son nulos.


39

Miremos la F.O
Criterio de optimalidad: en un problema de maximizacin una
solucin bsica factible ser ptima si los costos reducidos de las
variables no bsicas son no positivos:

c N = c N T c BT B 1N 0
Es decir, si las variables no bsicas fueran no nulas, disminuye el valor
de la F.O. (empeora).
En un problema de minimizacin buscamos costos reducidos no
negativos.

MFGL

40

Mejorando el valor de la F.O


El cambio de base, conocido como pivote, debe considerar la direccin
de mejora de la F.O. Segn vimos, el valor z de la F.O. est dado por:
1

z = c B b + cN x N
T
B

Variable que entra a la base (xe): Para mejorar el valor de la F.O.


debemos aumentar el trmino que depende de xN, por lo tanto se
requiere un xe con costo reducido positivo en la nueva base.

x e : ce > 0
Variable que sale de la base (xs): Buscamos sacar de la base actual
la variable que impone la mayor restriccin al incremento de la
variable entrante, es decir, un xs con el menor ratio bi/aie (aie>0):

x s : argmin {bi / aie } , aie > 0


i

MFGL

41

Algoritmo Simplex
Inicio:
Para B determinar
una solucin bsica
factible x* inicial

Verificar condicin
optimalidad
T

cN 0

no

cumple

Seleccionar variable
entrante a la base
xe : ce > 0

Trmino:
x* es la solucin
ptima

algn
candidato
aie > 0

Seleccionar variable
saliente de la base
xs : argmin {bi / aie }
i

no

Trmino:
problema no acotado

Obtener nueva B y x*:

42

Tableau
Es una implementacin tabular de Simplex en base al formato cannico
max c T x
s.a. [ A |I]x = b
x0

Representa tabularmente
ms una fila
x1

B 1[ A | I | b] = [B 1A | B 1 | B 1b]
[c , c BB 1b]

xn

x n +1

x n+ m

xB

xB(1)
M

B 1 A

B 1

B 1b

x B(n)
z

c
MFGL

cBB 1b
43

Algoritmo Tableau (Simplex)


Tableau asociado a
una matriz B y una
solucin bsica
factible (x*0)

Examinar costos
reducidos en ltima
fila

no

todos 0

Seleccionar columna
pivote u tal que costo
reducido de xj sea
positivo

Trmino:
x* es la solucin
ptima

algn
elemento
ui>0

Seleccionar fila pivote


l como la con menor
xB(i)/ui para ui>0

no

ul

l
x1

xn

x n +1

xn+m

xB

xB(1)
B 1 A

B 1

B 1b

x B ( n)
z

Trmino:
problema no acotado

Sumar a cada fila un


mltiplo 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

cBB 1b
44

Volvamos al ejemplo
Inicial
x3
x4

x1
5
4

x2
15
4

x3
1
0

x4
0
1

x5
0
0

XB(i)
480
160

xB(i)/ui
96
40

x5

35

20

1190

34

-z

13

23

[x1,x2,x5]
(12,28)
z*=800

Iteracin 1
x1

x2

x3

x4

x5

XB(i)

xB(i)/ui

F1-5F3

x3

12 1/7

- 1/7

310

25 9/17

F2-4F3

x4

1 5/7

- 4/35

24

14

F3=F3/35

x1

4/7

1/35

34

59 1/2

F4-13F3

-z

15 4/7

- 13/35

-442

Iteracin 3

[x1,x2,x3]
(26,14)
z=$660

Iteracin 2
x1

x2

x3

x4

x5

XB(i)

xB(i)/ui

F1-(85/7)F2

x3

-7 1/12

2/3

140

210

F2=F2/(12/7)

x2

7/12

- 1/15

14

F3-(4/7)F2

x1

- 1/3

1/15

26

F4-(109/7)F2

-z

-9 1/12

2/3

-660

Iteracin 3
x1

x2

x3

x4

x5

XB(i)

F1=F1/(2/3)

x5

1 1/2

-10 5/8

210

F2+(1/15)F1

x2

1/10

- 1/8

28

F3-(1/15)F1

x1

- 1/10

3/8

12

F4-(2/3)*F1

-z

-1

-2

-800

MFGL

390

Iteracin 2

[x3,x4,x5]
( 0, 0)
z=$0

Iteracin 1

[x1,x3,x4]
(34, 0)
z=$442

45

Algunas situaciones - Degeneracin

2
4
4
4

. .

3
2
,

12 $1%
8 $2%
8 $3%
0

x2

3 restricciones
especificando
un punto

x1

x2

x3

x4

x5

xB

x3

12

x4

x5

-z

x1

x2

x3

x4

x5

xB

x3

-1

x1

1/4

1/4

x5

-1

-z

1/2

-1/2

-4

x1

x2

x3

x4

x5

xB

x3

-2

x1

1/2

-1/4

x2

-1

-z

-1/2

-4

0
0

4
x1
(1)

(2)

(3)

MFGL

46

Algunas situaciones Problema no acotado

. .

'
'
,

10
40
0

1
2

40

la 3 iteracin
llega al origen
de un rayo

x2

20
0
0

20

x1

x2

x3

x4

xB

x3

-1

10

x4

-1

40

-z

x1

x2

x3

x4

xB

x1

-1

10

x4

-2

20

-z

-2

-20

x1

x2

x3

x4

xB

x1

-1

30

x2

-2

20

-z

-3

-80

40

-20
-40

x1
(1)

(2)

MFGL

47

Algunas situaciones Mltiples soluciones

. .

4
2
7

14
7
2
,

21
21
0

pendiente F.O.
coincide con la
del segmento

10

x2

1
2

x1

x2

x3

x4

xB

x3

21

x4

21

-z

14

x1

x2

x3

x4

xB

x2

2/7

1/7

x4

45/7

-2/7

15

-z

-2

-42

x1

x2

x3

x4

xB

x2

7/45 -2/45 7/3

x1

-2/45 7/45

-z

0
0

10
x1

(1)

-2

7/3
-42

(2)

MFGL

48

Ejercicio:
x1

x2

x3

x4

xB

x1

-2

-1

X4

-1

-z

-3

-2

-20

x1

x2

x3

x4

xB

x3

-2

x1

-2

-z

-2

-20

x1

x2

x3

x4

xB

x2

-2

x3

-2

-z

-2

-1

-8

x1

x2

x3

x4

xB

x4

-1

x1

-1

-z

-2

-5

a)

b)

c)

d)

MFGL

49

Encontremos una cota superior


max 13x1

+ 23 x2

5x1

+ 15 x2

480

(1)

4x1
35x1

+ 4 x2
+ 20 x2

160
1190

(2)
(3)

s.a.

(0)

x1 , x2 0

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)
13x1 + 23 x2

350x1 + 200 x2 11900

MFGL

50

Encontremos la mejor cota superior


max 13x1

+ 23x2

5x1

+ 15 x2

480

(1)

4x1
35x1

+ 4 x2
+ 20 x2

160
1190

(2)
(3)

s.a.

(0)

x1 , x2 0

Debemos encontrar los factores y1, y2, y3 de la combinacin lineal de las


restricciones, es decir, (1) y1, (2) y2, (3) y3:
(5 y1 + 4y 2 + 35y 3 )x1 + (15 y1 + 4y 2 + 20y 3 )x 2 480y1 + 160y 2 + 1190 y 3

Adems debemos asegurar que dichos coeficientes sean mayores que los de
la F.O.
5 y1 + 4y 2 + 35y 3 13 15 y1 + 4y 2 + 20y 3 23

Para tener la cota ms estricta


min 480y1 + 160 y 2 + 1190y3

Finalmente, garantizamos una combinacin lineal positiva


y1 , y 2 , y 3 0
MFGL

51

Encontremos la mejor cota superior


En definitiva, resolver el problema (DUAL):
)
. .

480*
5*
15*

+160*
+4*
+4*

+1190*+35*+20** , * , *-

13
23
0

entrega cota superior ms estricta para el problema original (PRIMAL):


. .

13
5
4
35

+23
+15
+4
+20
,

MFGL

480
160
1190
0

52

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 asignacin de recursos (Resource
allocation) , y al resolver su DUAL nos indica cunto se estara dispuesto a
pagar por una unidad adicional de recursos (Resource valuation).
Dualidad Dbil: sea x* una solucin primal-factible (max) e y* una solucin
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 maximizacin es un problema de
minimizacin y viceversa (el dual del DUAL es el PRIMAL).
PRIMAL
max

DUAL

cTx

min

s.a. Ax b

y Tb

x0

s.a. AT y c
y0

Problema min

Problema max

Si restriccin es:
>=
<=
=

La variable asociada es:


>= 0
<= 0
s.r.s.

Si la variable es:
>= 0
<= 0
s.r.s.

La restriccin correspondiente es:


<=
>=
=

En general:

MFGL

54

Dualidad

. .

13
5
4
35

+23
+15
+4
+20
,

480
160
1190
0

. .

13
5
4
35

)
. .

480*
5*
15*

+160*
+4*
+4*

+1190*+35*+20** , * , *-

. .

1190*35*20** , * , *-

+ 1
,,

=
=
=

480 *
160 *
1190 *0

13
23
0

dual

dual forma cannica

dual forma estndar


160*
4*
4*

primal forma cannica

primal forma estndar

480*
5*
15*

+23
+15
+4
+20

13
23
0

. .

480*
5*
15*
MFGL

160*
4*
4*

1190*35*20*-

+*0
+*1
* , , *1

= 13
= 23
0
55

Dualidad

. .

. .

13
5
4
35

480*
5*
15*

+23
+15
+4
+20

160*
4*
4*

+ 1
,,

1190*35*20*-

=
=
=

+*0
+*1
* , , *1

480 *
160 *
1190 *0

= 13
= 23
0

Notar la relacin 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
MFGL

56

Dualidad y el ptimo
. .

. .

13
5
4
35

480*
5*
15*

+23
+15
+4
+20

160*
4*
4*

+ 1
,,

1190*35*20*-

=
=
=

+*0
+*1
* , , *1

480 *
160 *
1190 *0

= 13
= 23
0

x1

x2

x3

x4

x5

XB

x1

- 1/10

3/8

12

x2

1/10 - 1/8

28

x5

1 1/2 -10 5/8

210

-z

-800

y1

y2

y3

y1

-1 1/2

y2

10 5/8 - 3/8

-1

-210

-2
y4

y5

1/10 - 1/10

-12

YB
1

1/8

-28

800

Existe una relacin entre costos reducidos de un problema


y los valores de las variables en el otro.

MFGL

57

Dualidad y el ptimo
. .

. .

13
5
4
35

480*
5*
15*

+23
+15
+4
+20

160*
4*
4*

+ 1
,,

1190*35*20*-

=
=
=

+*0
+*1
* , , *1

480 *
160 *
1190 *0

= 13
= 23
0

x1

x2

x3

x4

x5

XB

x1

- 1/10

3/8

12

x2

1/10 - 1/8

28

x5

1 1/2 -10 5/8

210

-z

-800

y1

y2

y3

y1

-1 1/2

y2

10 5/8 - 3/8

-1

-210

-2
y4

y5

1/10 - 1/10

-12

YB
1

1/8

-28

800

y3=0 (variable decisin no bsica) se interpreta como que la FO primal no mejora al


aumentar el lado derecho de la tercera restriccin primal. Es razonable que la variable
de holgura de dicha restriccin x5 no sea nula (variable de holgura bsica) pues dado
que no mejora el valor de la FO no ocupamos toda su capacidad.

MFGL

58

Dualidad y el ptimo
. .

. .

13
5
4
35

480*
5*
15*

+23
+15
+4
+20

160*
4*
4*

+ 1
,,

1190*35*20*-

=
=
=

+*0
+*1
* , , *1

480 *
160 *
1190 *0

= 13
= 23
0

x1

x2

x3

x4

x5

XB

x1

- 1/10

3/8

12

x2

1/10 - 1/8

28

x5

1 1/2 -10 5/8

210

-z

-800

y1

y2

y3

y1

-1 1/2

y2

10 5/8 - 3/8

-1

-210

-2
y4

y5

1/10 - 1/10

-12

YB
1

1/8

-28

800

x1 =12 (variable decisin bsica) se interpreta como que la FO dual mejora en 12[u] al
aumentar el lado derecho de la primera restriccin dual de 13 a 14. Es razonable que la
variable de holgura de dicha restriccin sea nula y4=0 (variable holgura no bsica) pues
dado que mejora el valor de la FO ocupamos toda su capacidad.

MFGL

59

Dualidad y el ptimo
Complementariedad de las holguras: sea x* una solucin primal-factible
(max) e y* una solucin dual-factible (min). Entonces ambas son ptimas si se
cumple simultneamente que:
xn+i yi = 0 i=1,,m (restriccin primal sin holgura o variable dual nula)
xj ym+j = 0 j=1,,n (variable primal nula o restriccin dual sin holgura)

MFGL

60

La dualidad aplicada a PPL nos permite


Realizar interpretaciones econmicas de los PPL, como ya vimos.
Facilitar la resolucin 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 solucin de unos de los
problemas (primal o dual) nos proporciona la solucin del otro.
Certificar optimalidad ya sea por dualidad fuerte o
complementariedad de las holguras.
Generar mtodos , como Dual-Simplex, de utilidad en el anlisis de
post-optimal, entre otras reas.

MFGL

61

Algoritmo Tableau (Dual Simplex)


Tableau asociado a
una matriz B y una
solucin bsica dualfactible (x*0)

Examinar solucin en
ltima columna

no

todos 0

Seleccionar fila pivote


u tal que xB(l) < 0

Trmino:
x* es la solucin
ptima

algn
elemento
ui<0

Seleccionar columna
pivote l como la con
menor |cj|/ui para
ui<0

no

ul

u
x1

xn

x n +1

xn+m

xB

xB(1)
B 1 A

B 1

B 1b

x B ( n)
z

cBB 1b

Trmino:
problema no acotado

Sumar a cada fila un


mltiplo de la fila
pivote tal que el
elemento pivote ul se
transforme en 1 y el
resto de los vi se
transformen en 0
62

En el ejemplo

F1+5F2
F2=-F2/15
F3-480F2

F1=F1/(-8/3)
F2-F1/4
F3+32F1

y4

y1
-5

y2
-4

y3
-35

y4
1

y5
0

YB(i)
-13

y5

-15

-4

-20

-23

-480

-160

-1190

cj/ui

32

40

59 1/2

y1
0
1
0

y2
-2 2/3
4/15
-32
12

y3
-28 1/3
1 1/3
-550
19 7/17

y4
1
0
0

y5
- 1/3
- 1/15
-32
96

YB(i)
-5 1/3
1 1/2
736

y1
0
1
0

y2
1
0
0

y3
10 5/8
-1 1/2
-210

y4
- 3/8
1/10
-12

y5
1/8
- 1/10
-28

YB(i)
2
1
800

y4
y1
z
cj/ui

y2
y1
z

MFGL

63

Sensibilidad
El anlisis de sensibilidad o post-optimal estudia qu sucede con una
solucin ptima ante variaciones de la informacin a partir de la cual
se ha construido el modelo.
Cambios en los parmetros del modelo
En qu medida afecta la solucin?
Existe un rango en que no afecte?

Incluir o eliminar restricciones o variables

MFGL

64

Sensibilidad Perspectiva grfica

. .

13
5
4
35

+23
+15
+4
+20
,

480
160
1190
0

Conocemos su solucin ptima x* y z* del ejemplo:

(12,28)

65

Sensibilidad Perspectiva grfica

. .

13
5
4
35

+23
+15
+4
+20
,

480
160
1190
0

Cambios en c modifican la pendiente de la F.O. lo cual modifica z*, y


puede o no modificar x*.

(12,28)

66

Sensibilidad Perspectiva grfica

. .

13
5
4
35

+23
+15
+4
+20
,

480
160
1190
0

Cambios en b desplazan las restricciones modificando la regin factible,


lo cual podra o no modificar x*, y consecuentemente z*. Algo similar
sucede con cambios en A o al agregar o eliminar una restriccin.

(12,28)

(12,28)

67

Sensibilidad Perspectiva algebraica


Para entender qu sucede con una solucin ptima ante variaciones de
la informacin con la cual se ha construido el modelo, revisamos:

valores de solucin:

z = cTB x B

x B = B 1b

condiciones de factibilidad y optimalidad:

xB 0

c = cT c B B 1N 0

MFGL

68

Ejemplo
Otra fbrica con 3 productos y
distintas recetas y e ingresos por
unidad.

max

60 x1

+ 30 x2

+ 20 x3

s.a.

8 x1

+ 6 x2

+ x3

48

4 x1

+ 2 x2

+ 1.5x3

20

2 x1

+ 1.5x2

+ 0.5x3

x1 , x 2 , x 3 0

El tableau ptimo del problema


indica que conviene producir 2[u] del
primer producto y 8[u] del segundo
producto, lo que proporcionar un
ingreso de $280. Adems, tendremos
un excedente de 24[u] del primer
recurso.

MFGL

x4
x3
x1
-z

x1
0
0
1
0

x2
-2
-2
1,3
-5

x3
0
1
0
0

x4
1
0
0
0

x5 x6 xB
2
-8
24
2
-4
8
-0,5 1,5
2
-10 -10 -280

69

Ejemplo
Tableau ptimo:

x4
x3
x1
-z

x1
0
0
1
0

x2
-2
-2
1,3
-5

x3
0
1
0
0

x4
1
0
0
0

x5 x6 xB
2
-8
24
2
-4
8
-0,5 1,5
2
-10 -10 -280

B-1

Recordar:
x1

xn

x n +1

x n+ m

xB

xB(1)
M

B 1 A

B 1

B 1b

x B(n)
z

c
MFGL

cBB 1b
70

Ejemplo: Variacin coeficiente de variable bsica c1->c1+


max
s.a.

60 x1 + 30 x2
8 x1
+ 6 x2
4 x1
+ 2 x2
2 x1 + 1.5x2
x1 , x 2 , x 3 0

+ 20 x3
+ x3
+ 1.5x3
+ 0.5x3

48
20
8

x4
x3
x1
-z

No altera x* ni factibilidad pues:


Altera z* pues:

x1
0
0
1
0

x2
-2
-2
1,3
-5

x3
0
1
0
0

x4
1
0
0
0

x5 x6 xB
2
-8
24
2
-4
8
-0,5 1,5
2
-10 -10 -280

x B = B 1b

24
z = cTB x B = [0 20 60 + ] 8 = 280 + 2
2

Altera costos reducidos pues:


cN

6 0 0
T
T
= c N c B B 1N = [30 0 0] [0 20 60 + ] B 1 2 1 0
1.5 0 1
= [ 5 1.25 10 + 0.5 10 1.5 ]

Luego, la optimalidad se mantiene ssi:


MFGL

c N 0 4 20
71

Ejemplo: Variacin coeficiente de variable no bsica c2->c2+


max

60 x1

+ 30 x2

+ 20 x3

s.a.

8 x1

+ 6 x2

+ x3

48

4 x1

+ 2 x2

+ 1.5x3

20

2 x1

+ 1.5x2

+ 0.5x3

x4
x3
x1
-z

x1 , x 2 , x 3 0

x1
0
0
1
0

x2
-2
-2
1,3
-5

x3
0
1
0
0

x4
1
0
0
0

x5 x6 xB
2
-8
24
2
-4
8
-0,5 1,5
2
-10 -10 -280

No altera x*, z* ni factibilidad al ser no bsica pues:


z = cTB x B

x B = B 1b

Altera costos reducidos:


T

cN = cN

6
c B B 1N c 2 = (30 + ) [0 20 60] B 1 2 = 5 +
1.5
T

Luego, la optimalidad se mantiene ssi:


MFGL

c2 0 5
72

Ejemplo: Variacin coeficiente de variable no bsica a22->a22+


max

60 x1

+ 30 x2

+ 20 x3

s.a.

8 x1

+ 6 x2

+ x3

48

4 x1

+ 2 x2

+ 1.5x3

20

2 x1

+ 1.5x2

+ 0.5x3

x4
x3
x1
-z

x1 , x 2 , x 3 0

x1
0
0
1
0

x2
-2
-2
1,3
-5

x3
0
1
0
0

x4
1
0
0
0

x5 x6 xB
2
-8
24
2
-4
8
-0,5 1,5
2
-10 -10 -280

No altera x*, z* ni factibilidad al ser no bsica pues:


z = cTB x B

x B = B 1b

Altera costos reducidos:


T

cN = cN

6
T
c B B 1N c 2 = 30 [0 20 60] B 1 2 + = 5 10
1.5

Luego, la optimalidad se mantiene ssi:


MFGL

c 2 0 0.5
73

Ejemplo: Agregar una variable


Siendo x* ptima y agregando xI con su correspondiente AI y cI la
solucin (x*, xI)=(x*, 0) es una solucin bsica factible del problema
modificado.
Si no se cumple optimalidad ser necesario seguir iterando tras agregar
al tableau la columna:
B 1 A I

cI

MFGL

74

Ejemplo: Agregar una variable


Modifiquemos el ejemplo:

max

60 x1

+ 30 x2

+ 20 x3

+ 50 x7

s.a.

8 x1

+ 6 x2

+ x3

+ x7

48

4 x1

+ 2 x2

+ 1.5 x3

+ 2 x7

20

2 x1

+ 1.5 x2

+ 0.5 x3

+ x7

x1 , x2 , x3 0

calculemos la nueva columna del tableau:


1 3
B -1A 7 = B -1 2 = 0
1 0,5

x4
x3
x1
-z

x1
0
0
1
0

x2
-2
-2
1,3
-5

x3
0
1
0
0

x4
1
0
0
0

3
T
c7 = c 7 c B B 1A 7 = 50 [0 20 60] 0 = 20
0,5

x5 x6 xB
2
-8
24
2
-4
8
-0,5 1,5
2
-10 -10 -280

x4
x3
x1
-z
MFGL

x1
0
0
1
0

x2
-2
-2
1,25
-5

x3
0
1
0
0

x4
1
0
0
0

x5
2
2
-0,5
-10

x6
-8
-4
1,5
-10

x7
-3
0
0,5
20

xB
24
8
2
-280
75

Ejemplo: Agregar una restriccin


Si actual ptimo x* cumple, se mantiene como ptimo del problema
modificado.
Si no: introducir variable de holgura asociada a la restriccin, agregar a
tableau fila correspondiente a la restriccin, agregar variable de
holgura a la base y canonizar mediante operaciones fila.
Eventual problema de inicializacin.

MFGL

76

Ejemplo: Agregar una restriccin


Modifiquemos el ejemplo con:

F4-3F3-4F2

3 x1 + 2 x2 + 4 x 3 70

x4
x3
x1
-z

x1
0
0
1
0

x2
-2
-2
1,3
-5

x3
0
1
0
0

x4
1
0
0
0

x4
x3
x1
x7
-z

x1
0
0
1
3
0

x2
-2
-2
1,3
2
-5

x3
0
1
0
4
0

x4
1
0
0
0
0

x5 x6
2
-8
2
-4
-0,5 1,5
0
0
-10 -10

x4
x3
x1
x7
-z

x1
0
0
1
0
0

x2
-2
-2
1,3
6,1
-5

x3
0
1
0
0
0

x4
1
0
0
0
0

x5 x6 x7 xB
2
-8
0
24
2
-4
0
8
-0,5 1,5 0
2
-6,5 11,5 1
32
-10 -10 0 -280

MFGL

x5 x6 xB
2
-8
24
2
-4
8
-0,5 1,5
2
-10 -10 -280
x7 xB
0
24
0
8
0
2
1
70
0 -280

77

Comentarios
Otros aspectos: modificar capacidades, eliminar restriccin o variable.
Ojo con el dual y el dual-simplex.

MFGL

78

EII 405 INVESTIGACIN DE OPERACIONES

Captulo 2 Programacin Lineal


2S2015
MFGL

You might also like