cap3 solucion del modelo de prog lin

101
CAPITULO III SOLUCION DEL MODELO DE PROGRAMACION LENEAL Docente: Juan Carlos Vargas Reinaga

Upload: aniblis-choque

Post on 26-Oct-2015

39 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Cap3 Solucion Del Modelo de Prog Lin

CAPITULO III

SOLUCION DEL MODELO DE

PROGRAMACION LENEAL

Docente: Juan Carlos Vargas Reinaga

Page 2: Cap3 Solucion Del Modelo de Prog Lin

Existen varios métodos que permiten solucionar el problema de

programación lineal como son:

El método grafico

El algoritmo simplex

Los métodos penalizados

El método dual simplex

INTRODUCCION

Page 3: Cap3 Solucion Del Modelo de Prog Lin

3

Uno de los métodos mas simples de solución de un modelo de

programación lineal es el método grafico, este método tiene dos

características especiales:

Sirve para resolver problemas en una dos y tres dimensiones.

Se pueden consolidar importantes interpretaciones de tipo

geométrico y conceptual en relación a la teoría de programación

lineal.

METODO GRAFICO

Page 4: Cap3 Solucion Del Modelo de Prog Lin

4

DESVENTAJA

Este método gráfico tiene la desventaja que sólo permite la

solución de problemas que tengan dos variables de aquí que

la mayoría de los problemas de programación lineal se

resuelvan utilizando como base el método simplex.

Page 5: Cap3 Solucion Del Modelo de Prog Lin

5

ENFOQUE GRÁFICO DE SOLUCIÓN

Para obtener la solución al modelo utilizando el enfoque gráfico, se

debe:

Representar una región o área factible.

Calcular el valor máximo o mínimo de la función objetivo en la

región factible.

Page 6: Cap3 Solucion Del Modelo de Prog Lin

6

PROBLEMA

La fábrica de Hilados y Tejidos "SALAZAR" requiere fabricar dos

tejidos de calidad diferente T y T’; se dispone de 500 Kg de hilo a,

300 Kg de hilo b y 108 Kg de hilo c. Para obtener un metro de T

diariamente se necesitan 120 gr de a, 150 gr de b y 72 gr de c;

para producir un metro de T’ por día se necesitan 200 gr de a, 100

gr de b y 27 gr de c.

El T se vende a $ 4000 el metro y el T’ se vende a $ 5000 el metro.

Si se debe obtener el máximo beneficio, ¿cuántos metros de T y T’

se deben fabricar?

Page 7: Cap3 Solucion Del Modelo de Prog Lin

7

MODELIZACIÓN MEDIANTE PROGRAMACIÓN LINEAL

VARIABLES DE DECISION

XT: Cantidad de metros diarios de tejido tipo T a fabricar

XT’: Cantidad de metros diarios de tejido tipo T’ a fabricar

RESTRICCIONES

0,12XT + 0,2XT’ <= 500 Hilo “a”

0,15XT + 0,1XT’ <= 300 Hilo “b”

0,072XT + 0,027XT’ <= 108 Hilo “c”

Las restricciones de no negatividad no son necesarias en este

ejemplo dado que se trata de un ejercicio de maximización, cuando

el ejercicio sea de minimización lo más recomendado es incluirlas.

FUNCIÓN OBJETIVO

(fo) MAX Z = 4000XT + 5000XT’

Page 8: Cap3 Solucion Del Modelo de Prog Lin

8

SOLUCIÓN MEDIANTE MÉTODO GRÁFICO

PASO 1: GRAFICAR LAS RESTRICCIONES

Para iniciar con el trazado de las restricciones es indispensable

igualar las restricciones a 0, de esta manera podemos mediante

despeje de ecuaciones iniciar con la tabulación que nos otorgará

las coordenadas para elaborar cada una de las gráficas.

Además dado que se trabajará en el plano cartesiano sería

prudente renombrar las variables

XT = x

XT' = y

Igualamos las restricciones,

0,12x + 0,2y = 500

0,15x + 0,1y = 300

0,072x + 0,027y = 108

Page 9: Cap3 Solucion Del Modelo de Prog Lin

9

Si analizamos la primera restricción, hallamos las primeras dos

coordenadas. Para hallar las coordenadas regularmente

llevamos una de las variables a cero, para de esta manera

despejar más fácilmente la segunda.

Por ejemplo,

para un x = 0

0,12(0) + 0,2y = 500

0,2y = 500

500/0,2 = y

y = 2500

y para un y = 0

0,12x + 0,2(0) = 500

0,12x = 500

x = 500/0,12

x = 4167

Page 10: Cap3 Solucion Del Modelo de Prog Lin

10

Page 11: Cap3 Solucion Del Modelo de Prog Lin

11

Page 12: Cap3 Solucion Del Modelo de Prog Lin

12

Page 13: Cap3 Solucion Del Modelo de Prog Lin

13

En el siguiente gráfico se muestra el polígono solución de color gris

(región factible), en este conjunto es donde cada coordenada cumple

con todas las restricciones, las cuales se caracterizan por ser

restricciones de menor o igual y esta característica se representa con

una flecha hacía abajo.

Page 14: Cap3 Solucion Del Modelo de Prog Lin

14

Una vez se llega a este punto es indispensable saber que las

soluciones óptimas se alojan en los vértices del polígono

solución (color gris) y que identificar a la solución óptima es

cuestión de elegir la mejor alternativa dependiendo de las

herramientas disponibles (tecnológicas y conocimientos

matemáticos).

La primera opción es la geométrica, esta depende de trazar la

ecuación que representa a la función objetivo (este paso consiste

en realizar el mismo procedimiento de las restricciones).

Función objetivo

Max Z = 4000x + 5000y

igualamos a 0

4000x + 5000y = 0

Page 15: Cap3 Solucion Del Modelo de Prog Lin

15

Luego tabulamos para obtener las coordenadas necesarias para

elaborar la gráfica correspondiente a la ecuación (es

recomendable más de dos coordenadas, incluyendo la

coordenada (x = 0, y = 0).

Page 16: Cap3 Solucion Del Modelo de Prog Lin

16

Page 17: Cap3 Solucion Del Modelo de Prog Lin

17

Una vez se ha elaborado la función objetivo (línea negra)

sacamos replicas perpendiculares a esta que se encuentren con

cada vértice, y solo en el caso en que la línea imaginaria

perpendicular a la función objetivo no corte el polígono solución

se ha encontrado la solución óptima.

En otras palabras trasladamos la función objetivo por todo el

polígono conservando la perpendicularidad con la original, la

detenemos en los vértices y evaluamos si esta corta o no el

conjunto solución.

Page 18: Cap3 Solucion Del Modelo de Prog Lin

18

Page 19: Cap3 Solucion Del Modelo de Prog Lin

19

Claramente solo en el punto "B", es decir en el vértice formado por

la intersección de las ecuaciones 1 y 2, la línea imaginaria no

corta el polígono solución, entonces es este punto el

correspondiente a la coordenada óptima.

Para hallar el valor de esta coordenada es indispensable recurrir a

la resolución de ecuaciones lineales 2x2, y se pueden considerar

varios métodos de solución entre ellos:

Método por sustitución

Método por igualación

Método por reducción o Eliminación

Método por eliminación Gauss

Método por eliminación Gauss - Jordán

Método por determinantes

Page 20: Cap3 Solucion Del Modelo de Prog Lin

20

El método por reducción o eliminación consiste en igualar los

coeficientes de una de las variables multiplicando una o las dos

ecuaciones, teniendo en cuenta que estos coeficientes queden

iguales pero con signos contrarios.

Ecuación 1 0,12x + 0,2y = 500

Ecuación 2 0,15x + 0,1y = 300 multiplicamos por (-2)

-0,30x - 0,2y = -600

Sumando -0,18x = -100

x = 555,55

Page 21: Cap3 Solucion Del Modelo de Prog Lin

21

luego reemplazamos x = 555,55 en cualquiera de las dos

ecuaciones originales con el objetivo de despejar "y".

Ecuación 1 0,12x + 0,2y = 500

Reemplazamos 0,12(555,55) + 0,2y = 500

66,666 + 0,2y = 500

y = 2166,67

x = XT

y = XT'

XT = 555,55

XT' = 2166,67

Page 22: Cap3 Solucion Del Modelo de Prog Lin

22

reemplazando las variables en la función objetivo tenemos :

Zmax = 4000XT + 5000XT'

Zmax = 4000(555,55) + 5000(2166,67)

Zmax = 13.055.550

Ahora podemos cotejar los resultados con los obtenidos mediante

resolución por Solver - Excel, una herramienta muy útil al momento

de resolver ejercicios mediante el método gráfico es una calculadora

graficadora, como es el caso de la calculadora de encarta disponible.

Page 23: Cap3 Solucion Del Modelo de Prog Lin

23

ANALISIS E INTERPRETACION DEL METODO GRAFICO

El espacio achurado S se denomina REGION FACTIBLE y es

el conjunto que agrupa a los puntos que cumplen con todas

las restricciones y que corresponden a la intersección de los

hiperplanos dominio de cada una de las restricciones.

Los vértices de la región factible S, corresponde a la

intersección de dos o mas restricciones y se obtienen

resolviendo las ecuaciones que corresponden a estas

restricciones.

Page 24: Cap3 Solucion Del Modelo de Prog Lin

24

La solución optima del problema siempre será un vértice de la

región factible S.

Las restricciones que intervienen en el problema pueden ser de

tres tipos:

Restricciones ACTIVAS; que tienen dos características pasan

por el punto optimo y hacen uso total de los recursos.

Restricciones INACTIVAS, que son aquellas que no pasan

por el punto de análisis, en este caso el optimo; por tanto no

hacen uso total del recurso limitado y sus variables de

compensación toman valores diferentes de cero.

Page 25: Cap3 Solucion Del Modelo de Prog Lin

25

Restricciones REDUNDANTES, que son aquellas que

además de no pasar por el punto optimo en cuestión, no

limitan ni participan de la región factible, lo que significa

que la inclusión o no de esta restricción no modificara la

región factible tampoco la solución optima.

Page 26: Cap3 Solucion Del Modelo de Prog Lin

26

ALGORITMO SIMPLEX

El método simplex es un algoritmo que aplica un procedimiento

iterativo de solución.

En su forma sistémica el algoritmo simplex considera tres fases

fundamentales: Fase inicial, la fase de control del optimo y la

fase iterativa.

Cada una de estas fases consta de pasos importantes en su

desarrollo.

Page 27: Cap3 Solucion Del Modelo de Prog Lin

27

MECÁNICA DEL MÉTODO SIMPLEX

FASE INICIAL:

Paso 1 : Colocar el problema en su formulación estándar

Paso 2 : Plantear la tabla o solución inicial, precisando las variables

básicas y no básicas de inicio (iteración 0)

FASE DE CONTROL

Paso 3 : Verificar si todos los coeficientes de la fo son positivos (caso

MAX), si son positivos entonces se puede decir que ya se

encontró la solución optima, si no vaya al siguiente paso.

Paso 4 : Realizar un cambio de base

Aplicar la regla de entrada y la regla de salida de la base

Encontrar el pivote.

Page 28: Cap3 Solucion Del Modelo de Prog Lin

28

FASE ITERATIVA

Paso 5 : Aplicar operaciones elementales de fila y columna

Utilizar el método de Gauss Jordán y hallar la nueva

solución básica

Paso 6 : Volver a la fase de control.

Page 29: Cap3 Solucion Del Modelo de Prog Lin

29

Ejemplo del método Simplex:

Maximizar

Z = 3x1 + 2x2

Sujeto a:

2x1 + x2 ≤ 18

2x1 + 3x2 ≤ 42

3x1 + x2 ≤ 24

x1 ≥ 0 , x2 ≥ 0

Page 30: Cap3 Solucion Del Modelo de Prog Lin

30

1. CONVERTIR LAS DESIGUALDADES EN IGUALDADES

Se introduce una variable de holgura para cada una de las

restricciones, este caso s1, s2, s3 para convertirlas en igualdades

y formar el sistema de ecuaciones estándar.

Usando en simplex el siguiente criterio:

Signo : Introducir

≤ sn

FORMA ESTANDAR:

2x1 + x2 + s1 = 18

2x1 + 3x2 + s2 = 42

3x1 + x2 + s3 = 24

Page 31: Cap3 Solucion Del Modelo de Prog Lin

31

2. IGUALAR LA FUNCIÓN OBJETIVO A CERO Y DESPUÉS

AGREGAR LA VARIABLES DE HOLGURA DEL SISTEMA

ANTERIOR

Z - 3 x1 - 2 x2 = 0

Para este caso en particular la función objetivo ocupa la ultima

fila de la tabla a confeccionar, pero de preferencia siempre se

deberá de colocar como la primer fila.

Cuando minimizamos se toma el valor (+) positivo de fo para

convertirlo en negativo y cuando maximizamos tomamos el valor

(-) negativo de fo para convertirlo en positivo.

Page 32: Cap3 Solucion Del Modelo de Prog Lin

32

3. ESCRIBIMOS LA TABLA INICIAL DEL MÉTODO SIMPLEX

En las columnas aparecerán todas las variables del problema y

en las filas, los coeficientes de las igualdades obtenidas, una fila

para cada restricción y la última fila con los coeficientes de la

función objetivo:

Page 33: Cap3 Solucion Del Modelo de Prog Lin

33

Tabla Inicial

Base Variable de

decisión

Variable de holgura Solución

X1 X2 S1 S2 S3

S1 2 1 1 0 0 18

S2 2 3 0 1 0 42

S3 3 1 0 0 1 24

Z -3 -2 0 0 0 0

Page 34: Cap3 Solucion Del Modelo de Prog Lin

34

4. ENCONTRAR LA VARIABLE DE DECISIÓN QUE ENTRA EN

LA BASE Y LA VARIABLE DE HOLGURA QUE SALE DE LA

BASE

A. Para escoger la variable de decisión que entra en la base,

(FLECHA ROJA PARTE SUPERIOR), observamos la ultima fila, la cual

muestra los coeficientes de la función objetivo y escogemos la

variable con el coeficiente más negativo (en valor absoluto).

En este caso, la variable x1 de coeficiente - 3.

Si existiesen dos o más coeficientes iguales que cumplan

la condición anterior, entonces se elige cualquiera de ellos.

Si en la última fila no existiese ningún coeficiente negativo,

significa que se ha alcanzado la solución óptima.

Page 35: Cap3 Solucion Del Modelo de Prog Lin

35

Por tanto, lo que va a determinar el final del proceso de

aplicación del método del simplex, es que en la última fila no

haya elementos negativos.

La columna de la variable que entra en la base se llama

columna pivote (en color azulado).

B. Para encontrar la variable de holgura que tiene que salir de

la base, (FLECHA ROJA COSTADO IZQUIERDO) se divide cada

término de la última columna (valores solución) por el término

correspondiente de la columna pivote, siempre que estos

últimos sean mayores que cero.

Page 36: Cap3 Solucion Del Modelo de Prog Lin

36

Si hubiese algún elemento menor o igual que cero no se hace dicho

cociente.

En el caso de que todos los elementos fuesen menores o iguales a

cero, entonces tendríamos una solución no acotada y no se puede

seguir.

El término de la columna pivote que en la división anterior dé lugar al

menor cociente positivo, el 3, ya 8 es el menor, indica la fila de la

variable de holgura que sale de la base, S3.

Esta fila se llama fila pivote (en color azulado).

Page 37: Cap3 Solucion Del Modelo de Prog Lin

37

Iteración No. 1

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

S1 2 1 1 0 0 18 18/2 = 9

S2 2 3 0 1 0 42 42/2 = 21

S3 3 1 0 0 1 24 24/3 = 8

Z -3 -2 0 0 0 0

Page 38: Cap3 Solucion Del Modelo de Prog Lin

38

Si al calcular los cocientes, dos o más son iguales, indica que

cualquiera de las variables correspondientes pueden salir de la base.

C. En la intersección de la fila pivote y columna pivote tenemos el

elemento pivote operacional, 3, este indica que la variable de decisión

x1 entra y la variable de holgura S3 sale.

Page 39: Cap3 Solucion Del Modelo de Prog Lin

39

5. ENCONTRAR LOS COEFICIENTES LA NUEVA TABLA

SIMPLEX.

Los nuevos coeficientes de la fila pivote se obtienen dividiendo

todos los coeficientes de la fila por el pivote operacional “3”, ya

que este se debe convertir en 1.

A continuación mediante la reducción gaussiana hacemos ceros

los restantes términos de la columna pivote, con lo que

obtenemos los nuevos coeficientes de las otras filas incluyendo

los de la función objetivo Z.

Page 40: Cap3 Solucion Del Modelo de Prog Lin

40

Resultado de Iteración No. 1

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

S1 0 1/3 1 0 -2/3 2 f(S1) – 2 f(X1)

S2 0 7/3 0 1 -2/3 26 f(S2) – 2 f(X1)

X1 1 1/3 0 0 -1/3 8 (1/3) X1

Z 0 -1 0 0 1 24 f(Z) + 3 f(X1)

Page 41: Cap3 Solucion Del Modelo de Prog Lin

41

Como en los elementos de la última fila hay un numero

negativo, -1, significa que no hemos llegado todavía a la solución

óptima. Hay que repetir el proceso:

A. La variable que entra en la base es x2, por ser la columna

pivote que corresponde al coeficiente -1

B. Para calcular la variable que sale o la fila pivote, dividimos los

términos de la columna solución entre los términos de la nueva

columna pivote y como el menor cociente positivo es 6, tenemos

que la fila pivote y la variable de holgura que sale es S1.

C. El elemento pivote, que ahora hay que hacer 1, es 1/3.

Y se opera de forma análoga a la anterior iteración

Page 42: Cap3 Solucion Del Modelo de Prog Lin

42

Iteración No. 2

Bas

e

Variable de

decisión

Variable de holgura Solució

n

Operación

X1 X2 S1 S2 S3

S1 0 1/3 1 0 -2/3 2 2/(1/3) = 6

S2 0 7/3 0 1 -2/3 26 26/(7/3) = 78/7

X1 1 1/3 0 0 -1/3 8 8/(1/3) = 24

Z 0 -1 0 0 1 24

Page 43: Cap3 Solucion Del Modelo de Prog Lin

43

Resultado de Iteración No. 2

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

X2 0 1 3 0 -2 6 3X2

S2 0 0 -7 0 4 12 f(S2) – (7/3) f(X2)

X1 1 0 -1 0 1 6 f(X1) – (1/3) f(X2)

Z 0 0 3 0 -1 30 f(Z) + f(X2)

Page 44: Cap3 Solucion Del Modelo de Prog Lin

44

Como en los elementos de la última fila hay uno negativo, -1,

significa que no hemos llegado todavía a la solución óptima. Hay

que repetir el proceso:

A. La variable que entra en la base es S3, por ser la variable que

corresponde al coeficiente -1

B. Para calcular la variable que sale, dividimos los términos de la

última columna entre los términos correspondientes de la nueva

columna pivote:

6/(-2) [=-3] , 12/4 [=3], y 6:1 [=6]

y como el menor cociente positivo es 3, tenemos que la variable

de holgura que sale es S2.

C. El elemento pivote, que ahora hay que hacer 1, es 4.

Obtenemos la tabla:

Page 45: Cap3 Solucion Del Modelo de Prog Lin

45

Iteración No. 3

Bas

e

Variable de

decisión

Variable de holgura Solució

n

Operación

X1 X2 S1 S2 S3

X2 0 1 3 0 -2 6 No se toma

por ser

negativo

S2 0 0 -7 0 4 12 12/4 = 3

X1 1 0 -1 0 1 6 6/1 = 6

Z 0 0 3 0 -1 30

Page 46: Cap3 Solucion Del Modelo de Prog Lin

46

Resultado de Iteración No. 3

Base Variable de

decisión

Variable de holgura Solución Operación

X1 X2 S1 S2 S3

X2 0 1 -1/2 0 0 12 f(X2) + 2 f(S3)

S3 0 0 -7/4 0 1 3 (1/4) S3

X1 1 0 -3/4 0 0 3 f(X1) – f(S3)

Z 0 0 5/4 0 0 33 f(Z) + f(S3)

Page 47: Cap3 Solucion Del Modelo de Prog Lin

47

Tabla Final

Base Variable de

decisión

Variable de holgura Solución

X1 X2 S1 S2 S3

X2 0 1 -1/2 0 0 12

S3 0 0 -7/4 0 1 3

X1 1 0 -3/4 0 0 3

Z 0 0 5/4 0 0 33

Page 48: Cap3 Solucion Del Modelo de Prog Lin

48

Como todos los coeficientes de la fila de la función objetivo son

positivos, hemos llegado a la solución óptima.

Los solución óptima viene dada por el valor de Z en la columna de

los valores solución, en nuestro caso: 33.

Page 49: Cap3 Solucion Del Modelo de Prog Lin

49

En algunas situaciones existen problemas de programación lineal

que no proporcionan una solución básica inicial.

En consecuencia este tipo de situación se presenta cuando al menos

una de las restricciones es del tipo (<=) o (=).

Para este propósito se desarrollan 2 métodos basados en el uso de

variables artificiales:

El método M o de penalización y la técnica de las dos fases.

Page 50: Cap3 Solucion Del Modelo de Prog Lin

50

METODO M O DE PENALIZACIÓN

1. Se debe expresar el problema en forma estándar transformando

las inecuaciones en ecuaciones introduciendo variables de holgura.

2. Agregue variables no negativas al lado izquierdo de cada una de

las ecuaciones correspondientes a las restricciones de tipo (>=) o (=).

Estas variables se denominan variables artificiales y su adición hace

que las restricciones correspondientes.

Esta dificultad se elimina asegurando que las variables sean 0 en la

solución final. Esto se logra asignando una penalización muy grande

por unidad a estas variables en la función objetivo.

Tal penalización se designará como – M para problemas de

maximización y + M para problemas de minimización.

Page 51: Cap3 Solucion Del Modelo de Prog Lin

51

3. Se utiliza las variables artificiales en la solución básica inicial; sin

embargo la función objetivo de la tabla inicial se prepara

adecuadamente para expresarse en términos de las variables no

básicas únicamente.

Esto significa que los coeficientes de las variables artificiales en la

función objetivo deben ser 0, esto puede lograrse sumando múltiplos

adecuados de las ecuaciones de restricción al renglón objetivo.

4. Proceda con los pasos regulares del método simplex.

Page 52: Cap3 Solucion Del Modelo de Prog Lin

52

FORMA AUMENTADA: = ≥

Toda restricción del tipo ≥ será aumentada con la substracción de

una variable de holgura y con la suma de una variable artificial.

5x1 + 3x2 ≥ 60

2x1 + 2x2 ≥ 30

Tienen como forma aumentada

5x1 + 3x2 - s3 + A1 = 60

2x1 + 2x2 - s4 + A2 = 30

Page 53: Cap3 Solucion Del Modelo de Prog Lin

53

Toda restricción del tipo = será aumentada con la suma de una

variable artificial.

7x1 + 9x2 = 126

Tiene como forma aumentada

7x1 + 9x2 + A3 = 126

Esta forma aumentada se explica en relación al algoritmo simplex.

Para la desigualdad ≥ si sólo se realiza la substracción de la

variable de holgura, y junto con la selección inicial de las variables

de decisión iguales a cero nos da un valor negativo para las

variables de holgura adicionadas; situación que no puede manejar el

algoritmo.

Page 54: Cap3 Solucion Del Modelo de Prog Lin

54

La variable Artificial solventa esta condición, pero tal como lo dice

es una variable ajena al problema y para poder dar una solución

al final todas ella deben ser iguales a cero.

MÉTODO DE PENALIZACIÓN LA GRAN “M”

El método de penalización o también llamado de la Gran “M”

realizará el siguiente tratamiento.

“M” significa: un coeficiente Muy grande o Mucho, Si todas las

variables artificiales tienen un valor de cero, la solución será

equivalente con la del problema original.

Si alguna de las variables artificiales tiene un valor distinto de

cero, el problema original es infactible.

Page 55: Cap3 Solucion Del Modelo de Prog Lin

55

Una vez aumentadas las variables artificiales a las restricciones

correspondientes, se aumentan las variables artificiales a la

función objetivo con un coeficiente de castigo o penalización MAi

para minimización y – MAi para maximización.

Nótese que es en el sentido opuesto de optimización, a

continuación se reduce a cero el coeficiente para las variables

básicas en el renglón de la función objetivo. (Columnas donde se

localiza la matriz identidad, en este método siempre habrá factores

de M).

Una vez establecidas las variables básicas en forma correcta, se

procede de manera habitual con el algoritmo Simplex

Page 56: Cap3 Solucion Del Modelo de Prog Lin

56

PROBLEMA DE MINIMIZACION:

min z = 60 x1 + 50 x2

sujeto a 5x1 + 3x2 ≥ 60

2x1 + 2x2 ≥ 30

7x1 + 9x2 = 126

donde x1 , x2 ≥ 0

Iniciamos con el método de la gran m es decir aumentando las

variables artificiales a la función objetivo:

min z = 60 x1 + 50 x2 + MA1 +MA2 +MA3

sujeta a 5x1 + 3x2 - x3 + A1 = 60

2x1 + 2x2 - x4 + A2 = 30

7x1 + 9x2 + A3 = 126

donde x1 , x2, x3, x4, A1, A2, A3, ≥ 0

Page 57: Cap3 Solucion Del Modelo de Prog Lin

57

Ahora para resolver como un problema de maximización:

max -z = - 60 x1 - 50 x2 - MA1 - MA2 - MA3

sujeto a 5x1 + 3x2 - x3 + A1 = 60

2x1 + 2x2 - x4 + A2 = 30

7x1 + 9x2 + A3 = 126

donde x1 , x2, x3, x4, A1, A2, A3, ≥ 0

Posteriormente establecemos la tabla simplex para el problema de

maximización:

Page 58: Cap3 Solucion Del Modelo de Prog Lin

58

Los coeficientes de las variables básicas en el renglón cero no son

correctos y se deben reducir a cero.

Page 59: Cap3 Solucion Del Modelo de Prog Lin

59

Los coeficientes de las variables básicas en el renglón cero no son

correctos y deben reducirse a cero.

Los coeficientes de las variables básicas en el renglón cero no son

correctos y deben reducirse a cero.

Page 60: Cap3 Solucion Del Modelo de Prog Lin

60

La tabla ya es correcta y con esta inicialización se resuelve por el

algoritmo Simplex.

Columna y renglón pivote

Page 61: Cap3 Solucion Del Modelo de Prog Lin

61

Pivote

Pivote

Page 62: Cap3 Solucion Del Modelo de Prog Lin

62

Actualización de tabla

El coeficiente más negativo y columna pivote

Page 63: Cap3 Solucion Del Modelo de Prog Lin

63

Pivote

Pivote

Page 64: Cap3 Solucion Del Modelo de Prog Lin

64

Actualización de la tabla

El coeficiente más negativo y columna pivote

Page 65: Cap3 Solucion Del Modelo de Prog Lin

65

Pivote

Pivote

Page 66: Cap3 Solucion Del Modelo de Prog Lin

66

Actualización de tabla y es óptima*

Page 67: Cap3 Solucion Del Modelo de Prog Lin

67

Como todo problema de minimización puede ser expresado como

uno de maximización, el algoritmo ya definido puede seguir siendo

utilizado sin modificar ningún criterio. Siempre que existan

restricciones de igualdad o del tipo mayor o igual que, se

aumentarán de forma adecuada las restricciones y puedan ser

manejadas por el algoritmo.

En el método de penalización o de la gran “M”, además de

aumentar el sistema; se aumentan las variables artificiales a la

función objetivo con un coeficiente de castigo en sentido opuesto al

de optimización. Se actualiza correctamente los coeficiente en el

renglón cero para la variables básicas. Una vez inicializado

correctamente se sigue el algoritmo Simplex de forma habitual

Page 68: Cap3 Solucion Del Modelo de Prog Lin

68

Page 69: Cap3 Solucion Del Modelo de Prog Lin

69

MÉTODO DE LAS 2 FASES

2. 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 70: Cap3 Solucion Del Modelo de Prog Lin

70

• 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.

DETERMINACIÓN DE UNA SBF INICIAL

Page 71: Cap3 Solucion Del Modelo de Prog Lin

71

• 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 72: Cap3 Solucion Del Modelo de Prog Lin

72

APLICACIÓN DEL MÉTODO DE LAS 2 FASES

EJEMPLO 5.3.

MÉTODO DE LAS 2 FASES

• El PL es el siguiente:

Min (z) = 3x + 2,5y

sujeto a:

2x + 4y 40

3x + 2y 50

x, y 0

• El problema de apoyo, utilizando el método de las 2 Fases:

Min (z) = 0x + 0y + 0 s1 + 0 s2 + A1 + A2

sujeto a:

2x + 4y - s1 + A1 = 40

3x + 2y - s2 +A2 = 50

x, y, s1, s2, A1, A2 0

Page 73: Cap3 Solucion Del Modelo de Prog Lin

73

Page 74: Cap3 Solucion Del Modelo de Prog Lin

74

Page 75: Cap3 Solucion Del Modelo de Prog Lin

75

PLANTEAMIENTO FORMAL DEL SIMPLEX EN

FORMA DE TABLEAU

• Una manera más formal de ver la resolución de problemas de P.L.

mediante el Simplex es la siguiente :

• Sea un PL en forma estándar:

Max cx

sujeto a :

Ax =b

x ≥ 0

• Esta formulación equivale a:

Max cx

sujeto a :

z – cBxB – cNxN = 0 [1]

xB + B-1NxN = B-1b [2]

x ≥ 0

Page 76: Cap3 Solucion Del Modelo de Prog Lin

76

• Sustituyendo [2] en [1] y despejando se obtiene:

z= cB B-1b+(cN - cBB-1N)xN

• Por definición: z= cB B-1b, luego:

(cN - cBB-1N)xN = 0 [3]

• Formando una tabla en formato de “tableau”con [2] y [3] se obtiene:

donde:

cN - cBB-1N : Costes reducidos

B-1b: Valores de las variables básicas

B-1N: Matriz de los coeficientes

Page 77: Cap3 Solucion Del Modelo de Prog Lin

77

• La obtención de la inversa B-1 se realiza aplicando alguna de las

siguientes reglas de álgebra:

– Intercambiar dos filas

– Multiplicar una fila por un valor distinto de cero.

– Intercambiar dos filas

• De esta forma, el método simplex aplicado a problemas en forma de

tableau se reduce a aplicarle a la tabla estas operaciones de forma

que:

– El nuevo tableau representa una nueva solución básica factible.

– Salvo en el caso de soluciones degeneradas, el valor de la

función objetivo mejora en cada iteración.

Page 78: Cap3 Solucion Del Modelo de Prog Lin

78

• ¿Cómo reconocer todos los casos que pueden darse en la

resolución de un PL?

– Solución única: En el último tableau, los costes

reducidos de las variables no básicas son estrictamente

negativos (maximización) o estrictamente positivos

(minimización).

– Soluciones alternativas: En el último tableau, alguno de

los costes reducidos de las variables no básicas es igual

a cero.

– Solución no acotada: Si al efectuar el test de salida de

la base, todos los coeficientes de la columna

correspondiente a la variable entrante son no positivos.

– Problema infactible: Se reconoce porque alguna

variable artificial queda en la base en el tableau final.

Page 79: Cap3 Solucion Del Modelo de Prog Lin

79

• El método Simplex en forma de tableau es útil para los problemas

pequeños.

• Sin embargo, como proceso de cálculo resulta ineficiente y puede

tener problemas de inestabilidad numérica por las siguientes

razones:

– Los problemas reales suelen ser relativamente grandes y con

una densidad (número de posiciones ocupadas por un número

distinto de cero, dividido por el número total de posiciones)

baja. Si esta matriz se conserva en forma de tableau, se

ocupan m(m+n) posiciones de memoria. Si tan sólo se

conservan los valores distintos de cero junto con sus

coordenadas, la ocupación en memoria es muchísimo menor.

Page 80: Cap3 Solucion Del Modelo de Prog Lin

80

• Existe una forma implícita de almacenar la inversa, que ocupa un

espacio en memoria inferior a mxm

EJEMPLO:

– Un problema real de PL tiene densidades que oscilan

típicamente entre 0,5% y 2%.

– Supongamos un problema de PL de 200 restricciones, 500

variables y una densidad del 1%

– Si guardamos explícitamente todos los valores de la matriz A,

ocuparemos 200(200+500)= 140.000 posiciones de memoria.

– Si guardamos la misma matriz implícitamente (número de filas,

número de columna y valor del coeficiente no cero

correspondiente) entonces ocuparemos tan sólo

(200x500)x1% x 3= 3000 posiciones de memoria.

Page 81: Cap3 Solucion Del Modelo de Prog Lin

81

– La acumulación de errores de redondeo puede originar

problemas de cálculo importantes, hasta tal punto que la

solución obtenida puede resultar equivocada

• Por todos estos motivos, los códigos comerciales no utilizan la

versión del Simplex en forma de tableau.

• Lo más corriente es que utilicen una versión del método de las dos

fases y, dentro de cada una de ellas, alguna variante de un

algoritmo conocido como método simplex revisado.

Page 82: Cap3 Solucion Del Modelo de Prog Lin

82

Page 83: Cap3 Solucion Del Modelo de Prog Lin

83 . 4 , 3 , 2 , 1 , 0

1 4 2 5 1 10

9 3 2 10 1 10 . .

2 1 2

=

= - +

= + +

- -

i x i

x x x

x x x a s

x x Min

. .

2 1 2 +

. 2 , 1 , 0

1 2 5 1 10

9 2 10 1 10

=

+

+

i x i

x x

x x a s

x x Máx

Ejemplo:

Se debe agregar una variable de holgura y una variable de exceso

(x3 , x4 ), y llevarlo a su forma estándar.

Page 84: Cap3 Solucion Del Modelo de Prog Lin

84

Aplicamos Simplex de dos Fases :

Fase 1:

. 5 , 4 , 3 , 2 , 1 , 0

1 5 4 2 5 1 10

9 3 2 10 1 10 . .

5

=

= + - +

= + +

i xi

x x x x

x x x a s

x Min

Así queda la siguiente tabla:

x1 x2 x3 x4 x5

10 10 1 0 0 9

10 5 0 -1 1 1

0 0 0 0 1 0

Page 85: Cap3 Solucion Del Modelo de Prog Lin

85

=

=

=

=

0 0 0

4

2

1 ,

1 9

5

3

x x x

D

x x x

B

x

Luego se hace cero el costo reducido de la variable x5 de la tabla

anterior, y queda la siguiente tabla inicial.

x1 x2 x3 x4 x5

10 10 1 0 0 9

10 5 0 -1 1 1

-10 -5 0 1 0 -1

Luego la variable entrante a la base es x1 ( pues r1<0).

x1 x2 x3 x4 x5

10 10 1 0 0 9

10 5 0 -1 1 1

-10 -5 0 1 0 -1

Page 86: Cap3 Solucion Del Modelo de Prog Lin

86

Calculamos Min{ 9/10, 1/10}= 1/10, por lo tanto sale x5.

x1 x2 x3 x4 x5

0 5 1 1 -1 8

1 1/2 0 - 1/10 1/10 1/10

0 0 0 0 0 0

=

=

=

=

0

0

0

5

4

2

,

8

10 / 1

3

1

x

x

x

D x

x

x

B

x

Que corresponde a la solución óptima del problema en la Fase 1,

con valor óptimo 0. De aquí entonces tomamos x1 y x3 como

variables básicas para fase 2.

Page 87: Cap3 Solucion Del Modelo de Prog Lin

87

Fase 2:

x1 x2 x3 x4

0 5 1 1 8

1 1/2 0 - 1/10 1/10

-2 -1 0 0 0

En la tabla hacemos 0 los costos reducidos de var.básicas

x1 x2 x3 x4

0 5 1 1 8

1 1/2 0 - 1/10 1/10

0 0 0 - 1/5 1/5

Luego la variable entrante a la base es x4 ( pues r4<0).

Page 88: Cap3 Solucion Del Modelo de Prog Lin

88

calculamos Min{ 8/1, (-1/10)/(1/10)}= 8, por lo tanto sale x3.

x1 x2 x3 x4

0 5 1 1 8

1 1 0 1/10 9/10

0 1 1/5 0 1 4/5

=

=

=

=

0

0

3

2 ,

8

10 / 9

4

1

x

x

D x

x

x

B x

Que resulta ser la solución óptima del problema.

Page 89: Cap3 Solucion Del Modelo de Prog Lin

89

Algunos casos especiales

1.- Problema Infactible. Esta situación se detecta cuando el valor óptimo del problema de la fase 1 da mayor que cero.

2.- Múltiples soluciones óptimas. Esta situación se detecta cuando existen costos reducidos iguales a cero en una o más de las variables básicas óptima

3.- Problema no acotado. Esta situación se detecta cuando al realizar el cálculo de la variable que deja la base todos los elementos ykj de la columna j en la tabla son negativos, para j el índice de una variable no básica con costo reducido negativo.

Page 90: Cap3 Solucion Del Modelo de Prog Lin

90

Page 91: Cap3 Solucion Del Modelo de Prog Lin

91

Page 92: Cap3 Solucion Del Modelo de Prog Lin

92

Page 93: Cap3 Solucion Del Modelo de Prog Lin

93

Page 94: Cap3 Solucion Del Modelo de Prog Lin

94

Page 95: Cap3 Solucion Del Modelo de Prog Lin

95

Page 96: Cap3 Solucion Del Modelo de Prog Lin

96

Page 97: Cap3 Solucion Del Modelo de Prog Lin

97

Page 98: Cap3 Solucion Del Modelo de Prog Lin

98

Page 99: Cap3 Solucion Del Modelo de Prog Lin

99

Page 100: Cap3 Solucion Del Modelo de Prog Lin

100

Page 101: Cap3 Solucion Del Modelo de Prog Lin

101

FIN DE LA PRESENTACION

GRACIAS