Programación lineal, método Simplex:

Anuncio
Programación lineal, método Simplex:
Típico ejemplo de maximizar los beneficios o producción de una empresa: la inyectora de plástico Zonda, que produce
mesas y sillas, en 3 talleres -carpintería, tapizado y empaque-. Siempre conviene ordenar en un cuadro resumen
cualquier / todo problema
MESA
SILLA
RECURSOS
Carpintería
1
3
Tapiceria
1
6
Empaque
1
2/3
6
Benef. Unitario
$8
$3
Puede ser conveniente simplificar para no trabajar con fracciones:
Carpintería
1
3
Tapicería
1
6
Empaque
6
4
36
Benef. Unitario
$8
$3
; ..... O sea, un sistema de restricciones presentado
como inecuaciones:
X1
<= 3
.....
(... con X1 ; X2 >=0 )
X2 <= 6
.....
La función objetivo es Maximizar B = 8X1 + 3X2
6X1 + 4X2 <= 36
.....
($8 y $3 son los beneficios en ambos productos)
(Precaución: si los coeficientes técnicos -del cuadro resumen- no fueran enteros razone por regla de tres como
pasa esos coeficientes hacia los de este sistema de restricciones)
1) Transformar a ecuaciones, agregando las variables de holgura (capacidad ociosa en cada sección)
1X1 + 0X2 + 1X3 + 0X4 + 0X5 = 3
0X1 + 1X2 + 0X3 + 1X4 + 0X5 = 6
6X1 + 4X2 + 0X3 + 0X4+ 1X5 = 36
2) Tabla 0: la primer línea de encabezamiento es común para todas las tablas, con estas 9 columnas: Funcional (F);
Variable (X); Recursos (R); X1...5 ;Variable.Saliente (VS); y puede omitirse en las siguientes tablas o pasos del cálculo si
se ponen a continuación.
3) Convien anotar los coeficientes de la funcion objetivo (F.O), o funcional, arriba de cada X j de la primera línea
encabezamiento, como una ayuda para calcular el punto 9.
4) En la columna X anotar las variable básicas que intervienen en cada cálculo o tabla. La primera solución (en el origen)
solo incluye las variables de holgura (con nada producido todo son excedentes)
Se suponen variables contínuas; fraccionables.
5) En la columna Funcional van los coefic. de las variables básicas en la F.O.. El valor que tiene en el funcional.
6) En la columna Recursos se anotan los recursos iniciales. Es el valor de cada variable X en este paso (tabla) del cálculo
Simplex. En las próximas tablas irán los recursos utilizados para esa etapa (o solución de la frontera acodada).
7) En X1 ... 5 se anotan inicialmente los coeficientes del sistema de ecuaciones; i filas, j columnas. Cada Xij indica cuánto
disminuye el valor de la variables Xi por cada unidad de Xj que decida fabricar (o que sobre, si j fuera un insumo). O sea,
cuánto disminuye el valor de Xi por cada unidad con que j entre valiendo a la base.
8) Conviene trazar rayas: tras la columna Recursos; tras la colum. X 5; y otra inferior.
9) Agregar una última fila: calculando cada X como: (FiXi) – Bj
10) Variable que entra: el mayor negativo en la fila inferior (señalarlo). Se toma el mayor negativo por que mejora el
funcional(...mayor en valor absoluto).
11) Calcular la última columna VS como R / cada coefic. en la columna de la variable que entra.
12) Variable que sale: el menor positivo en VS (señalarlo), ya que indica el valor con que la variable entra a la base y sale
el menor (las variables no pueden ser nulas o negativas).
13) Pivote: intersección entre ambas señales. Señalar el pivote:
TABLA 0:
8
X1
3
X2
0
X3
0
X4
0
X5
3
6
36
1
0
6
-8
0
1
4
-3
1
0
0
0
0
1
0
0
0
0
1
0
3 
6
X1
X4
X5
3
6
18
1
0
0
0
0
1
4
-3
1
0
-6
8
0
1
0
0
0
0
1
0
6
4,5 
X1
X4
X2
3
1,5
4,5
37,50
1
0
0
0
0
0
1
0
1
1,5
-1,5
3,5
0
1
0
0
0
-1/4
1/4
0,75
F
X
R
0
0
0
X3
X4
X5
TABLA 1
8
0
0
TABLA 2
8
0
3
TABLA 1:
VA
14) En la columna X cambiar la var. que sale por la variable que entra.
15) Anotar en la colum. F el valor que tiene cada variable en el funcional.
16) Calcular la nueva línea del pivote como = linea pivote anterior / pivote
17) En la columna del pivote completar con ceros (salvo el 1 del pivote)
18) Para calcular cada elemento restante observar los extremos del cuadrado con diagonal en el pivote:
al
número en la tabla anterior restarle la otra diagonal dividida por el pivote.
19) Calcula la última fila según (9)
20) Calcular la columna VS según (11)
21) Marcar la var. que entra (según 10) y la var. que sale (según 12); circular su intersección como nuevo pivote:
TABLA 2:
22) Repetir el cáculo para la Tabla 1. Se llega al óptimo cuando una tabla tiene todo positivo en la última fila.
23) Los coeficientes R indicarán ahí las producciones; puede quedar algún recurso ocioso. El valor máximo B se puede
anotar al final bajo R ( B = 8(3) + 3(4,5) = $37,50 ) y sobra 1,5 del recurso 2:
Contribución marginal (precios sombra o máximo a pagar por otra unidad ): 3,5 y 0,75 para estos dos insumos.
Costo de oportunidad: si hubiera quedado alguna cifra abajo en las columnas de los productos X1 ó X2 (indicando que
no se produce ese bien) sería el costo o perdida si se decidiera producir lo que no conviene.
Minimizar el costo de producción:
En los casos de minimización, el origen de coordenadas no puede ser el paso inicial por lo que suponemos costos
muy altos para los insumos ($M). Además de las variables reales y las slag (aquí con signo -) se agregará una nueva
variable, artificial en el funcional (+Mi), asi como una columna en las tablas para considerar esos altos costos +$M. En la
columna F de la tabla 0 inicial se anotan esos altos costos $M, continuando el proceso hasta obtener el precio de cada
insumo que minimiza lo requerido para la produccion dada de bienes cuando todos los valores de la última fila sean
negativos !.
Sin embargo, es más fácil calcular el primal, o sea, el dual del mínimo.
DUAL:
Todo caso normal de maximización implica uno de minimización y viceversa.
Como los cálculos para minimizar son mayores que para maximizar, debido a esos agregados comentados, es posible
calcular el dual de un mínimo convirtiéndolo en un caso de máximo, al considerar los recursos disponibles como los
coeficientes de las variables de un nuevo funcional y tomando los coeficientes de las filas del sistema de restricciones del
mínimo como columnas para el sistema del máximo.
Es decir, el dual tiene una variable por cada restricción del primal (y el dual tiene tantas restricciones como
variables hay en el primal).
Solo se trata de que el funcional pase a ser terminos independientes y poner las filas como columnas (las
desigualdades tendran sentido inverso). Esto vale igualmente cuando en el primal hay mezcladas desigualdades contrarias:
si alguna es negativa se le agregara una variable artificial tal como se dijo)
Ej.: Min Z = 5X1 + 9X2
sujeto a
-3X1 - 2X2 >= -6
5X1 + X2 >= 10
X1 + 10X2 >= 9
(...y X1; X2 >=0)
Su dual es:
Max. B = -6Y1 + 10Y2 + 9Y3
-3Y1 + 5Y2 + Y3 <= 5
-2Y1 + Y2 + 10Y3 <= 9
(...con Y1; Y2 >=0)
(2variables y 3 restricciones pasan a ser 3 variables y 2 restricciones...)
Sujeto a :
Análisis de sensibilidad: es el que porcentaje pueden variar los precios del funcional o los recursos (términos
independientes) sin que cambie la solución óptima.
Véanse cualquier texto pero no los mezcle; son equivalentes pero cambian los pasos y su consideración de los signos:
310 ejercicios con resolución en -Investigación Operaciones-, de R. Bronson. Ed. McGraw-Hill
Ricardo F. Solana –Producción- Ed. Interamericana, 1994; Dieguez y Porto -Problemas de Microeconomía-, Amorrortu;
Taha –Investigación de Operaciones-; etc.
S. Eiras Roel
Descargar