You are on page 1of 69

Optimizacin lineal: Resolucin grfica y el Simplex

Contenidos

Solucin grfica Mtodo Simplex Inicializacin del mtodo Simplex


Mtodo de las dos fases Mtodo de las penalizacin (o de la M mayscula)

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 2

Solucin grfica (i)


Ejemplo:
Un artesano fabrica trenes y camiones de juguete Utilizando tornillos, bloques y ruedas como componentes En la semana prxima dispone de 8000, 6000 y 6300 componentes respectivas Los beneficios por tren y camin son 1.6 euros/unidad y 1.4 euros/unidad

Tornillos Tren Camin 10 20

Bloques 15 10

Ruedas 18 6

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 3

Solucin grfica (ii)


Formulacin matemtica:

Max Z = 1.6 x1 + 1.4 x2 sujeto a : 10 x1 + 20 x2 8000 15 x1 + 10 x2 6000 18 x1 + 6 x2 6300 x1 , x2 0


x1 : Nmero de trenes a fabricar x2 : Nmero de camiones a fabricar
Universidad Pontificia Comillas de Madrid

Maximizacin del beneficio total

Existencias TORNILLOS Existencias BLOQUES Existencias RUEDAS

Se consideran variables reales en primera aproximacin

OPTIMIZACIN LINEAL. 4

Solucin grfica (iii)


Representacin grfica de restricciones
x2 r1: 10x1 + 20x2 <= 8000

TORNILLOS

400

(0, 400)

300

(200, 300) r2: 15x1 + 10x2 <= 6000

BLOQUES
200

Regin factible

(300, 150) r3: 18x1 + 6x2 <= 6300

100

RUEDAS
(350, 0)

x1

(0, 0)

100

200

300

400

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 5

Solucin grfica (iv)


Rectas de isobeneficio:
x2 r1: 10x1 + 20x2 <= 8000 (0, 400)

TORNILLOS

400

SOLUCIN PTIMA
(200, 300) r2: 15x1 + 10x2 <= 6000

300

BLOQUES

200 (300, 150) r3: 18x1 + 6x2 <= 6300 100 Gradiente: (1.6,1.4) Z = 740 (350, 0) (0, 0) 100 200 300 400 Z = 690 Z = 560 = 1.6x1 +1.4x2 Universidad Pontificia Comillas de Madrid Z=0
OPTIMIZACIN LINEAL. 6

RUEDAS

x1

Solucin grfica (v)


Solucin ptima: La solucin ptima es fabricar 200 trenes y 300 camiones Se utilizan todas las existencias de tornillos (8000) Se utilizan todas las existencias de bloques (6000) Se utilizan 5400 ruedas sobrando 900 de las existencias El beneficio resultante es de 740 euros

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 7

Mtodo Simplex (i)


Geometra de la programacin lineal
Poliedro: Regin definida por la interseccin de un conjunto finito de hiperespacios hiperespacios

a
j

ij

x j bi x j bi

a
j

ij

La regin factible de un problema de programacin lineal es un poliedro Vrtice de un poliedro: punto que no se expresa como combinacin lineal convexa de dos puntos distintos de un poliedro

Si existe un nico ptimo en un problema de programacin lineal, ste se encuentra en un VRTICE


OPTIMIZACIN LINEAL. 8

Universidad Pontificia Comillas de Madrid

Mtodo Simplex (ii)


Forma estndar

min max Z = cT x A x = b x0 x
n

Problema del artesano


Max Z = 1.6 x1 + 1.4 x2 + 0 h1 + 0 h2 + 0 h3 sujeto a :
n

; A

mxn

; c

; b

10 x1 + 20 x2 + h1 15 x1 + 10 x2 + 18 x1 + 6 x2 + x1 , x2 , h1 , h2 , h3 0 h2

= 8000 = 6000 h3 = 6300

b 0

cT = ( 1.6, 1.4, 0, 0, 0 ) xT = ( x1 , x2 , h1 , h2 , h3 ) 10 20 1 0 0 A= 15 10 0 1 0 18 6 0 0 1
Universidad Pontificia Comillas de Madrid

8000 b= 6000 6300


OPTIMIZACIN LINEAL. 9

Mtodo Simplex (iii)


Mtodos para transformar a la forma estndar
Restricciones
j

a
Restricciones
j

: Se introduce una variable de defecto u 0


i
ij

x j bi aij x j + ui = bi
j

:
ij

Se introduce una variable de exceso


j

vi 0

x j bi aij x j vi = bi

Variables negativas :

x j 0

x j = y j ; 0 y j +
x j = x+ j xj 0 x 0 x+ j j

Variables libres : Se sustituye por 2 variables

Parmetro bi<0: Multiplicar por -1 la i-sima restriccin

a x
j

ij j

bi (aij ) x j (bi )
j

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 10

Mtodo Simplex (iv)


Tipos de Soluciones
Solucin Factible: Satisface todas las restricciones Pertenece a la regin factible Solucin Infactible: Viola al menos una restriccin No pertenece a la regin factible Solucin Bsica Factible: Es factible Tiene m variables bsicas asociadas a una matriz B no singular de restricciones en A, de rango m, que toman valor<>0 y el resto=0 Solucin ptima : Solucin factible con mejor valor de la f.o.
Nmero de restricciones

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 11

Mtodo Simplex (v)


Descomposicin en componentes BASICAS y NO BASICAS (notacin)

B A = [ B, N ] N c = [ cB , c N ]
T T

mxm

matriz BASE matriz NO BASICA

mx ( n m )

cB c N
T

coeficientes de variables BASICAS coeficientes de variables NO BASICAS vector de variables BASICAS vector de variables NO BASICAS

nm

x = [ xB , x N ]
T

xB xN

nm

El simplex se mueve por soluciones bsicas factibles (vrtices) que van mejorando la f.o., sustituyendo una variable bsica por una no bsica
Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 12

Mtodo Simplex (vi)


Deteccin variables no bsicas para entrar en la base
A x = b B xB + N x N = b
Funcin objetivo

xB = B 1 ( b N xN ) = B 1 b B 1 N xN
Vector de costes reducidos

T T T T 1 z = cB xB + c T x c b c c B N = + N N B N B xN

= B 1b Notacin: b

Los costes reducidos para una solucin factible arbitraria

c j cBT B 1a j = c j cBT y j = c j z j
Notacin:

Vector de costes reducidos

T j = cj z j; y j = B 1a j ; z j = cB yj; c

j indices no basicos
OPTIMIZACIN LINEAL. 13

a j : columna de A correspondiente a la variable x j


Universidad Pontificia Comillas de Madrid

Mtodo Simplex (vii)


Los costes reducidos en la funcin objetivo:
1 cT cT B 1N x = z + (c j z j )x j + z = cT B b B B N N j

= cT Notacin: z B xB

El coste reducido indica el cambio en la f.o. debido a un incremento unitario de una variable no bsica En el ptimo de un problema de minimizacin todos los costes reducidos de las variables no bsicas son 0 (para maximizacin, todos 0) Fuera del mnimo debe existir un coste reducido para una variable no bsica < 0 (para el mximo, debe existir uno >0) Los costes reducidos de las variables bsicas son siempre 0 Si el coste reducido de una variable no bsica en el ptimo es 0 entonces pueden aparecer mltiples ptimos: Para que sean diferentes ptimos, la variable no bsica con coste reducido 0 ha de tomar valor 0 al entrar en la base
Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 14

Mtodo Simplex (viii)


Las soluciones mltiples son combinacin lineal convexa de los distintos vrtices ptimos: Ejemplo con dos soluciones ptimas

(x , x ) (x , x )
1 1 1 2 2 1 2 2

1 2 x1 = x1 + (1 ) x1 0 1 1 2 x x 1 x = + ( ) 2 2 2

Incremento de la variable NO BASICA entrante:


Se incrementa desde cero una variable NO BSICA t hasta que alguna variable BSICA deje de ser positiva y se haga cero

$ Y x = b $y x xB = B 1b B 1 N xN = b N t t
B xB + N x N = b
El resto de no bsicas Permanecen iguales a cero
1 Notacin: Y = B N

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 15

Mtodo Simplex (ix) y x (x ) = b


B i i it t

Si Si

yit > 0

( xB )i Disminuye cuando xt se incrementa hasta ( xB )i


(hasta que se anula) Aumenta o permanece

yit 0
yit 0

b i yit

Si todas las

el problema resulta no acotado z = z + (ct zt )xt

Mximo incremento de variable NO BASICA entrante:


La variable NO BSICA elegida como variable BSICA ENTRANTE se incrementa hasta que la primera variable BSICA se anula

La variable BSICA SALIENTE es la que primero se anula

b i x t = min : yit > 0 1i m yit


Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 16

Mtodo Simplex (x)


PASOS del mtodo SIMPLEX (i)

c Inicializacin: Formulacin del problema en forma estndar.


0 xB = B 1 b = b

Se encuentra una solucin bsica factible inicial, es decir, B tal que:

d Prueba de optimalidad: Se calculan los costes reducidos


N T = cN T cBT B 1 N c
Si en minimizacin todos los costes reducidos son 0 (en maximizacin 0) entonces la base es ptima Si en minimizacin existe algn coste reducido <0 (en maximizacin >0) se selecciona var. bsica entrante xt aquella cuyo coste reducido negativo (positivo en maximizacin) tenga mayor valor absoluto
Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 17

Mtodo Simplex (xi)


PASOS del mtodo SIMPLEX (ii)

e Iteracin

yt = B 1 at

: columna pivote de

xt xs

b b s i = min : yit > 0 : variable bsica saliente yst 1i m yit


Si todas las

yit 0

el problema resulta no acotado

f Pivotamiento
Actualizacin de la matriz B Actualizacin del vector de variables bsicas Volver al paso d
1

xB
OPTIMIZACIN LINEAL. 18

Universidad Pontificia Comillas de Madrid

Mtodo Simplex (xii)


Forma tabular:
Se expresa el problema de optimizacin en una tabla con la siguiente estructura:
Var.bsicas

xN cNT N

xB

Valores Funcin objetivo

cBT B b

xB

Restricciones

Tabla inicial del simplex:


Se resta de la funcin objetivo las restricciones multiplicadas por cBT B-1 Se multiplican las restricciones por B-1
Var.bsicas Dividir valores por Y=B-1N para determinar variable saliente xB Valores Costes 0 reducidos

xN cNT-cBTB-1N xB B-1 N

B-1 b

Valores solucin0

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 19

Mtodo Simplex (xiii)


Eliminacin gaussiana:
Sirve para actualizar la tabla (por tanto B-1) de una a otra iteracin

Se pone un 1 en el elemento pivote y un 0 en el resto de la columna


Dividir la fila pivote por el elemento pivote yst Restar a cada una de las dems filas (incluida la f.o.) la nueva fila pivote multiplicada por el elemento de la fila y la columna pivote

Iteracin 1 (problema artesano)


x1 1.6 h1 Variable bsica saliente h2 h3 10 15 18 x2 1.4 20 10 6 h1 0 1 0 0 h2 0 0 1 0 h3 0 0 0 1 8000 6000 6300 Vals.
Divisin

+1.6 8000/10 -10 6000/15 -15 6300/18 /18

Variable bsica entrante


Universidad Pontificia Comillas de Madrid

El elemento pivote resulta

y31

OPTIMIZACIN LINEAL. 20

Mtodo Simplex (xiv)


Iteracin 2
Tiene que aparecer la matriz identidad en las variables bsicas Los costes reducidos de las variables bsicas tienen que ser 0 El lado derecho de la tabla tiene que seguir siendo 0 x1 0 Variable bsica saliente h1 h2 x1 0 0 1 x2 ) 0.86 ) 16.6 5 1/3 h1 0 1 0 0 h2 0 0 1 0 h3 ) 0.08 ) 0.5 -5/6 1/18 Vals. 4500 750 350
Relacin
) 0.86 ) 4500 ) = 270 16.6
16.6

150 1050

/5 -1/3

Variable bsica entrante

El elemento pivote resulta y22

f.o.: 560
(0,0) (350,0)
OPTIMIZACIN LINEAL. 21

Universidad Pontificia Comillas de Madrid

Mtodo Simplex (xv)


Iteracin 3
x1 Variable bsica saliente 0 h1 x2 x1 0 0 1 x2 0 0 1 0 h1 0 1 0 0 h3 ) ) 0.173 0.05
) 3.3
) 2.2

h2

Vals. 2000 150 300

Relacin
) 0.05

900 nulo 2700

) / 2.2
+1/6 -1/9

1/5 -1/15

-1/6 1/9

Variable bsica entrante

f.o.: 690
(300,150) (0,0) (350,0)

El elemento pivote resulta y12

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 22

Mtodo Simplex (xvi)


Iteracin 4
x1 0 h3 x2 x1 0 0 1 x2 0 0 1 0 h1 -0.025 0.45 0.075 -0.05 h2 -0.09 -1.5 -0.05 0.1 h3 0 1 0 0 900 300 200 Vals.

Todos los costes reducidos son negativos o nulos por lo que el ptimo ha sido alcanzado Solucin ptima: (200, 300) Funcin objetivo: 740

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 23

Inicializacin Mtodo Simplex (i)


Tabla inicial del simplex: No siempre es posible encontrar la identidad en A con b 0 Mtodos para encontrar solucin bsica factible inicial
Basados en la incorporacin de variables artificiales En las restricciones se introducen las variables de defecto hi En las restricciones se introducen variables de exceso ei y tambin variables artificiales ai (las de exceso tienen coeficiente -1) En las restricciones = se introducen directamente variables artificiales

a
j

ij

x j bi aij x j + hi = bi
j

a
j

ij

x j bi aij x j ei + ai = bi
j

a
j

ij

x j = bi aij x j + ai = bi
j
OPTIMIZACIN LINEAL. 24

Universidad Pontificia Comillas de Madrid

Inicializacin Mtodo Simplex (ii)


Solucin bsica factible inicial (cont.)
Las variables artificiales y las variables de holgura de defecto (en restricciones ) constituyen la base inicial del Simplex

Las soluciones con variables artificiales positivas no son factibles, pues estas variables realmente no existen Los mtodos de las dos fases y de penalizacin tratan de eliminar las variables artificiales, y encontrar la solucin ptima Si no se pueden eliminar las variables artificiales problema INFACTIBLE

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 25

Inicializacin Mtodo Simplex (iii)


Mtodos de anulacin de variables artificiales
Mtodo de las dos fases - La fase I tiene por f.o. la suma de las variables artificiales - Si la fase I acaba con la f.o. nula, el problema es factible y se obtiene una solucin bsica factible - La fase II restablece la f.o. original y parte de la solucin bsica factible del final de la fase I (que es la solucin bsica factible inicial) Mtodo de la M mayscula - Introduce variables artificiales en la f.o. penalizadas (en minimizacin) con un coeficiente elevado M (en maximizacin M)

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 26

Inicializacin Mtodo Simplex (iv)


Ejemplo del mtodo de las dos fases
En el ejemplo del artesano se introduce la restriccin de que el nmero total de juguetes fabricados debe ser al menos de 400
x2

r1: 10x1 + 20x2 <= 8000 TORNILLOS 400 (0, 400) r4: x1 + x2 >= 400

300

Re

PRODUCCIN MNIMA
r2: 15x1 + 10x2 <= 6000 BLOQUES r3: 18x1 + 6x2 <= 6300 RUEDAS

200

gi (200, 300) fa n ct ib le
(300, 150)

Solucin inicial NO VLIDA

100

(325, 75) (350, 0) x1


OPTIMIZACIN LINEAL. 27

(0, 0)

100

200

300

400

Universidad Pontificia Comillas de Madrid

Inicializacin Mtodo Simplex (v)


Ejemplo del artesano (cont.i)
Min a1 sujeto a : 10 x1 + 20 x2 + h1 15 x1 + 10 x2 + 18 x1 + 6 x2 + x1 + x2
Fase I (iteracin 0)
Var. bsicas h1 h2 h3 a1 x1 0 10 15 18 1 x2 0 20 10 6 1 h1 0 1 0 0 0 h2 0 0 1 0 0

= 8000 h2 h3 = 6000 = 6300 e1 + a1 = 400


No es una tabla inicial del simplex: Debera ser 0!!!. El primer paso de la Fase I siempre es hacerlo 0

x1 , x2 , h1 , h2 , h3 , e1 , a1 0
h3 0 0 0 1 0 e1 0 0 0 0 -1 a1 1 0 0 0 1

Vals

8000 6000 6300 400


OPTIMIZACIN LINEAL. 28

-1

Universidad Pontificia Comillas de Madrid

Inicializacin Mtodo Simplex (vi)


iteracin Var. 1 bsicas
h1 h2 h3 a1 x1 -1 10 15 18 1 x1 0 h1 h2 x1 a1 0 0 1 0 x2 -1 20 10 6 1 x2 -2/3 50/3 5 1/3 2/3 h1 0 1 0 0 0 h1 0 1 0 0 0 h2 0 0 1 0 0 h2 0 0 1 0 0 h3 0 0 0 1 0 h3 1/18 -5/9 -15/18 1/18 -1/18 e1 1 0 0 0 -1 e1 1 0 0 0 -1 a1 0 0 0 0 1 a1 0 0 0 0 1 4500 750 350 50 270 150 1050 75 8000 6000 6300 400 Vals 800 400 350 400
Relacin

Vals

Relacin

iteracin 2

Var. bsicas

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 29

Inicializacin Mtodo Simplex (vii)


Var. iteracin bsicas 3 (ptima fase I) h1 h2 x1 x2 Var. bsicas h1 h2 x1 x2 x1 0 0 0 1 0 x1 1.6 0 0 1 0 x2 0 0 0 0 1 x2 1.4 0 0 0 1 h1 0 1 0 0 0 h1 0 1 0 0 0 h2 0 0 1 0 0 h2 0 0 1 0 0 h3 0 e1 0 25 7.5 1/2 -3/2 e1 0 25 7.5 1/2 -3/2 a1 1 -25 -7.5 -1/2 3/2 a1 0 -25 -7.5 -1/2 3/2 3250 375 325 75 +1.6 +1.4 3250 375 325 75 Vals Vals

) 0.83
-15/36 1/12 -1/12 h3 0

Fase II iteracin 1
No es una tabla inicial del simplex: Debera ser 0!!!. El primer paso de la Fase II siempre es hacerlo 0

) 0.83 -15/36
1/12 -1/12

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 30

Inicializacin Mtodo Simplex (viii)


Fase II iteracin 2
Var. bsicas h1 h2 x1 x2 x1 0 0 0 1 0 x1 0 h1 e1 x1 x2 0 0 1 0 x2 0 0 0 0 1 x2 0 0 0 0 1 h1 0 1 0 0 0 h1 0 1 0 0 0 h2 0 0 1 0 0 h2 h3 e1 a1 -1.3 -25 -7.5 -1/2 3/2 a1 0 0 -1 0 0 2000 50 300 150 2700 900 3250 375 325 75 Vals Relacin 130 50 650 Vals Relacin

) 0.016 1.3 ) 0.83 25


-15/36 1/12 -1/12 h3 7.5 1/2 -3/2 e1 0 0 1 0 0

iteracin 3

Var. bsicas

) ) 0.173 0.05 ) ) 2.2 3.3 2/15 -1/18


-1/15 1/5 1/9 -1/6

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 31

Inicializacin Mtodo Simplex (ix)


Fase II iteracin 4
Var. bsicas h3 e1 x1 x2 x1 0 0 0 1 0 x2 0 0 0 0 1 h1 h2 h3 0 1 0 0 0 e1 0 0 1 0 0 a1 0 0 -1 0 0 900 100 200 300 Vals

-0.025 -0.09 0.45 0.025 -0.05 0.075 -3/2 0.05 0.1 -0.05

(200,300) FASE II (300,150) FASE II (325,75) FASE I (0,0) FASE I


Universidad Pontificia Comillas de Madrid

(1050,0) FASE I
OPTIMIZACIN LINEAL. 32

Inicializacin Mtodo Simplex (x)


Ejemplo del mtodo de las penalizaciones
Min x1 2 x2 sujeto a : x1 + x2 2 x1 + x2 1 x2 3 x1 , x2 0
Var. bsicas A1 A2 H3 x1 1 1 -1 0 x2 -2 1 1 1 h1 0 -1 0 0 h2 0 0 -1 0

Min x1 2 x2 + M a1 + M a2 sujeto a : x1 + x2 h1 x1 + x2 x2 h2 + h3 + a1 =2 + a2 = 1 =3

0 es una tabla x1 , x2 , h1 , h2 , h3 , a1 , a2 No
h3 0 0 0 1 a1 M 1 0 0 a2 M 0 1 0 2 1 3
OPTIMIZACIN LINEAL. 33

inicial del simplex: Debera ser 0!!!. El primer paso siempre Vals es hacerlo 0

Universidad Pontificia Comillas de Madrid

Inicializacin Mtodo Simplex (xi)


iteracin 1
Var. bsicas A1 A2 H3 Var. iteracin bsicas 2 A1 x2 H3 x1 1 1 -1 0 x1 -1-2M 2 -1 1 x2 -2-2M 1 1 1 x2 0 0 1 0 h1 M -1 0 0 h1 M -1 0 0 h2 M 0 -1 0 h2 -2-M 1 -1 1 h3 0 0 0 1 h3 0 0 0 1 a1 0 1 0 0 a1 0 1 0 0 a2 0 0 1 0 a2 2+2M -1 1 -1 1 1 2 2 1 3 Vals Vals

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 34

Inicializacin Mtodo Simplex (xii)


iteracin 3
Var. bsicas X1 x2 H3 Var. iteracin 4 bsicas H2 x2 H3 x1 0 1 0 0 x1 3 2 1 -1 x2 0 0 1 0 x2 0 0 1 0 h1 -1/2 -1/2 -1/2 1/2 h1 -2 -1 -1 1 h2 -3/2 1/2 -1/2 1/2 h2 0 1 0 0 h3 0 0 0 1 h3 0 0 0 1 a1 a2 Vals

+M 3/2+M -1/2 a1 2+2M 1 1 -1 -1/2 -1/2 a2 M -1 0 0 1 2 1 3/2 3/2 Vals

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 35

Inicializacin Mtodo Simplex (xiii)


Var. iteracin bsicas 5 (solucin ptima) H2 x2 H1 x1 1 1 0 -1 x2 0 0 1 0 h1 0 0 0 1 h2 0 1 0 0 h3 2 1 1 1 a1 M 0 0 -1 a2 M -1 0 0 2 3 1 Vals

(0,3) (0,2) (0,1) (0,0)


Universidad Pontificia Comillas de Madrid

(2,3)

(1/2,3/2)

OPTIMIZACIN LINEAL. 36

Inicializacin Mtodo Simplex (xiv)


Algoritmo mtodo dos Fases: FASE I: Resolver Simplex con f.o. 1Txa a) Si 1Txa> 0, (P) no es factible b) 1Txa= 0, (P) es factible y solucin bsica factible inicial b.1) No variables artificiales en la base pasar a la fase II. b.2.) Variables artificiales en la base (valor 0) eliminarlas (entra en la base una variable legtima no bsica pivoteando en fila de la variable artificial a eliminar; si no hay pivote, fila redundante, eliminarla) y pasar a la fase II.
Var. bsicas x1 3 -2 1 x2 0 0 1 a1 0 1 0 a2 1 -1 -2 0 2 Vals

pivote
a1 x2

FASE II: Retomar f.o. y resolver Simplex


Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 37

Inicializacin Mtodo Simplex (xv)


Algoritmo penalizaciones (de la M mayscula): Resolver Simplex con f.o. Penalizando xa con M (min) o M (max) a) Si (P) con solucin ptima (x,xa) a.1) xa=0 (P) tiene solucin ptima y es x. a.2.) xa>0 (P) no tiene solucin factible. b) Si (P) con solucin no acotada b.1) xa=0 (P) tambin tiene solucin no acotada. b.2.) xa>0 (P) no factible no acotado.

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 38

Resumen: Mtodo Simplex (xvi)


Resumen identificacin de posibles terminaciones:
maximizacin negativos (0). Si hay alguno cero, posibles mltiples ptimos. Incorporar en la base la variable no bsica que tiene coste reducido 0.

Optimalidad: En minimizacin costes reducidos positivos (0). En

Infactibilidad: Slo cuando haya sido necesario variables artificiales:


Si 2 fases y en la fase 1 hay al menos una variable artificial con valor >0. En fase I solamente puede haber optimalidad (no acotamiento, ni infactibilidad). Si Penalizaciones y hay una variable artificial con valor >0.

los elementos de su columna son 0. A esta condicin habra que aadir que las variables artificiales sean =0 con penalizaciones.

No acotamiento. Si al menos un coste reducido es negativo y cada uno de

problema penalizado no sea acotado y al menos una variable artificial sea >0.
OPTIMIZACIN LINEAL. 39

Caso dudoso: Infactibilidad o no acotamiento. Si Penalizaciones, el

Universidad Pontificia Comillas de Madrid

Optimizacin lineal: Dualidad y el Simplex Dual

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 40

Contenidos

Definicin del problema dual Propiedades de dualidad Interpretacin econmica Algoritmo Simplex Dual Relaciones entre el Simplex Primal y el Dual

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 41

Definicin del problema dual (i)


Todo problema LP (primal) tiene asociado otro problema LP (dual) Si primal es de maximizacin, n variables y m restricciones

dual es de minimizacin, m variables y n restricciones


Min Variable 0 0 no restringida Restriccin = Max

Restriccin

= Variable 0 0 no restringida

Teorema: El dual del problema dual es el problema primal


Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 42

Definicin del problema dual (ii)

Primal (m n )
max z = c j x j
xj j =1 n

Dual

(n m )
m

min u = biwi
wi i =1

a x
j =1 ij

bi i = 1, , m

a w
ij i =1

c j j = 1, , n

x j 0 j = 1, , n

wi 0 i = 1, , m

max z = cT x
x

min u = bT w
w

Ax b x 0

AT w c w 0

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 43

Definicin del problema dual (iii)


Primal
x1 2x2 x1, x2

(m n )
4 12

Dual
w1 2w 2 w 1, w2,

(n m )

max z = 3x1 + 5x2

min u = 4w1 + 12w 2 + 18w 3 +3w 3 3 +2w 3 5 w 3, 0

3x1 +2x2 18 0
x 1 5 x 2

max z = 3 1 3 x 1 x 2

m in u = 4 1 2 3 2

12

1 8

4 x 1 2 x 12 2 18 2 0 0

w 1 w 2 w 3

w 1 w 3 2 5 w 3

0 w 1 w 0 2 w 0 3
OPTIMIZACIN LINEAL. 44

Universidad Pontificia Comillas de Madrid

Propiedades de Dualidad (i)


Propiedad dbil de la dualidad
x solucin factible del primal w solucin factible dual

wTb cT x

Propiedad fuerte de la dualidad


x* solucin ptima del primal w*solucin ptima dual

cT x * = w *Tb

Teorema de dualidad
nicas relaciones posibles entre primal y dual:
Ambos tienen soluciones ptimas factibles Un problema es no acotado, y el otro problema es no factible Si un problema es no factible, el otro es no factible o no acotado

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 45

Propiedades de Dualidad (ii)


Lema La matriz B-1 son las columnas Y de la ltima tabla del simplex para
las variables xB0 que inicialmente formaban la matriz identidad (para variables de exceso en xB0 cambiando el signo a Y) Var.bsicas

xN cNT-cBTB-1N B-1 N

xB0 -cBTB-1 B-1

xB 0 I

Valores

xB

B-1 b

Propiedad de solucin ptima complementaria


a)La solucin dual complementaria es w=cTBB-1, que son los costes reducidos de la ltima tabla del simplex para las variables xB0 cambiados de signo (para variables de exceso en xB0 sin cambio de signo) b) x cumple ptimalidad para el primal s y solo s w factible para el dual. Nota: Por tanto, para B-1 o w=cTBB-1, si xB0 contiene artificiales, conviene no eliminarlas en la fase II. Si penalizaciones, calcular directamente w=cTBB-1.
Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 46

Propiedades de Dualidad (iii)


Propiedad de la complementariedad de holguras
Si restriccin primal no activa (con holgura) variable dual asociada a la restriccin vale 0
Variable dual

wi* (a i x * bi ) = 0
Restriccin primal

Si una variable del primal en el ptimo tiene valor > 0 la restriccin asociada del dual en el ptimo est activa (no tiene holgura)
Variable primal
T *T * c w a x (j j) j = 0

Restriccin dual
Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 47

Interpretacin econmica
Interpretacin econmica de las variables duales (solo caso maximizacin con restricciones ):
En el ptimo:

Max c j x j* = Min biwi*


j i

w*i: variacin en la funcin objetivo por tener una unidad ms de bi Valor marginal del recurso: precio sombra o precio justo (cantidad mxima a pagar por una unidad ms de recurso) Si hay holgura de un recurso su precio marginal es cero, no se est dispuesto a pagar por una unidad ms Si hay holgura h*i>0 en una restriccin primal w*i=0

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 48

Algoritmo Simplex-Dual (i)


Mtodo Simplex dual:
Cundo usarlo?
Si es fcil obtener una solucin inicial bsica no factible pero cumple criterio optimalidad (alguna variable bsica<0 y costes reducidos0 en minimizacin) Si tras una modificacin se pierde factibilidad de la solucin ptima (anlisis sensibilidad, ver ms adelante) Alternativa al Simplex para resolver un problema (no necesariamente el dual)

Idea bsica:
se mueve por soluciones no factibles para el primal se mueve por soluciones factibles para el dual (la complementaria), es decir, se cumple criterio primal de optimalidad Al lograr factibilidad primal ptima primal.

Idea geomtrica:
opera fuera de la regin factible, y en la zona mejor que el ptimo. entra en la regin slo cuando alcanza el ptimo.
Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 49

Algoritmo Simplex-Dual (ii)


1. Inicializacin
Solucin bsica inicial dual factible: cumple criterio optimalidad primal (costes reduc. 0 en min) Si factible (todas las variables bsicas0) ptima, parar. Si no, iterar en 2.

2. Iteracin
Variable bsica saliente xr: aquella con menor valor < 0 Variable bsica entrante xs criterio de entrada: razn mnima, mantener factibilidad dual cj z j cs z s max) : yrj < 0 = Min (tanto para min como para max) yrs yrj

Si no hay yrj<0: problema no factible (porque dual no acotado), parar. Pivoteamiento. Ir al punto 2 del paso 1.
OPTIMIZACIN LINEAL. 50

Universidad Pontificia Comillas de Madrid

Ejemplo Algoritmo Simplex-Dual (i)


min 4x 1 + x 2 3x 1 + x 2 3 4x 1 + 3x 2 6 x 1 + 2x 2 4 x 1, x 2 0
Var. bsicas Relacin cj-zj/yrj h3 h4 h5 Var. bsicas Relacin cj-zj/yrj h3 x2 x1 -1 4 -3 -4 -1 x1 -8/5 8/3 -5/3 4/3 0 0 1 0 0 1 0 0 x2 -1/3 1 -1 -3 -2 x2 h3 0 1 0 0 h3 h4 0 0 1 0 h4 -1 1/3 -1/3 -1/3 -2/3 0 0 0 1 -1 2
OPTIMIZACIN LINEAL. 51

min 4x 1 + x 2 3x 1 x 2 + h3 4x 1 3x 2 x 1 2x 2 + h4 = 3 = 6 + h5 = 4 x 1, x 2 , h3 , h4 , h5 0

dual factible
0 0 0 1 h5

h5

Vals

primal infactible
-3 -6 -4 Vals

h5 5/3 Universidad Pontificia Comillas de Madrid

Ejemplo Algoritmo Simplex-Dual (ii)


Costes reducidos variables que formaban inicialmente la base se deduce la solucin dual
Var. bsicas h4 x2 h5 x1 1 5 3 5 x2 0 0 1 0 h3 1 -3 -1 -2 h4 0 1 0 0 h5 0 0 0 1 3 3 2 Vals

Solucin ptima del primal:


(x 1, x 2 , h3 , h4 , h5 ) = (0, 3, 0, 3, 2)

Solucin ptima del dual:


(y1, y 2 , y 3 ) = (1, 0, 0)

Ambas funciones objetivo:


z =3
Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 52

Aclaraciones y resumen: Mtodo Simplex-Dual


En el mtodo dual simplex no deben incorporarse variables artificiales se aplica cuando las restricciones se pongan a . Adems, los costes reducidos de la primera tabla deben estar en condiciones de optimalidad (0 en min, 0 en max). En el mtodo se pivotea como en el simplex (o simplex-primal). Es un mtodo alternativo al simplex para resolver un modelo lineal (no confundir con un mtodo para resolver problemas duales).

Resumen identificacin de posibles terminaciones:


deben ser 0.

Optimalidad: Todos los componentes del lado derecho de la ltima tabla

Infactibilidad: Si al menos un componente del lado derecho es <0 y todos los componentes de su fila son 0. No acotamiento. Bajo las condiciones en las que se puede aplicar el dual-simplex, el problema nunca puede ser no acotado.
OPTIMIZACIN LINEAL. 53

Universidad Pontificia Comillas de Madrid

Relaciones Simplex Primal y el Dual

Mtodo Simplex Primal

Mtodo Simplex Dual

Maneja soluciones bsicas factibles y se Maneja soluciones que satisfacen la mueve hacia la solucin ptima (trata de condicin de optimalidad primal (fact. dual) satisfacer la condicin de optimalidad) y se mueve hacia la solucin ptima tratando de conseguir factibilidad primal (opt. dual) Columna derecha >= 0 En minimizacin fila costes reducidos >= 0 En minimizacin fila costes reducidos < 0 Columna derecha < 0 (excepto en el (excepto en el ptimo) ptimo)

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 54

Optimizacin lineal: Sensibilidad y Programacin paramtrica

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 55

Contenidos
Anlisis sensibilidad
Procedimiento genrico En cotas de las restricciones En coeficientes variables no bsicas Incorporacin de variables En costes y resto de coeficientes variables bsicas Introduccin de restricciones

Programacin paramtrica

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 56

Anlisis de sensibilidad: procedimiento genrico (i)


Anlisis de sensibilidad o postoptimizacin: efectos en solucin ptima por cambios en problema, partiendo del ptimo previo Procedimiento genrico anlisis de sensibilidad: 1.Introducir cambios en bloques correspondientes de tabla del Simplex 2.Preparacin tabla para adecuarla a iteracin del Simplex (en variables bsicas columna de un 1 en su fila y 0 resto)
Var.bsicas

xN cNT-cBTB-1N B-1 N

xB 0 I

Sol.

xB

B-1 b

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 57

Anlisis de sensibilidad: procedimiento genrico (ii)


Procedimiento genrico anlisis de sensibilidad (cont): 3. Prueba de factibilidad (variables bsicas no negativas) 4. Prueba de optimalidad (en min costes reducidos no negativos) 5. Nueva iteracin:
del mtodo Simplex (si se cumple 3 y no 4) del mtodo Dual (si se cumple 4 y no 3) introduccin variables artificiales para que cumpla 3 y Simplex

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 58

Cambios en cotas de restricciones (i)


Cambios en vector de requerimientos b
Afectan a: valores de las variables bsicas. Se puede perder factibilidad: mtodo Simplex dual. Geomtricamente: desplazamientos paralelos restricciones
Se mueve la regin factible, el ptimo previo puede quedar: a) dentro de la regin factible sigue siendo ptimo b) fuera de la regin factible (algoritmo dual para volver a ella)

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 59

Cambios en cotas de restricciones (ii)


Ejemplo:
min z =3x1 5x2 x1 2x2 3x1 +2x2 x1, x2, x3, x4, +x3 +x4 x5, =4 = 12 +x5 = 18 0

Var. Bsicas

x1 x2 x3

x4 3/2

x5 1

Vals

B-1
x3 x2 x1 1 1 1

1/3 -1/3 1/2 -1/3 1/3

2 6 2

4 b = 12 18

1 1/ 3 1/ 3 4 1 1/ 3 1/ 3 4 6 ; x ' = b ' = B 1b ' = 0 1/ 2 B 1 = 0 1/ 2 ' 0 0 24 = 12 b = 24 ; B 18 0 1/ 3 1/ 3 0 1/ 3 1/ 3 18 2

Infactible, usar dual (costes reducidos no cambian)


Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 60

Cambios en coeficientes variables no bsicas (i)


Cambio en un coeficiente de una variable no bsica
En la tabla afectan a: la columna de la propia variable. 'T 'T 1 ' Costes reducidos: c N = cN cT BB N Restricciones: B 1N ' Se puede perder optimalidad: mtodo Simplex. Recalcular costes reducidos: 'T 'T 'T N = cN cB B 1N ' 0 (min) sigue ptima. a) Si c b) Si no, variable bsica entrante y mtodo Simplex. Cambio en coeficientes de la funcin objetivo: Geomtricamente: cambio direccin optimizacin ptimo actual puede dejar de serlo iterar, nuevo ptimo.

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 61

Cambios en coeficientes variables no bsicas (ii)


Ejemplo:
Var. Bsicas x1 x2 x3 0 x1 x5 1 0 3 1 3 1 1 1 x4 2 1 1 x5 0 0 1 6 10 Vals
min z =2x1 + x2 x3 x1 x1, +x2 x2, +x3 +x4 x3, x4, x5 =6 +x5 = 4 0 x1 +2x2

' ' a) c2=1 se reemplaza por -3 c2 z2 = (c2 c2 ) +(c2 z2 ) =4 + 3 =1 < 0

x2 entra en la base y se aplica el Simplex b) a2 se cambia de (1,2) a (2,5)


1 0 2 2 y = B a = = 5 1 1 7
' 2 1 ' 2 ' 2 1 ' 2

La tabla sigue siendo ptima: reemplazar columna de x2 por (5,2,7)T

2 c2 z = c2 cBB a = 1 (2,0) =50 7


Universidad Pontificia Comillas de Madrid
OPTIMIZACIN LINEAL. 62

Introduccin variables
Introduccin de una nueva variable x n +1
Calcular su coste reducido. 1. Si < 0 interesa, introducir en la base: Calcular B 1an +1 , aadir toda la columna. Iterar Simplex. 2. Si 0, no interesa. Sigue ptima. 9 Ejemplo anterior: Se introduce x6 con c6=1 y a6=(-1,2)T
1 0 1 1 = y6 = B a6 = 1 1 2 1
1

1 =1 < 0 c6 z6 = c6 c y6 = 1 (2,0) 1
T B

Se introduce x6 en la base y se aplica el Simplex

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 63

Cambios costes bsicos


Cambio en coeficiente de una variable bsica en la funcin objetivo
Afecta a: Todos los costes reducidos de no bsicas Actualizar todos los costes reducidos variables no bsicas
Si 0, solucin actual ptima Si < 0, no es ptima, iterar mtodo Simplex .

9 Ejemplo anterior: Se cambia c1=-2 por 0


Var. Bsicas x3 entra en la base y sale x1 x1 x5 x1 x2 x3 0 1 0 1 1 3 -1 1 x4 0 1 1 x5 0 0 1 6 10 Vals

pivote

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 64

Cambios resto coeficientes variables bsicas (i)


Cambio en un coeficiente de una variable bsica
Afecta a: toda la tabla del Simplex (cambia B-1) Calcular yj=B-1aj siendo aj la nueva columna variable bsica:
Si yjj=0 prdida de base: v. artificial que la sustituya en la base, y Simplex-Dos fases Penalizacin En otro caso pivotear en yjj. Durante el pivoteo puede perderse factibilidad: 1. Prdida de factibilidad primal: mtodo Dual 2. Prdida de optimalidad (de factibilidad dual): mtodo Simplex 3. Prdida ambas: v. artificiales recuperar factibilidad y Simplex

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 65

Cambios resto coeficientes variables bsicas (ii)


9 Ejemplo anterior: a1 se cambia de (1,-1) a a1=(0,-1)
1 y =B a = 1
' 1 1 ' 1

0 =y11 las columnas bsicas 0 0 = actuales no son una base 1 1 1


Mismos costes reducidos para el resto de variables

' ' c1 z1 = c1 cT B y1 = 2

Var. Bsicas

x1 x2 x3 -2 3 1 3 1 1 1

x4 2 1 1

x5 0 0 1

x6 M 1 0

Vals
Aplicamos mtodo de 6 penalizaciones

x6 artificial sustituye a x1 en la base, con su mismo valor

x6 x5

0 -1

10

Hacer c6-z6=0 pivoteando y proceder mtodo de penalizaciones

Universidad Pontificia Comillas de Madrid

OPTIMIZACIN LINEAL. 66

Incorporacin de una restriccin


Introduccin de nueva restriccin
1. Comprobar si la solucin ptima la satisface. Si lo hace, ptima. 2. Si no, aadir a tabla (v. bsica asociada=variable holgura y/o artificial)
Mtodo Dual si aadida holgura y al adaptar la tabla valor variable bsica<0 Mtodo simplex 2 fases o penalizacin si aadidas artificiales

9 Ejemplo anterior: Se aade la restriccin x1+2x3 2


El punto ptimo no satisface la restriccinincorporar holgura x6 Var. Bsicas Hacer 0 y aplicar dual Simplex x1 x5 x6
Universidad Pontificia Comillas de Madrid

x1 x2 x3 0 1 0 1 3 1 3 0 1 1 1 -2

x4 2 1 1 0

x5 0 0 1 0

Construir x6 Vals identidad y aplicar 0 Dual Simplex por infactibilidad 0 6 0 1 10 -2

OPTIMIZACIN LINEAL. 67

Programacin paramtrica (i)


Cambios continuos en parmetros
Cambios simultneos coeficientes funcin objetivo
c j c j + j 0
f
1 M = direccin de parametrizacin n

Slo cambia la direccin de optimizacin Problema: Determinar zonas espacio paramtrico con un valor ptimo cada una (diferente valor objetivo) 1. 2. 3. 4. Hacer *=0 Resolver con =*, siendo la solucin x(*) Calcular costes reducidos con cj()=cj+j * Obtener *** tal que x(*) sigue siendo solucin ptima en [*,** ] pero un coste reducido=0: variable no bsica entrante. 5. Hacer *=** e ir al paso 2 incorporando en la base la variable no bsica anterior (aplicar primal simplex).
OPTIMIZACIN LINEAL. 68

Universidad Pontificia Comillas de Madrid

Programacin paramtrica (ii)


Cambios simultneos en cotas de las restricciones
1 M b = m

bi bi + i

direccin de parametrizacin

Cambia regin factible: zonas espacio paramtrico con una base ptima Son equivalentes a cambios en coeficientes de funcin objetivo del dual 1. 2. 3. 4. Hacer *=0 Resolver con =*, siendo la solucin x(*) Calcular valores variables bsicas con bi()=bi+i * Obtener *** tal que x() sigue siendo factible en [*,** ] pero con un valor bsico=0: variable bsica saliente. 5. Hacer *=** e ir al paso 2 sacando de la base la variable bsica anterior (aplicar dual simplex).
OPTIMIZACIN LINEAL. 69

Universidad Pontificia Comillas de Madrid