Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Parte 6 Programación Lineal Método Simplex
Parte 6 Programación Lineal Método Simplex
Paso iterativo
Realizacin de iteraciones
Regla de detencin
Si no
4
2x2 12
3x1 + 2x2 18
x1 0 x2 0
En la figura anterior pueden observarse los puntos de interseccin que son las
soluciones en los vrtices del problema. Los cinco puntos que se encuentran en los
vrtices de la regin factible, (0,0), (0,6), (2,6), (4,3), (4,0) son las soluciones
factibles en los vrtices. Algunas de estas soluciones factibles en un vrtice son
adyacentes, en el sentido de que estn conectadas por una sola orilla (segmento de
lnea) de la frontera de la regin factible; esto es, tanto (0,6) como (4,3) son adyacentes
a (2,6). Las tres propiedades clave de las soluciones factibles en los vrtices y que
forman el fundamento del mtodo smplex se resumen como sigue:
Propiedades de las soluciones factibles en un vrtice:
1a. Si existe exactamente una solucin ptima, entonces debe ser una solucin factible
en un vrtice.
1b. Si existen soluciones ptimas mltiples, entonces al menos dos de ellas deben ser
soluciones factibles en vrtices adyacentes.
2. Existe slo un nmero finito de soluciones factibles en los vrtices adyacentes.
3. Si una solucin en un vrtice es igual o menor (segn el valor de Z) que todas las
soluciones factibles en los vrtices adyacentes a ella, entonces es igual o mejor que
todas las dems soluciones en los vrtices; es decir, es ptima.
La propiedad 1 significa que la bsqueda de la solucin ptima se puede reducir
a la consideracin de slo las soluciones factibles en los vrtices, de manera que slo
existe un nmero finito de soluciones que es necesario tomar en cuenta (propiedad 2).
La propiedad 3 proporciona una prueba de optimalidad muy conveniente.
El mtodo smplex explota estas tres propiedades al examinar nada ms unas
cuantas soluciones factibles en vrtices prometedores y al detenerse en cuanto una de
ellas pasa la prueba de optimalidad. En particular, se traslada repetidamente (en forma
iterativa) de una solucin factible en un vrtice a otra, adyacente y mejor. Esto se
puede realizar en forma muy eficiente hasta que la solucin actual no tiene soluciones
factibles en vrtices adyacentes que sean mejores. Este procedimiento se resume
como sigue:
Bosquejo del mtodo smplex:
1. Paso inicial: inicio en una solucin factible en un vrtice.
2.
3.
Este bosquejo muestra la esencia del mtodo smplex,. En el caso del ejemplo,
al utilizar estas reglas de seleccin el mtodo smplex procede como sigue:
1. Paso inicial: comienza en (0,0).
(2,6) es ptima.
Preparacin para el mtodo smplex.
En el procedimiento algebraico es mucho ms conveniente manejar ecuaciones
que desigualdades. As, el primer paso para preparar el mtodo smplex es convertir las
restricciones funcionales de
desigualdad
en
x1
3x1
2x2
+ 2x2
xj 0
x3
+
x4
+ x5
para j = 1, 2, , 5
=
=
=
4
12
18
3x1
x1
3x1
5x2
+ x3
+ x4
2x2
+ 2x2
+ x5
para j = 1, 2, , 5
xj 0
=
=
=
=
0
4
12
18
Z
1
0
0
0
x1
3
1
0
3
x2
5
0
2
2
x3
0
1
0
0
x4
0
0
1
0
x5
0
0
0
1
Lado
derecho
0
4
12
18
Cociente
Es ptima?
(0, 0, 4, 12, 18)
Z=0
La tabla anterior ilustra una propiedad clave que toda tabla smplex debe tener
para estar en la forma apropiada; se trata del patrn especial de los coeficientes de las
variables bsicas. En particular, ntese cmo las columnas de x 3, x4 y x5 (al igual que la
columna de Z) contiene exactamente un +1 en el rengln que corresponde a esa
variable bsica (vase la primera columna), y todos los dems coeficientes en esa
columna son cero. De la misma manera, cada ecuacin contiene exactamente una
variable bsica con coeficiente distinto de cero, en donde este coeficiente es +1. Esta
propiedad es significativa, ya que permite identificar de inmediato la solucin bsica
factible actual a partir de la tabla; esto es, cada variable bsica es igual a la constante
del lado derecho de su ecuacin. Esta primera solucin bsica factible actual se
muestra en la figura anterior en la columna de Es ptima?. De aqu en adelante, para
cada nueva iteracin del mtodo smplex mostraremos la solucin bsica factible actual
en esta columna de la tabla smplex. (Recurdese que las variables no bsicas son
iguales a cero). La tabla smplex inicial quedar automticamente en esta forma
apropiada (a menos que el problema original de programacin lineal no est en nuestra
forma estndar).
El mtodo smplex construye una tabla smplex para cada solucin bsica
factible que se obtiene, hasta alcanzar la solucin ptima. A continuacin describimos
el procedimiento para problemas que ya estn en la forma estndar, con bi 0 para
toda i = 1, 2, , m.
PASO INICIAL. Se introducen variables de holgura. Despus se seleccionan las
variables originales como variables no bsicas iniciales (se igualan a cero) y las
variables de holgura como las variables bsicas originales. Esta seleccin lleva a la
tabla smplex inicial anterior. Como esta tabla est en la forma apropiada, de inmediato
se obtiene la solucin bsica factible inicial para el ejemplo, (0,0,4,12,18). Ahora debe
realizarse la prueba de optimalidad para determinar si la solucin es optima.
PRUEBA DE OPTIMALIDAD . La solucin bsica factible actual es ptima si y slo si
Z
1
0
0
0
x1
3
1
0
3
x2
5
0
2
2
x3
0
1
0
0
x4
0
0
1
0
x5
0
0
0
1
Lado
derecho
0
4
12
18
Cociente
12/2 = 6
18/2 = 9
Es ptima?
mnimo
Parte 2. Se determina la variable bsica que sale; para esto, a) se toma cada
coeficiente estrictamente positivo (>0) de la columna enmarcada, b) se divide el lado
derecho de cada rengln entre estos coeficientes, c) se identifica la ecuacin con el
menor coeficiente y d) se selecciona la variable bsica para esta ecuacin. (Esta
variable bsica es la que llega a cero primero cuando se incrementa la variable bsica
entrante). Se enmarca el rengln de esta ecuacin en la tabla smplex sin incluir la
columna Z y se le da el nombre de rengln pivote. El nmero que est en la
interseccin de los dos recuadros se llama pivote.
En la tabla anterior, se muestran los resultados de las partes 1 y 2 para el
ejemplo (antes de enmarcar el rengln); la prueba del cociente mnimo para
determinar la variable bsica que sale se muestra a la derecha de la tabla. Entonces la
variable bsica que sale es x4.
Parte 3. Se determina la nueva solucin bsica factible al construir una nueva
tabla smplex en la forma apropiada, abajo de la que se tiene. Las primeras dos
columnas no cambian, excepto que la variable bsica entrante sustituye a la variable
bsica que sale en la columna de Variable Bsica. Para cambiar el coeficiente de la
nueva variable bsica en el rengln pivote a +1, se divide todo el rengln pivote entre el
nmero pivote:
Rengln pivote nuevo = Rengln pivote antiguo / pivote
En este punto, la tabla smplex para el ejemplo se ve como la que se muestra
enseguida. Para obtener un coeficiente 0 para la nueva variable bsica en las otras
ecuaciones, cada rengln [inclusive el de la ecuacin de Z] excepto el rengln pivote,
se cambia por la nueva tabla smplex usando la siguiente frmula:
Rengln nuevo = rengln antiguo (coeficiente en la columna pivote rengln pivote
nuevo)
en donde el coeficiente en la columna pivote es el nmero en la columna pivote
correspondiente a este rengln.
Variable
Bsica
Z
x3
x4
x5
Z
x3
x2
x5
Z
1
0
0
0
1
0
0
0
x1
3
1
0
3
x2
5
0
2
2
x3
0
1
0
0
x4
0
0
1
0
x5
0
0
0
1
Lado
derecho
0
4
12
18
1/2
Cociente
Es ptima?
(0, 0, 4, 12, 18)
Z=0
Rengln de Z:
(5) 0
Rengln nuevo =
0,
1/2
0,
5/2
0,
30
Rengln 3:
(2)
Rengln nuevo =
0
0
1,
1/2
0
0,
1,
18
6
6
para
la
iteracin 1:
Variable
Bsica
Z
x3
x4
x5
Z
x3
x2
x5
Z
1
0
0
0
1
0
0
0
x1
3
1
0
3
3
1
0
3
x2
5
0
2
2
0
0
1
0
x3
0
1
0
0
0
1
0
0
x4
0
0
1
0
5/2
0
1/2
1
x5
0
0
0
1
0
0
0
1
Lado
derecho
0
4
12
18
30
4
6
6
Cociente
Es ptima?
(0, 0, 4, 12, 18)
Z=0
(0, 6, 4, 0, 6)
Z = 30
x1
x2
x3
x4
x5
Lado
derecho
Z
x3
1
0
3
1
0
0
0
1
5/2
0
0
0
30
4
Cociente
4/1 = 4
Es ptima?
(0, 6, 4, 0, 6)
0
0
x2
x5
0
3
1
0
0
0
1/2
1
0
1
6
6
Z = 30
6/3 = 2
mn.
Z
1
0
0
0
1
0
0
0
1
0
0
0
x1
3
1
0
3
3
1
0
3
0
0
0
1
x2
5
0
2
2
0
0
1
0
0
0
1
0
x3
0
1
0
0
0
1
0
0
0
1
0
0
Lado
Cociente
x4
x5 derecho
0
0
0
0
0
4
1
0
12
12/2 = 6
mn.
0
1
18
18/2 = 9
5/2
0
30
0
0
4
4/1 = 4
1/2
0
6
1
1
6
6/3 = 2
mn.
3/2
1
36
1/3 1/3
2
1/2
0
6
1/3 1/3
2
Es ptima?
(0, 0, 4, 12, 18)
Z=0
(0, 6, 4, 0, 6)
Z = 30
(2, 6, 2, 0, 0)
Z = 36
ptima
sujeta a
x1 0,
x2 0
Variable
Bsica
x1
x2
x3
Lado
derecho
Cociente
Es ptima?
Z
X3
1
0
3
1
5
0
0
1
0
4
Sin mnimo
w1 0,
w2 0
Mtodo de la M o de Penalizacin.
Hasta este momento se han presentado los detalles del mtodo smplex con la
suposicin de que el problema se encuentra en nuestra forma estndar (maximizar Z
sujeta a las restricciones funcionales de la forma y restricciones de no
negatividad sobre todas las variables) con b i 0 para toda i = 1, 2, ..., m. En esta
seccin se establecer cmo hacer los ajustes requeridos a otras formas legtimas de
modelos de Programacin Lineal. Se ver que todos estos ajustes se pueden hacer en
el paso inicial, de manera que el resto del mtodo smplex se aplica justo como se
aprendi.
= 0.4x1
0.3x1
0.5x1
0.6x1
x1 0,
+
+
+
+
0.5x2
0.1x2
0.5x2 =
0.4x2
x2 0
2.7
6
6
Notemos que la tercera restriccin es del tipo , por lo que para cambiarla a su
forma de igualdad tendramos que restar una variable de supervit (o de excedente),
quedando de la siguiente manera:
0.6x1 + 0.4x2 x5 = 6
(que no cumple la
restriccin de no negatividad)
La variable artificial opera para mantener todas las variables no negativas
cuando 0.6x1 + 0.4x2 es menor que 6. Si x1 = 0 y x2 = 0, entonces x5 = 0 y
0.6x1 + 0.4x2 x5 + x6 = 6
x6 = 6
En resumen, una restriccin de la forma se convierte a su forma de
igualdad restando una variable de excedente y sumando una variable
artificial.
Consideremos el siguiente problema:
Maximizar
sujeta a
3x1
x1
5x2
2x2
3x1 + 2x2 =
x1 0,
x2 0
4
12
18
Maximizar Z,
sujeta a
Z
+ Mx5 =
3x1 5x2
+ x3
=
x1
+
=
2x2
x4
+ x5 =
3x1 + 2x2
0
Para
j
=
1,
2, , 5
xj
0
4
12
18
Variable
Bsica
Z
x3
x4
x5
Z
1
0
0
0
x1
3
1
0
3
x2
5
0
2
2
x3
0
1
0
0
x4
0
0
1
0
x5
M
0
0
1
Lado
derecho
0
4
12
18
Cociente
Es ptima?
x3
x1
x2
-3M-3 -2M-5
1
x3
x4
x5
Lado
derecho
18M
Cociente
Es ptima?
Mx5 + Z
(0, 0, 4, 12, 18)
0
0
x4
x5
0
3
2
2
0
0
1
0
0
1
Z = 18M
12
18
ariable
Bsica
x1
x2
x3
x4
x5
Lado
derecho
-3M-3
-2M-5
18M
x3
x4
12
x5
18
-2M-5
3M+3
6M+12
x1
x4
12
12/2 = 6
x5
6/2 = 3
9/2
M+5/2
27
x1
4/1 = 4
(4, 3, 0, 6, 0)
x4
6/3 = 2
Z = 27
x2
3/2
1
1/2
36
Cociente
Es ptima?
4/1 = 4
18/3 = 6
(4, 0, 0, 12, 6)
Z = 6M+12
3/2
M+1
x1
1/3
(2, 6, 2, 0, 0)
x3
1/3
1/3
Z = 36
x2
1/2
1/3
0
ptima
3x1 + 8x2
+ 4x2
x1
+ 2x2
x1
x1 0,
x2 0
4
2
3x1 8x2
Mx5 =
+
+
=
x1
4x2
x3
x4 + x5 =
x1 + 2x2
0
para
j = 1, 2, , 5
xj
0
4
2
Variable
Bsica
x1
x2
x3
x4
x5
Lado
derecho
x3
x5
0
0
1
1
4
2
1
0
0
1
0
1
4
2
2M
x3
x5
0
0
1
1
4
2
1
0
0
1
0
1
4
2
M+3
x3
x1
0
0
0
1
2
2
1
0
1
1
M3 2M8
1
1
Cociente
4/1 = 4
2/1 = 2
Es ptima?
(0, 0, 4, 0, 2)
Z = 2M
(2, 0, 2, 0, 0)
Z=6
ptima
2
2
Minimizar
Z = 0.4x1 + 0.5x2
Minimizar
Como los dos primeros coeficientes (0.4 y 0.5) son despreciables comparados
con M, el mtodo de dos fases puede eliminar la M usando las siguientes dos funciones
objetivo que definen Z de manera completamente diferente:
Mtodo de las dos fases:
Fase 1:
Minimizar
Z = x4 + x6
Fase 2:
Minimizar
Z = 0.4x1 + 0.5x2
(con x4 = 0 y x6 = 0).
W = x4 + x6,
sujeta a
0.3x1 + 0.1x2 +
0.5x1 + 0.5x2
0.6x1 + 0.4x2
x3
x10
x3
x4
x5
x6
=
=
=
2.7
6
6
y
x20
x40
x50
x60
Z = 0.4x1 + 0.5x2,
sujeta a
0.3x1 + 0.1x2 +
0.5x1 + 0.5x2
0.6x1 + 0.4x2
x3
x5
=
=
=
2.7
6
6
y
x10
x20
x3
x50
ariable
Bsica
x1
x2
x3
x4
x5
x6
Lado
derecho
x3
0.3
0.1
2.7
x4
0.5
0.5
Cociente
Es ptima?
x6
0.6
0.4
1.1
0.9
12
x3
0.3
0.1
2.7
2.7/0.3=9
(0,0,2.7,6,0,6)
x4
0.5
0.5
6/0.5=12
W = 12
x6
0.6
0.4
6/0.6=10
0.53
3.66
2.1
x1
0.33
3.33
9/0.33=27.2
(9,0,0,1.5,0,0.6)
x4
0.33
1.66
1.5
1.5/0.33=4.5
W = 2.1
x6
0.2
0.6
0.6/0.2=3
1.64
1.65
2.65
0.51
x1
6.63
1.65
1.65
8.01
8.01/1.65=4.8
(8.01,3,0,0.51,0,0)
x4
1.64
1.65
0.51
0.51/1.65=0.30
W = 0.51
x2
10
1.65
5
x1
7.5
(7.5,4.5,0,0,0.3,0)
x5
0.99
1
0.60
0.3
W=0
x2
5.05
1
0
4.5
ptima fase 1
Notemos que ya hemos obtenido una solucin ptima para la fase 1 que
consisti en la minimizacin de la suma de todas las variables artificiales. Observemos
tambin que la funcin objetivo W termin con un valor de cero en la ltima tabla, lo
que indica que las dos variables artificiales (x 4 y x6) valen cero tienen valores
recprocos y se cancelan mutuamente para dar cero. En nuestro caso, las dos variables
artificiales valen cero ya que no se encuentran en la columna de las variables bsicas
en la ltima tabla de la primera fase. La segunda fase consiste en resolver el problema
original utilizando como tabla inicial de esta fase la ltima tabla de la primera fase pero
sin considerar la columna de las variables artificiales ya que stas tomaron el valor de
cero en la primera fase. El mtodo smplex aplicado a la segunda fase se muestra en el
siguiente conjunto de tablas:
Variable
Bsica
x1
x1
x2
0.4 0.5
1
Lado
derecho Cociente
x3
x4
x5
x6
7.5
Es ptima?
0.99 0.60
3
5.05
1
0
1
0
x5
x2
0
0
0
0
0
1
0.3
4.5
0.5
x1
x5
x2
0
0
0
1
0
0
0
0
1
5
0.99
5.05
0
1
0
7.5
0.3
4.5
0.52
5.25
x1
x5
x2
0
0
0
1
0
0
0
0
1
5
0.99
5.05
0
1
0
7.5
0.3
4.5
(7.5,4.5,0,0,0.3,0)
Z = 5.25
ptima fase 2