2._Programación_Lineal_2

4
23/03/2015 1 El método Simplex (1947) George Dantzig Modelo de Programación Lineal Opt. Z = c 1 x 1 + c 2 x 2 + … + c n x n Sujeto a: a 11 x 1 + a 12 x 2 + … + a 1n x n >=< b 1 a 21 x 1 + a 22 x 2 + … + a 2n x n >=< b 2 a m1 x 1 + a m2 x 2 + … + a mn x n >=< b m x 1 , x 2 , …, x n 0 Forma matricial Opt. Z = (c 1 , c 2 , …, c n ) s.a: con: n x x x ... 2 1 m n mn m m n n b b b x x x a a a a a a a a a ... ... ... ... ... ... ... ... ... 2 1 2 1 2 1 2 22 21 1 12 11 n x x x ... 2 1 0 ... 0 0 a ij = cantidad de recursos i que se necesita por unidad de actividad j. Forma matricial resumida X c Z Opt . b X A a s : . 0 X con : = vector de actividades = vector de precios/costos unitarios. = vector de disponibilidad de recursos. = matriz de coeficientes tecnológicos. = cantidad de recursos i que se necesita por unidad de actividad j. X c b A a ij Otra forma de expresar el P.L. Forma canónica Cualquier otra forma de expresar un P.L. se puede pasar a la forma canónica. X c Z Max b X A a s : . 0 X con :

description

k

Transcript of 2._Programación_Lineal_2

Page 1: 2._Programación_Lineal_2

23/03/2015

1

El método Simplex (1947)

George Dantzig

Modelo de Programación Lineal

Opt. Z = c1x1 + c2x2 + … + cnxn

Sujeto a:

a11x1 + a12x2 + … + a1nxn >=< b1

a21x1 + a22x2 + … + a2nxn >=< b2

am1x1 + am2x2 + … + amnxn >=< bm

x1, x2, …, xn 0

Forma matricial

Opt. Z = (c1, c2, …, cn)

s.a:

con:

nx

x

x

...

2

1

mnmnmm

n

n

b

b

b

x

x

x

aaa

aaa

aaa

......

...

............

...

...

2

1

2

1

21

22221

11211

nx

x

x

...

2

1

0

...

0

0

aij = cantidad de recursos i que se necesita por unidad de actividad j.

Forma matricial resumida

XcZOpt .

bXAas :.

0Xcon :

= vector de actividades = vector de precios/costos unitarios. = vector de disponibilidad de recursos. = matriz de coeficientes tecnológicos. = cantidad de recursos i que se necesita por unidad de actividad j.

X

cbA aij

Otra forma de expresar el P.L. Forma canónica

Cualquier otra forma de expresar un P.L. se puede pasar a la forma canónica.

XcZMax

bXAas :.

0Xcon :

Page 2: 2._Programación_Lineal_2

23/03/2015

2

Posibles cambios de la F.O.

y las restricciones

4. Una variable no restringida equivale a la diferencia de

dos variables no negativas. Por ejemplo: x1 no restringida

equivale a x2 – x3; donde x2, x3 ≥ 0.

Variables de holgura y superfluas

Para aplicar el método Simplex se añaden variables de holgura o superfluas, con el propósito de convertir las desigualdades en igualdades.

Por ejemplo, dado los siguientes conjuntos de restricciones:

4x1 + 3x2 ≤ 12 4x1 + 3x2 + h1 = 12

3x1 + 5x2 ≤ 15 3x1 + 5x2 + h2 = 15

5x1 + 2x2 ≥ 16 5x1 + 2x2 - s1 = 16

3x1 + 2x2 ≥ 20 3x1 + 2x2 - s2 = 20

Aplicación del método Simplex

Ejemplo:

Max Z = 400x1 + 500x2

2x1 + 3x2 100 3x1 + 2x2 120 x1 + 2x2 60 x1, x2 0 Agregando variables de holgura: 2x1 + 3x2 + x3 = 100 3x1 + 2x2 + x4 = 120 x1 + 2x2 + x5 = 60 Z - 400x1 - 500x2 = 0

Tabla inicial del método Simplex

aB cB 400 500 0 0 0 xB

a3 0 2 3 1 0 0 100

a4 0 3 2 0 1 0 120

a5 0 1 2 0 0 1 60

-400 -500 0 0 0

Solución inicial factible: x1 = x2 = 0

Max Z = 400x1 + 500x2

2x1 + 3x2 + x3 = 100 3x1 + 2x2 + x4 = 120 x1 + 2x2 + x5 = 60 Z - 400x1 - 500x2 = 0

Estructura matricial de la tabla inicial

c 0

Ba

Bc

A

I

b

-c 0

aB cB 400 500 0 0 0 xB

a3 0 2 3 1 0 0 100

a4 0 3 2 0 1 0 120

a5 0 1 2 0 0 1 60

-400 -500 0 0 0

Estructura matricial de la tabla inicial

400 500 0 0 0

a3 0 2 3 1 0 0 100

a4 0 3 2 0 1 0 120

a5 0 1 2 0 0 1 60

-400 -500 0 0 0 0

AI

c

c-0

0b

Veamos en Excel.

Page 3: 2._Programación_Lineal_2

23/03/2015

3

Estructura matricial

de una tabla sucesiva

400 500 0 0 0

a1 400 1 0 -0,4 0,6 0 32

a5 0 0 0 -0,8 0,2 1 4

a2 500 0 1 0,6 -0,4 0 12

0 0 140 40 0 18800

c 0

B-1

A

Bc B

-1A - c

B-1

bB 1

Bc B

-1

Estructura matricial

de una tabla sucesiva

c 0

Ba

Bc

B -1

A

B -1

bB 1

B

c B -1

A - c B

c B -1

Análisis de las iteraciones

del método Simplex

x1

x2

1ª. Solución (0,0)

2ª. Solución (0,30)

3ª. Solución (20,20)

4ª. Solución (32,12)

400 500 0 0 0

a3 0 2 3 1 0 0 100

a4 0 3 2 0 1 0 120

a5 0 1 2 0 0 1 60

-400 -500 0 0 0 0

400 500 0 0 0

a3 0 0,5 0 1 0 -1,5 10

a4 0 2 0 0 1 -1 60

a2 500 0,5 1 0 0 0,5 30

-150 0 0 0 250 15000

400 500 0 0 0

a1 400 1 0 2 0 -3 20

a4 0 0 0 -4 1 5 20

a2 500 0 1 -1 0 2 20

0 0 300 0 -200 18000

400 500 0 0 0

a1 400 1 0 -0,4 0 0,6 32

a4 0 0 0 -0,8 1 0,2 4

a2 500 0 1 0,6 0 -0,4 12

0 0 140 0 40 18800

Interpretación de los zj - cj

El zj – cj de una variable real no básica:

Es lo que tendría que aumentar su coeficiente en la F.O. para que pase a ser una variable básica.

Ejemplo:

Max Z = x1 + 2x2

2x1 + x2 10 000

x1 + x2 8 000

x1 4 000

El zj – cj de una variable real no básica

La tabla óptima es:

La solución óptima es: x1 = 0; x2 = 8000

Para que x1 entre a la base, su coeficiente c1 = 1

debe aumentar z1 – c1 = 1.

Es decir, para que convenga producir autos, su

beneficio debe aumentar al menos $1.

aB cB 1 2 0 0 0 xB

a2 2 1 1 0 1 0 8000

a5 0 1 0 0 0 1 4000

a3 0 1 0 1 -1 0 2000

1 0 0 2 0 16000

El zj – cj de una variable de holgura

Es lo que aumentaría (o disminuiría) la F.O. si se tuviese una unidad más (o menos) del recurso correspondiente.

Ejemplo:

Max Z = 3x1 + 2x2

2x1 + x2 10 000

x1 + x2 8 000

x1 4 000

La tabla óptima es:

Page 4: 2._Programación_Lineal_2

23/03/2015

4

El zj – cj de una variable de holgura

aB cB 3 2 0 0 0 xB

a2 2 0 1 -1 2 0 6000

a5 0 0 0 -1 1 1 2000

a1 3 1 0 1 -1 0 2000

0 0 1 1 0 18000

Si se dispusiera de una h.h. más en el

departamento de acabados, el beneficio aumentaría $1.