You are on page 1of 41

EL METODO SIMPLEX

INVESTIGACIÓN DE OPERACIONES

Ing. César Canelo Sotelo


EL MÉTODO SIMPLEX
• 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 no-negatividad 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 BÁSICA FACTIBLE

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.
SOLUCIÓN BÁSICA FACTIBLE

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).
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 conjuntos de VNB se obtienen diferentes
soluciones básicas. Algunos conjuntos de m variables no originan
una solución básica.
SOLUCIONES BÁSICAS FACTIBLES

Por tanto, para el PL del ejemplo, las


soluciones básicas:
x1=2, x2=1, x3 =0 y x1=0, x2=3, 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 extremo. 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 que ilustra 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 BÁSICAS FACTIBLES

R2
B

Región factible R1
A
C

Puntos extremos de la región factible:


A = (0, 0), B = (0, 40), C = (30, 0), E =(20, 20)
SOLUCIONES FACTIBLES
Correspondencia entre soluciones factibles y vértices (puntos extremos).
Variables Variables Soluciones básicas Correspondencia a
básicas no factibles vértice
básicas
S1, S2 X1, X2 X1=X2=0, S1=40, S2=60 A
X2, S2 X1, S1 X1=S1=0, X2=40, S2=20 B
X1, X2 S1, S2 S1=S2=0, X1=X2=20 E
X1, S1 X2, S2 X2=S2=0, X1=30, S1=10 C
X2, S1 X1, S2 X1=S2=0, S1=-20, X2=60 No es SBF porque s1 < 0
D
X1, S2 X2, S1 X2=S1=0, X1=40, S2=-20 No es SBF porque s2 < 0
F
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
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 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 a11 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 PL, 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 más común 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”.

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.
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 a11 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
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
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”.

Cada solución tiene un valor y la función


objetivo controla cuál de las muchas
soluciones es la óptima.
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 inicial. 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 iteración tiene un
mejor valor, 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.
• Por experiencia el número de iteraciones que
deben efectuarse para hallar la solución
óptima en la mayoría de los problemas,
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


GRACIAS

You might also like