Este documento describe dos métodos para resolver problemas de programación lineal con restricciones de igualdad y desigualdad: 1) el método de penalización, el cual asigna un alto costo a las variables artificiales para eliminarlas de la base, y 2) el método de doble fase, el cual resuelve el problema en dos fases, primero minimizando las variables artificiales y luego optimizando la función objetivo original. Ambos métodos generan una solución básica inicial usando variables artificiales y luego las eliminan para encontrar la solución óptima.
1. 1
Restricciones
“=“ y “≥”
Docente : Lic. Gabriel Solari Carbajal
Universidad Nacional Mayor de San Marcos
Facultad de Ingeniería de Sistemas e Informática
Investigación Operativa I
2
Estos problemas requieren un tratamiento diferente al
procedimiento del método Simplex.
Ejemplo:
Restricciones “=“ y “≥”
21
x5x3ZMin +−=
18x2x3 21
≥+
6x2
≤
0x,x 21
≥
sujeto a
4x1
≤
2. 2
3
A la forma estándar, añadiendo las variables de holgura
y de exceso:
Restricciones “=“ y “≥”
21
x5x3ZMin +−=
18xx2x3 521
=−+
6xx 42
=+
0x,x,x,x,x 54321
≥
sujeto a
4xx 31
=+
4
La solución básica inicial sería:
Restricciones “=“ y “≥”
18x18x 55
−=⇒=−
6x4
=
4x3
=
Lo que contradice con las condiciones de no
negatividad.
Se hace necesario el uso de las “variables artificiales”.
Cuyo propósito es generar una solución básica inicial.
3. 3
5
Añadiendo las variables artificiales:
Restricciones “=“ y “≥”
21
x5x3ZMin +−=
18wxx2x3 1521
=+−+
6xx 42
=+
0w,x,x,x,x,x 154321
≥
sujeto a
4xx 31
=+
6
Para este caso en particular la base inicial esta
compuesta por x3, x4 y w1.
Las variables artificiales no deben permanecer en la
base, dado que no son propiamente variables del
sistema.
La manera de eliminar las variables artificiales de la
base origina 2 métodos:
Restricciones “=“ y “≥”
1) Método de Penalización (o de la M grande).
2) Método de la Doble Fase.
4. 4
7
Método de Penalización (o de la M grande)
Las variables artificiales participan en la función objetivo
con un costo prohibitivo.
Si la función objetivo es de maximización, el coeficiente
de las variables artificiales será –M, si la función
objetivo es de minimización, el coeficiente de las
variables artificiales será +M, siendo M un valor
extremadamente grande.
Con estos costos prohibitivos las variables artificiales
deben ser las primeras candidatas a salir de la base.
Restricciones “=“ y “≥”
8
Para el ejemplo se tiene:
Restricciones “=“ y “≥”
154321
Mw0x0x0x5x3xZMin +++++−=
18wxx2x3 1521
=+−+
6xx 42
=+
0w,x,x,x,x,x 154321
≥
sujeto a
4xx 31
=+
5. 5
9
Construyendo el tablero Simplex:
Restricciones “=“ y “≥”
Z x1 x2 x3 x4 x5 w1 Sol.
Z 1 3 -5 0 0 0 -M
x3 0 1 0 1 0 0 0 4
x4 0 0 1 0 1 0 0 6
w1 M 3 2 0 0 -1 1 18
Θ
Pero este tablero aún requiere ser transformado para
que se cumplan las condiciones de variables básicas
(vector unitario y coeficiente Zj-cj = 0).
10
Transformando y resolviendo por el método Simplex:
Restricciones “=“ y “≥”
Z x1 x2 x3 x4 x5 w1 Sol.
Z 1 3M+3 2M-5 0 0 -M 0 18M
x3 0 1 0 1 0 0 0 4 4
x4 0 0 1 0 1 0 0 6
w1 M 3 2 0 0 -1 1 18 6
Θ
Z 1 0 2M-5 -3M-3 0 -M 0 6M-12
x1 -3 1 0 1 0 0 0 4
x4 0 0 1 0 1 0 0 6
w1 M 0 2 -3 0 -1 1 6
7. 7
13
Método de la Doble Fase
Al implementar en software el método de Penalización,
se originan errores de redondeo por el uso de un
parámetro M muy grande.
El métodos de la Doble Fase requiere el siguiente
procedimiento:
Restricciones “=“ y “≥”
FASE 1.- Resolver:
Min Z = w1 + w2 + ... + wk
Sujeto al conjunto de restricciones dado. El resultado
debe ser w1= 0, w2 = 0, ..., y wk = 0.
14
Restricciones “=“ y “≥”
FASE 2.-
Se retiran del cuadro óptimo de la FASE 1, las
columnas correspondientes a las variables artificiales, y
se resuelve con la función objetivo original.
8. 8
15
Para el ejemplo se tiene:
Restricciones “=“ y “≥”
18wxx2x3 1521
=+−+
6xx 42
=+
0w,x,x,x,x,x 154321
≥
sujeto a
4xx 31
=+
154321
w0x0x0xx0x0ZMin +++++=
16
Construyendo el tablero Simplex:
Restricciones “=“ y “≥”
Transformado el tablero para que se cumplan las
condiciones de variables básicas (vector unitario y
coeficiente Zj-cj = 0).
Z x1 x2 x3 x4 x5 w1 Sol.
Z 1 0 0 0 0 0 -1
x3 0 1 0 1 0 0 0 4
x4 0 0 1 0 1 0 0 6
w1 1 3 2 0 0 -1 1 18
Θ
10. 10
19
Eliminando la columna de w1 y resolviendo:
Restricciones “=“ y “≥”
54321
0x0x0x5x3xZMin ++++−=
Z x1 x2 x3 x4 x5 Sol.
Z 1 3 -5 0 0 0
x1 -3 1 0 1 0 0 4
x4 0 0 0 3/2 1 1/2 3
x2 5 0 1 -3/2 0 -1/2 3
Θ
Transformado el tablero para que se cumplan las
condiciones de variables básicas (vector unitario y
coeficiente Zj-cj = 0).
20
Siendo el tablero resultante:
Restricciones “=“ y “≥”
Z x1 x2 x3 x4 x5 Sol.
Z 1 0 0 -21/2 0 -5/2 3
x1 -3 1 0 1 0 0 4
x4 0 0 0 3/2 1 1/2 3
x2 5 0 1 -3/2 0 -1/2 3
Θ
Se verifica que el tablero ya es óptimo.
11. 11
21
Solución:
Restricciones “=“ y “≥”
0x3
=
3x2
=
4x1
=
0x5
=
3x4
=
3Z =
22
NOTA:
Si alguna variable artificial permanece en la base
óptima, el problema no tiene solución.
Restricciones “=“ y “≥”