unan-managua curso de investigación de operaciones · 10 el algoritmo del simplex el algoritmo del...

69
Universidad Nacional Autónoma de Nicaragua UNAN-Managua Curso de Investigación de Operaciones Unidad III Metodologías para la Solución de Problemas de Programación Lineal. Estudiantes: FAREM-Carazo Profesor: MSc. Julio Rito Vargas Avilés. II Semestre 2010 Quien tiene un libro y no lo lee, no se diferencia de aquel que no sabe leer” Año académico:

Upload: others

Post on 10-Mar-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Universidad Nacional Autónoma de Nicaragua

UNAN-Managua

Curso de Investigación de Operaciones

Unidad III

Metodologías para la Solución de Problemas

de Programación Lineal.Estudiantes:FAREM-Carazo

Profesor:MSc. Julio Rito

Vargas Avilés.

II Semestre 2010

“Quien tiene un libro y no lo lee, no se diferencia de aquel que

no sabe leer”

Año académico:

Page 2: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Método Simplex: Para resolver los problemas de PL se utilizan varios Algoritmos. El más antiguo y más utilizado sigue siendo el Algoritmo del Simplex debido a Dantzig.La solución de los problemas de programación lineal parte de dos teoremas fundamentales:

•El conjunto factible de un problema de PL puede representarse mediante un poliedro convexo.•Si un PL tiene solución óptima y finita ésta se encuentra en uno de los vértices del poliedro convexo.

De ellos se deduce que:Puesto que el número de vértices de un poliedro factible es

finito, el número de posibles soluciones de un PL también es finito.

Page 3: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

3

Principales objetivos de la Unidad

Aprender a formular un P.L.

Aprender a resolver problemas de P.L. utilizando el método del simplex.

Saber cómo se construye una Sólución Básica Factible inicial con el método de M Grande o con el de 2 Fases.

Saber identificar los distintos tipos de solución de un problema de P.L. cuando se utiliza el método simplex.

Page 4: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

4

Caracterización de los problemas de P.L.

La expresión general de un problema de P.L. es:

Max (z) =c1x1+c2x2+...+cnxn

sujeto a:

a11x1 + a12x2 +...+ a1nxn b1

a21x1 + a22x2 +...+ a2nxn b2

...

am1x1 + am2x2 +...+ amnxn bm

x1, x2, ...,xn 0

Esta es la forma canónica de un problema de P.L.

Page 5: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

5

Caracterización de los problemas de P.L. También podría escribirse como:

O en forma matricial:Max (z) = cT xsujeto a:Ax bx 0

n

j jj=1

n

ij j ij=1

j

Max (z) = c x

sujeto a:

a x b donde i=1, 2, ... m

x 0 j = 1, 2, ... n

Page 6: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

6

Caracterización del conjunto de soluciones en los problemas

de P.L. Para resolver los problemas de PL se utilizan varios Algoritmos. El

más antiguo y más utilizado sigue siendo el Algoritmo del Simplex debido a Dantzig.

La solución de los problemas de programación lineal parte de dos teoremas fundamentales:

El conjunto factible de un problema de PL puede representarse mediante un poliedro convexo.

Si un PL tiene solución óptima y finita ésta se encuentra en uno de los vértices del poliedro convexo.

De ellos se deduce que:

Puesto que el número de vértices de un poliedro factible es finito, el número de posibles soluciones de un PL también es finito.

Page 7: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

7

Esto sugiere, inicialmente, un algoritmo para calcular la solución óptima:

Calcular el valor de la función objetivo en cada vértice del conjunto factible y escoger el mejor.

Sin embargo, el número de vértices de un conjunto factible es:

donde:

m = número de restricciones

n = número de variables

Ejemplos:

m=3 n=2 Vértices=10

m+n (m+n)!=

m m! (m+n-m)!

Caracterización del conjunto de soluciones en los problemas

de P.L.

Page 8: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

8

Caracterización del conjunto de soluciones en los problemas de P.L. El concepto de vértice es de naturaleza geométrica y es poco adecuado para construir un

algoritmo utilizable por ordenadores.

El Método Simplex se basa en el concepto de la SOLUCIÓN BÁSICA FACTIBLE

Es aquella que tiene al menos n-m componentes nulos o variables no básicas. Las m restantes variables se denominan básicas.

A partir de: Ax = b

x 0

Se dice que x es una SBF si puede realizarse la partición:

A = [ N|B]

xN = 0

xB = B-1b

B

N

x

xx

Page 9: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

9

Caracterización del conjunto de soluciones en los

problemas de P.L.

Existen varios tipos de solución básica:

SB Factible: Todas las variables básicas xB

SBF No Degenerada: xB > 0

SBF Degenerada: algún xB = 0

Cada SBF representa un vértice del Conjunto Factible.

Sin embargo, un vértice puede estar representado por más de una SBF si esta es degeneradas.

Cualquier conjunto poliédrico no vacío contiene al menos un vértice, y si hay un vértice, siempre habrá por lo menos una SBF.

Page 10: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

10

El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo

algunos de los vértices del poliedro del conjunto de soluciones factibles.

En cada iteración, el algoritmo se desplaza de un vértice a otro de forma que el valor de la función objetivo mejore con el desplazamiento.

La optimización de un PL puede dar 4 posibles resultados: Óptimo único Soluciones Alternativas: Existen varias soluciones que dan el mismo valor en la función

objetivo. No factible: No existe ninguna solución que satisfaga simultáneamente todas las

restricciones del problema No acotado: El valor de la función objetivo en el óptimo es tan grande (pequeño) como se

desee en caso de maximización (minimización).

Page 11: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

11

El algoritmo del Simplex

Page 12: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

12

El algoritmo del Simplex

Page 13: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

LAS 3 PARTES DEL ALGORITMO DEL SIMPLEX

Costes reducidos (cj-zj ):

Miden el efecto sobre la función objetivo de un aumento unitario

en el valor de cada una de las variables no básicas. Por tanto:

•Si una variable no básica que tenga asociado un (cj-zj) >

entrara en la base, el valor de z aumentaría.

•Si una variable no básica que tenga asociado un (cj-zj) <

entrara en la base, el valor de z disminuiría.

•Si una variable no básica que tenga asociado un (cj-zj) =

entrara en la base, el valor de z permanecería inalterado.

Page 14: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

LAS 3 PARTES DEL ALGORITMO DEL SIMPLEX

TEST DE OPTIMALIDAD

En problemas de maximización: La solución es óptima

si todos los costes reducidos (cj-zj) son .

En problemas de minimización: La solución es óptima si

todos los costes reducidos (cj-zj) son .

Page 15: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

LAS 3 PARTES DEL ALGORITMO DEL SIMPLEX

REGLA DE ENTRADA EN LA BASE

La variable que entra en la base debe ser aquella que tenga

el mayor coste reducido negativo en el caso de maximización

(o mayor coste reducido positivo en el caso de minimización),

ya que ésta es la variable que aumenta (disminuye) más

rápidamente el valor de la función objetivo.

Page 16: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

LAS 3 PARTES DEL ALGORITMO DEL SIMPLEX

REGLA DE SALIDA DE LA BASE

Se selecciona para salir de la base a aquella variable que tenga

un menor cociente entre su valor y el coeficiente aik (siendo k la

variable que entra) siempre y cuando dicho coeficiente sea

estrictamente positivo.

La interpretación de este cociente:

Representa el máximo valor que puede tomar la variable entrante

antes de que la variable que se está considerando viole su

restricción de no negatividad.

Si todos los aik son 0 la solución no está acotada:La variable

entrante puede crecer indefinidamente sin pérdida de factibilidad.

Page 17: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

LAS 3 PARTES DEL ALGORITMO DEL SIMPLEX

En el PL se transforman las inecuaciones en ecuaciones.

Dentro de la matriz A de coeficientes deberá encontrarse una

submatriz identidad (I) de orden mxm:

A = [N | I ]

Las variables cuyos coeficientes técnicos (aij) se corresponden con

la submatriz identidad, serán las variables consideradas básicas

(xB) en la solución inicial y sus valores de solución serán los términos

independientes de las restricciones (b).

El resto de variables serán consideradas no básicas (xN) y, por

tanto, su valor de solución será cero.

Page 18: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

LAS 3 PARTES DEL ALGORITMO DEL SIMPLEX

Si A no contiene una submatriz identidad o existe algún

componente negativo en b, no resulta inmediato determinar una

SBF inicial.

b

0

x

xx

B

N

Page 19: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

El ppl de la izquierda, es un típicoproblema de maximización queestá sujeta a tres restricciones.

Para resolver este problemaaplicaremos el método simplex,por lo que convertiremos lasrestricciones en ecuacioneslineales, introduciendo variablesartificiales o de holgurasrespectivas.

21 6040 xxZ

0,

903

40

702

21

21

21

21

xx

xx

xx

xx

Máx

s. a:

Page 20: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Así quedaría el modelomatemático, con laintroducción de lasvariables de holguras enlas restricciones, paraaplicar el simplex alformato tabloide,igualaremos a cero lafunción objetivo.

54321 0006040 xxxxxZ

0,,,,

903

40

702

54321

521

421

321

xxxxx

xxx

xxx

xxx

Máx

s. a:

Page 21: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Esta es la solución gráfica del ppl

Page 22: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Este formato del modelo

matemático, facilita el

traslado de los

coeficientes y variables al

tabloide del simplex.

00006040 54321 xxxxxZ

0,,,,

903

40

702

54321

521

421

321

xxxxx

xxx

xxx

xxx

Máx

s. a:

Page 23: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

La columna con el valormás negativo es la x2.Los ratios son {70,40,30}siendo el mínimo 30. porlo tanto la fila pivote esx5, esto nos indica quesale x5 y en su lugarentra x2 en la columnabase.

Dividimos toda la fila f4por 3, para que elpivote sea 1.

VB x1 x2 x3 x4x5

LD Ratio

Z -40 -60 0 0 0 0

X3 2 1 1 0 0 70 70

X4 1 1 0 1 0 40 40

X5 1 3 0 0 1 90 30

Iteración 0:

Page 24: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Ahora nos correspondehacer cero todos lasceldas por encima delnúmero pivote. Esto estransformar las filas 1,2y 3.

Por lo que haremos lassiguientes transformacio-nes:

f3-f4 f3

f2-f4 f2

f1+60f4f1

VB X1 X2 x3 x4x5

LD

Z -40 -60 0 0 0 0

X3 2 1 1 0 0 70

X4 1 1 0 1 0 40

X2 1/3 1 0 0 1/3 30

Iteración 0:

f1

f2

f3

f4

Page 25: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Ahora nos correspondehacer cero todos lasceldas por encima delnúmero pivote. Esto estransformar las filas 1,2y 3.

Hacemos las siguientestransformaciones:

f3-f4 f3

f2-f4 f2

f1+60f4f1

VB X1 X2 x3 x4x5

LD

Z -40 -60 0 0 0 0

X3 2 1 1 0 0 70

X4 1 1 0 1 0 40

X2 1/3 1 0 0 1/3 30

Iteración 0:

f1

f2

f3

f4

Page 26: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

El ppl después de laiteración cero, haquedado como semuestra. Si observamosla fila 1, podemosdarnos cuenta quetodavía hay valoresnegativos en la fila. Estoindica que debemosseguir iterando. Lacolumna seleccionadaes x1.

VB X1 X2 x3 x4x5 LD

Z -20 0 0 0 20 1800

X3 5/3 0 1 0 -1/3 40

X4 2/3 0 0 1 -1/3 10

X2 1/3 1 0 0 1/3 30

Iteración 1:

f1

f2

f3

f4

Page 27: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Calculamos los cocientes

de dividir los lados

derechos entre cada

celda de la columna

pivote. {120/5,

30/2,90/1} siendo el

más pequeño 15. Esto

es, sale la variable

básica x4 y entra x1.

Multiplicamos la fila

pivote por 3/2.

VB X1 X2 x3 x4x5 LD

Z -20 0 0 0 20 1800

X3 5/3 0 1 0 -1/3 40

X1 2/3 0 0 1 -1/3 10

X2 1/3 1 0 0 1/3 30

Iteración 1:

f1

f2

f3

f4

Page 28: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Transformamos las filas

1,2 y 4, de forma que

las celdas de la

columna pivote sean

ceros, excepto el

número pivote.

f4- (1/3)f3f4

f2-(5/3)f3f2

f1+20f3f1

VB X1 X2 x3 x4x5 LD

Z -20 0 0 0 20 1800

X3 5/3 0 1 0 -1/3 40

X1 1 0 0 3/2 -1/2 15

X2 1/3 1 0 0 1/3 30

Iteración 1:

f1

f2

f3

f4

Page 29: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Después de las

transformaciones vemos

que la fila 1, no

contiene valores

negativos, por lo que

hemos llegado a un

óptimo. En este caso

Z=2100, para x1=15

y x2=25 variables de

la función objetivo

inicial.

VB X1 X2 X3 X4x5 LD

Z 0 0 0 30 0 2100

X3 0 0 1 -5/2 1/2 15

X1 1 0 0 3/2 -1 15

X2 0 1 0 -1/2 2/3 25

Iteración 2:

f1

f2

f3

f4

Page 30: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Simplex Revisado

Iteración 0:

Entonces:

Solución factible (0,0,70,40,90) Z=0

5

4

3

x

x

x

X B1

100

010

001

BB

90

40

70

90

40

70

100

010

001

5

4

3

x

x

x

0,0,0Bc

0

90

40

70

0,0,0

BB Xcz

60,40c

Page 31: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Simplex Revisado

Iteración 1:

Entonces:

Solución factible (0,30,40,10,0) Z=1800

2

4

3

x

x

x

X B

3

100

3

110

3

101

300

110

1011BB

30

10

40

90

40

70

3

100

3

110

3

101

2

4

3

x

x

x 60,0,0Bc

1800

30

10

40

60,0,0

BB Xcz

Page 32: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Simplex Revisado

Iteración 2:

Entonces:

Solución factible (15,25,15,0,0) Z=2100

2

1

3

x

x

x

X B

5

20

5

15

11

5

25

10

5

3

310

110

1211BB

25

15

15

90

40

70

2

1

2

10

2

1

2

30

2

1

2

51

2

1

3

x

x

x 60,40,0Bc

2100

25

15

15

60,40,0

BB Xcz

Page 33: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Problema No.2

El propietario de una finca de regadío de 80 hectáreas se plantea laposibilidad de plantar trigo y/o maíz para venderlo a una compañía defabricación de bioetanol que está cerca de la finca. El propietario de lafinca sabe por experiencia que el rendimiento medio del trigo es de 5toneladas por hectárea (t/ha) cultivada, mientras que el del maíz es de 7t/ha. Para estas producciones medias, sabe que la cantidad de agua queprecisa es de 0,8 m3 de agua por cada hectárea plantada de trigo y 2 m3por cada hectárea plantada de maíz. El agua tiene que comprarla a lacomunidad de regantes a un coste de 100 $/ m3 y sólo puede disponerde un máximo de 124 m3 a lo largo de toda la campaña. La compañíaque le compra el maíz o trigo espera que se los pague $140 la tonelada,independientemente de que sea maíz o trigo. El propietario tiene ademáslos costes adicionales que muestra el cuadro :

Page 34: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

El propietario desea saber cuantas hectáreas de trigo y maíz

debe plantar para maximizar su beneficio.

Costos/Beneficios Trigo ($/ha) Maíz ($/ha)

Sembrado 360 400

Recolección 160 180

Costo del agua 80 200

Total costos 600 780

Ventas 800 980

Utilidad neta 100 200

Page 35: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

35

El método del Simplex en forma de Tabla

1 2

1 2

1 2

1 2

Max(z)=100x +200x

sujeto a:

x + x 80

0,8x +2x 124

x , x 0

Formulación y representación gráfica.

Page 36: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

36

El método del Simplex en forma de Tabla

0,,,

12428.0

80

:.

00200100z

4321

421

321

4321

xxxx

xxx

xxx

as

xxxxMax

Page 37: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

En esta tablaseleccionamos lacolumna de X2 por lacolumna con valor másnegativo. Luegoobtenemos el ratiodividiendo cada LDentre los elementos dela columna seleccionadaobteniendo 80 y 62.por lo que la fila pivotees fila 3.

VB X1 X2 X3 X4LD Ratio

Z -100 -200 0 0 0

X3 1 1 1 0 80 80

X4 0.8 2 1 0 124 62

Iteración 0:

f1

f2

f3

SBF(x3,x4)= (80, 124) z=0

Page 38: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Ahora donde se

encuentra el número

pivote lo convertimos en

1, esto se logra

dividiendo toda la fila

por 2.

VB X1 X2 X3 X4LD Ratio

Z -100 -200 0 0 0

X3 1 1 1 0 80 80

X4 0.8 2 1 0 124 62

Iteración 1:

f1

f2

f3

Page 39: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Ahora donde se

encuentra el número

pivote lo convertimos en

1, esto se logra

multiplicando toda la

fila por 2. Todos los

elementos de la

columna pivote serán

ceros, para lo cual

hacemos: f2-f3f2

200f3+f1f1

VB X1 X2 X3 X4LD Ratio

Z -20 -0 100 0 12400

X3 0.6 0 0.5 0 18

X20.4 1 0.5 0 62

Iteración 1:

f1

f2

f3

SBF(x3,x2)= (18, 62) z=12400

Page 40: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Vemos que hay una

comuna con z negativo,

es la columna de x1,

ahora obtenemos los

ratios; 30,155; por lo

que la fila pivote

VB X1 X2 X3 X4LD Ratio

Z -20 0 100 0 12400

X3 0.6 0 0.5 0 18 30

X40.4 1 0.5 0 62 155

Iteración 2

f1

f2

f3

Page 41: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método simplex el ppl

Vemos que hay una

comuna con z negativo,

es la columna de x1,

ahora obtenemos los

ratios; 30,155; por lo

que la fila pivote

Dividimos por 0.6 la fila

f2.

Ahora f3-0.4f2 --> f3

20f2+f1 f1

VB X1 X2 X3 X4LD Ratio

Z 0 0 116.6 0 13000

X3 1 0 0.83 0 30

X40 1 4.66 0 50 155

Iteración 2

f1

f2

f3

SBF(x1,x2)= (30, 50) z=13,000

Page 42: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

42

Determinación de una SBF inicial

DETERMINACIÓN DE UNA SBF INICIAL En el PL se transforman las inecuaciones en ecuaciones. Dentro de la matriz A de coeficientes deberá encontrarse una submatriz

identidad (I) de orden mxm:A = [N | I ]

Las variables cuyos coeficientes técnicos (aij) se corresponden con la submatriz identidad, serán las variables consideradas básicas (xB) en la solución inicial y sus valores de solución serán los términos independientes de las restricciones (b).

El resto de variables serán consideradas no básicas (xN) y, por tanto, su valor de solución será cero.

Si A no contiene una submatriz identidad o existe algún componente negativo en b, no resulta inmediato determinar una SBF inicial.

b

0

x

xx

B

N

Page 43: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

43

Determinación de una SBF inicial

Si en la matriz A no existe una submatriz identidad, se deberá seguir uno de los dos siguientes procedimientos:

Método de Eliminación o de la M Grande

Método de las 2 Fases

En ambos casos se resuelve un problema de apoyo que:

En A incluye una submatriz identidad I, por lo que resulta muy sencillo determinar una solución inicial

Su óptimo, si existe, es una SBF del problema.

Una vez construido el problema de apoyo se aplica el algoritmo del Simplex para su solución final.

Page 44: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

44

El método de eliminación o de la “M grande”

El término independiente (RHS) debe ser 0.

A las restricciones del tipo se añade una variable de holgura con coeficiente +1

A las restricciones del tipo , se añade una variable de holgura con coeficiente -1 y una variable artificial con coeficiente +1

A las restricciones del tipo = se añade una variable artificial con coeficiente +1

La contribución de las variables de holgura a la función objetivo es 0

La contribución de las variables artificiales a la función objetivo se fijan:

Min: + M

Max: - M

Siendo M un número suficientemente grande.

Solución Infactible: Si no se eliminan todas las variables artificiales de la base cuando se ha llegado al óptimo del problema de apoyo: Solución Infactible.

Solución factible: Si las variables artificiales se eliminan de la base obtenemos una solución factible.

Page 45: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

45

El método de eliminación o de la “M grande”

Ejemplo Sea el problema de P.L.:

Sujeto a:

El problema de apoyo quedaría:

1 2Min(w)=80x +124x

1 2

1 2

1 2

x + 0,8x 100

x + 2x 200

x ,x 0

1 2 1 2 1 2Min(w)=80x +124x +0s +0s +MA +MA

1 2 1 1

1 2 2 2

1 2 1 2 1 2

x + 0,8x -s +A 100

x + 2x -s +A 200

x ,x ,s ,s ,A ,A 0

Page 46: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

46

El método de eliminación o de la “M grande”

La representación gráfica del problema y la

solución inicial sería:

Page 47: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

47

El método de eliminación o de la “M grande”

Esta primera SBF inicial se puede representar en el

siguiente tableau: cj 80 124 0 0 M M

xB cB x1 x2 s1 s2 A1 A2 RATIOS

A1 M 100 1 0,8 -1 0 1 0 125

A2 M 200 1 2 0 -1 0 1 100

zj 2M 2,8M -M -M M M

cj-zj 80-2M

124 -

2,8M M M 0 0

Page 48: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

48

El método de eliminación o de la “M grande”

En la primera iteración se obtendría la solución:

Page 49: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

49

El método de eliminación o de la “M grande”

En la segunda iteración se obtendría la solución

óptima:

Page 50: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

50

El método de las 2 fases

El método de la M Grande incluye variables de apoyo con un coeficiente muy grande (M) o muy pequeño (-M) en la función objetivo.

Esto da lugar a problemas numéricos que conducen a soluciones erróneas. Esto es especialmente grave en problemas de cierto tamaño.

De ahí que los códigos comerciales utilizan una extensión del algoritmo del Simplex conocida como el Método de las 2 Fases: 1ª Fase: Obtener una SBF inicial.

2ª Fase: Obtener una solución óptima.

Page 51: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

51

El método de las 2 fases

1ª FASE

La contribución de las variables básicas (cj) es =0 en la función objetivo.

Añadir variables de holgura en las restricciones, con contribución a la función objetivo =0

Añadir variables artificiales pero la contribución a la función objetivo =1

Se minimiza la función objetivo anterior. Si la función objetivo (z) es 0 entonces se ha llegado a una solución factible del problema inicial.

SBF Inicial hallada. Las variables artificiales se pueden eliminar de la tabla y proceder con la fase 2ª. Ahora ya partimos de una SBF.

Solución infactible del problema original. Si al final de la 1ª fase hay alguna variable artificial en la base.

Page 52: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

52

El método de las 2 fases

2ª FASE

Se eliminan de la tabla las variables artificiales.

Se sustituyen los cj (contribuciones a la función objetivo) por las del problema original.

Se recalculan zj y cj-zj

Se comprueba si la solución es óptima analizando el valor de los costes reducidos.

Si es óptima hemos terminado.

Si no lo es, se sigue iterando hasta alcanzar el óptimo.

Page 53: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

53

El método de las 2 fases

Sea el problema de P.L.:

Sujeto a:

1ª FASE

El problema de apoyo quedaría:

1 2Min(w)=50x +124x

1 2

1 2

1 2

x + 0,8x 100

x + 2x 200

x ,x 01 2 1 2 1 2Min(w)=0x +0x +0s +0s +1A +1A

1 2 1 1

1 2 2 2

1 2 1 2 1 2

x + 0,8x -s +A 100

x + 2x -s +A 200

x ,x ,s ,s ,A ,A 0

Page 54: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

54

El método de las 2 fases

La representación gráfica del problema y la

solución inicial sería:

Page 55: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

55

El método de las 2 fases

Esta primera SBF inicial se puede representar en el

siguiente tableau:

cj 0 0 0 0 1 1

xB cB b x1 x2 s1 s2 A1 A2 RATIOS

A1 1 100 1 0,8 -1 0 1 0 125

A2 1 200 1 2 0 -1 0 1 100

zj 2 2,8 -1 -1 1 1

cj-zj -2 -2,8 1 1 0 0

Page 56: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

56

El método de las 2 fases

En la primera iteración se obtendría la solución:

Page 57: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

57

El método de las 2 fases

En la segunda iteración se obtendría la solución óptima:

Es el final de la 1ª Fase. Es una SBF que permite pasar a la 2ª Fase.

Page 58: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

58

El método de las 2 fases2ª FASE

Se sustituyen los cj por los originales y se recalcula la solución:

Esta solución no es óptima, por tanto, hay que seguir iterando.

Page 59: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

59

El método de las 2 fases

El resultado de la 3ª iteración es la solución óptima:

Page 60: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Resolver por el método de las 2 fases

Las necesidades semanales mínimas de

una persona en proteínas, hidrato de

carbono y grasa son 8, 12 y 9 unidades

respectivamente. Debemos obtener un

preparado con esas composiciones

mínimas mezclando los productos A y B

cuyos contenidos por kg son los que

indican en la siguiente tabla.

BAZ 400600

0,

93

126

82

BA

BA

BA

BA

Mín

s. a:

Proteínas Hidratos Grasas Costo

(kg)

Prod. A 2 6 1 600

Prod. B 1 1 3 400

Modelo matemático

Page 61: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Método de las 2 fases

1ª FASE

La contribución de las variables básicas (cj) es =0 en la función objetivo.

Añadir variables de holgura en las restricciones, con contribución a la función objetivo =0

Añadir variables artificiales pero la contribución a la función objetivo =1

Se minimiza la función objetivo anterior. Si la función objetivo (z) es 0 entonces se ha llegado a una solución factible del problema inicial.

SBF Inicial hallada. Las variables artificiales se pueden eliminar de la tabla y proceder con la fase 2ª. Ahora ya partimos de una SBF.

Solución infactible del problema original. Si al final de la 1ª fase hay alguna variable artificial en la base.

Page 62: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

1ra. Fase

Así quedaría el modelomatemático, con laintroducción de las variablesde holguras y las variablesartificiales, puede verse quelos coeficientes de F.O. loshemos cambiado a cero, lasvariables de holgura entrancon cero y las artificiales conuno.

Mín

s. a:

0,,,,,,,

93

126

82

321

3

2

1

AAAEDCBA

AEBA

ADBA

ACBA

3210000 AAAOEDCBAZ

Page 63: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

1ra. Fase

Esta primera SBF inicial se puede representar en la siguiente tabla

CJ 0 0 0 0 0 1 1 1

RatioVB CB b A B C D E A1 A2 A3

A1 1 8 2 1 -1 0 0 1 0 0 4

A2 1 12 6 1 0 -1 0 0 1 0 2

A3 1 9 1 3 0 0 -1 0 0 1 9

Zj9 5 -1 -1 -1 1 1 1

Cj - Zj-9 -5 1 1 1 0 0 0

CXZ Entra la Variable A y sale A2

Page 64: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

1ra. Fase

Esta Segunda SBF se puede representar en la siguiente tabla

CJ 0 0 0 0 0 1 1 1

RatioVB CB b A B C D E A1 A2 A3

A1 1 4 0 0.667 -1 0.333 0 1 -0.33 0 6

A 0 2 1 0.167 0 -0.17 0 0 0.167 0 12

A3 1 7 0 2.833 0 0.167 -1 0 -0.17 1 2.47

Zj0 3.5 -1 0.5 -1 1 -0.5 1

Cj - Zj0 -3.5 1 -0.5 1 0 1.5 0

CXZ

Page 65: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

1ra. Fase

Esta tercera SBF se puede representar en la siguiente tabla

CJ 0 0 0 0 0 1 1 1

RatioVB CB b A B C D E A1 A2 A3

A1 1 4 0 0.667 -1 0.333 0 1 -0.33 0 6

A 0 2 1 0.167 0 -0.17 0 0 0.167 0 12

A3 1 7 0 2.833 0 0.167 -1 0 -0.17 1 2.47

Zj0 3.5 -1 0.5 -1 1 -0.5 1

Cj - Zj0 -3.5 1 -0.5 1 0 1.5 0

CXZ

Page 66: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

1ra. Fase

Esta tercera SBF se puede representar en la siguiente tabla

CJ 0 0 0 0 0 1 1 1

RatioVB CB b A B C D E A1 A2 A3

A1 1 2.35 0 0 -1 0.3 0.24 1 -0.3 -0.24 7.83

A 0 1.59 1 0 0 -0.18 0.06 0 0.177 -0.06

B 0 2.47 0 1 0 0.06 -0.35 0 -0.06 0.353 41.16

Zj0 0 -1 0.3 0.24 1 -0.3 -0.24

Cj - Zj0 0 1 -0.3 -0.24 0 1.3 1.24

CXZ

Page 67: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

1ra. Fase

Esta cuarta SBF se puede representar en la siguiente tabla

CJ 0 0 0 0 0 1 1 1

RatioVB CB b A B C D E A1 A2 A3

D 0 7.833 0 0 -3.33 1 0.8 3.333 -1 -0.8

A 0 3 1 0 -0.6 0 0.204 0.6 -0 -0.2

B 0 2 0 1 0.2 0 -0.4 -0.2 0 0.401

Zj0 0 0 0 0 0 0 0

Cj - Zj0 0 0 0 0 1 1 1

Es el final de la 1ª Fase. Es una SBF que permite pasar a la 2ª Fase.

Page 68: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

2da. FaseSe sustituyen los cj por los originales y se recalcula la solución:

CJ 600 400 0 0 0

RatioVB CB b A B C D E

D 0 7.833 0 0 -3.33 1 0.8

A 600 3 1 0 -0.6 0 0.204

B 400 2 0 1 0.2 0 -0.4

Zj600 400 -280 0 -40

Cj - Zj0 0 280 0 40

Esta solución es óptima, por tanto, no hay que seguir iterando.

Page 69: UNAN-Managua Curso de Investigación de Operaciones · 10 El algoritmo del Simplex El algoritmo del Simplex busca el óptimo de un problema de PL recorriendo algunos de los vértices

Esta es la solución gráfica del ppl

Z=2600 A= 3 B=2

La solución gráfica del modelo

matemático se muestra en el lado

derecho.

Puede verse que la solución mínima

recomendada es 3 del producto A y 2

del producto B.

Para un costo de $2,600.00