Metodo simplex - Aplicabilidad, Ejemplo.

Page 1

El método simplex es un método de solución de problemas de programación lineal de un sistema de varias inecuaciones con diversas variables. Se utiliza para resolver problemas complejos. Se basa en unas variables de holgura y exceso las cuales se emplean para transformar las inecuaciones en ecuaciones, estas se relacionan mediante las restricciones. Si las inecuaciones tienen el signo “<=” se suma la variable de holgura, pero si tiene el signo “>=” se resta.

Su objetivo es hallar de una forma natural y económica, la solución óptima del problema planteado (optimizar la función objetivo). Es un método iterativo y con cada iteración se mejora la solución, dado que camina de vértice en vértice de un poliedro. La esencia de este método consiste en primer término elegir una solución factible básica SFB y mediante un sistema de transformación denominado pivotaje se va optimizando la solución, reemplazando las variables una a la vez; una se remueve (variable de salida) y otra reemplaza (variable de entrada). Uno del software más empleados es el PHPsimplex que es una


herramienta online para resolver problemas de programación lineal la cual es de uso libre y gratuito.

Igualmente se puede emplear el JSimplex, TORA, simplex me, simplex on line calculator, etc.

Una empresa de productos químicos produce dos tipos de fertilizantes. Su marca regular contiene nitratos, fosfatos y potasio en la razón 3:6:1 (en peso) y su marca super contiene estos tres ingredientes en la razón 4:3:3. Cada mes la empresa puede confiar en un suministro de 9

toneladas de nitratos 13.5 toneladas de fosfatos y 6 toneladas de potasio. Su planta productora puede elaborar a lo más 25 toneladas de fertilizantes al mes. ¿Si la empresa obtiene una utilidad de $300 por cada tonelada de fertilizante regular y $480 por cada tonelada del super, que cantidades de


cada tipo deberá producir a fin de obtener la máxima utilidad?

Marca regular Supermarca Suministros disponibles

Nitra tos 0.3 0.4 9

Fosfat os 0.6 0.3 13.5

Esto se puede resumir de la siguiente forma:

Potasi Utilidad o 0.1 300 0.3 480 6

Paso 1. Modelación

Función objetivo

Variables

Zmax = 300X1 + 480X2

X1: toneladas de producción de fertilizante tipo regular X2: toneladas de producción de fertilizante tipo super

Restricciones Inicialmente: 0.3X1 + 0.4X2 <= 9 0.6X1 + 0.3X2 <= 13.5 0.1X1 + 0.3X2 <= 6 X1 + X2 <= 25

Paso 2. Convertir inecuaciones en ecuaciones empleando variables de holgura y exceso 0.3X1 + 0.4X2 + S1 + 0S2 + 0S3 + 0S4 = 9 0.6X1 + 0.3X2 + 0S1 + S2 + 0S3 + 0S4 = 13.5 0.1X1 + 0.3X2 + 0S1 + 0S2 + S3 + 0S4 = 6 X1 + X2 + 0S1 + 0S2 + 0S3 + S4 = 25

Se observa en texto rojo la matriz identidad.


Paso 3. Solución básica inicial S1= 9 S2 = 13.5 S3 = 6 S4 = 25

Variables de coeficiente diferente de cero en la matriz identidad Paso 4. Definir la tabla simplex inicial Cb

Cj Variable Solución solución

Zj Cj-Zj Cj: esta fila se refiere al coeficiente de cada una de las variables de la fila solución en la función objetivo. Variable solución: En esta columna se coloca la solución básica inicial, y en cada iteración se van incluyendo las variables

que formarán parte de la solución final. Cb: Esta fila lleva el valor que tiene la variable que se encuentra a su derecha (variable solución) en la función objetivo. Zj: En esta fila se registra la contribución total (suma


de los productos entre término y Cb).

deja de percibirse por cada unidad de la variable correspondiente que no forme parte de la variable solución).

Cj – Zj: en la fila se coloca la diferencia entre la fila Cj y la fila Zj, (utilidad que Una vez diligenciada la solución inicial es:

Cj Cb Variable solución 0 S1 0 S2 0 S3 0 S4 Zj Cj-Zj

300 480 0 Solución X1 X2 S1

0 S2

0 S3

0 S4

9 13.5 6 25 0

0 1 0 0 0 0

0 0 1 0 0 0

0 0 0 1 0 0

0.3 0.6 0.1 1 0 300

0.4 0.3 0.3 1 0 480

Texto en rojo: matriz identidad Texto verde: función objetivo Texto azul: solución básica inicial R1: restricción 1 R2: restricción 2 R3: restricción 3 R4: restricción 4

1 0 0 0 0 0

R1 R2 R3 R4


Paso 5. Realización de iteraciones 1. Evaluar que variable entra (para maximizar, la más positiva; y para minimizar la más negativa, de Cj-Zj, columna pivote) y que variable sale (para maximizar, el menos positivo; y para minimizar, el más positivo de los cocientes entre el valor de la solución y su valor correspondiente de la columna pivote) de la solución óptima Cb

Cj V. solución Solución 0 S1 9 0 S2 13.5 0 S3 6 0 S4 25 Zj 0 Cj-Zj

300 X1

480 X2

0.3 0.6 0.1 1 0 300

0 S1

0.4 0.3 0.3 1 0 480

0 S2

1 0 0 0 0 0

0 S3

0 1 0 0 0 0

0 S4

0 0 1 0 0 0

0 9/0.4= 0 13.5/0.3= 0 6/0.3= 1 25/1= 0 0

*

El * señala la columna pivote (Cj-Zj más positiva porque es un problema de maximización). En este caso X2 (variable que entra) El * rojo denota la variable que sale (como es maximización el cociente menos positivo). En este caso S3 El valor “a” es el correspondiente a la intersección de esta fila y columna seleccionadas. En este caso 0.3 2. Se registran los cambios en la nueva tabla simplex 1) Sale la variable S3 y entra la variable X2 2) Todos los valores de la fila que correspondía a S3 se dividen entre el valor de “a” (0.3) y se registran en esta fila

22.5 45 20 25

*


3) Se registran los datos de las otras filas con sus correspondientes cambios: a cada valor se le resta el nuevo valor de la fila pivote multiplicado por el valor que tiene en la columna pivote en la fila que se está cambiando. Así: a. Fila S1= Fila S1 – Fila X2*0.4 b. Fila S2= Fila S2 – Fila X2*0.3 c. Fila S4= Fila S4 – Fila X2*1 4) Se evalúan los valores Zj= sumatoria Cb*cada variable (solución, X1, X2, Si, S2, S3 y S4) 5) Se calculan los valores Cj – Zj

6) Si todos los valores e esta última fila cumplen con el criterio, se habrá encontrado la solución óptima; en caso contrario se vuelven a repetir todos los pasos haciendo más iteraciones hasta cumplir el criterio. El criterio es el siguiente: Si es un problema de maximización todos los Cj – Zj deben ser <= 0 y si es un problema de minimización deben ser >= 0. En este caso aún hay un positivo (X1=140), por lo tanto, se debe volver a iterar teniendo en cuenta que X1 será variable de entrada (valor más positivo, columna pivote) y S1 será la variable de salida (cociente menos positivo, Fila pivote) y por lo tanto a=1/6.


Cb

Cj V. solución Solución 0 S1 1 0 S2 7 1/2 480 X2 20 0 S4 5 Zj 9600 Cj-Zj

300 X1 1/6 1/2 1/3 2/3 160 140 *

480

0

X2

0

S1

0 0 1 0 480 0

0

S2

1 0 0 0 0 0

0

S3

0 1 0 0 0 0

-1 -1 3 -3 1600 -1600

S4 1/3 1/3 1/3

0 0 0 1 0 0

´1/(1/6)= 15/(1/2)= 20/(1/3)= 5/(2/3)=

7) Se repiten los pasos 1) – 6). Se obtiene la tabla siguiente Cb

Cj V. solución Solución 300 X1 6 0 S2 4 1/2 480 X2 18 0 S4 1 Zj 10440 Cj-Zj

300

480

X1 1 0 0 0 300 0

0

X2 0 0 1 0 480 0

0

S1 6 -3 -2 -4 840 -840

0

S2 0 1 0 0 0 0

0

S3 -8 3 6 2 480 -480

S4 0 0 0 1 0 0

Aquí ya se cumple la condición Cj – Zj <= 0. Por lo tanto, ya se encontró la solución óptima. La cual se consigue con X1= 6 y X2=18, lo que permite una utilidad de $10440.

6 15 60 7

*

1/2


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.