Está en la página 1de 86

PROGRAMACI

ON MATEM

ATICA
Apuntes de Teora
C. IVORRA
Curso 2009-2010

Indice
1 Introduccion a la optimizacion 1
2 Programacion no lineal 17
3 Programacion lineal entera 35
4 Introduccion a la programacion lineal 40
5 El metodo smplex 49
6 Dualidad en programacion lineal 66
7 Postoptimizacion y analisis de sensibilidad 77
i
Tema 1
Introducci on a la optimizaci on
1.1 Conceptos basicos
A modo de primera aproximaci on, podemos decir que el objetivo de esta asignatura es resolver (ciertas
clases de) problemas en los que se busca la mejor decision posible entre un conjunto de alternativas. Antes
de precisar debidamente esta idea, veamos un ejemplo muy simple que nos permita ilustrar los conceptos
que vamos a introducir:
Problema: Una empresa desea planicar su producci on diaria de dos artculos A y B. La empresa
puede disponer de un m aximo de 12 horas diarias de mano de obra. Cada unidad de A requiere 3 horas,
mientras que cada unidad de B requiere 2. Por otro lado, la producci on requiere un input I del que la
empresa puede disponer como m aximo de 10 unidades diarias. Cada unidad de A requiere una unidad de
I, mientras que cada unidad de B requiere 2 unidades de I. Cu al es la m axima producci on diaria que
puede conseguir la empresa?, que cantidad debe producir para ello de cada artculo?
El primer paso para abordar un problema como este es modelizarlo, es decir, expresarlo en terminos
matematicos precisos. Para ello, llamamos x
1
a la cantidad diaria producida de A y x
2
a la cantidad
diaria producida de B. El problema es encontrar los mejores valores posibles para x
1
y x
2
.
Ahora observamos que una producci on diaria (x
1
, x
2
) requiere 3x
1
+ 2x
2
horas diarias de mano de
obra, as como una cantidad x
1
+ 2x
2
del input I. Por lo tanto s olo nos valdr an las soluciones (x
1
, x
2
)
que satisfagan 3x
1
+ 2x
2
12 y x
1
+ 2x
2
10. Hay otra condici on implcita en el enunciado que es
fundamental explicitar: la producci on no puede ser negativa, luego x
1
0, x
2
0.
Hay innitas producciones posibles (x
1
, x
2
) que satisfacen todos estos requisitos. El problema es
encontrar la mejor, es decir, la que hace que la producci on total x
1
+ x
2
sea maxima. La formulaci on
matematica del problema es la siguiente:
Max. x
1
+x
2
s.a. 3x
1
+ 2x
2
12
x
1
+ 2x
2
10
x
1
, x
2
0
Se lee: Maximizar (la funci on) x
1
+x
2
sujeta a (las restricciones) 3x
1
+ 2x
2
12, etc.
Modelos y sus elementos Cualquier problema formulado en los terminos anteriores recibe el nombre
de problema, programa o modelo de programaci on matematica. M as precisamente, para determinar un
modelo de programaci on matematica hemos de especicar:
1
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 2
Las variables principales del modelo, que son las variables para las que queremos encontrar el mejor
valor posible.
En el problema anterior, las variables principales son x
1
y x
2
. Cuando trabajemos en general las
variables principales ser an x
1
, . . . , x
n
, es decir, salvo que convengamos otra cosa en un momento
dado, la letra n representar a siempre el n umero de variables principales de un modelo. En casos
concretos, en lugar de x
1
, x
2
, x
3
podremos escribir tambien x, y, z, o usar las letras que consideremos
mas apropiadas por cuestiones de claridad.
Las restricciones, que son las condiciones que hemos de imponer a las variables para que una
soluci on sea admisible como tal. El problema anterior tiene cuatro restricciones:
3x
1
+ 2x
2
12, x
1
+ 2x
2
10, x
1
0, x
2
0.
En general consideraremos tres tipos de restricciones: restricciones de menor o igual: g( x) b,
restricciones de mayor o igual: g( x) b y restricciones de igualdad: g( x) = b, donde g : R
n
R
y b R. Cuando trabajemos en general, las restricciones seran de la forma g
i
( x) b
i
(o bien
o bien =), para i = 1, . . . , m, es decir, las funciones que determinan las restricciones se llamaran
siempre g
i
, los terminos independientes se llamar an siempre b
i
y el n umero de restricciones sera
siempre m, salvo por la siguiente excepci on: las restricciones x
i
0 se llaman condiciones de no
negatividad, y en algunos contextos conviene tratarlas separadamente, de modo que en el problema
anterior puede decirse que hay dos restricciones (m = 2) m as las condiciones de no negatividad.
La funci on objetivo, que es la funci on f : R
n
R que queremos maximizar o minimizar. En el
problema anterior la funci on objetivo es f(x
1
, x
2
) = x
1
+ x
2
. Notemos que para determinar un
modelo no solo hemos de especicar una funci on objetivo, sino tambien si hay que maximizarla o
minimizarla. Cuando no queremos especicar si buscamos el maximo o el mnimo, hablamos de
optimizar la funci on objetivo. En un problema de maximizar, los optimos de la funci on objetivo
son sus maximos, mientras que en un problema de minimizar son sus mnimos.
En estos terminos podemos decir que resolver un problema de programaci on matematica es buscar
unos valores para las variables principales que cumplan las restricciones y donde la funci on objetivo
alcance su valor optimo.
1
El planteamiento general es
Opt. f( x)
s.a. g( x)

b,
donde f : R
n
R es la funci on objetivo, g : R
n
R
m
es una funci on vectorial cuyas m funciones
coordenadas g
1
, . . . , g
m
determinan las m restricciones y

b = (b
1
, . . . , b
m
) es el vector de terminos inde-
pendientes de las restricciones. Por simplicidad hemos supuesto que todas las restricciones son de , si
bien pronto veremos que esto no supone ninguna perdida de generalidad.
2
Clases de problemas Para resolver un problema de programaci on matematica hay que aplicar tecnicas
diferentes seg un sus caractersticas, por ello es muy importante ser capaz de reconocer si un problema
dado re une las caractersticas necesarias para que le podamos aplicar unas tecnicas determinadas. De
momento distinguiremos tres tipos de problemas, aunque m as adelante introduciremos un cuarto tipo
(los de programaci on lineal entera):
1
En realidad la programacion matematica aborda problemas mas generales que estos, por ejemplo, problemas que
consideran simultaneamente varias funciones objetivo, problemas en los que las funciones dependen del tiempo, etc., pero
no vamos a entrar en ello.
2
En realidad no es necesario exigir que el dominio de las funciones f y g sea todo R
n
, sino que podra ser un subconjunto
de R
n
sucientemente grande, pero la generalizacion no supone ning un cambio esencial, as que por comodidad supondremos
siempre que trabajamos con funciones denidas en R
n
.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 3
Programacion no lineal Todos los problemas que vamos a estudiar se engloban dentro de la progra-
maci on no lineal. En otras palabras, todos los problemas que vamos a estudiar se pueden resolver
mediante las tecnicas correspondientes a la programacion no lineal,
3
si bien para algunos de ellos
existen tecnicas mas adecuadas.
Programacion lineal Un problema es de programaci on lineal si tanto su funci on objetivo como sus
restricciones son lineales.
Para entender esto hemos de tener claro lo que es una funci on lineal:
Una funci on lineal es una funci on de la forma c
1
x
1
+ +c
n
x
n
, donde c
1
, . . . , c
n
son n umeros
reales, es decir, una funci on de la forma n umero variable+n umero variable +
No hay que confundir las funciones lineales con los polinomios, que forman una clase m as amplia
de funciones:
Un polinomio es una funci on determinada por una expresi on en la que las unicas operacio-
nes entre las variables son sumas, productos, productos por n umeros reales y potencias con
exponentes naturales.
Todas las funciones lineales son polinomios, pero el recproco es falso. Por ejemplo, 2x 5y es una
funci on lineal (y tambien un polinomio), mientras que xy + 3z es un polinomio, pero no es una
funci on lineal, pues hay dos variables multiplicadas. Lo mismo sucede con x
2
+y
2
, que no es lineal
porque la x aparece multiplicada por s misma. La funci on x/y no es un polinomio porque contiene
un cociente.
Programacion clasica Un problema es de programaci on cl asica si no tiene restricciones o bien tiene
unicamente restricciones de igualdad.
Consideremos por ejemplo el problema:
Max. x
1
+x
2
s.a. 3x
1
+ 2x
2
12
x
1
+ 2x
2
10
x
1
, x
2
0
Tenemos que:
Es de programaci on no lineal (todos los problemas que estamos considerando lo son).
Es de programaci on lineal (tanto la funci on objetivo como las restricciones son lineales).
No es de programacion cl asica (tiene restricciones de desigualdad).
Por otra parte, el problema
Max. x +y
s.a. x
2
+y
2
= 9
Es de programaci on no lineal (todos lo son).
No es de programacion lineal (la restricci on no es lineal).
Es de programaci on cl asica (la restriccion es de igualdad).
3
Excepto los de programacion entera, que introduciremos mas adelante.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 4
Clases de soluciones Para estudiar los problemas de programaci on matematica conviene clasicar
como sigue sus posibles soluciones:
Soluciones Una soluci on de un problema es cualquier valor posible para sus variables principales.
Soluciones factibles/infactibles Una soluci on factible de un problema es una soluci on que satisface
todas sus restricciones. En caso contrario se dice que es una solucion infactible.
El conjunto de oportunidades de un problema es el conjunto S formado por todas sus soluciones
factibles.
Notemos que si un problema no tiene restricciones entonces todas las soluciones son factibles, por
lo que el conjunto de oportunidades es S = R
n
.
Soluciones interiores/de frontera Una soluci on factible de un problema es una soluci on de frontera
si cumple alguna de las restricciones con igualdad (y en tal caso se dice que satura la restriccion, o
que la restriccion esta activa en dicha soluci on). En caso contrario, es decir, si la soluci on cumple
todas las restricciones con desigualdad estricta se dice que es una soluci on interior.
As pues, las soluciones pueden ser:
Soluciones
_

_
infactibles,
factibles
_
interiores,
de frontera.
Consideremos de nuevo el problema
Max. x
1
+x
2
s.a. 3x
1
+ 2x
2
12
x
1
+ 2x
2
10
x
1
, x
2
0
Su conjunto de oportunidades es
S = {(x
1
, x
2
) R
2
| 3x
1
+ 2x
2
12, x
1
+ 2x
2
10, x
1
0, x
2
0}.
Podemos representarlo gr acamente:
x
1
+ 2x
2
= 10
3x
1
+ 2x
2
= 12
x
2
= 0
x
1
= 0
S
Un ejemplo de soluci on es (x
1
, x
2
) = (4, 1). Se trata de una soluci on infactible, pues no verica la
restriccion 3x
1
+ 2x
2
12. Una soluci on factible es (1, 1). Concretamente es una solucion interior, pues
cumple todas las restricciones con desigualdad estricta. Una solucion de frontera es (x
1
, x
2
) = (0, 1), pues
satura la restricci on x
1
0.
Clases de optimos Es necesario introducir ciertas precisiones y distinciones en los conceptos de
maximo y mnimo de una funci on:
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 5
Denicion Consideremos una funci on objetivo f : R
n
R y un conjunto de oportunidades S R
n
.
Sea x

S.
Diremos que x

es un m aximo global no estricto de f en S si para todo x S se cumple f( x

) f( x),
es decir, si el valor f( x

) no es superado (aunque tal vez s igualado) por ninguna otra soluci on


factible.
Diremos que x

es un m aximo global estricto de f en S si para todo x S, x = x

se cumple
f( x

) > f( x), es decir, si el valor f( x

) es mejor que el valor de f en cualquier otra soluci on


factible.
Diremos que x

es un m aximo local no estricto de f en S si existe un > 0 tal que para todo x S


que cumpla x x

< se tiene f( x

) f( x), es decir, si el valor f( x

) no es superado (aunque
tal vez s igualado) por ninguna soluci on factible cercana a x

.
Diremos que x

es un m aximo local estricto de f en S si existe un > 0 tal que para todo x S,


x = x

que cumpla x x

< se tiene f( x

) > f( x), es decir, si el valor f( x

) es mejor que el
valor de f en cualquier otra soluci on factible cercana a x

.
Invirtiendo las desigualdades obtenemos las deniciones de mnimo local/global, estricto/no estricto.
Ahora podemos precisar que en un problema de programaci on matematica se buscan los optimos
globales (estrictos o no). La razon por la que introducimos el concepto de optimo local es que muchas
tecnicas para encontrar los optimos de un problema proporcionan indistintamente optimos locales o
globales, y luego es necesario determinar si los resultados obtenidos corresponden realmente a optimos
globales. Seg un esto:
Una soluci on optima de un problema de maximizar es un m aximo global (estricto o no) de la funci on
objetivo en el conjunto de oportunidades, mientras que una soluci on optima en un problema de minimizar
es un mnimo global (estricto o no) de la funci on objetivo en el conjunto de oportunidades.
En otros terminos, una soluci on optima es la mejor solucion factible, donde mejor hay que entenderlo
de forma diferente seg un el problema sea de maximizar o minimizar. Hay que recordar que un mnimo
global no es una soluci on optima de un problema de maximizar (mas bien sera una soluci on pesima), y
viceversa.
4
Es esencial no confundir los conceptos de soluci on, soluci on factible y soluci on optima.
Clases de problemas (seg un su soluci on) Un problema de programaci on matematica no tiene
necesariamente una solucion optima. Ahora bien, cuando no hay s oluci on optima ello puede deberse a
dos causas muy diferentes y que nunca debemos confundir. No debemos clasicar a los problemas en
problemas con optimo y problemas sin optimo, sino que hemos de distinguir siempre a cu al de los tres
tipos siguientes pertenece un problema dado:
Problemas con solucion optima Aqu hay que entender que nos referimos a problemas con soluci on
optima global.
Problemas infactibles Un problema infactible es un problema para el que todas las soluciones son
infactibles, es decir, tal que no existe ninguna soluci on que satisfaga las restricciones o, tambien,
un problema cuyo conjunto de oportunidades es vaco.
Problemas no acotados Un problema es no acotado si es factible pero no tiene solucion optima, es
decir, si toda soluci on factible puede ser mejorada por otra.
4
Habra que exceptuar el caso en el que la funcion objetivo es constante sobre el conjunto de oportunidades. Entonces
todas las soluciones factibles son a la vez maximos y mnimos globales. Puesto que este caso carece de cualquier interes, en
lo sucesivo siempre supondremos tacitamente que las funciones objetivo que consideramos no son constantes.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 6
En resumen, los problemas pueden ser:
Problemas
_

_
infactibles,
factibles
_
con optimo global,
sin optimo global (no acotados).
Clases de variables Conviene clasicar las variables de un problema en los tres tipos siguientes:
Variables no negativas Una variable no negativa es una variable x sometida a una restriccion la forma
x 0. Las restricciones de esta forma se llaman condiciones de no negatividad.
Variables no positivas Una variable no positiva es una variable x sometida a una restriccion de la
forma x 0. Las restricciones de la forma x 0 o x 0 se llaman condiciones de signo.
Variables libres Una variable libre es una variable no sometida a ninguna condici on de signo.
Por ejemplo, en el problema
Max. x + 3y z
2
s.a. x +y z 4
x 0, y 0
la variable x es no positiva, la variable y es no negativa y la variable z es libre.
M as en general, diremos que una variable x esta acotada superiormente si satisface una desigualdad
de la forma x c, donde c es un n umero real, es decir, si no puede tomar valores mayores que una cota
(superior) dada c. Se dice que x esta acotada inferiormente si satisface una desigualdad de la forma
c x, es decir, si no puede tomar valores menores que una cota (inferior) c. Las restricciones de la forma
x c o x c se llaman condiciones de acotacion.
1.2 Resoluci on graca
Los problemas de programaci on matematica con dos variables principales pueden resolverse gr acamente
si son sucientemente simples. En esta seccion consideraremos unicamente el caso en que la funci on ob-
jetivo es lineal. Como ejemplo consideramos una vez mas el problema
Max. x
1
+x
2
s.a. 3x
1
+ 2x
2
12
x
1
+ 2x
2
10
x
1
, x
2
0
El proceso para resolverlo gr acamente es el siguiente:
1. Comprobamos que la funci on objetivo f(x, y) = x
1
+ x
2
es lineal. En caso contrario no podemos
aplicar el metodo que vamos a ver.
2. Representamos el conjunto de oportunidades.
3. Calculamos el gradiente de la funci on objetivo f = (1, 1) y lo representamos gracamente.
4. Representamos la curva de nivel f = 0 de la funci on objetivo. Si la funci on objetivo es lineal ser a
siempre la recta perpendicular al vector gradiente.
5. Si la curva de nivel no pasara por el conjunto de oportunidades (en el ejemplo s que pasa) la
movemos paralelamente a s misma hasta que pase por S. As obtenemos otra curva de nivel v alida
para alguna soluci on factible.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 7
6. Ahora recordamos que el gradiente de la funci on objetivo indica hacia d onde aumenta la funci on,
mientras que la direcci on contraria indica hacia d onde disminuye. Por lo tanto, si estamos maximi-
zando desplazaremos la curva de nivel paralelamente a s misma en la direccion del gradiente. El
ultimo punto de S que toquemos sera la soluci on optima. Si el problema es de minimizar la unica
diferencia es que hemos de desplazar la curva de nivel en la direcci on opuesta al gradiente para
llegar al mnimo de f, en lugar de al m aximo.
7. Si el optimo encontrado satura al menos dos restricciones, podemos calcular sus coordenadas resol-
viendo el sistema de ecuaciones formado por ellas.
La gura muestra el conjunto S, el gradiente f, la curva de nivel f = 0, la curva de nivel optima y
la soluci on optima.
x
1
+ 2x
2
= 10
3x
1
+ 2x
2
= 12

Optimo
x
2
= 0
c.n. optima
x
1
= 0
f = 0
f
Para determinar las coordenadas de la soluci on optima que hemos encontrado basta observar en la
gura que satura las restricciones x
1
+ 2x
2
= 10 y 3x
1
+ 2x
2
= 12. Al resolver el sistema de ecuaciones
obtenemos que (x
1
, x
2
) = (1, 9/2).
1.3 Transformaciones de problemas
A veces es conveniente transformar un problema en otro equivalente en el sentido de que a partir de
la soluci on optima de uno puede calcularse f acilmente la solucion optima del otro.
Cambio del objetivo Un problema con objetivo Max. f( x) es equivalente al problema que tiene
las mismas restricciones pero su objetivo es Min. f( x). Del mismo modo podemos transformar un
problema de minimizar en otro de maximizar.
Por ejemplo, el problema
Max. x +y + 2
s.a. x
2
+y
2
50
puede transformarse en
Min. x y 2
s.a. x
2
+y
2
50.
La unica precauci on es que si estudiamos el segundo problema y obtenemos que un optimo viene dado
por (x, y) = (5, 5), entonces el valor optimo de la funci on objetivo (en el problema original) no es
5 5 2 = 12, sino 12.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 8
Eliminacion de una constante en la funcion objetivo Si la funci on objetivo es de la forma f( x)+k
y eliminamos la constante k, el problema que obtenemos tiene los mismos optimos.
Por ejemplo, el problema anterior equivale a
Max. x +y
s.a. x
2
+y
2
50.
Como en el caso anterior, si obtenemos que un optimo (de este problema) viene dado por (x, y) = (5, 5),
entonces el valor optimo de la funci on objetivo (del problema original) no es 5+5 = 10, sino 5+5+2 = 12.
Cambio de una desigualdad Una restriccion de se transforma en una de multiplicando sus dos
miembros por 1, y viceversa.
Por ejemplo, la restricci on x
2
+y
2
50 puede transformarse en x
2
y
2
50.
Igualdad por desigualdades Una restriccion de igualdad puede sustituirse por las dos restricciones
que resultan de cambiar el = por un y un .
Por ejemplo, el problema
Max. x +y
s.a. x
2
+y
2
= 9
es equivalente a
Max. x +y
s.a. x
2
+y
2
9
x
2
+y
2
9
Desigualdades por igualdades Tambien es posible transformar desigualdades en igualdades intro-
duciendo las llamadas variables de holgura. Es costumbre hacer la transformaci on de tal modo que las
variables de holgura sean siempre no negativas. As:
Para transformar una restricci on de en una igualdad se le suma una variable de holgura, mientras
que si es de se le resta una variable de holgura.
Por ejemplo, el problema
Max. x +y
s.a. x
2
+y
2
50,
x + 3y 1
equivale a
Max. x +y
s.a. x
2
+y
2
+s = 50,
x + 3y t = 1
s, t 0
donde s y t son variables de holgura.
NOTA: Observemos que al introducir una variable de holgura s no eliminamos completamente la
desigualdad, pues esta permanece en la condicion de signo s 0. Por este motivo nunca hemos de
introducir variables de holgura en las condiciones de signo, ya que con ello lo unico que hacemos es
complicar el problema sin ganar nada.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 9
Condiciones de signo Una variable sometida a una condici on x 0 puede convertirse en una variable
no negativa mediante el cambio x = x
1
, de modo que x 0 se sustituye por x
1
0.
Una variable libre x se puede sustituir por variables no negativas mediante el cambio x = x
1
x
2
,
x
1
0, x
2
0.
Por ejemplo, para convertir en no negativas las variables del problema
Max. x + 3y z
2
s.a. x +y z 4
x 0, y 0
hacemos x = x
1
, z = z
1
z
2
, con lo que obtenemos
Max. x
1
+ 3y (z
1
z
2
)
2
s.a. x
1
+y z
1
+z
2
4
x
1
, y, z
1
, z
2
0
Importante: Este problema es equivalente al dado en el sentido de que si obtenemos una soluci on
optima (x
1
, y, z
1
, z
2
) del problema transformado, entonces (x, y, z) = (x
1
, y, z
1
z
2
) sera una soluci on
optima del problema original.
5
Nunca hemos de olvidarnos de calcular los valores de las variables prin-
cipales del problema original deshaciendo los cambios que hayamos hecho para transformarlo en otro.
En vista de estas transformaciones, cualquier problema de programaci on matematica puede transfor-
marse en uno de la forma
Max. f( x)
s.a. g( x)

b,
o tambien
Min. f( x)
s.a. g( x)

b.
1.4 Teoremas basicos de la programaci on matematica
Enunciamos aqu dos teoremas que bajo ciertas condiciones garantizan que un problema de pro-
gramacion matematica tiene solucion optima.
Teorema de Weierstrass Una funci on objetivo continua sobre un conjunto de oportunidades compacto
no vaco tiene al menos un m aximo y un mnimo global.
Para entender este teorema necesitamos conocer la nocion de conjunto compacto. Para ello conside-
remos un conjunto S R
n
:
Se dice que S es cerrado si su complementario R
n
\ S es un conjunto abierto.
Un conjunto S R
n
esta acotado si y solo si todas las variables estan acotadas (tanto superior
como inferiormente) sobre los puntos de S.
Se dice que S es compacto si es cerrado y acotado.
En la pr actica nunca necesitaremos la denicion de conjunto cerrado, puesto que todos los conjuntos
de oportunidades que vamos a considerar ser an cerrados en virtud del teorema siguiente:
Teorema Todo conjunto S R
n
denido mediante restricciones de , , = con funciones continuas
es cerrado.
5
Notemos, no obstante, que cada optimo del problema original se corresponde con innitos optimos del problema trans-
formado.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 10
Ejemplo Estudia si el conjunto
S = {(x, y, z) R
3
| 2x + 3y + 5z 20, x, y, z 0}
es compacto.
Soluci on: Para probar que S es compacto hemos de ver si es cerrado y acotado.
El conjunto S es cerrado porque esta denido por restricciones de y a partir de funciones continuas
(polinomios).
Para comprobar que est a acotado vemos que si (x, y, z) S entonces
0 x 20, 0 y 20, 0 z 20.
Como las tres variables estan acotadas superior e inferiormente, S esta acotado.
Ejemplo Justica que el problema planteado en la p agina 1 tiene al menos una soluci on optima.
Soluci on: Vamos a aplicar el teorema de Weierstrass. Para ello hemos de probar que la funci on
objetivo es continua y que el conjunto de oportunidades es compacto no vaco. La funci on objetivo
f(x
1
, x
2
) = x
1
+x
2
es continua porque es un polinomio. El conjunto de oportunidades es
S = {(x
1
, x
2
) R
2
| 3x
1
+ 2x
2
12, x
1
+ 2x
2
10, x
1
0, x
2
0}.
Para probar que es compacto hemos de ver que es cerrado y acotado. Ciertamente es cerrado, porque
esta denido mediante desigualdades de y a partir de las funciones continuas 3x
1
+ 2x
2
, x
1
+ 2x
2
,
x
1
y x
2
. (Son continuas porque son polinomios.)
La acotacion del conjunto S puede verse geometricamente a partir de la gura de la p agina 4. Tambien
as se ve que S no es el conjunto vaco. As pues, el teorema de Weierstrass garantiza que la funci on
objetivo f alcanza un m aximo global en cierta soluci on factible x

.
Teorema local-global Consideremos un problema de programaci on matematica cuyo conjunto de opor-
tunidades S sea convexo.
Si la funci on objetivo es (estrictamente) convexa, entonces todo mnimo local del problema es de
hecho un mnimo global (estricto).
Si la funci on objetivo es (estrictamente) c oncava, entonces todo maximo local del problema es de
hecho un maximo global (estricto).
1.5 Resumen de convexidad
Recordamos aqu los resultados b asicos sobre convexidad que vamos a necesitar.
Conjuntos convexos Para comprobar que un conjunto es convexo tenemos los criterios siguientes:
1. Un conjunto denido por una restricci on de igualdad a partir de una funci on lineal es un hiperplano,
y los hiperplanos son siempre conjuntos convexos.
2. Un conjunto denido por una restricci on de o a partir de una funci on lineal es un semiespacio,
y los semiespacios son siempre conjuntos convexos.
3. Un conjunto denido por una restricci on de a partir de una funci on convexa es convexo.
4. Un conjunto denido por una restricci on de a partir de una funci on concava es convexo.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 11
5. La interseccion de conjuntos convexos es convexa.
6. En particular, todo conjunto denido por restricciones lineales es intersecci on de semiespacios e
hiperplanos, luego es convexo.
Observemos que los criterios anteriores no nos permiten decidir si un conjunto denido por una
restriccion de igualdad a partir de una funci on no lineal es o no convexo. Dicho de otro modo, cuando
tengamos una igualdad, la unica posibilidad que tenemos para justicar que es convexo es que la funci on
sea lineal.
Funciones c oncavas y convexas Para estudiar la concavidad o convexidad de una funci on de clase
C
2
podemos calcular su matriz hessiana:
1. Si la matriz hessiana es semidenida positiva, la funci on es convexa.
2. Si la matriz hessiana es semidenida negativa, la funci on es concava.
Para funciones lineales no hace falta aplicar estos criterios, pues toda funci on lineal es a la vez c oncava
y convexa.
Problemas
1. Calcula el vector gradiente y la matriz hessiana de las funciones siguientes:
f(x, y) = x
2
3xy, g(x, y, z) = xy + 5 +z, h(x
1
, x
2
, x
3
) = x
1
3x
2
+x
3
,
s(x
1
, x
2
) = x
1
x
2
2
, t(x, y) = 3x
2
, m(x, y, z) = 3x
2
, p(x
1
, x
2
, x
3
) = x
4
1
x
2
+ 2x
2
3
5.
2. Di cu ales de las funciones del ejercicio anterior son lineales y cu ales no.
3. Para cada uno de los problemas siguientes, responde a las cuestiones:
(a) Es de programaci on no lineal?, y de programaci on lineal?, y de programaci on cl asica?
(b) Resuelvelo gr acamente. Indica el valor optimo de la funci on objetivo.
(c) Indica cu ales son las restricciones saturadas en las soluciones optimas. Indica si estas son
interiores o de frontera.
(d) Escribe el conjunto de oportunidades. Es compacto?, es convexo?
Max. 3x +y
s.a. x y 2
x +y 4
x 1
y 0
Max. y x
s.a. x y 2
x +y 4
x 1
y 0
Min. y x
s.a. x y 2
x +y 4
x 1
y 0
Min. x
s.a. x y 2
x +y 4
x 1
y 0
4. Determina mentalmente si los problemas siguientes son infactibles, no acotados o si tienen solucion
optima, y en tal caso calc ulala (siempre mentalmente):
Max. x
2
+y
2
+ 8
s.a. x +y 10
x 6
y 8
Max. x
2
+y
2
+ 8
s.a. x +y 0
x, y 0
Max. x +y + 8
s.a. x 5
y 6
Max. x
2
+y
2
+ 8
s.a. x 5
x, y 0
5. Considera el problema
Max. xy(1 x y)
s.a. x +y 1
x, y 0
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 12
(a) Es de programaci on no lineal?, y de programaci on lineal?, y de programaci on cl asica?
(b) Determina el conjunto de oportunidades y representalo gr acamente. Es compacto?, y
convexo?
(c) Que valor toma la funci on objetivo sobre las soluciones de frontera?
(d) Que signo toma la funci on objetivo sobre las soluciones interiores?
(e) Puede haber una soluci on optima de frontera?
(f) Existe soluci on optima?
(g) Encuentra una soluci on factible interior (no necesariamente optima) y calcula el valor de la
funci on objetivo en ella.
(h) Pon un ejemplo de soluci on infactible.
6. Considera el problema
Max. x +y +z
s.a. x
2
+y
2
+z
2
= 2
(a) Clasifcalo.
(b) Escribe el conjunto de oportunidades. Razona si es cerrado.
(c) Es acotado el conjunto de oportunidades?
(d) Razona que el problema tiene soluci on optima.
(e) Encuentra una soluci on factible (no necesariamente optima) y determina si es interior o de
frontera.
(f) Razona que el valor optimo de la funci on objetivo es mayor o igual que 2.
(g) Encuentra una soluci on en la que la funci on objetivo tome el valor 5.
7. Determina si los conjuntos siguientes son o no compactos:
S = {(x, y, z) R
3
| x+2y+3z 10, x, y, z 0}, T = {(x, y, z) R
3
| x
2
+y
2
= 20, 5 z 2}.
8. Transforma el problema
Max. x +y
2
s.a. x + 2y 3
y 0
de modo que las restricciones sean de igualdad y todas las variables sean no negativas.
9. Transforma los problemas del ejercicio 3 de forma que cumplan las condiciones siguientes:
(a) El objetivo sea minimizar y todas las restricciones de .
(b) El objetivo sea maximizar y todas las restricciones sean de igualdad (m as las condiciones de
no negatividad que sean necesarias).
(c) El objetivo sea maximizar y no haya restricciones de igualdad.
10. Considera los problemas
Max. x y
s.a. x
2
+y
2
4
x, y 0
Min. x y
s.a. y x
2
0
x, y 0
Min. 4xy 5x
2
y
2
s.a. x
2
+y
2
= 4
(a) Clasifcalos.
(b) Estudia la existencia de optimo, ya sea encontr andolo gr acamente, ya mediante el teorema
de Weierstrass.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 13
(c) Estudia la concavidad o convexidad de las funciones objetivo.
(d) Transforma los problemas para que las restricciones sean de igualdad.
11. Razona si los conjuntos de oportunidades de los problemas siguientes son o no compactos:
Max. x
2
+y +z
s.a. x +y + 5z = 1,
x, y, z 0
Max. x
2
+y +z
s.a. x +y + 5z = 1,
x, y, z 0
Max. x
2
+y +z
s.a. x
4
+y
4
+z 10,
z 0
12. Utilizando una de las siguientes funciones objetivo:
f(x, y, z) = xy + 2x z, g(x, y, z) = x + 2y 6z,
y una o varias de las restricciones siguientes:
x + 2y +z 6, x + 2y z = 3, y + 2x + 3 0,
enuncia si es posible un problema de programaci on cl asica, uno de programaci on no lineal y otro
de programaci on lineal.
13. Dado el problema siguiente:
Max. x
2
+y
2
s.a. x +y = 1,
(a) Razona a que tipo o tipos de programaci on matematica corresponde (clasica, no lineal, lineal).
(b) Escribe el conjunto de oportunidades. Encuentra (si es posible) una soluci on factible interior,
una soluci on factible de frontera y una soluci on no factible.
(c) Aplica el teorema de Weierstrass.
(d) Reescribe el problema de forma que tenga objetivo de minimizaci on, restricciones de menor o
igual y todas las variables no negativas.
14. Dado el problema
Min. x
2
+y
2
s.a. x +y 6
xy 4
y 0
(a) Razona a que tipo o tipos de programaci on matematica corresponde (clasica, no lineal, lineal).
(b) Escribe el conjunto de oportunidades. Encuentra (si es posible) una soluci on factible interior,
una soluci on factible de frontera y una soluci on no factible.
(c) Reescribe el problema de forma que tenga objetivo de maximizacion y restricciones de mayor
o igual.
15. Dado el problema
Max. 2x + 3y +z
s.a. x + 2y +z 30
x +y 20
x 0, y 0
(a) Razona a que tipo o tipos de programaci on matematica corresponde (clasica, no lineal, lineal).
(b) Escribe el conjunto de oportunidades. Encuentra (si es posible) una soluci on factible interior,
una soluci on factible de frontera y una soluci on no factible.
(c) Reescribe el problema de forma que tenga objetivo de minimizaci on, restricciones de igualdad
y todas las variables no negativas.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 14
16. Dado el problema
Max. 2x + 3y
s.a. x + 2y 30
x +y 20
x 0, y 0
(a) Razona a que tipo o tipos de programaci on matematica corresponde (clasica, no lineal, lineal).
(b) Escribe el conjunto de oportunidades. Encuentra (si es posible) una soluci on factible interior,
una soluci on factible de frontera y una soluci on no factible.
(c) Aplica el teorema de Weierstrass.
(d) Reescribe el problema de forma que tenga objetivo de minimizaci on, restricciones de igualdad
y todas las variables no negativas.
17. Resuelve gracamente los problemas siguientes:
Max. x
s.a. y +x
2
2
x y 0
x, y 0
Min. x y
s.a. y +x
2
2
x y 0
x, y 0
Max. x + 3y
s.a. y x
2
5
x
2
+y
2
1
x, y 0
Min. x + 5y
s.a. xy 2
x y 1
x y 1
x, y 0
Min. x y
s.a. xy 2
x y 1
x y 1
x, y 0
Min. 3x 2y
s.a. xy 10
x +y 1
x, y 0
Min. 5x y
s.a. x
2
+y
2
4
x +y 1
x, y 0
Max. 5x y
s.a. x
2
+y
2
4
x +y 1
x, y 0
Max. x y
s.a. xy = 6
x +y 5
x, y 0
Max. x +y
s.a. x
2
+y
2
3
y x
2
0
x, y 0
Min. x +y
s.a. x
2
+y
2
3
y x
2
0
x, y 0
Max. x + 2y
s.a. xy 12
y x 1
x, y 0
Min. y x
s.a. xy 12
y x 1
x, y 0
Min. y
s.a. x
2
+y
2
3
y x
2
0
y 4
x, y 0
Max. x + 2y
s.a. x
2
+y
2
3
y x
2
0
y 4
x, y 0
Max. x + 2y
s.a. x 5
y 4
18. Determina si los conjuntos siguientes son o no compactos:
(a) S = {(x, y, z) R
3
| x
2
+y
2
+z
2
= 16},
(b) S = {(x, y, z) R
3
| x
2
+y
2
+z
2
16},
(c) S = {(x, y, z) R
3
| x
2
+y
2
+z
2
16},
(d) S = {(x, y, z) R
3
| x
2
+y
2
+z
2
< 16},
(e) S = {(x, y, z) R
3
| x
3
+y
3
+z
3
16},
(f) S = {(x, y, z) R
3
| x +y 5, z 3},
(g) S = {(x, y, z) R
3
| x +y 5, z
2
3, x 0, y 0},
(h) S = {(x, y, z) R
3
| x +y z 6, x +y 10, y +z 8, x 0, y 0, z 0},
(i) S = {(x, y, z) R
3
| y +x
2
+ 3z
4
10, y 0}.
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 15
19. Estudia si los conjuntos siguientes son convexos:
(a) S = {(x, y, z) R
3
| x
2
+y
2
+z
2
20},
(b) S = {(x, y, z) R
3
| x
2
+y
2
+z
2
20},
(c) S = {(x, y, z) R
3
| x
2
+y
2
+z
2
= 20},
(d) S = {(x, y, z) R
3
| x +y = 3z},
(e) S = {(x, y, z) R
3
| 4x + 7y 4, x 0, y 0},
(f) S = {(x, y, z) R
3
| x
2
+ 3y
2
+ 2xy 20, x y +z 15},
(g) S = {(x, y, z) R
3
| x
2
+ 3y
2
+ 2xy 20, x y +z 15},
(h) S = {(x, y, z) R
3
| y 0}.
Cuestiones
1. Dene problema infactible y problema no acotado. Explica la diferencia entre ambos.
2. Razona si el problema siguiente es o no de programaci on lineal:
Max. x + 2y 5
s.a. x + 5y = 2.
3. Di que ha de cumplir un problema para ser de programaci on no lineal.
4. Di que ha de cumplir un problema para ser de programaci on lineal.
5. Di que ha de cumplir un problema para ser de programaci on cl asica.
6. Puede un problema ser a la vez de programaci on cl asica y de programaci on lineal?
7. Sup on que montas un peque no negocio y que te planteas un problema de programaci on matematica
para maximizar tus benecios sujeto a que has de servir a una serie de clientes en unas ciertas
condiciones. Una vez formuladas adecuadamente la funci on de benecios y las restricciones (y
suponiendo que el problema te sale factible) que preferiras, que tuviera optimo (global) o que no
lo tuviera?
8. Sea P un problema de programaci on matematica y sea P

otro problema que resulta de a nadirle a


P una restricci on mas. Supongamos que su objetivo es maximizar.
(a) Cu al sera mayor, el conjunto de oportunidades de P o el de P

.
(b) Cu al sera mayor, el optimo de P o el de P

?
(c) Si x es una soluci on factible de P

, lo sera tambien de P?, y al reves?


(d) Si x

es el optimo de P, lo sera tambien de P

?
9. Sup on que hemos resuelto un problema de programaci on con restricciones y hemos encontrado un
optimo global. Si eliminamos las restricciones, el problema tendr a necesariamente optimo? Y si
lo tiene, sera mejor o peor que el problema con restricciones?, puede ser el mismo?
10. Explica las diferencias entre los tres tipos de problemas de programaci on matematica seg un sus
soluciones.
11. Un problema tiene entre sus restricciones a x + 2y 8. Es (10, 10) una soluci on del problema?
12. Un problema de maximizar tiene soluci on optima, y hemos encontrado una soluci on en la que la
funci on objetivo vale 25. Podemos armar que el valor optimo de la funci on objetivo es mayor que
25?, y mayor o igual?
TEMA 1. INTRODUCCI

ON A LA OPTIMIZACI

ON 16
13. Para que una soluci on sea interior ha de cumplir una restricci on con desigualdad estricta o ha de
cumplir todas las restricciones con desigualdad estricta?
14. Razona si las armaciones siguientes son verdaderas o falsas y, en caso de ser falsas, corrgelas:
(a) Si un problema de programaci on matematica tiene innitas soluciones, entonces es no acotado.
(b) Un problema infactible tiene innitas soluciones.
(c) Un problema infactible no tiene soluciones.
(d) Un problema es no acotado cuando toda soluci on optima puede ser mejorada por otra.
(e) Un problema es infactible cuando alguna soluci on no cumple las restricciones.
15. Dene mnimo global estricto y no estricto, mnimo local estricto y no estricto.
Tema 2
Programaci on no lineal
En este tema mostraremos como puede resolverse un problema general de programaci on no lineal.
El proceso requiere resolver sistemas de ecuaciones e inecuaciones que se complican mucho incluso para
problemas muy simples. No obstante, para los problemas de programaci on cl asica la situacion es mucho
mas sencilla. As pues, s olo resolveremos explcitamente problemas de programacon cl asica y unos pocos
casos extremadamente simples de programacion no cl asica.
2.1 Condiciones necesarias de optimalidad
En general, un problema de programaci on no lineal tiene innitas soluciones factibles, de entre las
cuales hemos de encontrar la solucion optima. Vamos a ver que, bajo ciertas hip otesis, esta ha de cumplir
necesariamente ciertas condiciones, lo que en muchos casos nos reducira la b usqueda a analizar un n umero
nito de puntos.
Para que la tecnica que vamos a emplear sea aplicable a un problema, es necesario que sus restricciones
satisfagan ciertas hip otesis. Existen muchas hip otesis alternativas que garantizan que las tecnicas son
aplicables, conocidas como cualicaciones de restricciones. Nosotros consideraremos unicamente tres:
Primera cualicacion de restricciones No hay restricciones.
Segunda cualicacion de restricciones (linealidad) Todas las restricciones son lineales.
Tercera cualicacion de restricciones (regularidad) Todas las soluciones factibles del problema
son regulares.
La tercera requiere una explicaci on:
Una soluci on factible x es regular si es interior o, en caso de ser de frontera, los gradientes de las
restricciones saturadas en x son linealmente independientes.
La independencia lineal signica que la matriz formada por los vectores gradientes tiene un determi-
nante no nulo de orden m aximo. En particular:
Si el problema tiene una unica restricci on, la regularidad equivale a que el gradiente de la restricci on
no se anule en ninguna soluci on factible de frontera.
Veremos enseguida que la tecnica que vamos a emplear requiere derivar la funci on objetivo y las
restricciones por lo que, ademas, deberemos exigir que estas sean funciones de clase C
1
. Como algunas
tecnicas posteriores requeriran a veces funciones de clase C
2
, en la pr actica requeriremos siempre esta
condici on m as fuerte. En resumen:
17
TEMA 2. PROGRAMACI

ON NO LINEAL 18
Para resolver un problema de programaci on no lineal deberemos comprobar en primer lugar
que tanto la funci on objetivo como las restricciones sean funciones de clase C
2
y que el problema
cumple una de las tres cualicaciones de restricciones anteriores.
Una vez comprobado esto, el paso siguiente es construir la llamada funci on lagrangiana del problema.
Se trata de una funci on L cuyas variables son las variables principales del problema m as una nueva variable
por cada restricci on (incluidas las de signo). Estas nuevas variables se conocen como multiplicadores de
Kuhn y Tucker, aunque si el problema es de programaci on cl asica es costumbre llamarlas multiplicadores
de Lagrange.
La funci on lagrangiana se obtiene sumando a la funci on objetivo un termino (b g( x)) para cada
restriccion g( x) b, g( x) b o g( x) = b del problema (incluidas las de signo), donde es el multiplicador
de Kuhn y Tucker (o de Lagrange) asociado a la restricci on.
Ejemplo Calcular la funci on lagrangiana del problema
Max. xyz
s.a. x +y +z 3
x
2
+y
2
+z
2
= 9
y 0
Soluci on: L(x, y, z, , , ) = xyz +(3 x y z) +(9 x
2
y
2
z
2
) y.
El paso siguiente es calcular los llamados puntos de Kuhn y Tucker del problema, que son los puntos
( x,

) que cumplen las condiciones siguientes, llamadas condiciones de Kuhn y Tucker:


Factibilidad El punto x satisface las restricciones del problema (es una soluci on factible).
Punto crtico Las derivadas de la lagrangiana respecto a las variables principales son nulas en x:
L
x
i
= 0.
Signo Si es un multiplicador asociado a una restricci on canonica entonces 0, mientras que si su
restricci on es no canonica entonces 0. Los multiplicadores de las restricciones de igualdad son
libres.
Aqu llamamos desigualdades can onicas a las de si el problema es de maximizar y a las de si
el problema es de minimizar.
Holgura complementaria Si es un multiplicador asociado a una restricci on de desigualdad g( x) b
o g( x) b entonces
(b g( x)) = 0.
(Equivalentemente, los multiplicadores asociados a las restricciones no saturadas en x son nulos.)
El interes de los puntos de Kuhn y Tucker es que se cumple el teorema siguiente:
Condicion necesaria Kuhn y Tucker Consideremos un problema de programaci on no lineal en el
que tanto la funci on objetivo como las restricciones sean de clase C
2
y que satisfaga una cualicaci on de
restricciones. Entonces, para todo optimo local x del problema existe un vector

de multiplicadores tal
que ( x,

) es un punto de Kuhn y Tucker.


TEMA 2. PROGRAMACI

ON NO LINEAL 19
Ejemplo Escribir las condiciones de Kuhn y Tucker para el problema
Max. xyz
s.a. x +y +z 3
x
2
+y
2
+z
2
= 9
y 0
Soluci on: La funci on lagrangiana la hemos calculado m as arriba. Las condiciones de Kuhn y Tucker
son:
Factibilidad x +y +z 3, x
2
+y
2
+z
2
= 9, y 0.
Punto crtico
L
x
= yz 2x = 0,
L
y
= xz 2y = 0,
L
z
= xy 2z = 0,
Signo Como la desigualdad de es canonica y la de no lo es, las condiciones de signo son:
0, 0.
Holgura complementaria (3 x y z) = 0, y = 0.
El teorema anterior puede resumirse as:
Para encontrar las soluciones optimas de un problema usaremos la implicaci on
Soluci on optima = Punto de Kuhn y Tucker,
pero debemos tener presente que para que esta implicacion sea cierta el problema debe cumplir
una cualicaci on de restricciones (as como que las funciones que lo denen sean de clase C
2
).
Por otra parte:
Bajo ning un concepto podemos armar que todo punto de Kuhn y Tucker de un problema
es una soluci on optima. Puede suceder que ning un punto de Kuhn y Tucker sea optimo (si
el problema es no acotado), que haya puntos de Kuhn y Tucker que son optimos locales y no
globales (luego tampoco son soluciones optimas) o incluso que ni siquiera sean optimos locales.
As pues, el interes de calcular los puntos de Kuhn y Tucker se debe a que en muchos casos nos reduce
el problema de encontrar la soluci on optima a estudiar un n umero nito de puntos. Para determinar
si un punto de Kuhn y Tucker es o no un optimo global de un problema emplearemos los metodos que
presentamos en la seccion siguiente.
Observaciones Las condiciones de signo y holgura complementaria s olo aparecen si el problema tiene
restricciones de desigualdad. As pues, si el problema es de programaci on cl asica solo tenemos condiciones
de factibilidad y de punto crtico. En este caso las condiciones se llaman condiciones de Lagrange en lugar
de condiciones de Kuhn y Tucker y los puntos que las satisfacen se llaman puntos crticos en lugar de
puntos de Kuhn y Tucker.
Si adem as el problema no tiene restricciones tampoco hay condiciones de factibilidad, y adem as la
lagrangiana es simplemente la funci on objetivo. Las condiciones necesarias se reducen entonces a que las
derivadas de la funci on objetivo sean nulas.
TEMA 2. PROGRAMACI

ON NO LINEAL 20
Forma equivalente de las condiciones de Kuhn y Tucker Los multiplicadores asociados a restric-
ciones de signo siempre pueden despejarse de las condiciones de punto crtico (sin m as que pasarlos al otro
miembro). Al sustituirlos en las dem as condiciones obtenemos una forma equivalente de las condiciones
de Kuhn y Tucker en las que no aparecen los multiplicadores de signo.
Ejemplo Eliminar el multiplicador de signo en las condiciones de Kuhn y Tucker del problema an-
terior.
Soluci on: Despejamos de la condicion de punto crtico:
= xz 2y.
Al sustituir en las otras condiciones obtenemos:
x +y +z 3, x
2
+y
2
+z
2
= 9, y 0,
yz 2x = 0, xz 2y 0, xy 2z = 0,
0, (3 x y z) = 0, (xz 2y)y = 0.

Esta es la version equivalente sin multiplicadores de signo.


Comprobaci on de si un punto cumple las condiciones de Kuhn y Tucker La mejor forma de
comprobar si un punto cumple las condiciones de Kuhn y Tucker es en el orden siguiente:
Factibilidad Holgura complementaria Punto crtico Signo.
Ejemplo Comprobar si (x, y, z) = (0, 3, 0) es un punto de Kuhn y Tucker del problema anterior.
Se cumplen las condiciones de factibilidad:
x +y +z 3 0 + 3 + 0 3
x
2
+y
2
+z
3
= 9 0 + 9 + 0 = 9
y 0 3 0
Veamos ahora las condiciones de holgura complementaria:
(3 x y z) = 0 0 = 0
y = 0 3 = 0
Concluimos que se cumplen si = 0. Sabiendo esto pasamos a las condiciones de punto crtico:
yz 2x = 0 = 0
xz 2y = 0 6 = 0
xy 2z = 0 = 0
Vemos que se cumplen si = = 0. Como (, , ) = (0, 0, 0), las condiciones de signo se cumplen
tambien.
Resolucion de las condiciones de Kuhn y Tucker Para problemas de programaci on cl asica las
condiciones de Kuhn y Tucker (llamadas entonces condiciones de Lagrange) son simplemente un sistema
de ecuaciones que podemos resolver. Cuando el problema tiene restricciones de desigualdad conviene
seguir el procedimiento que ilustra el ejemplo siguiente:
TEMA 2. PROGRAMACI

ON NO LINEAL 21
Problema Encontrar los puntos de Kuhn y Tucker del problema
Max. x
2
+y
2
s.a. x + 2y 5
x, y 0
Soluci on: Observamos que tanto la funci on objetivo como las restricciones son de clase C
2
porque
son polinomios, as como que se cumple la cualicacion de restricciones de linealidad, pues las restricciones
son lineales. Esto no hace falta para responder a lo que se pide (calcular los puntos de Kuhn y Tucker),
pero sera el primer paso si nos pidieran encontrar los optimos del problema, pues ahora sabemos que si
el problema tiene soluci on optima sera uno de los puntos de Kuhn y Tucker que vamos a encontrar.
La funci on lagrangiana es
L(x, y, ,
1
,
2
) = x
2
+y
2
+(5 x 2y)
1
x
2
y.
Las condiciones de Kuhn y Tucker son:
Factibilidad x + 2y 5, x 0, y 0.
Punto crtico 2x
1
= 0, 2y 2
2
= 0.
Signo 0,
1
0,
2
0.
Holgura complementaria (5 x 2y) = 0,
1
x = 0,
2
y = 0.
Para calcular los puntos de Kuhn y Tucker seguimos el sistema siguiente:
1. Desdoblamos en dos casos cada condici on de holgura complementaria:
= 0 o bien 5 x 2y = 0,
1
= 0 o bien x = 0,
2
= 0 o bien y = 0.
2. Formamos todos los casos posibles. (Ser an 2 casos si hay una condici on de holgura complementaria,
4 si hay dos, 8 si hay tres, etc. Aqu tenemos 8 casos:
Caso 1: = 0,
1
= 0,
2
= 0, Caso 5: x + 2y = 5,
1
= 0,
2
= 0,
Caso 2: = 0,
1
= 0, y = 0, Caso 6: x + 2y = 5,
1
= 0, y = 0,
Caso 3: = 0, x = 0,
2
= 0, Caso 7: x + 2y = 5, x = 0,
2
= 0,
Caso 4: = 0, x = 0, y = 0, Caso 8: x + 2y = 5, x = 0, y = 0.
3. A las condiciones de cada caso a nadimos las de punto crtico (y, si las hubiera, las condiciones de
factibilidad que fueran igualdades) y resolvemos el sistema:
Caso 1: Al sustituir las condiciones del caso 1 en las condiciones de punto crtico obtenemos
2x = 0, 2y = 0,
luego llegamos al punto (x, y) = (0, 0) con (,
1
,
2
) = (0, 0, 0). Los Casos 2,3,4 nos llevan a la
misma solucion.
Caso 5: Tenemos
2x = 0, 2y 2 = 0, x + 2y = 5,
1
= 0,
2
= 0.
Al resolver queda (x, y) = (1, 2) con (,
1
,
2
) = (2, 0, 0).
TEMA 2. PROGRAMACI

ON NO LINEAL 22
Caso 6: Tenemos
2x = 0, 2
2
= 0, x + 2y = 5,
1
= 0, y = 0.
Al resolver queda (x, y) = (5, 0) con (,
1
,
2
) = (10, 0, 20).
Caso 7: Se llega al punto (x, y) = (0, 5/2) con (,
1
,
2
) = (5/2, 5/2, 0).
Las condiciones del Caso 8 son imposibles, luego no nos dan ning un punto.
En total tenemos los puntos (x, y, ,
1
,
2
) siguientes
(0, 0, 0, 0, 0), (1, 2, 2, 0, 0), (5, 0, 10, 0, 20), (0, 5/2, 5/2, 5/2, 0).
4. Comprobamos que los puntos obtenidos cumplen las condiciones de factibilidad y signo (que hasta
aqu no hemos usado para nada).
Los cuatro puntos las cumplen, luego tenemos cuatro puntos de Kuhn y Tucker. Si el problema tiene
maximo, sera necesariamente uno de estos puntos (porque hemos comprobado una cualicaci on de
restricciones).
Conviene tener presente una ultima observaci on sobre la condici on necesaria de Kuhn y Tucker:
Para que la implicaci on
Soluci on optima = Punto de Kuhn y Tucker,
sea aplicable a un punto en concreto x

, no es necesario que se cumpla la hipotesis de regularidad


sobre todas las soluciones factibles, sino que basta que el punto x

sea regular.
De este modo, cuando resolvemos un problema con restricciones no lineales, hemos de comprobar la
hip otesis de regularidad sobre todas las soluciones factibles, pues as garantizamos que el optimo sea
cual sea sera regular y, por consiguiente, un punto de Kuhn y Tucker, pero si estamos estudiando la
optimalidad de un punto dado basta comprobar que dicho punto es regular. As, si vemos que es regular
pero no cumple las condiciones de Kuhn y Tucker, podemos asegurar que no es optimo.
2.2 Condiciones sucientes de optimalidad
Dado un problema de programaci on no lineal, aplicando la teora de la seccion anterior podemos
encontrar unos puntos (los puntos de Kuhn y Tucker, a menudo un n umero nito) de modo que si el
problema tiene optimo, dicho optimo ha de ser uno de ellos, pero no podemos armar a priori que el
problema tenga optimo. En esta seccion indicaremos cuatro formas de determinar si un punto de Kuhn
y Tucker es o no una soluci on optima.
Concavidad/convexidad Este metodo es aplicable siempre y cuando el conjunto de oportunidades
sea convexo, en particular si las restricciones del problema son lineales. El resultado es el siguiente:
Teorema (condicion suciente de Kuhn y Tucker) Consideremos un problema de programaci on
no lineal y supongamos que:
Las funciones que denen el problema son de clase C
2
,
El conjunto de oportunidades es convexo,
La funci on objetivo es (estrictamente) convexa si el problema es de minimizar y (estrictamente)
concava si el problema es de maximizar.
entonces, todo punto de Kuhn y Tucker del problema es un optimo global (estricto).
TEMA 2. PROGRAMACI

ON NO LINEAL 23
El teorema de Weierstrass Este metodo es aplicable si tenemos solo un n umero nito de puntos de
Kuhn y Tucker y el conjunto de oportunidades es compacto. Entonces el teorema de Weierstrass nos
asegura que el problema tiene soluci on optima, y dicha soluci on tiene que ser un punto de Kuhn y Tucker
(supuesto que hayamos comprobado una cualicaci on de restricciones). As pues, la soluci on optima sera
simplemente el punto de Kuhn y Tucker en el que la funci on objetivo tome el valor m aximo o mnimo,
seg un proceda.
Representaci on graca Este metodo es aplicable siempre que el problema tenga dos variables y la
funci on objetivo sea lineal. En tal caso estudiamos gr acamente si existe optimo (aunque no sepamos
calcular cu anto vale). El optimo sera el mejor punto de Kuhn y Tucker, como en el caso anterior.
Observaciones sobre la aplicacion de los criterios precedentes Para aplicar correctamente estos
criterios es importante tener en cuenta los hechos siguientes:
El criterio de concavidad/convexidad requiere que el conjunto de oportunidades sea convexo. Si
el problema tiene restricciones de igualdad estas tendran que ser lineales para que podamos decir
que denen hiperplanos, mientras que si hay restricciones de desigualdad no es necesario que sean
lineales, sino que en tal caso tendremos que estudiar si denen conjuntos de nivel superior o inferior
convexos (estudiando para ello la concavidad o convexidad de la restricci on).
No hay que confundir la condici on suciente de Kuhn y Tucker (el metodo de concavidad/convexidad)
con el teorema local-global. El primero parte de un punto de Kuhn y Tucker, mientras que el se-
gundo parte de un optimo local. Adem as el segundo no requiere que el objetivo del problema se
corresponda con la concavidad o convexidad de la funci on, mientras que el primero s.
Para aplicar el teorema de Weierstrass hemos de conocer todos los puntos de Kuhn y Tucker del
problema, pues hemos de quedarnos con el mejor. Por ejemplo, si nos dan un punto para comprobar
si cumple las condiciones de Kuhn y Tucker pero no nos dicen si hay otros, no podremos aplicar
este metodo.
Si tenemos varios puntos de Kuhn y Tucker y la funci on objetivo toma en ellos valores diferentes,
entonces el metodo de concavidad/convexidad no es aplicable, pues si lo fuera podramos concluir
que todos ellos son optimos globales, lo cual es absurdo. Dicho de otro modo, el metodo de
concavidad/convexidad requiere que s olo exista un punto de Kuhn y Tucker o de haber varios
que la funci on objetivo valga lo mismo en todos ellos.
Los metodos anteriores en caso de ser aplicables nos proporcionan siempre optimos globales,
que son lo que realmente interesa en un problema de programaci on matematica.
Cuando uno de los metodos anteriores no es aplicable (por ejemplo, si tratamos de aplicar el metodo
de concavidad/convexidad y la funci on objetivo resulta ser convexa cuando debera ser concava o
viceversa) no podemos concluir por ello que el problema no tiene optimo global. De hecho, no
podemos concluir nada. Tendremos que probar otro metodo o tratar de mostrar que el problema
no esta acotado.
Una forma elemental de probar que un problema no tiene optimo global es encontrar una soluci on
factible que mejore a todos los puntos de Kuhn y Tucker. As, ninguno de ellos ser a optimo y
(supuesto que hayamos comprobado una cualicaci on de restricciones) podremos armar que el
problema no tiene optimo global.
2.3 Interpretaci on econ omica de los multiplicadores
Consideremos un problema de programaci on no lineal acotado y jemonos en una de sus restricciones,
que sera de la forma g( x) b, o g( x) b o g( x) = b. Si modicamos el termino independiente b tenemos
TEMA 2. PROGRAMACI

ON NO LINEAL 24
un nuevo problema que tendr a una nueva soluci on optima. Llamemos f

(b) al valor optimo de la funci on


objetivo del problema para cada valor de b. El multiplicador de Kuhn y Tucker asociado a la restriccion
resulta ser la derivada de esta funci on:
Teorema Consideremos un problema de programaci on no lineal acotado denido por funciones de clase
C
1
y un optimo local x

con vector de multiplicadores



. Entonces, el multiplicador
i
asociado a una
restricci on g
i
( x) b
i
(o con , o con =) es la derivada de la funci on valor optimo respecto al termino
independiente b
i
:

i
=
f

b)
b
i

b
.
Por lo tanto, representa el incremento que experimenta el valor optimo de funci on objetivo por cada
unidad que incrementamos el termino independiente b
i
.
Por consiguiente, si un termino independiente b correspondiente a una restricci on de multiplicador
experimenta un incremento b, el valor optimo de la funci on objetivo del nuevo problema con b
incrementado experimentar a un incremento aproximadamente igual a
f

b.
Esta aproximaci on s olo sera aceptable para incrementos marginales de b, esto es, incrementos peque nos
en comparacion con el valor de b.
Observemos que si la restriccion no est a saturada en el optimo x

entonces la condicion de holgura


complementaria asociada a la restriccion implica que
i
= 0 y, en efecto, esto signica que una peque na
modicaci on en b
i
no altera el valor optimo, ya que dicho valor optimo se seguira alcanzando en el mismo
punto x

.
Por otra parte, puede suceder (aunque no es frecuente) que
i
= 0 aunque la restricci on este saturada,
y entonces no tenemos ninguna informaci on sobre el comportamiento del valor optimo al variar b
i
. En
resumen, para interpretar un multiplicador nulo hemos de tener en cuenta lo siguiente:
Si un multiplicador de Kuhn y Tucker es nulo hemos de distinguir dos casos: Si la restricci on
no esta saturada se interpreta como que una variaci on del termino independiente de la restricci on
no afecta a la soluci on optima, mientras que si la restricci on esta saturada no nos proporciona
ninguna informaci on.
Ejemplo La funci on de costes de una empresa viene dada por C(x, y) = x
2
+y
2
+2x +4y +10, donde
x e y son las cantidades producidas de dos artculos. Determina el coste mnimo necesario para producir
un total de 21 unidades de producto. Que sucedera si la empresa decidiera incrementar su producci on
en dos unidades?
Soluci on: El problema es minimizar el coste sujeto a la restriccion x +y = 21, es decir,
Min. x
2
+y
2
+ 2x + 4y + 10
s.a. x +y = 21
Para resolverlo comprobamos que podemos aplicar las condiciones necesarias de optimalidad:
Tanto la funci on objetivo como la restricci on son de clase C
2
porque son polinomios.
Como cualicacion de restricciones se cumple que la restriccion es lineal.
Por consiguiente, si existe mnimo, ha de ser un punto que cumpla las condiciones necesarias. Para
escribirlas construimos la funci on lagrangiana:
L(x, y, ) = x
2
+y
2
+ 2x + 4y + 10 +(21 x y).
TEMA 2. PROGRAMACI

ON NO LINEAL 25
Las condiciones necesarias son:
x +y = 21,
L
x
= 2x + 2 = 0,
L
y
= 2y + 4 = 0.
Igualando en las dos ultimas ecuaciones obtenemos y = x 1. Sustituyendo en la primera queda
2x = 22, luego x = 11, y = 10 y = 24.
As pues, si hay soluci on optima, esta ha de ser el punto crtico (x, y) = (11, 10) con multiplicador
= 24.
Para determinar si este punto es realmente una soluci on optima estudiaremos si la funci on objetivo es
convexa. El metodo es aplicable porque la restricci on es lineal. La matriz hessiana de la funci on objetivo
es
HC(x, y) =
_
2 0
0 2
_
,
que es denida positiva, luego C es convexa. Concluimos que el punto (11, 10) es un mnimo global
estricto. Por lo tanto el coste mnimo es C(11, 10) = 293 u.m.
En principio, si la producci on pasara a ser de 23 unidades, para saber que coste resultara tendramos
que resolver el nuevo problema
Min. x
2
+y
2
+ 2x + 4y + 10
s.a. x +y = 23
Ejercicio Resuelve este problema y comprueba que el nuevo coste es de 343 u.m., con lo que el incre-
mento de coste que ocasiona aumentar la producci on en 2 unidades resulta ser de 343 293 = 50 u.m.
Sin embargo, si nos basta una respuesta aproximada, no es necesario repetir todos los c alculos. El
multiplicador = 24 nos informa de que el incremento de coste que ocasionar a un incremento de la
producci on b = 2 sera aproximadamente
C

b = 24 2 = 48 u.m.
El error que cometemos con esta aproximacion es de 2 u.m. sobre un total de 50, por lo que es una
aproximaci on admisible.
Ejemplo Una empresa fabrica tres artculos en cantidades x, y, z y trata de maximizar sus benecios
de acuerdo con el problema siguiente:
Max. 7x + 4y + 2z Funci on de benecios,
s.a. x +y +z 500 Producci on total,
2x + 6y +z 1.500 Coste de la producci on,
x + 2y 100 Cantidad empleada de un input I,
x, y, z 0
La soluci on optima resulta ser (x, y, z) = (100, 0, 1.300) con multiplicadores (
1
,
2
,
3
) = (0, 2, 3),
(
1
,
2
,
3
) = (0, 14, 0) (los ultimos son los de las restricciones de signo). Interpreta estos multiplicado-
res.
Soluci on: El multiplicador
1
es nulo porque la restricci on no esta saturada (la producci on optima
es de 1.400 > 500 unidades). Indica que aunque exigieramos producir m as de 500 unidades en total ello
no afectara a la soluci on optima.
Por cada unidad adicional en que la empresa pudiera incrementar su presupuesto sus benecios au-
mentaran en 2 unidades monetarias.
Por cada unidad adicional que la empresa pudiera emplear del input I, sus benecios aumentaran en
3 unidades monetarias.
TEMA 2. PROGRAMACI

ON NO LINEAL 26
Los multiplicadores
1
y
3
son nulos porque las restricciones x 0 y z 0 no estan saturadas en
la soluci on optima. Esto indica que si las cambi aramos por x 1 o z 1 la soluci on seguira siendo la
misma.
Por cada unidad que la empresa fabricara del segundo artculo, sus benecios disminuiran en 14
unidades monetarias.
Nota Las interpretaciones siguientes seran incorrectas:

1
= 0 signica que por cada unidad que la empresa aumente su producci on total el benecio no se
ver a alterado.

1
= 0 signica que un aumento en la producci on del primer artculo no afectar a a los benecios.
2.4 Interpretaci on geometrica de los multiplicadores
En esta seccion mostraremos las ideas que subyacen en las condiciones de Kuhn y Tucker, para que
podamos comprender su signicado y por que son realmente condiciones necesarias de optimalidad. No
perdemos generalidad si consideramos unicamente problemas de maximizar con restricciones canonicas
g
i
( x) b
i
. Una vez justicadas las condiciones de Kuhn y Tucker en este caso, es facil ver que tambien
han de cumplirse para un problema arbitrario. Como ilustraci on consideraremos el problema
Max. f(x, y)
s.a. x +y 1
x, y 0
Tiene una desigualdad can onica y dos no can onicas. Vamos a transformarlo para que todas las
restricciones sean canonicas:
Max. f(x, y)
s.a. x +y 1
x 0
y 0
La gura muestra el conjunto de oportunidades S y tres soluciones factibles x
1
, x
2
, x
3
, en las que
hemos indicado tambien los gradientes de las restricciones saturadas:
S
x
1
x
2
x
3
g
1
( x
2
)
g
1
( x
3
)
g
3
( x
3
)
Conviene tener presentes algunas consideraciones geometricas:
El gradiente de una restricci on en una soluci on donde esta saturada (supuesto que sea no
nulo) apunta siempre en direcci on perpendicular al conjunto de los puntos que la saturan.
En nuestro ejemplo vemos como, en efecto, g
1
( x
2
) es perpendicular a la recta x + y = 1, mientras
que g
3
( x
3
) es perpendicular a la recta y = 0. M as a un:
Una restricci on de desigualdad es canonica si y s olo si su gradiente en una soluci on donde
esta saturada (supuesto que sea no nulo) apunta hacia fuera del conjunto de oportunidades
(m as precisamente, hacia donde deja de cumplirse la restricci on).
TEMA 2. PROGRAMACI

ON NO LINEAL 27
As pues, el hecho de que los tres gradientes que tenemos en la gura apunten hacia fuera de S no es
casualidad, sino consecuencia de que todas las restricciones del problema son canonicas.
La condici on de regularidad tambien tiene una interpretaci on sencilla:
Si un punto satura a una unica restricci on, la regularidad signica que su gradiente no es
nulo. Si satura a dos restricciones la regularidad signica que sus gradientes son no nulos y
apuntan en direcciones distintas (no est an sobre la misma recta). Si satura a tres restricciones
la regularidad signica que sus gradientes son no nulos y no est an sobre el mismo plano, etc.
As pues, en la gura apreciamos que x
1
es regular porque es una soluci on interior (no satura a ninguna
restriccion), x
2
es regular porque satura s olo a g
1
y su gradiente es no nulo, mientras que x
3
es regular
porque satura a dos restricciones g
1
, g
3
y sus gradientes apuntan en direcciones distintas.
Volviendo al caso general, vamos a reformular las condiciones de Kuhn y Tucker en terminos de los
gradientes de la funci on objetivo y las restricciones.
Factibilidad Las condiciones de factibilidad arman simplemente que un punto de Kuhn y Tucker x
ha de cumplir las restricciones del problema, lo cual es ciertamente una condici on necesaria para que
pueda ser una soluci on optima.
Punto crtico Es f acil ver que las condiciones de punto crtico equivalen a la igualdad
f( x) =
1
g
1
( x) + +
m
g
m
( x).
En otras palabras:
Las condiciones de punto crtico equivalen a que el vector gradiente de la funci on objetivo
es combinaci on lineal de los gradientes de las restricciones, es decir, que el vector f( x)
puede obtenerse a partir de los vectores g
i
( x) multiplic andolos por unos coecientes
i
y
sum andolos. Dichos coecientes son precisamente los multiplicadores de Kuhn y Tucker.
La funci on lagrangiana s olo es una forma de expresar esta relacion de forma m as comoda.
Signo Las condiciones de signo exigen que los coecientes de la combinacion lineal sean no negativos.
Puesto que los gradientes de las restricciones apuntan hacia fuera del conjunto de oportunidades, las
condiciones de signo hacen que lo mismo le suceda al gradiente de la funci on objetivo. De todos modos
luego precisaremos la interpretaci on geometrica de las condiciones de signo.
Holgura complementaria Las condiciones de holgura complementaria
i
(b
i
g
i
( x)) = 0 solo se exigen
para restricciones de desigualdad, pero se cumplen trivialmente para restricciones de igualdad (pues en tal
caso el segundo factor es cero). Arman que el multiplicador
i
es nulo si la restriccion correspondiente no
esta saturada. Equivalentemente, que en la expresi on de f( x) como combinacion lineal de los vectores
g
i
( x) solo aparecen los gradientes de las restricciones saturadas en x.
Con estas observaciones, las condiciones de Kuhn y Tucker pueden reformularse as:
Un punto x cumple las condiciones de Kuhn y Tucker si y s olo si el gradiente de la funci on
objetivo en x es combinacion lineal de los gradientes de las restricciones saturadas en x de tal
modo que los coecientes
i
son no negativos. Los multiplicadores de Kuhn y Tucker de las
restricciones saturadas son dichos coecientes y los de las no saturadas son nulos.
Tenemos as una forma equivalente de las condiciones de Kuhn y Tucker en la que no aparece la
funci on lagrangiana. Esta versi on no es util en la pr actica, pero permite mostrar claramente por que las
condiciones de Kuhn y Tucker son necesarias (bajo la hip otesis de regularidad).
TEMA 2. PROGRAMACI

ON NO LINEAL 28
Para ello nos jamos en las tres soluciones destacadas del ejemplo que estamos considerando. Hemos
de probar que si una de ellas es un m aximo local (es decir, si no hay soluciones cercanas con mejor
valor de la funci on objetivo) entonces cumple las condiciones de Kuhn y Tucker. Obviamente, cualquier
maximo local ha de cumplir las condiciones de factibilidad, esto es, las restricciones del problema, pues
toda soluci on optima ha de ser factible por denici on. El problema es justicar que los m aximos locales
han de cumplir tambien las condiciones de punto crtico, signo y holgura complementaria.
Para el caso de una soluci on interior, como x
1
, no hay restricciones saturadas y las condiciones de
Kuhn y Tucker arman simplemente que el gradiente de la funci on objetivo ha de ser nulo. En otras
palabras, que las derivadas parciales han de ser nulas:
f
x
= 0,
f
y
= 0.
En efecto, si, por ejemplo, la derivada parcial respecto de x fuera positiva en x
1
, ello signicara que
aumentando levemente la coordenada x de x
1
obtendramos otra solucion factible cercana con mayor
valor de la funci on objetivo. Igualmente, si la derivada fuera negativa podramos obtener una soluci on
mejor disminuyendo levemente la coordenada x. En cualquiera de los dos casos x
1
no sera un m aximo
global. En resumen, es claro que las condiciones de Kuhn y Tucker son necesarias cuando el punto es
interior.
Consideremos ahora la soluci on x
2
. Se trata de una soluci on de frontera que satura a la primera
restriccion, y esto hace que ya no sea necesario que el gradiente de f se anule. En efecto, suponiendo
que la funci on objetivo f es de clase C
2
(si no no tendran por que cumplirse las condiciones de Kuhn y
Tucker), sabemos que f( x) indica la direcci on de maximo crecimiento de f en un punto x. M as a un,
las direcciones perpendiculares a f( x) son las direcciones de crecimiento nulo, un peque no movimiento
en cualquier direcci on entre estas y f( x) hace aumentar la funci on objetivo y un peque no movimiento
entre estas y f( x) la hace disminuir:
x
Crecimiento nulo
Crecimiento
Decrecimiento
Crecimiento
Crecimiento nulo
M aximo decrecimiento Decrecimiento
f( x) M aximo crecimiento
Teniendo esto en cuenta, la condici on necesaria para que x
2
sea un maximo local es que cualquier
movimiento en una direcci on de crecimiento de f nos saque del conjunto de oportunidades y, por consi-
guiente, nos lleve a una soluci on infactible. Las condiciones de Kuhn y Tucker arman que para ello es
necesario que en x
2
se cumpla la relacion
f( x) = g
1
( x), 0.
Esto signica que f( x) esta sobre la recta determinada por g
1
( x) y apunta en la misma direcci on.
En efecto, si f( x) se desviara hacia abajo, entonces podramos aumentar la funci on objetivo sin salirnos
de S (ver la gura siguiente), e igualmente si f( x) se desviara hacia arriba.
TEMA 2. PROGRAMACI

ON NO LINEAL 29
S
x
2
g
1
( x
2
)
f( x
2
)
Soluci on factible mejor que x
2
Crecimiento nulo de f
Por otra parte, si < 0 tendramos que f( x
2
) sera opuesto a g
1
( x
2
), con lo que bastara moverse
en la direcci on de f( x
2
) (entrando en S) para pasar a una soluci on mejor.
Observemos que si g
2
( x
2
) =

0, la condici on necesaria seguira siendo que f( x
2
) estuviera sobre
la recta perpendicular a la restricci on y apuntara hacia fuera de S, pero no podramos expresar esto en
terminos de g
2
( x). Por ello necesitamos la hip otesis de regularidad.
Consideremos ahora el caso de x
3
. Ahora tenemos dos restricciones saturadas, cuyos gradientes
determinan rectas distintas por la hip otesis de regularidad. Para que x
3
pueda ser maximo del problema
es necesario que f( x
3
) este en el angulo comprendido entre los dos gradientes, pues si se saliera por
arriba (como en la gura siguiente) podramos movernos sobre la frontera de S (por ejemplo, en la
direccion marcada con una v) de modo que f aumentara.
S
v
Crecimiento nulo
g
1
( x
3
)
g
3
( x
3
)
f( x
3
)
Gradientes admisibles para f
La condici on de que f( x) este situado en el angulo comprendido entre los gradientes g
1
( x) y
g
3
( x) se expresa matematicamente mediante la relacion
f( x) = g
1
( x) +g
3
( x), , 0,
que es precisamente lo que exigen las condiciones de Kuhn y Tucker.
En resumen, ahora debera estar claro el signicado geometrico de las condiciones de punto crtico,
signo y holgura complementaria:
Las condiciones de punto crtico, signo y holgura complementaria para una soluci on factible x
son la forma de expresar matem aticamente (supuestas las hip otesis de regularidad y C
2
) que
cualquier direcci on de crecimiento de la funci on objetivo en el punto x nos saca del conjunto
de oportunidades, por lo que no nos proporciona una soluci on factible mejor que x.
Los ejemplos anteriores son representativos de la situacion general salvo en un caso: vamos a ver por
que si una restriccion es de igualdad su multiplicador es libre. Para entenderlo consideramos el problema
TEMA 2. PROGRAMACI

ON NO LINEAL 30
Max. f(x, y)
s.a. x +y = 1
x 0
y 0
S
x
2
x
3
g
1
( x
2
)
g
1
( x
3
)
g
3
( x
3
)
Ahora la soluci on x
1
ya no es factible. Respecto a x
2
, la situaci on es la misma que la anterior: f( x
2
)
ha de estar sobre la recta determinada por g
1
( x
2
), solo que ahora ya no es necesario que apunte en
la misma direccion, pues aunque apunte en direcci on contraria no podemos obtener soluciones mejores
moviendonos en la direcci on del gradiente, ya que ello nos sacara del segmento S (antes S era un tri angulo
y podamos entrar en el desde x
2
, pero ahora no). Esto hace que ya no podamos exigir 0.
Similarmente, los valores admisibles ahora para f( x
3
) son todos los vectores en el semiplano deter-
minado por g
1
( x
3
) que contiene a g
3
( x
3
):
S
g
1
( x
3
)
g
3
( x
3
)
Gradientes admisibles para f
Cualquier gradiente fuera de este semiplano hara que al subir por S la funci on objetivo aumentara.
Matematicamente, la pertenencia a dicho semiplano equivale a exigir 0 permitiendo que sea libre.
Problemas
1. Resuelve:
Min. x
2
+xy +y
2
6x + 2, Max. x
2
+xy +y
2
+x + 5y,
Max. 3x
2
+ 5y
2
+ 5z
2
+ 2yz + 6zx 2xy, Max. 4x 6y x
2
2y
2
.
2. Considera el problema Max.f(x, y) = x
3
+y
3
9xy + 27.
(a) Calcula lm
x+
f(x, 0).
(b) Interpreta el resultado en terminos de los optimos globales del problema.
3. Sabiendo que la funci on f(x, y) = x
4
+ y
4
4xy + 3 tiene mnimo global, calc ulalo y determina si
es estricto o no estricto. Tiene maximo global?
4. Encuentra los extremos globales de los problemas siguientes:
Opt. 3x
2
+xy + 4y
2
s.a. 3x +y = 72
Opt. x
2
+y
2
+z
2
+t
2
s.a. x +y +z +t = 1
Opt. x
2
+y
2
+z
2
2x 2y
s.a. x +y 2z = 0
y x = 0
TEMA 2. PROGRAMACI

ON NO LINEAL 31
Opt. x
2
+xy +yz y
2
z
2
s.a. x +z = 2
x +y = 4
Opt. 4x y
s.a. y = x
2
5. Resuelve
Max. xy
s.a. x
2
+y
2
= 8.
6. Considera el problema:
Min x + 4y
s.a. xy = 1
x, y 0.
(a) Comprueba gr acamente que existe mnimo global, y que dicho mnimo es un mnimo local
del problema que resulta de eliminar las condiciones de no negatividad.
(b) Calcula dicho optimo analticamente.
7. Resuelve
Max. x +y +z
s.a. x
2
+y
2
+z
2
= 2.
8. Calcula la funci on valor optimo f

(b) para el problema


Min. x
2
+y
2
+z
2
s.a. x +y +z = b
Calcula as mismo el multiplicador de Lagrange y comprueba que coincide con la derivada de f

.
9. Un inversor plantea invertir cantidades x e y en dos activos nancieros. Los intereses esperados
vienen dados por la funci on I(x, y) = 0.12x + 0.08y. El riesgo r de la inversi on viene dado por la
relacion 100r = 0.25x
2
+ 0.05y
2
+ 0.1xy. Si el inversor quiere asumir un nivel de riesgo r = 13.6,
calcula la inversi on que maximiza los intereses esperados. Determina dichos intereses y estudia como
les afecta un peque no aumento del nivel de riesgo admitido por el inversor. (Nota: El conjunto de
oportunidades es una elipse.)
10. La funci on de utilidad de un consumidor es
U(x, y) = 2x
3
9x
2
6y + 40,
donde x e y son las cantidades adquiridas de dos bienes A y B. El precio unitario de A es de 2 C,
el de B de 1 C y el consumidor dispone de un presupuesto de 6 C.
(a) Calcula la utilidad m axima que puede obtener el consumidor si gasta todo su presupuesto.
(b) Estudia que aumento de utilidad puede conseguirse con un aumento de una unidad de presu-
puesto.
(c) Que ocurrira si el consumidor decidiera comprar una unidad del segundo bien?
11. Una empresa exporta cantidades x, y (en miles de toneladas) de su producto a dos pases. Su
funci on de benecios es
B(x, y) = x
2
+ 4xy 2y
2
+ 10.
La legislacion del pas impone a la empresa una cuota de exportaci on de 10.5 miles de toneladas.
(a) Calcula la cantidad que conviene exportar a cada pas de modo que la cantidad total exportada
sea la que marca la cuota.
(b) Razona el efecto que tendra sobre la empresa que la cuota pasara a ser de 10 miles de toneladas.
TEMA 2. PROGRAMACI

ON NO LINEAL 32
(c) Calcula el benecio de la empresa que consigue exportando la misma cantidad a ambos pases.
(d) Calcula las cantidades a exportar si desaparece la cuota de exportaci on.
(e) Razona si a la empresa le conviene la existencia de la cuota.
12. La funci on de producci on de una empresa es
P(x, y) = x
2
+ 2y
2
+ 10xy,
donde x e y son las cantidades empleadas de dos factores de produccion. El precio unitario de los
factores es de 1 y 2 u.m. respectivamente, y la empresa dispone de un presupuesto de 70 u.m. que
debe gastar en su totalidad.
(a) Calcula la producci on m axima que puede conseguir la empresa y las cantidades requeridas de
los factores de producci on.
(b) Estudia la conveniencia de aumentar el presupuesto disponible.
13. Una empresa produce tres productos en cantidades x, y, z. La funci on de costes es
C(x, y, z) = x
2
+ 2x +y
2
+ 2z + 100.
A su vez, vende los productos en dos mercados con la siguiente estructura de demanda
2x + 8y + 6z = 204
2x + 4y + 2z = 92
donde los terminos independientes representan la demanda de cada mercado.
(a) Calcula la producci on que minimiza los costes.
(b) Calcula el coste optimo.
(c) Razona si a la empresa le interesa un aumento en la demanda de los mercados. En cual
preferentemente?
14. La utilidad que obtiene un individuo a lo largo de su vida depende del consumo en su etapa activa
c
1
y del consumo en su etapa pasiva c
2
. La funci on de utilidad es
U(c
1
, c
2
) = (c
1
c
2
)
1/2
.
y la restriccion presupuestaria indica que el consumo en el periodo pasivo es igual al ahorro en el
periodo activo m as sus intereses:
c
2
= (R c
1
)(1 +i),
donde R es la renta del consumidor.
(a) Determina el consumo en el periodo activo y pasivo que maximizan la utilidad de un consu-
midor con una renta R = 1000 y un interes i = 0.1.
(b) Razona si un individuo con una renta ligeramente superior obtendr a o no mayor utilidad.
(c) Repetir el problema si i = 0.05 y comparar la estrategia consumo-ahorro respecto a la obtenida
en el caso precedente.
15. Resuelve los problemas siguientes:
Max. x
2
y
2
s.a. x +y 1
Min. x
2
+y
2
s.a. x +y 1
Max. x +y
s.a. x
2
+y
2
1
Min. x +y
s.a. x
2
+y
2
1
Min. x
s.a. x +y 0
y 1
Max. x
s.a. x
2
+y
2
1
x, y 0
Max. x
2
+y
2
s.a. xy 25
x, y 0
Min. x
2
+y
2
s.a. xy 25
x, y 0
TEMA 2. PROGRAMACI

ON NO LINEAL 33
16. Considera el problema
Max. y
s.a. x
2
+y
2
6
x
2
y 0
x, y 0
(a) Resuelvelo gr acamente.
(b) Comprueba que el optimo cumple las condiciones de Kuhn y Tucker.
17. Considera el problema
Max. 6x + 3y x
2
+ 4xy 4y
2
s.a. x +y 3
4x +y 9
x, y 0
Sabiendo que (2, 1) es su unico punto de Kuhn y Tucker, razona que es el unico m aximo global.
18. Dado el problema
Min. 2x +y
s.a. xy 4
x y 2
y 0,
(a) Comprueba gr acamente que (2, 0) es un optimo global del problema.
(b) Razona que es un punto de Kuhn y Tucker (sin comprobar explcitamente que cumple las
condiciones).
(c) Comprueba explcitamente que cumple las condiciones de Kuhn y Tucker.
19. Considera el problema
Max. (x 2)
2
+ (y 2)
2
s.a. x y 8
x +y 4
x, y 0
(a) Escribe las condiciones de Kuhn y Tucker.
(b) Comprueba si los puntos (2, 6) y (8, 0) verican dichas condiciones.
(c) A partir de los resultados del apartado anterior, que se puede decir sobre su optimalidad?
20. Dado el problema
Max. 4x
2
2xy y
2
s.a. x
2
+y
2
4
x +y 1
(a) Comprueba si los puntos (0, 1), (1, 0) y (2, 2) cumplen las condiciones de Kuhn y Tucker.
(b) Son optimos del problema?
21. Considera el problema
Max. x
2
+y
2
s.a. x +y 1
x y 0
x 0
(a) Comprueba que el punto (0, 0) cumple las condiciones de Kuhn y Tucker.
(b) Podemos aplicar las condiciones de suciencia para concluir que es un m aximo global?
(c) Es un m aximo global?
TEMA 2. PROGRAMACI

ON NO LINEAL 34
Cuestiones
1. Tenemos un problema de programaci on y comprobamos que la funci on objetivo y las restricciones
son de clase C
2
as como que todas las soluciones factibles son regulares. De que nos sirve esta
comprobaci on? (que podemos armar gracias a ello?)
2. En lugar de comprobar la regularidad de las soluciones factibles, que otra comprobaci on alternativa
nos permite llegar a la misma conclusion?
3. En un problema de programaci on matematica tenemos una solucion factible que no cumple las
condiciones de Kuhn y Tucker. Podemos armar que no es un optimo del problema?
4. Tenemos un punto de Kuhn y Tucker en un problema de maximizaci on y ya hemos comprobado que
podemos aplicar las condiciones necesarias. Cuales son las dos cosas que hemos de comprobar para
garantizar que el punto es un m aximo global? Si no se cumplieran, tendramos otra posibilidad de
probar que el punto es un m aximo global?
5. Para un problema de programaci on con restricciones encontramos tres puntos que cumplen las
condiciones necesarias de optimalidad. Podemos armar que al menos uno de ellos es una soluci on
optima? Y si el problema es de maximizar y la funci on objetivo es concava?
6. Tenemos un problema de programaci on cl asica sin restricciones y hemos encontrado tres puntos
que satisfacen las condiciones necesarias de optimalidad, pero la funci on objetivo no es c oncava ni
convexa. Podremos probar que alguno de los puntos es un optimo global mediante el teorema de
Weierstrass?
7. Si un problema no tiene optimos globales, puede, no obstante, tener puntos que satisfagan las
condiciones necesarias de optimalidad?, y si es infactible?
8. Tenemos un problema de maximizar cuyo conjunto de oportunidades es convexo y que cumple una
cualicaci on de restricciones. Hemos encontrado dos puntos de Kuhn y Tucker en los que la funci on
objetivo toma dos valores diferentes. Puede ser c oncava la funci on objetivo? (Que podramos
decir de dichos puntos si lo fuera?)
9. Como en la cuestion anterior, sabemos que los dos puntos son los unicos puntos de Kuhn y Tucker.
Que tendramos que comprobar para poder aplicar el teorema de Weierstrass? Si se cumple lo
necesario, que nos permitira concluir dicho teorema?
10. En un problema de programaci on, hemos comprobado que hay exactamente tres puntos de Kuhn y
Tucker. Podra ocurrir que ninguno de ellos fuera una soluci on optima? Y si el problema cumple
una cualicaci on de restricciones?
11. Las restricciones de un problema son x
2
+y
2
+z
2
1, x
2
+y
3
z
4
= 1 y el optimo se alcanza en
(1, 0, 0). Podemos asegurar que es un punto de Kuhn y Tucker?
12. Explica el error del razonamiento siguiente: Tenemos un punto de Kuhn y Tucker de un problema
de minimizar en el que todas las soluciones factibles son regulares y todas las funciones son de clase
C
2
. Si adem as la funci on objetivo es lineal, podemos armar que es convexa, luego el punto ser a
un mnimo global.
13. Explica las diferencias que hay entre el teorema local-global y la condici on suciente de Kuhn y
Tucker.
Tema 3
Programaci on lineal entera
Todos los problemas que hemos considerado hasta ahora tenan las variables continuas, lo cual sig-
nica que pueden tomar como valor cualquier n umero real, sin m as limitacion que las que imponen las
restricciones. Muchos problemas exigen considerar variables discretas, es decir, variables cuyos valores
han de ser m ultiplos de una mnima unidad de la que no tiene sentido considerar subdivisiones. Aqu estu-
diaremos unicamente una clase particular de variables discretas, las llamadas variables enteras, a las que
se les exige que solo tomen valores enteros 0, 1, 2, . . . Dentro de las variables enteras, consideraremos
tambien las variables binarias, que solo pueden tomar los valores 0 y 1.
Los problemas en los que alguna variable es entera se llaman problemas de programaci on entera, mien-
tras que los problemas en los que todas las variables son continuas se llaman problemas de programaci on
continua.
Dentro de la programaci on entera podemos distinguir entre programaci on lineal y no lineal, exacta-
mente igual que en el caso de la programaci on continua. Nosotros trataremos unicamente el caso de la
programaci on lineal entera, es decir, problemas denidos por una funci on objetivo y unas restricciones
lineales en los que ademas alguna variable es entera.
Notemos que en la denici on de problema entero no exigimos que todas las variables sean enteras,
sino solo que alguna lo sea. Cuando todas las variables son enteras, se dice que se trata de un problema
entero puro, mientras que si el problema tiene variables enteras y variables continuas se dice que es un
problema entero mixto.
Consideremos un problema lineal entero, como
Max. 8x + 10y
s.a. 4x + 6y 24
8x + 3y 24
x, y 0, x, y enteras.
Para estudiarlo podemos considerar lo que se conoce como su problema lineal asociado o su relajaci on
lineal, que no es sino el problema lineal continuo que resulta de eliminar las restricciones de integridad:
Max. 8x + 10y
s.a. 4x + 6y 24
8x + 3y 24
x, y 0.
El conjunto de oportunidades del problema entero est a formado por aquellas soluciones factibles del
problema lineal asociado que adem as cumplen las condiciones de integridad. Es obvio que si la soluci on
optima del problema asociado cumple estas condiciones, entonces tambien es la solucion optima del
problema entero, que queda as resuelto. La cuestion es que hacer cuando la soluci on del problema
asociado no es entera.
35
TEMA 3. PROGRAMACI

ON LINEAL ENTERA 36
Resulta natural pensar en redondear la soluci on del problema asociado. En general esto no es admi-
sible, en principio porque la soluci on redondeada podra ser infactible, pero, aunque sea factible, no por
ello es necesariamente optima.
Existen diversas tecnicas para resolver problemas enteros. Nosotros estudiaremos unicamente una,
conocida como metodo de ramicaci on y acotacion. El metodo de ramicaci on y acotaci on empieza
resolviendo el problema lineal asociado. Por ejemplo, en el caso del problema anterior, la soluci on es
(x, y) = (2, 2.66) con z = 42.66.
Si la soluci on hubiera sido entera, ya sera la soluci on del problema entero y habramos terminado.
Para cada variable entera que no cumpla la restricci on de integridad (en nuestro caso y = 2.66) plantea-
mos dos nuevos problemas lineales (continuos) resultantes de a nadir restricciones que excluyan la soluci on
fraccionaria sin excluir por ello ninguna posible soluci on entera. En nuestro caso, a nadimos las restric-
ciones y 2 (en un problema) e y 3 (en el otro). El diagrama siguiente resume este proceso y su
continuaci on:
0 (2, 2.66), z = 42.66
y 2
y 3
1
2 (2.5, 2), z = 38
(1.5, 3), z = 42
x 1
x 2
1.1
1.2 Infactible
(1, 3.33), z = 41.33
y 3
y 4
1.1.1 (1, 3), z = 38
1.1.2 (0, 4), z = 40
El problema inicial (problema 0) se ramica en dos problemas 1 y 2 al a nadir las restricciones y 2 e
y 3. Ambos tienen soluciones con x fraccionaria, luego en principio ambos deben ser ramicados.
Empezamos con el 1 y dejamos pendiente el 2. Puesto que x = 1.5, introducimos las restricciones x 1 y
x 2. El problema 1.2 resulta ser infactible, con lo que su rama termina ah. Por su parte, el problema
1.1 tiene solucion con y = 3.33 fraccionaria, luego hemos de volver a ramicar. Esta vez, los dos problemas
1.1.1 y 1.1.2 tienen soluci on entera, luego las ramas terminan ah.
S olo nos queda pendiente la rama 2, ahora bien, tenemos una soluci on factible (del problema entero)
con z = 40, luego sabemos que el valor optimo de z es al menos 40. Por otra parte, cada vez que
ramicamos un problema, reducimos el conjunto de oportunidades, luego la soluci on empeora. Esto hace
que no sea necesario ramicar el problema 2, ya que las soluciones que obtendramos seran peores que
z = 38, luego seguro que no son optimas.
En general, cuando en una rama llegamos a una soluci on factible (entera) no s olo terminamos la
rama, sino que con ella obtenemos una cota inferior (en el caso de un problema de maximizar) del valor
optimo de la funci on objetivo, con la cual podemos terminar todas las ramas pendientes de ramicaci on
correspondientes a problemas cuyo valor optimo sea inferior a la cota.
TEMA 3. PROGRAMACI

ON LINEAL ENTERA 37
Problemas
1. El esquema siguiente es el arbol de ramicaci on de un problema de programaci on lineal entera de
tres variables (x, y, z).
0 (0.05, 8, 8.58), F = 41.36
x 1
x 0
1
2 (1, 4.4, 4.6), F = 26.4
(0, 8, 8.67), F = 41.33
z 8
z 9
1.1
1.2 Infactible
(0, 7.67, 8), F = 39
y 7
y 8
1.1.1 (0, 7, 8), F = 37
1.1.2 Infactible
(a) Razona si el objetivo del problema es de maximizacion o de minimizaci on.
(b) Razona si se ha llegado ya al optimo. En caso contrario, indica que nodo debe ramicarse y
por medio de que restricciones.
(c) Escribe el problema que se ha resuelto en el nodo 1.1.1.
2. El esquema siguiente es el arbol de ramicaci on de un problema de programaci on lineal entera de
dos variables (x, y).
0 (1.88, 1.87), F = 7.49
x 1
x 2
1
2 (1, 1.87), F = 6.61
(2, 1.33), F = 7.12
y 1
y 2
1.1
1.2 Infactible
(3.23, 1), F = 6.23
x 4
x 3
1.1.1 (4, 0.5), F = 5.5
1.1.2 (3, 1), F = 6
(a) Razona si el objetivo del problema es de maximizacion o de minimizaci on.
TEMA 3. PROGRAMACI

ON LINEAL ENTERA 38
(b) Razona si se ha llegado ya al optimo. En caso contrario, indica que nodo debe ramicarse y
por medio de que restricciones.
(c) Escribe el problema que se ha resuelto en el nodo 1.1.1.
3. El esquema siguiente es el arbol de ramicaci on de un problema de programaci on lineal entera de
dos variables (x, y).
0 (2.5, 1.8), F = 16
1
2 (3, 1), F = 14
(2, 2.1), F = 15
1.1
1.2 (0.8, 3), F = 14.5
(2, 2), F = 14.8
(a) Sit ua en cada rama la restricci on que se ha a nadido.
(b) Razona si se ha llegado ya al optimo. En caso contrario, indica que nodo debe ramicarse y
por medio de que restricciones.
4. El esquema siguiente es el arbol de ramicaci on de un problema de programaci on lineal entera de
dos variables (x, y).
0 x = 191.6, F = 3832.5
1
2 x = 192, F = 3840
(191, 0.5), F = 3835.5
1.1
1.2 (191, 0), F=3838
(190.5, 1), F = 3837
1.1.1 (191, 1), F = 3848
1.1.2 (190, 1.4), F = 3890.4
(a) Razona si el objetivo del problema es de maximizacion o de minimizaci on.
TEMA 3. PROGRAMACI

ON LINEAL ENTERA 39
(b) Razona si se ha llegado ya al optimo. En caso contrario, indica que nodo debe ramicarse y
por medio de que restricciones.
(c) Escribe el problema que se ha resuelto en el nodo 1.1.2.
5. El esquema siguiente es el arbol de ramicaci on de un problema de programaci on lineal entera
mixta, donde las variables x, z son enteras.
0 (0.05, 8, 8.58), F = 41.36
1
2 (1, 4.4, 4.6), F = 26.4
(0, 8, 8.67), F = 41.33
1.1
1.2 Infactible
(0, 7.67, 8), F = 39
(a) Razona si el objetivo del problema de de maximizaci on o de minimizaci on.
(b) Razona si se ha llegado ya al optimo. En caso contrario, indica que nodo debe ramicarse y
por medio de que restricciones.
(c) Escribe el problema resuelto en el nodo 1.2.
6. Consideremos el problema
Max. 4x + 3y
s.a. 2x + y 2
3x + 4y 2
x, y 0 enteras.
Al resolver su relajaci on lineal obtenemos la soluci on (x, y) = (0.4, 1.2). Plantea los dos problemas
que habra que resolver a continuaci on seg un el metodo de ramicaci on y acotaci on.
Tema 4
Introducci on a la programaci on
lineal
Ya hemos visto que calcular los puntos de Kuhn y Tucker es en general un problema complicado, y ni
siquiera tenemos garantizado que ello nos lleve a las soluciones optimas. A partir de este tema restrin-
giremos nuestro estudio a los problemas lineales, para los que existen tecnicas de resolucion especcas
mucho mas ecientes.
4.1 Hechos basicos de la programaci on lineal
Es f acil ver que las reglas para transformar problemas que vimos en el tema 1 convierten problemas
lineales en problemas lineales. Dicho de otro modo, podemos transformar problemas sin perder por ello
la linealidad. Hay dos formas especialmente importantes de presentar un problema lineal:
Forma can onica de un problema lineal Se llama as a la presentaci on de un problema en la que
todas las variables son no negativas y las restricciones son de cuando el objetivo es maximizar o de
cuando el objetivo es minimizar. Por lo tanto, un problema de maximizar en forma can onica tiene la
estructura siguiente:
Max. c
1
x
1
+ +c
n
x
n
s.a. a
11
x
1
+ +a
1n
x
n
b
1

a
m1
x
1
+ +a
mn
x
n
b
m
x
1
, . . . , x
n
0.
Es conveniente escribir el problema en forma matricial, para lo cual llamamos A = (a
ij
),

b = (b
i
),
c = (c
j
), con lo que la expresi on anterior se reduce a
Max. c
t
x
s.a. A x

b
x

0.
La matriz A se llama matriz tecnica del problema. El vector c es el vector de coecientes de la funci on
objetivo y

b es el vector de terminos independientes.
Forma estandar de un problema lineal Un problema lineal est a en forma est andar si todas sus
variables son no negativas y todas sus restricciones son de igualdad. Matricialmente, la expresi on de un
40
TEMA 4. INTRODUCCI

ON A LA PROGRAMACI

ON LINEAL 41
problema en forma est andar con objetivo de maximizar es
Max. c
t
x
s.a. A x =

b
x

0.
Podemos pasar de un problema en forma can onica a un problema en forma est andar sin m as que
introducir variables de holgura.
Clases de problemas lineales El esquema siguiente contiene todas las posibilidades con que nos
podemos encontrar sobre existencia de optimos en un problema lineal:
Problema lineal
_

_
infactible,
factible
_

_
acotado
_
solucion unica
innitas soluciones
no acotado
Veamos ejemplos sencillos de todos los casos:
1) Min. x
s.a. x y 0
x +y 1
x, y 0
2) Min. x y
s.a. x y 0
x +y 1
x, y 0
3) Max. x
s.a. x y 0
x +y 1
x, y 0
4) Max. x
s.a. x y 0
x +y 1
2x +y 1
x, y 0
Soluci on unica Innitas soluciones No acotado Infactible
x y = 0
x +y = 1
2x +y = 1
El problema 1) tiene soluci on unica en (1/2, 1/2). Se dice que es una soluci on de vertice porque es un
vertice del conjunto de oportunidades.
El problema 2) tiene como soluciones todos los puntos de la recta x y = 0 que pertenecen al
conjunto de oportunidades. Se dice que son soluciones de arista innita, porque forman una arista
innita (semirrecta) de la frontera del conjunto de oportunidades. Si el objetivo fuera minimizar x + y,
el problema tendra como soluciones a todos los puntos de la arista nita situada en la recta x + y = 1,
y entonces se habla de una soluci on de arista.
El problema 3) es no acotado, es decir, aunque es factible no tiene soluci on, porque hay soluciones
factibles con x tan grande como se quiera, luego ninguna es un m aximo de la funci on objetivo. Este caso
solo puede darse si el conjunto de oportunidades no est a acotado, aunque puede ocurrir que el conjunto
de oportunidades sea no acotado y el problema sea acotado (es el caso de los problemas 1 y 2).
El problema 4) es claramente infactible.
Del apartado siguiente se desprende entre otras cosas que para problemas lineales no hay m as
posibilidades.
TEMA 4. INTRODUCCI

ON A LA PROGRAMACI

ON LINEAL 42
Conjunto de oportunidades y existencia de optimos Las observaciones siguientes son consecuen-
cias inmediatas de la teora general que ya conocemos:
El conjunto de oportunidades de un problema lineal es convexo.
Ello se debe a que esta denido por desigualdades de funciones lineales, luego es una intersecci on
de semiespacios, los semiespacios son convexos y la interseccion de conjuntos convexos es convexa.
M as concretamente, el conjunto de oportunidades es lo que se llama un politopo (interseccion de
semiespacios).
El conjunto de oportunidades no es necesariamente acotado. Cuando est a acotado es lo que se
llama un poliedro (politopo acotado).
Aunque un problema lineal sea factible, no tiene por que tener solucion optima. Lo m aximo que
podemos decir en general es lo que arma el teorema de Weierstrass: si el conjunto de oportunidades
es compacto entonces existira soluci on optima. No obstante, puede haber soluci on optima aunque
el conjunto de oportunidades no sea compacto (por ejemplo, es el caso del problema 1 anterior).
Los optimos de un problema lineal (en caso de existir) son globales.
Esto es por el teorema local-global, ya que el conjunto de oportunidades es convexo y la funci on
objetivo es a la vez concava y convexa, por ser lineal.
Una soluci on de un problema lineal es optima si y s olo si cumple las condiciones de Kuhn y Tucker.
En efecto, todo optimo cumple las condiciones de Kuhn y Tucker porque el problema cumple
la cualicaci on de restricciones de linealidad (y, obviamente, tanto la funci on objetivo como las
restriccions son de clase C
2
por ser polinomios); y todo punto de Kuhn y Tucker es un optimo
porque el conjunto de oportunidades es convexo y la funci on objetivo es tanto c oncava como convexa
por ser lineal.
Las soluciones optimas de un problema lineal (en caso de existir) son siempre soluciones de frontera,
nunca interiores, y al menos una se alcanza siempre en un vertice del conjunto de oportunidades.
Si dos soluciones factibles son optimas, tambien lo son todas las soluciones del segmento compren-
dido entre ambas.
4.2 Soluciones factibles basicas
En la seccion anterior hemos hablado de vertices del conjunto de oportunidades, si bien no hemos
dado ninguna denici on precisa de este concepto. Podramos dar una denici on geometrica de vertice,
pero no merece la pena, pues la forma operativa de trabajar con los vertices de un politopo es a traves
de una caracterizacion algebraica que vamos a ver ahora.
Denicion Consideremos un problema lineal en forma est andar con n variables y m restricciones (sin
contar las condiciones de no negatividad), es decir,
Max. c
t
x
s.a. A x =

b
x

0
Una soluci on basica del problema es una soluci on x R
n
que cumpla las tres condiciones siguientes:
1. Satisface las restricciones A x =

b.
2. Tiene n m componentes nulas, a las que llamaremos variables no b asicas de la soluci on. A las
variables restantes (nulas o no) las llamaremos variables b asicas.
TEMA 4. INTRODUCCI

ON A LA PROGRAMACI

ON LINEAL 43
3. La submatriz de A formada por las columnas asociadas a las variables b asicas (a la que llamaremos
matriz b asica de la soluci on) tiene determinante no nulo.
Representaremos por x
B
al vector de variables b asicas de una solucion b asica dada, mientras que x
N
denotar a el vector de variables no b asicas. La matriz basica la representaremos siempre por B, mientras
que N representar a la matriz no b asica, es decir, la submatriz de A formada por las columnas asociadas
a las variables no b asicas. Notemos que la matriz b asica es necesariamente una matriz cuadrada.
Para expresar estas descomposiciones escribiremos x = ( x
B
, x
N
), A = (B, N), c = ( c
B
, c
N
), etc.
Es importante observar que, pese a la condici on 1 de la denici on, una soluci on b asica x no es
necesariamente factible, pues para que lo sea no solo debe cumplir las restricciones A x =

b, sino tambien
las condiciones de no negatividad x 0, y esto no lo exige la denici on de soluci on b asica. Cuando una
solucion sea a la vez factible y b asica diremos que es una soluci on factible b asica.
1
Tambien hemos de tener presente que la denici on de soluci on b asica exige que las variables no b asicas
sean nulas, pero las variables b asicas pueden ser nulas o no serlo.
Una soluci on b asica es degenerada si alguna de sus variables b asicas es nula.
Ejemplo Consideremos el problema
Max. 4x + 5y
s.a. 2x +y 8
y 5
x, y 0
Para poder hablar de soluciones b asicas necesitamos ponerlo primero en forma estandar, introduciendo
para ello dos variables de holgura:
Max. 4x + 5y
s.a. 2x +y +s = 8
y +t = 5
x, y, s, t 0
As tenemos m = 2 ecuaciones con n = 4 inc ognitas, luego la denici on de soluci on b asica exige que
al menos n m = 2 componentes sean nulas. La matriz tecnica es
A =
_
x y s t
2 1 1 0
0 1 0 1
_
.
Vamos a comprobar que x = (0, 0, 8, 5) es una soluci on factible b asica del problema. Obviamente,
para ello hemos de considerar (x, y) como variables no b asicas y (s, t) como variables b asicas. Vemos que
se cumple la segunda condici on de la denici on. La primera condici on es A x =

b, es decir,
_
2 1 1 0
0 1 0 1
_
_
_
_
_
0
0
8
5
_
_
_
_
=
_
8
5
_
,
lo cual es cierto. Por ultimo, la tercera condici on exige que la matriz formada por las columnas asociadas
a las variables b asicas, esto es,
B =
_
s t
1 0
0 1
_
1
Notemos que para que un problema pueda tener soluciones basicas hace falta que la matriz tecnica contenga un menor
de orden m no nulo, lo cual equivale a que tenga rango m. Si no fuera as, podramos eliminar restricciones linealmente
dependientes hasta que el rango fuera m.
TEMA 4. INTRODUCCI

ON A LA PROGRAMACI

ON LINEAL 44
tenga determinante no nulo, lo cual es claramente cierto.
Con esto hemos comprobado que x es una solucion b asica. Como ademas satisface x 0, concluimos
que es una soluci on factible b asica.
Observaci on importante Si x = ( x
B
, x
N
) = ( x
B
,

0) es una soluci on b asica de un problema lineal, la


condici on A x =

b se reduce a B x
B
=

b (pues A = (B, N), y los coecientes de N se multiplican por las
variables no b asicas, que valen todas 0). Como la matriz b asica B tiene determinante no nulo, existe la
matriz inversa, y podemos despejar:
x
B
= B
1

b.
Esto signica que si jamos cu ales son las variables b asicas, podemos calcular cu anto valen o, dicho
de otro modo, que no puede haber m as que una soluci on b asica con unas variables b asicas prejadas.
Notemos tambien que puede no haber ninguna. Esto sucede si la submatriz asociada a las (presuntas)
variables b asicas tiene determinante 0.
Ejemplo Continuemos con el problema anterior
Max. 4x + 5y
s.a. 2x +y +s = 8
y +t = 5
x, y, s, t 0
A =
_
x y s t
2 1 1 0
0 1 0 1
_
,
y vamos a ver si existe una solucion b asica con variables b asicas (y, t). Para ello comprobamos que la
submatriz correspondiente
B =
_
1 0
1 1
_
tiene determinante |B| = 1 = 0, luego s que existe solucion b asica. Para calcularla hacemos
_
y
t
_
= x
B
= B
1

b =
_
1 0
1 1
__
8
5
_
=
_
8
3
_
.
Las componentes no basicas han de ser nulas, luego la soluci on b asica es
(x, y, s, t) = (0, 8, 0, 3).
Como la solucion no es no negativa, vemos que no es factible, luego concluimos que no hay soluciones
factibles b asicas con variables basicas (y, t).
Ejemplo El problema anterior no tiene soluciones b asicas con variables basicas (x, s), pues la submatriz
correspondiente es
B =
_
2 1
0 0
_
y tiene determinante nulo.
Ejemplo Calcula todas las soluciones factibles b asicas del problema
Max. 2x +y
s.a. x +y 1
x 2y 0
x y 1
x, y 0
TEMA 4. INTRODUCCI

ON A LA PROGRAMACI

ON LINEAL 45
Soluci on: En primer lugar ponemos el problema en forma est andar y calculamos la matriz tecnica:
Max. 2x +y
s.a. x +y s = 1
x 2y t = 0
x y +u = 1
x, y, s, t, u 0
, A =
_
_
x y s t u
1 1 1 0 0
1 2 0 1 0
1 1 0 0 1
_
_
Cada soluci on b asica ha de tener tres variables b asicas y dos no basicas. Hay 10 posibilidades para
las variables b asicas:
(x, y, s), (x, y, t), (x, y, u), (x, s, t), (x, s, u), (x, t, u), (y, s, t), (y, s, u), (y, t, u), (s, t, u).
Para cada una de ellas, hemos de ver si determina una soluci on b asica y, en tal caso, ver si es factible.
Por ejemplo, para (x, y, s) tenemos que la submatriz
B =
_
_
1 1 1
1 2 0
1 1 0
_
_
tiene determinante |B| = 1, luego existe solucion b asica, dada por
_
_
x
y
s
_
_
= B
1

b =
_
_
0 1 2
0 1 1
1 2 3
_
_
_
_
1
0
1
_
_
=
_
_
2
1
2
_
_
.
La soluci on completa es (x, y, s, t, u) = (2, 1, 2, 0, 0), que es factible, porque es no negativa.
Si tomamos (x, y, t) como variables b asicas, la matriz basica ha de ser
B =
_
_
1 1 0
1 2 1
1 1 0
_
_
.
Como |B| = 2 = 0, existe solucion b asica, dada por
_
_
x
y
t
_
_
= B
1

b =
1
2
_
_
1 0 1
1 0 1
1 2 3
_
_
_
_
1
0
1
_
_
=
_
_
1
0
1
_
_
.
La solucion completa es (x, y, s, t, u) = (1, 0, 0, 1, 0). Se trata de una soluci on factible b asica.
Observemos que la solucion que hemos encontrado tiene una variable b asica nula, lo cual hace que esta
sea tambien la soluci on b asica correspondiente a las variables b asicas (x, s, t) y (x, t, u) (se comprueba que
las matrices correspondientes tienen determinante no nulo). Nos quedan 6 casos por estudiar. Procediendo
del mismo modo se llega unicamente a una soluci on factible b asica mas, a saber
(x, y, s, t, u) = (2/3, 1/3, 0, 0, 2/3).
Las soluciones basicas correspondientes a los 5 casos restantes resultan ser infactibles.
En denitiva, las soluciones factibles b asicas (x, y, s, t, u) son
(2, 1, 2, 0, 0), (1, 0, 0, 1, 0), (2/3, 1/3, 0, 0, 2/3).
Si en el resultado del ejemplo anterior eliminamos las variables de holgura, obtenemos los puntos (x, y)
siguientes:
(2, 1), (1, 0), (2/3, 1/3).
Por otra parte, si representamos el conjunto de oportunidades vemos que es
TEMA 4. INTRODUCCI

ON A LA PROGRAMACI

ON LINEAL 46
(2,1)
(1,0)
(2/3,1/3)
Vemos as algo que, en realidad, es un hecho general que explica el interes de las soluciones factibles
b asicas:
Las soluciones factibles b asicas de un problema lineal son los vertices de su conjunto de oportunidades.
Ahora podemos reformular en terminos de soluciones factibles basicas un hecho que ya habamos
comentado en terminos de vertices:
Teorema fundamental de la programacion lineal Consideremos un problema de programaci on
lineal:
1. Si el problema tiene soluciones factibles, entonces (escrito en forma est andar) tiene al menos una
soluci on factible b asica.
2. Si el problema tiene soluci on optima, entonces (escrito en forma est andar) tiene una soluci on
optima que es factible b asica.
Esto es crucial porque un problema factible tiene innitas soluciones factibles, pero s olo un n umero
nito de soluciones factibles b asicas. Por lo tanto, si el problema es acotado, para encontrar el optimo
basta buscar la soluci on factible b asica donde la funci on objetivo sea mayor (o menor).
Desgraciadamente, calcular todas las soluciones factibles basicas es, por lo general, una tarea ardua.
En el tema siguiente veremos un metodo para rastrear el optimo entre las soluciones factibles b asicas sin
necesidad de calcularlas todas.
Problemas
1. Resuelve gracamente los problemas siguientes, e indica si la solucion optima es de vertice, de arista
o de arista innita:
Max. x +y
s.a. x +y 2
x + 2y 6
2x +y 6
x, y 0
Max. 2x +y
s.a. x +y 2
x + 2y 6
2x +y 6
x, y 0
Max. x +y
s.a. x +y 2
y 4
x, y 0
Max. x + 3y
s.a. x +y 6
x + 2y 8
x, y 0
Min. 6x + 8y
s.a. 3x +y 4
5x + 2y 7
x, y 0
Min. x y
s.a. x y 10
x +y 1
x, y 0
2. Expresa los problemas siguientes en forma estandar y can onica:
Max. x +y
s.a. x +y = 2
x + 2y 6
2x +y 6
x 0, y 0
Max. 2x + 3y +z
s.a. 4x + 3y +z 20
x +y 20
x 0, y 0
Min. x +y
s.a. x +y 2
TEMA 4. INTRODUCCI

ON A LA PROGRAMACI

ON LINEAL 47
3. Dado el problema
Max. 2x + 3y +z
s.a. x + 2y +z 30
x +y 20
x, y, z 0
Determina cuales de las soluciones siguientes son soluciones factibles basicas:
(10, 10, 0, 0, 0), (0, 0, 0, 30, 20), (20, 0, 5, 5, 0), (0, 0, 30, 0, 20), (20, 0, 5, 0, 0).
4. Considera el problema
Max. 4x + 2y + 4z
s.a. x 5
2x +y +z = 4
y + 2z = 3
x, y, z 0
(a) Determina si existe una soluci on factible b asica con variables b asicas x, y, z.
(b) Comprueba si (1/2, 3, 0, 9/2), (1, 1, 1, 4), (0, 5, 1, 5) son soluciones factibles b asicas. En caso
de no serlo, indica si no son factibles o no son b asicas (o ambas cosas).
(c) Calcula todas las soluciones factibles basicas y el valor de la funci on objetivo en cada una de
ellas.
(d) Justica que el problema tiene soluci on optima y calc ulala.
5. Un problema lineal tiene el conjunto de oportunidades indicado en la gura:
1 2 3 4 5 6
1
2
3
4
5
(a) Calcula (las variables principales de) todas las soluciones factibles b asicas.
(b) Si el objetivo es maximizar 4x y, calcula la soluci on optima.
6. Calcula todas las soluciones factibles b asicas de los problemas
Max. 2x 3y
s.a. x +y 1
x y 0
x, y 0
Max. x + 2y
s.a. x +y 3
x y 1
x y 1
x, y 0
Max. x + 2y
s.a. x + 2y 2
x + 2y 4
x, y 0
e indica la base correspondiente a cada una de ellas. Calcula tambien la soluci on optima.
TEMA 4. INTRODUCCI

ON A LA PROGRAMACI

ON LINEAL 48
7. Consideremos el problema
Max. x
1
+ 2x
2
+ 4x
3
s.a. x
1
+x
2
10
x
1
+ 2x
2
+x
3
= 14
x
1
, x
2
, x
3
0
(a) Determina la soluci on factible b asica correspondiente a las variables b asicas x
1
, x
2
.
(b) Calcula otras dos soluciones factibles b asicas mas.
(c) Calcula una soluci on b asica no factible.
(d) Calcula una soluci on factible no b asica.
Cuestiones
1. Un problema lineal de maximizar en forma est andar tiene cuatro soluciones factibles b asicas x
1
,
x
2
, x
3
, x
4
, sobre las cuales la funci on objetivo toma los valores z
1
= 3, z
2
= 4, z
3
= 8, z
4
= 6.
Explica por que no podemos asegurar que x
3
es la solucion optima del problema.
2. Razona si el conjunto indicado en la gura puede ser el conjunto de oportunidades de un problema
lineal.
3. La gura representa el conjunto de oportunidades de un problema de programaci on lineal en forma
canonica (contenido en el cuadrante x > 0, y > 0). Las letras sobre las aristas indican la variable
de holgura correspondiente a la restricci on.
s
t
u
v
w
(a) Cu antas variables b asicas tiene una solucion b asica?
(b) De los tres puntos se nalados en la gura, di cu ales son soluciones factibles basicas y cuales no.
De los que lo sean, indica cu ales son las variables b asicas.
(c) Di cu ales de los tres puntos pueden ser optimos del problema y cu ales no.
(d) Para cada uno de los tres puntos indica si cada una de las variables es positiva, negativa o
nula.
(e) Puede ser x una variable no b asica en alguna soluci on?
(f) El problema puede ser no acotado?, puede ser infactible?, puede tener soluciones de arista?,
y de arista innita?
Tema 5
El metodo smplex
Lo visto en el tema anterior nos da un algoritmo muy poco operativo, pero conceptualmente muy
simple para resolver un problema lineal: calculamos todas las soluciones factibles b asicas, evaluamos en
ellas la funci on objetivo y nos quedamos con la mejor. Este metodo presenta tres inconvenientes:
1. S olo es valido si el problema es acotado (y no nos dice si lo es o no).
2. Hay demasiadas soluciones factibles basicas. Por ejemplo, en un problema peque no, con tres res-
tricciones y ocho variables, hemos de investigar 56 matrices 3 3, de las que hemos de calcular su
determinante y, si es no nulo, la matriz inversa.
3. En cada paso, las operaciones a realizar son laboriosas (calcular determinantes e inversas).
En este tema veremos un algoritmo conocido como metodo smplex que simplica enormemente el
proceso, a la vez que nos permite determinar si un problema es o no acotado, y si tiene una o innitas
soluciones.
5.1 Descripci on general del smplex
Dado un problema de programaci on lineal, el metodo smplex consiste en partir de un vertice de
su conjunto de oportunidades es decir, de una soluci on factible b asica e ir saltando sucesivamente
de una a otra adyacente, de modo que la funci on objetivo mejore siempre (o, al menos, no empeore
nunca). Cuando llegamos a una soluci on desde la cual no podemos saltar a otra contigua mejor, el
proceso termina, ya sea porque hemos encontrado el optimo, ya sea porque hemos llegado a un extremo
de una arista innita a traves de la cual la funci on objetivo mejora indenidamente (y el problema es no
acotado). Con esto eliminamos los inconvenientes del metodo de fuerza bruta que habamos planteado:
1. Cuando el metodo smplex termina, sabemos si lo hace porque ha encontrado el optimo o porque
el problema es no acotado.
2. No es necesario calcular todas las soluciones factibles basicas, sino solo recorrer algunas de ellas por
un camino que, en general, lleva con bastante rapidez a la soluci on optima.
3. Una vez calculada una soluci on factible b asica, el metodo smplex nos permite calcular otra ad-
yacente mediante operaciones muy sencillas, sin necesidad de volver a calcular determinantes o
matrices inversas.
M as concretamente, a cada solucion factible b asica le asociaremos una tabla que contendr a toda la
informaci on que el smplex necesita para pasar a otra adyacente. Esta informaci on contendr a, natural-
mente, las coordenadas de la solucion y el valor de la funci on objetivo, pero tambien lo necesario para
49
TEMA 5. EL M

ETODO S

IMPLEX 50
determinar a cu al de las aristas contiguas conviene saltar para que la funci on objetivo aumente m as
r apidamente (en particular, para que nunca disminuya).
Geometricamente, dos vertices de un politopo son adyacentes si estan unidos por una arista, pero en
la pr actica usaremos la siguiente caracterizacion algebraica de la adyacencia. Recordemos que un vertice
(o una soluci on factible b asica) esta completamente determinado cuando jamos cu ales de las variables
son b asicas.
Teorema Dos soluciones factibles b asicas son adyacentes si y s olo si se diferencian unicamente en una
variable b asica, es decir, si hay una unica variable que es b asica para una y no para la otra (y, por
consiguiente, hay una variable no b asica para una que es b asica para la otra).
Dicho de otro modo, para pasar de una variable b asica a otra adyacente, hemos de elegir una variable
b asica para que deje de serlo, y una no b asica para que pase a serlo. El metodo smplex nos dir a como
debemos elegir estas variables para que la funci on objetivo mejore con ello.
5.2 La tabla del smplex
Consideremos un problema lineal en forma est andar
Max. c
t
x
s.a. A x =

b
x 0
y consideremos una solucion factible b asica x = ( x
B
, x
N
). Recordemos que x
B
= B
1

b. Teniendo en
cuenta que x
N
=

0, observamos que el valor de la funci on objetivo en x es
z = c
t
x = c
t
B
x
B
= c
t
B
B
1

b.
La tabla del smplex asociada a la solucion es la siguiente:
c
1
c
n
x
1
x
n
c
B
x
B
Y = B
1
A x
B
= B
1

b
z = c
t
B
Y
w = c z
c
t
B
B
1

b
Hay que aclarar que el x
B
que aparece a la izquierda, as como los x
1
, . . . , x
n
, representan los nombres
de las variables, mientras que el x
B
que aparece a la derecha representa los valores de las variables b asicas.
Tambien conviene observar que para calcular cada componente w
i
del vector w la expresion explcita es
w
i
= c
i
c
B
B
1
A.
En la seccion siguiente veremos la interpretaci on de los datos contenidos en la tabla, pero de momento
veamos un ejemplo de como se construye.
Ejemplo Calcular la tabla del smplex correspondiente al problema
Max. 2x +y
s.a. x + y s = 1
x 2y t = 0
x y +u = 1
x, y, s, t, u 0
y a las variables b asicas x, y, s.
TEMA 5. EL M

ETODO S

IMPLEX 51
Soluci on: Ya hicimos parte de los calculos de este ejemplo al nal del tema anterior, pero por
conveniencia los repetiremos aqu: Las matrices son
A =
_
_
x y s t u
1 1 1 0 0
1 2 0 1 0
1 1 0 0 1
_
_
, B =
_
_
1 1 1
1 2 0
1 1 0
_
_
,

b =
_
_
1
0
1
_
_
,
B
1
=
_
_
0 1 2
0 1 1
1 2 3
_
_
, Y = B
1
A =
_
_
1 0 0 1 2
0 1 0 1 1
0 0 1 2 3
_
_
,
x
B
= B
1

b =
_
_
2
1
2
_
_
.
Con estos calculos ya podemos construir la tabla:
2 1 0 0 0
x y s t u
2 x 1 0 0 1 2 2
1 y 0 1 0 1 1 1
0 s 0 0 1 2 3 2
2 1 0 3 5
0 0 0 3 5
5
Notemos que la parte inferior de la tabla se calcula directamente a partir de los datos de la parte
superior.
Observemos que la submatriz de Y correspondiente a las variables b asicas es la identidad. Esto
siempre es as.
Existe un caso que se da con relativa frecuencia en el que el calculo de la tabla es mucho m as sencillo.
Se trata del caso en que la matriz tecnica A tiene una submatriz igual a la identidad y, adem as, el vector
de terminos independientes cumple

b

0. Por ejemplo, las variables de holgura proporcionan una matriz


identidad en todos los problemas en los que las restricciones sean de . En este caso, tomamos como
variables b asicas las correspondientes a las columnas que dan la matriz identidad, con lo que B = I y
por consiguiente Y = A, x
B
=

b. Observemos que si no se cumpliera

b

0, entonces la solucion b asica
no sera factible.
Ejemplo Calcular una tabla del smplex para el problema
Max. 4x + 5y
s.a. 2x +y 8
y 5
x, y 0
Soluci on: Introducimos variables de holgura:
Max. 4x + 5y
s.a. 2x +y +s = 8
y +t = 5
x, y, s, t 0
TEMA 5. EL M

ETODO S

IMPLEX 52
De este modo,
A =
_
x y s t
2 1 1 0
0 1 0 1
_
.
Como los terminos independientes son no negativos, podemos tomar s y t como variables b asicas, y
entonces B es la matriz identidad. La tabla correspondiente es
4 5 0 0
x y s t
0 s 2 1 1 0 8
0 t 0 1 0 1 5
0 0 0 0
4 5 0 0
0
5.3 Interpretaci on de la tabla del smplex
Para entender el algoritmo del smplex es necesario saber interpretar sus tablas. Consideremos por
ejemplo el problema
Max. x y
s.a. x + 2y 4
x + y 3
x, y 0,

Max. x y
s.a. x + 2y +s = 4
x + y +t = 3
x, y, s, t 0,
cuyo conjunto de oportunidades es
(0, 0)
(0, 2)
(3, 0)
(2, 1)
s
t
Aunque podramos construir f acilmente una tabla tomando como variables b asicas las de holgura lo
cual nos situara en el vertice (0, 0), sera mas ilustrativo partir del vertice (0, 2), cuya tabla asociada
es
1 1 0 0
x y s t
1 y 1/2 1 1/2 0 2
0 t 1/2 0 1/2 1 1
1/2 1 1/2 0
3/2 0 1/2 0
2
La ultima columna de la tabla nos indica que estamos en el punto (x, y, s, t) = (0, 2, 0, 1) y que la
funci on objetivo vale z = 2. Desde este vertice tenemos la posibilidad de saltar al vertice (2, 1), donde
la funci on objetivo vale z = 1, o bien al vertice (0, 0), donde la funci on objetivo vale z = 0. Vemos, pues,
que es mejor saltar a (2, 1). La cuestion es como deducir esto de la tabla y no del dibujo.
Ante todo, observemos que saltar a (2, 1) signica permitir que la variable x deje de valer 0 (pase a
ser basica), mientras que la variable t pasa a valer 0 (no b asica). Igualmente, saltar a (0, 0) signica que
la variable s entra en la base al tiempo que sale y.
TEMA 5. EL M

ETODO S

IMPLEX 53
El algoritmo del smplex sera evidente en cuanto comprendamos el signicado de todos los elementos
de la tabla:
Coecientes de la funcion objetivo c
j
La funci on objetivo es z = c
1
x
1
+ +c
n
x
n
, luego
c
j
=
z
x
j
.
Por consiguiente, c
j
es el incremento que experimenta la funci on objetivo z por cada unidad que aumenta
la variable x
j
(supuesto que las dem as variables permanecen constantes).
En el ejemplo, vemos que por cada unidad que aumenta la x la funci on objetivo aumenta en 1 y por
cada unidad que aumenta la y la funci on objetivo disminuye en 1. Al aumentar las variables s y t la
funci on objetivo no se altera (esto ocurre siempre con las variables de holgura, porque no aparecen en la
funci on objetivo).
Coecientes de la matriz Y Si nos movemos por una arista del conjunto de oportunidades, por
ejemplo, la que va de (0, 2) a (2, 1) estamos aumentando la variable x, de modo que pasa de ser no b asica
(valer 0) a hacerse basica (con valor 2). Ahora bien, no podemos decir que la funci on objetivo aumenta
z =
z
x
x = 1 2 = 2,
porque, al movernos por la arista, el incremento de x obliga a modicar tambien la y y, en general, a
modicar las dem as variables b asicas. Se puede probar que
y
ij
=
x
i
x
j
,
es decir, y
ij
es el incremento que experimenta la variable b asica x
i
por cada unidad que aumentamos
la variable no b asica x
j
, supuesto que las dem as variables no b asicas permanecen constantes y que nos
movemos sobre una arista del conjunto de oportunidades.
En nuestro ejemplo, si nos movemos de (0, 2) a (2, 1), es decir, si aumentamos la x pero dejamos ja la
variable no b asica s, por cada unidad que aumenta x la variable y disminuye 1/2 y la variable t tambien
disminuye 1/2.
Rendimientos indirectos z
j
Seg un lo que acabamos de decir, si nos movemos de (0, 2) a (2, 1),
por cada unidad que aumenta x la y se incrementa en 1/2, lo que hace que la funci on objetivo se
incremente en
y
z = (1)(1/2), y la variable t se incrementa en 1/2, lo que hace que la funci on
objetivo se incremente en
t
z = 0 (1/2), luego, en total, la variaci on de las variables b asicas produce
un incremento en la funci on objetivo de z
x
= (1)(1/2) + 0 (1/2) = 1/2. En general:
z
j
es el incremento que experimenta la funci on objetivo por cada unidad que incrementamos la
variable no b asica x
j
siguiendo una arista y manteniendo constantes las dem as variables no b asicas
debido a la variaci on correspondiente de las variables b asicas.
Rendimientos marginales w
j
Puesto que w
j
= c
j
z
j
, vemos que w
j
es la suma de la variacion de z
producida directamente por un aumento unitario de x
j
mas la variaci on indirecta debida a la modicaci on
de las variables b asicas. En denitiva,
w
j
=
z
x
j
,
donde ahora consideramos a z solo como funci on de las variables no b asicas. Es decir:
El rendimiento marginal w
j
es el incremento que experimenta la funci on objetivo por cada unidad que
aumenta la variable no b asica x
j
, suponiendo que las dem as variables no b asicas permanecen constantes
TEMA 5. EL M

ETODO S

IMPLEX 54
pero teniendo en cuenta la variaci on necesaria de las variables b asicas para mantenernos sobre una arista
del conjunto de oportunidades.
En nuestro ejemplo, la ultima la de la tabla nos dice que si aumentamos la x para ir a (2, 1) la
funci on objetivo aumenta a un ritmo de 3/2 unidades por cada unidad de x, mientras que si aumentamos
la s para ir a (0, 0), la funci on objetivo aumenta a un ritmo de 1/2 unidades por cada unidad de s. En
otras palabras, la funci on objetivo crece mas rapidamente si hacemos basica a la x que si hacemos basica
la s. Esto se ve directamente en la tabla y es la razon por la que el smplex elige hacer b asica a la x.
Concretamente, el metodo smplex establece el siguiente
Criterio de entrada (para maximizar) La variable no b asica x
j
que ha de entrar en la base es
aquella para la cual w
j
> 0 es m aximo. Si hay empate se elige una cualquiera, y si w
j
0 para todo j,
el proceso termina.
Notemos que si introdujeramos en la base una variable con
j
< 0 entonces la funci on objetivo
empeorara, y si introdujeramos una con
j
= 0 entonces la funci on objetivo se quedara igual. Si no es
posible mejorar la funci on objetivo, el smplex termina.
Si el problema es de minimizar, cambiamos el criterio de entrada de forma obvia:
Criterio de entrada (para minimizar) La variable no b asica x
j
que ha de entrar en la base es
aquella para la cual w
j
< 0 es mnimo. Si hay empate se elige una cualquiera, y si w
j
0 para todo j,
el proceso termina.
En cualquier caso, el criterio de entrada es introducir la variable que hace mejorar m as rapidamente
a la funci on objetivo. Si no es posible hacerla mejorar, el proceso termina.
Una vez jada la variable que ha de entrar en la base, en nuestro ejemplo la x, falta determinar cu al
ha de salir. Gr acamente hemos visto que ha de ser la t, pero nos falta saber c omo detectarlo en la tabla.
Para ello nos jamos en la columna de la variable que entra, digamos x
j
. Por cada unidad que
aumentemos x
j
, cada variable b asica x
i
aumentar a y
ij
unidades. Si y
ij
0, entonces el incremento de
x
i
sera positivo, con lo que x
i
siempre cumplir a la condici on de no negatividad. En cambio, si y
ij
> 0,
entonces x
i
ir a disminuyendo, y en un momento dado llegar a a 0. La cuestion es que variable b asica
llega antes a 0? Si vamos aumentando la x
j
, la primera variable b asica que llegue a 0 se habr a convertido
en no b asica, y ello signicar a que ya hemos llegado al vertice adyacente.
As pues, si x
i
disminuye y
ij
unidades por cada unidad que aumenta x
j
y parte de un valor x
i
, vemos
que llegar a a 0 cuando x
j
haya aumentado x
i
/y
ij
unidades. La primera variable b asica que se hace no
b asica es aquella para la que x
i
/y
ij
sea mnimo (de entre las que cumplen y
ij
> 0). Esto nos da el
Criterio de salida (para maximizar y minimizar) Si el criterio de entrada establece que ha de
entrar la variable x
j
, entonces consideramos todas las variables b asicas x
i
para las que y
ij
> 0 (las que
disminuyen cuando aumenta x
j
) y, de entre ellas, sale la que hace mnimo a x
i
/y
ij
(la que llega antes a
0). Si hay empate se elige una cualquiera, y si y
ij
0 para todo i, el proceso termina.
Notemos que si todas las y
ij
0 (y tenemos una variable de entrada x
j
con w
j
> 0) esto signica
que podemos aumentar cuanto queramos x
j
sin que ninguna variable se vuelva negativa, luego tenemos
soluciones para las que la funci on objetivo es tan grande como se quiera. En denitiva, el problema es
no acotado.
5.4 El algoritmo del smplex
En la seccion anterior hemos expuesto ya la mayor parte del metodo smplex. S olo falta determinar
como se transforma la tabla de una soluci on factible b asica en la tabla de otra adyacente. De todos
modos, sistematizamos lo que hemos discutido:
TEMA 5. EL M

ETODO S

IMPLEX 55
Algoritmo del smplex:
Paso inicial Calcular una tabla asociada a una soluci on factible b asica.
Esto puede hacerse calculando Y = B
1
A y x
B
= B
1

b, buscando una matriz B = I (siempre y


cuando

b

0) o por el metodo de las penalizaciones, que explicaremos despues.


Continuando con el ejemplo de la secci on anterior, partimos de la tabla:
1 1 0 0
x y s t
1 y 1/2 1 1/2 0 2
0 t 1/2 0 1/2 1 1
1/2 1 1/2 0
3/2 0 1/2 0
2
Paso 1 Determinar la variable x
j
que entra en la base y la variable x
i
que sale de la base.
Recordemos que el criterio de entrada es tomar la x
j
para la que w
j
> 0 es maximo si el problema
es de maximizar o w
j
< 0 mnimo si es de minimizar. Si ninguna variable cumple el criterio de
entrada estamos ya en la solucion optima.
Una vez jada x
j
, el criterio de salida es que entra la variable x
i
para la que x
i
/y
ij
> 0 es mnimo.
Si y
ij
0 para todo i, entonces el problema es no acotado y el algoritmo termina.
En el ejemplo entra la variable x, pues su rendimiento marginal w
x
= 3/2 es el mayor de todos. Al
aumentar x, las variables b asicas y, t disminuyen (pues y
yx
= 1/2 > 0, y
tx
= 1/2 > 0), luego ambas
pueden llegar a 0. La primera que llega a 0 es t, pues 1/(1/2) = 2 < 2/(1/2) = 4. Sale la variable t.
El elemento situado en la la de la variable que sale y en la columna de la variable que entra (en
nuestro ejemplo el 1/2 marcado en negrita) se llama pivote.
Conviene observar que si existe una variable cuyo marginal tiene el signo correcto para entrar
(aunque no sea la que cumple el criterio de entrada por no ser la que mejora m as rapidamente
la funci on objetivo) y, respecto a ella, ninguna variable cumple el criterio de salida, entonces el
problema es no acotado y no es necesario continuar. (Ver el apartado tipos de soluciones, m as
abajo.)
Paso 2 Calcular la tabla de la soluci on adyacente establecida en el paso anterior.
Paso 2a Cambiamos la base en la tabla.
En nuestro ejemplo, sustituimos la t por la x en la parte izquierda. La gua para construir la nueva
tabla es que en la columna de la nueva variable b asica (en nuestro ejemplo la x) ha de haber un 1
en su la y ceros en las demas:
1 1 0 0
x y s t
1 y 0
1 x 1
Paso 2b Dividimos la la del pivote entre el pivote para obtener el 1.
TEMA 5. EL M

ETODO S

IMPLEX 56
En nuestro ejemplo dividimos entre 1/2 (es decir, multiplicamos la la por 2):
1 1 0 0
x y s t
1 y 0
1 x 1 0 1 2 2
Paso 2c Hacemos ceros en el resto de la columna.
Para ello, a cada la donde queramos hacer un cero le hemos de sumar la la del pivote multiplicada
por el n umero adecuado. En nuestro ejemplo, a la primera la le sumamos la segunda multiplicada
por 1:
1 1 0 0
x y s t
1 y 0 1 1 1 1
1 x 1 0 1 2 2
Paso 2d Reconstruimos la parte inferior de la tabla.
1 1 0 0
x y s t
1 y 0 1 1 1 1
1 x 1 0 1 2 2
1 1 2 3
0 0 2 3
1
Paso 3 Volvemos al paso 1.
En nuestro ejemplo vemos que introducir la variable s en la base hace aumentar la funci on objetivo,
mientras que introducir la t la hace disminuir. Por lo tanto entra la variable s. Cuando la s aumenta, la
variable y disminuye, mientras que x aumenta, luego la unica variable que llega a 0 es y, que es, pues, la
variable que sale de la base. La nueva tabla resulta ser:
1 1 0 0
x y s t
0 s 0 1 1 1 1
1 x 1 1 0 1 3
1 1 0 1
0 2 0 1
3
Cuando volvemos al paso 1, observamos que ninguna variable puede entrar en la base, pues todas
hacen disminuir a la funci on objetivo, luego ya estamos en la tabla optima, que corresponde a la soluci on
(x, y, s, t) = (3, 0, 1, 0), con valor de la funci on objetivo z = 3.
El algoritmo del smplex nos informa de si hemos llegado a la soluci on optima o si el problema es no
acotado. M as a un, viendo la tabla optima podemos saber si el problema tiene solucion unica o si tiene
innitas soluciones:
TEMA 5. EL M

ETODO S

IMPLEX 57
Tipos de soluciones Resumimos aqu las situaciones que pueden darse cuando el algoritmo del smplex
termina. Para recordarlas conviene tener clara la interpretaci on de los criterios de entrada y salida:
La variable que entra x
j
es la que, al aumentar, hace que la funci on objetivo mejore m as rapidamente.
La variable que sale x
i
es la primera variable b asica que llega a 0 al aumentar x
j
.
Seg un esto, las posibilidades de que el smplex termine son:
1. Una variable no basica x
j
puede entrar pero ninguna puede salir.
Entonces podemos incrementar la variable x
j
sin que por ello ninguna variable b asica se anule
nunca, luego el incremento se puede prolongar indenidamente y la funci on objetivo mejorar a cada
vez mas. El problema es no acotado. Notemos que esto es valido aunque la variable que puede
entrar no sea la que satisface el criterio de entrada, por no tener el marginal mayor (para maximizar)
o menor (para minimizar).
2. Ninguna variable puede entrar.
Esto signica que la funci on objetivo empeora (o se mantiene constante) nos movamos hacia donde
nos movamos, luego estamos en una solucion optima. A su vez, pueden darse los casos siguientes:
(a) Todas las variables no b asicas cumplen w
j
= 0.
Entonces cualquier movimiento hara empeorar a la funci on objetivo. La soluci on es unica
(soluci on de vertice).
(b) Hay alguna variable no b asica x
j
con w
j
= 0.
Esto signica que si hicieramos entrar a esta variable pasaramos a otras soluciones con el
mismo valor de la funci on objetivo, es decir, otras soluciones optimas. A su vez hay dos
posibilidades:
i. Alguna variable b asica x
i
puede salir.
Entonces, al meter x
j
y sacar x
i
pasamos a otra solucion b asica optima. Estamos en una
soluci on de arista. Nota: Si la soluci on es degenerada, podra ser tambien de vertice.
ii. Ninguna variable b asica puede salir.
Esto signica que podemos aumentar x
j
sin que ninguna variable b asica se anule, luego
el incremento puede prolongarse innitamente sin llegar a otra soluci on b asica. Estamos
en una soluci on de arista innita.
Observaciones nales Terminamos con algunas observaciones utiles para detectar posibles errores de
calculo con el smplex:
En una tabla del smplex, las variables b asicas (la ultima columna) han de ser siempre 0.
Los rendimientos marginales w
j
de las variables b asicas han de ser nulos.
Las columnas de la matriz Y correspondientes a las variables b asicas (en el orden adecuado) deben
formar la matriz identidad.
El valor z de la funci on objetivo en una tabla ha de ser mejor o igual que el de las tablas calculadas
anteriormente.
5.5 El metodo de las penalizaciones
El paso del algoritmo del smplex m as complejo en cuanto a los calculos que requiere es el inicial,
es decir, el de encontrar una soluci on factible b asica y calcular su tabla asociada. Ya sabemos que el
problema es muy simple si la matriz tecnica contiene una submatriz igual a la identidad y los terminos
TEMA 5. EL M

ETODO S

IMPLEX 58
independientes son no negativos, pero si no es as, el calculo puede resultar muy complejo. (No se trata
unicamente de calcular un determinante, una matriz inversa y unos productos de matrices B
1
A, y B
1

b,
sino que, despues de hechos los calculos, puede que no aprovechen si no se cumple B
1

b 0, y haya que
volver a probar suerte.)
Vamos a ver una tecnica para encontrar m as f acilmente una soluci on factible b asica. Este metodo,
conocido como metodo de las penalizaciones, nos permite tambien determinar si el problema tiene o no
soluci on.
Consideremos, por ejemplo, el problema
Max. 2x +y
s.a. x +y s = 1
x 2y t = 0
x y +u = 1
x, y, s, t, u 0.
En primer lugar observamos que los terminos independientes de las restricciones son no negativos. Si
no fuera as, cambiaramos el signo a las restricciones necesarias para arreglarlo.
Ahora nos jamos en la matriz tecnica:
A =
_
_
x y s t u
1 1 1 0 0
1 2 0 1 0
1 1 0 0 1
_
_
.
El metodo de las penalizaciones consiste en a nadir nuevas variables al problema, llamadas variables
articiales, de modo que formen una submatriz identidad. En nuestro caso, como la columna de u s que
es aprovechable, solo necesitamos introducir dos variables articiales:
A =
_
_
x y s t A
1
A
2
u
1 1 1 0 1 0 0
1 2 0 1 0 1 0
1 1 0 0 0 0 1
_
_
.
Esta nueva matriz tecnica corresponde al problema
Max. 2x +y MA
1
MA
2
s.a. x +y s +A
1
= 1
x 2y t +A
2
= 0
x y +u = 1
x, y, s, t, A
1
, A
2
, u 0.
Notemos que tambien hemos introducido las variables articiales en la funci on objetivo, con coeciente
M, donde M > 0 representa a un n umero arbitrariamente grande. De este modo, mientras una variable
articial sea no nula, la funci on objetivo distar a mucho de ser optima, por lo que el smplex tender a a
anular (hacer no b asicas) las variables articiales. Cuando esto suceda, tendremos una soluci on factible
del problema original.
Las variables articiales se introducen en la funci on objetivo de forma que cuando sean
no nulas den lugar a una soluci on que diste mucho de ser optima. As, en un problema de
maximizar se introducen como MA
i
(para que el objetivo sea muy peque no), mientras que si
el problema es de minimizar se introducen como +MA
i
(para que sea muy grande).
TEMA 5. EL M

ETODO S

IMPLEX 59
Ahora podemos tomar a A
1
, A
2
, u como variables b asicas, y la tabla correspondiente es
2 1 0 0 M M 0
x y s t A
1
A
2
u
M A
1
1 1 1 0 1 0 0 1
M A
2
1 2 0 1 0 1 0 0
0 u 1 1 0 0 0 0 1 1
2M M M M M M 0
2 + 2M 1 M M M 0 0 0
M
Vemos que solo puede entrar en la base la variable x, mientras sale A
2
. La nueva tabla es
2 1 0 0 M M 0
x y s t A
1
A
2
u
M A
1
0 3 1 1 1 1 0 1
2 x 1 2 0 1 0 1 0 0
0 u 0 1 0 1 0 1 1 1
2 4 3M M 2 M M M + 2 0
0 5 + 3M M 2 +M 0 2M 2 0
M
Ahora entra y y sale A
1
. La nueva tabla es:
2 1 0 0 M M 0
x y s t A
1
A
2
u
1 y 0 1 1/3 1/3 1/3 1/3 0 1/3
2 x 1 0 2/3 1/3 2/3 1/3 0 2/3
0 u 0 0 1/3 2/3 1/3 2/3 1 2/3
2 1 5/3 1/3 5/3 1/3 0
0 0 5/3 1/3 5/3 M 1/3 M 0
5/3
En esta soluci on, las variables articiales son no b asicas, luego valen 0, luego las variables restantes
son una soluci on factible b asica del problema original. Ahora basta eliminar de la tabla las columnas
correspondientes a las variables articiales y seguir iterando:
2 1 0 0 0
x y s t u
1 y 0 1 1/3 1/3 0 1/3
2 x 1 0 2/3 1/3 0 2/3
0 u 0 0 1/3 2/3 1 2/3
2 1 5/3 1/3 0
0 0 5/3 1/3 0
5/3
=
2 1 0 0 0
x y s t u
1 y 0 1 0 1 1 1
2 x 1 0 0 1 2 2
0 s 0 0 1 2 3 2
2 1 0 3 5
0 0 0 3 5
5
Como todos los w
j
son 0, estamos en la solucion optima. Adem as, como ninguna variable no b asica
tiene rendimientos marginales nulos, la soluci on es unica.
Si el metodo de las penalizaciones termina con alguna variable articial no nula, eso signica
que el problema original es infactible.
TEMA 5. EL M

ETODO S

IMPLEX 60
Problemas
1. Considera la siguiente tabla del smplex para un problema de maximizar:
1 6 2 1 2 1
x
1
x
2
x
3
x
4
x
5
x
6
1 x
1
1 1 0 0 4 1 2
2 x
3
0 1 1 0 2 2 1
1 x
4
0 2 0 1 5 0 1
1 1 2 1 13 5
0 5 0 0 11 4
5
(a) Cu ales son las variables b asicas?
(b) Cu al es la solucion correspondiente a esta tabla?
(c) Cuanto vale la funci on objetivo?
(d) Que tres cosas podemos vericar para detectar posibles errores de calculo?
(e) Que efecto tiene sobre la funcion objetivo introducir en la base cada una de las variables no
b asicas?
(f) Llamemos x a la variable no b asica que ha de entrar en la base. Cu al es?
(g) Al hacer b asica la variable x, esta deja de ser nula y pasa a ser > 0. Las demas variables
no b asicas siguen valiendo 0, pero las variables b asicas varan. Cu ales aumentan y cu ales
disminuyen?
(h) De las variables b asicas que disminuyen cuando x aumenta, cu al llega antes a 0?
(i) Calcula la tabla siguiente. Verica las tres condiciones que debe satisfacer y determina si se
trata de la tabla optima.
(j) Sup on ahora que el objetivo es minimizar. Responde a las cuestiones e, f, g, h. Determina que
variable debe entrar en la base y cu al debe salir.
2. Considera la siguiente tabla del smplex para un problema de maximizar:
1 3 2 1 5 6
x
1
x
2
x
3
x
4
x
5
x
6
1 x
1
1 1 0 0 2 1 2
2 x
3
0 1 1 0 2 2 1
1 x
4
0 2 0 1 1 0 1
1 5 2 1 3 5
0 8 0 0 2 1
5
(a) Responde en este caso a las cuestiones a, b, c, d, e, f, g del problema anterior.
(b) Llamemos de nuevo x a la variable que entra en la base. A medida que x aumenta, hay alguna
variable b asica que disminuya y termine por hacerse 0? Como se interpreta esto?
(c) Sup on ahora que el problema es de minimizar. Que efecto tiene sobre la funcion objetivo
introducir en la base cada una de las variables no b asicas? Como se interpreta esto?
3. Considera la siguiente tabla del smplex para un problema de maximizar:
TEMA 5. EL M

ETODO S

IMPLEX 61
1 2 3 1 1 6
x
1
x
2
x
3
x
4
x
5
x
6
1 x
1
1 5 0 0 5 1 5
3 x
3
0 2 1 0 2 2 1
1 x
4
0 1 0 1 4 0 1
1 2 3 1 3 7
0 0 0 0 2 1
3
(a) Determina la soluci on correspondiente a esta tabla.
(b) Que efecto tiene sobre la funcion objetivo introducir en la base cada una de las variables no
b asicas? Que se concluye de ello?
(c) Que efecto tiene sobre la funcion objetivo introducir en la base la variable x
2
?
(d) Si introducimos en la base x
2
, que variables b asicas aumentaran y cu ales disminuir an? Cu al
llegar a antes a 0? Como se interpreta esto?
(e) Calcula dos soluciones optimas del problema.
4. Considera la siguiente tabla del smplex para un problema de maximizar:
1 3 3 1 1 6
x
1
x
2
x
3
x
4
x
5
x
6
1 x
1
1 1 0 0 5 1 5
3 x
3
0 2 1 0 2 2 1
1 x
4
0 2 0 1 4 0 1
1 3 3 1 3 7
0 0 0 0 2 1
3
(a) Determina la soluci on correspondiente a esta tabla.
(b) Que efecto tiene sobre la funcion objetivo introducir en la base cada una de las variables no
b asicas? Que se concluye de ello?
(c) Que efecto tiene sobre la funcion objetivo introducir en la base la variable x
2
?
(d) Si introducimos en la base x
2
, que variables b asicas aumentaran y cu ales disminuir an? Como
se interpreta esto?
5. Resuelve por el metodo smplex:
Opt. x
1
+ 2x
2
+ 4x
3
s.a. x
1
+x
2
10
x
1
+ 2x
2
+x
3
= 14
x
1
0, x
2
0
6. Considera el problema
Max. 2x + 2y + 10
s.a. 4x + 2y 16
x + 2y 8
x, y 0
(a) Con cu antas tablas diferentes puede empezar el algoritmo del smplex?
(b) Plantea dos de ellas e indica, si procede, la variable de entrada, la de salida y el elemento
pivote.
TEMA 5. EL M

ETODO S

IMPLEX 62
7. Resuelve los problemas siguientes, indicando la soluci on optima, de que tipo es y el valor de la
funci on objetivo.
Min. x + 2y +z
s.a. x +y +z 3
2x 3y +z 6
x, y, z 0
Max. x 2y +z
s.a. x +y +z 1
2x +y z 4
x, y, z 0
Max. x 2y +z
s.a. x +y +z 3
x, y, z 0
8. Resuelve el problema siguiente. Indica las soluciones optimas y el valor de la funci on objetivo en
cada una de ellas.
Opt. x 2y + 3z
s.a. x + 2y +z 4
2x +y z 2
x, y, z 0
9. Considera el problema
Max. x +y
s.a. 2x +y 4
x +y 1
y 0
(a) Ponlo en forma can onica y resuelvelo mediante el metodo smplex.
(b) A partir de la tabla optima, razona si la soluci on es unica y luego compruebalo gr acamente.
10. La ultima tabla del smplex correspondiente a un problema de maximizar es
1 2 1 0 0 0
x
1
x
2
x
3
s
1
s
2
s
3
1 x
1
1 2 1 0 0 1 2
0 s
2
0 1 1 0 1 0 1
0 s
1
0 1/2 0 1 0 1/2 4
1 2 1 0 0 1
0 0 2 0 0 1
2
(a) Existe soluci on optima?, es unica? Si las hay, calcula las otras soluciones b asicas optimas.
(b) Que le ocurrira a la funci on objetivo si introdujeramos x
3
en la base?
11. Se sabe que la soluci on optima del problema
Max. 2x
1
+x
2
s.a. x
1
+x
2
2
x
1
+ 2x
2
6
2x
1
+x
2
6
x
1
, x
2
0
es (x
1
, x
2
) = (2, 2). Calcula la tabla optima del smplex sin realizar ninguna iteraci on. Que tipo
de solucion es?
12. Dado el problema
Max. x
1
+x
2
s.a. x
1
+x
2
2
x
2
4
x
1
, x
2
0
obten sin iterar la tabla del smplex correspondiente a las variables b asicas x
2
y s
2
y aplica a partir
de ella el algoritmo hasta encontrar la soluci on optima.
TEMA 5. EL M

ETODO S

IMPLEX 63
13. Calcula la tabla del smplex del problema
Max. x + 2y
s.a. x +y 4
2x +y 6
x, y 0
correspondiente a las variables b asicas y, t. Es optima?
14. Considera el problema
Max. 3x
1
x
2
s.a. 5x
1
2x
2
2
6x
1
+x
2
= 3
2x
1
+x
2
10
x
1
, x
2
0
(a) Resuelvelo usando el metodo de las penalizaciones.
(b) Resuelvelo sin usar el metodo de las penalizaciones (y sin usar informaci on obtenida en el
apartado anterior).
15. Considera el problema
Max. x
s.a. x +y 1
x +y 3
x y 1
x, y 0
La tabla correspondiente a las variables b asicas x, t, u es la siguiente:
1 0 0 0 0
x y s t u
1 x 1 1 1 0 0 1
0 t 0 0 1 1 0 2
0 u 0 2 1 0 1 0
1 1 1 0 0
0 1 1 0 0
1
(a) Encuentra la soluci on optima a partir de esta tabla.
(b) Que tiene de peculiar la primera iteraci on?
16. Considera el problema
Max. y
s.a. x +y 1
x +y 3
x y 1
x, y 0
La tabla correspondiente a las variables b asicas x, t, u es la siguiente:
0 1 0 0 0
x y s t u
0 x 1 1 1 0 0 1
0 t 0 0 1 1 0 2
0 u 0 2 1 0 1 0
0 0 0 0 0
0 1 0 0 0
0
TEMA 5. EL M

ETODO S

IMPLEX 64
(a) Es la tabla optima?
(b) Podemos razonar si la soluci on es de vertice o de arista?
(c) Comprueba gr acamente que tus respuestas a los apartados anteriores son correctas.
Cuestiones
1. Hemos calculado tres tablas del smplex para un problema lineal de minimizaci on, y observamos lo
siguiente:
(a) En la segunda tabla hay una variable b asica que vale 0.
(b) La funci on objetivo vale 4 en la primera tabla, 3 en la segunda y 3 en la tercera.
(c) En la tercera tabla los rendimientos marginales (w
j
) de una variable b asica valen 3.
Explica por que podemos armar que hemos cometido un error de calculo.
2. Explica por que las tablas siguientes son imposibles:
1 2 1 0 0 0
x y z s t u
1 x 1 0 1 0 2 1 1
0 s 0 0 1 1 1 0 3
2 y 0 1 0 0 0 2 1
1 2 1 0 2 5
0 0 0 0 2 5
1
1 2 1 0 0 0
x y z s t u
1 x 1 0 1 2 0 1 1
0 s 0 0 1 1 1 0 3
2 y 0 1 3 1 0 2 2
1 2 7 0 0 3
0 0 6 0 0 3
5
3. Estamos resolviendo un problema lineal de maximizaci on mediante el metodo smplex. Explica que
conclusi on podemos extraer en cada uno de los casos siguientes:
(a) Tenemos una variable no b asica que cumple el criterio de entrada, pero ninguna de las variables
b asicas cumple el criterio de salida.
(b) Ninguna variable no b asica cumple el criterio de entrada.
(c) Estamos en la tabla optima, pero una variable no b asica tiene rendimientos marginales nulos.
Respecto a ella, ninguna variable b asica cumple el criterio de salida.
(d) Hay una variable articial no nula y ninguna variable cumple el criterio de entrada.
4. La gura representa el conjunto de oportunidades de un problema de programaci on lineal en forma
can onica (contenido en el cuadrante x > 0, y > 0). Las letras sobre las aristas indican la variable
de holgura de la restricci on correspondiente. El objetivo es maximizar x.
s
t
u
v
w
(a) Se nala la soluci on correspondiente a las variables b asicas x, y, t, u, v.
(b) A partir de esta soluci on, indica que variable hay que introducir en la base para pasar a cada
uno de los vertices adyacentes, as como que variable sale en cada caso.
TEMA 5. EL M

ETODO S

IMPLEX 65
(c) Indica que variable conviene introducir en la base para que la funci on objetivo aumente lo m as
posible.
(d) Una vez situados en el nuevo vertice, indica que variables no b asicas tienen rendimientos
marginales positivos y cu ales negativos.
(e) Determina la variable que ha de entrar en la base y la que ha de salir.
Tema 6
Dualidad en programaci on lineal
En este tema veremos que cada problema lineal tiene asociado otro problema equivalente, en cuanto
que una soluci on de uno nos permite calcular una soluci on del otro, pero que en algunos casos puede
ser mas facil de resolver. Ademas, este problema asociado aporta informaci on adicional de interes sobre
el problema dado, especialmente cuando este tiene una interpretaci on economica. Nos referiremos a el
como el problema dual del problema dado. Para referirnos al problema dado por oposici on a su dual
lo llamaremos problema primal.
6.1 Construcci on del problema dual
Antes de explicar como se construye el problema dual veamos un ejemplo:
Ejemplo Consideremos los problemas lineales siguientes:
Max. x + 3y
s.a x + 2y 2
x 1
y 0
Min. 2
1
+
2
s.a
1
+
2
= 1
2
1
3

1
0,
2
0
Vamos a escribir sus condiciones de Kuhn y Tucker. La funci on lagrangiana del primero es
L(x, y,
1
,
2
, ) = x + 3y +
1
(2 x 2y) +
2
(1 x) y.
Para el segundo, llamaremos x e y a los multiplicadores de Kuhn y Tucker asociados a las dos primeras
restricciones y
1
,
2
a los de las restricciones de signo. La lagrangiana es entonces:
L(
1
,
2
, x, y,
1
,
2
) = 2
1
+
2
+x(1
1

2
) +y(3 2
1
)
1

2
.
Las condiciones de Kuhn y Tucker son:
(F) x + 2y 2, x 1, y 0
1
+
2
= 1, 2
1
3,
1
0,
2
0
(PC) 1
1

2
= 0, 3 2
1
= 0 2 x 2y
1
= 0, 1 x
2
= 0
(S)
1
0,
2
0, 0 y 0,
1
0,
2
0
(HC)
1
(2 x 2y) = 0,
2
(1 x) = 0, y = 0 y(3 2
1
) = 0,
1

1
= 0,
2

2
= 0
Seg un vimos en el tema 2, podemos eliminar los multiplicadores de signo despej andolos de las condi-
ciones de punto crtico y sustituyendolos en las demas:
= 3 2
1
,
1
= 2 x 2y,
2
= 1 x.
66
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 67
Con ello obtenemos otra forma equivalente de las condiciones de Kuhn y Tucker:
x + 2y 2, x 1, y 0
1
+
2
= 1, 2
1
3,
1
0,
2
0
1
1

2
= 0

1
0,
2
0, 3 2
1
0 y 0, 2 x 2y 0, 1 x 0

1
(2 x 2y) = 0,
2
(1 x) = 0, y(3 2
1
) = 0,
(3 2
1
)y = 0 (2 x 2y)
1
= 0, (1 x)
2
= 0
Si nos jamos veremos que, as expresadas, las condiciones de Kuhn y Tucker son las mismas para
ambos problemas, salvo por que las variables principales del primero son los multiplicadores del segundo
y viceversa.
Esto no es casual, sino que es consecuencia del siguiente teorema general:
Teorema Todo problema lineal tiene asociado otro problema lineal llamado problema dual, determinado
por que ambos problemas tienen las mismas condiciones de Kuhn y Tucker (si eliminamos los multipli-
cadores de las restricciones de signo), salvo por el hecho de que las variables principales del problema
primal son los multiplicadores de Kuhn y Tucker del problema dual y viceversa.
En la pr actica, la construccion del problema dual est a determinada por las reglas siguientes:
1. El problema dual tiene tantas variables como restricciones tiene el problema primal. Si las variables
del primal son x
1
, . . . , x
n
, representaremos las del dual por
1
, . . . ,
m
.
2. El problema dual tiene tantas restricciones como variables tiene el problema primal.
3. Si el objetivo del primal es maximizar, el del dual es minimizar, y viceversa.
4. Los coecientes de la funci on objetivo dual son los terminos independientes b
1
, . . . , b
m
del problema
primal.
5. Los terminos independientes del problema dual son los coecientes c
1
, . . . , c
n
de la funci on objetivo
del problema primal.
6. La matriz tecnica del problema dual es la traspuesta A
t
de la matriz tecnica A del problema primal.
7. Los tipos de desigualdades en las restricciones y las condiciones de signo del problema dual vienen
dados por la tabla siguiente, conocida como tabla de Tucker:
Maximizar Minimizar
0
Variables 0 Restricciones
libres =
0
Restricciones 0 Variables
= libres
Es f acil deducir esta tabla a partir de la propiedad que caracteriza al problema dual (el teorema
anterior). Por ejemplo, si el problema primal es de maximizaci on y tenemos una restriccion de , la
restriccion es canonica, luego su multiplicador ha de ser 0. Si una variable cumple la restricci on de
signo 0, entonces, puesto que es el multiplicador de una restricci on dual, dicha restricci on ha de ser no
can onica, y como el dual es un problema de minimizaci on, la restricci on ha de ser de .
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 68
Ejemplo Vamos a calcular el problema dual del problema
Min. x 2y + 3z
s.a x y +z 3
x + 2y z = 5
x 0, z 0.
Como el problema primal tiene dos restricciones, el dual tendr a dos variables, a las que llamaremos
y . Al aplicar las propiedades 16 anteriores obtenemos lo siguiente:
Min. x 2y + 3z
s.a x y +z 3
x + 2y z = 5
x 0, z 0.
Max. 3 + 5
s.a + ? 1 x
+ 2 ? 2 y
? 3 z
Al lado de cada restricci on hemos indicado su variable dual. Para resolver los signos ? razonamos
como sigue:
1. La variable dual (el multiplicador de Kuhn y Tucker) de la primera restricci on es x, en el problema
primal vemos que x 0, luego, por las condiciones de signo de Kuhn y Tucker, la restricci on ha de
ser canonica. Como el problema dual es de maximizar, una restricci on can onica es de tipo .
2. La variable dual de la segunda restricci on es y, en el problema primal vemos que y es libre, luego
la restriccion correspondiente ha de ser de igualdad.
3. La variable dual de la tercera restricci on es z, en el problema primal vemos que z 0, luego por
las condiciones de signo vemos que la restriccion ha de ser no can onica. Como es una restriccion de
un problema de maximizar, para ser no can onica ha de ser de tipo .
Finalmente, para determinar el signo de las variables duales razonamos as:
1. es la variable dual de la primera restricci on del problema primal. Se trata de una restricci on no
can onica (de tipo en un problema de minimizar), luego por las condiciones de signo de Kuhn y
Tucker ha de ser 0.
2. es la variable dual de la segunda restricci on del problema primal. Como es una restricci on de
igualdad, ha de ser libre.
El problema dual es, por consiguiente:
Max. 3 + 5
s.a + 1
+ 2 = 2
3
0
Veamos un par de propiedades inmediatas sobre la construcci on del dual:
Teorema El problema dual de un problema dual es el problema primal.
Esto hace que si tenemos un par de problemas mutuamente duales, podamos considerar como primal a
cualquiera de los dos y como dual al otro. En particular, todas las propiedades sobre problemas primales
y duales siguen siendo ciertas si cambiamos dual por primal y viceversa.
Recordemos que un problema lineal est a en forma can onica si es de una de las dos formas siguientes:
Max. c
t
x
s.a A x

b
x 0
o
Min. c
t
x
s.a A x

b
x 0
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 69
Teorema El dual de un problema en forma can onica esta tambien en forma canonica.
Los duales de los problemas en forma can onica se llaman duales simetricos, mientras que los duales
de los problemas que no estan en forma can onica se llaman asimetricos.
De la propia denici on de problema dual se sigue que una soluci on del problema primal nos proporciona
una soluci on del dual (la determinada por sus multiplicadores de Kuhn y Tucker). El teorema siguiente
arma esto y un poco m as:
Teorema de dualidad Cada soluci on optima x

de un problema lineal tiene asociada una soluci on


optima

de su problema dual, llamada solucion dual complementaria, que est a formada por los multipli-
cadores de Kuhn y Tucker de x

asociados a las restricciones (no de signo) del problema primal. Adem as,
el valor de las respectivas funciones objetivo en x

es el mismo.
Nota Si el problema primal tiene una restricci on de signo x 0 o x 0, entonces la restriccion
correspondiente a x en el dual ser a una desigualdad, luego tendr a asociada una variable de holgura s

.
El valor de dicha variable en la soluci on dual complementaria es, salvo signo, el multiplicador de Kuhn y
Tucker asociado a la restriccion de signo (salvo signo quiere decir que las variables de holgura siempre
son no negativas, mientras que los multiplicadores no). De este modo, cuando conocemos la soluci on dual
conocemos todos los multiplicadores de Kuhn y Tucker del problema primal, incluidos los de signo.
La relacion entre la existencia de soluciones de un problema y de su dual puede precisarse m as todava.
El resultado b asico a este respecto es el teorema siguiente:
Teorema El valor de la funci on objetivo en una soluci on factible de un problema lineal es una cota
para los valores de la funci on objetivo en las soluciones del problema dual (cota superior si el dual es
de maximizar e inferior si es de minimizar). En particular, si una soluci on factible primal y otra dual
tienen el mismo valor de sus respectivas funciones objetivo, entonces ambas son optimas.
Por ejemplo, supongamos que el problema primal es de maximizar y el dual de minimizar. Si la
funci on objetivo primal toma el valor 25 sobre una soluci on factible x y la funci on objetivo dual toma el
valor 40 sobre una soluci on factible

, entonces sabemos que el valor optimo de la funci on objetivo (que
es el mismo para ambos problemas) esta comprendido entre 25 y 40.
Como consecuencia, si un problema y su dual son ambos factibles, entonces ambos son acotados (pues
el valor de la funci on objetivo dual sobre una soluci on factible dual es una cota de la funci on objetivo
primal, y viceversa). As pues, un problema y su dual se encuentran necesariamente en uno de estos tres
casos:
Ambos tienen solucion optima,
Ambos son infactibles,
Uno es infactible y el otro no acotado.
6.2 Calculo de la soluci on optima dual
Veamos ahora como calcular la soluci on optima del problema dual a partir de la del primal. Daremos
cuatro tecnicas alternativas:
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 70
Problemas en forma canonica Si el problema primal est a en forma can onica, lo mismo le sucede
a su dual. A cada restricci on de cualquiera de los dos problemas le podemos asignar dos variables: su
variable de holgura (en el propio problema) y su variable dual (en el otro). Esto nos permite asociar a
cada variable del problema primal (incluidas las de holgura) una variable del dual y viceversa:
Dada una variable, consideramos la restricci on a la que esta asociada, sea como variable de holgura
o como variable dual, y de ella pasamos a la otra variable asociada a dicha restricci on. Se cumple que el
valor optimo de una variable dual es (salvo signo) el rendimiento marginal de su variable asociada en el
problema primal. M as precisamente:
Teorema Para problemas en forma can onica, las variables principales de la soluci on dual complemen-
taria de una soluci on dada son (salvo signo) los rendimientos marginales de las variables de holgura del
problema primal, y las variables de holgura de la soluci on dual son (tambien salvo signo) los rendimientos
marginales de las variables principales del problema primal.
Los parentesis sobre el signo se reeren a que en un problema de maximizar los rendimientos marginales
optimos son no positivos, mientras que en un problema de minimizar son no negativos (salvo que se denan
al reves), mientras que las variables son siempre no negativas, luego hay que cambiar el signo cuando sea
preciso.
Ejemplo Consideremos el par de problemas duales
Max. 4x + 5y
s.a 2x +y 8
y 5
x, y 0
Min. 8 + 5
s.a 2 4
+ 5
, 0
La tabla optima del primal es
4 5 0 0
x y s t
4 x 1 0 1/2 1/2 3/2
5 y 0 1 0 1 5
4 5 2 3
0 0 2 3
31
Vemos que el optimo primal es x

= (x, y, s, t) = (3/2, 5, 0, 0). A partir de la tabla podemos obtener


la soluci on complementaria

del problema dual. Si asociamos a cada variable principal del problema


primal la variable de holgura de su restricci on correspondiente en el dual y viceversa, tenemos la siguiente
correspondencia entre variables:
x s

, y t

, s , t .
Por ejemplo, x es el multiplicador de la primera restricci on dual, y la otra variable asociada a dicha
restriccion es su variable de holgura s

. Igualmente, s es la variable de holgura de la primera restricci on


primal, y la otra variable asociada a dicha restricci on es la variable dual .
El teorema anterior arma que

esta formada (salvo el signo) por los rendimientos marginales de


las variables primales asociadas a cada una de sus variables, es decir,

= (, , s

, t

) = (2, 3, 0, 0).
Recprocamente, los rendimientos marginales del problema dual son los valores de las variables pri-
males:
w

= (w

, w

, w

s
, w

t
) = (0, 0, 3/2, 5).
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 71
Nota: Para cada par de problemas duales en forma can onica, la relaci on entre sus variables que acaba-
mos de describir hace corresponder las variables b asicas optimas del problema primal en las variables no
b asicas optimas del dual, y viceversa.
Por ejemplo, las variables b asicas del problema primal anterior son x e y, mientras que sus variables
duales asociadas, a saber, s

y t

, son las variables no b asicas del dual, y viceversa.


Problemas no canonicos Veamos ahora un metodo para calcular la soluci on optima dual de un
problema que no este en forma can onica. En realidad el caso anterior es un caso particular de este, pero
cuando el problema est a en forma can onica es mas rapido aplicar el metodo anterior.
Este metodo requiere conocer la tabla optima del smplex del problema primal. Para aplicar el smplex,
primero tendremos que haber puesto el problema en forma est andar, y aqu hemos de tener presente un
hecho que se comprueba rutinariamente a partir de la propia construcci on del problema dual:
Al transformar un problema primal para ponerlo en forma est andar (duplicando variables libres, cam-
biando el signo a variables no positivas, introduciendo variables de holgura y articiales) las variables
principales del dual no cambian.
Una vez hemos resuelto el problema primal en forma estandar, podemos aplicar que la relaci on general
entre los rendimientos marginales w
j
y las variables duales es:
w
j
= c
j

t
P
j
,
donde P
j
es la columna correspondiente a la variable x
j
en la matriz tecnica A y

es el vector de variables
principales duales. Para aplicar esto en la pr actica usamos las columnas de las variables que forman la
matriz identidad en la matriz A.
Ejemplo Consideremos el par de problemas duales
Max. x
s.a x +y 1
x y 1
x 0
Min. +
s.a + 1
= 0
, 0
Vamos a resolver el primal y, a partir de su soluci on, obtendremos la soluci on optima del dual. Para
ponerlo en forma est andar hacemos y = y
1
y
2
e introducimos variables de holgura:
Max. x
s.a x +y
1
y
2
+s = 1
x y
1
+y
2
+t = 1
x, y
1
, y
2
, s, t 0
A =
_
1 1 1 1 0
1 1 1 0 1
_
.
La tabla optima es
1 0 0 0 0
x y
1
y
2
s t
1 x 1 0 0 1/2 1/2 1
0 y
2
0 1 1 1/2 1/2 0
1 0 0 1/2 1/2
0 0 0 1/2 1/2
1
Ahora aplicamos la f ormula w
j
= c
j

t
P
j
a las columnas de A que tienen los vectores de la matriz
identidad, a saber, las de las variables s y t:
w
s
= 1/2 = 0 (, )
_
1
0
_
= ,
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 72
w
t
= 1/2 = 0 (, )
_
0
1
_
= ,
luego (, ) = (1/2, 1/2).
Notas: Para aplicar este metodo hemos de partir considerar variables cuyas columnas en la matriz
tecnica del problema (no en la tabla optima del smplex) formen la matriz identidad. En realidad basta
con que tengan una unica componente no nula, pues con eso garantizamos que al aplicar la f ormula s olo
quedar a una variable dual para despejar. Los rendimientos marginales hemos de sacarlos de la tabla
optima, no de la primera tabla del smplex o de una intermedia.
Problemas no canonicos (otra forma) Una forma alternativa de calcular la soluci on optima del
problema dual a partir de la tabla optima es usar la f ormula

t
= c
t
B
B
1
,
donde

es el vector de las variables principales del problema dual (las que queremos calcular), c
B
es el
vector de los coecientes de la funcion objetivo primal correspondientes a las variables b asicas y B
1
es
la inversa de la matriz b asica primal.
Solucion alternativa del ejemplo anterior En el ejemplo anterior, las variables b asicas en la tabla
optima son (x, y
2
), luego c
B
= (1, 0). La inversa de la matriz b asica esta en la tabla optima, en las
columnas que contienen la identidad en la matriz A. As pues:
B
1
=
_
1/2 1/2
1/2 1/2
_
As pues, la soluci on dual es
(, ) = (1, 0)
_
1/2 1/2
1/2 1/2
_
= (1/2, 1/2).
Calculo sin usar el smplex Veamos nalmente como podemos calcular la solucion optima dual
si no conocemos la tabla optima del problema primal. Para ello usamos las condiciones de holgura
complementaria. Tal y como las vimos en el tema 2 son condiciones de la forma
(b g( x)) = 0,
seg un las cuales o bien una restricci on esta saturada (en la soluci on optima) o bien su multiplicador de
Kuhn y Tucker es nulo. Equivalentemente, las condiciones de holgura complementaria pueden enunciarse
as:
Si una variable principal primal es no nula, entonces su restricci on dual est a saturada.
Si una restricci on primal no est a saturada, entonces su variable dual es nula.
Por otra parte, al plantear un problema dual es frecuente que aparezcan restricciones redundantes, y
entonces podemos aplicar el principio siguiente:
Eliminar una restricci on del dual equivale a eliminar su variable correspondiente en el primal o, lo
que es lo mismo, a hacerla 0.
A menudo estos hechos bastan para calcular la soluci on dual complementaria de una soluci on optima
primal. El metodo es aplicable para problemas cualesquiera, aunque no esten en forma can onica.
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 73
Ejemplo Consideramos los problemas
Max. x
1
+ 2x
2
3x
3
s.a x
1
+x
2
+ 2x
3
1
x
1
x
2
+ x
3
0
x
1
, x
2
, x
3
0
Min.
1
s.a
1
+
2
1

2
2
2
1
+
2
3

1
,
2
0
Si resolvemos gracamente el dual vemos que tiene una soluci on de arista innita con vertice en
(
1
,
2
) = (2, 0). Vamos a calcular la soluci on optima primal. Ante todo, observamos que la tercera
restriccion puede eliminarse, pues las condiciones de no negatividad hacen que sea redundante. (En la
resolucion gr aca tambien se observa que dicha restriccion no reduce el conjunto de oportunidades.) Esto
equivale a que x
3
= 0.
Para calcular las otras dos variables primales aplicamos las condiciones de holgura complementaria:
Como la primera restriccion dual no est a saturada (2 + 0 > 1) ha de ser x
1
= 0.
Como la variable dual
1
es no nula, la primera restricci on primal ha de estar saturada. Teniendo en
cuenta que x
1
= x
3
= 0, la restricci on se reduce a x
2
= 1, luego la soluci on optima primal es la dada por
(x
1
, x
2
, x
3
) = (0, 1, 0).
Notemos que tambien podramos haber concluido que x
3
= 0 por las condiciones de holgura comple-
mentaria, pues la tercera restriccion dual no est a saturada, pero hay veces que una restricci on puede ser
redundante aunque este saturada.
Ejemplo Consideremos el problema
Min. 2x + 4y + 5z + 10w
s.a x + 2y + z + 2w 2
2x 4y + z + 2w 3
2x + 4y + 3z + 6w 1
Como las variables son libres, si quisieramos resolverlo mediante el smplex primero tendramos que
convertirlo en un problema de ocho variables. En lugar de hacer eso, calculamos el problema dual
Max. 2 + 3 +
s.a 2 + 2 = 2
2 4 + 4 = 4
+ + 3 = 5
2 + 2 + 6 = 10
, , 0
Ahora las variables son no negativas, pero no podemos aplicar el smplex, pues una soluci on b asica
debera tener 4 variables b asicas, y hay un total de 3 variables. (En realidad, podramos introducir
variables articiales en todas las restricciones, pero quedara un problema muy engorroso). Observamos
que la segunda restricci on es equivalente a la primera, y la cuarta es equivalente a la tercera, luego
podemos eliminarlas y reducir el problema a
Max. 2 + 3 +
s.a 2 + 2 = 2
+ + 3 = 5
, , 0
Hemos eliminado las restricciones correspondientes a las variables y, w, luego vamos a encontrar una
soluci on con y = w = 0.
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 74
Aplicando el algoritmo del smplex obtenemos f acilmente que la solucion optima es (, , ) = (4, 1, 0).
Por las condiciones de holgura complementaria, el hecho de que y sean no nulas implica que las dos
primeras restricciones del problema primal estan saturadas. Teniendo en cuenta que y = w = 0, dichas
restricciones son:
x +z = 2
2x +z = 3
Al resolver el sistema queda (x, y, z, w) = (1/3, 0, 7/3, 0), y la funci on objetivo vale 11.
Problemas
1. Plantea el problema dual de los problemas siguientes:
Max. x
1
+x
2
+x
4
s.a 2x
1
+x
2
+ 4x
3
= 10
x
1
+ 2x
4
8
x
1
, x
3
0, x
2
0
Min. x
1
+x
2
+x
4
s.a 2x
1
+x
2
+ 4x
3
= 10
x
1
+ 2x
4
8
x
1
, x
3
0, x
2
0
2. Resuelve gracamente los problemas siguientes:
Min. 2x + 3y + 5s + 2t + 3u
s.a x + y + 2s +t +u 4
2x + 2y + 3s +t +u 3
x, y, s, t, u 0
Max. 4x
1
+ 3x
2
+x
3
s.a x
1
+x
2
+x
3
4
x
1
+x
3
4
x
1
, x
2
, x
3
, x
4
0
3. Resuelve los problemas siguientes a traves del dual:
Max. 4x + 3y + 5z
s.a x +y +z 5
x + 2z 2
Max. 4x + 3y + 3z
s.a x +y +z 5
x + 2z 2
4. Plantea el dual del problema
Min. x + 3y + 5z
s.a x + y + 2z 3
x + 2y + 3z 1
x, y, z 0
y usalo para determinar si el primal tiene o no soluci on optima.
5. Considera el problema
Max 2x + 2y +z
s.a 2x +y +z 10
2x + 2y + 2z = 4
2x +y + 2z 6
x 0, y 0
(a) Calcula el problema dual.
(b) Pon el primal en forma est andar e introduce las variables articiales necesarias para poder
empezar el algoritmo del smplex.
(c) Escribe la matriz tecnica del problema en forma estandar.
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 75
(d) Sabiendo que la tabla optima primal es
2 2 1 1 0 M 0 M
x y
0
z
1
z
2
s
1
A
2
A
3
s
3
1 z
2
0 0 1 1 1 0 1 1 4
2 x 1 0 0 0 1 1/2 0 0 8
2 y
0
0 1 0 0 0 1 1 1 2
2 2 1 1 1 1 1 1
0 0 0 0 1 1 M 1 M 1
8
Calcula la soluci on (, , ) del problema dual.
6. Hemos resuelto un problema lineal de maximizaci on en forma can onica. La soluci on es
(x
1
, x
2
, x
3
, s
1
, s
2
) = (1, 0, 3, 0, 0) con z = 20.
Los rendimientos marginales han resultado ser
(w
x
1
, w
x
2
, w
x
3
, w
s
1
, w
s
2
) = (0, 2, 0, 2, 4).
Calcula la soluci on optima dual, incluido el valor de la funci on objetivo, calcula los rendimientos
marginales duales e indica cu ales son las variables basicas duales.
7. Plantea el problema dual del problema planteado en la p agina 58 y calcula su soluci on a partir de
la soluci on del problema primal.
8. Consideremos el problema
Max. 2x +y z
s.a x + 2y + z 8
x + y 2z 8
x, y, z 0
Su tabla optima es
2 1 1 0 0
x y z s t
2 x 1 2 1 1 0 8
0 t 0 3 1 1 1 16
2 4 2 2 0
0 3 3 2 0
16
(a) Escribe el problema dual y obten su solucion optima a partir de la tabla anterior. Calcula
tambien los rendimientos marginales del problema dual.
(b) Si pudieramos aumentar uno de los terminos independientes de las restricciones, cual con-
vendra aumentar?
9. Resuelve los problemas siguientes por el metodo smplex, plantea el problema dual y calcula la tabla
optima del dual a partir de la soluci on obtenida del primal.
Max. 3x +y
s.a x + y 10
2x + 3y 50
x, y 0
Max. 2x +y
s.a x +y 2
x 1
x, y 0
Max. x + 2y
s.a x +y 4
2x +y 6
x, y 0
TEMA 6. DUALIDAD EN PROGRAMACI

ON LINEAL 76
10. Cierto fabricante produce sillas y mesas, para lo cual requiere el uso de dos secciones de producci on:
la seccion de montaje y la seccion de pintura. La producci on de una silla requiere 1 hora de trabajo
en la seccion de montaje y 2 horas en la de pintura. Por su parte, la fabricaci on de una mesa precisa
de 3 horas en la seccion de montaje y 1 en la de pintura. La secci on de montaje s olo puede estar 9
horas diarias en funcionamiento, mientras que la de pintura s olo 8 horas. El benecio que se obtiene
produciendo mesas es el doble que el de sillas. El fabricante pretende maximizar benecios.
(a) Modeliza el problema mediante un programa lineal y resuelvelo mediante el smplex.
(b) Interpreta el valor de las variables principales y el de las de holgura.
(c) Interpreta los rendimientos marginales.
(d) Calcula las variables duales e interpretalas.
(e) Razona si al empresario le conviene aumentar las horas de funcionamiento en la seccion de
montaje. Y en la de pintura?
Cuestiones
1. En la tabla siguiente, cada la corresponde a un tipo de problema lineal y cada columna a una
posibilidad para su dual. Pon en cada casilla SI o NO seg un si es o no posible que el primal y el
dual sean de los tipos correspondientes a la la y la columna:
Infactible No acotado Acotado
Infactible
No acotado
Acotado
2. Si sabemos que (1, 2, 1) es una soluci on de un problema lineal, que podemos decir sobre su dual?
Y si sabemos que es una solucion factible? Y si sabemos que es una solucion optima?
Tema 7
Postoptimizaci on y analisis de
sensibilidad
En este tema estudiamos las consecuencias de modicar un dato en un problema lineal. Se trata
de averiguar si la soluci on sigue siendo la misma (en cuyo caso no es necesario volver a resolverlo) y,
en caso de que vare, tratar de aprovechar la soluci on anterior para obtener m as rapidamente el nuevo
optimo. La postoptimizaci on es el analisis que se hace ante un cambio concreto, mientras que el analisis
de sensibilidad consiste en encontrar el intervalo en el que puede variar un dato sin que se modique la
soluci on.
M as precisamente, una solucion optima x ha de cumplir x
B
= B
1

b 0 (condici on de factibilidad)
y w = c c
B
B
1
A

0 (condici on de optimalidad). Si al cambiar alg un dato se siguen cumpliendo
ambas condiciones, entonces se dice que la solucion sigue siendo v alida y, en todo caso, habr a que volver
a calcular el optimo z = c
t
B
x
B
. Por el contrario, si deja de cumplirse una de las dos condiciones se dice
que la soluci on ya no es v alida, y hemos de encontrar una nueva soluci on optima x.
7.1 Cambio de un coeciente de la funci on objetivo
Estudiamos en primer lugar el caso en que cambia un coeciente c
j
. No tiene sentido que corresponda
a una variable de holgura, luego supondremos que corresponde a una variable principal. Si corresponde
a una variable no b asica, lo unico que se modica es w
j
, mientras que si la variable es b asica se modica
todo el vector w y la funci on objetivo. En cualquier caso, la soluci on puede dejar de ser optima, pero no
dejar a de ser factible. Si es as, realizamos las iteraciones necesarias para encontrar el nuevo optimo.
Ejemplos Consideremos el problema
Max. x + 2y
s.a. x +y 4
2x +y 6
x, y 0
cuya tabla optima es
1 2 0 0
x y s t
2 y 1 1 1 0 4
0 t 1 0 1 1 2
2 2 2 0
1 0 2 0
8
77
TEMA 7. POSTOPTIMIZACI

ON Y AN

ALISIS DE SENSIBILIDAD 78
1. Estudiar que sucede si c
1
pasa a valer 3/2.
Como la variable x
1
es no basica, solo se modica la primera columna de la tabla, de modo que
resulta w
1
= 1/2. Como se sigue cumpliendo la condicion de optimalidad, la soluci on sigue siendo
v alida, con el mismo valor de la funci on objetivo.
2. Estudiar que sucede si c
1
pasa a valer 3.
Ahora la tabla pasa a ser
3 2 0 0
x y s t
2 y 1 1 1 0 4
0 t 1 0 1 1 2
2 2 2 0
1 0 2 0
8
Vemos que la solucion ya no es optima, por lo que aplicamos el smplex: entra x y sale t:
3 2 0 0
x y s t
2 y 0 1 2 1 2
3 x 1 0 1 1 2
3 2 1 1
0 0 1 1
10
La nueva soluci on optima es (x, y) = (2, 2) con z = 10.
3. Estudiar que sucede si c
2
pasa a valer 4.
Como la variable y es basica, se modican todos los rendimientos marginales. La nueva tabla es
1 4 0 0
x y s t
4 y 1 1 1 0 4
0 t 1 0 1 1 2
4 4 4 0
3 0 4 0
16
Vemos que la solucion sigue siendo optima, s olo que ahora la funci on objetivo vale z = 16.
4. Calcular el intervalo de sensibilidad de c
1
.
Esto signica determinar el intervalo en que puede variar c
1
sin que la soluci on deje de ser v alida.
Para determinarlo ponemos un coeciente indeterminado en la tabla:
c
1
2 0 0
x y s t
2 y 1 1 1 0 4
0 t 1 0 1 1 2
2 2 2 0
c
1
2 0 2 0
8
La solucion seguir a siendo v alida mientras c
1
2 0, es decir, c
1
2, luego el intervalo de
sensibilidad es ], 2].
TEMA 7. POSTOPTIMIZACI

ON Y AN

ALISIS DE SENSIBILIDAD 79
5. Calcular el intervalo de sensibilidad de c
2
.
Como y es una variable b asica, c
2
afecta a todos los rendimientos marginales:
1 c
2
0 0
x y s t
c
2
y 1 1 1 0 4
0 t 1 0 1 1 2
c
2
c
2
c
2
0
1 c
2
0 c
2
0
4c
2
La solucion seguir a siendo v alida mientras 1 c
2
0 y c
2
0, es decir, c
2
1 y c
2
0. El
intervalo es [1, +[.
7.2 Cambio de un termino independiente
El cambio de un termino independiente b
i
no afecta a los rendimientos marginales, pero s a la soluci on
x
B
= B
1

b. El problema es que la nueva soluci on puede dejar de ser factible. Concretamente, si se sigue
cumpliendo x
B
0, entonces la solucion sigue siendo v alida, pero es muy importante recordar que esto
no signica que la nueva soluci on sea la misma que la anterior. Normalmente habr a cambiado tanto x
B
como el valor de la funci on objetivo. Lo unico que se conserva respecto a la solucion original es que las
variables b asicas (no su valor) son las mismas.
Si, por el contrario, deja de cumplirse la condici on de factibilidad x
B
0, nos encontramos con una
solucion infactible con la que el smplex no puede trabajar, as que lo que haremos en tal caso es pasar
al problema dual, pues b
i
es un coeciente de la funci on objetivo, y dicho caso lo hemos estudiado ya en
la seccion anterior.
Ejemplos Consideremos el mismo problema de los ejemplos precedentes.
1. Estudiar que sucede si b
1
pasa a valer 5.
Los coecientes b
i
no aparecen directamente en la tabla, sino indirectamente, en x
B
= B
1

b. Para
calcular la nueva soluci on necesitamos la matriz B
1
. Tenemos que
A =
_
x y s t
1 1 1 0
2 1 0 1
_
, B =
_
1 0
1 1
_
, B
1
=
_
1 0
1 1
_
(Notemos que B
1
puede extraerse tambien de la tabla optima). Si

b pasa a ser (5, 6), tenemos que
B
1

b =
_
1 0
1 1
__
5
6
_
=
_
5
1
_
.
Como se sigue cumpliendo la condicion de factibilidad, la soluci on sigue siendo v alida. Ahora bien,
la soluci on original era (x, y) = (0, 4) con variables de holgura (s, t) = (0, 2) y funci on objetivo
z = 8, mientras que la nueva soluci on es (x, y) = (0, 5) con variables de holgura (s, t) = (0, 1) y
funci on objetivo z = 10.
2. Calcular el intervalo de sensibilidad de b
1
.
Calculamos como antes la matriz B
1
, de modo que
x
B
= B
1

b =
_
1 0
1 1
__
b
1
6
_
=
_
b
1
b
1
+ 6
_
.
La soluci on seguir a siendo factible si b
1
0 y b
1
+6 0, es decir, si b
1
0 y b
1
6. El intervalo
de sensibilidad es, pues, [0, 6].
TEMA 7. POSTOPTIMIZACI

ON Y AN

ALISIS DE SENSIBILIDAD 80
3. Estudiar que sucede si b
1
pasa a valer 8.
Puesto que 8 se sale del intervalo de sensibilidad, la nueva soluci on no ser a factible. Planteamos el
problema dual:
Min. 4 + 6
s.a. + 2 1
+ 2
, 0
Como las variables no b asicas del primal son x, s, las variables b asicas del dual seran las asociadas
a estas, a saber, y s

. La matriz dual es
A

=
_
s

1 2 1 0
1 1 0 1
_
,
luego
B

=
_
1 1
1 0
_
, B
1
=
_
0 1
1 1
_
, B
1
A

=
_
1 1 0 1
0 1 1 1
_
.
Por otra parte, los valores de las variables duales los obtenemos de los rendimientos marginales
primales: (, s

) = (2, 1).
Construimos la tabla dual, pero cambiando ya el coeciente b
1
= 4 por 8, tal y como pide el
problema:
8 6 0 0
s

8 1 1 0 1 2
0 s

0 1 1 1 1
8 8 0 8
0 2 0 8
16
Si no hubieramos cambiado b
1
, sera la tabla optima, pero ahora tenemos que puede entrar en
la base (recordemos que el problema es de minimizar, luego entran las variables con rendimientos
marginales negativos). Sale y la nueva tabla es
8 6 0 0
s

6 1 1 0 1 2
0 s

1 0 1 2 3
6 6 0 6
2 0 0 6
12
Ya hemos llegado al optimo. La soluci on optima primal ser a (x, y, s, t) = (0, 6, 2, 0) con z = 12.
7.3 Cambio de un coeciente tecnico
Vamos a considerar unicamente el caso en que el coeciente a
ij
que vara es no b asico. Si fuera b asico
podra pasar cualquier cosa (incluso que la matriz b asica dejara de ser regular). Admitiendo que a
ij
es
no b asico, lo unico que se modica es el correspondiente w
j
, por lo que la soluci on podr a dejar de ser
optima, si bien seguir a siendo factible.
TEMA 7. POSTOPTIMIZACI

ON Y AN

ALISIS DE SENSIBILIDAD 81
Ejemplos Consideremos el mismo problema que en los ejemplos precedentes.
1. Estudiar que sucede si a
11
pasa a valer 2.
Notemos que se trata de un coeciente no basico. Calculamos
B
1
=
_
1 0
1 1
_
(El c alculo esta hecho antes.) Ahora obtenemos la nueva matriz Y :
Y = B
1
A =
_
1 0
1 1
__
2 1 1 0
2 1 0 1
_
=
_
2 1 1 0
0 0 1 1
_
.
La nueva tabla ser a
1 2 0 0
x y s t
2 y 2 1 1 0 4
0 t 0 0 1 1 2
4 2 2 0
3 0 2 0
8
Vemos que la solucion sigue siendo optima. (Si no lo hubiera sido, simplemente habramos calculado
las iteraciones necesarias para llegar de nuevo a un optimo.)
2. Calcular el intervalo de sensibilidad de a
11
.
Repetimos los calculos anteriores pero con un coeciente a
11
arbitrario:
Y =
_
1 0
1 1
__
a
11
1 1 0
2 1 0 1
_
=
_
a
11
1 1 0
2 a
11
0 1 1
_
.
Ahora ser a z
1
= 2a
11
y w
1
= 1 2a
11
, luego la soluci on sera v alida mientras 1 2a
11
0. El
intervalo es [1/2, +[.
7.4 Introducci on de una nueva variable
Introducir una nueva variable supone introducir una nueva columna en la tabla. Podemos calcular el
nuevo w
n+1
. Si es 0 la soluci on sigue siendo optima, y la nueva variable (que es no b asica) vale 0. Si
w
n+1
> 0 calculamos nuevas iteraciones hasta llegar a una soluci on optima.
7.5 Introducci on de una nueva restricci on
Si la soluci on optima cumple la nueva restricci on entonces sigue siendo optima y no hay nada que
hacer. En caso contrario hemos de pasar al dual (donde lo que hemos hecho es a nadir una nueva variable
y estamos en el caso anterior).
Problemas
1. Un botellero embotella y comercializa tres tipos de vino A, B y C. Por cada cuba obtiene un
benecio de 50, 25 y 20 u.m. respectivamente. Cada cuba ha de pasar por dos fases: llenado
y precintado. La primera trabaja hasta un total de 640 horas semanales y la segunda 900 horas
semanales. El n umero de horas que una cuba necesita en cada fase viene dado por la tabla siguiente:
TEMA 7. POSTOPTIMIZACI

ON Y AN

ALISIS DE SENSIBILIDAD 82
Llenado Precintado
A 16 30
B 4 5
C 6 10
La soluci on optima del problema lineal que maximiza los benecios es (0, 160, 0, 0, 100).
(a) Cu antas cubas de tipo C llenara si las horas totales de la seccion de llenado fueran 700?
(b) Si el benecio por cuba de tipo A fuera de 55 u.m. cu antas cubas de tipo B se llenaran?
(c) Cuanto puede disminuir el benecio unitario de las cubas de tipo A sin que la soluci on vare?
(d) Calcula e interpreta el intervalo de sensibilidad del benecio por cuba de tipo B.
2. Una empresa produce dos artculos en cantidades x e y, y los distribuye en un mercado cuya demanda
maxima (conjunta para los dos productos) se estima en 200 unidades. El coste de producci on
unitario es de 2 u.m. para el primer producto y 3 u.m. para el segundo. El presupuesto de la
empresa es de 500 u.m. Por otra parte, el benecio que se obtiene por cada unidad del primer
artculo es de 3 u.m., mientras que para el segundo es de 1 u.m.
(a) Calcula la producci on que maximiza los benecios y el benecio maximo.
(b) Estudia las variaciones que se produciran si el benecio unitario obtenido por el segundo
artculo fuera de 2 unidades monetarias en lugar de 1.
(c) Repite el apartado anterior para un benecio unitario de 4 u.m.
(d) Calcula el intervalo de sensibilidad del benecio unitario de cada uno de los dos artculos.
(e) Calcula el intervalo de sensibilidad del coste unitario del segundo artculo.
(f) Calcula el intervalo de sensibilidad de la demanda del mercado.
(g) Estudia las modicaciones en la soluci on que se produciran para una demanda de 250 unidades
de producto.
(h) Repite el apartado anterior para una demanda de 300 unidades de producto.
(i) Supongamos que la empresa se ve obligada a producir al menos tanta cantidad del segundo
artculo como la mitad del primero, es decir, y x/2 o, equivalentemente, x 2y 0. Obten
la nueva soluci on optima.
3. Una empresa fabrica dos productos en cantidades x
1
y x
2
a partir de dos procesos productivos que
vienen representados por las restricciones
x
1
+ 3x
2
9
2x
1
+ x
2
8,
donde 9 y 8 son las cantidades disponibles de dos factores de producci on. Suponiendo que los
benecios unitarios son de 1 y 2 unidades monetarias respectivamente y sabiendo que el benecio
maximo se obtiene cuando se agotan las disponibilidades de ambos factores productivos,
(a) Calcula la tabla optima del problema.
(b) Realiza el an alisis de sensibilidad de b
1
e interpreta el resultado.
(c) Si se implanta un nuevo proceso productivo determinado por la restricci on
3x
1
+ 2x
2
14,
que efecto tendra sobre la soluci on del problema? Cu al sera el nuevo optimo?
TEMA 7. POSTOPTIMIZACI

ON Y AN

ALISIS DE SENSIBILIDAD 83
4. Considera el problema
Max. 5x
1
+ 3x
2
s.a. 2x
1
+ 5x
2
20
2x
1
+ 4x
2
10
x
1
, x
2
0
Se sabe que las variables b asicas en el optimo son x
1
y s
1
. Realiza el analisis de sensibilidad de b
1
.
5. Considera el problema
Max. x
1
+ 2x
2
+ 3x
3
s.a. x
1
+ x
2
+x
3
10000
2x
1
+ 3x
2
+x
3
20000
x
1
, x
2
, x
3
0
(a) Sabiendo que las variables b asicas de la solucion optima son x
2
y x
3
, calcula la tabla optima
del smplex.
(b) Plantea el problema dual y, a partir de la tabla anterior, obten la soluci on optima.
(c) Indica cu al es la nueva soluci on si b
1
pasa a ser 20000.
6. La soluci on optima del problema
Max. 3x
1
+ 2x
2
s.a. 2x
1
+ x
2
12
2x
1
+ 2x
2
14
x
1
, x
2
0
es (x
1
, x
2
) = (5, 2).
(a) Calcula la tabla optima sin realizar ninguna iteraci on.
(b) Haz el an alisis de sensibilidad de b
1
.
(c) Calcula la nueva soluci on optima si a nadimos la restriccion 2x
1
+ 3x
2
17. Indica cu ales son
las variables b asicas.
7. Una empresa se plantea el siguiente problema lineal:
Max. 3x
1
+x
2
+ 2x
3
(benecios)
s.a. 2x
1
+ x
2
+ x
3
18 (capital)
3x
1
+ 2x
2
+ 3x
3
15 (horas de trabajo)
x
1
, x
2
, x
3
0
(a) Calcula la tabla optima del smplex sabiendo que el punto optimo es (5, 0, 0).
(b) Haz el an alisis de sensibilidad de a
12
y a
22
.
(c) Razona el efecto de reducir el trabajo de 15 a 12 horas.
(d) Calcula el valor de las variables duales. Razona si a la empresa le interesa disponer de m as
capital o de m as horas de trabajo para aumentar sus benecios.
8. La tabla optima del problema
Max. 10x
1
+ 20x
2
s.a. 3x
1
+ 4x
2
60
5x
1
+ 3x
2
62
x
2
9
x
1
, x
2
0
TEMA 7. POSTOPTIMIZACI

ON Y AN

ALISIS DE SENSIBILIDAD 84
viene dada por
10 20 0 0 0
x
1
x
2
s
1
s
2
s
3
0 s
1
0 0 1 3/5 11/5 3
10 x
1
1 0 0 1/5 3/5 7
20 x
2
0 1 0 0 1 9
10 20 0 2 14
0 0 0 2 14
250
(a) Obten la soluci on optima del problema dual.
(b) Para que valores de c
1
contin ua siendo v alida la soluci on?
9. Una empresa fabrica dos productos en cantidades x
1
y x
2
, a partir de dos procesos productivos
representados por las restricciones
x
1
+ 4x
2
8
2x
1
+ x
2
6,
donde 8 y 6 son las cantidades disponibles de dos factores de producci on. Los benecios unitarios
son de 6 y 2 unidades monetarias respectivamente.
(a) Determina la soluci on optima del problema dual sabiendo que en la soluci on optima del primal
se fabrican 3 unidades del primer producto.
(b) Si el empresario desea aumentar su producci on, que factor productivo le convendr a mas
aumentar?
(c) La empresa desea implantar un nuevo proceso productivo, determinado por la restricci on
x
1
+ 5x
2
10. Indica el efecto que tendr a sobre la soluci on optima y, en su caso, calcula la
nueva soluci on.

También podría gustarte