You are on page 1of 46

21

CA P T U L O 2
P ROGRAMACI N L I NE AL

2.1. El modelo de Programacin Lineal
En los siglos XVII y XVIII, grandes matemticos, como Newton, Leibnitz,
Bernoulli y, sobre todo, Lagrange, que tanto haban contribuido al desarrollo del
clculo infinitesimal, se ocuparon de obtener mximos y mnimos condicionados
de determinadas funciones.
Posteriormente, el matemtico francs Jean Baptiste-Joseph Fourier (1768-
1830) fue el primero en intuir, aunque de forma imprecisa, los mtodos de lo que
actualmente llamamos programacin lineal y la potencialidad que de ellos se
deriva.
En 1939, el matemtico ruso Leonid Vitalevich Kantorovitch publica una
extensa monografa titulada Mtodos matemticos de organizacin y
planificacin de la produccin en la que por primera vez se hace corresponder a
una extensa gama de problemas una teora matemtica precisa y bien definida,
llamada hoy en da programacin lineal.
En 1941-1942 se formula por primera vez el problema de transporte,
estudiado independientemente por Koopmans y por Kantorovitch, razn por la
cual se suele conocer con el nombre de problema de Koopmans-Kantorovitch.
En los aos posteriores a la Segunda Guerra Mundial, en Estados Unidos se
asumi que la eficaz coordinacin de todas las energas y recursos de la nacin
era un problema de tal complejidad, que su resolucin y simplificacin pasaba
necesariamente por los modelos de optimizacin que resuelve la programacin
lineal.
Paralelamente a los hechos descritos se desarrollan las tcnicas de
computacin y los ordenadores, instrumentos que haran posible la resolucin y
simplificacin de los problemas que se estaban gestando.
En 1947, G. B. Dantzig formula, en trminos matemticos muy precisos, el
enunciado estndar al que cabe reducir todo problema de programacin lineal.
Respecto al mtodo simplex, que estudiaremos despus, sealaremos que su
Q. MARTN MARTN


22
22
estudio comenz en 1951 y fue desarrollado por Dantzig. Los fundamentos
matemticos de la programacin lineal se deben al matemtico norteamericano de
origen hngaro John Von Neumann (1903-1957), quien en 1928 public su
famoso trabajo sobre Teora de juegos.
La Programacin Lineal es un conjunto de tcnicas racionales de anlisis y de
resolucin de problemas que tiene por objeto ayudar a los responsables en las
decisiones sobre asuntos en los que interviene un gran nmero de variables.
El nombre Programacin Lineal no procede de la creacin de programas de
ordenador, sino de un trmino militar, programar, que significa realizar planes o
propuestas de tiempo para el entrenamiento, la logstica o el despliegue de las
unidades de combate.
La Investigacin Operativa en general y la programacin lineal en particular
recibieron un gran impulso gracias a los ordenadores. Uno de los momentos ms
importantes fue la aparicin del Mtodo del Simplex. Este mtodo, desarrollado
por G. B. Dantzig en 1947, consiste en la utilizacin de un algoritmo para
optimizar el valor de la funcin objetivo teniendo en cuenta las restricciones
planteadas. Partiendo de uno de los vrtices de la regin factible, por ejemplo el
vrtice P, y aplicando la propiedad: si la funcin objetivo no toma su valor
mnimo en el vrtice P, entonces existe una arista que parte del vrtice P y a lo
largo de la cual la funcin objetivo no aumenta, es decir, se pasa a otro vrtice
donde el valor de funcin objetivo sea menor o igual que el alcanzado en P.
Iniciarse en la tcnica de programacin lineal teniendo como referencia al
mtodo cientfico: la representacin o modelo en formulacin matemtica lineal
de algunos problemas elegidos, ser nuestro objetivo en este captulo.
La Programacin Lineal es una de las tcnicas agrupadas como
programacin matemtica, aplicable a problemas de asignacin de recursos
limitados, con actividades competitivas hacia un objetivo comn, que puede ser
de maximizar beneficios o minimizar prdidas. Se utiliza un modelo matemtico
con representacin vlida de la problemtica en estudio; sus relaciones deben ser
lineales, que significa utilizar, slo variables de primer grado en cada trmino.
El objetivo de la Programacin Lineal es encontrar el valor de la funcin que

Max (Min) z = c
1
x
1
+ c
2
x
2
+ + c
n
x
n


denominada funcin objetivo.

La funcin objetivo se encuentra sujeta a una serie de restricciones
Programacin Lineal 23


st
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
= b
1

a
21
x
1
+ a
22
x
2
+ + a
2n
x
n
= b
2

.
a
m1
x
1
+ a
m2
x
2
+ + a
mn
x
n
= b
m


donde x
i
> 0 (i=1, 2, , n) son las condiciones de no negatividad de las
variables.

Cada columna de coeficientes:

A
j
= , X=
|
|
|
|
|
.
|

\
|
mj
j
j
a
a
a
...
2
1
|
|
|
|
|
.
|

\
|
n
x
x
x
...
2
1

(A
1
, A
2
,, A
n
, b

)=
|
|
|
|
|
.
|

\
|
m mn m m
n
n
b a a a
b a a a
b a a a
...
.... .......... ..........
...
...
2 1
2 2 22 21
1 1 12 11

x
1
A
1
+ x
2
A
2
++ x
n
A
n
s b;

x
i
> 0, i

Matricialmente lo anterior se escribe como:

Max z = c
T
X
st
AX s b
X > 0

siendo
z: la funcin objetivo
c = (c
1
,...,c
n
)
T

: vector de coeficientes de la funcin objetivo.
X = (x
1
,...,x
n
)
T
: vector de variables de decisin.
A = (...,a
ij
,...): matriz de coeficientes tcnicos (i =1, 2, ..., m; j =1, 2, ..., n).
b = (b
1
,...,b
m
)
T

: vector de demandas (recursos).
El conjunto de soluciones factibles de un problema de Programacin Lineal
viene dado por:
Investigacin Operativa


24
X = {x eR
n
/ A x s b , x > 0}

Como se ver posteriormente, todos los ptimos (si existen) debern estar en
la frontera del conjunto de soluciones factibles.
La solucin de un problema de programacin lineal, en el supuesto de que
exista, debe estar en la regin determinada por las distintas desigualdades. Esta
recibe el nombre de regin factible, y puede estar o no acotada.


Regin factible acotada

Regin factible no acotada
La regin factible incluye o no los lados y los vrtices, segn que las
desigualdades sean en sentido amplio (s o >) o en sentido estricto (< o >).
Si la regin factible est acotada, su representacin grfica es un polgono
convexo con un nmero de lados menor o igual que el nmero de restricciones
siempre que no haya restricciones redundantes.
2.2. Formulacin de un problema de Programacin Lineal
Para que un modelo de Programacin Lineal sea vlido, debe cumplir las
propiedades siguientes:
Proporcionalidad. Significa que la contribucin al valor de la funcin
objetivo y el consumo o requerimiento de los recursos utilizados, son
proporcionales al valor de cada variable de decisin. As el trmino 2x
1
es
proporcional, porque contribuye al valor de la funcin z con 2, 4, 8, etc. para los
valores 1, 2, 3, etc., respectivamente, de x
1
. Se puede observar el aumento
constante y proporcional de 2 conforme crece el valor de x
1
.
Aditividad. Significa que se puede valorar la funcin objetivo z, as como
tambin los recursos utilizados, sumando las contribuciones de cada uno de los
trminos que intervienen en la funcin z y en las restricciones.
Divisibilidad. Significa que las variables de decisin son continuas y por lo
tanto son aceptados valores no enteros para ellas. La hiptesis de divisibilidad
ms la restriccin de no negatividad, significa que las variables de decisin
pueden tener cualquier valor que sea positivo o por lo menos igual a cero.
Programacin Lineal 25


Certidumbre. Significa que los parmetros o constantes son estimados con
certeza, o sea, no interviene una funcin de probabilidad para obtenerlos
El modelo de programacin lineal es un caso especial de la programacin
matemtica, pues debe cumplir que, tanto la funcin objetivo como todas las
funciones de restriccin, sean lineales.
Dependiendo del tipo de restriccin que presente el problema de
programacin lineal, tendremos:
Restricciones (=): Formulacin estndar.
Restricciones (s) o (>): Formulacin cannica.
Restricciones (s o (>) o (=): Formulacin mixta.
Sin restricciones de signo: x
k
=(x+)- (x-), donde (x+) >0; (x-)>0
Por ejemplo, vamos a pasar un problema formulado en forma cannica a otro
en forma estndar.
Problema formulado en forma cannica:

Max (Min)z = c
1
x
1
+ c
2
x
2
+ + c
n
x
n

st (s. t.)
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
s b
1

a
21
x
1
+ a
22
x
2
+ + a
2n
x
n
s b
2

.
a
m1
x
1
+ a
m2
x
2
+ + a
mn
x
n
s b
m

x
i
> 0, i
Escrito lo anterior en forma compacta, tenemos
Max z = c
1
x
1
+ c
2
x
2
+ + c
n
x
n
=Max c
j
x
j

=
n
1 j
st
a
ij
x
j
s b
i
, (i=1, 2, , m)

=
n
1 j
x
j
> 0, (j =1, 2, , n)

Escrito en forma matricial sera:

Max z = c
T
X
st
AX sb
X>0

Cada columna de coeficientes tcnicos A
j
representa un vector:

Investigacin Operativa


26
A
j
=
|
|
|
|
|
.
|

\
|
mj
j
j
a
a
a
...
2
1

Las restricciones las escribiremos:

x
1
A
1
+ x
2
A
2
++ x
n
A
n
s b
x
i
> 0, i

Problema formulado en forma estndar:

Max (Min)z = c
1
x
1
+ c
2
x
2
+ + c
n
x
n

st (s. t.)
a
11
x
1
+ a
12
x
2
+ + a
1n
x
n
+ x
n+1
= b
1

a
21
x
1
+ a
22
x
2
+ + a
2n
x
n
+ x
n+2
= b
2

................
a
m1
x
1
+ a
m2
x
2
+ + a
mn
x
n
+ x
n+ m
= b
m

x
i
> 0, i

A las variables x
n+1
, x
n+2
, , x
n+m
se las denomina variables de holgura y se
introducen para convertir desigualdades en igualdades.
Cuando las variables de holgura son iguales a cero, implica que el recurso de
esa actividad se ha consumido en su totalidad (restriccin saturada).

2.3. Fases en la resolucin de problemas de Programacin
Lineal

Las fases en la resolucin de un problema de Programacin Lineal las
podemos resumir en:

1 Definir el significado cuantitativo de las variables de decisin (x
1
, x
2
,,
x
n
).
2 Establecimiento de la funcin objetivo cuyo valor se desea
maximizar(utilidad, rendimiento, ingreso, produccin) o bien minimizar
(costo, tiempo, mano de obra, inventario).
3 Establecimiento de las restricciones que limitan el valor ptimo que
puede tomar la funcin objetivo. Las restricciones que pueden presentarse
son del tipo: i) Si no se debe exceder del recurso disponible (s); ii) Para
no menos de lo requerido (>); iii) Para igualar el recurso especificado (=).
4 Resolucin del problema y anlisis de la solucin o soluciones.

Programacin Lineal 27


Ejercicio. Un empresa tiene tres tipos de mquinas, A, B y C, que pueden
fabricar dos productos, P1 y P2. Todos los productos tienen que pasar por todas
las mquinas. La tabla siguiente muestra los recursos:

Tipo de Mquina Producto 1
Horas por u.
Producto 2
Horas por u.
Horas disponibles
semanalmente
A 2 2 16
B 1 2 12
C 4 2 28
Ganancia por u. 1 1,50

Qu cantidad de cada producto P1 y P2 se debe manufacturar cada semana,
para obtener la mxima ganancia ?

Desarrollado el problema en fases, resulta:

1 fase:
x
1
= nmero de unidades de P1
x
2
= nmero de unidades de P2

2 fase:
Max z = 1 x
1
+ 1.5 x
2


3 fase :
2 x
1
+ 2 x
2
s 16
x
1
+ 2 x
2
s 12
4 x
1
+ 2 x
2
s 28
x
1
> 0, x
2
>0

4 fase :
La resolucin del problema y anlisis de la solucin o soluciones se ver
posteriormente.

2.4. Tipo de soluciones en un problema de programacin lineal

El problema de programacin lineal formulado matricialmente (estndar):


Min z = c
T
X (2.1)
st
AX = b (2.2)
X>0 (2.3)
Investigacin Operativa


28
Donde A es una matriz de m filas (restricciones) y n columnas (variables),
siendo n > m. Generalmente las restricciones aparecen en forma de desigualdad
y son convertidas en igualdades al introducir las variables de holgura, esto hace
que la suposicin de que n > m est justificada. Adems se supondr que la
matriz A tiene rango m; lo que quiere decir que pueden seleccionarse m
columnas de A de manera que la matriz que forman tenga determinante no nulo.
El hecho de exigir que el rango de la matriz A sea m implica evitar que en el
problema aparezcan restricciones redundantes o contradictorias. Las
restricciones redundantes pueden eliminarse de la formulacin del problema y
las contradictorias provocan que el espacio de soluciones factibles sea vaco y el
problema no tenga solucin.
Cada una de las submatrices de A con determinante distinto de cero (es
decir, inversibles) formadas seleccionando m columnas de A, se llama matriz
bsica o matriz de base. Si B es una de esas matrices, se dice que es una matriz
bsica factible si el vector resultante de multiplicar su inversa por el vector b
tiene todas sus componentes mayores o iguales que cero
Cada matriz bsica B del programa lleva asociado un vector que se conoce
como solucin bsica; el proceso de construccin es el siguiente:
1. Se dividen las variables de decisin en dos bloques:
Variables bsicas: aquella que resulta de (2.2) al hacer (n-m) variables iguales a
0.
Variables no bsicas: las restantes.
2. A las variables no bsicas se las da el valor cero.
3. Se resuelve el sistema BX = b, donde X es el vector formado con las
variables bsicas y se asignan a estas variables la solucin obtenida.
Las soluciones de un problema de programacin lineal se clasifican en:
- Solucin factible: Es un conjunto de n + m variables x
j
, definidas
ordenadamente como un vector X = ( x
1
, x
2
, ... x
j
, ... x
n
, x
n+1
, ..., x
n+m
) que
satisface el conjunto de ecuaciones que constituyen el sistema (2.2) y (2.3)
sus componentes son todas positivas o nulas.
- Solucin bsica: Solucin bsica: aquella que resulta de (2.2) al hacer (n-
m) variables iguales a 0. Cada una de las submatrices de A con
determinante distinto de cero (es decir, invertibles) formadas
seleccionando m columnas de A se llama matriz bsica o matriz de base.
Si B es una de esas matrices, se dice que es una matriz bsica factible si el
Programacin Lineal 29


vector resultante de multiplicar su inversa por el vector b tiene todas sus
componentes mayores o iguales que cero.
- Solucin factible bsica: aquella que es solucin bsica y cumple (2.3),
esto es, todas las variables son no negativas.
- Solucin factible bsica no degenerada: aquella que es solucin factible
bsica que tiene exactamente m variables x
i
positivas, es decir, todas las
variables bsicas son positivas.
- Solucin factible mnima: aquella que es factible y hace mnimo z.
- No factibles: alguna componente tiene un valor negativo.
Y, a su vez, en:
- Degeneradas: cuando alguna de las variables bsicas tiene un valor nulo.
- No degeneradas: cuando todas las variables bsicas son estrictamente
positivas.
El nmero de soluciones bsicas de un problema lineal es siempre finito y
como mximo:
|
.
|

\
| +
! !
)! (
n m
m n

donde m es el nmero de restricciones de igualdad y n el nmero de variables en
su forma estndar. ste es el nmero de posibles combinaciones para elegir m
columnas entre las n columnas existentes. Por supuesto, no siempre todas esas
combinaciones dan lugar a matrices con determinante no nulo.
A continuacin se presenta un ejemplo de localizacin de soluciones bsicas
de un programa lineal. Se trata de encontrar las soluciones bsicas del problema

Min z=2x
1
+4x
2
+x
3

2x
1
+2x
2
s 6
x
1
+4x
2
-x
3
s12
x
1
, x
2
, x
3
> 0
y clasificarlas en factibles o no factibles, degeneradas o no degeneradas. En
primer lugar, debe formularse el programa en su forma estndar y obtener las
correspondientes matrices:
A b
2 2 0 1 0
1 4 -1 0 1
6
12
Las matrices bsicas sern en este caso todas las submatrices inversibles
formadas al seleccionar 2 columnas de A.
Por ejemplo, la primera matriz bsica que puede construirse es la formada
por las dos primeras columnas de A:

Investigacin Operativa


30
B
2 2
1 4

En este caso, las variables bsicas son x
1
y x
2
y los valores que toman en la
correspondiente solucin bsica se obtienen resolviendo el sistema:

2x
1
+2x
2
= 6
x
1
+4x
2
= 12

La solucin de dicho sistema es x
1
=0 y x
2
=3. A las restantes variables, las
no bsicas, se las da el valor cero y la solucin bsica que se obtiene es
X=(0,3,0,0,0). Las variables bsicas son no negativas por tanto la solucin
bsica es factible y es degenerada porque la primera variable bsica es nula.
De igual manera se construyen el resto de soluciones bsicas, en este caso
todas las submatrices 2x2 son bsicas excepto la que forman las columnas
tercera y quinta. En la siguiente tabla se presentan todas las soluciones bsicas
obtenidas.

Variables
bsicas
Variables no
bsicas
Matriz
bsica
Solucin
bsica
Tipo
x
1
y x
2
x
3
, x
4
y x
5

2 2
1 4
(0,3,0,0,0)
Factible
degenerada
x
1
y x
3
x
2
, x
4
y x
5

2 0
1 -1
(3,0,-9,0,0) No factible
x
1
y x
4
x
2
, x
3
y x
5

2 1
1 0
(12,0,0,-18,0) No factible
x
1
y x
5
x
2
, x
3
y x
4

2 0
1 1
(3,0,0,0,9)
Factible no
degenerada
x
2
y x
3
x
1
, x
4
y x
5

2 0
4 -1
(0,3,0,0,0)
Factible
degenerada
x
2
y x
4
x
1
, x
3
y x
5

2 1
4 0
(0,3,0,0,0)
Factible
degenerada
x
2
y x
5
x
1
, x
3
y x
4

2 0
4 1
(0,3,0,0,0)
Factible
degenerada
x
3
y x
4
x
1
, x
2
y x
5

0 1
-1 0
(0,0,-12,6,0) No factible
x
4
y x
5
x
1
, x
2
y x
3

1 0
0 1
(0,0,0,6,12)
Factible no
degenerada

Veamos, mediante un ejemplo el concepto de punto bsico degenerado
(menos de m componentes positivas) y no degenerado:
Programacin Lineal 31



Max z = x
1
-2x
2
+5x
3
- x
4

st
x
1
+x
2
+x
3
=1
x
1
-x
2
-x
3
+2x
4
=1
x
i
> 0 (i=1, 2, 3, 4)


El punto (1,0,0,0) es bsico degenerado
El punto (0,0,1,1) es bsico no degenerado
El punto (1/2, 1/4 ,1/4 ,1/2 ) es no bsico

Veamos una serie de ejemplos de problemas de programacin lineal con dos
variables atendiendo al tipo de solucin que presentan:

i) Con solucin nica

Maximizar la funcin z = f(x,y) = 4x + 3y
st
30x + 20y s 1800
x + y s 80
x > 0 , y > 0

Tiene por regin factible la regin sombreada.
Los valores de la funcin objetivo en cada uno de los vrtices son:
f(O) = f(0,0) = 0; f(C)=f(60,0) = 240; f(D) = f(20,60) = 260; f(E) = f(0,80) = 240
La solucin es nica, y corresponde al vrtice para el que la funcin objetivo
toma el valor mximo. En este caso es el vrtice D(20,60).

Investigacin Operativa


32
ii) Solucin mltiple
Maximizar la funcin z = f(x,y)= 4x + 2y
st 2x + y s 4 , x - y s 1 , x > 0 , y > 0

Los valores de la funcin objetivo en cada uno de los vrtices
son:
f(O)=f(0,0) = 0, f(A) = f(1,0) = 4
f(B)=f(5/3,2/3) = 8, f(C) = f(0,4) = 8

La funcin objetivo alcanza el valor mximo en los vrtices B y C, por tanto,
en todos los puntos del segmento BC.
Hay infinitas soluciones, solucin mltiple, que corresponden a los puntos
del segmento situado entre dos vrtices de la regin factible. En estos casos,
como ya vimos en el captulo anterior, la funcin objetivo es paralela a una de
las restricciones.

iii) Solucin no acotada (No existe lmite para la funcin objetivo)
Maximizar la funcin z = f(x,y) = x + y
st y s 2x , y > x/2
Tiene por regin factible la zona coloreada que aparece en
la figura, que es una regin no acotada. La funcin crece
indefinidamente para valores crecientes de x e y. En este
caso no existe un valor extremo para la funcin objetivo,
por lo que puede decirse que el problema carece de
solucin.
Para que suceda esta situacin, la regin factible debe estar no acotada.

iv) Cuando no existe el conjunto de soluciones que cumplen las restricciones
Maximizar la funcin z = f(x,y) = 3x + 8y
st x + y 6 , x + y 2 , x 0 , y 0
No existe la regin factible, ya que las zonas coloreadas que
aparecen en la figura son nicamente soluciones de alguna
de las inecuaciones .Por tanto, el conjunto de soluciones del
sistema de desigualdades no determina ninguna regin
factible. Este tipo de problemas carece de solucin.

2.5. Resolucin de un problema de programacin lineal
mediante el mtodo grfico
Programacin Lineal 33


Lo que se pretende con el mtodo grfico es dar una visin geomtrica del
problema que queremos resolver. Es evidente que su precisin no es la deseada,
pero nos puede dar una aproximacin a lo que queremos resolver.
El procedimiento a seguir es:
1. Dibuje la grfica de cada restriccin sobre el mismo cuadrante no
negativo.
2. Convierta las desigualdades en igualdades y represente la rectas que
representan estas ecuaciones.
3. Escoja cualquier punto de ensayo que no pertenezca a la recta.
4. Evale el primer miembro de la expresin. Sustituya el punto de ensayo en
el primer miembro de la desigualdad y obtenga el valor numrico.
5. Determine si el punto de ensayo satisface la desigualdad.
6. Si el punto de ensayo satisface la desigualdad original, entonces todos los
puntos que estn del mismo lado que el punto de ensayo satisfacen la
desigualdad, en caso contrario ser un punto no factible.
7. Localice la regin de soluciones factibles (Regin Factible).
8. Dibuje una recta arbitraria de la funcin objetivo, por ejemplo pasando por
el origen, para obtener la pendiente de la funcin objetivo.
9. Determine la direccin ascendente o descendente de esta recta.
10. Dada la pendiente de la funcin objetivo y teniendo en cuenta si es un
problema de maximizar o minimizar, determine el vrtice del conjunto
factible que est sobre la recta que representa la funcin objetivo.
11. Los valores de las variables de decisin, en este vrtice, dan la solucin al
problema.
El valor ptimo de la funcin objetivo se obtiene sustituyendo los valores
ptimos de las variables de decisin en la funcin objetivo.
Ejercicio 3. Resolver grficamente el problema siguiente:
Un fabricante est tratando de decidir las cantidades de produccin para dos
artculos: mesas y sillas. Se cuenta con 96 unidades de material y con 72 horas
de mano de obra. Cada mesa requiere 12 unidades de material y 6 horas de mano
de obra. Por otra parte, las sillas utilizan 8 unidades de material cada una y
requieren 12 horas de mano de obra por silla. El margen de beneficio es el
mismo para las mesas que para las sillas: 5 euros por unidad. El fabricante
prometi construir por lo menos dos mesas.
Solucin: El primer paso para resolver el problema es expresarlo en trminos
matemticos en el formato general de PL.
Funcin objetivo:
Investigacin Operativa


34
Maximizar z = 5x
1
+ 5x
2
en donde:
x
1
= nmero de mesas producidas
x
2
= nmero de sillas producidas
Restricciones del problema (st):
12x
1
+ 8x
2
s 96 (restriccin de material)
6x
1
+ 12x
2
s 72 (restriccin de mano de obra)
x
1
> 2 (restriccin de promesa del fabricante)
x
1
> 0, x
2
> 0 (restricciones de no negatividad)

Poniendo todo junto el modelo, se tiene:

Maximizar z = 5x
1
+ 5x
2

st
12x
1
+ 8x
2
s 96
6x
1
+ 12x
2
s 72
x
1
> 2
x
1
> 0, x
2
> 0
La grfica asociada al problema es:

Cualquier solucin que est en la frontera o dentro del rea sombreada
cumplir con todas las restricciones. Ahora se utilizar la funcin objetivo para
seleccionar la solucin ptima.
Programacin Lineal 35


Representando por lneas discontinuas la funcin objetivo movindose hacia
el valor ptimo (mximo) del problema, tenemos:

El valor ptimo estar sobre la lnea recta que representa a la funcin
objetivo, ms lejana al origen, pero que todava toque la regin factible. Esto se
muestra en la siguiente figura:

Con el punto ptimo localizado grficamente, la nica tarea que queda es
encontrar las coordenadas del punto. Ntese que el punto ptimo est en la
interseccin de las lneas de restriccin para materiales y horas de mano de obra.
Las coordenadas de este punto se pueden encontrar resolviendo el sistema de
ecuaciones que forman estas dos restricciones. Las coordenadas de este punto
Investigacin Operativa


36
resultan ser (6, 3). La sustitucin de este punto en la funcin objetivo da la
ganancia mxima: z = 5(6) + 5(3) = 45 euros.
En un problema de Programacin Lineal con dos variables, si la regin
factible existe y es acotada, el valor ptimo de la funcin objetivo se alcanza
en uno de los vrtices del polgono que limita la regin, o a lo largo de uno de
los lados. Si la regin factible no es acotada, la funcin objetivo no alcanza
necesariamente un valor ptimo concreto, pero si lo hace, ste se encuentra en
uno de los vrtices de la regin.
Si la regin es acotada lo nico que hay que hacer es calcular el valor de la
funcin objetivo en todos y cada uno de los vrtices del polgono, y en aquel en
el que el valor de la funcin sea mayor (o menor) habremos alcanzado el punto
ptimo buscado. Si se da el caso de que los valores correspondientes a dos
vrtices coinciden, stos sern adyacentes, de modo que a lo largo de ese lado
del polgono se alcanza el mismo valor de la funcin objetivo, que es
precisamente el valor ptimo. En este caso, las lneas de nivel tienen la misma
pendiente que la recta que contiene a ese lado del polgono, es decir, son
paralelas.



2.6. Propiedades de las soluciones

Las soluciones de un problema de programacin lineal tienen diversas
propiedades, alguna de las cuales vamos ver.
Designemos por K el conjunto de las soluciones factibles de un problema de
programacin lineal; K es una regin de R
n
determinada por la interseccin del
conjunto finito de restricciones lineales (2.2) y (2.3), por lo que K es:
i) K = C, no tiene solucin el problema de programacin lineal.
ii) K = C, cuando K tenga un nmero finito de vrtices que se puedan
alcanzar todos (poliedro convexo). Existe solucin de valor finito de la
funcin objetivo.
iii) K = C, cuando K tenga un nmero finito de vrtices que no se puedan
alcanzar todos (regin convexa ilimitada). El problema tiene solucin,
pero el mximo podra ser ilimitado.

Si K es un poliedro convexo, entonces K es la envolvente convexa de los
puntos extremos de K. Toda solucin factible podr representarse como una
combinacin convexa de las soluciones factibles extremas de K (salvo el caso en
que el poliedro sea ilimitado).

Proposicin 2.1. El conjunto de soluciones factibles de un problema de
programacin lineal es un conjunto convexo.
Demostracin
Programacin Lineal 37


Sean X
1
y X
2
soluciones factibles, entonces A X
1
= b, A X
2
= b, X
1
> 0, X
2
> 0.
Si formamos un vector X que sea combinacin lineal de stos dos:

X = o X
1
+ (1-o) X
2
, AX = o AX
1
+ (1-o) A X
2
= o b + (1-o) b =b

por lo que X es tambin una solucin factible.

Proposicin 2.2. Si K es un poliedro convexo, entonces la funcin objetivo z
dada por (2.1) alcanza su mnimo en un vrtice de K; adems, si este mnimo se
alcanza en varios puntos, tambin se alcanza en cualquier combinacin lineal
convexa de los mismos.

Demostracin
Sean X
1
, X
2
,, X
p
los vrtices de K y sea X
0
una solucin factible mnima,
esto significa que c
T
X
0
s c
T
X para cada XeK.

X1
X7
X2

X4
X5
X6
X3
K

Se pueden dar los casos siguientes:

i) Si X
0
es un vrtice de K, ya estara demostrado.
ii) Si X
0
no es un vrtice de K, entonces X
0
se podr poner como una
combinacin lineal convexa de ellos:

X
0
=

o
i
X
i
; o
i
> 0 ; o
i
= 1
=
p
i 1

=
p
i 1

Sustituyendo:
Min z = m= c
T
X
0
= c
T
( o
1
X
1
+ o
2
X
2
++o
p
X
p
)

Investigacin Operativa


38
Supongamos que c
T
X
1
= c
T
X
i

i
min

m > c
T
( o
1
X
1
+ o
2
X
1
++o
p
X
1
) = c
T
X
1
(o
1
+ o
2
++o
p
) = c
T
X
1
> m

por consiguiente c
T
X
1
= m, es decir, que existe un vrtice de K en el que la
funcin objetivo z= c
T
X alcanza su valor mnimo.
Para probar la segunda parte de la propiedad supongamos que z alcanza su
valor mnimo en X
1
, X
2
,, X
q
y que X es una combinacin lineal convexa de
ellos:
X =

o
i
X
i
; o
i
> 0 , o
i
= 1
=
q
1 i

=
q
1 i

c
T
X = c
T
( o
1
X
1
+ o
2
X
2
++o
q
X
q
) = o
1
c
T
X
1
+ o
2
c
T
X
2
++o
q
c
T
X
q
=
= (mo
1
+ mo
2
++mo
q
) = m (o
1
+ o
2
++o
q
) = m

con lo cual la proposicin queda demostrada.

Proposicin 2.3. Si tenemos un conjunto de k vectores A
1
, A
2
,, A
k
, que
sean linealmente independientes y de forma que:

x
1
A
1
+ x
2
A
2
++ x
k
A
k
= b

con las x
i
> 0, entonces, el punto X = (x
1
, x
2
,, x
k
, 0,, 0)
T
es un vrtice del
conjunto convexo K de soluciones factibles.

Demostracin
Supongamos que X no fuera vrtice, entonces podra expresarse como
combinacin lineal convexa de dos puntos distintos de K:

X = o X
1
+ (1-o) X
2
, oe[0, 1], X
1
, X
2
eK

Puesto que las coordenadas de las soluciones factibles son no negativas y
o>0 deber ocurrir que las n-k coordenadas ltimas de X
1
y X
2
fueran iguales a
cero:
X
1
= (x
11
, x
12
,, x
1k
, 0,, 0)
T
X
2
= (x
21
, x
22
,, x
2k
, 0,, 0)
T


con X
1
= X
2
. Adems, por ser soluciones factibles, se cumple que AX
1
=b y
AX
2
=b, por lo que podemos escribir:

x
11
A
1
+ x
12
A
2
++ x
1k
A
k
= b
x
21
A
1
+ x
22
A
2
++ x
2k
A
k
= b
Programacin Lineal 39



Restando las expresiones anteriores obtenemos:

(x
11
- x
21
) A
1
+ (x
12
- x
22
) A
2
++ (x
1k
- x
2k
) A
k
= 0

y por ser los vectores A
1
, A
2
,, A
k
linealmente independiente llegamos a la
conclusin de que:

x
11
= x
21

x
12
= x
22


x
1k
= x
2k


es decir, que X
1
= X
2
, lo que contradice el hecho de haber supuesto X
1
= X
2
, por
lo que necesariamente X debe ser un vrtice de K.

Proposicin 2.4. Si tenemos un vector X = (x
1
, x
2
,, x
n
)
T
es un vrtice de K,
entonces los vectores A
i
asociados con las coordenadas x
i
positivas forman un
sistema linealmente independiente, de lo que se sigue que, a lo sumo, m de estas
coordenadas x
i
son positivas.
Demostracin:
Supongamos, para simplificar, que las k primeras coordenadas son las no
nulas, entonces :

x
1
A
1
+ x
2
A
2
++ x
k
A
k
= b

Si los vectores A
1
, A
2
,, A
k
son linealmente dependientes, podremos
encontrar una combinacin lineal de los mismos igual a cero con algn
coeficiente no nulo:


1
A
1
+
2
A
2
++
k
A
k
= 0

As tenemos:
x
i
A
i
= b

=
k
1 i
c


i
A
i
= 0
=
k
1 i

donde c > 0. Si los sumamos y restamos:


Investigacin Operativa


40
x
i
A
i
+ c
i
A
i
= b

=
k
1 i

=
k
1 i
x
i
A
i
- c
i
A
i
= b

=
k
1 i

=
k
1 i

Es decir, desarrollando las expresiones anteriores:

(x
1
+ c
1
) A
1
+ (x
2
+ c
2
) A
2
++ (x
k
+ c
k
) A
k
= b
(x
1
- c
1
) A
1
+ (x
2
- c
2
) A
2
++ (x
k
- c
k
) A
k
= b

De manera que tenemos dos soluciones distintas del sistema de ecuaciones:

X
1
= (x
1
+ c
1
, x
2
+ c
2
,, x
k
+ c
k
, 0, 0)
T

X
2
= (x
1
- c
1
, x
2
- c
2
,, x
k
- c
k
, 0, 0)
T

Sumando X
1
y X
2
, resulta:

X
1
+ X
2
= ( 2x
1
, 2x
2
,, 2x
k
, 0, 0)
T
= 2X

Despejando X= (X
1
+ X
2
), lo cual contradice el hecho de que X sea vrtice.
De ah que, no puede hacerse la hiptesis de que los vectores A
1
, A
2
,, A
k
sean
linealmente dependientes, por tanto son linealmente independientes y, como
estos vectores son m-dimensionales no podremos tener ms de m linealmente
independientes, de ah que, como mximo, m de las x
i
sern positivas.

Proposicin 2.5. A cada punto extremo del poliedro convexo se encuentra
asociado un conjunto de m vectores linealmente independientes del conjunto
dado .
n
A A A , , ,
2 1


Demostracin
La Proposicin 2.4. prueba que existen k m s vectores linealmente
independientes. Para k =m la propiedad 2.5 queda comprobada.
Supongamos que y que podemos encontrar solamente
vectores adicionales tales que el conjunto , para
m k<
r k
A A , ,
1

+
m
r k k
A A A A , , , , ,
1 1

+
r< es
linealmente independiente. Los n-r vectores restantes dependen de
. Esto contradice la suposicin de que tenemos siempre un
conjunto de m vectores linealmente independientes asociados con
cada punto extremo.
r
A A A , , ,
2 1

m
A A , ,
1




Programacin Lineal 41


Teorema 2.1. (Caracterizacin de los vrtices de K)
El vector X = (x
1
, x
2
,, x
n
)
T
, de coordenadas no negativas, es un vrtice de
K (conjunto convexo de soluciones factibles), si x
1
A
1
+ x
2
A
2
++ x
n
A
n
= b y
las x
i
> 0 son coeficientes de los vectores A
i
linealmente independientes.
Demostracin
La demostracin es inmediata aplicando las proposiciones 3 y 4.

Resumiendo lo anteriormente expuesto mediante propiedades y teoremas
tenemos:
Si existe solucin al problema de programacin lineal, entonces hay un
vrtice de K (conjunto de soluciones factibles) en el que la funcin objetivo
alcanza su mnimo ( o su mximo). Max z = Min (-z)
Cada solucin factible bsica corresponde a un vrtice de K.
A cada vrtice de K se puede asociar una base de dimensin m del conjunto
de vectores A
1
, A
2
,, A
n
.
El mximo nmero de vrtices que puede tener el convexo K es C
n, m
=
|
| .
.
|

\
|
m
n
Aplicando un algoritmo llamado mtodo del Simplex en un nmero finito
de pasos (en general entre m y 2m) se llega a la solucin factible ptima.

2.7. Algoritmo del Simplex
El alumno debe aprender la utilizacin del mtodo del simplex que
proporciona la solucin de un problema de programacin lineal, las diversas
circunstancias de su preparacin antes de aplicar el algoritmo y los casos
especiales identificables en la tabla solucin (ltima tabla).
Sea el problema de programacin lineal:

Min z = c
T
X
st
AX = b
X > 0

Supongamos que tenemos una solucin factible bsica, es decir, se conoce
una solucin de punto extremo en trminos de m vectores del conjunto
original de n vectores. Podemos hacer que este conjunto de m vectores
linealmente independientes sean los primeros m, es decir, que las variables no
nulas sean las n-m finales X = (x
1
, x
2
,, x
m
, 0, ..., 0)
T
que verifica:
j
A

Investigacin Operativa


42

j j m m
x b A x A x A x > = + + + , 0 ,
2 2 1 1
(2.1)

Como los vectores forman una base en el espacio m-dimensional, R
m
,
podemos expresar cada uno de los n vectores dados como combinacin lineal de
los vectores de esa base:
m
A
m
i 1

=
n j A A
j i ij
, , 2 , 1 , = = o
y si escribimos todas las ecuaciones:


(2.2)

= + + +
= + + +
= + + +
n m mn n n
m m
m m
A A A A
A A A A
A A A A
o o o
o o o
o o o

2 2 1 1
2 2 2 22 1 12
1 1 2 21 1 11
.......... .......... .......... .......... ..........

y la funcin objetivo z tomar en el vrtice X el valor:

z = c
1
x
1
+ c
2
x
2
+ + c
m
x
m
(2.3)



Observando en (2.1) que, si A
1
, A
2
,, A
m
es la base cannica de los
vectores unitarios entonces x
1
=b
1
, x
2
=b
2
, ..., x
m
=b
m
.
Tomemos un j de modo que A
j
no est en la base dada, pues bien si a (2.1)
le restamos (2.2) multiplicada por un escalar u
j
, resulta:

(x
1
- u
j
o
1 j
)A
1
+ (x
2
- u
j
o
2 j
)A
2
+ + (x
m
- u
j
o
m j
)A
m
+ u
j
A
j
= b (2.4)

con lo cual, si elegimos u
j
> 0, de modo que x
i
- u
j
o
i j
> 0 para i=1, 2, ..., m
tendremos que el vector X = (x
1
, x
2
,, x
n
)
T
es una solucin factible, donde:

x
i
= x
i
- u
j
o
i j
> 0, i=1, 2, , m (2.5)
x
i
= u
j
> 0, i=j
x
i
= 0, en los dems casos

La funcin objetivo en X = (x
1
, x
2
,, x
n
)
T
, solucin factible, toma el
valor

z = c
1
x
1
+ c
2
x
2
+ + c
m
x
m
+ u
j
c
j
=
= c
1
(x
1
- u
j
o
1 j
)

+ c
2
(x
2
- u
j
o
2 j
) + + c
m
(x
m
- u
j
o
m j
) + u
j
c
j
=
= z - u
j
(z
j
-c
j
) (2.6)

donde z es el valor de la funcin objetivo en X, y z
j
viene dada por la expresin:

Programacin Lineal 43


z
j
= c
1
o
1 j
+ c
2
o
2 j
+ + c
m
o
m j
(2.7)

as pues, en (2.6) vemos que debemos seleccionar u
j
y j de forma que
verificndose (2.5) se tenga que u
j
(z
j
-c
j
) sea positivo y mximo, con lo cual z<z,
z= z- u
j
(z
j
-c
j
). El procedimiento consiste, por tanto, en calcular las cantidades
(z
j
-c
j
) > 0 observando las relaciones (2.5), stas corresponden a las variables
cuyos vectores asociados, si los incluimos en la base, mejoran el valor de la
funcin objetivo. Estudiaremos dos casos:

i) o
i j
> 0
ii) o
i j
s 0

Caso i): u
j
> 0, o
i j
> 0

x
i
= x
i
- u
j
o
i j
> 0, u
j
s
ij
i
x
o
, u
j
=

> 0 / min
ij
ij
i
i
x
o
o
(2.8)

y esto para cada j para el que se cumpla (z
j
-c
j
) > 0, a continuacin calcularemos
los productos u
j
(z
j
-c
j
) y nos quedaremos con el ndice j que da el producto
mayor, supongamos que ste es j=m+1, ello significar que seleccionamos el
vector A
m+1
, por otra parte, si el mnimo en (2.8) se alcanza, por ejemplo, para
i=1, es decir:

u
m+1
=

> 0 / min
ij
ij
i
i
x
o
o
=
1 , 1
1
+ m
x
o
(2.9)

ello significar que x
1
= x
1
- u
m+1
o
1, m+1
= x
1
-
1 , 1
1
+ m
x
o
o
1, m+1
= 0, por lo que la
nueva solucin factible X = (x
1
, x
2
,, x
n
)
T
= (0, x
2
, , x
m
, u
m+1
, 0, , 0)
T

ser un vrtice de K (conjunto de soluciones factibles) si los vectores A
2
, A
3
,,
A
m+1
son linealmente independientes (Vea el teorema de caracterizacin de los
vrtices de K).
Para probar que los vectores A
2
, A
3
,, A
m+1
son linealmente independientes,
supongamos que fueran linealmente dependientes, esto quiere decir que existir

i
tal que

2
A
2
+
3j
A
3
+ +
m
A
m
+
m+1
A
m+1
= 0 (2.10)

para algn
i
distinto de cero y, puesto que los vectores A
2
, A
3
,, A
m
son
linealmente independientes, deber ser
m+1
=0. Por tanto, despejando A
m+1
de
(2.10), obtenemos:
Investigacin Operativa


44
A
m+1
= -
1
2
+ m

A
2
-
1
3
+ m

A
3
--
1 + m
m

A
m


haciendo
i
=-
1 m
i
+

(i=2, . .., m)
A
m+1
=
2
A
2
+
3
A
3
++
m
A
m
(2.11)

Restando (2.11) de (2.2), con j=m+1, encontramos que

A
m+1
= o
1, m+1
A
1
+ o
2, m+1
A
2
++ o
m, m+1
A
m


0 = o
1, m+1
A
1
+ (o
2, m+1
-
2
) A
2
++ (o
m, m+1
-
m
)A
m


por lo que, al ser A
1
, A
2
,, A
m
linealmente independientes obliga a que o
1,m+1
=0
y, sin embargo se supuso positivo (vea (2.9)).
En consecuencia, A
2
, A
2
,, A
m+1
son linealmente independientes, por lo que
X es un vrtice de K y adems vuelve a ser una solucin factible bsica puesto
que tiene n-m coordenadas nulas y el resto son no negativas.
El proceso se volvera a repetir tomando X como solucin factible bsica
inicial y se ira repitiendo el proceso hasta encontrar z
j
-c
j
s 0 para todos los
valores de j=1, 2, ..., n, en cuyo caso ya no se podra disminuir la funcin
objetivo y, por tanto, se habra alcanzado el mnimo con el vector X que se
tuviera en esa etapa.

Caso ii): u
j
> 0, o
i j
s 0

x
i
= x
i
- u
j
o
i j

z = z- u
j
(z
j
- c
j
) , con (z
j
- c
j
) >0

Como se puede elegir un u
j
tan grande como quiera, ocurrir que z tiende a
menos infinito, es decir, no existe solucin.
Cualquier problema de programa lineal puede reducirse a la bsqueda de
mnimos en un conjunto finito de puntos (las soluciones bsicas factibles). Por
supuesto encontrar todas las soluciones bsicas de un programa lineal requiere
de grandes esfuerzos de clculo, nicamente resulta sencillo en problemas con
pocas variables de decisin. El ms famoso de los mtodos de resolucin de
programas lineales (el mtodo Simplex) est basado en la localizacin de una
solucin bsica inicial y el paso de una a otra hasta encontrar la ptima.
Programacin Lineal 45



Dentro de los aspectos computacionales, la magnitud de los problemas
lineales que aparecen en la mayora de las situaciones reales hace impensable su
tratamiento mediante el mtodo simplex de forma manual. En tales situaciones
debe recurrirse al uso de los computadores electrnicos. Sin embargo, el mtodo
Simplex no resulta muy econmico desde un punto de vista computacional, ya
que se almacenan y calculan muchos nmeros que no son estrictamente
necesarios. Por ejemplo, en las tablas del simplex aparecen gran nmero de
ceros; para un humano no supone ningn problema reconocer los ceros y darse
cuenta que al multiplicar un nmero por cero resulta cero, o que sumar cero a un
nmero no altera el resultado. Sin embargo, un computador no reconoce esas
situaciones y pierde tiempo realizando operaciones que realmente no son
necesarias.

Investigacin Operativa


46
Teorema 2.2. Si en algn paso (puede ser el primero) del mtodo simplex se
verifica que (z
j
- c
j
) s 0, j (j=1, 2, ..., n), entonces, el ltimo vrtice obtenido
es la solucin ptima.
Demostracin
Sea X = (x
1
, x
2
,, x
n
)
T
un punto extremo en el cual la funcin objetivo vale
z
0
y para el que se verifica que (z
j
- c
j
) s 0, j (j=1, 2, ..., n).
Hemos de probar que para cualquier otra solucin (z
j
- c
j
) s 0, j (j=1, 2, ...,
n)

Y= (y
1
, y
2
,, y
n
)
T
, con y
i
> 0

y valor de la funcin objetivo: z = c
1
y
1
+ c
2
y
2
+ + c
n
y
n
(2.12)
se verifica z
0
s z.

Como (z
j
- c
j
) s 0 z
j
s c
j
y sustituyendo en la expresin (2.12) cada c
j
por
z
j
tenemos:
z
1
y
1
+ z
2
y
2
+ + z
n
y
n
s z (2.13)

Sustituyendo en (2.13) cada z
j
(j=1, 2,..., n) por su valor
z
j
= c
1
o
1 j
+ c
2
o
2 j
+ + c
m
o
m j
= c
i
o
i j

=
m
1 i
tenemos:
( c
i
o
i 1
) y
1
+ (

c
i
o
i 2
) y
2
+ + (

c
i
o
i n
) y
n
s z

=
m
1 i =
m
1 i =
m
1 i
Agrupando trminos en c
i
(i=1, 2, ..., m) se tiene:
c
1
( o
1 j
y
j
) + c
2
(

o
2 j
y
j
) + +c
m
( o
mj
y
j
) s z (2.14)

=
n
1 j =
n
1 j

=
n
1 j
Puesto que Y es una solucin factible

Programacin Lineal 47


y
1
A
1
+ y
2
A
2
+ + y
n
A
n
= b (2.15)

Sustituyendo A
j
(j=1, 2, ..., n) por su valor:

A
j
= o
1 j
A
1
+ o
2 j
A
2
+ + o
m j
A
m
= o
i j
A
i

=
m
1 i
Sustituyendo este valor en (2.15) para cada uno de los j:
y
1
(

o
i 1
A
i
) + y
2
(

o
i 2
A
i
) + + y
n
( o
i n
A
i
) = b
=
m
1 i =
m
1 i

=
m
1 i

Ahora agrupamos trminos en A
i
:
(

o
1 j
y
j
)A
1
+ ( o
2 j
y
j
)A
2
+ + (

o
m j
y
j
)

A
m
= b
=
n
1 j

=
n
1 j =
n
1 j
Como X es un punto extremo
x
1
A
1
+ x
2
A
2
+ + x
m
A
m
= b

y por ser los vectores A
1
, A
2
, ..,

A
m
linealmente independientes, b se escribe de
forma nica, por lo cual:
x
1
=

o
1 j
y
j
; x
2
=

o
2 j
y
j
; ; x
m
=

o
m j
y
j

=
n
1 j =
n
1 j =
n
1 j
Sustituyendo en (2.14) se tiene:
c
1
x
1
+ c
2
x
2
+ + c
m
x
m
s z

es decir z
0
s z .

Ejercicio 1. Resuelva mediante el Mtodo Simplex el problema de
programacin lineal siguiente:

Min z = 5x
1
+2x
2
-3x
3

st
2x
1
+2x
2
-x
3
s4
Investigacin Operativa


48
3x
1
- x
2
+x
3
s3
2x
1
+x
2
+3x
3
s5
x
i
> 0 (i=1, 2, 3)

Pasando el problema a forma estndar aadiendo variables artificiales, de
manera que tengamos una base cannica para comenzar el mtodo del simplex:

Min z = - 5x
1
+2x
2
-3x
3
+0x
4
+0x
5
+0x
6

st
2x
1
+2x
2
-x
3
+x
4
= 4
3x
1
- x
2
+x
3
+x
5
= 3
2x
1
+x
2
+3x

+x
6
= 5
x
i
> 0 (i=1, 2, 3)

Primera tabla
Se lleva a la tabla los datos del problema y se comienza a operar de acuerdo
con el algoritmo del simplex:

c
j
-5 2 -3 0 0 0
Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6
u
1
u
3

A
4
0 4 2 2 -1 1 0 0 2 --
A
5
0 3 3 -1 1 0 1 0 1 3
A
6
0 5 2 1 3 0 0 1 5/2 5/3
z, z
j
, u
j
0 0 0 0 0 0 0 1 5/3
z
j
-c
j
5 -2 3 0 0 0
u
j
(z
j
-c
j
) 5 - 5 - - -

El vrtice inicial de partida es X=(0, 0, 0, 4, 3, 5)
T
. Para ver que vector sale
de la base y cul entra operamos de la forma siguiente:
i) Calculamos z
j
= c
1
o
1 j
+ c
2
o
2 j
+ + c
m
o
m j
.

ii) Calculamos (z
j
-c
j
).
iii) Para los valores (z
j
-c
j
) >0 calculamos u
j
=

> = 0 / min
ij
ij
i
ij
i
i
b x
o
o o
.
iv) Buscando que u
j
(z
j
-c
j
) sea positivo y mximo.
v) El valor de i que hace

> 0 / min
ij
ij
i
i
x
o
o
nos proporciona el vector
i-simo que sale de la base y, el valor de j que hace u
j
(z
j
- c
j
) nos
proporciona el vector j-simo que entra en la base.
j
max

Por ejemplo, para j=1, tenemos, z
1
= 0
.
2+0
.
3+0
.
2=0, z
1
- c
1
=0 - (-5)=5
Programacin Lineal 49



Realizadas las operaciones correspondientes, tenemos:
- El vector que entra en la base es el A
1
( u
1
(z
1
c
1
)=1
.
5=5).
1
max
= j
- El vector que sale de la base es el A
5
(u
1
=
)
`

= =
=
3
3
min
21
2
21
2
2
o o
b x
i
=1).

El vector entrante en la base formar parte de la base cannica de manera
que el elemento pivote, en nuestro caso el 3, que se genera en el cruce del vector
que entra y el vector que sale, deber valer uno y el resto cero.
Este proceso se repite de forma iterativa hasta que se verifique (z
j
- c
j
) s 0,
j (j=1, 2, ..., n).
El vector A
1
que entra en la base se convierte en un elemento de la base
cannica. El elemento pivote (que ha de ser un 1) se forma en el cruce del vector
que entra con el que sale (A
1
/A
5
). Veamos como se obtiene :
|
|
|
|
|
.
|

\
|
0
1
0
1
A

Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6

A
5
3 3 -1 1 0 1 0
A
1
=A
5
/3 1 1 -1/3 1/3 0 1/3 0

A
4
4 2 2 -1 1 0 0
2A
1
2 2 -2/3 2/3 0 2/3 0
A
4
-2A
1
2 0 8/3 -5/3 1 -2/3 0

A
6
5 2 1 3 0 0 1
2A
1
2 2 -2/3 2/3 0 2/3 0
A
6
-2A
1
3 0 5/3 7/3 0 -2/3 1



Llevando lo anterior a la tabla, tenemos:

c
j
-5 2 -3 0 0 0
Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6

A
4
2 0 8/3 -5/3 1 -2/3 0
A
1
1 1 -1/3 1/3 0 1/3 0
A
6
3 0 5/3 7/3 0 -2/3 1


Investigacin Operativa


50


Segunda tabla

c
j
-5 2 -3 0 0 0
Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6
u
3

A
4
0 2 0 8/3 -5/3 1 -2/3 0 -
A
1
-5 1 1 -1/3 1/3 0 1/3 0 3
A
6
0 3 0 5/3 7/3 0 -2/3 1 9/7
z, z
j
, u
j
-5 -5 5/3 -5/3 0 -5/3 0 9/7
z
j
-c
j
0 -1/3 4/3 0 -5/3 0
u
j
(z
j
-c
j
) - 12/7 - - -

Entra A
3
y sale A
6
.

Tercera tabla
c
j
-5 2 -3 0 0 0
Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6

A
4
0 29/7=4.1448 0 22/7 0 1 -8/7 5/7
A
1
-5 4/7=0.5714 1 -4/7 0 0 3/7 -1/7
A
3
-3 9/7=1.2857 0 5/7 1 0 -2/7 3/7
z, z
j
, u
j
-47/7=-6.7142 -5 5/7 -3 0 -9/7 -4/7
z
j
-c
j
0 -9/7 0 0 -9/7 -4/7
u
j
(z
j
-c
j
) - - - - -

Observando la tabla tenemos (z
j
- c
j
) s 0, j (j=1, 2, ..., n), por lo que hemos
llegado a la etapa final. Para buscar la solucin dentro de la tabla miramos la
columna b y encontramos:

x
1
=4/7=0.5714, x
2
=0 (no aparece), x
3
=9/7=1.2857, z = -6.7142

El vrtice final obtenido es X=(4/7, 0, 9/7, 29/7, 0, 0)
T
. La solucin mediante
la matriz inversa asociada a la tabla del simplex, B
-1
la podemos encontrar
directamente en la ltima tabla del simplex observando los vectores
correspondientes a los de la base inicial, en este caso a los vectores A
4
, A
5
y A
6

de la tabla:

=
1
B {A
4
, A
5
, A
6
}=
|
|
|
.
|

\
|

7 / 3 7 / 2 0
7 / 1 7 / 3 0
7 / 5 7 / 8 1


Programacin Lineal 51


= =

o
X b B
1
=
|
|
|
.
|

\
|
=
|
|
|
.
|

\
|
|
|
|
.
|

\
|

7 / 9
7 / 4
7 / 29
5
3
4
7 / 3 7 / 2 0
7 / 1 7 / 3 0
7 / 5 7 / 8 1


y la matriz B se obtiene de la primera tabla mirando la base que figura en la
ltima tabla del simplex, A
4
, A
1
y A
3
:

B {A
4
, A
1
, A
3
}=
|
|
|
.
|

\
|
3 2 0
1 3 0
1 2 1

Si resolvemos el ejercicio anterior con el programa LINDO, tenemos:

Min -5x1+2x2-3x3
st
2x1+2x2-x3 <= 4
3x1- x2+x3 <= 3
2x1+x2+3x3 <=5

LP OPTIMUM FOUND AT STEP 2

OBJECTIVE FUNCTION VALUE

1) -6.714286

VARIABLE VALUE REDUCED COST
X1 0.571429 0.000000
X2 0.000000 1.285714
X3 1.285714 0.000000


ROW SLACK OR SURPLUS DUAL PRICES
2) 4.142857 0.000000
3) 0.000000 1.285714
4) 0.000000 0.571429

THE TABLEAU

ROW (BASIS) X1(A ) X2(A ) X3(A ) SLK 2(A ) SLK 3(A )
1 2 3 4 5
1 ART 0.000 1.286 0.000 0.000 1.286
2 SLK 2(A
4
) 0.000 3.857 0.000 1.000 -1.143
3 X1(A
1
) 1.000 -0.571 0.000 0.000 0.429
4 X3(A
3
) 0.000 0.714 1.000 0.000 -0.286


ROW SLK 4(A
6
)
1 0.571 6.714
2 0.714 4.143
3 -0.143 0.571
Investigacin Operativa


52
=
1
4 0.429 1.286

Operando de la misma forma para obtener las matrices:

{A
4
, A
5
, A
6
}=
|
|
|
.
|

\
|

7 / 3 7 / 2 0
7 / 1 7 / 3 0
7 / 5 7 / 8 1
B

= B {A
4
, A
1
, A
3
}=
|
|
|
.
|

\
|
3 2 0
1 3 0
1 2 1


Ejercicio 2. Considere el problema siguiente:

Max z= 5x
1
+2x
2
+3x
3

st
x
1
+5x
2
+2x
3
sb
1

x
1
-5x
2
-6x
3
s b
2

x
i
> 0 (i=1, 2, 3)

Para ciertos valores de los recursos, la solucin es:

c
j
-5 -2 c
3
0 0
Base c
B
b A
1
A
2
A
3
A
4
A
5

A
1
-5 30 1 b 2 1 0
A
5
0 10 0 c -8 -1 1
z
j
-c
j
-150 0 a -7 d e


Calcule:
a) Los recursos.
b) Los valores de: a, b, c, d, e, c
3
.

Solucin:

Tabla 1
c
j
-5 -2 -3 0 0
Base c
B
b A
1
A
2
A
3
A
4
A
5

A
4
0 b
1
1 5 2 1 0
A
5
0 b
2
1 -5 -6 0 1
z, z
j
-c
j
0 5 2 3 0 0
Programacin Lineal 53




Tabla 2
Por la informacin que nos proporciona la tabla del enunciado, sale de la
base A
4
y entra A
1


c
j
-5 -2 -3 0 0
Base C
B
b A
1
A
2
A
3
A
4
A
5

A
1
-5 b
1
1 5 2 1 0
A
5
0 b
2
- b
1
0 -10 -8 -1 1
z, z
j
-c
j
-150 0 -23 -7 -5 0


Identificando, tenemos:
a) b
1
= 30, b
2
- b
1
=10, b
2
= 40,
b) a= -23, b = 5, c= -10, d= -5, e= 0, c
3
= -3


2.8. Determinacin de una base inicial
Hemos supuesto en el mtodo del simplex que partamos de una primera
solucin extrema a la cual tenamos asociada una base cannica. Veamos como
siempre es posible conseguir esto.
Si al introducir las variables de holgura necesarias para escribir el problema
en forma estndar ya tenemos la base cannica, podremos aplicar directamente
el mtodo del simplex.
En la mayora de los casos la situacin anterior no se producir, por lo que
tendremos que recurrir a mtodos que nos conduzcan a l. Para conseguir partir
de una base cannica, para iniciar el mtodo simplex, necesitaremos de lo que se
conoce como variables artificiales. stas construyen un problema artificial ms
conveniente desde el punto de vista del mtodo simplex.
Es oportuno resaltar la diferencia entre variables de holgura y variables
artificiales. Las primeras se introducen para convertir desigualdades en
igualdades, mientras que las variables artificiales se introducen para facilitar el
comienzo del mtodo simplex.
La base cannica inicial la configuraremos con las variables de holgura ms
las variables artificiales necesarias hasta tener esa base cannica.

Veamos, a continuacin, un mtodo que nos ayude a resolver los problemas
que contengan variables artificiales.


Investigacin Operativa


54
2.8.1. Mtodo de la M o de Penalizacin
En este mtodo la funcin objetivo se modifica para que imponga una
penalizacin muy grande sobre las variables artificiales en el caso de que
adquieran valores mayores que cero. Las iteraciones del mtodo simplex
automticamente fuerzan a las variables artificiales a desaparecer (a volverse
cero) una a una, hasta que todas quedan fuera de la solucin.
Consideremos el siguiente problema de programacin lineal planteado en su
forma estndar:

Min z = c
T
X
st
AX = b
X > 0
Aadimos en las restricciones las variables artificiales necesarias para tener
en la primera tabla del simplex una base cannica, con lo cual tenemos el
sistema siguiente:

AX + I X
a
= b
X > 0, X
a
> 0

Tenemos como solucin inicial: X
a
=b, X=0

Debemos buscar la forma de hacer salir las variables artificiales, es decir, las
X
a
, y que entren las otras variables. Para ello les asociamos un valor muy grande
M ( no es necesario especificar el valor de M) en la funcin objetivo.


Min z = c
T
X + M 1
T
X
a

st
AX + I X
a
=b
X > 0, X
a
> 0

En la resolucin del problema por este mtodo, pueden presentarse los casos
siguientes:
a) Tengamos solucin finita:

i) Que el problema admita una solucin ptima, con todas las variables
artificiales iguales a cero, X
a
= 0, entonces la solucin obtenida es nica
y ptima.
Programacin Lineal 55


ii) Que el problema admita una solucin ptima en la cual encontraremos al
menos una variable artificial distinta de cero, X
a
= 0, entonces el
problema original es imposible, no tenemos solucin.
b) Tengamos solucin no finita:

iii) Con todas las variables artificiales iguales a cero, X
a
= 0, en este caso
tenemos una solucin no finita.
iv) Exista al menos una variable artificial que sea positiva, entonces el
problema original es imposible.

Consideremos el siguiente problema:
Max z = x
1
+6x
2
-4x
3

st
x
1
+2x
2
-x
3
=20
2x
1
+ x
2
+x
3
s 40
2x
1
+ x
2
+4x
3
> 55
x
i
> 0 (i=1, 2, 3)

Como explicamos anteriormente, para resolver este problema, debemos
construir un problema artificial que tiene, en caso de que exista, la misma
solucin ptima que el problema real.

Min z = - x
1
-6x
2
+ 4x
3
+ 0 x
4
+ 0 x
5
+ M x
6
+ M x
7

st
x
1
+2x
2
-x
3
+ x
6
=20
2x
1
+ x
2
+x
3
+ x
4
= 40
2x
1
+ x
2
+4x
3
x
5
+ x
7
= 55
x
i
> 0 (i=1, 2, ..., 7)



Primera tabla
Se llevan a la tabla los datos del problema artificial y se comienza a operar
de acuerdo con el algoritmo del simplex:

c
j
-1 -6 4 0 0 M M
Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6
A
7
u
A
6
M 20 1 2 -1 0 0 1 0 10
A
4
0 40 2 1 1 1 0 0 0 40
A
7
M 55 2 1 4 0 -1 0 1 55
z, z
j
, u
j
75M 3M 3M 3M 0 -M M M
z
j
-c
j
3M+1 3M+6 3M-4 0 -M 0 0
u
j
(z
j
-c
j
)
30M+60
Investigacin Operativa


56

A los valores que hayan resultado ser (z
j
-c
j
) >0, en nuestro caso se da para
varios j, elegimos la de mayor diferencia y aplicamos el criterio

u
j
=

> 0 / min
ij
ij
i
i
x
o
o


y buscando que u
j
(z
j
-c
j
) sea positivo y mximo, tenemos que entra A
2
y sale A
6
,
que, por corresponder a una variable artificial, ya nunca ms volver a entrar.
El vector entrante en la base formar parte de la base cannica de manera
que el elemento pivote, en nuestro caso el 2, que se genera en el cruce del vector
que entra y el vector que sale, deber valer uno y el resto cero.
Este proceso se repite de forma iterativa hasta que se verifique (z
j
- c
j
) s 0,
j (j=1, 2, ..., n).



Segunda tabla

c
j
-1 -6 4 0 0 M M
Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6
A
7
u
A
2
-6 10 1/2 1 -1/2 0 0 - 0 -
A
4
0 30 3/2 0 3/2 1 0 - 0 20
A
7
M 45 3/2 0 9/2 0 -1 - 1 10
z, z
j
, u
j
45M-60 3M/2-3 -6 3M 0 -M - M
z
j
-c
j
3M/2-2 0 9M/2-1 0 -M - 0
u
j
(z
j
-c
j
)
45M+10

Entra A
3
y sale A
7
, que, por corresponder a una variable artificial, ya nunca
ms volver a entrar.

Tercera tabla

c
j
-1 -6 4 0 0 M M
Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6
A
7

A
2
-6 15 2/3 1 0 0 -1/9 - -
A
4
0 15 1 0 0 1 1/3 - -
A
3
4 10 1/3 0 1 0 -2/9 - -
z, z
j
, u
j
-50 -8/3 -6 0 0 -2/9 - -
z
j
-c
j
-5/3 0 0 0 -2/9 - -

Observando la tabla tenemos (z
j
- c
j
) s 0, j (j=1, 2, ..., n), por lo que hemos
llegado a la etapa final. Para buscar la solucin dentro de la tabla miramos la
columna b y encontramos:
Programacin Lineal 57



x
1
= 0, x
2
=15, x
3
= 10, x
4
=15, x
5
= 0, z = -50

Luego, la solucin del problema original planteado (maximizacin) es:

x
1
= 0, x
2
=15, x
3
= 10, z = 50



2.8.2 Mtodo de las dos fases

Supongamos un problema planteado en su forma estndar

Min z = c
T
X
st
AX = b
X > 0

Aadimos en las restricciones las variables artificiales, X
a
, necesarias para
tener en la primera tabla del simplex una base cannica, con lo cual tenemos el
sistema siguiente:

AX + I X
a
=b
X > 0, X
a
> 0

Su resolucin se abordar en dos fases:

Fase I:
Esta primera fase consiste en resolver previamente el problema siguiente:

Min z = 1
T
X
a

st
AX + I X
a
=b
X > 0, X
a
> 0

Si el problema original tienen solucin factible, el mnimo del problema
anterior se alcanzar cuando las variables artificiales X
a
=0 y z=0.

Fase II:
En esta segunda fase, resolveremos el problema original planteado utilizando
la ltima matriz obtenida en la Fase I y por tanto dicha base.

Consideremos el siguiente problema:
Investigacin Operativa


58
Min z = x
1
- 2x
2

st
x
1
+x
2
> 2
-x
1
+x
2
> 1
x
2
s 3
x
1
> 0 , x
2
> 0

Vamos a resolverlo por el mtodo de las dos fases. El problema con las
variables de exceso , holgura y artificiales y la funcin objetivo de la primera
fase (la funcin objetivo del enunciado se optimiza en la segunda fase) es :

Min z = a
1
+a
2

st
x
1
+x
2
- h
1
+ a
1
=2
- x
1
+x
2
-h
2
+ a
2
=1
x
2
+ h
3
=3

pasamos a la tabla los datos y operamos segn el algoritmo del simplex,
tenemos:
Primera tabla

c
j
0 0 0 1 0 1 0
Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6
A
7 u
1
A
4
1 2 1 1 -1 1 0 0 0 2
A
6
1 1 -1 1 0 0 -1 1 0 1
A
7
0 3 0 1 0 0 0 0 1 3
z z
j
u
j

3 0 2 -1 1 -1 1 0 1
z
j
-c
j
0 2 -1 0 -1 0 0


Segunda tabla

c
j
0 0 0 1 0 1 0
Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6
A
7 u
A1
u
A5

A
4
1 1 2 0 -1 1 1 - 0 1 /2 1
A
2
0 1 -1 1 0 0 -1 - 0 - -
A
7
0 2 1 0 0 0 1 - 1 2 2
z z
j
u
j

1 2 0 -1 1 1 - 0 1/2 1
z
j
-c
j
2 0 -1 0 1 -2 0

u
j
(z
j
-c
j
)
1 - - - 1

Solucin de la tabla, h
3
=2, a
1
=1, x
2
=1, z=1, al ser la funcin objetivo de
minimizar y tener z
j
-c
j
positivos la solucin no es ptima. Para los z
j
-c
j
>0
Programacin Lineal 59


calculamos u
j
, y el valor mximo de u
j
(z
j
-c
j
) se alcanza en x
1
y en h
2
, tomamos
x
1
por tener mayor z
j
-c
j
, ser la nueva variable bsica, siendo a
1
la fila donde se
alcanza el valor mnimo de u
j
y por lo tanto la variable que deja de ser variable
bsica, la cual no volver a entrar en la base y por lo tanto se puede eliminar de
la tabla, con lo cual terminamos la primera fase al obtener en la prxima tabla
z=0 con a
1
=0, a
2
=0.
Introducimos entonces la funcin objetivo original min z=x
1
-2x
2
y
continuamos con el algoritmo del simplex:

Tercera tabla

c
j
1 -2 0 0 0
Base c
B
b A
1
A
2
A
3
A
5
A
7 u
A3
u
A5

A
1
1 1 /2 1 0 -1/2 1 /2 0 - 1
A
2
-2 3/2 0 1 -1/2 -1/2 0 - -
A
7
0 3/2 0 0 1/2 1/2 1 3 3
z z
j
u
j

-5/2 1 -2 1/2 3/2 0 3 1
z
j
-c
j
0 0 1/2 3/2 0

u
j
(z
j
-c
j
)
- - 3/2 3/2 -

Cuarta tabla

c
j
1 -2 0 0 0
Base c
B
b A
1
A
2
A
3
A
5
A
7 u
A3
A
5
0 1 2 0 -1 1 0 -
A
2
-2 2 1 1 -1 0 0 -
A
7
0 1 -1 0 1 0 1 1
z z
j u
j
-4 -2 -2 2 0 0
z
j
-c
j
-1 0 2 0 0

Solucin de la tabla, h
2
=1, x
2
=2 h
3
=1, z=-4, la solucin no es ptima. Para
los z
j
-c
j
>0 calculamos u
j
, h
1
ser la nueva variable bsica, siendo h
3
la fila
donde se alcanza el valor mnimo de u
j
y por lo tanto la variable que deja de ser
variable bsica.
c
j
1 -2 0 0 0
Base c
B
b A
1
A
2
A
3
A
5
A
7
A
5
0 2 1 0 0 1 1
A
2
-2 3 0 1 0 0 1
A
3
0 1 -1 0 1 0 1
z z
j u
j
-6 0 -2 0 0 -2
z
j
-c
j
-1 0 0 0 -2

El punto extremo es X
1
=(0, 3, 0, 0, 0, 0)
T
, z=-6.
Investigacin Operativa


60

2.9. Soluciones mltiples
Cualquier problema de Programacin Lineal con soluciones ptimas
mltiples (y una regin factible acotada) tiene al menos dos soluciones factibles
en los vrtices que son ptimas. Toda solucin ptima es una combinacin lineal
convexa de las soluciones factibles bsicas ptimas.
El mtodo simplex se detiene automticamente al encontrar una solucin
factible bsica ptima. Una vez que el mtodo simplex encuentra una solucin
factible bsica ptima, se puede detectar si existen otras y, si es as, se encuentra
observando si tengo algn vector j, tal que no pertenece a la base, pero que
cumple (z
j
- c
j
)= 0, esto nos indicar que existe multiplicidad de ptimos.
Supongamos que ya hemos encontrado una solucin ptima (mnima) de un
problema y que se verifica (z
j
- c
j
) s 0, j.



La funcin objetivo es: z = z - u
j
(z
j
- c
j
) = z

no hemos mejorado la solucin anterior.
Repitiendo este proceso para cada una de las j que no pertenecen a la base
y verifican (z
j
- c
j
)= 0, obtendramos todos los vrtices que son soluciones
ptimas. Tomando una combinacin lineal convexa de ellas, tambin sera
solucin ptima, por lo cual el problema tiene infinitas soluciones.
Compruebe, mediante el mtodo simplex, que el problema siguiente presenta
dos puntos extremos.

Min z = x
1
-2x
2
+3x
3

st
x
1
- x
2
+x
3
+ 2x
4
=10
x
2
- x
3
s 1
x
2
+ 2x
4
s 8
x
i
> 0 (i=1, 2, ..., 6)

Los puntos extremos son: X
1
=(2, 0, 0, 4, 1, 0)
T
, X
2
=(4, 1, 0, 7/2, 0, 0)
T

as como toda combinacin convexa de dichos puntos.


2.10. Soluciones degeneradas
Al desarrollar el algoritmo del simplex supusimos que las soluciones eran
siempre no degeneradas, de manera que, en un nmero finito de iteraciones
llegbamos a la solucin ptima.
Programacin Lineal 61


Ahora bien, si al calcular el valor de u
j
=

> 0 / min
ij
ij
i
i
x
o
o
existen varios i
tal que minimizan
ij
i
x
o
, no se podra hacer salir a la vez a todos ellos. Se podra
elegir uno cualquiera y, entonces, en el nuevo punto extremo al que se pasan
todas las coordenadas de X para las cuales se alcanza ese mnimo seran nulas,
es decir, estaramos en un punto extremo que tiene menos de m coordenadas
positivas, esto es, un punto extremo degenerado.
Se identifica en la tabla simplex porque al menos una variable bsica tiene
valor cero en la columna de solucin. Este caso se presenta cuando se valora una
solucin bsica no nica, la cual se tiene con al menos una variable bsica de
valor cero en el sistema de m restricciones, alguna de ellas debe ser restriccin
redundante que contiene slo un punto vrtice del conjunto factible.


2.11. El mtodo del simplex revisado

Un procedimiento ms eficiente que el simplex en su versin matricial es el
llamado simplex revisado.
Consideremos el siguiente problema de programacin lineal:

Min z = c
T
X
st
AX = b
X > 0

donde A es una matriz de orden mxn y sea rang (A, b) = rang (A) = m.
Denotemos por A
i
la columna i-sima de la matriz A y supongamos que los
m vectores linealmente independientes son los m primeros A
1
, A
2
,, A
m
, la
matriz B= (A
1
, A
2
,, A
m
) es la matriz bsica.
Descomponiendo la matriz A de forma que A=(B, N)
donde B
mxm
es la matriz bsica y N
(mx(n-m))
, la matriz no bsica (los A
i
que no son
de la base).
Cualquier solucin bsica es de la forma X=
|
|
.
|

\
|
N
B
X
X
donde X
N
= 0 y BX
B
= b

Si X
B
es una solucin factible bsica, X
B
= (x
1
, x
2
,, x
m
, 0, ..., 0)
T
, tenemos

BX
B
= b, X
B
= B
-1
b

Investigacin Operativa


62
y puesto que
A
j
= o
1 j
A
1
+ o
2 j
A
2
+ + o
m j
A
m
= o
i j
A
i

=
m
1 i
esto es

A
j
= BX
j
,

X
j
= (o
1 j
, o
2 j
, , o
m j
)
T
, X
j
= B
-1
A
j





El valor de la funcin objetivo en ese punto es

z = c
B
T
X
B
= c
B
T
B
-1
b

y los valores de
z
j
= c
1
o
1 j
+ c
2
o
2 j
+ + c
m
o
m j
=

c
i
o
i j

=
m
1 i
z
j
=

c
i
o
i j
= c
B
T
X
j
= c
B
T
B
-1
A
j
=
T
A
j

=
m
1 i

Donde
T
= c
B
T
B
-1
, al vector columna
mx1
se le denomina vector de
multiplicadores del simplex asociado a la base B.
Veamos el ejercicio siguiente. Dada la tabla ptima del Simplex:

c
j

Base c
B
b A
1
A
2
A
3
A
4
A
5
A
6
A
1
0.75 1 0 0 0.5 -0.5 -
A
3
1.75 0 0 1 0.5 0.5 -
A
2
3.25 0 1 0 -0.5 1.5 -
z z
j
-4.75 -2 -1 0 -0.5 -0.5 -
z
j
-c
j
0 0 0 -0.5 -0.5

a) Haciendo uso de la matriz bsica y/o de su inversa formule el problema de
programacin lineal que corresponde a la tabla anterior, si se sabe que la primera
restriccin es (>) y el resto (s). Escriba la solucin en el recuadro adjunto.

Ayuda: Max z=
|
|
|
.
|

\
|
=
1 0
1 0
1 1
31
21
11
b
b
b
B

st

b) Formule el problema Dual y de la solucin sin hacer operaciones.
Programacin Lineal 63


Solucin:
a) La matriz inversa se obtiene directamente de la tabla:

B
-1
= , (B
-1
)
-1
=B=
|
|
|
.
|

\
|


5 . 1 5 . 0 0
5 . 0 5 . 0 1
5 . 0 5 . 0 0
|
|
|
.
|

\
|
1 0 1
1 0 3
1 1 2

A continuacin se calculan los vectores A
j
(j=1, 2, 3):

A
j
=B

X
j
= para j=1
|
|
|
.
|

\
|
=
|
|
|
.
|

\
|
|
|
|
.
|

\
|
1
3
2
0
0
1
1 0 1
1 0 3
1 1 2
A
2
=B

X
2
=
|
|
|
.
|

\
|
=
|
|
|
.
|

\
|
|
|
|
.
|

\
|
1
1
1
1
0
0
1 0 1
1 0 3
1 1 2
B

X=b=
|
|
|
.
|

\
|
=
|
|
|
.
|

\
|
|
|
|
.
|

\
|
4
5 . 5
3
25 . 3
75 . 1
75 . 0
1 0 1
1 0 3
1 1 2

La formulacin del problema sera:

Max z= 2x
1
+ x
2

st
2 x
1
+ x
2
> 3
3x
1
+x
2
s 5.5
x
1
+x
2
s 4
x
1
, x
2
> 0



b) Operando con el vector de multiplicadores del simplex asociado a la base B,
tenemos: c
T
=
T
B=(0 0.5 0.5) ) 1 0 2 (
1 0 1
1 0 3
1 1 2
=
|
|
|
.
|

\
|



Investigacin Operativa


64
2.11.1. Determinacin de la inversa. Forma producto de la inversa
Sea B una base y B
-1
su inversa, si realizamos un cambio de base a la base
B
1
, podemos conocer B
1
-1
en trminos de B
-1
.
En efecto, sea B= (A
1
, A
2
, A
r-1
, A
r
, A
r+1
,, A
m
) y supongamos que al
realizar el cambio de base introducimos el vector A
j
y sale A
r

B
1
= (A
1
, A
2
, A
r-1
, A
j
, A
r+1
,, A
m
), X
j
= B
-1
A
j
, B
-1
B
1
= R




donde R es la matriz identidad reemplazando la r-sima columna por el vector
columna X
j
; esto es:
R=
|
|
|
|
|
.
|

\
|
1 ... ... 0 0
.. .......... ..........
0 ... ... 1 0
0 ... ... 0 1
2
1
mj
j
j
o
o
o
La inversa de R la denotamos por E y viene dada por
E=R
-1
=
|
|
|
|
|
|
|
|
.
|

\
|

1 ... / ... 0 0
.. .......... ..........
0 .. .. / 1 ... 0 0
. .......... .......... ..........
0 ... / ... 1 0
0 ... / ... 0 1
2
1
rj mj
rj
rj j
rj j
o o
o
o o
o o

Entonces B
1
-1
= R
-1
B
-1
= E B
-1
, a la matriz E

se la denomina matriz elemental.
Cuando comenzbamos el mtodo del simplex, tombamos la base cannica,
es decir, B
1
=I, B
1
-1
= I y X
B
= b.
Siguiendo un proceso iterativo, tenemos:

B
2
-1
= E
1
B
1
-1
= E
1
I= E
1


B
3
-1
= E
2
B
2
-1
= E
2
E
1


y, en general la inversa de la base de la k-sima iteracin se obtiene

B
k
-1
= E
k-1
E
k-2
. E
2
E
1


Programacin Lineal 65


que expresa la inversa como producto de matrices elementales. A dicha
expresin se la conoce como forma producto de la inversa.


2.11.2. Etapas del mtodo del simplex revisado

Toda la informacin necesaria para aplicar el mtodo del simplex se puede
escribir en una tabla:

T
= c
B
T
B
-1
z = c
B
T
B
-1
b z
j
- c
j
=
T
A
j
- c
j
. z
j
-c
j
=c
B
T
E
k-1
E
k-2
. E
2
E
1
A
j
-c
j
B
-1
X
B
= B
-1
b X
j
= B
-1
A
j
. X
j
= E
k-1
E
k-2
. E
2
E
1
A
j

La ltima columna representa la situacin en la k-sima iteracin. En cada
iteracin hay que controlar si todos los (z
j
- c
j
) s 0 j, en cuyo caso ya
tendramos la solucin ptima. Si para algn (z
j
- c
j
) > 0 y X
j
s 0, la funcin
objetivo no tendra solucin finita.


2.12. Resolucin mediante programa de ordenador
1. Si el programa requiere que todas las variables sean no negativas, se
pondrn de manera que cumplan esta condicin. Las modificaciones deben
ser hechas antes de introducir los datos en el programa.
2. Todas las variables de las restricciones deben aparecer en el primer
miembro, en tanto que todos los trminos constantes (recursos) aparecern a
la derecha.
3. En la columna de variables de holgura (SLACK OR SURPLUS) vienen los
resultados de esas variables (por restriccin), las de valor cero indicarn que
el recurso se ha consumido en su totalidad.
El nmero de variables positivas (decisin + holgura) al finalizar el Simplex
debe ser igual al nmero de restricciones, de lo contrario el problema es
degenerado.
Hay que hacer notar que la presentacin de la salida depende del programa
utilizado. Nosotros, mientras no se diga lo contrario, utilizaremos el programa
LINDO (L = Linear IN = Interactive D = Discrete O = Optimizer).
Utilizando el programa LINDO para resolver el ejercicio 1, tenemos:
Min z = 5x
1
+2x
2
-3x
3

st
2x
1
+2x
2
-x
3
s4
3x
1
- x
2
+x
3
s3
2x
1
+x
2
+3x
3
s5
x
i
> 0 (i=1, 2, 3)

Investigacin Operativa


66
LP OPTIMUM FOUND AT STEP 2

OBJECTIVE FUNCTION VALUE

1) -6.714286

VARIABLE VALUE REDUCED COST
X1 0.571429 0.000000
X2 0.000000 1.285714
X3 1.285714 0.000000


ROW SLACK OR SURPLUS DUAL PRICES
2) 4.142857 0.000000
3) 0.000000 1.285714
4) 0.000000 0.571429

NO. ITERATIONS= 2


THE TABLEAU

ROW (BASIS) X1 X2 X3 SLK 2 SLK 3
1 ART 0.000 1.286 0.000 0.000 1.286
2 SLK 2 0.000 3.857 0.000 1.000 -1.143
3 X1 1.000 -0.571 0.000 0.000 0.429
4 X3 0.000 0.714 1.000 0.000 -0.286


ROW SLK 4
1 0.571 6.714
2 0.714 4.143
3 -0.143 0.571
4 0.429 1.286
Observando la salida del programa, el resultado es:
z = -6.714286; x
1
= 4/7=0.5714, x
2
=0 (no aparece), x
3
=9/7=1.2857

Que coincide con el obtenido mediante el algoritmo del simplex.