Está en la página 1de 72

EL METODO SIMPLEX

INVESTIGACIÓN DE OPERACIONES

Ing. César Canelo Sotelo


EL MÉTODO SIMPLEX
• El algoritmo del simplex provee una metodología
rápida y efectiva para resolver problemas de
programación lineal.
• El método simplex es un método que llega a la
solución óptima a través de iteraciones
sucesivas.
• Comienza una solución básica factible inicial y
sucesivamente obtiene soluciones que ofrecen
mejores valores para la función objetivo.
• En cada iteración el método proporciona un
indicador que evalúa la optimalidad de la
solución encontrada, este indicador es el que nos
permite identificar la solución óptima.
CONVERSIÓN DE UN PL A LA
FORMA ESTÁNDAR
• Antes de poder utilizar el algoritmo simplex
para resolver un PL, éste se debe convertir
en un problema equivalente en el cual todas
las restricciones son ecuaciones y todas las
variables son no negativas. Se dice que un
PL en esta forma está en la forma estándar.
• Para convertir un PL en la forma estándar,
cada restricción de desigualdad se debe
reemplazar por una restricción de igualdad.
CONVERSIÓN DE UN PL A LA FORMA ESTÁNDAR
Por ejemplo, se tiene el siguiente PL:
Max Z = 4x1 + 3x2
s. a. :
x1 + x2 <= 40
2x1 + x2 <= 60
x1, x2 >= 0
Para convertir en restricciones de igualdad,
se define para cada restricción <= una
variable de holgura si (variable de holgura
para la i-ésima restricción), que es la
cantidad de recursos sin usar en la i-ésima
restricción).
CONVERSIÓN DE UN PL A LA FORMA ESTÁNDAR

Así se convierte en el siguiente PL:


Max Z = 4x1 + 3x2
s. a. :
x1 + x2 + s1 = 40
2x1 + x2 + s2 = 60
x1, x2, s1, s2 >= 0
Obsérvese que el PL está en la forma
estándar.
CONVERSIÓN DE UN PL A LA FORMA ESTÁNDAR

En resumen, si la i-ésima restricción de un


PL es una restricción <=, entonces se
convierte en una restricción de igualdad al
sumar una variable de holgura si a la
i-ésima restricción y añadir la restricción
de signo si >= 0.
CONVERSIÓN DE UN PL A LA FORMA ESTÁNDAR

Para ilustrar cómo una restricción >= se puede convertir en


una restricción de igualdad, consideramos el siguiente PL:
Min Z = 50x1 + 20x2 + 30x3 + 80x4
s. a. :
400x1 + 200x2 + 150x3 + 500x4 >= 500
3x1 + 2x2 >= 6
2x2 + 2x2 + 4x3 + 4x4 >= 10
2x1 + 4x2 + x3 + 5x4 >= 8
x1, x2, x3, x4 >= 0

Para convertir la i-ésima restricción >= en una restricción de


igualdad, se define una variable de exceso o excedente ei.
Se define ei como la cantidad con la cual la i-ésima
restricción se satisface en exceso.
CONVERSIÓN DE UN PL A LA
FORMA ESTÁNDAR
El PL resultante en la forma estándar es:
Min Z = 50x1 + 20x2 + 30x3 + 80x4
s. a. :
400x1 + 200x2 + 150x3 + 500x4 - e1 = 500
3x1 + 2x2 - e2 = 6
2x1 + 2x2 + 4x3 + 4x4 - e3 = 10
2x1 + 4x2 + x3 + 5x4 - e4 = 8

x1, x2, x3, x4, e1, e2, e3, e4 >= 0


CONVERSIÓN DE UN PL A LA FORMA ESTÁNDAR

En resumen, si la i-ésima restricción de un


PL es una restricción >=, entonces se
puede convertir en una restricción de
igualdad al restar una variable de exceso
ei en la i-ésima restricción y añadir la
restricción de signo ei >= 0.
SOLUCIÓN FACTIBLE BÁSICA
Suponga que se ha convertido un PL con m
restricciones en la forma estándar. Si se supone
que la forma estándar contiene n variables
(denominadas por conveniencia x1, x2, … , xn), la
forma estándar de tal PL es:
Max o Min Z = c1x1 + c2x2 + … + cnxn
s. a. :
a11x1 + a12x2 + … + a1nxn = b1
a21x1 + a22x2 + … + a2nxn = b2
... ... ... ...
am1x1 + am2x2 + … + amnxn = bm
xi >= 0 ( i = 1, 2, … , n)
VARIABLES BÁSICAS Y VARIABLES NO
BÁSICAS
Considere un sistema Ax=b de m ecuaciones
lineal y n variables (suponga n>=m).

DEFINICIÓN
Una solución básica para Ax=b se obtiene
haciendo n-m variables iguales a cero, y luego
se determinan los valores de las m variables
restantes. Así se asume que al hacer las n-m
variables iguales a cero se llega a los valores
únicos para las m variables restantes, o que, en
forma equivalente, las columnas para las m
variables restantes son linealmente
independientes.
VARIABLES BÁSICAS Y VARIABLES NO
BÁSICAS
• Con el objeto de hallar una solución básica
para AX=b, primero se escoge un conjunto
de n-m variables (las variables no básicas,
VNB) y se iguala cada una de las variables a
cero. Luego se encuentran los valores de
las n-(n-m)=m variables restantes (las
variables básicas, VB) que satisfacen a
AX=b.
• Es evidente que las elecciones distintas de
variables no básicas dan como resultado
diferentes soluciones básicas.
VARIABLES BÁSICAS Y VARIABLES NO BÁSICAS
• Para ilustrar, se tiene el siguiente sistema de dos ecuaciones
y tres variables:
x1 + x2 = 3
- x2 + x3 = -1
• Se empieza por escoger un conjunto de 3-2=1 (3 variables, 2
ecuaciones) variables no básicas. Por ejemplo, si VNB={x3},
entonces, VB={x1, x2}. Los valores de las variables básicas
se obtienen haciendo x3 =0 y resolviendo
x1 + x2 = 3
-x2 = -1
Se encuentra que x1=2, x2=1, x3=0. Es una solución
básica.
• Si se escogen diferentes VNB se obtienen diferentes
soluciones básicas. Algunos conjuntos de m variables no
originan una solución básica.
SOLUCIONES FACTIBLES
DEFINICIÓN
Cualquier solución básica de un PL en la cual
todas las variables son no negativas es una
solución básica factible (SBF).
Por tanto, para el PL del ejemplo, las
soluciones básicas:
x1=2, x2=1, x3 =0 y x1=0, x2=3 y x3 =2
son soluciones básicas factibles.
Pero la solución básica:
x1 = 3, x2 = 0, x3 = -1 no es una solución
básica factible (porque x3 < 0).
SOLUCIONES FACTIBLES
TEOREMA
Un punto en la región factible de un PL es un
punto extremo si y sólo si es una solución básica
factible para un PL.
Sea S la región factible de un PL en la forma
estándar. Un punto P es un punto extremo de S si
para todos los segmentos de recta que contienen
a P y están contenidos por completo en S, P es un
punto terminal. Esto da como resultado que los
puntos extremos de la región factible de un PL y
las soluciones básicas factibles de un PL sean en
realidad lo mismo.
SOLUCIONES FACTIBLES
Ejemplo para ilustrar la correspondencia entre puntos
extremos y soluciones básicas factibles señaladas en el
Teorema 1.
Max z = 4x1 + 3x2
s. a. :
x1 + x2 <= 40
2x1 + x2 <= 60
x1, x2 >= 0
Luego de agregar las variables de holgura s1 y s2, se obtiene
el modelo de PL en forma estándar:
Max z = 4x1 + 3x2
s. a. :
x1 + x2 + s1 = 40
2x1 + x2 + s2 = 60
x1, x2, s1, s2 >= 0
SOLUCIONES FACTIBLES
X2
D

E
Región
factible
A
F C X1

Puntos extremos de la región factible:


B = (0, 40), C = (30, 0), E = (20, 20) y F = (0,0)
SOLUCIONES FACTIBLES
Correspondencia entre soluciones factibles y vértices (puntos extremos).
Variables Variables Soluciones Correspondencia a
básicas no factibles básicas vértice (punto extremo)
básicas
x1, x2 s1, s2 s1=s2=0, x1=x2=20 E
x1, s1 x2, s2 x2=s2=0, x1=30, C
s1=10
x1, s2 x2, s1 x2=s1=0, x1=40, No es SBF porque s2 < 0
s2=-20 A
x2, s1 x1, s2 x1=s2=0, s1=-20, No es SBF porque s1 < 0
x2=60 D
x2, s2 x1, s1 x1=s1=0, x2=40, B
s2=20
s1, s2 x1, x2 x1=x2=0, s1=40, F
s2=60
SOLUCIONES FACTIBLES
X2
(0,60) D

B
(0,40)

E
(20,20)
Región
factible
F C A
(0,0) (30,0) (40,0) X1

Soluciones en los puntos extremos de la región factible.


SOLUCIONES BASICAS FACTIBLES
ADYACENTES
DEFINICIÓN
Para cualquier PL con m restricciones, se dice
que dos soluciones básicas factibles son
adyacentes si sus conjuntos de variables básicas
tienen m-1 variables básicas en común.
En el ejemplo, dos soluciones básicas factibles
serán adyacentes si tienen 2-1=1 variable básica
en común. Por tanto la SBF en el punto E de la
fig. es adyacente a la SBF en el punto C. De
manera intuitiva podemos comprobar que dos
SBF son adyacentes si comparten una misma
restricción.
SOLUCIONES BÁSICAS FACTIBLES ADYACENTES
Pasos que sigue el algoritmo del simplex para
resolver un PL de maximización:

1) Se encuentra una SBF para el PL, a esta SBF se


le llama SBF inicial. En general, la SBF más
reciente se denomina SBF actual, por lo que al
principio del problema la SBF inicial es la SBF
actual.
2) Se determina si la SBF actual es una solución
óptima para el PL. Si no es así, entonces se
determina una SBF adyacente que tenga un
mejor valor para la función objetivo.
3) Se retorna al paso 2, y se usa la SBF nueva
como SBF actual.
EL MÉTODO SIMPLEX EN FORMA TABULAR
La forma tabular del método simplex registra sólo
la información esencial, en forma muy compacta:
1) Los coeficientes de las variables en la función
objetivo (Cj).
2) Las constantes del lado derecho de las
restricciones (bi).
3) La variable básica correspondiente en cada
ecuación.
4) Una matriz de coeficientes de transformación A
compuesta de dos sub-matrices:
4.1 Coeficientes tecnológicos de las variables de
decisión.
4.2 Vectores unitarios correspondientes a las
variables básicas.
EL MODELO PL EN FORMA ESTANDAR
Max Z = C1X1 + C2X2 + … + CnXn + Cn+1Xn+1+…+ Cn+mXn+m
s. a. :
a11X1 + a12X2 + . . . + a1nXn + Xn+1 = b1
a21X1 + a22X2 + . . . + a2nXn + Xn+2 = b2
... ... ... ... ... …
am1X1 + am2X2 + . . . + amnXn + Xn+m = bm

Xj >= 0 , j = 1, 2, … , n, n+1, … , n+m

Este modelo PL en forma estándar (modelo aumentado)


es el que se lleva al tablero simplex.
EL TABLERO SIMPLEX
Cj  C1 C2 ... Cn Cn+1 ... Cn+m
Ck Xk b X1 X2 ... Xn Xn+1 ... Xn+m
Cn+1 Xn+1 b1 a12 a12 ... a1n 1 ... 0
Cn+2 Xn+2 b2 a21 a22 ... a2n 0 ... 0
... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ...
Cn+m Xn+m bm am1 am2 ... amn 0 0 1
Zj Z Z1 Z2 ... Zn Zn+1 ... Zn+m

Cj - Zj C1-Z1 C2-Z2 ... Cn-Zn Cn+1 –Zn+1 ... Cn+m – Zn+m


DEFINICIONES
• Todo modelo de programación lineal,
luego de habérsele agregado las variables
de holgura y/o exceso, se convierte en un
sistema de ecuaciones con n variables y
m ecuaciones, siendo n>m , en donde las
m restricciones del modelo dan origen a
las m ecuaciones del sistema.
• Una solución de tal sistema es un vector
n-dimensional que satisface la relación
Ax= b.
DEFINICIONES
• Solución básica.- Es aquella solución en la que
(n–m) variables se han igualado a cero y los
valores de las m variables restantes se han
determinado resolviendo las m ecuaciones con m
variables. Una solución de este tipo puede tener
como máximo m componentes no nulos.
• Solución básica no degenerada.- Es una
solución básica que tiene exactamente m
componentes no nulos.
• Solución básica degenerada.- Es una solución
básica que tiene menos de m componentes
distintos de cero.
PROPIEDADES DE LAS SOLUCIONES
El problema de programación lineal consiste en hallar el
vector columna X que es solución de:
a11x1 + a12x2 + . . . + a1nxn = b1
a21x1 + a22x2 + . . . + a2nxn = b2 (1)
... ... ... ... ..
am1x1 + am2x2 + . . . + amnxn = bm

que haga máximo a:

z = c 1x 1 + c 2x 2 + . . . + c nx n (2)

y de tal manera que las variables Xj estén sujetas a las


condiciones:
xj >= 0 ; j= 1, 2, ..., n (3)
EL MÉTODO SIMPLEX
En las ecuaciones (1), se supone que:
• Algunas de las restricciones pueden haber sido
desigualdades antes de que les fueran sumadas o
restadas nuevas variables para convertirlas en
ecuaciones.
• Todas las bi >= 0, lo cual puede requerir que algunas
de las ecuaciones deba multiplicarse por –1.
• n > m, y A es de orden mxn.
• La función (2) es la función objetivo, se observará
que se ha definido el problema general de
programación lineal como un problema de
maximización, que es el problema que se presenta
más frecuentemente en la práctica.
EL MÉTODO SIMPLEX
TEOREMA 1
“Dado un problema de programación
lineal, en el cual no puedan existir
soluciones básicas factibles degeneradas
y en el que se ha formado una solución
básica factible en función de las m
primeras variables, puede formarse una
nueva solución básica factible
introduciendo la variable xk, tal que k > m,
si al menos un elemento de la k-ésima
columna de la matriz reducida es positivo”.
EL TABLERO SIMPLEX

Cj  C1 C2 ... Cn Cn+1 ... Cn+m


Ck Xk b X1 X2 ... Xn Xn+1 ... Xn+m
Cn+1 Xn+1 b1 a12 a12 ... a1n 1 ... 0
Cn+2 Xn+2 b2 a21 a22 ... a2n 0 ... 0
... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ...
Cn+m Xn+m bm am1 am2 ... amn 0 0 1
Zj Z Z1 Z2 ... Zn Zn+1 ... Zn+m

Cj - Zj C1-Z1 C2-Z2 ... Cn-Zn Cn+1 –Zn+1 ... Cn+m – Zn+m


LA SOLUCIÓN ÓPTIMA
Cada solución tiene un valor y la función objetivo
controla cuál de las muchas soluciones es la
óptima. Si aplicamos el teorema 1 podemos,
efectivamente, encontrar dicha solución óptima.

TEOREMA 2
“Dado un problema de programación lineal en el
cual son imposibles las soluciones básicas
factibles degeneradas, en el que la solución
óptima es única y donde pueden formarse
soluciones básicas factibles adicionales, la
solución máxima debe ser una solución factible”.
ELECCIÓN DE LA VARIABLE BÁSICA QUE SALE
Si se sabe de qué tipo es la solución óptima y
cómo generar una solución de tal índole a partir
de otra, se necesita una regla que permita decidir
qué variable se debe introducir en la nueva
solución.
TEOREMA 3
“Supongamos que tenemos un problema de
programación lineal y una solución básica factible
del mismo. Si existe una variable Xk para la cual
se puede realizar el cálculo de θ mediante su
propia regla, se puede generar otra solución que
aumente el valor de la función objetivo en un valor
determinado de antemano”.
Por el teorema 1, tenemos que:
Θ = min bi / aik , para todo aik >0

Y por el teorema 2 tenemos que:


z’ = z + Θ(ck – zk)

Puesto que estamos tratando de encontrar la solución máxima, es


lógico exigir que Z’ > Z . Ya que Z’ depende de la variable Xk que
elegimos, es lógico también requerir que k se elija de forma que el
cambio del valor de la solución, Z’ – Z, resulte tan grande como sea
posible, como quiera que esto no sucede normalmente, es
necesario el cálculo de todas las θ posibles. En vez de hacer esto,
el método usual consiste en determinar como variable que formará
parte de la nueva solución, la que satisface

Ck – Zk = max ( Cj –Zj)

Esta es la regla llamada del “ascenso más rápido”.


EL ALGORITMO DEL SIMPLEX
El algoritmo del Simplex presupone que ya se ha
hallado una solución básica factible en el momento de
iniciar las iteraciones. El procedimiento detallado para
hallar la solución óptima del problema general de
programación lineal de maximización es el siguiente:

1. Calculamos Cj –Zj para cada variable que no está


en la presente solución.
a) Si para al menos un j, Cj –Zj es positivo y si al
menos un aij para este j es positivo, entonces existe
una mejor solución factible.
b) Si para un j, Cj –Zj es positivo, pero los aij para
este j son no positivos, entonces la función objetivo
no está acotada.
c) Si Cj –Zj es no positivo para todo j, entonces la
solución óptima se ha encontrado.
EL ALGORITMO DEL SIMPLEX
2. Si estamos en el caso 1(a), identificamos la variable
que da el mayor Cj –Zj como Xk ( es la columna
pivote). Llamamos Xr a la variable que se reduciría a
cero al aplicar la regla del θ (es la fila pivote). El
elemento ark se llama elemento pivote.

3. Dividimos la r-ésima fila por ark (elemento pivote),


para reducir a 1 el correspondiente elemento de ark
en la tabla siguiente. Efectuamos luego las
operaciones de fila que reducirán a cero todos los
otros aik .

4. Repetimos los pasos 1, 2 y 3 hasta que en alguna


tabla se cumpla la condición 1(c). Entonces se ha
obtenido la solución óptima.
EL ALGORITMO DEL SIMPLEX
• La teoría del método simplex asegura que la
solución hallada en cada paso tiene un valor
mayor, o al menos igual, que el de la solución
anterior. Puesto que el número de soluciones
básicas del sistema de ecuaciones es finito,
el algoritmo debe converger hacia la solución
óptima en un número finito de iteraciones.
• La experiencia ha demostrado que el número
de iteraciones que deben efectuarse en la
mayoría de los problemas que se encuentran
en la práctica, oscila entre m y 2m .
UN PROBLEMA DE MAXIMIZACIÓN

El tipo más sencillo de problema con el que se


trabaja en programación lineal es el de
maximización, en el que todas las restricciones
son de tipo “menor o igual que”.
PROBLEMA
Una empresa cuenta con 1000 toneladas del mineral b1,
2000 toneladas del mineral b2 y 500 toneladas del b3. A
partir de dichos minerales pueden extraerse y fundirse los
productos metálicos 1, 2 y 3. Los requerimientos de
fabricación sobre los productos son los siguientes:
Una tonelada del producto 1 requiere 5 toneladas de
mineral b1, 10 de b2 y 10 de b3. Una tonelada del producto
2 requiere 5 toneladas de mineral b1, 8 de b2 y 5 de b3.
Una tonelada del producto 3 requiere 10 toneladas de
mineral b1, 5 de b2 y nada de b3.
El fabricante obtendrá $100 de ganancia por tonelada del
producto 1, $200 por tonelada del producto 2 y $50 por
tonelada del producto 3.
Se requiere determinar cuántas toneladas de cada
producto que deben fabricarse, a partir de los minerales
aprovechables, para obtener las máximas ganancias de la
operación.
PROBLEMA
En este problema de programación lineal, las variables funcionales o de
decisión son X1, X2 y X3, que representan las unidades a fabricar de los
productos o niveles de actividad.
El problema es encontrar el vector X que hace máxima a la función
objetivo:

Z = 100x1 + 200x2 + 50x3

y que satisface las restricciones:

5x1 + 5x2 + 10x3 <= 1000 Cantidad disponible de mineral b1.


10x1 + 8x2 + 5x3 <= 2000 Cantidad “ “ “ b2.
10x1 + 5x2 <= 500 Cantidad “ “ “ b3.

y la condición de no negatividad:
x1, x2, x3>= 0
PROBLEMA
Puesto que cada una de las restricciones es del tipo
“menor o igual”, debemos sumar nuevas variables no
negativa, variables de holgura, para obtener:

5x1 + 5x2 + 10x3 + s1 = 1000


10x1 + 8x2 + 5x3 + s2 = 2000
10x1 + 5x2 + s3 = 500

Vemos inmediatamente que este problema tiene una


solución básica inicial:

s1 = 1000; s2 = 2000; s3= 500


TABLA SIMPLEX INICIAL

Cj  100 200 50 0 0 0 θ
Ck Xk b X1 X2 X3 S1 S2 S3
0 S1 1000 5 5 10 1 0 0 1000/5 = 200
0 S2 2000 10 8 5 0 1 0 2000/8 = 250
0 S3 500 10 5 0 0 0 1 500/5 = 100

Zj 0 0 0 0 0 0 0 Variable
básica que
Cj-Zj 100 200 50 0 0 0 sale: S3

Variable básica entrante: X2


PROBLEMA DE MAXIMIZACIÓN CON
RESTRICCIONES DADAS POR “IGUALDADES”
Consideremos el siguiente problema de programación lineal, en el que las
variables funcionales o de decisión son X1, X2 y X3, que representan las unidades
a fabricar de los productos 1, 2 y 3.
El problema es encontrar el vector X que hace máxima a la función objetivo:

Z = 100x1 + 200x2 + 50x3

y que satisface las restricciones:

5x1 + 5x2 + 10x3 <= 1000 Tons. disponible de mat . prima b1.
10x1 + 8x2 + 5x3 = 2000 Uso total de la materia prima b2.
10x1 + 5x2 <= 500 Tons. disponible de mat. prima b3.

y la condición de no negatividad:

x1, x2 , x3>= 0
PROBLEMA DE MAXIMIZACIÓN CON
RESTRICCIONES DADAS POR “IGUALDADES”
Considerando las variables de holgura en la
primera y tercera restricción, tenemos:
5x1 + 5x2 + 10x3 + s1 = 1000
10x1 + 8x2 + 5x3 = 2000
10x1 + 5x2 + s3 = 500
Este sistema no tiene una solución básica
inicial, y por lo tanto no se cumplen las
condiciones para empezar el algoritmo del
simplex.
VARIABLES ARTIFICIALES
Para corregir esta situación, se introduce una
“variable artificial” en la segunda restricción,
para obtener:

5x1 + 5x2 + 10x3 + s1 = 1000


10x1 + 8x2 + 5x3 + a2 = 2000
10x1 + 5x2 + s3 = 500

Ahora se tiene la solución básica inicial s1=1000;


a2 = 2000; s3 = 500.
VARIABLES ARTIFICIALES
• Entonces, una “variable artificial” en una
restricción cumple el papel de variable básica
en su restricción. A pesar de que se ha
corregido el problema para que tenga la forma
correcta para empezar el algoritmo, esta no es
una solución factible. Las variables artificiales
representan “productos imaginarios”, por lo
que cualquier valor que tome a2 no satisface
la segunda restricción.
EL MÉTODO DE PENALIZACIÓN
Dejamos a2 en el sistema de forma que se pueda
empezar el algoritmo, pero intentaremos sacarla de
éste asignándole un coeficiente en la función objetivo
igual a –M. La función objetivo se convierte entonces
en:
Z = 100x1 + 200x2 + 50x3 + 0s1 – Ma2 + 0s3

Si Z se debe maximizar, a2 debe dejar la solución y


por lo tanto debe hacerse igual a cero, puesto que M
se considera un número muy grande, tan grande que
puede dominar a los demás números que aparecen en
el problema. El hecho de penalizar a la variable
artificial en la función objetivo con un coeficiente M, se
conoce como el método de la penalización.
EL MÉTODO DE PENALIZACIÓN

En general, cuando el modelo en la forma


estándar para el método simplex contiene
variables artificiales, éstas se deben penalizar
en la función objetivo con un coeficiente M:

- Ma1 Maximización
+ Ma2 Minimización
EL MÉTODO DE PENALIZACIÓN

Cuando se realiza el algoritmo simplex en un problema


que contiene variables artificiales, se puede llegar a
uno de tres casos posibles:
1) Antes de obtener la tabla simplex en la cual
todos los cj – zj <= 0, la variable artificial se reemplaza
por otra variable. Entonces tenemos una solución
básica factible y se continúa hasta determinar la
solución óptima.
2) Se obtiene la tabla simplex en la cual todos los
cj–zj <= 0, y la variable artificial permanece en la
solución pero con valor cero. Entonces la solución del
problema es óptima y factible.
EL MÉTODO DE PENALIZACIÓN

3) Se obtiene una tabla simplex en la cual


todos los (cj – zj) <= 0, pero la variable
artificial permanece en la solución con un
valor positivo. En este caso, la solución es no
factible, es decir, Z no puede optimizarse en
función de los términos no negativos. Desde el
punto de vista práctico esto significa que se
está tratando de hacer algo imposible con los
recursos disponibles.
PROBLEMA DE MAXIMIZACIÓN CON RESTRICCIONES FORMADA
POR DESIGUALDADES “MAYOR O IGUAL QUE”
Continuaremos con el problema que se viene
tratando, pero alterado de forma tal que se
requiere que se usen al menos 1000 tons. de la
materia prima b2. Este requerimiento convierte la
segunda restricción del problema es una
restricción tipo “mayor o igual que”, esto da
lugar al siguiente modelo PL :
5x1 + 5x2 + 10x3 <= 1000
10x1 + 8x2 + 5x3 >= 1000
10x1 + 5x2 <= 500
PROBLEMA DE MAXIMIZACIÓN CON RESTRICCIONES FORMADA
POR DESIGUALDADES “MAYOR O IGUAL QUE”
Haciendo los cálculos apropiados, sumando variables de holgura a
la 1ra y 3ra restricciones y restando una variable de “exceso” a la
2da restricción, obtenemos:
5x1 + 5x2 + 10x3 + s1 = 1000
10x1 + 8x2 + 5x3 – e2 = 1000
10x1 + 5x2 + s3 = 500
Que es el conjunto de ecuaciones que el vector solución X debe
satisfacer a la vez que hace máximo la función objetivo:
Z = 100x1 + 200x2 + 50x3
No se tiene una solución básica inicial factible, puesto que si
hacemos x1=x2=x3=0, obtenemos s1=1000, e2= –1000, s3=500.
Aquí la variable de exceso e2, que fue restada en la segunda
restricción para convertir la desigualdad en igualdad, no cumple con
la restricción de no-negatividad, lo que da lugar a una solución
básica inicial no factible.
PROBLEMA DE MAXIMIZACIÓN CON RESTRICCIONES FORMADA
POR DESIGUALDADES “MAYOR O IGUAL QUE”
Para tener una solución inicial básica factible, es necesario añadir una
variable artificial a la segunda restricción. En la función objetivo esta
variable artificial estará penalizado con el coeficiente –M, así:
Max Z = 100x1 + 200x2 + 50x3 + 0s1 + 0e2 – Ma2 + 0s3
s. a.:
5x1 + 5x2 + 10x3 + s1 = 1000
10x1 + 8x2 + 5x3 – e2 + a2 = 1000
10x1 + 5x2 + s3 = 500
x1, x2, x3, s1, e2, s3, a1 >= 0

Este sí es un problema con solución factible, el método simplex da para


este problema la siguiente solución: x1=0, x2=100, x3=50, e2=50,
Z=22,500.
Se cumple la segunda restricción con demasía o exceso, es decir el
requerimiento de usar por lo menos 1000 tons. del mineral b2 se cumple,
pues se usan 1050 tons., el exceso de 50 sobre el límite mínimo impuesto
lo absorbe la variable de exceso e2.
METODO SIMPLEX PARA PROBLEMA DE MINIMIZACIÓN
El tablero simplex para un problema de minimización se
dispone en la misma forma que para un problema de
maximización. Las diferencias en el problema de
minimización son:
1) El valor de la solución decrece conforme avanzan las
iteraciones.
2) En cada iteración se selecciona como variable básica
entrante, aquella cuyo valor cj – zj sea el más negativo.
Para la variable básica saliente se sigue el mismo criterio de
maximización.
3) La solución óptima se alcanza cuando se tienen todos
los
cj – zj >= 0.
Un problema de minimización puede ser resuelto como un
problema de maximización, aplicando la regla:
Min Z = Max ( – Z)
RESÚMEN

Tipo de
restricción Variable que se aumenta

<= + s1 (holgura)
= + a1 (artificial)
>= - e1 + a2 (exceso y artificial)
EL MÉTODO DE DOS FASES
• Cuando se trabaja con variables artificiales,
puede suceder que los coeficientes de la
función objetivo tengan valores muy grandes,
y que por lo tanto el valor de M no sea
suficientemente grande para estar seguro que
las variables artificiales van a tender a salir de
la base y que en un cierto número de
iteraciones vamos a llegar a un resultado
correcto.
• El método de dos fases, es una técnica para
trabajar con variables artificiales.
EL MÉTODO DE DOS FASES

El método de dos fases desarrolla el algoritmo del


simplex en dos fases:
1ra Fase
Se formula una función objetivo artificial Z*, en
la que se asigna Cj=0 a todas las variables, a
excepción de las variables artificiales a las que se
les asigna un Cj=-1 para problemas de
maximización y Cj=+1 para problemas de
minimización. Se aplica el método simplex, y
después de cierto número de iteraciones, se llega
a uno de los siguientes casos:
EL MÉTODO DE DOS FASES
a) Antes de obtener la última tabla simplex, las ai,
salen de la base. Entonces se ha obtenido una
solución básica factible al problema. Se pasa a
la 2da fase para obtener la solución óptima.
b) Se obtiene la última tabla simplex, y las ai están
en la base pero con valor cero. Entonces se ha
obtenido una solución básica factible al
problema, pero puede existir redundancia en las
restricciones originales. Se pasa a la 2da fase
con las ai como variables básicas con valor cero.
c) Se obtiene la última tabla simplex, pero las ai
están en la base con valor positivo. Se concluye
que el problema no tiene solución factible.
EL MÉTODO DE DOS FASES
2da Fase
a) La primera tabla simplex de la 2da fase es
la última tabla simplex de la 1ra fase, en la
que se colocan los verdaderos Cj de todas las
variables.
b) Se recalculan las filas (Zj) y (Cj-Zj) de la tabla
simplex y se continúan las iteraciones hasta
obtener la solución óptima.
CASOS ESPECIALES CON EL MÉTODO SIMPLEX

Con el método simplex se puede detectar los


siguientes casos especiales:
• Soluciones óptimas alternativas.
• Solución No Acotada.
• Solución No Factible.
• Solución Degenerada.
VALORES (CJ-Zj) IGUALES AL SELECCIONAR LA
VARIABLE QUE INGRESA
• Tratándose de un problema de maximización, para elegir la
variable que entra, si al examinar los indicadores (Cj-Zj)
todos los valores de la fila son cero o negativas, entonces se
tiene la solución óptima, en caso contrario se elegirá como
la variable que ingresa a la base aquella que tiene el
indicador (Cj-Zj) más positivo. En caso de empate (dos o
más Cj-Zj con igual valor) se elige arbitrariamente
cualquiera de las variables para que ingrese a la base.
• Por convención y para trabajar ordenadamente, se
selecciona la variable que corresponde a la columna del
extremo izquierdo.
• Cuando hay empate en el indicador (Cj-Zj) la variable no
elegida para ingresar a la base, será la que tendrá la
prioridad para ingresar en la siguiente iteración.
VALORES (CJ-Zj) IGUALES AL SELECCIONAR LA
VARIABLE QUE INGRESA A LA BASE

Cj 
Ck Xk b X1 X2 X3 S1 S2
... ... ... ... ... ... ... ...
Zj
Cj - Zj 0 3 0 3 -1

Variable elegida para ingresar a la base


VALORES DE COCIENTES θ IGUALES AL SELECCIONAR LA
VARIABLE QUE SALE DE LA BASE

• Si la variable que va ingresar a la base es la que


corresponde a la columna j, y al calcular el
cociente θ = bi/aij, para cada aij>0, se obtiene
empate en el cociente mínimo, puede elegirse
como variable que sale de la base a cualquiera de
las variables que empatan en el cociente mínimo.
Por convención, se selecciona la variable que está
en la parte superior.
• Cuando hay empate en el cociente θmin, la
siguiente solución será una solución degenerada.
VALORES DE COCIENTES θ IGUALES AL SELECCIONAR
LA VARIABLE QUE SALE DE LA BASE

Cj 
Θ
Ck Xk b X1 X2 X3
S1 2
X1
5
S3
2

Cj-Zj

S1 es la variable seleccionada para salir de la base.


En la siguiente solución S3 también tendrá valor cero.
SOLUCIONES ÓPTIMAS ALTERNATIVAS (MULTIPLES)
• Se dice que un programa lineal que tiene dos o más
soluciones óptimas, tiene soluciones óptimas
alternativas.
• En la solución gráfica, se reconocen los óptimos
alternativos, cuando la recta de la F.O. es paralela a una
de las rectas de las restricciones limitantes.
• Cuando se utiliza el método simplex, no es posible
saber que un programa lineal tiene óptimos
alternativos sino hasta que se obtiene la solución
óptima.
• Un PL tiene soluciones óptimas alternativas, si el
indicador (Cj-Zj) es igual a cero para una o más
variables no básicas.
SOLUCIONES ÓPTIMAS ALTERNATIVAS

Cj  6 10 0 0
Ck Xk b X1 X2 S1 S2
0 S1 4 19/5 0 1 -2/5
10 X2 3 3/5 1 0 1/5
Zj 30 6 10 0 2
Cj-Zj 0 0 0 -2

La variable no básica X1 tiene el indicador (Cj –Zj)=0.


Se puede obtener una solución óptima alternativa
haciendo otra iteración, en la que ingresará X1 como
nueva variable básica.
SOLUCIÓN NO ACOTADA (ILIMITADA)
• Para un PL de maximización, se dice que un programa
lineal es no acotado, si se puede hacer que el valor de
la solución sea infinitamente grande sin violar ninguna
de las restricciones.
• Los problemas de maximización con ganancias
ilimitadas no se dan en la práctica, por ello cuando se
presenta el no acotamiento, por lo general se debe a
un error en la formulación del modelo del problema.
• El método simplex identifica en forma automática
cualquier no acotamiento antes de llegar a la tabla
simplex final. Es imposible el cálculo del cociente θ
debido a que el vector en la columna j tiene todos los
aij<=0. El algoritmo del simplex se trunca, debido a que
no se puede determinar qué variable debe salir de la
base.
SOLUCIÓN NO ACOTADA (ILIMITADA)

Cj  20 10 0 0 -M
Ck Xk b X1 X2 X3 X4 a1

20 X1 2 1 0 -1 0 1
0 X4 5 0 1 0 1 0
Zj 40 20 0 -20 0 20

Cj - Zj 0 10 20 0 -M-20

Solución No Acotada. El vector correspondiente a la columna


X3 está formado por aij<=0. No se puede calcular el cociente θ.
SOLUCIÓN NO FACTIBLE
• Esta condición ocurre cuando no existe
solución para el programa lineal que satisfaga
todas las restricciones, incluyendo las de no-
negatividad. Si se usa el método gráfico, ello
significa que no existe región factible.
• El método simplex reconoce la no factibilidad,
cuando se ha llegado a obtener una solución
que no puede mejorarse, pero una o más
variables artificiales siguen estando en la
solución con valor positivo.
SOLUCIÓN NO FACTIBLE

Cj  -1 -1 0 0 -M
Ck Xk b X1 X2 S1 S2 a1
-1 X1 1 1 1 1 0 0
-M a1 2 0 -2 -4 -1 1
Zj -2M-1 -1 2M-1 4M-1 M -M
Cj - Zj 0 -2M 1-4M -M 0

Todos los (Cj – Zj) <=0, lo que corresponde a una tabla simplex final,
en la que hay una variable artificial con valor positivo. Por tanto, se
concluye que el problema no tiene solución factible.
SOLUCIÓN DEGENERADA
• Se dice que una solución es degenerada si una
o más variables básicas tienen valor cero.
• La degeneración se previene cuando hay
empate en el cociente θmin al determinar la
variable básica que saldrá de la base.
• A diferencia de los problemas no acotados y
los no factibles, la ocurrencia de la solución
degenerada no impide que se alcance la
solución óptima. Una solución degenerada es
una solución factible.
SOLUCIÓN DEGENERADA

Cj 1 3 0 0 M M
Ck Xk b X1 X2 S1 S2 a1 a2
1 X1 1 1 1 -1 0 1 0
0 S2 0 0 -1 -2 1 2 -1
Zj 1 1 1 -1 0 1 0
Cj - Zj 0 2 1 0 M-1 M

Solución degenerada. La variable básica S2 =0


GRACIAS

También podría gustarte