Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INVESTIGACIN DE OPERACIONES I Haga clic para modificar el estilo de subttulo del Ing. Csar Canelo Sotelo patrn
5/25/12
EL MTODO SIMPLEX
El algoritmo del simplex provee una metodologa rpida y efectiva para resolver problemas de programacin lineal. El mtodo simplex es un mtodo que llega a la solucin ptima a travs de iteraciones sucesivas. Comienza una solucin bsica factible inicial y sucesivamente obtiene soluciones que ofrecen mejores valores para la 5/25/12 funcin objetivo.
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 estndar. Para convertir un PL en la forma estndar, cada restriccin de desigualdad se debe reemplazar por una restriccin de 5/25/12 igualdad.
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 restriccin <= una variable de holgura si (variable de 5/25/12 holgura para la i-sima restriccin), que es
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 Obsrvese que el PL est en la forma estndar.
5/25/12
En resumen, si la i-sima restriccin de un PL es una restriccin <=, entonces se convierte en una restriccin de igualdad al sumar una variable de holgura si a la isima restriccin y aadir la restriccin de signo si >= 0.
5/25/12
Para ilustrar cmo una restriccin >= se puede convertir en una restriccin de igualdad, consideramos el siguiente PL: Min Z = 50x1 + 20x2 + 30x3 + 80x4 s. a. : 400x1 + 200x2 + 150x3 + 500x4 >= 500 3x1 + 2x2 >=
5/25/12
En resumen, si la i-sima restriccin de un PL es una restriccin >=, entonces se puede convertir en una restriccin de igualdad al restar una variable de exceso ei en la i-sima restriccin y aadir la restriccin de signo ei >= 0.
5/25/12
Considere un sistema Ax=b de m ecuaciones lineal y n variables (suponga n>=m). DEFINICIN Una solucin bsica 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 5/25/12
Con el objeto de hallar una solucin bsica para AX=b, primero se escoge un conjunto de n-m variables (las variables no bsicas, 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 bsicas, VB) que satisfacen a AX=b. Es evidente que las elecciones distintas de variables no bsicas dan como resultado diferentes soluciones bsicas. 5/25/12
Se empieza por escoger un conjunto de 32=1 (3 variables, 2 ecuaciones) variables no bsicas. Por ejemplo, si VNB={x3}, entonces, VB={x1, x2}. Los valores de las variables bsicas se obtienen haciendo x3 =0 y resolviendo
5/25/12
x1 + x2 = 3
SOLUCIONES FACTIBLES
DEFINICIN Cualquier solucin bsica de un PL en la cual todas las variables son no negativas es una solucin bsica factible (SBF). Por tanto, para el PL del ejemplo, las soluciones bsicas: x1=2, x2=1, x3 =0 y x1=0, x2=3 y x3 =2 son soluciones bsicas factibles.
5/25/12
SOLUCIONES FACTIBLES
TEOREMA Un punto en la regin factible de un PL es un punto extremo si y slo si es una solucin bsica factible para un PL. Sea S la regin factible de un PL en la forma estndar. Un punto P es un punto extremo de S si para todos los segmentos de recta que contienen a P y estn contenidos por completo en S, P es un punto terminal. Esto da como resultado que los puntos extremos de la regin factible de 5/25/12
SOLUCIONES FACTIBLES
Ejemplo para ilustrar la correspondencia entre puntos extremos y soluciones bsicas factibles sealadas en el Teorema 1. Max z = 4x1 + 3x2 s. a. : x1 + x2 <= 40 2x1 + x2 <= 60 x1, x2 >= 0
5/25/12
X 2 D B
SOLUCIONES FACTIBLES
E Regi n factibl e
A C X 1
Puntos extremos de la regin factible: B = (0, 40), C = (30, 0), E = (20, 20) y F = (0,0)
5/25/12
SOLUCIONES FACTIBLES
Correspondencia entre soluciones factibles y vrtices (puntos extremos). Variables no Soluciones factibles Correspondencia a vrtice Variables bsicas bsicas bsicas (punto extremo) x1, x2 x1, s1 x1, s2 x2, s1 x2, s2 s1, s2 s1, s2 x2, s2 x2, s1 x1, s2 x1, s1 x1, x2 s1=s2=0, x1=x2=20 x2=s2=0, x1=30, s1=10 x2=s1=0, x1=40, s2=20 x1=s2=0, s1=-20, x2=60 x1=s1=0, x2=40, s2=20 x1=x2=0, s1=40, s2=60 E C No es SBF porque s2 < 0 A No es SBF porque s1 < 0 D B F
5/25/12
X 2 (0,6 0)
SOLUCIONES FACTIBLES
D B E (20,2 Regi 0) n factibl C e (30, 0)
(0,40)
F (0,0 )
A (40, 0) X 1
5/25/12
SOLUCIONES BASICAS FACTIBLES ADYACENTES DEFINICIN Para cualquier PL con m restricciones, se dice que dos soluciones bsicas factibles son adyacentes si sus conjuntos de variables bsicas tienen m-1 variables bsicas en comn. En el ejemplo, dos soluciones bsicas factibles sern adyacentes si tienen 2-1=1 variable bsica en comn. Por tanto la SBF en el punto E de la fig. es adyacente a la SBF en el punto C. De manera intuitiva 5/25/12
Pasos que sigue el algoritmo del simplex para resolver un PL de maximizacin: Se encuentra una SBF para el PL, a esta SBF se le llama SBF inicial. En general, la SBF ms reciente se denomina SBF actual, por lo que al principio del problema la SBF inicial es la SBF inicial.
1)
2)
Se determina si la SBF actual es una solucin ptima para el PL. Si no es as, entonces se determina una SBF 5/25/12
EL MTODO SIMPLEX EN FORMA TABULAR La forma tabular del mtodo simplex registra slo la informacin esencial, en forma muy compacta:
1)
Los coeficientes de las variables en la funcin objetivo (Cj). Las constantes del lado derecho de las restricciones (bi). La variable bsica correspondiente en cada ecuacin.
2)
3)
4)
s. a. : a11X1 + a12X2 + . . . + a1nXn + Xn+1 b1 b2 bm a21X1 + a22X2 + . . . + a2nXn ... ... ... ... + Xn+2 ... + Xn+m = = =
5/25/12
EL TABLERO SIMPLEX
Cj Ck Xk Cn+1 Xn+1 Cn+2 Xn+2 ... ... ... ... ... ... Cn+m Xn+m b C1 X1 C2 X2 a12 a22 ... ... ... am2 ... ... ... ... ... ... ... ... Cn Xn a1n a2n ... ... ... amn Cn+1 Xn+1 1 0 ... ... ... 0 ... ... ... ... ... ... ... 0 Cn+m Xn+m 0 0 ... ... ... 1
Zj Cj - Zj
Z1
Z2
...
Zn Cn-Zn
... ...
C1-Z1 C2-Z2 . . .
5/25/12
DEFINICIONES
Todo modelo de programacin lineal, luego de habrsele 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 solucin de tal sistema es un vector n-dimensional que satisface la relacin Ax= b.
5/25/12
DEFINICIONES
Solucin bsica.- Es aquella solucin en la que (nm) 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 solucin de este tipo puede tener como mximo m componentes no nulos. Solucin bsica no degenerada.- Es una solucin bsica que tiene exactamente m componentes no nulos.
5/25/12
El problema de programacin lineal consiste en hallar el vector columna X que es solucin de: a11x1 + a12x2 + . . . + a1nxn = b1 a21x1 + a22x2 + . . . + a2nxn = b2 (1) ... ... ... ... ..
EL MTODO 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 funcin (2) es la funcin objetivo, se 5/25/12 observar que se ha definido el problema
EL MTODO SIMPLEX
TEOREMA 1 Dado un problema de programacin lineal, en el cual no puedan existir soluciones bsicas factibles degeneradas y en el que se ha formado una solucin bsica factible en funcin de las m primeras variables, puede formarse una nueva solucin bsica 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.
5/25/12
EL TABLERO SIMPLEX
Cj Ck Xk Cn+1 Xn+1 Cn+2 Xn+2 ... ... ... ... ... ... Cn+m Xn+m b C1 X1 C2 X2 a12 a22 ... ... ... am2 ... ... ... ... ... ... ... ... Cn Xn a1n a2n ... ... ... amn Cn+1 Xn+1 1 0 ... ... ... 0 ... ... ... ... ... ... ... 0 Cn+m Xn+m 0 0 ... ... ... 1
Zj Cj - Zj
Z1
Z2
...
Zn Cn-Zn
... ...
C1-Z1 C2-Z2 . . .
5/25/12
LA SOLUCIN PTIMA Cada solucin tiene un valor y la funcin objetivo controla cul de las muchas soluciones es la ptima. Si aplicamos el teorema 1 podemos, efectivamente, encontrar dicha solucin ptima. TEOREMA 2 Dado un problema de programacin lineal en el cual son imposibles las soluciones bsicas factibles degeneradas, 5/25/12 en el que la solucin ptima es nica y
Si se sabe de qu tipo es la solucin ptima y cmo generar una solucin de tal ndole a partir de otra, se necesita una regla que permita decidir qu variable se debe introducir en la nueva solucin. TEOREMA 3 Supongamos que tenemos un problema de programacin lineal y una solucin bsica factible del mismo. Si existe una variable Xk para la cual se puede realizar el clculo de mediante su propia regla, se 5/25/12 puede generar otra solucin que aumente el
Por el teorema 1, tenemos que: = min bi / aik , todo aik >0 Y por el teorema 2 tenemos que: z = z + (ck zk) Puesto que estamos tratando de encontrar la solucin mxima, es lgico 5/25/12 exigir que Z > Z . Ya que Z depende de la para
EL ALGORITMO DEL SIMPLEX El algoritmo del Simplex presupone que ya se ha hallado una solucin bsica factible en el momento de iniciar las iteraciones. El procedimiento detallado para hallar la solucin ptima del problema general de programacin lineal de maximizacin es el siguiente: Calculamos Cj Zj para cada variable que no est en la presente solucin. a) Si para al menos un j, Cj Zj es
1.
5/25/12
3.
La teora del mtodo simplex asegura que la solucin hallada en cada paso tiene un valor mayor, o al menos igual, que el de la solucin anterior. Puesto que el nmero de soluciones bsicas del sistema de ecuaciones es finito, el algoritmo debe converger hacia la solucin ptima en un nmero finito de iteraciones. La experiencia ha demostrado que el nmero de iteraciones que deben efectuarse en la mayora de los problemas que 5/25/12 se encuentran en la prctica, oscila
UN PROBLEMA DE MAXIMIZACIN
El tipo ms sencillo de problema con el que se trabaja en programacin lineal es el de maximizacin, en el que todas las restricciones son de tipo menor o igual que.
5/25/12
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 metlicos 1, 2 y 3. Los requerimientos de fabricacin 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 5/25/12 b3. Una tonelada del producto 3 requiere
PROBLEMA
En este problema de programacin lineal, las variables funcionales o de decisin 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 mxima a la funcin objetivo: Z = 100x1 + 200x2 + 50x3
5/25/12
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 s2 10x1 + 8x2 + = 2000 5x3 +
5/25/12
que sale: S3
5/25/12
Consideremos el siguiente problema de programacin lineal, en el que las variables funcionales o de decisin son X1, X2 y X3, que representan las unidades a fabricar de los productos 1, 2 y 3. El problema es encontrar el 5/25/12 vector X que hace mxima a la
PROBLEMA DE MAXIMIZACIN CON RESTRICCIONES DADAS POR IGUALDADES Considerando las variables de holgura en la primera y tercera restriccin, tenemos: 5x1 + 5x2 + 10x3 + s1 = 1000 10x1 + 8x2 2000 + 5x3 = + s2
VARIABLES ARTIFICIALES Para corregir esta situacin, se introduce una variable artificial en la segunda restriccin, para obtener: 5x1 + 5x2 + 10x3 + s1 = 1000 10x1 + 8x2 = 2000
5/25/12
+ 5x3
+ a1 +
10x1
+ 5x2
VARIABLES ARTIFICIALES
5/25/12
Entonces, una variable artificial en una restriccin cumple el papel de variable bsica en su restriccin. A pesar de que se ha corregido el problema para que tenga la forma correcta para empezar el algoritmo, esta no es una solucin factible. Las variables artificiales representan productos imaginarios, por lo que cualquier valor que tome a1 no satisface la segunda restriccin.
EL MTODO DE PENALIZACIN Dejamos a1 en el sistema de forma que se pueda empezar el algoritmo, pero intentaremos sacarla de ste asignndole un coeficiente en la funcin objetivo igual a M. La funcin objetivo se convierte entonces en: Z = 100x1 + 200x2 + 50x3 Ma1 Si Z se debe maximizar, a1 debe 5/25/12 dejar la solucin y por lo tanto debe
EL MTODO DE PENALIZACIN En general, cuando el modelo en la forma estndar para el mtodo simplex contiene variables artificiales, stas se deben penalizar en la funcin objetivo con un coeficiente M: - Ma1 + Ma2
5/25/12
Maximizacin Minimizacin
EL MTODO DE PENALIZACIN 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 solucin bsica factible y se contina hasta determinar la 5/25/12
EL MTODO DE PENALIZACIN 3) Se obtiene una tabla simplex en la cual todos los (cj zj) <= 0, pero la variable artificial permanece en la solucin con un valor positivo. En este caso, la solucin es no factible, es decir, Z no puede optimizarse en funcin de los trminos no negativos. Desde el punto de vista prctico esto significa que se est tratando de hacer algo imposible con los recursos disponibles.
5/25/12
PROBLEMA DE MAXIMIZACIN 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 restriccin del problema es una restriccin tipo mayor o igual que, esto da lugar al siguiente modelo PL : 5x1 + 5/25/12 <= 1000 5x2 + 10x3
PROBLEMA DE MAXIMIZACIN CON RESTRICCIONES FORMADA POR DESIGUALDADES MAYOR O IGUAL QUE
Haciendo los clculos apropiados, sumando variables de holgura a la 1ra y 3ra restricciones y restando una variable de exceso a la 2da restriccin, obtenemos: 5x1 + 5x2 + 10x3 + s1 = 1000 10x1 + 8x2 = 1000
5/25/12
+ 5x3
e2
10x1 + 5x2
PROBLEMA DE MAXIMIZACIN CON RESTRICCIONES FORMADA POR DESIGUALDADES MAYOR O IGUAL QUE
Para tener una solucin inicial bsica factible, es necesario aadir una variable artificial a la segunda restriccin. En la funcin objetivo esta variable artificial estar penalizado con el coeficiente M, as: Max Z = 100x1 + 200x2 + 50x3 Ma1 s. a.:
5/25/12
5x1 + 5x2
+ 10x3 + s1
El tablero simplex para un problema de minimizacin se dispone en la misma forma que para un problema de maximizacin. Las diferencias en el problema de minimizacin son: 1) El valor de la solucin decrece conforme avanzan las iteraciones. 2) En cada iteracin se selecciona como variable bsica entrante, aquella cuyo valor cj zj sea el ms negativo. Para la variable bsica 5/25/12
RESMEN
Tipo de restriccin aumenta <= = (artificial) >= 5/25/12 (exceso y artificial) - e1 + a2 Variable que se
+ s1 (holgura) + a1
Cuando se trabaja con variables artificiales, puede suceder que los coeficientes de la funcin 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 nmero de iteraciones vamos a llegar a un resultado correcto.
5/25/12
EL MTODO DE DOS FASES El mtodo de dos fases desarrolla el algoritmo del simplex en dos fases: 1ra Fase Se formula una funcin objetivo artificial Z*, en la que se asigna Cj=0 a todas las variables, a excepcin de las variables artificiales a las que se les asigna un Cj=-1 para problemas de maximizacin y Cj=+1 para problemas de minimizacin. Se aplica el mtodo 5/25/12 simplex, y despus de cierto nmero
Antes de obtener la ltima tabla simplex, las ai, salen de la base. Entonces se ha obtenido una solucin bsica factible al problema. Se pasa a la 2da fase para obtener la solucin ptima.
b)
Se obtiene la ltima tabla simplex, y las ai estn en la base pero con valor cero. Entonces se ha obtenido una solucin bsica factible al problema, pero puede existir 5/25/12
EL MTODO 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 continan las iteraciones hasta obtener la solucin ptima.
5/25/12
CASOS ESPECIALES CON EL MTODO SIMPLEX Con el mtodo simplex se puede detectar los siguientes casos especiales:
VALORES (CJ-Zj) IGUALES AL SELECCIONAR LA VARIABLE QUE INGRESA Tratndose de un problema de maximizacin, 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 solucin ptima, en caso contrario se elegir como la variable que ingresa a la base aquella que tiene el indicador (Cj-Zj) ms positivo. En caso de empate 5/25/12 (dos o ms Cj-Zj con igual valor) se
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 mnimo, puede elegirse como variable que sale de la base a cualquiera de las variables que empatan en el cociente mnimo. Por convencin, se selecciona la variable que est en la parte superior. 5/25/12
Cj-Zj
S1 es la variable seleccionada para salir de la base. En la siguiente solucin S3 tambin tendr valor cero. 5/25/12
Se dice que un programa lineal que tiene dos o ms soluciones ptimas, tiene soluciones ptimas alternativas. En la solucin grfica, 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 mtodo simplex, 5/25/12 es posible saber que un programa no
0 S2 2/5 1/5 2 -2
5/25/12
La variable no bsica X1 tiene el indicador (Cj Zj)=0. Se puede obtener una solucin ptima alternativa haciendo otra iteracin, en la que ingresar X1 como nueva variable bsica.
Para un PL de maximizacin, se dice que un programa lineal es no acotado, si se puede hacer que el valor de la solucin sea infinitamente grande sin violar ninguna de las restricciones. Los problemas de maximizacin con ganancias ilimitadas no se dan en la prctica, por ello cuando se presenta el no acotamiento, por lo general se debe a un error en la formulacin del 5/25/12
Solucin No Acotada. El vector correspondiente a la columna X3 est formado por aij<=0. No se puede calcular el cociente .
5/25/12
SOLUCIN NO FACTIBLE
Esta condicin ocurre cuando no existe solucin para el programa lineal que satisfaga todas las restricciones, incluyendo las de nonegatividad. Si se usa el mtodo grfico, ello significa que no existe regin factible. El mtodo simplex reconoce la no factibilidad, cuando se ha llegado a obtener una solucin que no puede mejorarse, pero una o ms 5/25/12
SOLUCIN NO FACTIBLE
Cj Ck -1 -M Xk X1 a1 Zj Cj - Zj b 1 2 -2M-1
-1 X1 1 0 -1 0
-1 X2 1 -2 2M-1 -2M
0 S1 1 -4 4M-1 1-4M
0 S2 0 -1 M -M
-M a1 0 1 -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 solucin factible. 5/25/12
SOLUCIN DEGENERADA
Se dice que una solucin es degenerada si una o ms variables bsicas tienen valor cero. La degeneracin se previene cuando hay empate en el cociente min al determinar la variable bsica que saldr de la base. A diferencia de los problemas no acotados y los no factibles, la ocurrencia de la solucin degenerada no 5/25/12 impide que se alcance la solucin
SOLUCIN DEGENERADA
Cj Ck 1 0 Xk X1 S2 Zj Cj - Zj b 1 0 1
1 X1 1 0 1 0
3 X2 1 -1 1 2
0 S1 -1 -2 -1 1
0 S2 0 1 0 0
M a1 1 2 1 M-1
M a2 0 -1 0 M
5/25/12
GRACIAS
5/25/12