You are on page 1of 13

Pero en la forma P500x1 700x2 0y1 0y2 0y3 = 0 (a esta fila se le llama fila

objetivo); de las filas segunda a tercera y de las columnas segunda a ultima se ha


escrito la matriz aumentada del sistema lineal (6.18). Esta se llama tabla inicial
para el problema de programacin inicial, ella contiene toda la informacin
necesaria para saber el valor de todas las variables cuando (x1, x2) es el punto
esquina (0, 0):

Obviamente, x1 = 0 y x2 = 0 porque hemos supuesto que (x1, x2) es el


punto esquina (0, 0); sin embargo, en la tabla inicial esta informacin se ve
plasmada por el hecho de que ninguno de los vectores debajo de las
etiquetas x1 y x2 de la primera fila es alguno de los vectores cannicos
unitarios (1, 0, 0, 0), (0, 1, 0, 0), o (0, 0, 1, 0).

Las variables de holgura, contenidas en la primera columna, toman los


valores correspondientes en la ltima columna: y1 =80, y2 =50 y y3 =90. En
este estado, (x1, x2) = (0, 0), las tres variables de holgura son no nulas y
este hecho se refleja en la tabla inicial al estar debajo de las etiquetas y1,
y2 y y3, de la primera fila, los vectores cannicos unitarios (1, 0, 0, 0), (0, 1,
0, 0) y (0, 0, 1, 0), respectivamente.

La funcin de ganancia P, en la primera columna, toma el valor del registro


de la fila objetivo en la ltima columna: P = 0.

De la solucin del ejemplo 6.25 sabemos que el mximo de este problema de


produccin se alcanza en el punto esquina (10, 40). De la figura 6-16 es claro que
podemos evitar la evaluacin de la funcin de ganancia en los puntos esquina (40,
0) y (30, 20) si se toma un atajo al avanzar por la arista x1 = 0 para llegar al
punto esquina (45, 0). Como se puede obtener esta misma informacin de la
tabla inicial? Al estar en el punto esquina (0, 0) nicamente existen dos aristas a
travs de los cuales pueden incrementarse x1 o x2, que son x1 = 0 o x2 = 0 y
dado que la funcin de ganancia es P = 500x1+700x2, entonces P tiene un in
cremento ms rpido si se permite que x2 sea distinto de cero (en este caso P =
700x2, ya que x1 = 0); es decir, al variar x2 a lo largo de la arista x1 = 0 (cfr. figura
6-16). Esta informacin se puede conseguir en la tabla inicial (6.19) eligiendo la
variable que se encuentra en la columna que corresponde al registro negativo de
mayor valor absoluto en la fila objetivo de la tabla 6.19 (la ltima fila). En nuestro
caso concreto 700 es el registro con mayor valor absoluto y la variable que se
encuentra arriba de este registro, en la misma columna, es x2. A esta columna le
llamaremos columna pivote para la tabla inicial. Al desplazarse a lo largo de la
arista x1 = 0 se llegara al punto esquina (0, 45); nuevamente esta informacin la
podemos obtener de la tabla inicial. Como el siguiente punto esquina a lo largo de
la arista x1 = 0 pertenece a cierta arista, entonces alguna de las variables de
holgura, yi, tiene que ser cero en el sistema (6.18). Podemos analizar todas las
posibilidades mediante el sistema (6.18): si y1 = 0, se obtiene x2 = 80 y, por tanto,
y2 = 30 y y3 = 70 (recuerde que x1 = 0); si y2 = 0, entonces x2 = 50, y1 = 30 y
y3 = 10; si y3 = 0, se tiene x2 = 45, y1 = 35 y y2 = 5. Puesto que las variables de
holgura tienen que ser no negativas, la nica posibilidad es y3 = 0, con lo que se
alcanza el punto esquina (0, 45, 35, 5, 0) para el sistema (6.18); es decir, el punto
esquina (0, 45) del conjunto factible con los valores de holgura y1 = 35, y2 = 5 y
y3= 0. Ahora bien.

80
Y 1=( X 2)
1

50
Y 2=( X 2)
1

90
Y 3=( X 2)
1

80 50 90 90
de donde se observa que la menor razn de , y , X 2= =45
1 1 1 2
, satisface la restriccin yi 0 para todo i. Para saber cual es esta razn, utilizando
la tabla inicial 6.19, simplemente se calculan los cocientes al dividir cada registro
de la ltima columna entre el registro correspondiente en la misma fila que est en
la columna objetivo (exceptuando los registros en la fila objetivo) y se elige de
entre estos el valor mnimo. A la fila en la tabla inicial, que contiene los registros
que hacen minima esta razn, le llamaremos fila pivote. Podemos utilizar la
informacin conocida de que x1 = 0 y y3 = 0 para calcular el punto esquina (0, 45)
con el contenido de la tabla inicial 6.19. Empleamos el mtodo de Gauss-Jordan
para cambiar la escala del registro contenido en la interseccin de la fila pivote y la
columna pivote (en este caso 2) a 1 y con este elemento transformar los registros
por encima y por debajo de este en ceros:

Dado que x1 = y3 = 0, tenemos: x2 = 45, y1 = 35 y y2 = 5; es decir, la solucin


factible (0, 45, 35, 5, 0) del sistema (6.18) con P=31500. Esta informacin la
podemos representar en una segunda tabla, anloga a la inicial, que nos
proporciona la informacin del estado del problema en el punto esquina (0, 45):
De nuevo, esta segunda tabla se interpreta con el espritu de la tabla inicial: las
variables que estn en la primera columna tienen los valores correspondientes en
la ltima columna y las variables de la primera fila que no estn en la primera
columna toman el valor cero; es decir, (x1, x2, y1, y2, y3) = (0, 45, 35, 5, 0) y
P = 31500. A las variables que se encuentran en la primera columna en ambas
tablas se les llama variables bsicas y a las restantes variables no bsicas. En la
tabla inicial las variables bsicas son y1, y2, y3 y las variables no bsicas son x1 y
x2; mientras que en la tabla para el estado del problema en el punto esquina (0,
45) las variables bsicas y no bsicas son, respectivamente, y1, y2, x2 y x1, y3.
Note que otra vez, como en la tabla inicial, los vectores que estn por debajo de
cada variable bsica de la primera fila son los vectores unitarios cannicos (0, 0, 1,
0), (1, 0, 0, 0) y (0, 1, 0, 0) para x2, y1 y y2, respectivamente. De manera
completamente anloga, veamos como es posible formar la tabla que corresponde
al estado del problema en el siguiente punto esquina (que, como sabemos del
ejemplo 6.25, es (10,40)) siguiendo una arista para obtener el incremento de P
ms rpido posible. En la fila objetivo el registro negativo con mayor valor absoluto
de la tabla (6.20) es 150; ahora x1 va a incrementar su valor de cero a un valor
mayor a cero y pasara de ser variable no bsica a variable bsica en la siguiente
tabla; as la columna pivote en este estado es la que contiene a x1. Alguna de las
variables de la primera columna de (6.20) pasar a de ser variable bsica a
variable no bsica. Para saber cul es, calculamos los cocientes al dividir los
registros de la ltima columna de (6.20) entre los correspondientes registros de la
columna pivote (excepto los de la fila objetivo):

35 70
=
3 3
2

5
=10
1
2

45
=90
1
2
5
la menor razn es que corresponde a la variable y2. Se dice que y2 es
1 /2
variable bsica saliente y x1 es variable bsica entrante para establecer la
siguiente tabla. Como x1 ser variable bsica, los elementos que estn por debajo
de ella deben corresponder a un vector cannico unitario; para hacer esto
utilizamos el elemento que se encuentra en la interseccin de la fila pivote y la
columna pivote para, con el mtodo de Gauss-Jordan, cambiar la escala de este
elemento a 1 y transformar los registros por encima y debajo de este en ceros:

De la ltima tabla obtenemos la solucin factible (10, 40, 20, 0, 0) y P = 33000, es


decir, x1 = 10, x2 = 40 para una ganancia P = 33000. Hemos encontrado la
solucin del problema, pero cmo saber por este mtodo que efectivamente ya
se alcanzo el maximo y debemos detener el proceso? La respuesta es sencilla, la
fila objetivo de la ltima tabla no contiene ya registros negativos; es esta la seal
que nos indica que hemos llegado al valor optimo, porque ya no tenemos una
direccin que seguir a travs de una arista para incrementar la funcin objetivo. En
la figura 6-16 se puede observar claramente la razn de este argumento.

Motivados por la precedente discusin resumimos a continuacin el algoritmo para


resolver este tipo de problemas.

Mtodo simplex para el problema estndar de programacin lineal

Para resolver el problema estndar de programacin lineal:

o en su forma matricial equivalente (6.15) (cfr. pg. 620), se procede de la


siguiente manera:

PLE 1: Se incorporan m variables de holgura y1, y2, . . . , ym 0 al sistema de


desigualdades (6.22) para transformar este en el sistema de ecuaciones
A toda solucin (x1, x2, . . . , xn, y1, y2, . . . , ym) del sistema (6.23) se le nombra
solucin factible; al conjunto de todas sus soluciones conjunto factible del
problema estndar de programacin lineal y toda solucin de este sistema que se
obtiene al hacer ceros n de las n+m variables, es un punto esquina del conjunto
factible para las restricciones (6.22).

o, en forma matricial

que est conformada por:

1. Primera fila: las variables del problema x1, x2, . . . , xn y las variables de
holgura y1, y2, . . . , ym, por encima de la matriz ampliada [A| Im], donde Im
es la matriz identidad de orden m.
2. Primera columna: las variables de holgura y1, y2, . . . , ym en la columna
adyacente a la izquierda de la matriz [A| Im].

3. ltima fila: la variable P para la funcion de ganancia y los negativos ci de


los coeficientes de las variables xi de est en (6.21); los registros finales de
esta fila son ceros.

4. Ultima columna: los valores b1,b2, . . . ,bm de las restricciones del


problema; el registro final de esta columna es cero.

PLE 3: A partir de la tabla inicial se calculan en forma recurrente tablas que darn
informacin del estado del problema en puntos esquina adyacente para los que la
funcin objetivo se va incrementando.
En cada una de estas tablas emplearemos las siguientes connotaciones e
interpretaciones.
1. La primera fila es idntica a la primera fila de la tabla inicial.

2. A la ltima fila se le llama fila objetivo.

3. Las variables de la primera fila que estn por encima de columnas que
contienen a uno de los vectores cannicos unitarios de la base de Rm +1 ,
i

e=(0, ,0, 1 , 0, , 0) , se llaman variables bsicas y las restantes


variables no bsicas. (As, en la tabla inicial, las variables de holgura, yi,
son todas bsicas y las variables del problema, xi, son todas no bsicas.)

4. Cada variable en la primera columna (excepto la variable P) es bsica y


tiene el valor que corresponde al registro que est en la fila a la que
pertenece y en la ltima columna. (En la tabla inicial cada variable de
holgura es bsica y yi = bi para todo i.)

5. Las variables no basicas tienen valores nulos. (En la tabla inicial xj = 0


para todo j.)

6. La variable P, para la funcin de ganancia, toma el valor del registro que se


encuentra en la ltima columna de la fila objetivo. (As, en la tabla inicial,
P = 0.)

PLE 4: Para calcular la tabla siguiente ( +1) a partir de una tabla precedente ()
se procede as:

1. Una de las variables no bsicas de la tabla () ser variable bsica en la


tabla (+1); a esta variable se le llama variable bsica entrante. Para elegir
la variable bsica entrante se identifica el registro no negativo de mayor
valor absoluto en la fila objetivo de la tabla (), la variable que se encuentre
en la columna donde est ese registro ser la variable bsica entrante;
dicha columna se llama columna pivote.

2. Una de las variables bsicas, que estn en la primera columna de la tabla


(), ser variable no bsica en la tabla ( +1), a esta se le llama variable
bsica saliente. Para decidir cul es la variable bsica saliente se calculan
los cocientes, definidos y no negativos, de dividir los registros de la ltima
columna entre los registros de la columna objetivo de la tabla ()
(nicamente los que corresponden a filas que contienen variables bsicas);
la fila que corresponda a la menor razn no negativa es la que contendr la
variable bsica saliente. A esta fila se le llama fila pivote.

3. Si todos los registros de la fila pivote son cero o negativos, entonces el


problema no es acotado; es decir, la funcin de ganancia no alcanza el
mximo.
4. La variable bsica entrante de la tabla () ocupar el lugar de la variable
bsica saliente en la primera columna de la tabla ( +1).

5. Mediante el mtodo de Gauss-Jordn el registro contenido en la


interseccin de la fila pivote y la columna pivote se convierte a 1, mediante
un cambio de escala y se transforman en ceros los elementos por encima y
por debajo de ese registro en la tabla ().

6. La tabla obtenida mediante los pasos precedentes ser la tabla (+1). El


punto x = (x1, x2, . . . , xn), que corresponde a los valores que contiene
la tabla ( +1), es el punto esquina que da la informacin del problema en
ese estado; es decir, en dicho punto esquina.

PLE 5: El proceso termina cuando por primera vez se obtiene una tabla que no
contiene registros negativos en la fila objetivo. Los valores que toman P y x =
(x1, x2, . . . , xn) en esta tabla sern el valor mximo y un punto esquina donde
este se alcanza, respectivamente.

Ilustremos el algoritmo anterior con el ejemplo de un problema de programacin


lineal estndar de ms de dos variables.

-Ejemplo 6.26 Una empresa fabrica cocinetas en tres modelos: M1, M2 y M3. Los
tiempos de fabricacin para estos modelos son de tres semanas, dos semanas y
una semana, respectivamente. Por cuestiones de espacio nicamente puede
almacenar a lo ms 28 cocinetas en total al ao y la empresa labora 48 semanas
al ao. La ganancia neta por unidad para los modelos M1, M2 y M3 son $5 000, $4
000 y $3 000, respectivamente. La empresa necesita saber cuantas unidades de
cada modelo debe fabricar para maximizar la ganancia por la venta de estos
articulos.

Solucin: Sean x1, x2 y x3 el nmero de unidades que la empresa debe fabricar


de sendos modelos M1, M2 y M3. Entonces la ganancia (en miles) es P = 5x1
+4x2 +3x3. Dado que la empresa puede almacenar a lo ms 28 cocinetas, labora
48 semanas en un ao, el modelo M1 se fabrica en 3 semanas, el M2 en dos
semanas y el M3 se manufactura en una semana, entonces x1, x2 y x3 deben
satisfacer las restricciones.

Es decir, el problema es:


Este es un problema estndar de programacin lineal. Se incorporan dos variables
de holgura (una para cada restriccin) para transformar el sistema de
desigualdades en el sistema lineal.

Formemos la tabla inicial de acuerdo con (6.24) del mtodo simplex para el
problema estndar de programacin lineal:

El registro negativo con mayor valor absoluto de la fila objetivo es 5, por tanto, x1
es la variable bsica entrante y la columna donde se encuentra es la columna
pivote; la menor razn de 28/1 = 28 y 48/3 = 16 (los cocientes de los registros de
la ltima columna con la columna pivote) es 48/3, por lo que y2 es la variable
bsica saliente y la fila donde se encuentra es la fila pivote. Con el registro que
est en la interseccin de la fila pivote y la columna pivote de la tabla inicial (3),
empleamos el mtodo de Gauss-Jordan para cambiar su escala a 1 y transformar
en ceros todos los registros por encima y debajo de el:

El registro negativo de mayor valor absoluto en la fila objetivo de la ultima tabla es


4/3, por lo que donde se encuentra se tiene la columna pivote y x3 es la variable
bsica entrante. Las razones de los registros de la ltima columna con los de la
columna pivote son 12/(2/3) = 18, 16/(1/3) = 48, la menor es 12/(2/3); entonces la
variable bsica saliente es y1 y la fila donde se encuentra es la fila pivote.
Al registro en la interseccin de la fila pivote y la columna pivote, 2/3, le
cambiamos la escala a 1 y hacemos ceros los elementos por debajo de este
mediante el mtodo de Gauss-Jordn:

Puesto que la fila objetivo de la ultima tabla no tiene registros negativos, el


proceso ha terminado con el valor mximo P = 104 que se alcanza en x1 = 10, x3
= 18 y x2 = 0. Es decir, la empresa debe fabricar x1 =10 cocinetas del modelo
M1, x2 =0 cocinetas del modelo M2 y x3 =18 cocinetas del modelo M3 para
obtener una ganancia mxima de $104 000.

Ejemplo 6.27 X

Maximizar P = 3x1+2x2+x3

{
X 1+ X 2 2
Sujeto a: X21
X 1, X 2, X 3 0

Solucin: El sistema lineal con las correspondientes variables de holgura es.

X 1+ X 2+Y 1=2

X 2+Y 2=1

Y la tabla Inicial

El registro negativo con mayor valor absoluto en la fila objetivo es 3, as que la


columna pivote es la que contiene a x1; la menor razn positiva de los registros de
la ltima columna a los de la columna pivote es 2/1, por tanto, la fila pivote es la
que contiene y1. Entonces, la siguiente tabla es:
En esta tabla el registro negativo con mayor valor absoluto en la fila objetivo es 1;
as que la columna pivote es la que contiene x3; sin embargo, todos los registros
de la columna pivote son ceros, entonces el problema es no acotado; es decir, P
no alcanza valor mximo en el conjunto factible. Este hecho es fcil de comprobar:
los puntos (0, 0, x3), x3 0, satisfacen evidentemente las restricciones y puesto
que:

lim P ( 0,0, x 3 )= lim x 3=


x 3 x3

Es evidente que P no alcanza mximo en el conjunto factible.

Minimizacin por medio de la maximizacin

Si B es cualquier conjunto de nmeros reales utilizamos la notacin mx. (B) y


mn. (B) para representar el mximo y el mnimo de los elementos de B (si es que
B los tiene), respectivamente, y si A es un conjunto de nmeros reales, A denota
el conjunto formado por los negativos de los elementos de A. Si uno de mx. (A)
o mn. (A) existe, entonces el otro tambin y, adems,

mn.(A) = mx.(A) (6.25)

En efecto, supongamos que mn.(A) existe, entonces mn.(A) A y

mn.(A) a a A,

por tanto,

mn.(A)a a A,

Luego,

mn.(A) = mx.(A);
si mx.(A) existe, entonces mx.(A)A y

mx.(A)a a A,

por lo que

mx.(A) a a A,

y, por tanto,

mx.(A) = mn.(A).

Podemos usar (6.25) para resolver problemas de minimizacin con la misma


tcnica de maximizacin; calculando el mximo de C y multiplicando este
resultado por 1.

Ejemplo 6.28

Minimizar C = x1+8x2+4x3

{
X 1+ X 2 X 3 5
2 X 1+ X 2+3 X 3 16
Sujeto a:
3 X 1+2 X 2+ X 3 25
X 1, X 2, X 3 0

Solucin: El problema se puede resolver maximizando la funcin

P = C = 18x24x3 sujeta a las mismas restricciones. La tabla inicial es entonces

El registro negativo con mayor valor absoluto en la fila objetivo es 1 y la menor


razn de la ltima columna en la columna objetivo es 5/1; as que sale la variable
y1 de la primera columna y entra la variable x1; hacemos un pivote con el mtodo
de Gauss-Jordn para convertir a ceros los registros por debajo del elemento que
se encuentra en la interseccin de la fila pivote y la columna pivote:
Dado que ya no hay registros negativos en la fila objetivo, el proceso ha
terminado. As que el mximo de P = C es 5 y se alcanza en (5, 0, 0). Por tanto,
el mnimo de C = x1 +8x2 +4x3 sujeto a las restricciones (6.26) es C = 5 y se
alcanza en x1 = 5, x2 = 0 y x3 = 0.

You might also like