Documente Academic
Documente Profesional
Documente Cultură
DE PROGRAMACIÓN LINEAL
Introducción
El Método Simplex es un método analítico de solución de problemas
de programación lineal capaz de resolver modelos más complejos
que los resueltos mediante el método gráfico sin restricción en el
número de variables.
Max Z c1 x1 c2 x 2 . . . c n x n 0 s1 0 s2 . . . 0 sm
s.a. a11 x1 a12 x 2 . . . a 1n x n 1 s1 0 s2 . . . 0 sm b1
a 21 x1 a 22 x 2 . . . a 2n x n 0 s1 1 s2 . . . 0 sm b 2
a m1 x1 a m2 x 2 . . . a mn x n 0 s1 0 s2 . . . 1 sm bm
x1 , . . ., x n 0; s1 , . . ., s m 0
Max Z c1 x1 c2 x 2 . . . c n x n 0 s1 0 s2 . . . 0 sm
s.a. a11 x1 a12 x 2 . . . a 1n x n 1 s1 0 s2 . . . 0 sm b1
a 21 x1 a 22 x 2 . . . a 2n x n 0 s1 1 s2 . . . 0 sm b 2
a m1 x1 a m2 x 2 . . . a mn x n 0 s1 0 s2 . . . 1 sm bm
x1 , . . ., x n 0; s1 , . . ., s m 0
Paso 1: Construir la tabla base
- Número de columnas: Igual al número de variables, n+m
- Número de filas: Igual al número de restricciones, m
x1 x2 ... xn s1 s2 ... sm
Max Z c1 x1 c2 x 2 . . . c n x n 0 s1 0 s2 . . . 0 sm
s.a. a11 x1 a12 x 2 . . . a 1n x n 1 s1 0 s2 . . . 0 sm b1
a 21 x1 a 22 x 2 . . . a 2n x n 0 s1 1 s2 . . . 0 sm b 2
a m1 x1 a m2 x 2 . . . a mn x n 0 s1 0 s2 . . . 1 sm bm
x1 , . . ., x n 0; s1 , . . ., s m 0
x1 x2 ... xn s1 s2 ... sm
Max Z c1 x1 c2 x 2 . . . c n x n 0 s1 0 s2 . . . 0 sm
s.a. a11 x1 a12 x 2 . . . a 1n x n 1 s1 0 s2 . . . 0 sm b1
a 21 x1 a 22 x 2 . . . a 2n x n 0 s1 1 s2 . . . 0 sm b 2
a m1 x1 a m2 x 2 . . . a mn x n 0 s1 0 s2 . . . 1 sm bm
x1 , . . ., x n 0; s1 , . . ., s m 0
Paso 3: Añadir los costos
costos
x1 x2 ... xn s1 s2 ... sm
a11 a12 ... a 1n 1 0 ... 0
a 21 a 22 ... a 2n 0 1 ... 0
a m1 a m2 ... a mn 0 0 ... 1
Max Z c1 x1 c2 x 2 . . . c n x n 0 s1 0 s2 . . . 0 sm
s.a. a11 x1 a12 x 2 . . . a 1n x n 1 s1 0 s2 . . . 0 sm b1
a 21 x1 a 22 x 2 . . . a 2n x n 0 s1 1 s2 . . . 0 sm b 2
a m1 x1 a m2 x 2 . . . a mn x n 0 s1 0 s2 . . . 1 sm bm
x1 , . . ., x n 0; s1 , . . ., s m 0
Paso 4: Identificar las variables básicas
Sujeto a: 2x1 + x2 ≤ 18
2x1 + 3x2 ≤ 42
3x1 + x2 ≤ 24
x1 ≥ 0 , x2 ≥ 0
FORMA ESTANDAR:
2x1 + x2 + s1 = 18
2x1 + 3x2 + s2 = 42
3x1 + x2 + s3 = 24
• 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
del tablero, 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.
• Escribir el tablero inicial simplex:
Variable de
Variable de holgura
Base decisión 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
Encontrar la variable de decisión que entra en la base y la variable de holgura
que sale de la base
Para escoger la variable de decisión que entra en la base, 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.
• 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.
Para encontrar la variable de holgura que tiene que salir de la base, 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.
• 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.
Iteración No. 1
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
Encontrar los coeficientes para el nuevo tablero de simplex.
2 1 1 0 0 18
2 2/3 0 0 -2/3 16
0 1/3 1 0 -2/3 2
2 3 0 1 0 42
2 2/3 0 0 -2/3 16
0 7/3 0 1 2/3 26
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:
• 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:
• La variable que entra en la base es S3, por ser la variable que corresponde al
coeficiente -1
• Para calcular la variable que sale, dividimos los términos de la última columna entre los
términos correspondientes de la nueva columna pivote:
Tablero Final
Base Variable de Variable de holgura Solución
decisió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
• Como todos los coeficientes de la fila de la función objetivo
son positivos, hemos llegado a la solución óptima.
S/A
2x1 + x2 30
3x1 + 2x2 + x3 25
x2 + 2x3 20
x1 , x 2 , x 3 0
Forma tabular
BASE X1 X2 X3 s1 s2 s3
SOLUCION
z -7 -4 -5 0 0 0 0
s1 2 1 0 1 0 0 30
s2 3 2 1 0 1 0 25
s3 0 1 2 0 0 1 20
BASE X1 X2 X3 s1 s2 s3
SOLUCION
z -7 -4 -5 0 0 0 0
s1 2 1 0 1 0 0 30
s2 3 2 1 0 1 0 25
s3 0 1 2 0 0 1 20
BASE X1 X2 X3 s1 s2 s3
SOLUCION
z -7 -4 -5 0 0 0 0 Razón
s1 2 1 0 1 0 0 30 30 / 2
s2 3 2 1 0 1 0 25 25 / 3
s3 0 1 2 0 0 1 20 ___
BASE SOLUCION
X1 X2 X3 s1 s2 s3
z -7 -4 -5 0 0 0 0 Razón
s1 2 1 0 1 0 0 30 30 / 2
s2 3 2 1 0 1 0 25 25 / 3
s3 0 1 2 0 0 1 20 ___
PIVOTE
BASE SOLUCION
X1 X2 X3 s1 s2 s3
z 0 2 0 0 7/3 4/3 85
s1 0 0 0 1 -2/3 1/3 20
s3 0 1/2 1 0 0 1/2 10
SOLUCIÓN
z 85
X1 5
X2 0
X3 0
h1 20
h2 0
h3 10
Ejemplo
Transformar a forma estándar
Forma tabular
Variables de
Variables de holgura
decisión
Var.
Solució Cociente
básica Cb x1 x2 s1 s2 s3 s4 n (b/a)
(Cj)
FO,
1 -5 -4 0 0 0 0 0
Zmax
s1 0 6 4 1 0 0 0 24
s2 0 1 2 0 1 0 0 6
s3 0 -1 1 0 0 1 0 1
s4 0 0 1 0 0 0 1 2
Variables de
Variables de holgura
decisión
Var.
Solució Cociente
básica Cb x1 x2 s1 s2 s3 s4 n (b/a)
(Cj)
FO,
1 -5 -4 0 0 0 0 0
Zmax
s1 0 6 4 1 0 0 0 24 24/6=4
s2 0 1 2 0 1 0 0 6 6/1= 6
s3 0 -1 1 0 0 1 0 1 1/-1=-1
s4 0 0 1 0 0 0 1 2 2/0
s2 1 2 0 1 0 0 6
x1 1 2/3 1/6 0 0 0 4
0 4/3 -1/6 1 0 0 2
s3 -1 1 0 0 1 0 1
x1 1 2/3 1/6 0 0 0 4
0 5/3 1/6 0 0 0 5
Variables de
Variables de holgura
decisión
Var.
Cociente
básica Cb x1 x2 s1 s2 s3 s4 Solución
(b/a)
(Cj)
Zmax 1 0 -2/3 5/6 0 0 0 20
x1 5 1 2/3 1/6 0 0 0 4 4*(3/2)=6
s2 0 0 4/3 -1/6 1 0 0 2 2*(3/4)=3/2
s3 0 0 5/3 1/6 0 0 0 5 5*(3/5)=3
s4 0 0 1 0 0 0 1 2 2/1=2
Variables de
Variables de holgura
decisión
Var.
Cociente
básica Cb x1 x2 s1 s2 s3 s4 Solución
(b/a)
(Cj)
Zmax 1 0 -2/3 5/6 0 0 0 20
x1 5 1 2/3 1/6 0 0 0 4
x2 4 0 1 -1/8 3/4 0 0 3/2
s3 0 0 5/3 1/6 0 0 0 5
s4 0 0 1 0 0 0 1 2
Zmax 0 -2/3 5/6 0 0 0 20
x1 1 2/3 1/6 0 0 0 4
X2*2/3 0 2/3 -2/24 1/2 0 0 1
1 0 3/4 -1/2 0 0 3
s3 0 5/3 1/6 0 0 0 5
X2*5/3 0 5/3 -5/24 5/4 0 0 5/2
0 0 3/8 -5/4 0 0 5/2
Variables de
Variables de holgura
decisión
Var.
Cociente
básica Cb x1 x2 s1 s2 s3 s4 Solución
(b/a)
(Cj)
Zmax 1 0 0 3/4 1/2 0 0 21
x1 5 1 0 3/4 -1/2 0 0 3
x2 4 0 1 -1/8 3/4 0 0 3/2
s3 0 0 0 3/8 -5/4 0 0 5/2
s4 0 0 0 1/8 -3/4 0 0 1/2
s4 0 1 0 0 0 1 2
x2 0 1 -1/8 3/4 0 0 3/2
0 0 1/8 -3/4 0 0 1/2
Como no hay más valores negativos o en otras palabras hay solamente valores
positivos en la fila de Z se detiene el algoritmo simplex quedando Z con 21, X1 con
3 y x2 con 1,5.
MÉTODO SIMPLEX PASO A PASO
La función Objetivo:
ZMAX = 20000X1 + 20000X2 + 20000X3 + 20000X4
Las restricciones:
2X1 + 1X2 + 1X3 + 2X4 <= 24
2X1 + 2X2 + 1X3 <= 20
2X3 + 2X4 <= 20
4X4 <= 16
X1, X2, X3, X4 0
PASO 2: CONVERTIR LAS INECUACIONES EN
ECUACIONES
En este paso el objetivo es asignar a cada recurso una variable de
Holgura, dado que todas las restricciones son "<=".
2X1 + 1X2 + 1X3 + 2X4 + 1S1 + 0S2 + 0S3 + 0S4 = 24
2X1 + 2X2 + 1X3 + 0X4 + 0S1 + 1S2 + 0S3 + 0S4 = 20
0X1 + 0X2 + 2X3 + 2X4 + 0S1 + 0S2 + 1S3 + 0S4 = 20
0X1 + 0X2 + 0X3 + 4X4 + 0S1 + 0S2 + 0S3 + 1S4 = 16
De esta manera podemos apreciar una matriz identidad (n = 4),
formado por las variables de holgura las cuales solo tienen
coeficiente 1 en su respectivo recurso, por el ejemplo la variable de
holgura "S1" solo tiene coeficiente 1 en la restricción
correspondiente a el recurso 1.
La función objetivo se puede escribir así:
ZMAX - 20000X1 - 20000X2 - 20000X3 - 20000X4 = 0
PASO 3: DEFINIR LA SOLUCIÓN BÁSICA INICIAL
El Método Simplex parte de una solución básica inicial para realizar
todas sus iteraciones, esta solución básica inicial se forma con las
variables de coeficiente diferente de cero (0) en la matriz identidad.
1S1 = 24
1S2 = 20
1S3 = 20
1S4 = 16
PASO 4: DEFINIR LA TABLA SIMPLEX INICIAL
Variables de decisión Variables de holgura
Var.
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 Solución Cociente (b/a)
(Cj)
FO,
1 -20000 -20000 -20000 -20000 0 0 0 0 0
Zmax
s1 0 2 1 1 2 1 0 0 0 24 24/2=12
s2 0 2 2 1 0 0 1 0 0 20 20/0
s3 0 0 0 2 2 0 0 1 0 20 20/2=10
s4 0 0 0 0 4 0 0 0 1 16 16/4=4 min
Variable entrante
Solución inicial:
Variables de decisión Variables de holgura
Var.
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 Solución Cociente (b/a)
(Cj)
FO,
1 -20000 -20000 -20000 -20000 0 0 0 0 0
Zmax
s1 0 2 1 1 2 1 0 0 0 24 24/2=12
s2 0 2 2 1 0 0 1 0 0 20 20/0
s3 0 0 0 2 2 0 0 1 0 20 20/2=10
s4 0 0 0 0 4 0 0 0 1 16 16/4=4 min
Zj 0 0 0 0 0 0 0 0 0
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 -20000 -20000 -20000 -20000 0 0 0 0 0
Zmax
s1 0 2 1 1 2 1 0 0 0 24 24/2=12
s2 0 2 2 1 0 0 1 0 0 20 20/0
s3 0 0 0 2 2 0 0 1 0 20 20/2=10
s1 2 1 1 2 1 0 0 0 24
X4*2 0 0 0 2 0 0 0 0.5 8
2 1 1 0 1 0 0 -0.5 16
s3 0 0 0 2 2 0 0 1 0 20
X4*2 0 0 0 2 0 0 0 0.5 8
0 0 2 0 0 0 1 -0.5 16
PASO 5: REALIZAR LAS ITERACIONES NECESARIAS
Variables de decisión Variables de holgura
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 -20000 -20000 -20000 0 0 0 0 5000 80000
Zmax
s1 0 2 1 1 0 1 0 0 -0.5 16
s2 0 2 2 1 0 0 1 0 0 20
s3 0 0 0 2 0 0 0 1 -0.5 16
x4 20000 0 0 0 1 0 0 0 0.25 4
Maximizar Minimizar
Variable que La más positiva de los Cj - Zj La más negativa de los Cj - Zj ,
entra (o la mas negativa de FO) (o la mas positiva de FO)
Siendo b los valores bajo la
celda solución y a el valor Siendo b los valores bajo la celda
correspondiente a la solución y a el valor correspondiente a
Variable que sale
intersección entre b y la la intersección entre b y la variable que
variable que entra. La entra. La más positiva de los b/a.
menos positiva de los b/a.
De esta manera se culmina la primera iteración, este paso se repetirá
cuantas veces sea necesario y solo se dará por terminado el método
según los siguientes criterios.
Maximizar Minimizar
Cuando todos los Cj - Zj Cuando todos los Cj - Zj
Solución Óptima
sean <= 0 sean >= 0
La solución es optima si todos los valores Cj-Zj son negativos o cero cuando se
está maximizando y positivos o cero cuando se está minimizando
• Continuamos con las iteraciones para lo cual tenemos que
repetir los pasos anteriores
Variables de decisión Variables de holgura
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 -20000 -20000 -20000 0 0 0 0 5000 80000
Zmax
s1 0 2 1 1 0 1 0 0 -0.5 16 16/1=16
s2 0 2 2 1 0 0 1 0 0 20 20/2=10
s3 0 0 0 2 0 0 0 1 -0.5 16 12/0
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 -20000 -20000 -20000 0 0 0 0 5000 80000
Zmax
s1 0 2 1 1 0 1 0 0 -0.5 16 16/1=16
s3 0 0 0 2 0 0 0 1 -0.5 12 12/0
s1 2 1 1 0 1 0 0 -0.5 16
x2 1 1 0.5 0 0 0.5 0 0 10
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 0 0 -10000 0 0 10000 0 5000 280000
Zmax
s1 0 1 0 0.5 0 1 -0.5 0 -0.5 6
s3 0 0 0 2 0 0 0 1 -0.5 12
x4 20000 0 0 0 1 0 0 0 0.25 4
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 0 0 -10000 0 0 10000 0 5000 280000
Zmax
s1 0 1 0 0.5 0 1 -0.5 0 -0.5 6 6/0.5=12
s3 0 0 0 2 0 0 0 1 -0.5 12 12/2=6
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 0 0 -10000 0 0 10000 0 5000 280000
Zmax
s1 0 1 0 0.5 0 1 -0.5 0 -0.5 6
x3 0 0 0 1 0 0 0 0.5 -0.25 6
x4 20000 0 0 0 1 0 0 0 0.25 4
FO,
0 0 -10000 0 0 10000 0 5000 280000
Zmax
x3 0 0 10000 0 0 0 5000 -2500 60000
0 0 0 0 0 10000 5000 2500 340000
x2 1 1 0.5 0 0 0.5 0 0 10
x3 0 0 0.5 0 0 0 0.25 -0.125 3
1 1 0 0 0 0.5 -0.25 0.125 7
Variables de decisión Variables de holgura
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 0 0 0 0 0 10000 5000 2500 340000
Zmax
s1 0 1 0 0 0 1 -0.5 -0.25 -0.375 3 3/1 =1
x4 20000 0 0 0 1 0 0 0 0.25 4
Podemos observar que existe una solución óptima, dado el hecho de que se encuentre
la variable "S1" en la solución óptima con un coeficiente de "3" significa que se
presenta una holgura de 3 unidades del recurso (pieza rectangular de 8 pines).
Si seguimos operando, y eliminamos S1 – obtenemos otra solución optima.
Variables de decisión Variables de holgura
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 0 0 0 0 0 10000 5000 2500 340000
Zmax
x1 20000 1 0 0 0 1 -0.5 -0.25 -0.375 3 3/1 =1
x4 20000 0 0 0 1 0 0 0 0.25 4
0 1 0 0 -1 1 0 0.5 4
Variables de decisión Variables de holgura
Var.
Solución
básica Cb x1 x2 x3 x4 s1 s2 s3 s4 (b)
Cociente (b/a)
(Cj)
FO,
1 0 0 0 0 0 10000 5000 2500 340000
Zmax
x1 20000 1 0 0 0 1 -0.5 -0.25 -0.375 3
x2 20000 0 1 0 0 -1 1 0 0.5 4
x4 20000 0 0 0 1 0 0 0 0.25 4
Variables de decisión
Var. básica Z,
(Cj) x1 x2 x3 x4 Solución
(Cb)
0 0 0 0
s1 0 2 1 1 2 0 24
s2 0 2 2 1 0 0 20
s3 0 0 0 2 2 0 20
s4 0 0 0 0 4 0 16
Z FO 20000 20000 20000 20000 0
Presionar continuar tantas veces que sea necesario
para generar reportes
Tabla final
Informe de respuestas
Informe de confidencialidad
Informe de limites
WinQSB
WINQSB (Sistema de consultas para negocios)
Módulos de
WinQSB
Módulos de WinQSB
1. Análisis de muestreo de aceptación (Acceptance Sampling Analysis)
2. Planeación agregada (Aggregate Planning)
3. Análisis de decisiones (Decision Analysis)
4. Programación dinámica (Dynamic Programming)
5. Diseño y localización de plantas (Facility Location and Layout)
6. Pronósticos (Forecasting)
7. Programación por objetivos (Goal Programming)
8. Teoría y sistemas de inventarios (Inventory Theory and System)
9. Programación de jornadas de trabajo (Job Scheduling)
10. Programación lineal y entera (Linear and integer programming)
11. Procesos de Markov
12. Planeación de Requerimiento de Materiales
13. Modelación de redes (Network Modeling)
14. Programación no lineal (Nonlinear Programming)
15. PERT y CPM (PERT_CPM)
16. Programación cuadrática (Quadratic Programming)
17. Cartas de control de calidad (Quality Control Chart)
18. Sistemas de cola (Queuing Analysis)
19. Simulación de sistemas de cola (Queuing Analysis Simulation)
MÓDULO 1: Aceptación de análisis de prueba (ASA)
Desarrolla y analiza aceptación de planes de prueba para atributos y
características de calidad de variables. Incluye capacidades
específicas para:
Prueba Simple
Prueba Doble
MÓDULO 2 : Planificación agregada (AP)
Permite definir los problemas de planificación agregada en tres
formas: modelo simple, modelo de transporte y modelos de
programación lineal. Este programa permite especificar la
disponibilidad de horas extras, demoras en la entrega de pedidos,
subcontratación, pérdida de ventas, y contratos y despidos de
recursos (Ej. Empleados)
MÓDULO 3 : Análisis de Decisión (DA)
Resuelve cuatro problemas de decisión típicos:
• análisis bayesiano,
• análisis de la mesa de pago,
• análisis de decisión de árbol y
• teoría de juegos
Dibuja el gráfico del árbol de decisión para los problemas mencionados;
y además realiza la simulación de Monte Carlo para el problema del
juego zero-sum.
Introducción Ayuda
de datos
Calculadora
Cargar un
problema
existente
Ejemplo
Planificación de producción
Se desean construir mesas y sillas. Los recursos
disponibles son de 30 m2 de madera por semana y
48 hs. de trabajo por semana. La demanda de las
sillas es de 5 unidades y la de mesas es de 10
unidades.La utilidad que se obtiene por las mesas
es de $10 y por las sillas es de $8. Además para
construir cada mesa se necesitan 4.5 m2 de madera
y 6 hs. por unidad. Para las sillas : 1.5 m2 de madera
y 3 hs. por cada unidad fabricada.
LP-ILP Especificación del problema
Criterios
para la
función obj.
Tipos de
variable
Formato
para los
datos de
entrada
Título del problema (Problem Title): Se escribe el título con que identificamos el
problema.
Número de variables (Number of Variables): Se escribe la cantidad de variables con
que cuenta el sistema en el modelo original.
Número de restricciones (Number of Constraints): Se anotan la cantidad de
restricciones con que cuenta el modelo (no se debe contar la restricción de no
negatividad).
Objetivo (Objective Criterion): Los problemas de programación lineal y entera se
clasifican en dos: problemas de Maximización (Maximization) y
Minimización (Minimization).
Formato de entrada de datos (Data Entry Format): Permite elegir entre dos
plantillas distintas para introducir los datos del modelo. La primera alternativa se
asemeja a una hoja de calcula, mientras que la segunda, es una plantilla diseñada
especialmente para este fin.
Tipo de variable (Default Variable Type): En esta parte se indica las características
del modelo:
Continuas no negativas (Nonnegative continuous): Indica que el modelo lo componen variables
continuas no negativas (iguales o mayores a cero).
Enteras no negativas (Nonnegative Integer): Variables enteras no negativas.
Binarias (Binary): Variables cuyo valor solo serán 0 o 1.
Sin asignar / Irrestrictas (Unsigned/unrestricted): Variables irrestrictas.
Formato de datos de entrada
Max Z = 10 X1 +8X2
Restricciones:
4.5X1 + 1.5X2 <= 30
6.0X1 + 3.0X2 <= 48 X1, X2 <= 0
Formato matricial
Por último aparecen tres filas donde definimos el valor mínimo aceptado por
cada variable (Lower Bound), el valor máximo (Upper Bound) y el tipo de
variable (Variable Type). En el caso del valor máximo, M significa que la
variable podrá recibir valores muy grandes (tendientes a infinito).
Una vez que ingresamos los datos para el problema
Cambia el ancho Resuelve el Resuelve el
de la columna y problema problema mostrando
el largo de la fila cada iteración
Menú de
Formato resultados
de los
números
Muestra la
solución
gráficamente
(con 2
variables)
Formato de los números
• Estándar 12,354.68
• Dinero $12,354.68
• Fijo 12354.98
• N.Científica 1.23E +04
• 0,00 12354.68
• 0,000 12354.6789
Resolver el problema
• Para variables enteras o binarias
=> Método Ramificar y Acotar
• Para problemas PL
=>Método Simplex, muestra Informe
Combinado
Resolver el problema
Resolver el problema
Informe Combinado
Entendiendo la matriz final
La columna Valores de la solución (Solution Value) presenta los
valores óptimos encontrados. En este ejemplo se tiene que X1 es 0
unidades, X2 es 2,0000 unidades.
La columna Costo o Utilidad Unitaria (Unit Cost or Profit) muestra
los coeficientes de la función objetivo para cada variable.
La columna Contribución Total (Total Contribution) representa el
costo o utilidad generado por cada variable. Por ejemplo, si el valor
de la variable X2 es 2.0000 unidades y la utilidad unitaria es $8.0000,
el beneficio total resultará de la multiplicación de ambos valores
dando como resultado $16.0000. Justo debajo de la última
contribución aparece el valor de Z óptimo ($16.0000).
La columna Costo Reducido (Reduced Cost) identifica el costo que
genera incrementar una unidad para cada variable no básica. La
siguiente columna llamada Estatus de la Variable (Basis Status)
muestra si una variable es básica (Basic) o no (at bound).
La siguiente parte de la matriz final (Constraint Summary), presenta
las variables de holgura del sistema (C1, C2).
La columna Lado de la mano derecha (Left Hand Side)
muestra el valor alcanzado al reemplazar los valores de X1, y
X2 en cada restricción (recuerde que cada restricción se
identifica con su variable de holgura).
Las dos columnas siguientes (Direction y Right Hand Side)
muestran las especificaciones dadas a las restricciones en
cuanto al operador de relación (=) y los valores originales de
las restricciones (33.0000 y 48.0000).
La columna Déficit o Superávit (Slack or Surplus) muestran
los valores de las variables de holgura y la columna Precios
Sombras (Shadow Price) corresponde a los precios sombras;
cuánto se estaría dispuesto a pagar por una unidad adicional
de cada recurso.
Resuelve y muestra los pasos
• Problema PL : muestra tabla del M.Simlex
(identifica variables entrantes y salientes)
• Problema con variables enteras o binarias: muestra
la solución utilizando el M.Ramificar y Acotar.
Menú de resultados
• Informe combinado
• Tabla Simplex
• Resumen de la solución
• Resumen de las condiciones
• Análisis de sensibilidad
• Run-Time and Iteration
Resuelve y muestra los pasos
Tabla Simplex
Iteración 1
Iteración 2
Iteración 3
Método gráfico
Eje X Eje Y
X1: mesas
X2: sillas
Método Simplex Penal
o
de la M grande
Introducción al Método
Los Programas Lineales en los que todas las restricciones son (<=)con
lados derechos no negativos ofrecen una cómoda solución factible
básica de inicio con todas las holguras. Los modelos donde
intervienen restricciones del tipo (=) o (>=) no poseen esta
propiedad.
El Procedimiento para iniciar programas lineales “de mal
comportamiento” con restricciones (=) y (>=) es permitir que
variables artificiales desempeñen el trabajo de holguras en la primera
iteración, para después, en alguna iteración posterior, desecharlas en
forma legítima. Aquí se presentara uno de los dos métodos muy
relacionados, este es: Método M Grande, o Simplex Mejorado.
Método Simplex penal o de la M grande.
El simplex penal es una variante del método simplex aplicable en los
casos en que las variables artificiales son necesarias en el problema,
ya sea de maximizar o también de minimizar. El nombre de simplex
penal se explica porque se penaliza con un coeficiente M, que
representa un valor muy grande (mayor que cualquier otro
coeficiente del problema), a cada variable artificial W i que se incluya
en la función objetivo del problema. Para máximo se utiliza la
penalización con signo menos (- M), por otro lado para mínimo se
utiliza signo más (+ M).
Las variables artificiales se usan para la primera solución básica del
simplex, pero el valor muy grande del coeficiente M, procura su
rápida salida de la base cuando el problema tiene solución factible.
Conversión a la forma estándar
1. Si es negativo el término constante del lado derecho de una
restricción, se intercambian los dos miembros; esto equivale a
cambiar de signo a todos los términos en ambos lados de la
restricción y, adicionalmente, cuando la restricción es de
desigualdad, a invertir el sentido de la desigualdad.
Es decir, si la restricción es
si
en donde bi es negativo
entonces
con - bi positivo y, cuando se aplique, con el signo de desigualdad
invertido.
Se indican algunos ejemplos:
Las operaciones (1), (2) y (3) no
modifican la función objetivo.
Algoritmo del método
Paso 1: Se debe llevar a la forma estándar del Simple Penal
cambiando cada restricción por una igualdad según sea la
siguiente tabla:
Paso 2: Se debe Penalizar la Función Objetivo. De acuerdo a la
siguiente tabla:
Paso 3: Antes de pasar al paso inicial debemos a cada restricción que
pasea una variable inicial, se debe multiplicar por M y sumarla con la
función objetiva. Para obtener la fila de dicha función objetiva en la
tabla inicial.
Paso 4: crear la tabla con la función objetiva resultante.
Paso 5: aplicar el método Simplex Conocido (iterar por Gauss Jordan).
Todas las variables “reales” valen inicialmente 0 y las variables
artificiales son las que satisfacen las ecuaciones. Éstas variables
tienen de coeficiente 1.
Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 4 5 -1 0 0 1 0 0 200 200/5=40
-M A2 2 8 0 -1 0 0 1 0 160 160/8=20
-M A3 5 3 0 0 -1 0 0 1 150 150/3=50
Zj -11M -16M M M M -M -M -M -510M
Zj -Cj -11M -16M M M M 0 0 0
+300 +500
-Z ci -300 -500 0 0 0 -M -M -M
Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 4 5 -1 0 0 1 0 0 200
-500 X2 1/4 1 0 -1/8 0 0 1/8 0 20
-M A3 5 3 0 0 -1 0 0 1 150
Zj -11M -16M M M M -M -M -M -510M
Zj -Cj -11M -16M M M M 0 0 0
+300 +500
-M A1 4 5 -1 0 0 1 0 0 200
-500 X2*5 5/4 5 0 -5/8 0 0 5/8 0 100 A1 – x2*5
11/4 0 -1 5/8 0 0 -5/8 0 100
-M A3 5 3 0 0 -1 0 0 1 150
-500 X2*3 3/4 3 0 -3/8 0 0 3/8 0 60 A3 – x2*3
17/4 0 0 3/8 -1 0 -3/8 1 90
-Z ci -300 -500 0 0 0 -M -M -M 0
Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 11/4 0 -1 5/8 0 0 -5/8 0 100
-500 X2 1/4 1 0 -1/8 0 0 1/8 0 20
-M A3 17/4 0 0 3/8 -1 0 -3/8 1 90
Zj -7M- -500 M -M+ M 0 M- -M -190M+
125 125/2 125/2 10000
Zj -Cj -7M 0 M -M M 0 2M - 0 -190M+
+175 +125/2 125/2 10000
Calculamos Zj
Col. X1: -11/4M-500/4-17/4M = -28/4M – 125/2=-7M-125/2;
Col. X2: -500;
Col. S1: -1*(-M) = M;
Col. S2: -5/8M-500*(-1/8) - 3/8M = -8/8M + 125/2=-M+125/2;
Col. A1: 0;
Col. A2: 5/8M-500/4+ 3/8 M = M – 125/2;
Col. A3: -M – (-M)=0;
Col. Sol: -100M-10000 -90M = -190 M – 10000;
-Z ci -300 -500 0 0 0 -M -M -M
Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 11/4 0 -1 5/8 0 0 -5/8 0 100 100/11/4=400/11
-500 X2 1/4 1 0 -1/8 0 0 1/8 0 20 20/1/4=80
-M A3 17/4 0 0 3/8 -1 0 -3/8 1 90 90/17/4=360/17
Zj -7M- -500 M -M+ M 0 M- -M -190M+
125 125/2 125/2 10000
Zj -Cj -7M 0 M -M M 0 2M - 0 -190M+
+175 +125/2 125/2 10000
-Z ci -300 -500 0 0 0 -M -M -M
Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 11/4 0 -1 5/8 0 0 -5/8 0 100
-500 X2 1/4 1 0 -1/8 0 0 1/8 0 20
-300 X1 1 0 0 3/34 -4/17 0 -3/34 4/17 360/17
Zj -7M- -500 M -M+ M 0 M- -M -190M+
125 125/2 125/2 10000
Zj -Cj -7M 0 M -M M 0 2M - 0 -190M+
+175 +125/2 125/2 10000
Cj Var. X1 X2 S1 S2 S3 A1 A2 A3 Sol.
Sol.
-M A1 0 0 -1 13/34 11/17 0 -13/34 -11/17 710/17
Calculamos Zj
Col. X1: -300;
Col. X2: -500;
Col. S1: -1*(-M) = M;
Col. S2: -13/34M-500*(-5/34) – 300*3/34 = -13/34M + 1600/34=-13/34M+800/17;
Col. S3: -11/17M-500*(1/17) – 300*(-4/17) = -11/17M + 700/17;
Col. A1: 0;
Col. A2: -13/34*(-M) -500*5/34 – 300*(-3/34) = 13/34M + 400/34=13/34M+200/17;
Col. A3: -11/17*(-M) - 500*(-1/17) – 300*(4/17) = 11/17M - 700/17;
Col. Sol: -710/17M – 500*250/17 -300*360/17 = -710/17*M – 233000/17;
-Z ci -300 -500 0 0 0 -M -M -M
Calculamos Zj
Col. X1: -300;
Col. X2: -500;
Col. S1: -500/11 +1200/11 = 700/11;
Col. S2: 1000/11 –1500/22 = 2000/22 – 1500/22 = 500/22 =250/11;
Col. S3: 0;
Col. A1: 500/11 - 1200/11 = - 700/11;
Col. A2: - 1000/11 + 1500/22 = - 2000/22 + 1500/22 = - 250/11;
Col. A3: 0;
Col. Sol: 0*710/11-500*120/11-300*400/11= (-60000-120000)/11= -180000/11;
De esta tabla se interpreta que a cada caballo diariamente se le
deben suministrar 400/11 matas de pasto y 120/11 libras de mineral
para garantizar los requerimientos vitamínicos. Con base en ello se
obtiene un costo total mínimo de $180.000/11. Además, cada caballo
diariamente está consumiendo 700/11 más de vitamina C (por
encima del nivel mínimo establecido; para este caso por encima de
150 miligramos). Como se puede observar en el último tablero, sólo
las variables básicas tienen valor de cero en el renglón Zj-C; lo que
indica que el problema tiene solución única. (Mismo criterio utilizado
para maximización).
Teoría del método Simplex
MÉTODO SIMPLEX
Expresar el problema en forma Agregar variables de no negatividad al Utiliza las variables artificiales en la
estándar transformando las lado izquierdo de cada una de las solución básica Inicial; sin embargo
inecuaciones en ecuaciones ecuaciones correspondientes a las la funcón objetivo de la tabla inicial
introduciendo variables de restricciones de tipo (>=) o (=). Estas se prepara adecuadamente para
holgura variables se denominan variables expresarse en términos de las
artificiales y su adición hace que las variables no básicas únicamente.
restricciones correspondientes
Casos especiales del método simplex
8/4=2
4/2=2
Empate
2. SOLUCIONES ÓPTIMAS MULTIPLES.
La variable H3, es una variable no básica que toma valor Zj-Cj igual a cero en
la fila FZ3, lo que indica que el problema tiene soluciones óptimas múltiples, y
una de ellas es la que se presenta en este último cuadro.
Para establecer la solución del otro extremo o vértice, se entra esta
variable a la base y sale la correspondiente según la regla de salida de
la base.
Observe que ahora la variable que indica la solución óptima múltiple
es la variable H2 (variable no básica), que toma valor Zj-Cj igual a
cero.
Min. Z = 2000 X1 + 4000 X2
S.A.
4 X1 + 8 X2 ≥ 320
6 X1 + 5 X2 ≥ 300
8 X1 + 10 X2 ≤ 800
X1, X2 ≥ 0.
Max. (-Z) = -2X1 - 4X2 –MA1 –MA2
S.A.
4 X1 + 8 X2 -S1 +A1 = 320
6 X1 + 5 X2 -S2 +A2 = 300
8 X1 + 10 X2 +H1 = 800
X1, X2, S1, S2, A1, A2 , H1 ≥ 0.
Tal como se observa en la fila FZ3 (Zj-Cj) la variable S2, tiene valor de cero; lo
que indica que el problema tiene solución óptima múltiple. La solución
presentada en dicho tablero es una de ellas. Para obtener el otro extremo que
es solución óptima entra a la base S2 y sale X2.
3. SOLUCIONES OPTIMAS NO
ACOTADAS.
MAX Z = 5 X1 + 4 X2 - MA1
S.A.
4 X1 + 5 X2 + H1 = 200
3 X1 + 8 X2 +H2 = 240
X2 -S1 +A1 = 50
X1, X2, S1, H1 , H2, A1 > 0.
Como se puede apreciar en el tablero final; todos los valores Zj-Cj son
mayores o iguales a cero, por lo tanto la solución óptima del ejercicio
ya está dada; sin embargo la variable artificial A1 está en la base con
valor de 20 (diferente de cero). Por lo tanto se concluye que el
problema no tiene solución.
Min Z = 5000 X1 + 4000 X2
S.A.
3 X1 + 6 X2 ≤ 180
X1 ≤ 30
X2 ≥ 40
X1, X2 ≥ 0
Max (-Z) = - 5 X1 - 4 X2 –MA1
S.A.
3 X1 + 6 X2 +H1 = 180
X1 +H2 = 30
X2 – S1 +A1 = 40
X1, X2, S1, H1, H2, A1 ≥ 0.
En este tablero están dadas las condiciones de optimalidad; pero la
variable artificial quedo en la base con valor diferente de cero
(A1=10), lo que indica que el problema no tiene solución.
Solución degenerada