Está en la página 1de 37

MDULO 2: Mtodo SMPLEX

PROGRAMACIN LINEAL: EL MTODO SIMPLEX

2.1

Introduccin

En el mdulo anterior hemos estudiado el mtodo grfico para resolver un programa


lineal con dos variables de decisin. La presentacin geomtrica fue til en la exploracin de
propiedades importantes del modelo de programacin lineal.
Dado que la mayora de los problemas del mundo real contienen ms de dos variables
de decisin, dichos problemas son resueltos mediante el mtodo o algoritmo (procedimiento
matemtico repetitivo) simplex, o alguna variable de l. Este mtodo fue creado por George
Dantzig en los ltimos aos de la dcada de los cuarenta. Desde entonces, Dantzig y otros
han continuado su desarrollo, especialmente para ciertas aplicaciones.

Visin general del mtodo simplex


El mtodo simplex puede sintetizarse en la siguiente forma: es un mtodo matricial
que consiste en dos faces. La primera fase radica en encontrar una solucin inicial y la
segunda fase consiste en probar si esa solucin es ptima; si esta solucin no es ptima
buscamos otra solucin y probamos nuevamente para ver si la nueva solucin es ptima. Si
sta solucin tampoco lo es, el mtodo se repite hasta encontrar la ptima. Es un mtodo
algebraico sistemtico que examina las esquinas (tambin llamados vrtices o puntos
extremos) de un conjunto factible de programacin lineal en busca de la mencionada solucin
ptima.

2.2

Algunos conceptos bsicos

Seguidamente repasaremos algunos conceptos necesarios para continuar con el


desarrollo de este mdulo.
Conjunto Convexo
Un conjunto de puntos S es un conjunto convexo, si el segmento rectilneo que une cualquier
par de puntos de S, se encuentra completamente en S.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

-1-

Como puede apreciarse en las figuras anteriores a y b, son convexos y la figura c es


no convexa. Para cualquier conjunto convexo S, un punto P es un punto extremo si para cada
segmento rectilneo que se encuentra completamente en S y que pasa por P, P es un extremo
del segmento rectilneo.
Vectores linealmente independientes
Un conjunto de r vectores V1, V2, , Vr son linealmente independiente si:
1*V1 + 2*V2 + + r*Vr + =
Implica que 1 = 2 = = r = 0; dnde las i (i = 1, 2, .., r) son nmeros reales.
Combinacin lineal convexa de vectores
Una combinacin lineal convexa de r vectores Vi, V2, Vr es otro vector V, tal que:
V = 1*V1 + 2*V2 + + r*Vr
Con la condicin de que los i 0 y i = 0 para i = 1, 2, .., r
Por ejemplo para el caso de dos dimensiones, si realizamos una combinacin lineal
convexa de dos vectores obtendremos como resultado un punto (vector) que pertenece al
segmento de recta que los une. Grficamente:

Para un problema de PL, en forma estndar, con m ecuaciones de restriccin y n


variables incluidas las de holgura o excedente, enunciamos los siguientes conceptos respecto
al conjunto de soluciones del problema:
Solucin factible o posible de un PL (SF)
Es un conjunto de valores de las variables Xj que verifican el sistema de restricciones
incluidas las de no negatividad.
Solucin Factible Bsica (SFB)
Es toda solucin factible que tiene como mximo m variables positivas; o lo que es lo mismo,
tiene n-m valores de las variables nulos. El nmero mximo de soluciones bsicas es:
C (m, n) = n! / [(n-m)!*m!]

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

-2-

Solucin Factible Bsica No Degenerada


Tiene exactamente m variables positivas, o exactamente n-m variables nulas.
Solucin Factible Bsica Degenerada
Tiene menos de m variables positivas, o ms de n-m variables nulas.
Solucin ptima
Es toda solucin que le da a la funcin Z el mximo (o mnimo) valor.

2.3

Observaciones sobre el conjunto de soluciones de un PL

Veamos el siguiente problema de PL (programacin lineal)


Mx. (Z) =
Sa

70 x1 + 40 x2
2 x1
2 x1
1 x1
x1

+ 5 x2 <= 2.000 (C1)


+ 1 x2 <= 800 (C2)
+ 1 x2 <= 500 (C3)
;
x2 >=
0

Si lo resolvemos grficamente obtenemos:

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

-3-

La solucin ptima es:


X1 = 200
X2 = 300
Z* = 29.000
Veamos el grfico y analicemos algunas soluciones (la lnea que esta en rojo
corresponde a la funcin objetivo). La cantidad de soluciones posibles a nuestro problema es
infinito y esta determinada por la zona sombreada de color verde. Una caracterstica del
mtodo simplex es que trabaja con soluciones o puntos extremos y la solucin ptima se
encuentra en uno de ellos, es decir, que estos puntos que se encuentran donde se cortan dos
restricciones o bien cuando una restriccin corta algunos de los ejes.
Los puntos A (donde se corta C1 con C3) y B (donde se corta C1 con eje X2) son
soluciones bsicas factibles, son soluciones bsicas porque se encuentran en un punto
extremo y son factibles porque pertenecen a la regin factible (zona sombreada de verde). El
punto D es una solucin no bsica y factible, es no bsica porque no es punto extremo y
factible por que se encuentra dentro del polgono de soluciones (regin factible). Y el punto C
(donde se corta C3 con eje X1) es una solucin bsica no factible. Es bsica porque es punto
extremo y es no factible porque se encuentra por fuera de la regin factible.
Considerando lo analizado hasta el momento, podemos hacer las siguientes
observaciones:

Para cumplir con las restricciones de no negatividad de las variables,


grficamente se trabaja siempre en el primer cuadrante
El poliedro de soluciones es un conjunto convexo..
Los puntos que resulta necesario considerar para buscar el ptimo, son
los que se encuentran sobre la frontera de la regin factible.
En particular podemos observar que si el PL tiene solucin, sta se
encontrar en, al menos, uno de los vrtices.
Se puede obtener la solucin en cada vrtice resolviendo en forma
simultnea las ecuaciones lineales que lo determinan.
Las soluciones factibles en los vrtices son soluciones factibles bsicas.
Todos los puntos del poliedro de soluciones verifican las restricciones,
es decir que el problema tiene infinitas soluciones factibles.
En todo punto situado sobre una recta no hay sobrante de insumos.
En las ecuaciones determinantes del ptimo (restricciones limitantes), no
hay sobrantes de insumos, por lo tanto, las variables de holgura son
nulas.
En las ecuaciones no determinantes del ptimo (restricciones no
limitantes) siempre hay sobrantes de insumos, o sea, las variables de
holgura son positivas.
Si el funcional verifica su mximo valor en un nico vrtice del poliedro,
significa que el problema tiene una nica solucin ptima.
Si z fuera paralela a una restriccin limitante, el problema tendra
infinitas soluciones ptimas.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

-4-

Si el ptimo se verifica en un vrtice donde s cruzan 3 o ms rectas de


restriccin, la solucin ptima es degenerada.

2.4 Teoremas de combinaciones lineales convexas de soluciones


factibles
Expresaremos una serie de teoremas relacionados con las soluciones factibles de los
problemas lineales, los que resultarn de utilidad en desarrollos posteriores.
Teorema 1
Este teorema se enuncia como: "Toda combinacin lineal convexa de soluciones
factibles, es otra solucin factible".
Para demostrarlo partimos de un PL estndar matricial:
Maximizar

CX
AX = B
X
Sean X1, X2, Xr, r vectores soluciones del PL, por lo tanto se verificar:
AX, = B
AX, = B
...
(1)
Xr = B
Si multiplicamos miembro a miembro las ecuaciones del sistema (1) por escalares 1;
2, , r, respectivamente, con la condicin que,
i 0 y i =1,
i = 1, 2,..., r,
Tendremos:
1 A X1 = 1 B
2 A X2 = 2 B

r A X2 = r B

(2)

Sumando miembro a miembro:


r A X2 = r B

De donde,
A r X2 = B r

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

-5-

Siendo,
i =1,
El vector resultante de la combinacin convexa,
i Xi = Xk

Ser tambin una solucin factible del PL, es decir:


AXk = B
En consecuencia queda demostrado el teorema.
Corolario del teorema 1: el conjunto de todas las soluciones factibles de un PL, si no
es vaco, es un conjunto convexo. Es decir que, si no es vaco, est formado por un
nico elemento o por una infinidad".
Teorema 2
"Si existe ms de una solucin factible que le den el mismo valor a la funcin objetivo,
cualquier combinacin lineal convexa de las mismas, dar al funcional igual valor*.
La demostracin de este teorema es similar al anterior.
Partimos de un PL en forma estndar matricial:
Maximizar CX
AX = B
X
Sean Xi, X2, Xr, r vectores soluciones del PL que dan a la funcin objetivo igual valor,
por lo tanto se verificar:
CX1 = Z0
CX2 = Z0
..
(3)
CXr = Z0
Si multiplicamos miembro a miembro las ecuaciones del sistema (3) por escalares 1;
2, , r, respectivamente, con la condicin que,
i 0 y i =1,
i = 1, 2,..., r,
Tendremos:
1 C X1 = 1 Z0
2 C X2 = 2 Z0

(2)

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

-6-

r C X2 = r Z0
Si ahora sumamos miembro a miembro, obtendremos:
C i Xi = i Z0
De donde,
C i Xi = Z0 i
Como,
i =1,
Tendremos que el vector resultante de la combinacin convexa
i Xi = Xk
Es tambin una solucin factible del PL que otorga a la funcin de decisin el mismo
valor Z0, es decir:
CXk = Zo
En consecuencia, de acuerdo a los teoremas 1 y 2, podemos afirmar que cualquier
combinacin convexa de soluciones factibles ptimas es tambin una solucin factible
ptima.
Por lo cual, respecto al conjunto de soluciones factibles ptimas decimos que es un
conjunto convexo, que si no es vaco, esta formado por un elemento o por una
infinidad.
Teorema 3
"Si un PL puede ser resuelto - es decir que posee ptimo existir siempre por lo
menos una solucin factible bsica que tambin sea ptima".

2.5

Mtodo simplex

Este mtodo, desarrollado por George Dantzig en 1947, como se mencionara


anteriormente, permite encontrar la solucin ptima de cualquier programa lineal,
cualquiera sea l nmero de variables y ecuaciones que lo forman, e identificar
aquellos problemas que no tienen solucin, o cuya solucin ptima es no acotada.
El algoritmo parte de una solucin bsica inicial, y a travs de sucesivas iteraciones,
explora sistemticamente los vrtics del poliedro de soluciones del Programa Lineal
hasta identificar la solucin ptima.
Si bien con posterioridad, se han desarrollado mtodos que tericamente son ms
eficientes en tiempo computacional para problemas de gran tamao, Simplex ha
demostrado en la prctica, un mejor desempeo en la mayora de ios casos, razn
por la cual es an el de mayor difusin.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

-7-

El mtodo Simpiex tiene en cuenta las siguientes propiedades de los puntos extremos
o soluciones factibles bsicas:
1.
A) Si existe exactamente una solucin ptima, entonces debe ser una
solucin de punto extremo.
B) Si existen soluciones ptimas mltiples, entonces al menos dos de ellas
deben ser soluciones factibles en puntos extremos adyacentes (slo se
consideran las soluciones factibles).
2. Existe slo un nmero finito de puntos extremos (soluciones factibles
bsicas).
3. Si una solucin en un vrtice es igual o mejor (segn el valor de la funcin
objetivo) 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.
Recordemos que grficamente, cada vrtice se forma por la interseccin de las rectas
representativas de las restricciones y que los valores de las variables para cada punto
extremo, se encuentran resolviendo en forma simultnea las ecuaciones de restriccin
correspondientes a ese vrtice. A su vez, cada punto extremo o vrtice corresponde a
una solucin posible bsica del problema.
El mtodo Simplex, basndose en estas conclusiones generales, analiza
sistemticamente los puntos extremos de la regin factible hasta identificar el punto
ptimo. Asegurndose en cada paso que el vrtice analizado no es peor que el
anterior, esto es, que le d a la funcin objetivo un valor mejor o al menos igual que el
anterior.
Pasos del mtodo simplex
Teniendo en cuenta lo expresado en el Teorema 3, el algoritmo Simplex busca el
ptimo de un problema de PL recorriendo algunos de los vrtices del poliedro del
conjunto de soluciones factibles de manera que el valor de la funcin objetivo mejore
en cada desplazamiento.
Es decir que analiza las soluciones posibles bsicas del problema hasta encontrar la
ptima, resolviendo en cada paso un sistema de m" ecuaciones con "n" variables.
El mtodo consiste fundamentalmente en dos fases:
En la primera fase se identifica una solucin posible bsica que sirva de punto de
partida.
En la segunda fase o fase iterativa se analiza si dicha solucin es o no ptima, y si no
lo es, a partir de ella se encuentra una mejor.
El Simplex trabaja con tablas o cuadros, cada uno de ellos corresponde a un punto
extremo o vrtice del conjunto de soluciones factibles, es decir a una solucin posible
bsica. Las tablas resumen toda la informacin necesaria de cada solucin.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

-8-

Primera Fase: identificacin de una solucin factible bsica.


Los pasos a seguir en esta etapa son:
Convertir el modelo a su forma estndar. Esto se logra sumando una variable de
holgura al lado izquierdo de las restricciones de < y restando una variable de
excedente en los primeros miembros de las restricciones de >. Estas variables
debern interpretarse de acuerdo al significado de la restriccin de que se trate, sin
embargo, en la funcin objetivo llevan un coeficiente nulo ya que no agregan nada al
objetivo.
Analizar la matriz de coeficientes del sistema de ecuaciones de restriccin y ver si en
ella existen m vectores unitarios con configuracin de matriz identidad. Las variables
cuyos coeficientes tcnicos (aj) se corresponden con la submatriz identidad, sern
las variables consideradas bsicas en la solucin inicial y sus valores en la solucin
sern los trminos independientes de las restricciones (b). El resto de las variables
sern consideradas no bsicas y, por tanto, su valor en la solucin ser cero. Si la
matriz A no contiene una submatriz identidad o existe algn componente negativo en
el vector B, no se puede determinar en esta instancia una solucin factible bsica
inicial y por lo tanto no es posible comenzar con Simplex.
Armar la tabla de partida, tomando como solucin bsica inicial la correspondiente a
los vectores unitarios identificados en la etapa anterior.
Segunda fase: mejoramiento de la solucin
1. Anlisis de la solucin: analizar si la solucin hallada se puede mejorar, para
ello analizar las diferencias Cj-Zj. Estos valores miden el incremento de la
funcin objetivo ante un aumento unitario en el valor de cada una de las
variables no bsicas. Por lo tanto:
Si una variable no bsica que tenga asociado un (Cj-Zj)>0 ingresa a la base, el
valor de Z aumentar.
Si una variable no bsica que tenga asociado un (Cj-Zj)<0 ingresa a la base, el
valor de Z disminuir.
Si una variable no bsica que tenga asociado un (Cj-Zj)=0 ingresa a la base, el
valor de Z no se alterar.
Como consecuencia de lo anterior, la prueba de optimidad dice:
En problemas de maximizacin, la solucin es ptima si todas las diferencias
(Cj-Zj) son 0.
En problemas de minimizacin, la solucin es ptima si todas las diferencias
(Cj-Zj) son 0.
2. Variable de entrada: determinar la variable que ingresar a la base. La
variable que entra a la base debe ser aquella que tenga el mayor incremento
positivo en el caso de maximizacin (o mayor incremento negativo en el caso

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

-9-

de minimizacin), ya que sta es la variable que aumenta (disminuye) ms


rpidamente el valor de la funcin objetivo. Entonces:
Si Z es de Maximizacin, ingresa la variable que verifica mayor diferencia
marginal (Cj-Zj) > 0.
Si Z es de Minimizacin, ingresa la variable que verifica menor diferencia
marginal (Cj-Zj) < 0
3. Variable de salida: para determinar la variable que sale de la base, se
selecciona aquella que tenga el menor cociente entre su valor en la solucin
actual (i) y el coeficiente ik (siendo k la variable que entra) siempre y cuando
dicho coeficiente Sea estrictamente positivo, es decir:
= min.(i / ij)
Este cociente representa el mximo valor que puede tomar la variable entrante, antes
que viole la restriccin de no negatividad.
Si todos los ij y son 0 la solucin es no acotada. Esto significa que la funcin
objetivo podra incrementar (disminuir) infinitamente su valor. Esta situacin es
prcticamente imposible en la realidad, por lo cual corresponde detener el proceso de
clculo y revisar la modelizacin del problema.
4. Actualizacin: se debe actualizar la tabla, mediante operaciones elementales
en filas.
5. Criterio de detencin: el proceso se detiene cuando:
Si Z es de Maximizacin: (Cj-Zj) 0; V j
Si Z es de Minimizacin: (Cj-Zj) 0; V j
Para alguna variable no bsica que pueda entrar a la base se verifica que todos los ij
son 0

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 10 -

2.6

Caso de aplicacin

Veamos un ejemplo:
Mx. (Z) =
Sa

70 x1 + 40 x2
2 x1 + 5 x2 <= 2.000
2 x1 + 1 x2 <= 800
1 x1 + 1 x2 <= 500
x1 ;
x2 >=
0

Lo primero que debemos hacer es llevar nuestro problema de programacin lineal a la


forma estndar, esto es transformar las inecuaciones en ecuaciones. Para ello en el
caso de las restricciones de menor e igual le vamos a sumar una cierta cantidad al
lado izquierdo para igualar este lado con el derecho de la restriccin. Como no
sabemos cual es esa cantidad ya que depende del valor de las variables de decisin,
le vamos a sumar entonces una cantidad variable que le vamos a llamar S. Esta
variable se denomina variable de holgura y esta asociada a los recursos, su definicin
es muy importante ya que representa la cantidad sobrante del recurso en cuestin.
Entonces como tenemos tres restricciones de menor e igual le agregamos una
variable de holgura a cada restriccin, y como son cantidades distintas estas son
distintas. Para diferenciarlas las vamos a llamar S1, S2, S3 y nos queda de la
siguiente manera:
2 x1 + 5 x2
2 x1 + 1 x2
1 x1 + 1 x2

+S1

= 2.000
+S2
= 800
+S3= 500

SISTEMA COMPATIBLE INDETERMINADO CON INFINITAS SOLUCIONES

Lo que tenemos aqu no es ni ms ni menos que un sistema de ecuaciones, en la cual


tiene cinco variables y tres ecuaciones. Este forma un sistema que al tener ms
variables que ecuaciones nos determina un sistema compatible indeterminado, es
decir que tiene infinitas soluciones. Observando el grfico las infinitas soluciones est
dado por la regin factible (regin sombrada).
El mtodo simplex no analiza esta infinita cantidad de soluciones posibles sino que
trabaja con las soluciones bsicas y estas se encuentran en los puntos extremos del
grfico (recuerden que una solucin bsica se obtiene haciendo n-m variables iguales
a cero y calculando las otras, en nuestro caso va a haber dos variables iguales a
cero). Vallamos a nuestro ejemplo, aplicando la formula de combinatoria podemos
calcular la cantidad de soluciones bsicas, C (m, n) = n! / [(n-m)!*m!]
C (m, n) = 5! / [(5-3)*3!] =10

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 11 -

A cada una de estas soluciones las podemos encontrar en el grfico (puntos


grandes), donde se cortan dos restricciones o bien donde una restriccin corta a cada
eje. Veamos nuevamente el grfico para identificarlas.

Podemos analizar cada una de estas soluciones, para ello construiremos la siguiente
tabla:

Sol.

X1

X2

S1

S2

S3

Observaciones

2.000

800

500

Solucin bsica factible no ptima

400

400

100

16.000

Solucin bsica factible no ptima

800

-2000

-300

--

Solucin bsica no factible

500

-500

300

--

Solucin bsica no factible

1.000

-1.200

-500

--

Solucin bsica no factible

400

1200

100

28.000

500

1.000

-200

--

Solucin bsica no factible

250

300

-50

--

Solucin bsica no factible

Solucin bsica factible no ptima

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 12 -

9
10

166,66

333,33

133,33

16.999,89

300

200

400

29.000

Solucin bsica factible no ptima


Solucin bsica factible ptima.

De las ecuaciones que habamos formado a partir de las restricciones, agregamos la


funcin objetivo, incorporamos las variables de holgura a esta ltima con coeficiente
cero para que no la altere y obtenemos lo que se llama forma estndar del problema
de programacin lineal.
Mx. (Z) =
Sa

70 X1 + 40 X2
2 X1 + 5 X2
2 X1 + 1 X2
1 X1 + 1 X2
x1 ;
x2 ;

+0S1 +0S2 +0S3


+S1
+S2
+S3
S1 ; S1 ; S1

= 2.000
= 800
= 500
>=
0

Apartir de la forma estndar de nuestro PL vamos a armar la tabla del simplex,


sacando toda la informacin de la misma con una disposicin conveniente para
trabajar de manera cmoda.
Cj

70

40

Sol.

x1

x2

s1

s2

s3

2.000

800

500

A la altura del rengln Cj, vamos a colocar los coeficientes de la funcin objetivo para
cada una de las variables. Por columna tenemos el vector solucin (en la tabla a la
altura de sol.), que corresponde al lado derecho de las restricciones y van a
corresponder al valor de las variables que no son cero (recuerde que el mtodo
simplex trabaja con soluciones bsicas y para obtenerlas se deben hacer dos
variables iguales a cero, y las vamos a llamar variables no bsicas). A la altura de
sol por rengln tenemos identificadas las variables y por debajo tenemos cada uno de
los coeficientes de las restricciones.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 13 -

Como hemos dicho anteriormente el mtodo simplex arranca con una solucin bsica
inicial, resultndole ms conveniente hacer las variables principales del problema
iguales a cero (X1= 0 y X2= 0), con lo cual del sistema de ecuaciones obtenemos S1
= 2.000, S2 = 800 y S3 = 500. Que corresponde al punto de origen del grfico y la
solucin 1 de la tabla con un valor de Z=0 (valor sombreado a la altura de la columna
sol y fila Zj. Vamos a pasar a completar la primera tabla del simplex que habamos
comenzado con el resto de la informacin.
Cj

70

40

Ck

Xk

Sol.

x1

x2

s1

s2

s3

S1

2.000

S2

800

S3

500

Zj

Cj Zj

--

70

40

Solucin inicial=

X1 = 0
X2 = 0
S1 = 2.000
S2 = 800
S 3 = 500

Z inicial= 0 solucin 1 de la tabla de soluciones

Agregamos el vector Xk que corresponde al vector de las variables que no son cero
en esta primera solucin bsica, de ahora en ms las vamos a llamar variables
bsicas (porque estn a la base). Ck es un vector columna conformado por los
coeficiente de la funcin objetivo de las variables que estn a la base.
Por otro lado hemos adicionado el rengln Zj que se calcula haciendo la suma
producto del vector Ck por cada uno de los vectores columnas correspondiente, por
ejemplo a la altura del vector solucin tenemos: 0*2.000+0*800+0*500 = 0 y
corresponde al valor de Z de esta solucin. El rengln Cj - Zj es la prueba que realiza
el mtodo para saber si esta solucin es la ptima o no, si en ese rengln existe un
valor positivo significa que la solucin no es la ptima (como se observa en la tabla
hay mas de un valor positivo), si bien de antemano sabamos que no era el ptimo
porque lo vimos a travs del mtodo grfico.
Entonces encontramos una solucin, que le llamamos solucin inicial y a partir de cual
simplex comienza a trabajar. El siguiente paso consiste en encontrar otra solucin,
para ello vamos a sacar unas de las variables que esta a la base (variables que tienen

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 14 -

un valor positivo, esto es, S1, S2 o bien S3 y reemplazarla por X1 o X2 que


corresponde a la variable que ingresa en el prximo paso). Intuitivamente si
analizamos la funcin objetivo, vemos que nos conviene hacer positivo y lo ms
grande posible el valor de la variable X1, ya que es la que tiene mayor coeficiente en
la funcin objetivo con lo cual nos hara aumentarla ms rpidamente esta funcin y
como se trata de un problema de maximizacin resulta lo ms conveniente. Si vamos
a la tabla del simplex nos fijamos en el rengln Cj - Zj encontramos como valor ms
positivo a 70 que est a la altura de X1 lo que nos indica que en la prxima tabla es la
variable de ingreso. Para saber cual es la variable que sale de la base se realiza lo
que se conoce como prueba de la razn, y consiste en hacer el cociente entre el
vector solucin y el vector columna de la variable que ingresa (i / ij) y tomar el
mnimo. Considerando el mnimo de i / ij nos aseguramos de que ninguna de las
variables que esta a la base se vuelva negativa, ya que sera un error gravsimo por la
condicin de no negatividad encontrar un i (vector solucin) negativo.
= min.(i / ij)

Cj

70

40

x1

x2

s1

s2

s3

Ck

Xk

Sol.

s1

2.000

1=2.000/2

s2

800

2=800/2

s3

500

3=500/1

Zj

Cj - Zj

--

70

40

1.000

SALE S2
ENTRA X1

400

500

El valor ms chico es 2 que est a la altura del rengln de S2, indicando que esta
es la variable que se va a de la base en el prximo paso y en su lugar entra X 1. En
este caso 2 representa el valor que va a tener X1 en la prxima tabla.
Para obtener la prxima solucin directamente de la tabla de simplex, vamos a tener
que trasladar el vector unitario que esta a la altura de la variable que se va de la base
(S2) a la posicin de la columna de X1. Esta operacin no se puede realizar en un
mero acto de movimiento fsico, si no que se debe realizar a travs de operaciones
elementales de matrices. Recordemos estas tres operaciones: 1). Se pueden
intercambiar de posicin dos filas o columnas, 2). Se puede multiplicar a los
elementos de una fila por una constante distinta de cero y 3). Una fila se le
puede sumar otra fila previamente multiplicado por una constante distinta de
cero.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 15 -

El elemento que est en la interseccin de la fila de la variable que sale con la


columna de la variable entrante se la denomina elemento pivot y es el elemento que
en el prximo paso o iteracin va a tomar el valor de 1, y es por esta fila por la que
comenzamos a trabajar. Entonces para hacer 1 el elemento pivot vamos a multiplicar
toda la fila por (operacin 2) y obtendremos lo siguiente:

Cj

70

40

Ck

Xk

Sol.

x1

x2

s1

s2

s3

s1

2.000

1=2.000/2

s2

800

2=800/2

s3

500

3=500/1

Zj

Cj - Zj

--

70

40

400

70

x1

Ahora debemos hacer cero los elemento que estn por encima y por debajo del
elemento pivot, para ello nos vamos a valer de la operacin 3. Tomamos la nueva fila
calculada, la multiplicamos por el elemento opuesto al que queremos hacer cero y la
sumamos a la primera fila de la tabla de simplex original. Entonces para nuestro
ejemplo sera la primera nueva fila (la llamamos F1), que es la nueva fila que
queremos calcular) resulta de tomar la fila 2 nueva calculada (la lamamos F2) la
multiplicamos por el elemento opuesto que queremos hacer cero (en este caso -2) y la
sumamos la primera fila de la primera tabla de simplex (que la llamamos F1) en
resumen:
F1= F2*(-2) + F1
Para la tercera fila hacemos algo similar:
F3= F2*(-1) + F3
Y obtenemos:

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 16 -

Cj

70

40

Ck

Xk

Sol.

x1

x2

s1

s2

s3

s1

2.000

1=2.000/2

s2

800

2=800/2

s3

500

3=500/1

Zj

Cj - Zj

--

70

40

S1

1200

-1

70

X1

400

S3

100

-1/2

Recuerde que simplex trabaja cambiando de a una variable por vez, en el caso
anterior sac de la base S2 e introdujo X1 a la base y obtuvo una nueva solucin.
Ahora debemos probar si esta solucin es la ptima o no y para ello volvemos a
calcular de nuevo Zj y Cj - Zj.
Esta nueva solucin por supuesto es otra solucin bsica, es punto extremo y la
podemos ubicar sobre el eje X1 en interseccin con la restriccin C2 formando punto
(400,0). En el ejemplo el mtodo simplex arranco en el origen y tomo la solucin
bsica adyacente inmediata sobre X1, dado que en la funcin objetivo es la que tiene
mayor coeficiente. Para a prxima solucin simplex va a analizar la solucin
adyacente siguiente en la misma direccin con la que arranco, esto es que si arranco
en sentido horario va continuar en esta direccin sin volverse para atrs.
Calculemos de Zj y Cj Zj para saber si es la solucin ptima o no, aunque sabemos
de antemano que la solucin ptima no esta en este punto.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 17 -

Cj

70

40

Ck

Xk

Sol.

x1

x2

s1

s2

s3

s1

2.000

1=2.000/2

s2

800

2=800/2

s3

500

3=500/1

Zj

Cj - Zj

--

70

40

S1

1200

-1

1=1.200/4

70

X1

400

2=400/0.5

S3

100

-1/2

3=100/0.5

Zj

28.000

70

35

35

Cj - Zj

--

-35

Nueva solucin =

X1 = 400
X2 = 0
S1 = 1.200
S2 = 0
S 3 = 100

Z1 = 28.000 solucin 2 de la tabla de soluciones

Como se muestra en la tabla anterior ya que en el rengln Cj Zj encontramos un


valor positivo, lo cual nos esta indicando que en prximo paso es la variable que entra
(recordemos que si hubiera ms de un valor positivo, elegimos el ms positivo).
Entonces volvemos a hacer la prueba de la razn, esto es, calcular los valores de
para saber cuan es la variable que se va de la base. Haciendo memoria, el mtodo
simplex trabaja de a una variable por vez, es decir que saca una variable y mete otra
(en el prximo paso entra X2 y sale S3).
La siguiente solucin que simplex va a analizar es la contigua adyacente en la misma
direccin en la que venamos avanzando y como se muestra en el grfico es la
solucin ptima.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 18 -

Entonces vamos a sacar S3 y entra X2, ahora el elemento pivot es que es el


elemento que debemos hacer 1 y para ello vamos a multiplicar toda la tercera fila por
el valor 2, o sea F3= F3*(2). Para completar la tabla vamos a hacer las siguientes
operaciones elementales:
F1= F3*(-4) + F1
F2= F3*(-1/2) + F2
Obteniendo la siguiente:

Cj

70

40

Ck

Xk

Sol.

x1

x2

s1

s2

s3

s1

2.000

1=2.000/2

s2

800

2=800/2

s3

500

3=500/1

Zj

Cj - Zj

--

70

40

S1

1200

-1

1=1.200/4

70

X1

400

2=400/0.5

S3

100

3=100/0.5

Zj

28.000

70

35

35

Cj - Zj

--

-35

S1

400

-8

70

X1

300

-1

40

X2

200

-1

Y luego calculamos Zj y Cj Zj para determinar si la nueva solucin es ptima o no.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 19 -

Cj

70

40

Ck

Xk

Sol.

x1

x2

s1

s2

s3

s1

2.000

1=2.000/2

s2

800

2=800/2

s3

500

3=500/1

Zj

Cj - Zj

--

70

40

S1

1200

-1

1=1.200/4

70

X1

400

2=400/0.5

S3

100

-1/2

3=100/0.5

Zj

28.000

70

35

35

Cj - Zj

--

-35

S1

400

-8

70

X1

300

-1

40

X2

200

-1

Zj

29.000

70

40

30

10

Cj - Zj

--

-30

-10

Como puede verse esta es la ltima tabla del simplex dado que en el Cj Zj son todos
positivos o nulos, esto significa que hemos encontrado la solucin ptima:
EN CASO DE MAXIMIZACION ES OPTIMA CUANDO SON NEGATIVOS O CERO !!!

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 20 -

Nueva solucin =

2.6

X1 = 0
X2 = 0
S1 = 2.000
S2 = 800
S 3 = 500

Z* = 29.000 solucin ptima

Mtodo de la variable artificial

Al resolver algunos problemas con el mtodo Simplex, numerosas veces sucede que
no podemos identificar la solucin bsica de inicial.
En general, esto ocurre cuando en el planteo tenemos restricciones de igualdad o
inecuaciones del tipo . En el primer caso, no es necesario agregar variables de
holgura y en el segundo las agregamos restando (variable de excedente), por lo cual
no existirn en la matriz A los m vectores unitarios necesarios para formar la primera
solucin bsica.
Para solucionar este problema, se utiliza la tcnica de la base artificial o simplemente
variables artificiales. Se trata de un artilugio matemtico por medio del cual, se
agregan al problema tantas variables artificiales como vectores unitarios nos falten en
la matriz A. De este modo, modificamos el problema original de manera tal que nos
permita identificar la solucin de partida.
Es importante destacar que estas variables no son variables del problema original.
Por ello decimos que, una solucin del mismo, se obtiene una vez que se hayan
eliminado de la base todas las variables artificiales. Para que el algoritmo Simplex las
elimine de la base rpidamente, se deben agregar en la funcin objetivo precedidas
de un coeficiente que deber ser:
En caso de maximizacin, muy grande en valor absoluto y negativo.
Si el problema es de mnimo, muy grande y positivo.
Si se verifica la condicin de optimidad y en la base an queda alguna variable
artificial, puede suceder alguna de las siguientes dos cosas:
s Si la variable artificial qued en la base con un valor positivo, entonces el problema
original es no factible. s Si la variable artificial qued en la base pero con un valor
nulo, entonces la solucin encontrada s es solucin del problema original y ser
degenerada ya que tendr menos de m valores positivos.
Respecto de la variable artificial hay tres posibilidades:
a) Que la variable artificial no aparezca en la ltima tabla del simplex, lo que
indica que el problema tiene solucin.
b) Que la variable artificial aparezca en la ltima tabla del simplex con un valor
igual a cero, esto significa que el problema tiene solucin y la solucin es
degenerada.
c) Y por ltimo que la variable artificial aparezca en la ltima tabla del simple,
lo que indica que el problema no tiene solucin.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 21 -

Ejemplo de aplicacin
Mx. (Z) =
8 X1 + 5 X2
Sa
4 X1 + 2 X2
1 X1
-3 X1 + 1 X2
X1 ;
X2 >=

<= 1.000
>= 50
= 0
0

Como puede verse en este problema tenemos una restriccin de menor e igual, una
de mayor e igual y una de igualdad. Para llevarlo a la forma estndar, en el caso de la
primera restriccin simplemente agregamos una variable de holgura y se transforma
la desigualdad en igualdad (+S). Para el caso de la restriccin de mayor e igual
agregamos una variable de excedente (-S), el signo es lo que la diferencia de la de
holgura, y se transforma la desigual en igualdad. Ahora ya hemos transformado las
inecuaciones en ecuaciones y agregamos tantas variables artificiales como son
necesarias; en nuestro caso a la segunda restriccin por ser mayor e igual y a la
tercera que es una restriccin del tipo desigual. Entonces el problema de
programacin lineal en su forma estndar nos queda:
Mx. (Z) =
Sa

5 X1 + 8 X2
+0S1 +0S2 - 100A2 - 100A3
4 X1 + 2 X2
+S1
= 1.000
1 X1
- S2
+ A2
= 50
-3X1 + 1 X2
+A3 = 0
X1 ;
X2 ; S1 ;
S2 ;
A2 ;
A3 >= 0
Al incorporar las variables artificiales a la funcin objetivo, como se mencionara
anteriormente, hay que darle un valor negativo muy grande en el caso de un problema
de maximizacin, mnimo 10 veces el valor del coeficiente ms alto de la funcin
objetivo. Ahora ya estamos en condiciones de armar la tabla de simplex:

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 22 -

Cj

-100

-100

Ck

Xk

Sol.

X1

X2

S1

S2

A2

A3

S1

1.000

1=1000/2

-100

A2

50

-1

2=50/0

-100

A3

-3

3=0/1

Zj

-5000

100

-100

100

-100

-100

Cj - Zj

--

-95

108

-100

Solucin inicial=

X1 = 0
X2 = 0
S1 = 1.000
A 2 = 15
A3= 0

Z inicial= -5000

Lo que diferencia este ejemplo del anterior es simplemente el armado de la primera


tabla, de ahora en ms seguimos utilizando las mismas operaciones. Entonces en el
prximo paso entra la variable X2 y sale A2. Como el elemento pivot ya es 1
copiamos la fila tal cual est, o sea F3= F3

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 23 -

Cj

-100

-100

Ck

Xk

Sol.

X1

X2

S1

S2

A2

A3

S1

1.000

1=1000/2

-100

A2

50

-1

2=50/0

-100

A3

-3

3=0/1

Zj

-5000

100

-100

100

-100

-100

Cj - Zj

--

-95

108

-100

-3

X2

Posteriormente debemos hacer cero los elementos que estn por encima y por debajo
del elemento pivot. Recuerde que lo que estamos haciendo es trasladar el vector
unitario de las variables que sale a la posicin de la variable que entra. A continuacin
desarrollamos el simplex completo.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 24 -

Cj

-100

-100

Ck

Xk

Sol.

X1

X2

S1

S2

A2

A3

S1

1.000

1=1000/2

-100

A2

50

-1

2=50/0

A3

-3

3=0/1

Zj

-5000

100

-100

100

-100

-100

Cj - Zj

--

-95

108

-100

S1

1.000

10

-2

1=1000/10

-100

A2

50

-1

2=50/1

X2

-3

3=0/-3

Zj

-5000

-124

100

-100

Cj - Zj

--

129

-100

-108

Nota: ij negativo
no se tiene en
cuenta para la
seleccin de

S1

500

10

-10

-2

1=500/10

X1

50

-1

2=50/-1

X2

150

-3

3=0/-3

Zj

1.450

-29

29

Cj - Zj

--

29

-129

-108

S2

50

0,1

-1

-0,2

X1

100

0,1

-0,2

X2

300

0,3

0,4

Zj

2.900

2,9

3/5

Cj - Zj

--

-2,9

-100

-100

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 25 -

Nueva solucin =

2.6

X1 = 100
X2 = 300
S1 = 50
S2 = 0
A2 = 0
A3 = 0

Z* = 2.900 solucin ptima

Problema de minimizacin

En cuanto a los problemas de minimizacin, criterio de resolucin es prcticamente el


mismo, aunque cambian algunos conceptos. Uno de ellos es la prueba que realiza el
simplex, esto es el, Cj - Zj para determinar la variable que entra se toma el valor ms
negativo y se ha llegado al ptimo cuando todos los valores son nulos o positivos. En
cuanto a la prueba de la razn (), tanto en problemas de maximizacin como
minimizacin siempre se toma el positivo o nulo de menor valor. Y se llega al ptimo
cuando los valores del rengln Cj Zj son todos positivos o nulos. Vamos con un
ejemplo.
En lo que respecta a la incorporacin de las variables artificiales, como se indicara
anteriormente, se incorporan a la funcin objetivo con un coeficiente positivo muy alto
(mnimo 10 veces el coeficiente ms alto de la misma).
Min. (Z) =
Sa

Forma estndar:
Min. (Z) =
Sa

30 X1 + 20 X2
1 X1 + 3 X2 <= 90
4 X1 + 2 X2 >= 120
X1 ;
X2 >= 0

30 X1 + 20 X2
1 X1 + 3 X2
4 X1 + 2 X2
X1 ;
X2 ;

+0S1 +0S2 + 100A2


+S1
- S2
+ A2
S1 ;
S2 ;
A2 ;

= 90
= 120
>= 0

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 26 -

Tabla de simplex:
Cj

30

20

500

Ck

Xk

Sol.

X1

X2

S1

S2

A2

S1

90

1=90/1

500

A2

120

-1

2=120/4

Zj

60.000

2000

1000

-500

500

Cj - Zj

--

-1970

-980

500

S1

60

5/2

1/4

-1/4

30

X1

30

1/2

-1/4

1/4

Zj

900

30

15

-15/2

15/2

Cj - Zj

--

15/2

1015/2

X1 = 30
X2 = 0
Nueva solucin = S1 = 60
Z* = 900 solucin ptima
S2 = 0
A2 = 0
Todo problema de minimizacin puede ser resuelto como un problema de
maximizacin, multiplicando la funcin objetivo por (-1), aplicamos simplex y una vez
obtenido el valor de Z ptimo se lo vuelva a multiplicar por (-1). Compruebe esto.
Min. (Z) =
Sa

30 X1 + 20 X2
1 X1 + 3 X2 <= 90
4 X1 + 2 X2 >= 120
X1 ;

X2 >= 0

Max. (Z) =
Sa

- 30 X1 - 20 X2
1 X1 + 3 X2 <= 90
4 X1 + 2 X2 >= 120
X1 ;

X2 >= 0

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 27 -

2.7

Anexo I: Solucin Win QSB

El Win QSB es un software que est disponible en forma gratuita y puede ser
descargado desde distintas pginas de internet. Este software nos permite resolver
problemas con varias variables y varias restricciones, ms que suficiente para
resolver lo problemas desarrollados en la materia. Si el problema es de dos variables
tambin lo resuelve grficamente.
Ejemplo 1:
Mx. (Z) =
Sa

70 x1 + 40 x2
2 x1 + 5 x2 <= 2.000
2 x1 + 1 x2 <= 800
1 x1 + 1 x2 <= 500
x1 ;
x2 >=
0

Hacemos clic en nuevo problema e ingresamos los datos:

Confirmamos haciendo clic en OK, y nos aparece la siguiente tabla:

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 28 -

Completamos esta tabla con los coeficientes y parmetros de nuestro PL.

Hacemos clic en el botn grfico y nos da la solucin grafica a nuestro problema:

Solucin del sistema, entramos al men results y hacemos clic en solution summary.
Se obtiene el valor de las variables y el valor de la funcin objetivo.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 29 -

Tambin se puede obtener la ltima tabla del simplex (o sea la solucin ptima)
aunque con una disposicin un poco diferente de las columnas, siendo fcilmente
detectable si comparamos la tabla del simplex que con la que nos tira el sistema.
Entramos en results y hacemos clic en final simplex tableau nos tira el siguiente
resultado:

Ejemplo 2:
Mx. (Z) =
Sa

8 X1 + 5 X2
4 X1 + 2 X2
1 X1
-3 X1 + 1 X2
X1 ;
X2 >=

<= 1.000
>= 50
= 0
0

Ingreso de los datos

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 30 -

Confirmamos haciendo clic en OK, y nos aparece la siguiente tabla:

Haciendo clic sobre el signo es te va a cambiar y elegimos el signo segn el tipo de


restriccin. Completamos esta tabla con los coeficientes y parmetros de nuestro PL.

Hacemos clic en el botn grfico y nos da la solucin grafica a nuestro problema:

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 31 -

Solucin del sistema:

ltima tabla del simplex:

Ejemplo 3:
Mx. (Z) =
Sa

30 X1 + 20 X2
1 X1 +
3 X2
4 X1 +
2 X2
X1 ;
X2 >=

<= 1.000
>= 50
0

Ingreso al programa:

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 32 -

Carga de datos:

Hacemos clic en el botn grfico y nos da la solucin grafica a nuestro problema:

Solucin:

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 33 -

Tabla final del simplex

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 34 -

2.8 Anexo II: Resolucin Automtica de problemas con Mtodo


Smplex
Existen sitios web que permiten al usuario resolver problemas lineales on-line
simplemente con la nica tarea de cargar los datos apropiadamente. Si bien es un recurso
adicional a los conocimientos que se esperan del alumno para la resolucin del mtodo
Smplex, es una excelente herramienta de apoyo para corroborar y comprobar ejercicios
resueltos o para disear nuevos ejercicios y cotejar resultados.
La direccin web es la siguiente:
http://www.phpsimplex.com/
Luego recurrimos a la herramienta de resolucin virtual que se encuentra clickeando la
primer palabra que aparece en el texto introductorio: PHPsimplex.
Este paso nos lleva a la siguiente direccin:
http://www.phpsimplex.com/simplex/simplex.htm?l=es

A continuacin se muestra la resolucin completa del problema anterior con la ayuda


on-line de esta herramienta de clculo virtual.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 35 -

Paso 1: Cargamos la cantidad de variables de decisin que tiene la funcin


objetivo y la cantidad de restricciones que tiene el problema

Paso 2: Conociendo cada uno de los valores correspondientes, armamos la


funcin objetivo y las restricciones de manera idntica a las hemos planteado
en el problema

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 36 -

Paso 3: El programa nos muestra un resumen de los datos ingresados hasta


ahora.
En esta instancia podemos ir paso a paso armando la tabla smplex o ir
directamente a la solucin final.

Paso 4:
Listo! La solucin ptima se expresa resaltada en color verde. Fcil, no?

Esto es todo. Pueden utilizar esta herramienta como apoyo para practicar con
otros ejemplos para repasar el mtodo.

Materia: Investigacin Operativa


Profesor: Ing. Pablo E. Godino

- 37 -