Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Gran M
Gran M
El Mtodo de la Gran M
El Mtodo de las dos fases
Definimos la letra M como un nmero muy grande pero finito para usarlo como coeficiente de
las variables artificiales en la funcin objetivo y con sentido contrario a la misma para penalizar
de manera muy grande la existencia de las mismas en la solucin. Si el objetivo es minimizar
las variables artirficiales entraran con M positivo y si es maximizar las variables artificiales se
usaran como -M.
Ejemplo:
Min Z = 2X1 + X2 + 3X3
Sujeto a:
3X1 + X2 + 2X3 <=
X1 - 2X2 + 3X3
2X1 + 3X2 -
X3
X1 + X2 +2X3
10
>=
<=
C.N.N
10 queda:
3X1 + X2 + 2X3 + S1 =
10
>=
Se puede leer como: el uso de la restriccin 2 debe ser como mnimo 6 unidades. Eso significa
que el uso podra ser 6.1 o tal vez 7 u 8... etc. Podramos escribirlo tambin como 6+0.1 o 6+1
o 6+2 ... o en trminos generales:
X1 - 2X2 + 3X3 =
6 + S2 que es equivalente a decir: lo usado en la restriccin2es
igual al mnimo requerido que es 6 mas el adicional que esta en S2. Esto lo podemos reescribir
como:
X1 - 2X2 + 3X3 - S2 =
Sin embargo para el mtodo simplex, cuando aparece esta restriccin tipo >= es necesario
adicionar una variable comodn, llamada Variable Artificial, sin ningn significado fsico, slo
como artificio matemtico. Lo sumamos al lado izquierdo de la restriccin como se muestra a
continuacin:
X1 - 2X2 + 3X3 - S2 + A1 =
Al usar una variable artificial debemos penalizar la funcin objetivo all la vamos a incluir con un
coeficiente muy grande, llamado M, al estar minimizando la sumamos + .MA1.
La tercera restriccin es de tipo <=, por lo que no tenemos ningn problema con ella:
2X1 + 3X2 -
X3
2X1 + 3X2 -
X3 + S3 =
<=
9 queda
9
La cuarta restriccin es de tipo =. Para este tipo de restriccin simplemente adicionamos una
variable artificial al lado izquierdo:
X1 + X2 +2X3
X1 + X2 +2X3
7 queda:
+ A2 =
Recordemos: las variables de holgura quedan con coeficiente 0 en la funcin objetivo y las variables
artificiales con coeficiente M. Positiva si es minimizando o negativa si es maximizando.
X2
Sujeto a:
3X1 +
X2
X1 -
2X2
+ 3X3
2X1 +
3X2
X1 +
+ 2X3
X2
+ S1
=
- S2 + A1
X3
+ S3
+ 2X3
10
6
=
+ A2 =
Fig 1
Min Z
X1
2
X2
1
X3
3
S1
0
S2
0
A1
M
S3
0
A2
M
RHS
R1
R2
R3
R4
3
1
2
1
1
-2
3
1
2
3
-1
2
1
0
0
0
0
-1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
10
6
9
7
Dnde X1, X2, X3 son las variables de decisin, S1, S2 y S3 son las variables de Holgura. R1,
R2, R3, R4 son las restricciones y RHS son las disponibilidades o Requerimientos de las
restricciones, (RHS= Right Hand Side: "el lado derecho" es decir los valores numricos).
Recordemos que tenemos un grupo de variables que llamamos base a las que tenemos en
cuenta en cada iteracin para dar la solucin, las dems variables las llamamos No Bsicas y
se se toman con valor cero (de manera anloga a cuando resolvemos un sistema de ecuaciones
que tiene ms variables que ecuaciones, tenemos que hacer cierta cantidad de estas variables
iguales a cero).
En la primera iteracin la regla para escoger las variables que estarn en la base es la
siguiente:
-Si hay variables de decisin y de holgura, se toma la de holgura.
-Si hay variables de decisin, de holgura y artificiales se toma la variable artificial.
-Si hay variables de decisin y artificiales se toma la variable artificial.
Por esta razn para la primera restriccin dnde hay variables de decisin (Xi) y la de holgura
S1, tomamos la S1 para la base, en la segunda restriccin hay de holgura, de decisin y
artificial, tomamos la artificial A1, en la tercera hay de decisin y de holgura, tomamos la de
holgura S3 y por ltimo en la cuarta restriccin hay de decisin y artificial, por lo que tomamos
la A2 para la base. Todas las dems se asumen en la primera iteracin con valor cero.
Llenar la tabla inicial. Tal como se ve en la tabla de abajo. Hay muchos formatos de tablas,
pero en esencia son el mismo. Esta el listado de variables que se tienen en la base (en la
segunda columna rotulada como base), en la primera columna estn los coeficientes de las
variables bsicas, luego vienen las restricciones con sus coeficientes, las
disponibilidades/requerimientos de las restricciones en la columna RHS, una columna vaca
llamada Theta que ya llenaremos. Las dos ultimas filas son para determinar que variable va a
entrar a la base. Algunas personas omiten la fila Z. Realmente no es necesaria, slo para dar un
poco ms de claridad a la iteracin.
+ 0*2 + M*1
= 2M
= -M
0*2+M*3
+ 0 *-1 + M*2
La fila Cj-Zj es el resultado de restar el coeficiente de la funcin objetivo (la segunda fila de
negro) con el valor de Z que acabamos de calcular.
2-2M = 2-M (evidente!)
1-(-M) = 1+M... etc.
En este momento nos hacemos la siguiente pregunta: cul variable al entrar a la base hace que la funcin
objetivo disminuya ms (porque estamos minimizando)? O en otras palabras, cul es el valor ms negativo de Cj-Zj?
Recordemos que M representa un nmero finito, muy, muy grande. Rapidamente nos damos cuenta que corresponde a
3-5M, puesto que de todas es la que tiene el valor negativo de M con mayor valor absoluto. Si no lo ve tan rpido, haga
lo siguiente: reemplace M por un valor grande positivo en la fila Cj -Zj, digamos por 1000.000, notar de inmediato que
el valor ms negativo esta en la columna respectiva a la variable X3. Por lo tanto sta variable debe entrar a
reemplazar a otra variable en la base... a cul??
Fig 2
X1
X2
X3
Coef Base
2
1
3
0 S1
3
1
2
M A1
1
-2
3
0 S3
2
3
-1
M A2
1
1
2
Z 2M
-M 5M
Cj- Zj 2-2M 1+M 3-5M
Entra
S1
0
1
0
0
0
0
0
S2
0
0
-1
0
0
-M
M
A1
M
0
1
0
0
M
0
S3
0
0
0
1
0
0
0
A2
M RHS Theta
0 10 5.00
0
6 2.00 Sale
0
9
M
1
7 3.50
M 13M
0
9 / -1 = ... bueno, en caso que dividamos por un valor negativo, no lo vamos a tener en cuenta para salir, por lo que
lo rotulamos como M.
7/2 = 3.5
La variable que ms nos restringe, por lo tanto la que el valor de theta es menor (pero positivo) es de 2,
correspondiendo a la variable A1. Por lo tanto sale A1 y entra X3.
A la interseccin entre la columna de la variable que entra y de la fila de la variable que sale, la
llamamos pivote. Sobre ella se emplear el mtodo de Gauss-Jordan. Aqu siempre he sealado
el pivote de color verde. En la fig 2 corresponde al valor 3.
4. Iteracin: Gauss-Jordan
Luego que se ha encontrado que variable sale de la base, y cual entra y que pr lo tanto ya
tenemos una celda pivote, es necesario realizar la eliminacin gaussiana. Ello lo podemos
resumir como:
* Convertir la celda pivote en 1, dividiendo toda la fila por ella misma
* Convertir todas las celdas por encima y por debajo de la celda pivote en cero.
Vamos paso por paso: Convertir la celda pivote en 1.
Llenamos un formato vacio simplex, la fila que contiene el pivote la vamos a pasar al nuevo formato convertida
mediante la siguiente operacin: dividimos toda la fila por el valor del pivote. (Para convertir el pivote en 1).
1/3 = 0.33
-2/3 = -0.67
3/3 = 1(Pivote)
0/3= 0
-1/3= -0.33
1/3=0.33
0/3=0
0/3=0
6/3= 2 (En la columna del RHS)
3 1 2 1 0 0 0 0 10
Y el resultado es:
2.33 2.33 0 1 0.67 -0.66 0
5. Prueba de Optimidad:
La prueba de optimidad se debe hacer cada vez que se evalua si hay una variable que debe
entrar a la base. Y es sencillamente lo siguiente. Se hace la pregunta: Hay alguna variable que
al entrar mejora la solucin? Ello lo vemos en la fila Cj-Zj. Si al calcular esta fila an hay valores
negativos y estamos minimizando, entonces es posible mejorar an ms la solucin. Lo mismo
para el caso de la maximizacin. Si hay valores positivos en la fila Cj-Zj y estamos
maximizando, an no hemos llegado al ptimo.
En la fig 2 nos damos cuenta que haban todavia valores negativos en Cj-Zj, por lo tanto no se
haba terminado, ahora en la fig 3, an quedan valores negativos, el ms negativo de ellos esta
en la variable X2 por lo tanto debe entrar.
Fig 3.
X1
X2
Coef Base
2
1
0 S1
2.33
2.33
3 X3
0.33
-0.67
0 S3
2.33
2.33
M A2
0.33
2.33
Z 1+0.33M -2+2.33M
Cj- Zj 1-0.33M 3-2.33M
Entra
X3
3
0.00
1.00
0.00
0.00
3
0
S1
S2
A1 S3 A2
0
0
M 0 M RHS Theta
1.00
0.67
-0.67 0 0
6 2.57
0.00
-0.33
0.33 0 0
2
M
0.00
-0.33
0.33 1 0
11 4.71
0.00
0.67
-0.67 0 1
3 1.29 Sale
0 -1+0.66M 1-0.66M 0 M 6+3M
0 1-0.66M -1+1.66M 0 0
Aqu en el tablero de la figura 4, evaluamos si hay algun valor negativo en la fila Cj-Zj, nos
damos cuenta que no, por lo que no hay ninguna variable que al entrar mejore la solucin.
Hemos llegado al ptimo: La solucin es Z=9.8571 X1=0 (Por que no estaba en la base.) X2=
1.29, X3=2.86
Fig 4
X1
X2 X3 S1
Coef Base
2
1
3
0
0 S1 2.00 0.00 0.00 1.00
3 X3 0.43 0.00 1.00 0.00
0 S3 2.00 0.00 0.00 0.00
1 X2 0.14 1.00 0.00 0.00
Z 1.43 1.00 3.00 0.00
Cj- Zj 0.57 0.00 0.00 0.00
S2
A1
0
M
0.00
0.00
-0.14
0.14
-1.00
1.00
0.29
-0.29
-0.14
0.14
0.14 M+0.62
S3
A2
0
M
RHS Theta
0.00 -1.00
3.00
0.00
0.29
2.86
1.00 -1.00
8.00
0.00
0.43
1.29
0.00
1.29 9.8571
0.00 M+2.43