P. 1
Fundamentos Matemáticos del Método Simplex

Fundamentos Matemáticos del Método Simplex

5.0

|Views: 2.098|Likes:
Se presentan algunos resultados de la teoría matemática de la programación lineal y se exponen algunas consecuencias de estos resultados, que generalmente no aparecen en la literatura que más se utiliza para enseñar estos temas. Se proponen además, modificaciones al algoritmo de penalización, con el fin de simplificar su utilización.
Se presentan algunos resultados de la teoría matemática de la programación lineal y se exponen algunas consecuencias de estos resultados, que generalmente no aparecen en la literatura que más se utiliza para enseñar estos temas. Se proponen además, modificaciones al algoritmo de penalización, con el fin de simplificar su utilización.

More info:

Published by: Programa Ingeniería de Sistemas on Jul 12, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

02/10/2014

pdf

text

original

Fundamentos matemáticos del método símplex

Oscar Eduardo Gomez Roias
oegroias(yahoo.com
Trabaio de Grado para Optar por el Titulo de Matematico
Director: Pervis RengiIo RengiIo
Ingeniero Universidad Nacional de Colombia
Fundacion Universitaria Konrad Lorenz
Facultad de Matematicas
22 de noviembre de 2004
Tabla de contenido
Tabla de contenido ................................................................................................................. 2
Resumen ............................................................................................................................ 3
........................................................................................................................................ 3
Introducción ..................................................................................................................... 4
Primera Parte ................................................................................................................... 5
1.2 Conjuntos convexos .......................................................................................................... 8
1.3 Soluciones Básicas Factibles .......................................................................................... 18
1.4 Teorema de representación ........................................................................................... 23
Segunda Parte ................................................................................................................. 27
2.2 El método símplex en formato de tabla ........................................................................ 35
2.3 Problemas con solución básica factible inmediata ....................................................... 39
2.4 Problemas sin solución básica factible inmediata ........................................................ 46
Conclusiones ................................................................................................................... 55
Resumen
Se presentan algunos resultados de la teoria matematica de Programacion Lineal y se
exponen algunas consecuencia de estos resultados. que generalmente no aparecen en la
literatura que mas se utiliza para enseñar estos temas. Se proponen. ademas.
modiIicaciones al algoritmo de penalizacion. con el Iin de simpliIicar su uso.
Abstract
Some results oI the Mathematical theory oI Linear Programming is presented and so
me oI the consequences oI these results are exposed; results included are the one that do
not appear in the kind oI literature they used most to teach other topics. Besides. some
modiIication to big M algorithm in order to simpliIy its use.

Introducción
Este trabaio trata sobre los Iundamentos teoricos de la Programacion Lineal. La
Programacion Lineal esta comprendida dentro de un campo mas amplio de la
matematica aplicada conocido como Investigacion de Operaciones. Por lo tanto. antes
de introducir la Programacion Lineal. me reIerire al campo que la contiene. De las
deIiniciones de Investigaciones de Operaciones que conozco. la que meior la describe. a
mi parecer. es la de Churchman. AckoII y ArnoII. que aparece en la pagina 20 del libro
de Prawda

y que transcribo a continuacion: “La Investigación de Operaciones es la
aplicación, por grupos interdisciplinarios, del método científico a problemas
relacionados con el control de las organizaciones o sistemas (hombre-máquina) a fin de
que se produzcan soluciones que mejor sirvan a los objetivos de toda la organización”.
De esta deIinicion se concluye que la naturaleza de los problemas a tratar es tal que
hace necesario recurrir a practicas que son propias de la ciencia. asi como la
conIluencia de miradas de diversa Iormacion teorica sobre un mismo hecho. Esta ultima
aIirmacion coincide con lo que dice Taha en la pagina 2 de su libro. donde aIirma que:
“La Investigación de Operaciones debe visualizarse como una ciencia y como un arte”.
sin embargo. probablemente por nuestra condicion de consumidores –no creadores- de
Ciencia y Tecnologia. nuestro trabaio en la parte matematica se limita a la aplicacion de
algoritmos ya existentes y se abandona el estudio de sus Iundamentos teoricos. Esta ha
sido una constante en el pasado: unos pocos se dedican a producir algoritmos. y la
mayoria. luego de una recibir una exposicion teorica superIicial. aprende a emplearlos
en aplicaciones practicas. Sin embargo. la llegada de los computadores ha librado al
hombre de tener que emplearse en el desarrollo mecanico de algoritmos. Existen
paquetes de soItware que desarrollan este trabaio algoritmico. por lo tanto. la parte que
nos corresponde a los matematicos del trabaio interdisciplinario. consiste en
comprender los Iundamentos a Iin de estar en capacidad de producir soluciones nuevas
a problemas que no hayan sido considerados con anterioridad. o a meiorar las
existentes.
Es caracteristico de los modelos matematicos de los problemas de Investigacion de
Operaciones la existencia de una. o unas. Iunciones obietivo que se desea optimizar en
presencia de restricciones sobre las variables. La Programacion Lineal se ocupa de los
problemas en los cuales tanto la Iuncion obietivo como las restricciones son de tipo
lineal. Este trabaio esta dirigido mas al porque. que al como. de los algoritmos. por lo
tanto es adecuado. sobre todo. para quienes ya han tenido contacto con el tema y desean
conocer los resultados en los cuales se basa el algoritmo simplex.
Aunque este trabaio es esencialmente de tipo exploratorio. la aplicacion literal de la
teoria me permitio llegar a desarrollar eiemplos que van mas alla de lo usual y a
proponer dos cambios que simpliIican la eiecucion del algoritmo de penalizacion.

Este texto y los otros que aparecen citados en la introduccion. se encuentran completamente
reIerenciados en la bibliograIia que aparece al Iinal del trabaio.
Primera Parte

1.1 Una motivación
El trabaio que se desarrolla en seguida. es una presentacion matematica Iormal de las tecnicas
generales de la Programacion Lineal y del metodo simplex en particular. Por lo tanto. se
comienza ilustrando el metodo graIico. con un eiemplo particular. para ir asi introduciendo unos
conceptos intuitivos que. a continuacion. seran rigurosamente deIinidos.
Consideremos el siguiente problema de optimizacion lineal:
Una compañia Iabrica sillas y mesas. Cada silla necesita 5 horas de ensamblado y 2 horas de
acabado. mientras que cada mesa requiere 3 horas de ensamblado y 4 de acabado.
Semanalmente la empresa dispone de 105 horas en la linea de ensamblado y 70 en la de
acabado. La ganancia por cada silla es de $200 y de $160 por cada mesa. Determine el numero
de sillas y mesas que deben Iabricarse con el Iin de maximizar la utilidad total.
Se plantea el problema en Iorma matematica:
Primero deIinimos claramente el signiIicado de las variables que se emplearan.
Sean x:÷ numero de sillas que se Iabricaran.
y:÷ numero de mesas que se Iabricaran.
El problema se expresa entonces de la Iorma:
Maximizar la utilidad 200x¹160y satisIaciendo las restricciones:
1) 5x ¹ 3y ≤ 105
2) 2x ¹ 4y ≤ 70
Las restricciones 1) y 2) corresponden. respectivamente. a las horas de ensamblado y acabado
disponibles. Existen ademas otras dos restricciones tacitas en este problema: como no tiene
sentido pensar en construir cantidades negativas de ningun producto. exigiremos ademas: x ≥ 0
e y ≥ 0.
Si damos un valor a la utilidad de u. se tiene:
200x¹160y÷u. despeiando y queda
160
200 x u
y

·
asignando diversos valores a u. obtenemos diIerentes rectas paralelas.
Se despeia y en las dos primeras restricciones y se graIica:
1)
3
5 105 x
y

≤ 2)
4
2 70 x
y

≤ 3) 0 ≥ x 4)
0 ≥ y
El punto (o los puntos) solucion debe(n) satisIacer simultaneamente todas las restricciones. por
lo tanto se encontrara(n) en la interseccion de todas las restricciones. En la graIica la region
sombreada corresponde a esta interseccion (region Iactible). por lo tanto debe buscarse la
solucion en ella. Para tal eIecto se asignan diversos valores a u y se graIican las rectas que
corresponden a cada una de estas asignaciones. Se puede ver lo que ocurre cuando u pasa de 0 a
2000: la recta correspondiente a la Iuncion de utilidad se traslada paralela en una direccion
noreste aproximadamente. incrementandose su valor.
Por lo tanto se debe continuar el traslado en tal direccion mientras se mantenga dentro de la
region Iactible. El punto maximo al cual se puede llegar siguiendo este procedimiento es el que
se ha señalado como punto solucion. Este punto corresponde a la interseccion de las rectas
y÷(105-5x)/3 e y÷(70-2x)/4. resolviendo este sistema de ecuaciones se encuentra que la
solucion es x ÷ 15 e y÷10. Con estos valores se tiene una utilidad de 4600.
En general. para los problemas de programacion lineal en dos variables la region Iactible tendra
la Iorma de un poligono en el plano xy. Al igualar la Iuncion obietivo (z) a una constante c. su
graIica sera una linea recta. cambiando el valor de c la recta se desplazara en Iorma paralela
sobre el plano. existiendo dos posibles sentidos de desplazamiento (uno cuando c se incrementa
y el contrario para decrementos de c). Es intuitivamente obvio que el valor extremo (maximo o
minimo) de la Iuncion obietivo dentro de la region Iactible se obtendra cuando esta recta pase
por un vertice (punto extremo) del poligono. puesto que el ultimo punto de contacto con la
region Iactible. al moverse en el sentido de crecimiento o decrecimiento. debe ocurrir en uno de
los vertices. La Iigura ilustra las aIirmaciones anteriores
En la Iigura (b) las lineas con z constante son paralelas a un lado del poligono Iactible. en este
caso el valor maximo de z ocurre cuando la linea con z constante coincide con tal lado. En este
caso se tienen inIinitas soluciones. todas las cuales se encuentran en el segmento de recta que
une dos de los puntos extremos (vertices). Aunque no se ilustra en la Iigura. puede ocurrir que la
region Iactible no sea acotada. en tal caso z puede no tener un valor maximo o minimo Iinito.
Resumiendo. se tienen ya algunos hechos importantes acerca de los problemas de programacion
lineal: la region Iactible es la interseccion de las regiones que determinan cada una de las
restricciones del problema; el punto optimo se localiza en uno de los puntos extremos de la
region Iactible; pueden existir inIinitas soluciones; la region Iactible puede no ser acotada y por
lo tanto el problema puede no tener una solucion Iinita; y por ultimo. aunque no lo
mencionamos. la region Iactible puede ser vacia. esto es. puede ocurrir que no exista ningun
punto que satisIaga simultaneamente todas las restricciones.
Los resultados anteriores han sido establecidos de manera intuitiva y han sido motivados con
una graIica bidimensional. Sin embargo. como ocurre en el calculo. los resultados insinuados
por la geometria deben ser establecidos de Iorma rigurosa. de tal manera que puedan ser
extendidos a mas de tres dimensiones donde no tiene sentido pensar en hacer un dibuio o una
maqueta. Lo anterior no quiere decir que las interpretaciones geometricas carezcan de valor.
pues generalmente son ellas las que insinuan los resultados que posteriormente se establecen de
Iorma rigurosa. simplemente no constituyen una demostracion en el sentido estricto del termino.
Por lo tanto seguiremos empleando graIicas para ilustrar las deIiniciones y los resultados que se
vayan estableciendo. pero unas y otros se desarrollaran con independencia de la geometria.
1.2 Conjuntos convexos
La recta que pasa por los puntos
2 1
x , x de
n
ℜ se deIine como el coniunto de puntos
} . ) 1 ( / ¦ ℜ ∈ − + · ℜ ∈ · λ λ λ
2 1
x x x x
n
X
El segmento de recta que une
2 1
x , x en
n
ℜ se deIine como el coniunto de puntos
} 1 0 . ) 1 ( / ¦ ≤ ≤ − + · ℜ ∈ · λ λ λ
2 1
x x x x
n
X
Un hiperplano en
n
ℜ se deIine como el coniunto de puntos
} / ¦ z · ℜ ∈ · cx x
n
X
donde 0 c ≠ es un vector Iila de n componentes y z es un escalar.
Los coniuntos
} / ¦ z ≥ ℜ ∈ · cx x
n
X y
} / ¦ z ≤ ℜ ∈ · cx x
n
X
se llaman semiespacios cerrados.
Un coniunto X es convexo si para dos puntos cualesquiera del coniunto
2 1
x , x . el segmento de
recta que los une esta tambien dentro del coniunto. En otras palabras. si

2 1
x , x
X entonces
cada punto
1 0 . ) 1 ( ≤ ≤ − + · λ λ λ
2 1
x x x
debe pertenecer tambien al coniunto.
La expresion 1 0 . ) 1 ( ≤ ≤ − + λ λ λ
2 1
x x (para un λ dado) se llama una combinación
convexa de
2 1
x , x .
Teorema 1.1: un semiespacio cerrado es un conjunto convexo.
Demostración: supongamos que
2 1
x , x
estan en el semiespacio cerrado z ≤ cx si
1 0 . ) 1 ( ≤ ≤ − + · λ λ λ
2 1
x x x
entonces
) 1 0 ( . ) 1 ( ) 1 ( ≤ ≤ · − + ≤ − + · λ λ λ λ λ z z z
2 1
cx cx cx
y por lo tanto x esta en el semiespacio.
Un argumento casi identico demuestra que un hiperplano tambien es un coniunto convexo.
Teorema 1.2: la intersección de dos conjuntos convexos también es convexa.
Demostración: sean
2 1
. X X
coniuntos convexos. y sean
2 1
x , x
2 1
X X ∩ ∈
dos puntos
diIerentes (si
2 1
X X ∩ tiene un unico elemento. automaticamente es convexo). entonces
1 0 . ) 1 (
1
≤ ≤ ∈ − + λ λ λ X
2 1
x x
y
1 0 . ) 1 (
2
≤ ≤ ∈ − + λ λ λ X
2 1
x x
por lo tanto
1 0 . ) 1 (
2 1
≤ ≤ ∩ ∈ − + λ λ λ X X
2 1
x x .
Las restricciones en un problema de Programacion Lineal (incluidas las de no negatividad)
tienen la Iorma de lo que hemos deIinido como hiperplanos o como semiespacios cerrados. (los
cuales son coniuntos convexos) y la region Iactible consiste en la interseccion de un numero
Iinito de tales hiperplanos o semiespacios. Y como la interseccion de un numero Iinito de
coniuntos convexos es convexa. se puede concluir que: el coniunto de las soluciones Iactibles
para un problema de Programacion Lineal es un coniunto cerrado y convexo.
Introduciendo variables de holgura o de superavit (holguras que se restan) las restricciones de
las Iormas
≤ ≥.
se transIorman en restricciones de la Iorma ÷. De lo anterior se concluye que
en los algoritmos de Programacion Lineal se trabaia con sistemas de ecuaciones. Por lo tanto
necesitaremos del siguiente resultado: el coniunto de soluciones de un sistema de m ecuaciones
lineales en n incognitas. Ax=b. es un coniunto convexo y cerrado. Para ver esto. observemos
que el coniunto de ecuaciones de puede escribir
i i
b x a · . i÷1. . . . .m.
donde ai es la i-esima Iila de A y cada una representa un hiperplano. El coniunto de los puntos
que satisIacen simultaneamente todas las ecuaciones es la interseccion de los m hiperplanos; es
por lo tanto. como ya vimos. un coniunto convexo y cerrado.
Un punto x es un punto extremo de un coniunto convexo. si. y solo si. no existen en el
coniunto puntos
2 1
x , x (
2 1
x x ≠ ) tales que
1 0 . ) 1 ( < < − + · λ λ λ
2 1
x x x
La deIinicion implica que un punto extremo no puede estar “entre” otros dos puntos del
coniunto. esto es. que no puede estar en el segmento de recta que los une.
Teorema 1.3: un punto extremo es a su vez un punto frontera.
Demostración: supongamos que x es un punto interior de X. por lo tanto existe una
ε− vecindad de x completamente contenida en X. Sea x1 un punto de la vecindad diIerente de x.
hagamos x2÷x¹(x-x1). se tiene entonces x2-x÷x-x1 de donde 'x2-x'÷'x-x1' y por lo tanto x2
tambien esta en la vecindad y ademas para λ ÷1/2 se tiene
λ x1¹(1-λ )x2÷(x1¹x2)/2÷x
por lo tanto x no puede ser un punto extremo. Sin embargo. el reciproco no es cierto. no todo
punto Irontera es punto extremo. como se ilustra en la siguiente Iigura
El siguiente graIico permite visualizar un resultado que lleva a la deIinicion de combinacion
convexa de m puntos. Al prolongar cualquier recta que pase por el punto y esta necesariamente
se encontrara con puntos de la Irontera. en este caso los puntos de corte son xa y xb y. por lo
tanto. se tiene que y÷λ xa¹(1-λ )xb. 0 ≤ λ ≤1. pero. a su vez los puntos xa y xb se
encuentran entre x5.x6 y x3.x4 respectivamente. por lo tanto
xa÷µ x5¹(1-µ )x6. 0 ≤ µ ≤1
y
xb÷ν x3¹(1-ν )x4. 0 ≤ ν ≤1
de donde se tiene
y ÷ λ xa ¹ (1-λ )xb
÷ λ[ µ x5 ¹ (1-µ )x6| ¹ (1-λ )|ν x3 ¹ (1-ν )x4|
÷ λ µ x5 ¹ λ (1-µ )x6 ¹ (1-λ )ν x3 ¹(1-λ ) (1-ν )x4
sumando los coeIicientes de la combinacion lineal se tiene
λ µ ¹ λ (1-µ ) ¹ (1-λ )ν + (1-λ ) (1-ν ) ÷
λ µ + λ − λ µ + ν − λ ν + 1 − ν − λ + λ ν · 1

Lo anterior es una motivacion para la siguiente deIinicion: una combinación convexa de un
numero Iinito de puntos x1. . . . .xm se deIine como el punto


·
·
m
i
i
1
i,
x x µ
. 0 ≥
i
µ

. ..... 1 m i ·
. 1
1
·

·
m
i
i
µ
La graIica tambien motiva el hecho de que cualquier punto de un coniunto convexo acotado se
puede escribir como combinacion convexa de los puntos extremos del coniunto.
Teorema 1.4: el conjunto de todas las combinaciones convexas de un número finito de puntos
x1. . . . .xm. es un conjunto convexo.
Es decir. el coniunto
X÷¦

·
·
m
i
i
1
i,
x x x µ / para todos los
. 0 ≥
i
µ

. ..... 1 m i ·
. 1
1
·

·
m
i
i
µ }

es convexo.
Demostración: tomemos u y v en X. entonces


·
·
m
i
i
1
'
i,
x u µ
. 0 ' ≥
i
µ

. ..... 1 m i ·
. 1 '
1
·

·
m
i
i
µ


·
·
m
i
i
1
' '
i,
x v µ
. 0 ' ' ≥
i
µ

. ..... 1 m i ·
. 1 ' '
1
·

·
m
i
i
µ

y hagamos la combinacion convexa
λ u¹(1-λ )v÷

·
m
i
i
1
'
i
x µ λ

·
− +
m
i
i
1
' ' ) 1 (
i
x µ λ
÷

·
− +
m
i
i i
1
) ' ' ) 1 ( ' (
i
x µ λ λ µ
pero
0 ) ' ' ) 1 ( ' ( ≥ − +
i i
µ λ λµ

y ademas
1 ' ' ) 1 ( ' ) ' ' ) 1 ( ' (
1 1 1
· − + · − +
∑ ∑ ∑
· · ·
m
i
i
m
i
i i i
m
i
µ λ µ λ µ λ λ µ
asi que λ u¹(1-λ )v tambien es una combinacion convexa de los xi y por lo tanto el coniunto X
es convexo.
Dado un coniunto A. se deIina la envolvente convexa de A como el coniunto convexo “mas
pequeño” que contiene a A. Precisando: la envolvente convexa de un coniunto A es la
interseccion de todos los coniuntos convexos que contienen a A.
Teorema 1.5: la envolvente convexa de un número finito de puntos x1. . . . . xm es el conjunto
de todas las combinaciones convexas de x1. . . . . xm.
Este teorema aIirma que la envolvente convexa de x1. . . . . xm es el coniunto:
X÷¦

·
·
m
i
i
1
i,
x x x µ / para todos los
. 0 ≥
i
µ

. ..... 1 m i ·
. 1
1
·

·
m
i
i
µ }
Demostración: ya se vio que el coniunto de todas las combinaciones convexas de x1. . . . . xm
es un coniunto convexo. Falta demostrar que todo coniunto convexo que contiene a los puntos
x1. . . . . xm tambien contiene X. Procedemos por induccion sobre m. Para m÷2 el resultado es
inmediato. Supongamos el teorema cierto para m-1: esto es que la envolvente convexa de x1. . . .
. xm-1 es el coniunto:
X1÷¦


·
·
1
1
m
i
i i,
x x x β / para todos los
. 0 ≥
i
β

. ..... 1 m i ·
. 1
1
·

·
m
i
i
β }
Sea X la envolvente convexa de x1. . . . . xm. Obviamente todo punto de X1 esta tambien en X y
ademas X debe contener tambien todos los segmentos de recta que unan puntos de X1 con xm.
esto es. todos los puntos:
x ÷
m i
x x ) 1 (
1
1
λ β λ − +


·
m
i
i
si hacemos
i i
λ β µ ·
. i÷1. . . . . m-1 y
) 1 ( λ µ − ·
m
entonces todo
0 ≥
i
µ
y 1 ) 1 (
1
1 1
· − + ·
∑ ∑

· ·
λ λ β µ
m
i
i
m
i
i

Ademas. como β i y λ varian entre 0 y 1 cada µ i puede tambien tomar cualquier valor entre 0
y 1. Asi X es el coniunto de todas las combinaciones convexas de x1. . . . . xm.
La envolvente convexa de n puntos se denomina el poliedro convexo engendrado por estos n
puntos.
La Iigura que sigue muestra que dado un coniunto convexo X. y un punto y Iuera de el. existe
un hiperplano que los separa. esto es. un hiperplano tal que el punto y esta en uno de los
semiespacios que determina el hiperplano. y el coniunto X. en su totalidad. esta en el otro.
Teorema 1.6 (o del hiperplano de separación) : sea X un conjunto no vacío, cerrado y
convexo y
X ∉ y
. Entonces existe un vector c distinto de cero, y un 0 > ε tal que cy ≥ ε +
cx para todo x∈X.
Demostración: en primer lugar extraigamos de X un subconiunto cerrado y acotado. para ello
tomemos cualquier x0∈X y sea r ÷ ''x0-y''. intersectamos la bola cerrada con centro en y y
radio r con el coniunto X. el coniunto resultante. que llamaremos X’. es convexo. cerrado y
acotado. pues es la interseccion de dos convexos y cerrados. uno de los cuales es acotado. En
otras palabras X’ esta conIormado por los puntos de X “cercanos” a y – en el sentido de que
estan a una distancia de. a lo mas. r-. DeIinimos I(x) ÷ ''x-y''. para todo x en X’. esta Iuncion es
continua y como X’ es compacto entonces I asume un minimo en X’ . Sea w el punto donde la
Iuncion asume el minimo. Veamos que este w es unico: supongamos que existen w1 y w2 (w1
≠ w2)que estan a la misma distancia minima de y. entonces. por la desigualdad triangular se
tiene:
''½(w1¹w2) - y'' ÷ ½ ''(w1-y) ¹ (w2-y)'' · ½( '' w1-y '' ¹ '' w2-y '') ÷ '' w1-y ''
La desigualdad estricta vale si w1-y ≠ λ (w2-y) (*) y este es el caso pues si
w1-y ÷ λ (w2-y)
tendriamos
''w1-y'' ÷λ ''w2-y''
pero como
''w1-y'' ÷ ''w2-y''
daria como resultado λ · i . esto implicaria
w1÷w2
Lo cual es una contradiccion. (*Al lector que no conozca esta aIirmacion acerca de la
desigualdad triangular le sugiero consultar. por eiemplo. la demostracion de la desigualdad de
Cauchy-Schwartz que aparece en la pagina 17 de la segunda edicion del analisis de Apostol y la
demostracion de la desigualdad triangular de la pagina 59 del mismo libro).
Consideremos ahora cualquier punto x en X. Entonces el punto
(1-λ )w¹λ x. 0 ≤ λ ≤ 1.
esta en X y cumple
''(1-λ )w¹λ x - y''· ≥ ''w-y''·
o sea
'' (w - y ¹λ x - w) ''· ≥ ''w-y''·
Aplicando
''x''· ÷ xx
se tiene
''w-y''· ¹ 2 λ (w - y )(x - w) ¹ λ ·''x-w''· ≥ ''w-y''·
o sea
2 λ (w - y )(x - w) ¹ λ ·''x-w''· ≥0
tomamos λ > 0 y dividimos por λ a ambos lados
2(w - y )(x - w) ¹ λ ''x-w''· ≥0
tomamos el limite cuando λ tiende a cero
(w - y )(x - w) ≥ 0
empleamos el recurso x – w ÷ x - y ¹ y – w = x – y – (w - y) y reemplazamos
(w - y )( x – y – (w - y)) ÷ (w - y )(x - y) - ''w-y''· ≥ 0
o sea
(w - y )(x - y) ≥ ''w-y''·
de donde
(w - y )x -(w - y )y ≥ ''w-y''·
trasponiendo
-(w - y )y ≥ -(w - y )x ¹ ''w-y''·
ahora bien. deIinamos c ÷ -(w - y ) y ε ÷ ''w-y''· se tiene entonces
cy ≥ cx ¹ ε
del hecho de ser w≠ y se sigue c ≠ 0 y ε ~ 0.
Hasta el momento se a hecho enIasis en los resultados reIerentes a las regiones Iactibles
acotadas. en las cuales intuimos que todo punto puede ser escrito como combinacion convexa de
sus puntos extremos. Este hecho es muy importante porque ahora que se vean las regiones no
acotadas se notara que estas se componen de una parte acotada. que puede ser generada por sus
puntos extremos. y una no acotada que esta ligada al concepto de direccion extrema. el cual se
introduce a continuacion. Sin embargo. cuando un problema tiene solucion Iinita. esta se
encuentra en la region acotada. de ahi la importancia del trabaio desarrollado hasta ahora.
Dado un coniunto convexo. un vector d. distinto de 0. se llama una dirección del conjunto si.
para cada x en el coniunto. el rayo ¦x¹λ d / λ ~0} tambien pertenece al coniunto. Es claro que
si el coniunto es acotado. entonces no tiene direcciones.
Consideremos el coniunto X÷¦ x / Ax÷b, 0 x≥ } no vacio. Entonces un vector d distinto de 0
es una direccion de X si. y solo si.
A(x+λ d)÷b
y
0 d x ≥ + λ para cualquier λ ~0
(Observacion: en
n
ℜ no existe orden. por lo tanto la notacion 0 x≥ signiIica que todas las
componentes del vector x son mayores o iguales que 0)

Como Ax÷b si X ∈ x . la ecuacion se reduce a Ad÷0. Ademas como x¹ λ d debe ser no
negativo para λ arbitrariamente grande. entonces d debe ser no negativo. Resumiendo. d es una
direccion de X si. y solo si.
0 d≥ , 0 d≠ , y Ad÷0
(Nota: de acuerdo a la observacion anterior debe ser claro que las dos condiciones 0 d≥ ,
0 d≠ no son equivalentes a d ~ 0)
Se sabe que. por eiemplo. dados dos vectores linealmente independientes en
2
ℜ. el coniunto
de todas sus combinaciones lineales coincide con
2
ℜ. se dice entonces que los dos vectores
‘generan’ todo el espacio. pero si se limita a las combinaciones lineales de coeIicientes positivos
se obtiene unicamente la region del espacio comprendida entre las dos rectas obtenidas al
prolongar los vectores. En la siguiente Iigura ilustramos este hecho.
Una dirección extrema de un coniunto convexo es una direccion del coniunto que no se puede
representar como una combinacion lineal positiva de dos direcciones distintas del coniunto.
Las direcciones extremas ayudan a completar la ‘base’ para los coniuntos convexos en el
sentido de que. para el caso de los coniuntos no acotados. se necesitan. ademas de los puntos
extremos. para expresar cualquier elemento del coniunto. Se ilustra esto graIicamente
En la Iigura el coniunto tiene 3 puntos extremos x1. x2 y x3. y dos direcciones extremas d1 y d2.
El punto x se puede expresar como y mas una de las direcciones del coniunto. Pero y se puede
expresar como combinacion convexa de x1. x2 y x3 y toda direccion del coniunto se puede
expresar como combinacion lineal no negativa de las direcciones extremas. Resumiendo. todo
punto se puede expresar como combinacion convexa de los puntos extremos mas una
combinacion lineal no negativa de las direcciones extremas. Si el coniunto es acotado no tiene
direcciones y se tendra unicamente la combinacion convexa de los puntos extremos. Este
resultado. que se enunciara Iormalmente y se demostrara mas adelante. es el teorema de
representación y se usara para demostrar que los optimos se localizan en los puntos extremos.
Se pospone la demostracion para cuando se hayan reunido todos los elementos que esta
requiere.
Teorema 1.7: los óptimos locales de la función objetivo de un programa lineal, son globales.
Demostración: supongamos que xo es un maximo local de
maximizar z÷cx
suieto a
Ax ≤ b
x ≥0
si xo no Iuese global. existiria x1 tal que cxo · cx1. Entonces usando la notacion
x(λ ) ÷ (1-λ ) xo ¹ λ x1 para 0 · λ · 1
se tiene
c x(λ ) ÷ (1-λ ) cxo ¹ λ cx1 ~ (1-λ ) cxo ¹ λ cxo ÷ cxo
como 0
x x ·

) ( lim λ
λ 0
se tienen puntos “meiores” que xo en B(xo. ε ) para cualquier ε ~ 0.
esto estaria en contradiccion con el hecho de ser xo un maximo local.
Teorema 1.8: cuando la función objetivo de un programa lineal asume su valor máximo o
mínimo, lo hace en un punto extremo del conjunto de soluciones factibles.
Demostración: consideremos el problema
maximizar z÷cx
suieto a
Ax ≤ b
x ≥0
Sea x* un punto Iactible. entonces. por el teorema de representacion. x* se puede escribir como
combinacion convexa de los puntos extremos del coniunto. mas una combinacion lineal no
negativa de las direcciones extremas. o sea
∑ ∑
· ·
+ ·
l
j
j
k
i
i
1
j i
d x x* µ λ
1
donde 1 ·

·
k
i
i
1
λ
y ademas
k i
i
..... 2 . 1 . 0 · ≥ λ
y
l j
j
..... 2 . 1 . 0 · ≥ µ
entonces el problema se transIorma en un problema de las variables λ i. µ i y se expresaria asi:
maximizar z÷c
∑ ∑
· ·
+ ·
l
j
j
k
i
i
1
j i
cd cx x* µ λ
1

suieto a
1 ·

·
k
i
i
1
λ

k i
i
..... 2 . 1 . 0 · ≥ λ

l j
j
..... 2 . 1 . 0 · ≥ µ
como las µ i se pueden hacer arbitrariamente grandes. si cdj ~ 0 para alguna i. la Iuncion
obietivo z puede tomar valores tan grandes como queramos. Si cdj ≤ 0 para toda i. entonces
tomamos todas las µ i ÷ 0. Entonces. para maximizar

·
k
i
i
1
i
cx λ
simplemente se determina el
maximo cxi y se toma su correspondiente λ ÷ 1 y los restantes se igualan a cero. Si el maximo
ocurre en mas de un punto extremo. entonces. cualquier combinacion convexa de ellos es una
solucion optima. Esto es. si existen indices i1. i2. . . . . ip tales que
óptimo
z · · · ·
p 2 1
i i i
cx cx cx ...
entonces cada combinacion convexa de estos puntos es solucion. pues si
p 2 1
i p i 2 i 1
x x x x λ λ λ + + + · ...

entonces
p 2 1
i p i 2 i 1
cx cx cx cx λ λ λ + + + · ...
o sea
óptimo óptimo óptimo óptimo
z z z z · + + + ·
p 2 1
cx λ λ λ ...
pues λ 1¹ λ 2¹ . . . ¹ λ p ÷ 1. Los libros enIocados a ingenieria y administracion solamente
mencionan el caso para p÷2. en la segunda parte muestro un eiemplo con p÷3.

1.3 Soluciones Básicas Factibles
El lector que ya conoce los algoritmos de Programacion Lineal sabe que estos se basan en el
maneio de matrices y debe estar extrañado porque hasta el momento el enIoque ha sido
esencialmente geometrico. Se ha demostrado ya que el punto optimo es un punto extremo. pues
bien. el resultado que sigue a continuacion relaciona los puntos extremos con las matrices y
muestra una manera de encontrarlos.
Considerese el sistema Ax÷b, 0 x≥ , en donde A es una matriz n m× y b es un vector.
Supongase que rango(A,b) ÷ rango(A)÷m. Despues de un posible rearreglo de las columnas de
A. sea A÷|B,N|. en donde B es una matriz invertible n m× y N es una matriz
) ( m n m − ×
.
El punto
]
]
]

·
N
B
x
x
x
en donde
b B x
1
B

· y 0 x
N
·
se llama una solución básica del sistema. Si 0 x
B
≥ , entonces x se llama una solución básica
factible del sistema. Las componentes de
B
x se llaman variables básicas. y las componentes
de
N
x se llaman variables no básicas. Si 0 x
B
> , entonces x se llama solución básica
factible no degenerada. y si al menos una componente de
B
x es cero. entonces x se llama
solución básica factible degenerada. De hecho. la matriz B es una matriz cuadrada que se
Iorma tomando m columnas de la matriz rectangular A. si se encuentra que esta matriz es
invertible se le puede asociar una solucion basica. Por cada matriz B invertible que se extraiga
de A se tiene una solucion basica.
Ahora se demostrara uno de los resultados mas importantes de esta parte del trabaio.
Teorema 1.9: un punto x es una solución básica factible si, y solo si. x es un punto extremo.
Demostración: dado el sistema Ax÷b. 0 x≥ , donde A es una matriz
n m×
de rango m, sea
x un punto extremo de la region Iactible. Despues de un posible rearreglo de las componentes de
x y de las columnas de A. supongamos que x1.x2. . . . .xp son positivos y que xp¹1. . . . .xn son
cero. Veamos que a1.a2. . . . .ap son linealmente independientes. procedemos por contradiccion:
supongamos que no son linealmente independientes. entonces deben existir escalares c1. c2. . . . .
cp no todos cero. tales que 0 a ·

·
p
i
i i
c
1
. A partir de este ultimo resultado se construyen otras
dos soluciones Iactibles x’ y x’’ asi:

¹
'
¹
+ ·
· +
·
p p j
p j c x
x
j j
j
. . . . . 1 . 0
. . . . . 2 . 1 .
'
λ

y

¹
'
¹
+ ·
· −
·
p p j
p j c x
x
j j
j
. . . . . 1 . 0
. . . . . 2 . 1 .
' '
λ
Como
0 >
j
x
para i÷1.2. . . . .p. entonces. independientemente de los valores de c1. c2. . . . . cp
se puede escoger λ ~0 tal que
0 ' >
j
x
y
0 ' ' >
j
x
para i÷1.2.... .p.
Como. ademas. los ci no son todos cero entonces x’ ≠ x’’. Ademas:
b a a a a Ax'
j j j j
· + · + · ·
∑ ∑ ∑ ∑
· · · ·
p
1 j
p
1 j
p
1 j
p
1 j
j j j j j
c x c x x λ λ ) ( '
De manera analoga Ax’’÷b. Por lo tanto. x’ y x’’ son soluciones Iactibles diIerentes y

2
1
x’ ¹
2
1
x’’
esto contradice el hecho de que x es un punto extremo. Por lo tanto a1. a2. . . . .ap son
linealmente independientes. Ahora bien. como A es de rango m entonces p ≤ m. si p÷m ya se
tiene el resultado. Si p · m extraemos m – p vectores de ap+1.ap+2. . . . .an tales que iunto con
a1.a2. . . . .ap Iormen un coniunto linealmente independiente. Despues de un posible rearreglo de
columnas de A, supongamos que son ap+1.ap+2. . . . .am. Entonces se tiene B÷| a1.a2. . . . .ap,
ap+1.ap+2. . . . .am| y con esto concluye la demostracion.
Reciprocamente. supongamos que x es una solucion basica Iactible del sistema Ax÷b. 0 x≥ .
Sea B la base correspondiente a x. por lo tanto
]
]
]

·
0
x
x
B
supongamos que x÷λ x’¹(1-λ )x’’. en donde 0·λ ·1 y x’ y x’’ son Iactibles.
Sean
]
]
]

·
N
B
x '
x '
x '
y
]
]
]

·
N
B
' x '
' x '
' x '
sabemos que 0 x'
N
≥ y 0 ' x'
N
≥ y como

]
]
]

− +
]
]
]

·
]
]
]

N
B
N
B B
' x '
' x '
x '
x '
0
x
) 1 ( λ λ
0·λ ·1
entonces 0 ' x' x'
N N
· · . Por otra parte. b÷Ax’÷Bx’B¹Nx’N÷Bx’B de donde.
b B x'
1
B

·
Por lo tanto se concluye que x’B ÷ xB y como 0 ' x' x'
N N
· · . entonces x’÷x. Analogamente
x’’÷x y. por lo tanto. se tiene que x es un punto extremo.
El Teorema 1.8 dice que el punto optimo se encuentra en uno (o unos) de los puntos extremos y
el Teorema 1.9 dice como encontrarlo(s). Por lo tanto. se esta ya en condiciones de resolver
problemas de Programacion Lineal.
De la matriz
mxn
A se deben extraer todas las submatrices
mxm
B (existen

,
`

.
|
m
n
de tales
submatrices) y veriIicar si son invertibles. en caso de serlo se resuelve el sistema Bx÷b y si
todos los elementos de la solucion son no negativos entonces se ha encontrado una solucion
basica Iactible. y por lo tanto. un punto extremo. Se evalua la Iuncion obietivo en cada uno de
estos puntos y se escoge el optimo. En el caso de que el punto optimo se encuentre en mas de un
punto extremo tendremos. como ya diiimos. multiples soluciones. las cuales coinciden con el
coniunto de todas las combinaciones convexas de tales puntos extremos.
Para ilustrar todo esto se resolvera nuevamente el problema con el cual se hizo la introduccion
en el tema:
maximizar z ÷ 200x1¹160x2
suieto a
5x 1¹ 3x2 ≤ 105
2x 1¹ 4x2 ≤ 70
si se introducen las variables de holgura x3 y x4 se tiene
5x1¹ 3x2 ¹ x 3 ÷ 105
2x1 ¹ 4x2 ¹ x 4 ÷ 70
Por lo tanto la matriz A y el vector b serian
4 3 2 1
1 0 4 2
0 1 3 5
x x x x
A
]
]
]
]

·

]
]
]
]

·
70
105
b
se deben por lo tanto extraer las
6
2
4
·

,
`

.
|
submatrices de 2x2 y veriIicar si son invertibles
2 1
4 2
3 5
x x
]
]
]

·
1
B
.
3
1
0 2
1 5
x x
]
]
]

·
2
B
.
4 1
1 2
0 5
x x
]
]
]

·
3
B
.
3 2
0 4
1 3
x x
]
]
]

·
4
B
.
4 2
1 4
0 3
x x
]
]
]

·
5
B
.
4
3
1 0
0 1
x x
]
]
]

·
6
B
.
en este caso las 6 matrices son invertibles y se tiene por lo tanto. por eiemplo. que el sistema
B1x÷b tiene como solucion x÷B1
1 −
b. que en este caso da como resultado x1÷15. x2÷10 para
un x1 ÷ |15.10.0.0| . y similarmente para los otros sistemas se obtiene:
x1÷35. x3÷ -70 para un x2 ÷ |35. 0.-70. 0|
x1÷21. x4÷28 para un x3 ÷ |21.0.0.28|
x2÷17
2
1
. x3÷52
2
1
para un x4 ÷ |0. 17
2
1
. 52
2
1
.0|
x2÷35. x4÷-70 para un x5 ÷ |0.35.0.-70|
x3÷105. x4÷70 para un x6 ÷ |0.0.105.70|
en este caso son soluciones basicas Iactibles no degeneradas x1, x3, x4 y x6. Tomando las dos
primeras componentes de los vectores se obtienen los puntos extremos en
2
ℜ |15.10|. |21.0|.
|0.17
2
1
| y |0.0|. se pueden veriIicar estos resultados en la graIica que se hizo para resolver el
problema. Ahora. se evalua la Iuncion obietivo en cada uno de los puntos extremos y se tiene:
z|x1.x2 | ÷ 200x1¹160x2
z|0.0| ÷ 0 z|0.17
2
1
| ÷ 2800 z |21.0| ÷ 4200 z|15.10| ÷ 4600
entonces el punto optimo es |15.10|. esto coincide con el resultado obtenido mediante el metodo
graIico.
El Teorema 1.9 da un metodo para encontrar los puntos extremos (soluciones basicas Iactibles)
sin embargo. aun Ialta garantizar la existencia de tales puntos extremos. esto se hara en el
siguiente teorema.
Teorema 1.10: El conjunto X = ¦x / Ax÷b. x ≥0 } en donde rango(A)÷m y X es no vacío,
tiene al menos una solución básica factible.
Demostración: Sea x una solucion Iactible de la Iorma x÷(x1. . . . .xp.xp¹1. . . . .xn) en donde
x1. . . . .xp ~ 0 y xp¹1÷ . . . ÷xn÷0. Si a1. . . . .ap son linealmente independientes entonces se les
pueden agregar m-p vectores columna de A tales que los m vectores sean linealmente
independientes y tener asi que x es una solucion basica Iactible. De lo contrario. existen
escalares c1. . . . .cp no todos cero. tales que c1a1¹ . . . ¹cpap ÷ 0. Como hay por lo menos un ci
diIerente de cero si es positivo ya esta. si es negativo multiplicamos la ecuacion por -1 para
asegurarnos de que hay al menos un ci positivo. Consideremos el siguiente punto x’:
¹
'
¹
+ ·
· −
·
n p j
p j c x
x
j j
j
. . . . . 1 . 0
. . . . . 1 .
'
λ
en donde λ ÷ minimo
k
k
j
j
j
c
x
c
c
x
·
¹
¹
¹
'
¹
¹
¹
¹
'
¹
> 0 /
para algun k.
de lo anterior concluimos que x’ ≥ 0 y ademas x’k ÷ 0. por lo x’ tanto tiene a lo mas p - 1
componentes positivas. Ademas
b a c - a a c - a Ax'
j j j j j j
· · · ·
∑ ∑ ∑ ∑
· · · ·
p
j
p
j
j
p
j
j
p
j
j
x x x
1 1 1 1
( ' λ λ )
por lo tanto se ha construido un punto Iactible x’ que tiene a lo mas p - 1 componentes positivas.
Si las columnas correspondientes a estas componentes positivas son linealmente independientes.
entonces x’ es una solucion basica Iactible. En caso contrario. el proceso se repite. Finalmente
se obtendra una solucion basica Iactible.
El metodo simplex. que se desarrollara en la segunda parte del trabaio. busca el optimo yendo
de una solucion basica Iactible a otra. En cada paso. a la matriz B correspondiente a la solucion
actual se le reemplaza una de sus columnas por alguna de las de la matriz N. obteniendo asi una
nueva matriz B’. Sin embargo. se debe garantizar que B’ es. a su vez. invertible. El teorema que
se presenta a continuacion da una condicion necesaria y suIiciente para que esto ocurra.
Teorema 1.11: sean a1. a2. . . . .an una base de
n
ℜ y sea a ≠ ai. i÷1.2. . . . .n. por lo tanto

·
·
n
i
i
1
i
a a λ
entonces a1.a2. . . . .aj-1.a.aj+1. . . .an son linealmente independientes si y solo si. λ i ≠ 0.
Demostración: supongamos que a1.a2. . . . .aj-1.a.aj+1. . . .an son linealmente independientes y
que. sin embargo. λ i ÷ 0. Se tendria. por tanto.


·
·
n
j i
i
i
1
i
a a λ
de donde
0
1
·


·
a - a
i
n
j i
i
i
λ
lo cual
contradice que a1.a2. . . . .aj-1.a.aj+1. . . .an sean linealmente independientes.
Reciprocamente. supongamos que λ i ≠ 0 y que
0
1
·


·
a - a
i
µ µ
n
j i
i
i
entonces

0 (
1 1 1
· − ·
∑ ∑ ∑

· ·

·
j i i i
a ) a - a - a
j
n
j i
i
i i
n
i
i
n
j i
i
i
µ λ µ λ µ λ µ µ
como los a1. a2. . . . .an son una base y como λ i ≠ 0 . se tiene µ ÷0 y µ i-µ λ i÷0 para i ≠ i.
entonces µ i÷0 para i ≠ i y esto termina la demostracion.
Se Iinaliza esta parte con la demostracion del teorema de representacion. que Iue empleado en la
demostracion del Teorema 1.8 el cual. iunto con el Teorema 1.9. constituyen los dos resultados
mas importantes de esta primera parte.
1.4 Teorema de representación
Teorema 1.12 (Teorema de representación): Dado el conjunto no vacío X ÷ ¦x / Ax÷b.
x ≥0 }. sean x1.x2. . . . . xk los puntos extremos y d1.d2. . . . . dl las direcciones extremas.
Entonces x ∈ X si y sólo si. x se puede representar como una combinación convexa de los
puntos extremos más una combinación lineal no negativa de las direcciones extremas, es decir,
∑ ∑
· ·
+ ·
l
j
j
k
j
j
1 1
j j
d x x µ λ
donde

·
·
k
j
j
1
1 λ
. λ i ≥0 i ÷ 1.2. ....k y µ i ≥0 i÷1.2.....l (*)
Demostración: supongamos primero que x se puede representar segun la expresion anterior.
entonces:
b Ad Ax Ax
j j
· + ·
∑ ∑
· ·
l
j
j
k
j
j
1 1
µ λ

por lo tanto x ∈ X.
Reciprocamente. supongamos que el rango(A) ÷ rango(A.B) ÷ m. en caso contrario podemos
eliminar todas las restricciones redundantes. Supongamos ahora que x ∈ X y que sin embargo.
no puede expresarse segun (*). Consideremos el siguiente coniunto
S ÷ ¦
∑ ∑
· ·
+ ·
l
j
j
k
j
j
1 1
j j
d x x µ λ
con

·
·
k
j
j
1
1 λ
. λ i ≥0 i ÷ 1.2. ....k y µ i ≥0 i÷1.2.....l}
Como X es no vacio. por el teorema anterior. tiene al menos un punto extremo. por lo tanto S es
no vacio. Veamos que S es un coniunto convexo. Sean u y w que pertenecen a S. Esto es:
∑ ∑
· ·
+ ·
l
j
j
k
j
j
1 1
j j
d x u µ ν
donde

·
·
k
j
j
1
1 ν
. ν i ≥0 i ÷ 1.2. ....k y µ i ≥0 i÷1.2.....l
∑ ∑
· ·
+ ·
l
j
j
k
j
j
1 1
j j
d x w γ δ
donde

·
·
k
j
j
1
1 δ
. δ i ≥0 i ÷ 1.2. ....k y γ i ≥0 i÷1.2.....l
entonces λ u ¹ (1-λ )w ÷ ∑ ∑
· ·
+
l
j
j
k
j
j
1 1
j j
d x µ λ ν λ
¹ ∑ ∑
· ·
− + −
l
j
j
k
j
j
1 1
) 1 ( ) 1 (
j j
d x γ λ δ λ
÷
∑ ∑
· ·
− + + − +
l
j
j j
k
j
j j
1 1
) ) 1 ( ( ) ) 1 ( (
j j
d x γ λ λ µ δ λ λ ν
donde se tiene


·
· − +
k
j
j j
1
1 ) ) 1 ( ( δ λ λ ν
pues

·
·
k
j
j
1
1 ν
y

·
·
k
j
j
1
1 δ
.
0 ) 1 ( ≥ − +
j j
δ λ λν
i÷1. . . ..k
y ademas
0 ) ) 1 ( ( ≥ − +
j j
γ λ λµ
para i÷1. . . ..l. Por lo tanto S es convexo. S es ademas
cerrado. y por hipotesis x ∉ S. Por el teorema del hiperplano de separacion existe un vector c
≠ 0 y un ε ~ 0 tales que
ε µ λ +

,
`

.
|
+ ≥
∑ ∑
· ·
l
j
j
k
j
j
1 1
j j
d x c cx (1)
Como µ i puede hacerse arbitrariamente grande se debe tener
cdj ≤ 0. i ÷ 1. . . . .l. (2)
Consideremos ahora el punto extremo xp deIinido por
Cxp ÷
k j
máximo
≤ ≤ 1
j
cx
(3)
Tomando λ p ÷ 1. λ i ÷ 0 para i ≠ p. µ i ÷ 0 para todo i. la desigualdad (1) se transIorma en
cx ≥ cxp ¹ ε ( 4 )
Puesto que xp es un punto extremo. entonces. por el Teorema 1.9. se puede representar como

,
`

.
|

0
b B
1
en donde B es una submatriz de A de tamaño mxn invertible y 0 b B
1


. Sin perdida
de generalidad. supongamos que 0 b B
1
>

. Descomponiendo x en

,
`

.
|
N
B
x
x
se tiene Ax ÷ BxB ¹
NxN ÷ b. de donde xB = b B
1 −
-
1
B

NxN. Descomponiendo c en cB y cN. se tiene entonces
que
cx ÷ cBxB ¹ cNxN ÷ cB b B
1 −
¹ (cN - cB
1
B

N) xN y cxp ÷ cB b B
1 −
. Sustituyendo en (4)
se tiene
cB b B
1 −
¹ (cN - cB
1
B

N) xN ≥ cB b B
1 −
¹ ε o sea
(cN - cB
1
B

N) xN ≥ ε > 0
como cada componente de xN es no negativa debe existir al menos una componente i del vector
cN - cB
1
B

N que es positiva y para la cual x i ~ 0. Haciendo y j ÷
1
B

a j se tiene entonces
que x i ~ 0 y
ci - cB y j ~ 0 (5)
Veamos que y j ≥ 0. Supongamos que y j ≤ 0. sea
d ÷ |-y j
t
.0.0. . . . .1. . . . .0|
t
. en donde el 1 aparece en la i-esima posicion. Entonces
[ ]
j j
j
1
a a
a B
N B, Ad + − ·
]
]
]
]
]
]
]
]
]
]

]
]
]
]
]
]
]
]


·

0
1
0
* | |


÷ 0 ademas d ≠ 0. d ≥0
Por lo tanto d es una direccion de X y ademas
cd ÷ |cB.cN| |-y j
t
.0.0. . . . .1. . . . .0|
t
÷ -cB y j
t
¹ ci ~ 0 por (5)
Nota: en esta parte hemos empleado multiplicacion de matrices por
bloques. el lector no Iamiliarizado puede consultar. por eiemplo. el
algebra lineal de Seymour Lipschutz de la serie Schaum. pagina 45.
pero este ultimo resultado se contradice con (2). Por lo tanto y j ≥ 0.
Construyamos ahora el punto x’ ÷ xp ¹ λ d. esto es
x’ ÷

,
`

.
|

0
b B
1
¹ λ d
haciendo b’ ÷
1
B

b se tiene
x’ ÷
]
]
]
]
]
]
]
]
]
]
]
]
]



+
]
]
]
]
]
]
]
]
]
]
]
]
]

0
1
0
0
0
'
'
1 1







mj
j
m
y
y
b
b
λ
entonces Ax’ ÷ Axp ¹ λ Ad ÷ b ¹ 0 ÷ b por lo tanto x’ es Iactible. Ademas x’ tiene a lo mas m
componentes positivas pues x’r ÷ 0. Hagamos que en la submatriz B de A. aj reemplace a ar.
Como yri ≠ 0. entonces. por el teorema 1.12. las columnas de B son linealmente
independientes. Por lo tanto x’ es un punto extremo de X. Notemos tambien que
cx’ ÷ cxp ¹ λ cd
puesto que λ > ycd ~0. entonces cx’ ~ cxp lo cual esta en contradiccion con (3). Esta
contradiccion demuestra que x se puede representar como una combinacion convexa de puntos
extremos mas una combinacion lineal no negativa de las direcciones extremas.
Como deseamos que x i ≥ 0 y que tambien λ > 0; para los y i j
positivos se debe tener b’i - λ y i j ≥ 0, para todo i. por lo tanto λ
≤ b’i / y i j . Tomamos entonces
λ · minimo { b’i / y i j tal que y i j > 0, 1 ≤ i ≤ m}. Sea
λ · b’r / y r j
Segunda Parte

2.1 El método símplex
En la parte 1 se vio un metodo de solucion para el problema
maximizar z ÷ cx
suieto a
Ax÷b, 0 x≥
en donde A es una matriz n m× . b es un vector m-dimensional y c y x son vectores n-
dimensionales. El metodo consiste en extraer todas las submatrices B m m× de A y veriIicar
si son invertibles. En caso de serlo se resuelve el sistema Bx÷b y si todos los elementos de la
solucion son no negativos entonces se ha encontrado una solucion basica Iactible. Se evalua la
Iuncion obietivo en cada una de tales soluciones basicas Iactibles y se escoge la optima. La
diIicultad para emplear este procedimiento con problemas de la vida real radica en la cantidad
de submatrices que hay que revisar. Como ya se indico. el numero de tales submatrices es

,
`

.
|
m
n
. Por lo tanto. si se enIrenta un problema en el cual n ÷ 50 y m ÷ 30. el cual es. sin embargo.
bastante moderado. se tendrian que revisar

,
`

.
|
3 0
5 0
÷ 47’’129.212’243.960 (donde ‘’ representa
billones) de matrices de tamaño 30x30. lo cual constituye. obviamente. una labor irrealizable. El
metodo simplex. que se desarrolla a continuacion. y que Iue expuesto por primera vez. por su
creador George Dantzig. en 1948. optimiza la busqueda de la solucion reduciendola a unas
dimensiones razonables.
El metodo es iterativo y consiste. en cada iteracion. en pasar de una solucion basica Iactible.
asociada a una matriz B. a otra. asociada a una matriz B’. en la cual la Iuncion obietivo presenta
una meiora con respecto a la anterior. Ademas las matrices B y B’ diIieren unicamente en una
columna.
Antes de abordar el desarrollo del metodo simplex se llamara la atencion acerca de un resultado.
o meior de su presentacion. del algebra lineal: en
n
ℜ . n vectores linealmente independientes
(LI) constituyen una base. esto es. cualquier otro vector de
n
ℜ puede expresarse como
combinacion lineal de los elementos de la base. por eiemplo. para
3
ℜ se tiene que si
]
]
]
]
]

·
31
21
11
b
b
b
1
b .
]
]
]
]
]

·
32
22
12
b
b
b
2
b y
]
]
]
]
]

·
33
23
13
b
b
b
3
b son LI y
]
]
]
]
]

·
3
2
1
a
a
a
a entonces existen escalares
c1, c2 y c3 tales que a = c1b1+ c2b2+ c3b3. Sin embargo. si b1, b2 y b3 son la base
canonica. entonces c1 = a1, c2 = a2 y c3 = a3. Este hecho es importante porque en el trabaio
con el metodo simplex siempre se tendra B ÷ I. donde I es la matriz identidad cuyas columnas
coinciden con la base canonica de
n
ℜ . Con este resultado en mente. el desarrollo que se
presenta a continuacion es constructivo. esto es. da una iustiIicacion y al mismo tiempo muestra
la manera de realizar los calculos.
Dado el problema
maximizar z ÷ cx
suieto a (1)
Ax÷b, 0 x≥
Las columnas de A se denotaran como a1, a2, . . . , am. Se considera la matriz Amxn ÷
|Bmxm.Nmx(n-m)|. donde B esta constituida por columnas linealmente independientes y esta
asociada a una solucion basica Iactible. esto es. 0 b B x
1
B
≥ ·

(mas adelante se muestra como
obtener esta solucion basica Iactible inicial). La idea consiste en reemplazar una columna de B
por alguna de las de N y obtener asi una meiora en la Iuncion obietivo. Por su independencia
lineal las columnas de B constituyen una base para
n
ℜ y esta es la razon por la cual se
denomina base a B. Que B sea invertible es equivalente a que puede convertirse en l mediante
operaciones elementales. por lo tanto. como primer paso. se eIectuan sobre todo el sistema
Ax÷b tales operaciones elementales de manera que se obtiene el sistema equivalente A’x÷b’
donde A’ ÷ |I.N’|. Como este nuevo sistema es equivalente a (1). por comodidad de notacion.
se seguiran empleando A. B. N y b para reIerirse a A’.I. N’ y b’ respectivamente. Es importante
notar tambien que a’i=ei para i÷1. . . ..m donde ei es la i-esima componente de la base
canonica de
n
ℜ . Como las columnas de I constituyen una base de
n
ℜ . cualquier columna ae
de N (la e es porque las columnas de N son las candidatas para entrar a reemplazar a alguna de
las de B) puede escribirse como
ae = a1ea1+ a2ea2+ . . . + ameam =

·
m
i
ie
a
1
i
a
(2)
tambien debe ser claro que
x = b’ (3)
que. como ya se diio. en adelante se notara simplemente b. sin embargo en (3) escribimos b’
para resaltar que esta igualdad se cumple cuando se ha hecho B ÷ I.
Si se supone que el vector que se va a sacar de B es el as. entonces (2) se puede reescribir
ae =
s i
a a
se
m
s i
i
ie
a a +


·1
(4)
como ae reemplazara a as. por el teorema 1.11 necesitamos que la componente ase de ae sea
diIerente de cero para que el coniunto
a1,a2, . . . ,as-1,ae,as+1, . . ,am
sea linealmente independiente. Ademas (4) insinua como hacer el reemplazo: simplemente
despeiando as
as =

,
`

.
|



·
m
s i
i
ie
se
a
a
1
1
i e
a a
o
as =


·

m
s i
i s e
i e
s e
a
a
a
1
1
i e
a a
. (5)
Veamos que a1,a2, . . . ,as-1,ae,as+1, . . ,an eIectivamente estan asociados a una solucion
basica: la solucion basica Iactible BxB ÷ b puede escribirse como
b a
i
·

·
m
i
i
x
1
que puede. a su vez. reescribirse
b a a
s i
· +


·
s
m
s i
i
i
x x
1
y teniendo en cuenta (5)

b a a a
i e i
· − +
∑ ∑

·

·
)
1
(
1 1
m
s i
i s e
i e
s e
s
m
s i
i
i
a
a
a
x x
reagrupando
b a )a (
e i
· + −


·
se
s
se
ie
s
m
s i
i
i
a
x
a
a
x x
1
(6)
si se deIinen
se
s
e
a
x
x · '
(7)
y
ie e i
se
ie
s i i
a x x
a
a
x x x ' ' − · − ·
para 1 ≤ i ≤ m. i ≠ s (8)
se tiene
b a a
e i
· +


·
e
m
s i
i
i
x x ' '
1
deIiniendo ademas el vector
x’ = (x’1,x’2, . . . ,x’s-1,0,x’s+1, . . . ,x’m,0, . . . ,x’e, . . . ,0)
vemos que (6) es equivalente a Ax’ ÷ b. por lo tanto x’ eIectivamente es una solucion basica
que reordenando esta asociada a la submatriz de A [a1,a2, . . . ,as-1,ae,as+1, . . ,an]. Ahora
bien. esta permitido hacer operaciones elementales en la matriz A. pues estas generan sistemas
equivalentes. Notese que[a1,a2, . . . ,as-1,ae,as+1, . . ,an] diIiere de I unicamente en la
columna s que ahora esta ocupada por ae y segun (7) el valor de la variable asociada a la
columna que entra es igual al valor que tenia la variable asociada a la columna que sale dividido
entre ase que como ya vimos debe ser diIerente de cero. por (3) sabemos que esto se obtiene
automaticamente dividiendo toda la Iila s entre ase. Se obtiene asi un 1 en la posicion se. De (8)
y de (3) vemos que para i ≠ s el valor de x’i se obtiene automaticamente restando a la Iila i la
Iila s multiplicada por aie, esto es equivalente a hacer ceros arriba y abaio del 1 ubicado en la
posicion se. Lo anterior iustiIica la aplicacion que se hace de la eliminacion de Gauss-Jordan en
la matriz ampliada del sistema. Por otra parte debe notarse que. luego de la realizacion de estas
operaciones elementales. la columna que entro ha quedado igual a la columna que reemplazo (o
sea con un 1 en la posicion s y ceros en las otras posiciones) pues al ser el algoritmo de tipo
iterativo las condiciones iniciales para cada iteracion deben ser siempre las mismas y en este
caso se ha supuesto que. despues de un posible rearreglo de las columnas de A. B÷I al comienzo
de cualquier iteracion.
Sin embargo. aun es necesario establecer las condiciones para que x’ sea una solucion basica
Iactible. esto es para que x’ ≥ 0. Se requiere. por lo tanto. que x’e ≥0 y que x’i ≥ 0 para 1
≤ i ≤ m. i ≠ s. o lo que es lo mismo
0 ≥
se
s
a
x
(9)
lo cual implica que
0 >
se
a
pues
0 ≥
s
x
.
y
0 ≥ −
se
ie
s i
a
a
x x
para 1 ≤ i ≤ m. i ≠ s (10)
este ultimo resultado se tiene automaticamente si a i e < 0. Sin embargo. para los aie ≥0 se
requiere
0 ≥ −
se
ie
s i
a
a
x x
para 1 ≤ i ≤ m. i ≠ s. Lo cual es equivalente a
ie
i
se
s
a
x
a
x

para 1 ≤ i ≤ m. i ≠ s (11)
En este punto es conveniente recordar que se han empleado los subindices s y e para indicar
que se reemplazara la columna s de B por la e de N. pero hasta el momento no se han Iiiado.
esto es. pueden ser cualesquiera. Sin embargo. al llegar a (11) aparece el primer criterio de
decision que se debe emplear. en primer lugar debe verse que la condicion i ≠ s se hace
redundante y por lo tanto se puede omitir. En segundo lugar indica que una vez Iiiado e (mas
adelante veremos con que criterio) s no puede ser cualquiera. debe ser tal que satisIaga (11) y
esto se tiene unicamente si se escoge s de acuerdo a la siguiente regla: s debe ser tal que cumpla
¹
'
¹
¹
'
¹
> · 0 /
ie
ie
i
se
s
a
a
x
mínimo
a
x
para 1 ≤ i ≤ m (12)
Se tiene. por lo tanto. una regla que garantiza que x’ sea una solucion basica Iactible. De (12) y
de (3) se ve que la regla (12) equivale a dividir los elementos de b entre los correspondientes de
ae, siempre y cuando estos ultimos sean positivos. y elegir el mas pequeño de estos cocientes.
Esta solucion esta asociada a la matriz B’ la cual diIiere de B en tan solo una columna. Ahora se
debe Iiiar el criterio que garantice que x’ es una meior solucion que x. El metodo para ello es
obviamente estudiar el valor de la Iuncion obietivo z en x’.
Si en (1) se considera la particion x = [xB,xN| correspondiente a la particion Amxn =
[Bmxm,Nmx(n-m)] se obtiene para Ax = b
[B,N]
b
x
x
B
B
·
]
]
]

(13)
desarrollando
BxB + NxN = b (14)
pero como xB ≥ 0 y xN = 0 tenemos
BxB = b
o
xB =
1
B

b (15)
que es una solucion basica de Ax ÷ b. El vector xB se denomina vector básico y xN, vector no
básico. Se parte el vector c en [cB,cN] y la Iuncion obietivo z ÷ cx puede escribirse
z =[cB,cN]
b
x
x
B
B
·
]
]
]

z = cB xB + cN xN
z = cB xB (16)
porque xN = 0. Analogamente para x’ se tiene. despues de un rearreglo (en el cual x’ pasa de
(7) a x’ = (x’1, . . . ,x’s-1, x’s =x’e ,x’s+1, . . . ,x’m,0, . . . ,0))
z’ = c’B x’B
Pero. cB y c’B diIieren unicamente en la s-esima componente. esto es
cB = (c1,c2, . . . , cs, . . . , cm)
c’B = (c’1,c’2, . . . , c’s, . . . , c’m) donde c’i = ci para i ≠ s y c’s = ce
entonces z’ = c’B x’B
=

·
m
i
i i
x c
1
' '
=
s s
m
s i
i
i i
x c x c ' ' ' '
1
+


·
=
e e
m
s i
i
i i
x c x c ' '
1
+


·
teniendo en cuenta (7) y (8) queda
=
s e
s
e
m
s i
i
s e
i e
s i i
a
x
c
a
a
x x c + −


· 1
) (
(17)
en la sumatoria de (17) Ialta el termino
) (
se
se
s s s
a
a
x x c −
que es igual a cero. por lo tanto puede
agregarse sin aIectar la expresion. (17) queda entonces
÷
se
s
e
m
i se
ie
s i i
a
x
c
a
a
x x c + −

·1
) (
÷
se
s
e
m
i
m
i
ie i
se
s
i i
a
x
c a c
a
x
x c + −
∑ ∑
· · 1 1
÷
se
s
m
i
m
i
e ie i i i
a
x
c a c x c
∑ ∑
· ·
− −
1 1
) (
(18)
como z ÷ cx y si se deIine el escalar
ze = cBae =

·
m
i
ie i
a c
1
para m · e ≤ n (19)
entonces (18) queda
z’ =
se
s
e e
a
x
c z z ) ( − −
(20)
por (9) sabemos que
0 ≥
se
s
a
x
. por lo tanto para que z’ sea mayor que z es necesario que
e e
c z −
· 0 y como el obietivo es obtener el mayor incremento debe escogerse e de tal manera
que
e e
c z −
sea el mas negativo. Se tiene por lo tanto la regla para escoger el vector que entra a
la base.
De esta regla se deduce que siempre que exista algun i tal que
i i
c z −
· 0 la solucion actual es
susceptible de ser meiorada. Por lo tanto el proceso se detendra cuando. para todo i.
i i
c z −

0 y esto indicara que se ha encontrado la solucion optima. establecer este resultado es el
proposito del siguiente teorema.
Antes de enunciarlo se extendera la deIinicion (19)
para i÷1. . . . . m z i = cB a i = cB e i = c i
y. por lo tanto
z i – c i = 0 para i÷1. . . . . m
Teorema 2.1: Se ha llegado a la solución óptima de (1) cuando
i i
c z −
≥ 0 para todo i.
Demostración: sean x’ una solucion Iactible y x una solucion basica Iactible de (1)
respectivamente. x asociada a B. entonces
Ax’=b
que puede expandirse como
x’1a1+ x’2a2+ . . .+ x’nan = b (21)
y se tiene entonces
z’ = c1x’1+ c2x’2+ . . .+ cnx’n (22)

extendiendo (2) a todas las columnas de A se tiene
a j =

·
m
i
ij
a
1
i
a
reemplazando esto ultimo en (21) queda
x’1

·
m
i
i
a
1
1 i
a
+ x’2

·
m
i
i
a
1
2 i
a
+ . . .+ x’n

·
m
i
in
a
1
i
a
= b
reagrupando
a 1

·
n
i
i i
a x
1
1
'
+ a 2

·
n
i
i i
a x
1
2
'
+ . . . + a m

·
n
i
mi i
a x
1
'
= b (23)
esta ultima igualdad expresa b como combinacion lineal de a 1, a 2, . . . , a m, que son
linealmente independientes y por lo tanto tal representacion es unica. y como ademas tenemos
BxB = b, entonces
x j =

·
n
i
ji i
a x
1
'
, j=1,2, . . . ,m (24).
Si se supone que
i i
c z −
≥ 0 para todo i. se tiene
i i
c z ≥
y esto implica
i i i i
x c x z ' ' ≥
para
todo i. sumando todas estas desigualdades se obtiene
z1x’1+ z2x’2+ . . . + znx’n ≥ c1x’1+ c2x’2+ . . . + cnx’n = z’
utilizando (19) extendido se tiene
' ' ... ' '
1 1
2 2
1
1 1
z a c x a c x a c x
m
i
in i n
m
i
i i
m
i
i i
≥ + + +
∑ ∑ ∑
· · ·
reagrupando
' ' ... ' '
1 1
2 2
1
1 1
z a x c a x c a x c
n
i
mi i m
n
i
i i
n
i
i i
≥ + + +
∑ ∑ ∑
· · ·
(25)
teniendo en cuenta (24) se puede expresar (25) como
' ...
2 2 1 1
z z x c x c x c
m m
≥ · + + +
por lo tanto. la solucion basica Iactible x .para la cual
i i
c z ≥
para todo i. da a la Iuncion
obietivo un valor mayor o igual que cualquier otra solucion Iactible. Esto era lo que se queria
demostrar.
Hasta este momento. la idea central de la exposicion ha sido expresar las columnas de N en
terminos de las de de la base B y aplicar los conceptos y operaciones del algebra lineal. sin
embargo. algunos de estos resultados pueden ser reinterpretados desde una perspectiva mas
intuitiva. Se hara esta exposicion a continuacion.
Retomando (8)
ie e i
se
ie
s i i
a x x
a
a
x x x ' ' − · − ·
para 1 ≤ i ≤ m. i ≠ s
se ve que por cada unidad en que se incremente x’e la variable xi suIre un decremento igual a
aie (si aie es negativa. el eIecto sera en realidad un incremento). El eIecto neto de estos
decrementos (incrementos) sobre la Iuncion obietivo z ÷ cx sera. por tanto. igual a
-

·
m
i
ie i
a c
1
que. por (19 ). es igual a - ze. Falta. sin embargo. tener en cuenta el eIecto sobre z del
incremento de una unidad de xe que vendria a ser igual a ce. Por lo tanto. el eIecto neto total
sobre z. por cada unidad en que se incremente a xe (desde su actual valor de 0) sera
ce - ze = –(ze - ce)
en otras palabras. por cada unidad en que se incremente la variable de entrada la Iuncion
obietivo tendra un incremento (decremento) de – (ze - ce) unidades. Como se trata de
maximizar se toma. como ya se diio. la e que tenga el ze – ce mas negativo con el Iin de
meiorar el valor de z. Por otra parte. si todos los ze – ce son mayores o iguales a cero y existe
algun e tal que ze – ce sea igual a cero el incremento de xe desde su valor actual de cero
conduce a otra solucion que tendra. sin embargo. el mismo valor obietivo.
Supongase que se incrementara una variable no basica xe tal que ze – ce es negativo. Por (8)
para las i. 1 ≤ i ≤ m. tales que aie > 0 cada unidad de incremento de xe implica un
decremento de xi igual a aie. entonces xe podra incrementarse hasta que para alguna i. x i = 0,
pues incrementos superiores a este implicarian que x i asumiria valores negativos. lo cual
constituiria una violacion a la Iactibilidad de las soluciones. La primera variable basica que se
hace 0 al incrementarse xe se llama variable de bloqueo pues bloquea un incremento adicional
de xe. Entonces se tiene que xe entra a la base y la variable de bloqueo sale de ella.
Supongase. como en el caso anterior. que se tiene una solucion Iactible con valor obietivo z0 y
que hay una variable no basica xe con ze – ce < 0, pero que ai ≤ 0 para 1 ≤ i ≤ m. por
lo tanto. no existe variable de bloqueo pues el incremento de xe se reIleia en incrementos en los
valores de las variables basicas o en que estas conserven su valor actual (en el caso ai = 0). Al
no existir restriccion para el crecimiento de xe esta puede hacerlo sin limites. sin abandonar la
region Iactible. por lo tanto. se tendria que la solucion x. en donde
e e
x x .
e
1
B
a b B x − ·

es
arbitrariamente grande y todas las otras componentes no basicas son cero. es Iactible y su valor
obietivo es z = z0 – (ze – ce)xe que tiende a inIinito cuando xe tiende a inIinito.
2.2 El método símplex en formato de tabla
Se han visto algunos resultados reIerentes al metodo simplex y se ha insinuado en su momento
la Iorma natural como tales resultados se relacionan con las operaciones elementales que se
pueden hacer a la matriz ampliada del sistema. Sin embargo. hasta el momento los resultados
reIerentes a los ze – ce no se han relacionado con operaciones elementales. se ha llegado el
momento de hacer todas estas relaciones.
Supongase que se tiene una solucion basica Iactible inicial x relacionada con la base B. El
problema de programacion lineal (1) puede reescribirse como
Maximizar z
Suieto a
z – cBxB – cNxN = 0 (26)
BxB + NxN = b (27)
xB, xN ≥ 0
de 26 se tiene
xB + B
-1
NxN = B
-1
b (28)
multiplicando (28) por y sumando con (26) se obtiene
z + (cBB
-1
N – cN)xN = cB B
-1
b (29)
como xN = 0 de (28) y de (29) se ve que
xB = B
-1
b = b’ (30)
y
z = cB B
-1
b = cB b’ (31)
si se piensa en z como una variable basica mas y en (29) como como una restriccion adicional.
se puede tabular el problema de la siguiente manera. en donde el lado derecho (LD) contendra
los valores de las variables basicas. incluyendo z. Las variables basicas se identiIicaran en la
columna de la extrema izquierda (VB).
VB z xB xN LD
z 1 0 cBB
-1
N – cN cB B
-1
b Renglón 0
xB 0 I B
-1
N B
-1
b Renglones 1 a m
Tabla 1
Se muestra el contenido de esta tabla con reIerencias en el trabaio realizado
• Funcion obietivo cB B
-1
b = cBb’ vease (31)
• Valor de las variables basicas B
-1
b = b’ vease (30)
• z j – c j en el renglon 0 debaio de xB y xN vease (19) y tengase en cuenta que
z j – c j = 0 para i÷1.2. . . . m.
Es deseable tener un procedimiento que haga lo siguiente
1. Actualizar las variables basicas y sus valores
2. Actualizar los valores z j – c j
3. Actualizar las columnas a j
Para ello eiecutamos el siguiente algoritmo
1. Se escoge en el renglon 0 la columna e tal que z e – c e sea el mas negativo.
2. Si ae ≤ 0 xe puede crecer indeIinidamente y por lo tanto el obietivo optimo es no
acotado y se detiene el algoritmo. En caso contrario. segun (12). se dividen las entradas
de los renglones 1 a m del lado derecho entre las correspondientes de ae que sean
positivas y se escoge el menor de estos resultados. de esta manera se determina la
variable de bloqueo xs.
(Los pasos que siguen consisten en hacer un pivoteo sobre ase. este es el
procedimiento que se realiza al hacer la eliminacion de Gauss-Jordan)
3. Se divide el renglon s por ase
4. Para i÷1.2. . . . .m. i ≠ s. se suma al i-esimo renglon el nuevo renglon s multiplicado
por - aie.
5. Se suma al renglon 0 el nuevo renglon s multiplicado por – ( z e – c e)
Las dos tablas siguientes representan la situacion inmediatamente antes y despues del pivoteo.
Antes de pivotear
z XB1 XBs XBm X j X e LD
z 1 0 . . . 0 . . . 0 . . . z j – c j . . . z e – c e . . . cBb’
XB1


XBs

XBm
0

0

0
1 . . . 0 . . . 0
 

0 . . . 1 . . . 0
 

0 . . . 0 . . . 1
. . . a1j . . . a1e . . .
 
. . . asj . . . a se . . .
 
. . . amj . . . ame
. . .
b’1

b’s

b’m
Despues de pivotear
z XB1 XBs XBm X j X e LD
z 1
0 . .
se
e e
a
c z −

. . . 0
. . . z j – c j . . . 0 . . .
- ( z e – c e)
se
sj
a
a

cBb’-
(ze–ce)
se
s
a
b'

XB1



Xe


XBm
0

0

0
1 . . .
se
e
a
a
1

. . .
0
 

0 . .
se
a
1
. . . 0
 

. . . a1j - a1e
se
sj
a
a
. . . 0 . .
.
 
. . .
se
sj
a
a
. . . 1
. . .

 
b’1- b’s
se
e
a
a
1


se
s
a
b'


b’m- b’s
se
me
a
a
0 . . .
se
me
a
a

. . .
0
. . . amj - ame
se
sj
a
a
. . . 0
. . .
Se examinaran las implicaciones del pivoteo
1. La variable Xe entro a la base y XBs salio de la base. Este cambio queda registrado en
la columna de la izquierda en la cual Xe reemplazo a XBs.
2. El lado derecho (LD) contiene los valores actualizados de las variables basicas.
Tenganse en cuenta (30). (31).(7). (8) y (20). Hay que recordar que z se esta
considerando como una variable basica adicional.
3. El valor de z e – c e es cero como corresponde a las variables basicas.
Hacer evidente que los z j – c j de las variables no basicas tambien Iueron actualizados
requiere un poco mas de trabaio. De (19) se tiene
zj = cBaj =

·
m
i
ij i
a c
1
para m · i ≤ n
aplicando esta deIinicion a la tabla resultante despues del pivoteo se obtiene. para las variables
que siguieron por Iuera de la base.
z’ j – c’ j =
s e
s j
e
m
s i
i
s e
s j
i e i j i
a
a
c
a
a
a a c + −


·
) (
1
- c j (32)
El apostroIe es para diIerenciar al z’ j – c’ j actual del z j – c j anterior. Por otra parte. en la
entrada correspondiente a z’ j – c’ j de la tabla nueva aparece
z j – c j - ( z e – c e)
se
sj
a
a
que aplicando (19) queda

se
sj
e
m
i
ie i j
m
i
ij i
a
a
c a c c a c
,
`

.
|
− − −
∑ ∑
· · 1 1
=
se
sj
j
m
i se
sj
ie ij i
a
a
ce c
a
a
a a c + −

,
`

.
|


·1
=
s e
s j
j
m
s i
i s e
s j
i e i j i
a
a
c e c
a
a
a a c + −

,
`

.
|



· 1
esta ultima expresion. salvo el orden. es identica a (32).
Resta veriIicar el resultado para la variable que abandono la base. Se tiene por (19)
z ’s – c’ s ÷ -
s
se
e
m
s i
i
se
ie
i
c
a
c
a
a
c − +


·
1
1
(33)
y tambien que en la entrada correspondiente a z ’s – c’ s aparece
se
e e
a
c z −

(34)
aplicando (19) a (34) se tiene
se
e
m
i
ie i
a
c a c −


·1
=
se
e se s
m
s i
i
ie i
a
c a c a c − +



·1
=
se
e s
m
s i
i
s e
ie
i
a
c c
a
a
c
1
1
+ − −


·
que es identico a (33) salvo por el orden.
Se ha demostrado. por lo tanto. que si se tiene una solucion basica Iactible y se dispone la
inIormacion segun aparece en la tabla 1. escogiendo las variables de entrada y de salida segun
los criterios dados (si no hay variable de entrada es porque la solucion que se tiene es la optima
y si no hay variable de salida es porque no existe variable de bloqueo y por lo tanto el obietivo
se puede hacer tan grande como queramos) se determina ase. Haciendo un pivoteo sobre el se
llega a una nueva tabla en la cual la inIormacion esta dispuesta nuevamente segun la tabla 1.
Esta nueva tabla contiene . por lo tanto. una nueva solucion basica Iactible y su valor para z es
igual al valor para z en la solucion anterior incrementado en una cantidad igual a –( z j – c j )
multiplicado por el valor que asumio la variable que entro a la base. Como la situacion es
equivalente a la inicial el proceso puede repetirse hasta que no existan variables que entren a la
base y en ese momento. segun el teorema 2.1. se habra encontrado la solucion optima.
En todo el desarrollo anterior se ha partido del supuesto de que se conoce una solucion basica
Iactible y con ella de toda la inIormacion que requiere la tabla 1.
Se vera que existe una clase de problemas para los cuales la obtencion de una solucion basica
Iactible inicial es inmediata. La manera de encontrar una solucion basica Iactible para los
problemas que no pertenecen a esta clase se vera mas adelante.
2.3 Problemas con solución básica factible inmediata
Un problema de la Iorma
maximizar z ÷ cx
suieto a (35)
Ax ≤b, 0 x≥
Tiene una expresion expandida asi

maximizar z = c1x1+ c2x2+ . . . + cpxp.
suieto a

m p mp m m
p p
p p
b x a x a x a
b x a x a x a
b x a x a x a
≤ + + +
≤ + + +
≤ + + +
...
...
...
2 2 1 1
2 2 2 22 1 21
1 1 2 12 1 11
              
Se transIorma mediante la introduccion de las variables de holgura xp+1, . . . ,xn en

maximizar z = c1x1+ c2x2+ . . . + cpxp+0xp+1+ . . . +0xn (36)
suieto a

m n p p p mp m m
n p p p p
n p p p p
b x x x x a x a x a
b x x x x a x a x a
b x x x x a x a x a
· + + + + + + +
· + + + + + + +
· + + + + + + +
+ +
+ +
+ +

                           


2 1 2 2 1 1
2 2 1 2 2 22 1 21
1 2 1 1 2 12 1 11
0 0 ...
0 0 ...
0 0 ...
(37)
se tiene por tanto que x=[xp+1, . . . ,xn] =[b1, . . . ,bm] es una solucion basica Iactible
asociada a la matriz B ÷ I para la cual se tiene cB ÷ 0 y z ÷ 0. Las variables x1, . . . ,xp al no
ser basicas tienen todas valor cero y cumplen las condiciones para ser solucion de (35). En otras
palabras. un problema que tenga la Iorma de (35) permite siempre que el vector x ÷ 0 sea una
solucion. No es este el caso de los problemas que presentan en sus restricciones ÷ o ≥ .
estos casos se discutiran posteriormente.
Se reproduce la tabla 1 para ver como se tabula la solucion basica Iactible que permite iniciar el
ciclo de iteraciones (en esta tabla se han intercambiado las columnas que estan debaio de y pues
esto se acostumbra en la mayoria de los libros y es probable que el lector se sienta mas comodo
con esta presentacion)
VB z xN xB LD
z 1 cBB
-1
N – cN 0 cB B
-1
b Renglón 0
xB 0 B
-1
N I B
-1
b Renglones 1 a m
Tabla 1
si en (36) trasponemos terminos queda
z - c1x1- c2x2- . . . - cpxp-0xp+1- . . . -0xn = 0
que expresado unicamente en terminos de coeIicientes queda
1 – cN +0 = 0 (37)
como cB = 0 en el renglon 0 la expresion cBB
-1
N – cN se reduce a – cN. Ademas se tiene que
cB B
-1
b = 0. por lo tanto la parte
1 cBB
-1
N – cN 0 cB B
-1
b
del renglon 0 se reduce a
1 –
cN
0 0
que coincide exactamente con (37). Ademas como se tiene que como B ÷ I entonces B
-1
N ÷ N y
B
-1
b ÷ b.

Entonces la parte
B
-1
N I B
-1
b
de los renglones 1 a m se reduce a
N I b
que coincide exactamente con los coeIicientes de (37). La columna VB almacena el nombre de
la variable basica correspondiente a cada Iila. Reuniendo todas estas conclusiones. se tiene que
la tabla 1 para el problema (36). (37) queda
VB z xN xB LD
z 1 -c1 -c2 - . . . -cp 0 0 . . . 0 0
xp+1
xp+2

xn
0
0

0
a11 a12 . . . a1p
a21 a22 . . . a2p
  . . .

am1 am2 . . .
amp
1 0 . . . 0
0 1 . . . 0
  . . .

0 0 . . . 1
b1
b2

bm
En este estado de cosas se puede comenzar a eiecutar el algoritmo iterativo.
Ejemplo 1: resuelvase por medio del metodo simplex el siguiente problema
maximizar z ÷ 5x1 ¹ 3x2
suieto a
3x1 ¹ 5x2 ≤ 15
5x1 ¹ 2x2 ≤ 10
x1.x2 ≥ 0
trasponiendo terminos y agregando variables de holgura se tiene
z - 5x1 - 3x2 ÷ 0
3x1 ¹ 5x2 ¹ x3 ÷ 15
5x1 ¹ 2x2 ¹ x4 ÷ 10
x1.x2 x3.x4 ≥ 0
se tabula la inIormacion anterior (se omite la columna z pues las operaciones que se hacen en el
pivoteo no la modiIican. se agrega la columna xi/aie para almacenar las razones que se emplean
en la regla (12))
VB x1 x2 x3 x4 LD
z -5
-3
0 0 0 xi/aie
x
3
x
4
3 5
5 2
1 0
0 1
1
5
1
0
5
2
En este momento se tiene:
• Variables basicas x3 ÷ 15. x4 ÷1 0.
• Variables no basicas x1 ÷ 0.x2 ÷ 0.
• z ÷ 0.
Como -5 es el mas negativo de los z j – c j de las variables no basicas (x1, x2) x1 entra a la base
y por lo tanto se tiene e÷2. Se calcula entonces la columna xi/aie. 15/3÷5 y 10/5÷2 el valor
minimo es 2 por lo tanto x4 es la variable de bloqueo que sale de la base y 2 es el valor que
asumira x1. Como x4 esta en la Iila 2 s÷2 (esto se hace asi para evitar los reordenamientos de
los que se habla en el desarrollo de la teoria y en los cuales se reservan los subindices 1 a m para
las variables basicas. en este caso m÷2 y se tendria. reordenando. que XB1 = x3 y que XB2 =
x4). Por lo tanto se realiza el pivoteo sobre a12. Se tiene
VB x1 x2 x3 x4 LD
z 0 -1 0 1 1
0
xi/aie
x
3
x
1
0 19/5 1 -3/5
1 2/5 0 1/5
9
2
Se llama la atencion acerca de los siguientes hechos:
• Se ha eliminado la linea que separaba las variables basicas de las no basicas. pues en la
practica. como ya se diio. no se reordenan las columnas. Las variables basicas se
identiIican en la columna VB.
• Variables basicas x3 = 9, x1=2. Notese que sus respectivos z j-c j = 0.
• Variables no basicas x2 = 0, x4 = 0.
• z ÷ 10. Este valor es igual al valor anterior de z (0) menos el z j-c j de la variable que
entro a la base (-5) multiplicado por el valor que asumio esta variable (2). o sea 10 ÷ 0 –
(-5)*2. Otra Iorma de veriIicar este resultado es reemplazar los valores actuales de las
variables en la Iuncion obietivo z = 5x1 + 3x2 + 0x3 + 0x4 = 5*2 ¹ 3*0 ¹0*9 ¹ 0*0
÷ 10.
Como el proceso es iterativo. el proceso se repite siguiendo las mismas reglas.
Ejemplo 2: resolver por el metodo simplex

Maximizar z ÷ 4x1 ¹ 4x2
Suieto a
-2x1 ¹ 2x2 ≤ 2
-x1 ¹ 2x2 ≤ 4
x1. x2 ≥0
trasponiendo terminos. agregando variables de holgura y tabulando se tiene
VB x1 x2 x3 x4 LD
z -4 -4 0
0
0 xi/aie
x
3
x
4
-2 2 1 0
-1 2 0 1
2
4
1
2
se puede escoger entre x1 y x2 para entrar a la base. escogemos x2. al calcular los xi/aie se
tiene 2/2÷1. 4/2÷ 2. Por lo tanto la variable de bloqueo es x3. Se pivotea sobre a12.y se tiene

VB x1 x2 x3 x4 LD
z -8 0 2 0 4 xi/aie
x
2
x
4
-1 1 1/2 0
1 0 -1 1
1
2
*
2
y para la siguiente iteracion
VB x1 x2 x3 x4 LD
z 0 0 -6 8 2
0
xi/aie
x
2
x
1
0 1 -1/2 1
1 0 -1 1
3
2
*
*
Para esta ultima tabla se tiene que x3 es candidato para entrar a la base. sin embargo a3 ≤ 0 y
por lo tanto no existe variable de bloqueo para x3. En otras palabra x3 puede hacerse tan grande
como se quiera. Segun la teoria expuesta se tiene como solucion x. en donde
e e
x x .
e
1
B
a b B x − ·

es arbitrariamente grande y todas las otras componentes no basicas son
cero y su valor obietivo es z = z0 – (ze – ce)xe que tiende a inIinito cuando xe tiende a
inIinito. Para este caso sea x3 = M (en donde M puede ser arbitrariamente grande) entonces
2
3
2
M
x + ·
y
M x + · 2
1
Se vera que la solucion

,
`

.
|
+ + 0 . .
2
3 . 2 M
M
M
es Iactible y se calculara z para ella. Esta solucion cumple las restricciones pues
-2x1 + 2x2 = -2( M + 2 ) +2(
2
3
M
+
) = 2 ≤ 2
y
-x1 + 2x2 =-( M + 2 ) + 2(
2
3
M
+
) = 4 ≤ 4
Ademas se tiene
z = z0 – (ze – ce)xe = 20–(-6)M = 20 + 6M
que tambien puede ser calculada haciendo el reemplazo de la solucion en la Iuncion obietivo
z = 4x1 + 4x2 = 4( M + 2 ) + 4(
2
3
M
+
) = 20 + 6M
Ejemplo 3: resolver por medio del metodo simplex

Maximizar z = 3x1 + 2x2 + x3
suieto a:
2x1 + 3x2 + 5x3 ≤ 17
3x1 + 2x2 + x3 ≤ 10
x1 + x2 + 7x3 ≤14
x1 ≥0, x2 ≥0, x3 ≥0
se tiene entonces
VB x1 x2 x3 x4 x5 x6 LD
z -3 -2 -1 0 0
0
0 xi/aie
x
4
x
5
x
6
2 3 5 1 0 0
3 2 1 0 1 0
1 1 7 0 0 1
1
7
1
0
1
4
17/2
10/3
14
pivoteando en a21
VB x1 x2 x3 x4 x5 x6 LD
z 0 0 0 0 1 0 10 xi/aie
x
4
x
1
x
6
0 5/3 13/3 1 -2/3 0
1 2/3 1/3 0 1/3 0
0 1/3 20/3 0 -1/3 1
31/3
10/3
32/3
31/5
5
32
Al no existir en la Iila cero cantidades negativas el algoritmo deberia detenerse en este momento
pues. segun el teorema 2.1. ya se ha encontrado una solucion optima (10/3. 0. 0. 31/3. 0. 32/3)
sin embargo notese que en el renglon 0 las variables no basicas x2 y x3 tienen un 0. esto indica
que al entrar a la base no aportaran nada a z pero esto si permitira encontrar una solucion
alternativa. por ello se hace una nueva iteracion en la cual se hace entrar a x2 a la base. Por lo
tanto pivoteando en a22 se tiene
VB x1 x2 x3 x4 x5 x6 LD
z 0 0 0 0 1 0 1
0
xi/aie
x
4
x
2
x
6
-5/2 0 7/2 1 -3/2 0
3/2 1 1/2 0 1/2 0
-1/2 0 13/2 0 -1/2 1
2
5
9
4/7
10
18/13
En esta ultima tabla se tiene la solucion optima alternativa (0.5.0.2.0.9). Nuevamente hay dos
variables no basicas con un cero en el renglon 0 x1 y x3 por lo tanto se realiza otra iteracion en
la cual x3 entra a la base (si se hiciera entrar x1 se regresaria a la tabla anterior). Pivoteando en
a13 se tiene
VB x1 x2 x3 x4 x5 x6 LD
z 0 0 0 0 1 0 10 xi/aie
x
3
x
2
x
6
-5/7 0 1 2/7 -3/7 0
13/7 1 0 -1/7 5/7 0
29/7 0 0 -13/7 16/7
1
4/7
33/7
37/7
Se tiene una segunda solucion alternativa (0. 33/7. 4/7. 0. 0. 37/7). Si estas 3 soluciones se
restringen a las variables originales del problema se tienen las siguientes soluciones
(10/3, 0, 0), (0,5,0) y (0, 33/7, 4/7)
Todas con un valor de z ÷ 10. Segun la teoria vista. todas las combinaciones convexas de estas 3
soluciones son. a su vez. soluciones. Por lo tanto se tiene que el vector x = (x1, x2, x3) tal que
x = λ 1(10/3, 0, 0) + λ 2(0,5,0) + λ 3 (0, 33/7, 4/7) donde λ 1+λ 2+λ 3 = 1
es tambien una solucion optima. O lo que es equivalente. la solucion general queda determinada
por
x1 =
1
3
10
λ
, x2 =
3 2
7
33
5 λ λ +
, x3 =
3
7
4
λ
donde λ 1 + λ 2 + λ 3 = 1
se veriIicara el valor de z para esta solucion general
z = 3x1 + 2x2 + x3
= 3*
1
3
10
λ
+ 2(
3 2
7
33
5 λ λ +
) +
3
7
4
λ

= 10 λ 1 +10 λ 2 + 10 λ 3
= 10(λ 1+λ 2+λ 3)
= 10
Ahora se hace la comprobacion de que la solucion general satisIace la primera restriccion
2x1 + 3x2 + 5x3 ≤ 17
pues se tiene
2*
1
3
10
λ + 3*(
3 2
7
33
5 λ λ + ) + 5*
3
7
4
λ
=
1
3
20
λ
+
3 2
17 15 λ λ +
pero como λ 3 ÷ 1-λ 2-λ 1. se tiene
÷ 17 ¹ 17 2 ) 17
3
20
(
2 1
≤ − − λ λ
la veriIicacion para las desigualdades restantes es similar.
2.4 Problemas sin solución básica factible inmediata
Ya se vio que un problema de la Iorma
maximizar z ÷ cx
suieto a
Ax ≤b, 0 x≥
tiene a x ÷ 0 como una solucion Iactible y que si ademas agregamos las variables de holgura la
solucion [xB,xN] = [B,0] es una solucion basica Iactible asociada a la matriz I. la cual se Iorma
con los coeIicientes de las variables de holgura. El valor que asumen estas variables tiene un
signiIicado en los problemas que se resuelven. Puede signiIicar. por eiemplo. la cantidad de un
recurso que se deia sin emplear. Sin embargo. en problemas como el siguiente
maximizar z = x1 – 2x2
suieto a
x1 + x2 ≥ 2
-x1 + x2 ≥ 1
x2 ≤ 3
x1, x2 ≥ 0
es evidente que (x1, x2) ÷ (0. 0) no es una solucion Iactible pues no satisIace las dos primeras
restricciones. Por lo tanto debe encontrarse de alguna manera una solucion basica Iactible para
poder comenzar a aplicar el metodo simplex. En esta clase de problemas se procede de la
siguiente manera: en las dos primeras restricciones que son de la Iorma ≥. restamos las
variables no negativas x3 y x4 las cuales conservan el nombre de holguras (en algunos textos se
conocen como variables de superavit) y en la ultima sumamos x5, con lo que el problema
quedaria
maximizar z = x1 – 2x2
suieto a
x1 + x2 – x3 = 2
-x1 + x2 - x4 = 1 (38)
x2 + x5 = 3
x1, x2, x3, x4, x5 ≥0
como los coeIicientes de las variables de holgura no Iorman la matriz identidad se debe extraer
una submatriz invertible. para ello debe veriIicarse que su determinante sea diIerente de cero.
Luego se multiplica el sistema por la inversa de esta submatriz y si el lado derecho es no
negativo se tiene una solucion basica Iactible. Se ensaya con las 3 primeras columnas. como
|B| =
0 1 0
0 1 1
1 1 1


= 1 entonces B
-1
existe y se tiene B
-1
=
]
]
]
]
]

− −

2 1 1
1 0 0
1 1 0
Multiplicando la matriz aumentada del sistema por B
-1
queda
]
]
]
]
]

− −

2 1 1
1 0 0
1 1 0
*
]
]
]
]
]

− −

3 1 0 0 1 0
1 0 1 0 1 1
2 0 0 1 1 1



÷
]
]
]
]
]

3 2 1 1 0 0
3 1 0 0 1 0
2 1 1 0 0 1



Como los terminos del lado derecho son no negativos se tiene una solucion basica Iactible en la
cual x1=2, x2=3 y x3=6 (notese que x1=2, x2=3 si es una solucion Iactible del problema
original) trasponiendo terminos para la Iuncion obietivo z (z - x1 + 2x2 = 0) el sistema queda
VB x1 x2 x3 x4 x5 LD
z -1 2 0 0 0 0 xi/aie
x
1
x
2
x
3
1 0 0 1 1
0 1 0 0 1
0 0 1 1 2
2
3
3
Sin embargo los zi-ci de las variables basicas x1 y x2 no son cero. por lo tanto mediante
operaciones elementales con los unos de las Iilas 1 y 2 se hacen ceros en la Iila cero y
Iinalmente se tiene
VB x1 x2 x3 x4 x5 LD
z 0 0 0 1 -1 -4 xi/aie
x
1
x
2
x
3
1 0 0 1 1
0 1 0 0 1
0 0 1 1 2
2
3
3
2
3
1.5
Ahora si se estan cumpliendo las condiciones para eiecutar el metodo simplex. pivoteando en
a35 queda
VB x1 x2 x3 x4 x5 LD
z 0 0 1/2 1/2 0 -5/2 xi/aie
x
1
x
2
x
3
1 0 -1/2 1/2 0
0 1 -1/2 -1/2 0
0 0 1/2 1/2 1
1/2
3/2
3/2
y se ha llegado a la solucion.
Este metodo. sin embargo. resulta bastante engorroso. pues a pesar de que en este caso la
submatriz que se escogio resulto no singular y ademas al resolver el sistema se obtuvieron
valores no negativos - por esto no Iue necesario hacer mas ensayos-. este no sera siempre el
caso y por lo tanto el metodo empleado no resulta eIiciente.
Un metodo mas eIiciente para encontrar una solucion basica Iactible inicial consiste en emplear
el propio metodo simplex para tal eIecto. Para ello se introducen las llamadas variables
artiIiciales. llamadas asi porque. a diIerencia de las de holgura. no representan nada en el
problema que se esta resolviendo sino que simplemente se utilizan para encontrar la solucion
basica Iactible inicial y luego se eliminan. Uno de los metodos empleados para hacer salir las
variables artiIiciales de la base consiste en penalizarlas en la Iuncion obietivo con un coeIiciente
que en valor absoluto tiende a inIinito y que sera negativo si el problema es de maximizacion y
positivo en el caso de minimizacion. La solucion basica Iactible obtenida en la iteracion en la
cual sale la ultima variable artiIicial queda en terminos de las variables originales y de las de
holgura y por lo tanto es una solucion basica Iactible para el problema original. que era lo que se
estaba buscando. Se ilustra esta teoria resolviendo nuevamente el eiercicio anterior.
Si en (38) se agregan las variables artiIiciales para completar la base y se penalizan estas nuevas
variables en la Iuncion obietivo se tiene
maximizar z = x1 – 2x2 – Mx5 – Mx6
suieto a
x1 + x2 – x3 + x5 = 2
-x1 + x2 - x4+ x6 = 1
x2 + x7 = 3
x1, x2,x3, x4, x5, x6, x7 ≥0
en donde por estetica se ha renombrado la variable de holgura x5 como x7.
Trasponiendo terminos en la Iuncion obietivo y tabulando se tiene
VB x1 x2 x3 x4 x5 x6 x7 LD
z -1 2 0 0 M M 0 0 xi/aie
x
5
x
6
x
7
1 1 -1 0 1 0 0
-1 1 0 -1 0 1 0
0 1 0 0 0 0 1
2
1
3
Haciendo ceros en la Iila cero para las variables basicas x5 y x6 queda
VB x1 x2 x3 x4 x5 x6 x7 LD
z -1 2-2M M M 0 0 0 -3M xi/aie
x
5
x
6
x
7
1 1 -1 0 1 0 0
-1 1 0 -1 0 1 0
0 1 0 0 0 0 1
2
1
3
2
1
3
En este momento las variables artiIiciales x5 y x6 estan en la base y por lo tanto el punto
(x1,x2) ÷ (0.0) no pertenece a la region Iactible del problema original.
Como 2-2M es el coeIiciente mas negativo de la Iila cero entra x2 y como 1 es la razon minima
sale x6. Pivoteando en a22 se tiene
VB x1 x2 x3 x4 x5 x6 x7 LD
z 1-2M 0 M 2 -M 0 2M-2
0
-3M xi/aie
x
5
x
2
x
7
2 0 -1 1 1 -1 0
-1 1 0 -1 0 1 0
1 0 0 1 0 -1 1
1
1
2
1/2
*
2
La variable artiIicial x5 aun permanece en la base y por lo tanto el punto (x1,x2) ÷ (0.1) no es
Iactible en el problema original. (notese que no satisIace la restriccion 1).
Como 1-2M es el coeIiciente mas negativo de la Iila cero entra x1 y como 1/2 es la razon
minima sale x5. Por lo tanto pivoteando en a11 se tiene
VB x1 x2 x3 x4 x5 x6 x7 LD
z 0 0 1/2 3/2 M-1/2 M-3/2 0 -5/2 xi/aie
x
1
x
2
x
7
1 0 -1/2 1/2 1/2 -1/2 0
0 1 -1/2 -1/2 1/2 1/2 0
0 0 1/2 1/2 -1/2 -1/2 1
1/2
3/2
3/2
En este momento las variables artiIiciales x5 y x6 han abandonado la base y por lo tanto el
punto (x1,x2) ÷ (1/2.3/2) pertenece a la region Iactible del problema original. Mas aun.
(1/2.3/2.3/2) es una solucion basica Iactible asociada a la matriz I cuyas columnas aparecen
debaio de las variables basicas x1,x2 y x7. Se esta. por lo tanto. en condicion de aplicar el
metodo simplex para resolver el problema original. esto se consigue simplemente suprimiendo
las columnas correspondientes a las variables artiIiciales y aplicando a la tabla resultante el
algoritmo simplex. En todos los libros que consulte no eliminan estas columnas. sino que
continuan el proceso con la tabla completa. cuando se desarrolla el algoritmo a mano esto
obviamente implica realizar un trabaio superIluo. Supongo que la razon de obrar asi es que si se
programa el algoritmo en un computador no es necesario hacer que este tenga en cuenta el
momento en el cual salio la ultima variable artiIicial y simplemente continua iterando con la
tabla completa.
En el eiercicio que se esta desarrollando. coincidencialmente. todos los coeIicientes de la Iila
cero son no negativos y por lo tanto el algoritmo se detiene aqui dando como solucion optima
x1 = 1/2 x2 ÷ 3/2 y z ÷ -5/2.
En la graIica se ven los distintos valores que asumen x1 y x2 hasta alcanzar el punto Iactible
Se ha reiterado que cuando en un problema de programacion lineal todas las restricciones son de
la Iorma ≤ entonces 0 es una solucion basica Iactible asociada a I. la cual queda constituida
por las columnas que corresponden a las variables de holgura. Tambien se ilustro uno de los
metodos que se emplean para encontrar una solucion basica Iactible cuando no todas las
desigualdades son de la Iorma ≤. A partir del problema original se plantea un problema
artiIicial en el cual a las restricciones originales que no son de la Iorma ≤ se suman variables
artiIiciales para tener asi una solucion basica Iactible del problema artiIicial asociado a la matriz
I la cual estara constituida por las columnas correspondientes a las holguras que se suman y a
las variables artiIiciales. Estas variables artiIiciales se penalizan en la Iuncion obietivo de tal
manera que el algoritmo simplex las obligue a salir de la base. Cuando en la base no queden
variables artiIiciales la solucion basica Iactible que en ese momento se tenga para el problema
artiIicial tambien lo sera del original.
Este metodo busca una solucion basica Iactible que en particular es un punto Iactible y lo
encuentra cuando ha salido la ultima variable artiIicial de la base. Pero ¿que ocurre cuando el
algoritmo se detiene antes de que hayan salido todas las variables artiIiciales de la base y estas
tengan un valor positivo?. Lo que sucede es que no existen puntos Iactibles. esto es. no existe
ningun punto que satisIaga simultaneamente todas las restricciones. Mas Iormalmente
Teorema 2.2: Si [x,xa] donde xa es el vector de variables artificiales es solución óptima del
problema artificial y si xa ≠ 0 entonces el problema original no tiene puntos factibles.
Demostración: Supongase que x’ es una solucion Iactible del problema original y por lo tanto
[x’,0] lo es del artiIicial. Por la optimalidad de [x,xa] se tiene que
cx’ ≤ cx – Mxa
pero como se puede tomar M tan grande como se quiera y como ademas xa ≥0 y xa ≠ 0 esta
desigualdad no tiene sentido y por lo tanto x’ no puede ser una solucion Iactible del problema
original.
El metodo de penalizacion tiene la ventaia de tener un Iundamento intuitivo y de consistir. luego
de haber penalizado las variables artiIiciales y de hacer cero su correspondiente entrada en el
renglon 0. esencialmente en la aplicacion del metodo simplex ya conocido. Sin embargo. tiene
su talon de Aquiles en el hecho de que para eiecutarse en un computador se asigna un valor
grande a la M y este valor. al hacerse varias iteraciones. puede conducir a la acumulacion de
errores de redondeo. Taha ilustra esta situacion con el siguiente eiemplo:
maximizar z = 0.2x1 +0.5x2
suieto a
3x1 + 2x2 ≥ 6
x1 + 2x2 ≤ 4
x1, x2 ≥ 0
y aIirma que si se resuelve empleando un M ÷ 10 se obtiene la respuesta correcta x1 ÷ 1, x2 ÷
1.5 con un z ÷ 0.95. Pero que para M ÷ 999 999 da la respuesta incorrecta x1 ÷ 4. x2 ÷ 0 con
un z ÷ 1.18. este ultimo valor ni siquiera es consistente con los valores de x1 y x2. Existe
ademas otro inconveniente que se presenta cuando se eiecutan los algoritmos a mano. y es lo
dispendiosa que se vuelve la manipulacion de la M. Por lo tanto se ha desarrollado otro metodo
para la eliminacion de las variables artiIiciales de la base. Este metodo se conoce como el de las
dos Iases y consiste. como su nombre lo indica. en realizar dos Iases. en la primera de las cuales
se ignora la Iuncion obietivo del problema original y se minimiza la suma de las variables
artiIiciales. que en caso de que la region Iactible no sea vacia llegara a ser cero y conducira a la
salida de las variables artiIiciales de la base. este hecho implicara que se ha encontrado una
solucion basica Iactible y por lo tanto ahora se puede entrar a resolver el problema original. Este
metodo tambien presenta desventaias: por una parte. como en la primera Iase se ignora la
Iuncion obietivo del problema original. el algoritmo busca una solucion basica Iactible
cualquiera. no necesariamente una buena solucion. esto trae como consecuencia que.
probablemente. con este metodo sea necesario hacer mas iteraciones que con el de la M. Por
otra parte en la transicion de la Iase uno a la dos hay que cambiar de Iuncion obietivo y por lo
tanto hacer los aiustes necesarios en el renglon 0 para tener los z j – c j de las variables basicas
iguales a cero. adicionalmente se suprimen las columnas de las variables artiIiciales. pero este
paso. como ya se indico. tambien deberia llevarse a cabo al aplicar el metodo de la M.
Para eliminar los inconvenientes que presenta el metodo de la M. principalmente el de los
errores de redondeo que llevo a la concepcion del metodo de las dos Iases. he propuesto una
Iorma de tabulacion alternativa que. por una parte. permite trabaiar sin la engorrosa
manipulacion de las M. y por otra permite programar un algoritmo en el cual no se asignan
valores numericos “grandes” a la M. sino que opera exactamente igual a cuando se desarrolla el
algoritmo de Iorma manual. La propuesta consiste en emplear dos Iilas para el renglon 0. la
primera conteniendo los coeIicientes de las M. y la segunda para los terminos independientes.
De esta manera al hacer el pivoteo cada Iila se trata de Iorma independiente. Para escoger la
variable de entrada se sigue el siguiente procedimiento: mientras existan numeros negativos en
la Iila de los coeIicientes de las M se toma el mas negativo de ellos. en caso de presentarse
algun empate. se emplean los numeros de la Iila de terminos independientes. correspondientes a
los coeIicientes empatados. para disolverlo. Si el empate continua. se escoge la variable entrante
de Iorma arbitraria. Cuando ya no hayan cantidades negativas en la Iila de los coeIicientes de las
M se busca el mas negativo en la Iila de los terminos independientes.
JustiIico unicamente la equivalencia del pivoteo al descomponer la Iila 0 en dos Iilas. pues la
regla de entrada. si se examina detenidamente. es identica a la que se sigue sin la
descomposicion de la Iila 0.
La tabla
aM+b cM+d
1 e
representa una situacion simpliIicada en la cual solo aparecen el pivote y una entrada cualquiera
de la misma Iila del pivote. con sus correspondientes entradas en la Iila cero. Para hacer un 0
encima del pivote se multiplica su Iila por –(aM¹b) y se la suma a la Iila cero para obtener
(39)
aM+b–(aM+b) cM+d–e(aM+b)
1 e
que simpliIicando queda
si se aplica la descomposicion de la Iila 0 en lugar de (39) se tiene
a c
b d
1 e
En la cual la primera Iila corresponde a los coeIicientes de las M y la segunda a los terminos
independientes. Se hacen ceros en las posiciones ocupadas por a y b. para obtener
si se compara esta ultima tabla con (40) se ve que los resultados son equivalentes.
Esta nueva Iorma de tabulacion para el metodo de la M. como ya se diio. permite que el trabaio
sea puramente numerico y evita los errores de redondeo provenientes de asignar valores
“grandes” a la M. Por lo tanto se tiene que. con la nueva tabulacion. el metodo de la M es mas
eIiciente que el de las dos Iases y por esta razon. no tiene sentido dedicar esIuerzos a aprender
este ultimo.
2.5 Degeneración
Se presenta degeneracion cuando alguna de las variables basicas asume el valor cero. La
degeneracion indica la existencia de restricciones redundantes como ilustra el siguiente eiemplo
maximizar z = 3x1 +9x2
suieto a
x1 + 4x2 ≤ 8
x1 + 2x2 ≤ 4
x1, x2 ≥ 0
que tiene la siguiente graIica
0 (c-ea)M+d–eb
1 e
0 c-ea
0 d-eb
1 e
(40)

Y la siguiente sucesion de tablas simplex
VB x1 x2 x3 x4 LD
z -3 -9 0 0 0 xi/aie
x
3
x
4
1 4 1 0
1 2 0 1
8
4
2
2

VB x1 x2 x3 x4 LD
z -3/4 0 9/4 0 1
8
xi/aie
x
2
x
4
1/4 1 1/4 0
1/2 0 -1/2 1
2
0
8
4
VB x1 x2 x3 x4 LD
z 0 0 3/2 3/2 1
8
xi/aie
x
2
x
4
0 1 1/2 -1/2
1 0 -1 2
2
0
esta ultima es la tabla optima.
Se tienen las siguientes observaciones
• La degeneracion surge por la presencia de restricciones redundantes. esto es.
restricciones que pueden eliminarse sin que cambie la region Iactible. De esto se deduce
que puede replantearse el problema eliminando la restriccion redundante y con ello la
degeneracion. sin embargo. en problemas de mas de tres dimensiones es diIicil
determinar las restricciones redundantes.
• En (41) se ve que hay un empate entre las variables que entran. siempre que esto ocurre
la tabla siguiente tiene una solucion basica Iactible degenerada. pues al existir al menos
dos variables de bloqueo una sale de la base y la otra permanece pero con un valor de 0.
(43)
(42)
(41)
• En (43) se llega a una solucion optima degenerada despues de que apareciera la
degeneracion en (42) sin embargo esto no es una constante pues existen problemas
como:

maximizar z = 3x1 + 2x2
suieto a
4x1 + 3x2 ≤ 12
4x1 + x2 ≤ 8
4x1 - x2 ≤ 8
x1,x2 ≥ 0

el cual luego de pasar por una degeneracion temporal en la primera iteracion llega en la
segunda a la solucion optima no degenerada:

x1 ÷ 3/2, x2 ÷ 2 z = 17/2
• Generalmente cada iteracion del simplex lleva a un nuevo valor de z meior que el
anterior. sin embargo. este no es el caso cuando hay degeneracion. como se puede ver
en las tablas (42) y (43). Este hecho. el de que no exista modiIicacion para z en
sucesivas iteraciones. puede llegar al caso extremo del ciclado. el cual consiste en que
luego de algunas iteraciones se llega a una tabla que ya se habia tenido en el proceso. lo
cual. si se siguen los mismos pasos. llevaria a un ciclo inIinito. Aunque existen metodos
para evitar el ciclado (vease. por eiemplo Bazaraa) una Iorma menos complicada de
hacerlo es elegir de manera diIerente la variable de entrada que llevo al ciclado.
Conclusiones
La programacion lineal es la puerta de entrada al extenso campo de la Investigacion de
Operaciones. que constituye una de las areas de la matematica aplicada mas interesantes
y utiles del momento. El trabaio que he realizado ha sido gratiIicante y deseo que esto
se vea reIleiado en el. Por alguna razon. en este momento los trabaios de grado de la
Fundacion se estan enIocando hacia esta area y esto me parece bueno. porque la
situacion Iutura del pais nos llevara a enIrentarnos con naciones que aplican este tipo de
conocimientos a cada una de las empresas en las cuales se comprometen. y han
demostrado que constituye una herramienta eIectiva.
Soy consiente de las dimensiones minusculas del trabaio realizado. pero al hacerlo logre
conquistar un pequeño territorio. en el cual ahora me siento mas seguro. y desde el cual
se puede continuar la exploracion de los grandes espacios que aun Ialta conquistar. El
matrimonio matematicas-inIormatica que esta en losas Iundamentos de la concepcion de
la carrera de matematicas en la Fundacion. puede encontrar en rico Iilon en la
Investigacion de Operaciones y puede constituirse en el Iuerte del perIil del Iuturo
proIesional. Ademas esto estaria en consonancia con el postgrado que oIrece la
Fundacion en esta area.
Bibliografía
1. Apostol Tom. Análisis matemático. Barcelona España: Reverte (1977).
2. Arya Jagdish. Matemáticas aplicadas a la administración y a la economía.
Naucalpan de Juarez. Edo. de Meiico: Pearson Educacion (1992).
3. Bazaraa Mokhtar. Programación lineal y flujo en redes. Meiico. D.F.:
Limusa (1996).
4. Goberna Miguel. Optimización Lineal. Madrid España: McGraw-Hil (2004)
5. Hillier Frederick. Investigación de Operaciones. Meiico. D.F.: McGraw-Hill
(2002).
6. Lipschutz Seymour. Álgebra lineal. Naucalpan de Juarez. Edo. de Meiico:
McGraw-Hill (1985).
7. Prawda Juan. Metodos y modelos de Investigacion de Operaciones. Meiico.
D.F.: Limusa (2000).
8. Taha Hamdy. Investigación de Operaciones. Meiico. D.F.: AlIaomega
(1995).

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->