Вы находитесь на странице: 1из 27

El mtodo Simplex

Ya se ha comentado la propiedad de que todos los programas lineales alcanzan un


ptimo, si ste existe, en una de sus soluciones bsicas factibles (vrtice del espacio de
soluciones factibles). Adems el nmero de tales soluciones bsicas es siempre finito.
Por tanto, un mtodo de resolucin de este tipo de problemas es la construccin de todas
las soluciones bsicas factibles y la seleccin de aquella que minimice la funcin
objetivo. Por supuesto, este mtodo resulta claramente ineficiente cuando se trabaja con
problemas con gran nmero de variables de decisin (como ocurre en los casos que
normalmente aparecen en situaciones reales).
La idea del mtodo Simplex, ideado por G.B. Dantzing en 1947, consiste en llegar a
encontrar esa solucin bsica ptima sin necesidad de construirlas todas, nicamente
seleccionando un subconjunto de ellas que converja a la solucin. De una forma muy
resumida el mtodo Simplex consiste en:
1. Debe partirse de una solucin bsica factible inicial.
2. Si dicha solucin bsica no es ptima, entonces encontrar otra que haga que el
valor de la funcin objetivo disminuya, o por lo menos que no aumente.
3. Repetir el paso anterior hasta encontrar una solucin bsica factible que sea
ptima.
Al ser el nmero de soluciones bsicas finito, si en cada paso se consigue una reduccin
del valor ptimo, ninguna de ellas podr repetirse y de esta manera en un nmero finito
de pasos se encontrar un ptimo del problema (si es finito). Dos aspectos a tener en
cuenta sobre este mtodo son:
Es necesario disponer de un test de optimalidad que permita reconocer cuando
una solucin bsica factible es ptima, sin necesidad de conocer el resto de
soluciones bsicas.
Se necesita tambin un sistema efectivo de paso de una solucin bsica a otra,
mejorando el valor de la funcin objetivo.
Geomtricamente, el mtodo Simplex se puede interpretar de la manera siguiente:
partiendo de uno de los vrtices del poliedro, ir desplazndose a uno de los vrtices
adyacentes mejorando el valor de la funcin objetivo hasta encontrar el ptimo
Para el resto de la exposicin sobre los fundamentos matemticos del mtodo Simplex
se har la suposicin de que todas las soluciones bsicas del programa son no
degeneradas (hiptesis de no degeneracin). No obstante, el no verificarse esta hiptesis
no altera la validez de las conclusiones a las que se llegar.
EL METODO SIMPLEX PARA SOLUCIN DE PROBLEMAS DE
PROGRAMACIN LINEAL
Es un procedimiento iterativo que permite ir mejorando
la solucin a cada paso. El proceso concluye cuando no
es posible seguir mejorando ms dicha solucin.
Partiendo del valor de la funcin objetivo en un vrtice
cualquiera, el mtodo consiste en buscar sucesivamente
otro vrtice que mejore al anterior. La bsqueda se hace
siempre a travs de los lados del polgono (o de las
aristas del poliedro, si el nmero de variables es mayor).
Cmo el nmero de vrtices (y de aristas) es finito,
siempre se podr encontrar la solucin.
El mtodo del simplex se basa en la siguiente
propiedad: si la funcin objetivo, f, no toma su valor
mximo en el vrtice A, entonces hay una arista que
parte de A, a lo largo de la cual f aumenta.
El mtodo del simplex fue
creado en 1947 por el
matemtico George
Dantzig .
El mtodo del simplex se
utiliza, sobre todo, para
resolver problemas de
programacin lineal en los
que intervienen tres o ms
variables.
El lgebra matricial y el
proceso de eliminacin de
Gauss-Jordan para
resolver un sistema de
ecuaciones lineales
constituyen la base del
mtodo simplex.
Con miras a conocer la metodologa que se aplica en el Mtodo SIMPLEX,
vamos a resolver el siguiente problema:
Maximizar
Z= f(x,y)= 3x +
2y
sujeto a: 2x + y 18
2x + 3y 42
3x + y 24
x 0 , y 0
Se consideran las siguientes fases:
1. Convertir las desigualdades en igualdades
Se introduce una variable de holgura por cada una de las restricciones, para
convertirlas en igualdades, resultando el sistema de ecuaciones lineales:
2x + y + h = 18
2x + 3y + s =
42
3x +y + d = 24
2. Igualar la funcin objetivo a cero
- 3x - 2y + Z = 0
3. Escribir la tabla inicial simplex
En las columnas aparecern todas las variables del problema y, en las filas, los
coeficientes de las igualdades obtenidas, una fila para cada restriccin y la
ltima fila con los coeficientes de la funcin objetivo:
Tabla I . Iteracin n 1
Base Variable de decisin Variable de holgura Valores solucin
x y h s d
h 2 1 1 0 0 18
s 2 3 0 1 0 42
d 3 1 0 0 1 24
Z -3 -2 0 0 0 0
4. Encontrar la variable de decisin que entra en la base y la variable de
holgura que sale de la base
A. Para escoger la variable de decisin que entra en la base, nos fijamos
en la ltima fila, la de los coeficientes de la funcin objetivo y escogemos
la variable con el coeficiente negativo mayor (en valor absoluto).
En nuestro caso, la variable x de coeficiente - 3.
Si existiesen dos o ms coeficientes iguales que cumplan la condicin
anterior, entonces se elige uno cualquiera de ellos.
Si en la ltima fila no existiese ningn coeficiente negativo, significa que
se ha alcanzado la solucin ptima. Por tanto, lo que va a determinar el
final del proceso de aplicacin del mtodo del simplex, es que en la
ltima fila no haya elementos negativos.
La columna de la variable que entra en la base se llama columna pivote
(En color azulado).

B. Para encontrar la variable de holgura que tiene que salir de la base, se
divide cada trmino de la ltima columna (valores solucin) por el
trmino correspondiente de la columna pivote, siempre que estos ltimos
sean mayores que cero. En nuestro caso:
18/2 [=9] , 42/2 [=21] y 24/3 [=8]
Si hubiese algn elemento menor o igual que cero no se hace dicho
cociente. En el caso de que todos los elementos fuesen menores o
iguales a cero, entonces tendramos una solucin no acotada y no se
puede seguir.
El trmino de la columna pivote que en la divisin anterior d lugar al
menor cociente positivo, el 3, ya 8 es el menor, indica la fila de la
variable de holgura que sale de la base, d. Esta fila se llama fila pivote
(En color azulado).
Si al calcular los cocientes, dos o ms son iguales, indica que cualquiera
de las variables correspondientes pueden salir de la base.

C. En la interseccin de la fila pivote y columna pivote tenemos el elemento
pivote operacional, 3.
5. Encontrar los coeficientes de la nueva tabla.
Los nuevos coeficientes de x se obtienen dividiendo todos los coeficientes de la
fila d por el pivote operacional, 3, que es el que hay que convertir en 1.
A continuacin mediante la reduccin gaussiana hacemos ceros los restantes
trminos de su columna, con lo que obtenemos los nuevos coeficientes de las
otras filas incluyendo los de la funcin objetivo Z.
Tambin se puede hacer utilizando el siguiente esquema:
Fila del pivote:
Nueva fila del pivote= (Vieja fila del pivote) : (Pivote)
Resto de las filas:
Nueva fila= (Vieja fila) - (Coeficiente de la vieja fila en la columna de la
variable entrante) X (Nueva fila del pivote)
Vemoslo con un ejemplo una vez calculada la fila del pivote (fila de x en la
Tabla II):
Vieja fila de s 2 3 0 1 0 42
- - - - - -
Coeficiente 2 2 2 2 2 2
x x x x x x
Nueva fila pivote 1 1/3 0 0 1/3 8
= = = = = =
Nueva fila de s 0 7/3 0 1 -2/3 26

Tabla II . Iteracin n 2
Base Variable de decisin Variable de holgura Valores solucin
x y h s d
h 0 1/3 1 0 -2/3 2
s 0 7/3 0 1 -2/3 26
x 1 1/3 0 0 1/3 8
Z 0 -1 0 0 1 24
Como en los elementos de la ltima fila hay uno negativo, -1, significa que no
hemos llegado todava a la solucin ptima. Hay que repetir el proceso:
A. La variable que entra en la base es y, por ser la variable que
corresponde al coeficiente -1
B. Para calcular la variable que sale, dividimos los trminos de la ltima
columna entre los trminos correspondientes de la nueva columna
pivote:
2:1/3 [=6] , 26:7/3 [=78/7] y 8:1/3 [=8]
y como el menor cociente positivo es 6, tenemos que la variable de
holgura que sale es h.
C. El elemento pivote, que ahora hay que hacer 1, es 1/3.
Operando de forma anloga a la anterior obtenemos la tabla:
Tabla III . Iteracin n 3
Base Variable de decisin Variable de holgura Valores solucin
x y h s d
y 0 1 3 0 -2 6
s 0 0 -7 0 4 12
x 1 0 -1 0 1 6
Z 0 0 3 0 -1 30
Como en los elementos de la ltima fila hay uno negativo, -1, significa que no
hemos llegado todava a la solucin ptima. Hay que repetir el proceso:
A. La variable que entra en la base es d, por ser la variable que
corresponde al coeficiente -1
B. Para calcular la variable que sale, dividimos los trminos de la ltima
columna entre los trminos correspondientes de la nueva columna
pivote:
6/(-2) [=-3] , 12/4 [=3], y 6:1 [=6]
y como el menor cociente positivo es 3, tenemos que la variable de
holgura que sale es s.
C. El elemento pivote, que ahora hay que hacer 1, es 4.
Obtenemos la tabla:
Tabla IV . Final del proceso
Base Variable de decisin Variable de holgura Valores solucin
x y h s d
y 0 1 -1/2 0 0 12
d 0 0 -7/4 0 1 3
x 1 0 -3/4 0 0 3
Z 0 0 5/4 0 0 33
Como todos los coeficientes de la fila de la funcin objetivo son positivos,
hemos llegado a la solucin ptima.
Los solucin ptima viene dada por el valor de Z en la columna de los valores
solucin, en nuestro caso: 33. En la misma columna se puede observar el
vrtice donde se alcanza, observando las filas correspondientes a las variables
de decisin que han entrado en la base: D(3,12)
* Si en el problema de maximizar apareciesen como restricciones inecuaciones
de la forma: ax + by c; multiplicndolas por - 1 se transforman en
inecuaciones de la forma - ax - by - c y estamos en el caso anterior
* Si en lugar de maximizar se trata de un problema de minimizar se sigue el
mismo proceso, pero cambiando el sentido del criterio, es decir, para entrar en
la base se elige la variable cuyo valor, en la fila de la funcin objetivo, sea el
mayor de los positivos y se finalizan las iteraciones cuando todos los
coeficientes de la fila de la funcin objetivo son negativos

Interpretacin geomtrica del mtodo del
simplex
Las sucesivas tablas que hemos construido van proporcionando el valor de la
funcin objetivo en los distintos vrtices, ajustndose, a la vez, los coeficientes
de las variables iniciales y de holgura.
En la primera iteracin (Tabla I) han permanecido todos los coeficientes
iguales, se ha calculado el valor de la funcin objetivo en el vrtice A(0,0),
siendo este 0.
A continuacin se desplaza por la arista AB, calculando el valor de f , hasta
llegar a B.
Este paso aporta la Tabla II.
En esta segunda iteracin se ha calculado el valor que
corresponde al vrtice B(8,0): Z=f(8,0) = 24
Sigue por la arista BC, hasta llegar a C, donde se para y
despliega los datos de la Tabla III.
En esta tercera iteracin se ha calculado el valor que
corresponde al vrtice C(6,6) : Z=f(6,6)=30.
Continua haciendo clculos a travs de la arista CD, hasta llegar al vrtice D.
Los datos que se reflejan son los de la Tabla IV.
Concluye con esta tabla, advirtiendo que ha terminado (antes ha comprobado
que la solucin no mejora al desplazarse por la arista DE)
El valor mximo de la funcin objetivo es 33, y corresponde a x = 3 e y = 12
(vrtice D).
Si calculas el valor de la funcin objetivo en el vrtice E(0,14), su valor no
supera el valor 33.
El mtodo Simplex Tabular
La resolucin de programas lineales mediante el mtodo Simplex implica la realizacin
de gran cantidad de clculos, sobre todo cuando el nmero de variables y/o restricciones
es relativamente elevado. Sin embargo, estos clculos no son complejos y pueden
realizarse en modo sistemtico utilizando una forma tabular. As surgen las conocidas
como tablas del Simplex, que no son ms que una forma de organizar los clculos.
Sobre las tablas del Simplex comentar que su inters es totalmente pedaggico, ya que
en los casos reales la magnitud de los problemas que suelen aparecer hace que nadie las
utilize de forma directa para resolverlos. En tales casos, ha de recurrirse al uso del
computador.
Para aplicar el mtodo Simplex en forma de tabla a un problema de la forma:
min cx
Ax=b con b >= 0
x >= 0
en primer lugar se construye la tabla siguiente:
c1 c2 ... cn
cb1
cb2
.
.
.
cbm
xb1
xb2
.
.
.
xbm
b1
b2
.
.
.
bm
a11 a12 ... a1n
a21 a22 ... a2n
... ... ... ...
... ... ... ...
... ... ... ...
am1 am2 ... amn
v y1 y2 ... ym
z1 z2 ... zm
Tabla del Simplex
Donde:
v es el producto escalar de los vectores (cb1,cb2,...,cbm) y (b1,b2,...,bm)
yk es el producto escalar de los vectores (cb1,cb2,...,cbm) y (a1k,a2k,...,amk) para
k=1,2,...m.
zk=ck-yk para k=1,2,...,m.
Observar la forma en que se construye esta tabla:
En la primera fila de la tabla se colocan los coeficientes de las variables en la funcin objetivo.
En las tres primeras columnas aparecen los coeficientes de las variables bsicas en la funcin objetivo, las variables
bsicas iniciales y el vector de trminos independientes de las restricciones, respectivamente.
La parte central de la tabla est formada por la matriz de coeficientes A.
Los elementos de la penltima fila son los productos escalares del vector de la primera columna con los vectores de la
tabla que quedan encima de cada uno de esos elementos.
Finalmente, en la ltima fila aparece la diferencia de las filas primera y penltima.
IMPORTANTE:
Las variables bsicas iniciales deben tener una matriz de base asociada igual a la
identidad. En muchas ocasiones, al introducir las variables de holgura en las
restricciones se genera una matriz bsica identidad, que puede ser utilizada como base
inicial del algoritmo. En los casos en los que sto no ocurra existen tcnicas para
obtener una submatriz identidad, como puede ser por ejemplo el uso de variables
artificiales.
Cada tabla del Simplex est asociada a una solucin bsica factible. De forma que, una
vez construida la tabla inicial, deben establecerse las reglas que permitan obtener las
tablas asociadas a las siguientes soluciones bsicas, as como saber la solucin bsica
que lleva asociada cada tabla. Adems es necesario saber cuando una tabla corresponde
a la solucin ptima, esto ltimo se consigue analizando los signos de la ltima fila de
la tabla:
Si todos los elementos de la ltima fila de la tabla son mayores o iguales que cero, el
ptimo ha sido alcanzado.
Cuando alguno de los elementos de la ltima fila es negativo, el valor ptimo puede
mejorarse y por tanto debe construirse una nueva tabla de la manera siguiente:
Se selecciona de la ltima fila el elemento negativo de mayor valor absoluto. La variable correspondiente al ndice del
zi seleccionado es la que pasar a ser bsica.
Para saber a que variable bsica sustituye, se dividen los valores de la tercera columna entre los valores positivos de la
columna de A seleccionada en el paso anterior (la que corresponde al elemento negativo de mayor valor absoluto). En
caso de no existir valores positivos, puede asegurarse que el problema no tiene ptimo finito.
De todos los cocientes calculados se selecciona el mnimo, el elemento de la matriz A que ha servido para construir ese
valor mnimo es el que actuar como pivot y la variable de la segunda columna de la tabla en la posicin de la fila del
pivot es la que deja de ser bsica.
Mediante transformaciones elementales de filas sobre el bloque central de la tabla (el bloque de fondo amarillo en la
tabla) se llega a transformar en 1 el pivot y anular los restantes elementos de la correspondiente columna. Las nicas
transformaciones que son permitidas son:
o Multiplicar por constantes la fila que contiene el pivot.
o Sumar o restar a una fila un mltiplo de la fila que contiene el pivot.
Intercambiar las variables bsicas en la segunda columna al mismo tiempo que se modifica el correspondiente elemento
de la primera columna.
Calcular los nuevos valores de las dos ltimas filas de la tabla de acuerdo a las instrucciones ya indicadas.
Se repiten todos estos procesos y se van transformando las tablas hasta que el test de
parada sea positivo (todos los elementos de la ltima fila mayores o iguales que cero) en
cuyo caso se tiene:
El ptimo se alcanza en el punto cuyas coordenadas son nulas excepto las correspondientes a las variables bsicas, cuyos
valores aparecen en la tercera columna de la tabla ptima.
El valor de la funcin en el ptimo es el que aparece en el ltimo elemento de esa misma columna
Todas las tablas que se van obteniendo tienen dos caractersticas en comn: los
elementos de la tercera columna son todos ellos mayores o iguales que cero, salvo el
ltimo (el que indica el valor de la funcin objetivo) que pudiera ser negativo. Por otro
lado, las columnas de A asociadas a las variables bsicas siempre forman una matriz
identidad.
Analizando ms en profundidar cada una de las etapas expuestas, se puede comprobar la
correspondencia con el mtodo Simplex enunciado de una forma ms terica
anteriormente. Por supuesto, la mejor manera de comprender la resolucin mediante
tablas es con ejemplos particulares; a continuacin se exponen dos de estos ejemplos.
Ejemplo:
Programa lineal Tabla Inicial
min 2x1-x2
-x1+x2+x3=2
2x1+x2+x4=6
x1,x2,x3,x4 >= 0
2 -1 0 0
0
0
x3
x4
2
6
-1 1 1 0
2 1 0 1
0 0 0 0 0
2 -1 0 0
Se toman como variables bsicas x3 y x4 porque llevan asociadas como matriz de base
la identidad.
El elemento sealado en color rojo en la tabla es el que actuar como pivot, ha sido
determinado teniendo en cuenta que en la ltima fila de la tabla solo hay un elemento
negativo; tras esto se debe calcular min{2/1,6/1}, dicho mnimo se obtiene a partir del
pivot.
La posicin del pivot dentro de la tabla indica:
La variable x3 dejar de ser bsica.
La variable que la sustituye es x2
Para construir la siguiente tabla, han de realizarse operaciones elementales sobre las
filas del bloque central hasta conseguir que el pivot sea 1 y los restantes elementos de su
columna sean 0. En este caso el pivot ya tiene el valor 1, para anular el otro elemento de
la columna basta restar a la segunda fila la primera. Tras estas manipulaciones, se
sustituye la variable x3 por x2 y el valor 0 de la primera columna de la tabla por c2=-1.
A continuacin se realizan las operaciones que definen los elementos de las dos ltimas
filas de la tabla para completar la segunda tabla del algoritmo.
Segunda Tabla
2 -1 0 0
-1
0
x2
x4
2
4
-1 1 1 0
3 0 -1 1
-2 1 -1 -1 0
1 0 1 0
Como puede observarse, la ltima fila de la tabla est formada por elementos mayores o
iguales que cero todos ellos, lo que significa que se ha alcanzado un ptimo. En
concreto, el ptimo se alcanza sobre el punto
x1=0 x2=2 x3=0 x4=4
El valor ptimo es adems -2 (ltimo elemento de la tercera columna de la tabla).
Ejemplo:
Programa lineal Formulacin estndar
min -x1-x2
-x1+x2 <= 2
x1+2x2 <= 6
2x1+x2 <= 6
x1,x2 >= 0
min -x1-x2
-x1+x2+x3 = 2
x1+2x2+x4 = 6
2x1+x2+x5 = 6
x1,x2,x3,x4,x5 >= 0
Las variables x3, x4 y x5 tienen como matriz de base a la identidad, de forma que pueden
tomarse como variables bsicas iniciales. Aplicando el algoritmo Simplex, en tres tablas
se obtiene el ptimo:
Tabla Inicial Segunda Tabla
-1 -1 0 0
0
0
0
0
x3
x4
x5
2
6
6
-1 1 1 0
0
1 2 0 1
0
2 1 0 0
1
0
0 0 0 0
0
-1 -1 0 0
0
-1 -1 0 0 0
0
0
-1
x3
x4
x1
5
3
3
0 3/2 1 0 1/2
0 3/2 0 1 -1/2
1 1/2 0 0 1/2
-3
-1 -1/2 0 0
-1/2
0 -1/2 0 0
1/2
Tercera Tabla Optimo
-1 -1 0 0 0
0
-1
-1
x3
x2
x1
2
2
2
0 0 1 -1 1
0 1 0 2/3
-1/3
1 0 0 -1/3
2/3
-4
-1 -1 0 -1/3
-1/3
0 0 0 1/3
1/3
x1=2
x2=2
x3=2
x4=0
x5=0
Valor ptimo = -4
Cada tabla del Simplex lleva asociado un punto cuyas coordenadas se obtienen en la
tercera columna para sus variables bsicas y son nulas el resto. En la siguiente figura se
encuentra representado el espacio de soluciones factibles del problema, indicndose
adems los vrtices correspondientes a cada una de las tres tablas obtenidas.
Uso de variables artificiales
No siempre es posible en la tabla del Simplex disponer de un conjunto de vectores que,
convenientemente ordenados, formen la matriz identidad. Una forma de conseguirlo es
aadir unas nuevas variables al problema que se conocen como variables artificiales.
Una vez que el problema lineal se encuentra en su forma estndar (introduciendo si es
necesario las variables de holgura), se suman estas variables artificiales a las
restricciones necesarias para poder obtener una matriz bsica igual a la identidad.
Lgicamente para que estas variables introducidas no afecten a la solucin del
problema, lo deseable es que dejen de ser bsicas rpidamente y de esta manera se
anulen. La forma de conseguirlo es aadindolas a la funcin objetivo con un
coeficiente muy alto positivo (se le puede representar por M). De esta manera, para
minimizar la funcin objetivo deben anularse estas variables, con lo que en alguna de
las iteraciones del mtodo Simplex las variables artificiales dejan de ser bsicas y a
partir de ese momento puede prescindirse de ellas.
El siguiente ejemplo trata de ilustrar la forma de utilizar las variables artificiales para
obtener una solucin bsica inicial con matriz de base igual a la identidad.
Ejemplo:
Programa lineal Formulacin estndar
min x1-x2
x1+2x2 >= 6
2x1+x2 <= 6
4x1+x2= = 4
x1,x2 >= 0
min x1-x2
x1+2x2-x3 = 6
2x1+x2+x4 = 6
4x1+x2= = 4
x1,x2,x3,x4 >= 0
De la matriz A del problema no se puede obtener una submatriz igual a la identidad.
Podra por tanto, recurrirse a introducir dos variables artificiales x5 y x6. Observar como
se introducen esas variables en la funcin objetivo con un coeficiente M que se supone
muy grande. Adems al aadir esas variables a la primera y tercera restriccin se
consigue, tomando como variables bsicas x5, x4 y x6, una matriz bsica igual a la
identidad. Por la propia construccin, en el ptimo las variables artificiales se anularn
y por tanto las restricciones no se vern afectadas por la modificacin que supone
aadirlas.
El problema tras introducir las variables artificiales sera:
min x1-x2+Mx5+Mx6
x1+2x2-x3+x5 = 6
2x1+x2+x4 = 6
4x1+x2+x6= = 4
x1,x2,x3,x4,x5,x6 >= 0
Y aplicando el mtodo Simplex se obtiene el ptimo tras cuatro tablas:
Tabla Inicial
1 -1 0 0 M M
M
0
M
x5
x4
x6
6
6
4
1 2 -1 0 1 0
2 1 0 1 0 0
4 1 0 0 0 1
10M 5M 3M -M 0 M M
1-5M -1-3M M 0 0 0
Para un valor muy grande de M los dos primeros elementos de la ltima fila de la tabla
son negativos y de ellos es el primero el que tiene mayor valor absoluto, es por tanto en
la primera columna en la que se busca el pivot.
Tras efectuar las correspondientes transformaciones, las sucesivas tablas son:
Segunda Tabla
1 -1 0 0 M M
M
0
1
x5
x4
x1
5
4
1
0 7/4 -1 0 1
-1/4
0 1/2 0 1 0
-1/2
1 1/4 0 0 0
1/4
5M+1
1 (7M+1)/4 -M 0 M (-
M+1)/4
0 (-7M-5)/4 M 0 0 (5M-
1)/4
Obsrvese como una de las variables artificiales ha dejado de ser bsica.
Tercera Tabla
1 -1 0 0 M
M
-1
0
1
x2
x4
x1
20/7
18/7
2/7
0 1 -4/7 0 4/7
-1/7
0 0 2/7 1 -2/7
-3/7
1 0 1/7 0 -1/7
2/7
-18/7
1 -1 5/7 0 -5/7
3/7
0 0 -5/7 0 M+5/7
M-3/7
En la tercera tabla ya han desaparecido de la lista de variables bsicas las dos
artificiales. A partir de este momento puede prescindirse de las dos ltimas columnas de
la tabla, de forma que la siguiente tabla sera:
Cuarta Tabla
1 -1 0 0
-1
0
0
x2
x4
x3
4
2
2
4 1 0 0
-2 0 0 1
7 0 1 0
-4 -4 -1 0 0
5 0 0 0
Al no existir ningn valor negativo en la ltima fila, el ptimo ha sido encontrado en el
punto correspondiente a:
x1=0 x2=4 x3=2 x4=2
siendo el valor ptimo del problema -4.
Introduccin.
La PL es una tcnica mediante la cual se toman decisiones, reduciendo el problema bajo
estudio a un modelo matemtico general, el cual debe ser resuelto por mtodos
cuantitativos.
En desarrollo de este captulo se aplicarn la solucin de dichos modelos aplicando
diversas tcnicas como: el mtodo grfico, mtodo simplex, mtodo matricial, tcnica
de la gran M.
Adems se desarrollara la aplicacin de variables artificiales y obtencin de soluciones
para identificar a que tipo de clasificacin pertenecen. Por medio de dichos modelos de
solucin se podr obtener las solucin adecuada para cada problema y facilitar la toma
de decisiones.
Mtodo grfico.
El mtodo grfico se utiliza para la solucin de problemas de PL, representando
geomtricamente a las restricciones, condiciones tcnicas y el objetivo.
El modelo se puede resolver en forma grfica si slo tiene dos variables. Para modelos
con tres o ms variables, el mtodo grfico es imprctico o imposible.
Cuando los ejes son relacionados con las variables del problema, el mtodo es llamado
mtodo grfico en actividad. Cuando se relacionan las restricciones tecnolgicas se
denomina mtodo grfico en recursos.
Los pasos necesarios para realizar el mtodo son nueve:
1. graficar las soluciones factibles, o el espacio de soluciones (factible), que satisfagan
todas las restricciones en forma simultnea.
2. Las restricciones de no negatividad Xi>= 0 confan todos los valores posibles.
3. El espacio encerrado por las restricciones restantes se determinan sustituyendo en
primer trmino <= por (=) para cada restriccin, con lo cual se produce la ecuacin de
una lnea recta.
4. trazar cada lnea recta en el plano y la regin en cual se encuentra cada restriccin
cuando se considera la desigualdad lo indica la direccin de la flecha situada sobre la
lnea recta asociada.
5. Cada punto contenido o situado en la frontera del espacio de soluciones satisfacen
todas las restricciones y por consiguiente, representa un punto factible.
6. Aunque hay un nmero infinito de puntos factibles en el espacio de soluciones, la
solucin ptima puede determinarse al observar la direccin en la cual aumenta la
funcin objetivo.
7. Las lneas paralelas que representan la funcin objetivo se trazan mediante la
asignacin de valores arbitrarios a fin de determinar la pendiente y la direccin en la
cual crece o decrece el valor de la funcin objetivo.
Ejemplo.
Maximizar Z = 3X1 + 2X2
restricciones : X1 + 2X2 <=6 (1)
2X1 + X2 <=8 (2)
-X1 + X2 <=1 (3)
X2 <= 2 (4)
X1 >= 0 (5)
X2 >= 0 (6)
Convirtiendo las restricciones a igualdad y representandolas grficamente se tiene:
X1 + 2X2 = 6 (1)
2X1 + X2 = 8 (2)
-X1 + X2 = 1 (3)
X2 = 2 (4)
X1 = 0 (5)
X2 = 0 (6)

Figura 1 Espacio de solucin presentada con WinQsb


Figura 2 Determinacin de solucin

soluciones

Maximizar Z = 3X1 + 2X2
Punto (X1, X2) Z
A (0, 0) 0
B (4, 0) 12
C (3.3, 1.3) 12.6
( ptima )
D (2, 3) 12
E (1, 3) 9
F (0, 2) 4

Tabla 2. Solucin Mtodo Grfico
Para obtener la solucin grfica, despus de haber obtenido el espacio de solucin y
graficada la funcin objetivo el factor clave consiste en decidir la direccin de mejora
de la funcin objetivo.


MTODO SIMPLEX. (Dantzig 1940)
regresar
En la solucin grfica observamos que la solucin ptima est asociada siempre con un
punto extremo del espacio de soluciones. El mtodo simplex est basado
fundamentalmente en este concepto.
Careciendo de la ventaja visual asociada con la representacin grfica del espacio de
soluciones, el mtodo simplex emplea un proceso interativo que principia en un punto
extremo factible, normalmente el origen, y se desplaza sistemticamente de un punto
extremo factible a otro, hasta que se llega por ltimo al punto ptimo.
Existen reglas que rigen la seleccin del siguiente punto extremo del mtodo simplex:
1. El siguiente punto extremo debe ser adyacente al actual.
2. La solucin no puede regresar nunca a un punto extremo considerado con la
anterioridad.
El algoritmo simplex da inicio en el origen, que suele llamarse solucin inicial. Despus
se desplaza a un punto extremo adyacente. La eleccin especfica de uno a otro punto
depende de los coeficientes de la funcin objetivo hasta encontrar el punto ptimo.
Al aplicar la condicin de optimidad a la tabla inicial seleccionamos a Xi como la
variable que entra. En este punto la variable que sale debe ser una de las variables
artificiales.
Los pasos del algoritmo simplex son ( 10 ) :
1. Determinar una solucin bsica factible inicial.
2. Prueba de optimidad: determinar si la solucin bsica factible inicial es ptima y slo
si todos los coeficientes de la ecuacin son no negativos ( >= 0 ). Si es as, el proceso
termina; de otra manera se lleva a cabo otra interaccin para obtener la nueva solucin
bsica factible inicial.
3. Condicin de factibilidad.- Para todos los problemas de maximizacin y
minimizacin, variable que sale es la variable bsica que tiene la razn ms pequea
(positiva). Una coincidencia se anula arbitrariamente.
4. Seleccionar las variables de holgura como las variables bsicas de inicio.
5. Selecciona una variable que entra de entre las variables no bsicas actuales que,
cuando se incrementan arriba de cero, pueden mejorar el valor de la funcin objetivo. Si
no existe la solucin bsica es la ptima, si existe pasar al paso siguiente.
6. Realizar el paso iterativo.
a) Se determina la variable bsica entrante mediante la eleccin de la variable con el
coeficiente negativo que tiene el valor mayor valor absoluto en la ecuacin. Se enmarca
la columna correspondiente a este coeficiente y se le da el nombre de columna pivote.
b) Se determina la variable bsica que sale; para esta, se toma cada coeficiente positivo
(>0) de la columna enmarcada, se divide el lado derecho de cada rengln entre estos
coeficientes, se identifica la ecuacin con el menor cociente y se selecciona la variable
bsica para esta ecuacin.
c) Se determina la nueva solucin bsica factible construyendo una nueva tabla en la
forma apropiada de eliminacin de Gauss, abajo de la que se tiene. Para cambiar el
coeficiente de la nueva variable bsica en el rengln pivote a 1, se divide todo el
rengln entre el nmero pivote, entonces
rengln pivote nuevo = rengln pivote antiguo
nmero pivote
para completar la primera iteracin es necesario seguir usando la eliminacin de Gauss
para obtener coeficientes de 0 para la nueva variable bsica Xj en los otros renglones,
para realizar este cambio se utiliza la siguiente frmula:
rengln nuevo = rengln antiguo - ( coeficiente de la columna pivote X rengln pivote
nuevo)
cuando el coeficiente es negativo se utiliza la frmula:
rengln nuevo = rengln antiguo + (coeficiente de la columna pivote X rengln pivote
nuevo)


TABLA SIMPLEX
como se capturara la solucin bsica factible inicial en el siguiente ejemplo:
sea:
Maximizar Z = 2X1+4X2
sujeto a:
2X1+ X2<= 230
X1+ 2X2<= 250
X2<= 120
todas las X1,X2>=0


BASE Z X1 X2 S1 S2 S3 SOLUCIN RAZN
Z 0 -2 -4 0 0 0 0 0
S1 0 2 1 1 0 0 230 230/1
S2 0 1 2 0 1 0 250 250/2
S3 0 0 1 0 0 1 120 120/1
Seleccione la variable que entra y la variable que sale de la base:
Entra X2 y sale S3, se desarrolla la nueva tabla solucin y se continua el proceso
iterativo hasta encontrar la solucin optima si es que est existe.
Tabla Optima:

BASE Z X1 X2 S1 S2 S3 SOLUCIN RAZN
Z 0 0 0 0 2 0 500
S1 0 0 0 1 -2 3 90
X1 0 1 0 0 1 -2 10
X2 0 0 1 0 0 1 120
Solucin: Z = $500
fabricando
X1=10
X2=120
Sobrante de
S1 = 90
Tipo de solucin: Optima Mltiple


Solucin de problemas en donde la solucin continua no sea aplicable
regresar



Uso de paquetes computacionales en la solucin e interpretacin de
los resultados
Puedes bajar el tutorial de WinQsb+
Tutorial WinQsb+
regresar
WinQsb+: Software de apoyo para resolver los modelos de programacin lineal.
Interpretacin de los resultados: Veamos la salida de un modelo que involucra la
planeacin de la produccin, en donde se desean construir mesas y sillas el recurso
disponible es 30 m
2
de madera por semana, 48 horas por semana; la demanda de las
sillas es de 5 unidades y la de mesas de 10 unidades, la utilidad que se obtiene por las
mesas es de $10 y por las sillas de $8, ademas para construir la mesa se ocupa lo
siguiente: 4.5 m
2
de madera por unidad, 6 horas por unidad. Para la silla se ocupan: 1.5
m
2
de madera por unidad y 3 horas por cada unidad fabricada.
Con esta informacin se desarrolla el modelo siguiente:
Max Z = 10X
1
+8X
2

s.a.
4.5X
1
+1.5X
2
<= 30
6.0X
1
+3.0X
2
<= 48
toda X
1,
X
2
>=0
El reporte final de este modelo es el siguiente (por WinQsb)
Decision
Variable
Solution
Value
Unit Cost or Profit cj
Total
Contribution
Reduced
Cost
Basis
Status
Allowable
Min cj
Allowable
Max cj
X1 0 10.0000 0 -6.0000 at bound -M 16.0000
X2 16.0000 8.0000 128.0000 0 basic 5.0000 M
Objetive Function (Max) = 128.0000

Constraint
Left Hand
Side
Direction
Rigth Hand
Side
Slack or
Surplas
Shadow
Price
Allowable
Min. RHS
Allowable
Max. RHS
C1 24.0000 <= 30.0000 6.0000 0 24.0000 M
C2 48.0000 <= 48.0000 0 2.6667 0 60.0000
INTERPRETACIN DE LA SALIDA:
Informacin de la Funcin Objetivo:
Decision Variable (Variable de Decisin): Son las variables que se han definido en la
formulacin del problema en este caso representan al producto X1 = mesas y X2=
sillas.
Solution Value (Valor de la solucin): Cantidad de mesas y sillas a fabricar, el problema
se resuelve y nos indica que para obtener la mejor solucin en trminos de la utilidad, se
necesitan fabricar 16 sillas y no fabricar mesas.
Unit Cost or Profit (costo por unidad, Utilidad por unidad): Cantidad de pesos que
vamos a ganar por cada mesa y por cada silla ($10 y $8 respectivamente.
Total Contribution (contribucin total): Es la cantidad en pesos que resulta al
multiplicar la utilidad de cada producto por la cantidad que se va a fabricar, ejemplo al
fabricar 16 sillas y multiplicarlo por $/silla 8, la contribucin es de $128.0000, as al
sumar la contribucin por concepto de las mesas nos arroja una aportacin de $0.0000,
esto resulta de hacer la operacin de ($/mesa10) (0mesas)= $0.0000, finalmente la suma
de 128.0000+0.0000 = $128.0000, esto es lo que se conoce como el valor de Objetive
Function Max.
Reduced Cost (Costo reducido): esto nos indica el dinero que hemos dejado de ganar
por cada unidad no fabricada. en este caso debemos de aumentar a mas de $6.0000 la
utilidad de la mesa para que sea atractiva la fabricacin de mesas.
Basis Status (estado de la base): Indica si la variable es bsica o no bsica, en este
ejemplo la variable X1 (mesas) resulta ser no bsica, esto es que no forma parte de la
solucin ptima, la variable X2 (sillas) es una variable bsica, ya que forma parte de la
solucin.
Allowed Min cj (rango mnimo del cj): esta es la mnima utilidad que puedo obtener sin
que la base actual cambie. (-M)
Allowed Max cj (rango mnimo del cj): esta es la mxima utilidad que puedo obtener
sin que la base actual cambie. (16.0000)
los valores que aparecen son para el producto Mesa.
Interpretacin de las Restricciones:
Constraint (Restriccin): Son las restricciones que forman parte del problema, se tienen
dos restricciones (C1 y C2) la restriccin de la madera y la de horas hombre.
Left hand side (valor al lado izquierdo): esto nos indica el consumo de recurso, de
30.000 m
2
de madera se consumieron 24.000 m
2
.
Direction (direccin): es la direccin de la restriccin (<=,>= o =)
Rigth hand side (valor lado derecho): es el recurso disponible actualmente 30 m
2

Slack or Surplas (holguras): nos indican un faltante o bien un sobrante
Shadow Price (precio sombra): nos indica la solucin Dual, esto es que el 2.6667 indica
que cada hra-hombre se debe ofrecer como mnimo en $/hr 2.6667.
Allowed Min RHS (rango mnimo del bj): esta es la mnima cantidad de recurso que se
debe de mantener sin que la base actual cambie. (0 hrs-hombre)
Allowed Max RHS (rango mnimo del bj): esta es la mxima cantidad de recurso que se
debe de mantener sin que la base actual cambie (60.0000 hrs-hombre)

ALGORITMO SIMPLEX PARA PROBLEMAS DE MINIMIZACIN.
VERSIN ALGEBRAICA.
PASO 1 Seleccionar una SBF inicial con base B.
PASO 2 Calcular los valores de las variables bsicas
b B x
B
1

Calcular el valor de la Funcin Objetivo


b B c z
B
1

PASO 3 Calcular, para todas las variables no bsicas, los valores de


j j B j j
c a B c c z
1
.
Tomar
{ }
j j
I j
k k
c z max c z
N

Si
0
k k
c z
[1]
se verifica el criterio de optimalidad simplex (
N j j
I j c z 0
) y el algoritmo
termina. La SBF actual es ptima. Si la expresin [1] fuera nula entonces dicha
situacin corresponde a infinitas soluciones ptimas alternativas.
Si la condicin [1] no se verifica pasar al PASO 4. La variable
k
x
entra en la base.
PASO 4 Para determinar la variable de salida de la base (denominada
variable de bloqueo), se plantea el sistema de ecuaciones
k B
x y b x
[2]
siendo

,
_

,
_



mk
k
k
m
y
y
a B y
b
b
b B b
1
1
1
1
,
Ahora, la variable
k
x
entra en la base y la variable de bloqueo
r
B
x
sale de ella. El ndice
r se determina mediante el siguiente criterio de la razn mnima

'

>

0 :
1
ik
ik
i
m i
rk
r
y
y
b
Minimo
y
b
.
Si dicho valor
rk
r
y
b
no existe entonces el problema tiene solucin no acotada y el
algoritmo se detiene.
Se pasa al PASO 5.
PASO 5 Se modifica la composicin de la matriz bsica B, en la que
k
a

reemplaza a
r
B
a
.
Se modifica el conjunto de ndices
N
I
.
Se vuelve al PASO 2.
PROGRAMACION LINEAL
TRABAJO PRACTICO N 3: METODO SIMPLEX

1) Considerar las siguientes restricciones de un problema
lineal:

x
1
+ 2x
2
6
x
1
- x
2
4
x
2
4
x
1
, x
2
0

a) Graficar la regin factible.
b) Identificar los puntos extremos y en cada uno de ellos
las variables bsicas y no bsicas.
c)Suponer que en el espacio (x
1
,x
2
)el algoritmo se mueve
del punto extremo (4,0)
t
al punto extremo (14/3, 2/3)
t
.
Especificar cul es la variable que entr y cul la que
sali.

2) Resolver usando Simplex en forma de tabla.

a)Max x= x
1
- 2x
2
+ x
3
b) Max x= 3x
1
+ 2x
2
Suj.a: x
1
+ x
2
+ x
3
12 Suj.a: 2x
1
- 3x
2

2
2x
1
+ x
2
- x
3
6 -x
1
+ x
2
5
-x
1
+ 3x
2
9 x
i
0, i=1,2
x
i
0, i=1,2,3

3) A continuacin se muestran la tabla inicial y la tabla
actual de un P.L. Calcular los valores de las incgnitas
de a a l.

Tabla inicial
z x
1
x
2
x
3
x
4
x
5
LD
1 a 1 -2 0 0 0
0 b c d 1 0 6
0 -1 3 e 0 1 1

Tabla actual
z x
1
x
2
x
3
x
4
x
5
LD
1 0 7 j k l 9
0 g 2 -1 1/2 0 f
0 h i 1 1/2 1 4


4) Una diettica dispone de 150 kg. de nuez, 100 kg. de
avellana y 50 kg. de almendras. Puede vender tres tipos de
mezclas de estos productos : una mezcla barata que consiste
de 80% de nuez, 10% de avellana y 10% de almendras, una
mezcla para fiesta que consiste de 50% de nuez, 30% de
avellana y 20% de almendras, y una mezcla de lujo 20% de
nuez, 50% de avellana y 30% de almendras. Si la lata de 12
kg. de la mezcla barata, la mezcla para fiesta y la mezcla
de lujo se pueden vender en $0,9, $1,1 y $1,3
respectivamente, que se debe producir para maximizar la
ganancia de la diettica ?.

5) Considerar el siguiente problema :

Max x= -x
1
- 2x
2
+ x
3

Suj. a: 2x
1
+ x
2
+ x
3
6
2x
2
- x
3
-3
x
i
0, i=1,2,3

a) Obtener la solucin optima por el mtodo simplex. En
cada iteracin identificar B
-1
, c
B.
B
-1
.
b) En optimalidad determinar x
1
/x
3,
z/x
5
, x
B
/ x
n
,
donde x
5
es la variable de holgura de la segunda
restriccin. Interpretar estos valores.
c) Cual es la rapidez de incremento del objetivo como
funcion del lado derecho de la primera y segunda
restriccin respectivamente?.
d) Suponer que b
1
se cambia de 6 a 6+ . Calcular el rango
de que mantendra la solucin optima y factible
hallada en (a).

6) Considere el siguiente tableau simplex para un problema
de minimizacin (las restricciones son del tipo y x
3
, x
4
y x
5
son las variables de holgura)

z x
1
x
2
x
3
x
4
x
5
LD
1 0 a 0 b 0 f
0 1 -2 0 1 0 c
0 0 -1 1 2 0 d
0 0 0 0 3 1 e

Suponga que a < 0, b 0 y c, d, e 0.

a.Encuentre B
-1
.
b. Encuentre B.
c.Es el tableau ptimo?
d.D el tableau original.
e.A partir del tableau identifique y d su
interpretacin.
Ahora suponga que a > 0, b 0 y c, d, e 0.
f.Es el nuevo tableau ptimo?
g.Sea a=3 y f = - 8. D una solucin factible con z= -200.


7) Resuelva el siguiente problema de programacin lineal
por el mtodo simplex en cada iteracin identifique B y B
-
1
.




8) Considerar el siguiente problema lineal :
Minimizar cx, sujeto a : Ax b, x

0
donde c es un vector distinto de cero. Dado x
0
/ A x
0
<b y x
0
> 0 Demostrar que x
0
no puede ser una solucin optima.

Вам также может понравиться