Vous êtes sur la page 1sur 36

169

CA P T U L O 6
P ROGRAMACI N NO L I NE AL


6.1.- Introduccin a la Programacin No Lineal
En este tema vamos a considerar la optimizacin de problemas que no
cumplen las condiciones de linealidad, bien en la funcin objetivo, bien en las
restricciones. En general, se puede expresar un problema de Programacin No
Lineal (PNL) de la manera siguiente: encontrar los valores de las variables (x
1
,
x
2
,, x
n
) que

Max (min) z= f(x
1
, x
2
,, x
n
)
st
g
1
(x
1
, x
2
,, x
n
) ( s, =, >) b
1

g
2
(x
1
, x
2
,, x
n
)( s, =, >) b
2

. (6.1)
g
m
(x
1
, x
2
,, x
n
)( s, =, >) b
m

x
i
> 0, i

Antes de entrar de lleno en el tema, veamos una serie de conceptos sobre
funciones cncavas y convexas.
6.2.- Funciones cncavas y convexas
Las funciones cncavas y convexas representan un papel fundamental en la
Teora de la Optimizacin ya que pueden garantizarnos la globalidad de los
ptimos locales. Por ello vamos a iniciar este apartado introduciendo el concepto
de funcin cncava y convexa para luego ms tarde introducir condiciones que
nos permitan reconocer si una funcin es cncava o convexa dependiendo de sus
propiedades de diferenciabilidad.
170 Investigacin Operativa

Definicin 6.1. Diremos que una funcin f(x) es estrictamente cncava en un
conjunto S convexo si todo segmento que une dos puntos de la grfica esta
estrictamente por debajo de la grfica.
Definicin 6.2. Diremos que una funcin es cncava (no estricta) si no todas
las cuerdas que unen puntos de la grfica en dicho intervalo quedan estrictamente
por debajo.
Definicin 6.3. Sea f(x) una funcin definida en un intervalo de R, diremos
que dicha funcin es convexa en el intervalo si todo segmento que une dos puntos
de la grfica queda por encima de la grfica. Si siempre queda estrictamente por
encima, decimos que la funcin es estrictamente convexa.
Definicin 6.4. Sea S un subconjunto convexo de R
n
y sea f: S R. Diremos
que f(x) es una funcin convexa en S si para cualquier par de puntos x, yeS y
para cualquier be[0,1]
f[(1-b)x+by] s (1-b)f(x)+bf(y)
Definicin 6.5. f(x) es una funcin estrictamente convexa en S si para
cualquier par de puntos x, yeS y para cualquier be[0,1]
f[(1-b)x+by] < (1-b)f(x)+bf(y)
En la figura siguiente se representa grficamente una funcin convexa:

Definicin 6.6. f(x) es una funcin cncava en S si para cualquier par de
puntos x, yeS y para cualquier be[0,1]
f[(1-b)x+by] > (1-b)f(x)+bf(y)
Programacin no Lineal 171


Definicin 6.7. f(x) es una funcin estrictamente cncava en S si para
cualquier par de puntos x, yeS y para cualquier be[0,1]
f[(1-b)x+by] > (1-b)f(x)+bf(y)
En la figura siguiente se representa grficamente una funcin cncava:



Ejercicio 6.1. Demostrar por definicin que f(x)=x
2
es estrictamente convexa
en R.
Para hacer esta demostracin, consideremos dos puntos cualesquiera de R,
por ejemplo x
1
,x
2
. Tenemos que demostrar que
f((1-b )x
1
+ b x
2
) < (1- b )f(x
1
)+ b f(x
2
)
((1- b )x
1
+ b x
2
)
2
=(1- b )
2
x
1
2
+ b
2
x
2
2
+2(1- b)bx
1
x
2

y comparar con
(1- b )x
1
2
+ b x
2
2

Obsrvese que no es fcil demostrar la concavidad o convexidad de una
funcin por definicin. Por ello es necesario o conveniente disponer de unas
condiciones necesarias y suficientes que nos permitan determinar si una funcin
es cncava o convexa estudiando otros elementos ms operativos.
Propiedad 6.1. Si f es cncava en S, entonces -f es convexa en S y si f es
convexa en S, entonces -f es cncava en S.
172 Investigacin Operativa

Propiedad 6.2. Si f es estrictamente convexa en S, entonces -f es
estrictamente cncava en S y, si f es estrictamente cncava en S, entonces -f es
estrictamente convexa en S .
Propiedad 6.3. Si f
i
, i=1,..., n son convexas en S, entonces

con o
i
> 0
es convexa en S. Del mismo modo, si f
i
, i=1,...,n son cncavas en S,
entonces con o
i
> 0 es cncava en S.
=
n
i
i i
f
1
o

=
n
i
i i
f
1
o
Demostracin.
Demostramos slo la primera: Si f
i
es convexa en S para todo i, entonces para
cualquier par de puntos x, yeS y para cualquier be[0,1]
f
i
[(1-b)x+by] s (1-b)f
i
(x)+bf
i
(y)
Esto quiere decir que para cualquier o
i
>0
o
i
f
i
[(1-b)x+by] s o
i
((1-b)f
i
(x)+bf
i
(y))
entonces
| | )) ( ) ( ) 1 ( ( ) ) 1 ( (
1 1
y bf x f b by x b f
i i
n
i
i
n
i
i i
+ s +

= =
o o
y esto ltimo es cierto si y slo si
| | ) ( ) ( ) 1 ( ) ) 1 ( (
1 1 1
y f b x f b by x b f
i
n
i
i i
n
i
i
n
i
i i
= = =
+ s + o o o
con lo que queda demostrado que es convexa.
Propiedad 6.4. El producto de funciones cncavas (convexas) no ha de ser
necesariamente una funcin cncava (convexa).
Teorema 6.1. Sea S un subconjunto convexo de R
n
, sea f:S R. Entonces:
a) Si f es convexa en S para todo oe R, se verifica que el conjunto
A
o
={xeS / f(x) s o } es un conjunto convexo.
Programacin no Lineal 173


b) Si f es cncava en S para todo oe R se verifica que el conjunto
B
o
={xeS / f(x) > o } es un conjunto convexo.

Demostracin.
a) Consideremos un nmero o real cualquiera. Como f es convexa en un
conjunto S (convexo de R
n
), vamos a demostrar que el conjunto A
o
es convexo.
Consideremos dos puntos cualesquiera x, ye A
o
y sea un be[0,1]
Como dichos puntos son del conjunto A
o
, entonces verifican que
f(x) s o, f(y) s o pues x, ye A
o

Como adems f es convexa se verifica que
f[(1-b)x+by] s (1-b)f(x)+bf(y) s (1-b) o+b o=o
luego se cumple que be[0, 1] y x, yeA
o
, f[(1-b)x+by] eA
o
, por tanto el
conjunto A
o
es convexo.
b) Se demuestra de forma anloga.
Propiedad 6.5. Regin factible para un problema de PNL es el conjunto de
valores x=(x
1
, x
2
,, x
n
) que satisfacen las restricciones de (6.1).
Propiedad 6.6. Mximo local: sea S un conjunto convexo tal que x
1
, x
2
eS,
f(x
1
) > f(x
2
) x
2
x
1
sera un mximo local.
Propiedad 6.7. Mnimo local: sea S un conjunto convexo tal que x
1
, x
2
eS, tal
que f(x
1
) s f(x
2
) x
2
x
1
sera un mnimo local.
Propiedad 6.8. Sea el problema Maximizacin de z en un problema de
programacin no lineal (PNL). Si para todo x existe x tal que f(x) > f(x), x
sera la solucin ptima (cumpliendo la Propiedad 6.6).
Propiedad 6.9. Sea el problema Minimizacin de z en un problema de
programacin no lineal (PNL). Si para todo x existe x tal que f(x)s f(x), sera la
solucin ptima (cumpliendo la Propiedad 6.7).
174 Investigacin Operativa

Teorema 6.2. Consideremos un PNL de maximizacin. Supngase que la
regin factible, S, para el PNL es un conjunto convexo. Si f(x) es cncava sobre
S, entonces cualquier mximo local de PNL es una solucin ptima para el
problema de PNL.

Demostracin
Supongamos que existe x que es mximo local y que no es solucin ptima,
es decir, - x / f(x) > f ( x ).
Podemos formar combinacin lineal: f(ox + (1- o) x) > o f( x ) + (1-o) f(x)

Como f(x) > f ( x ), tenemos

f(ox + (1- o) x) > o f(x) + (1-o) f(x) > o f( x ) + (1-o) f( x )= f( x )

Podemos tomar o ~ 1 o x + (1-o)x ~ x no puede ser un mximo local, en
contra de la hiptesis inicial. Luego, llegamos a una contradiccin, por lo que el
teorema es cierto. Es decir, si es mximo local, entonces es una solucin ptima
para el PNL.

Definicin 6.8. La matriz Hessiana asociada a una funcin f(x)= (x
1
, x
2
,,
x
n
) es una matriz cuadrada, H
n x n
, tal que sus elementos h
ij
son de la forma:

h
i j
=
j i
x x
z
c
c
2


Definicin 6.9. Denominamos Hessiano al determinante asociado a la matriz
Hessiana. En 9
2
, el hessiano es H: 9
2
9

H =
2
2
2
2 1
2
2 1
2
2
1
2
x
z
x x
z
x x
z
x
z
c
c
c c
c
c c
c
c
c


Para un problema de Maximizacin con dos variables, las condiciones que se
han de verificar son:


1
x
z
c
c
= 0,
2
1
2
x
z
c
c
< 0

2
x
z
c
c
= 0, H( x ) > 0

Programacin no Lineal 175


donde x es el punto de estudio correspondiente al mximo.

Para un problema de Minimizacin con dos variables, las condiciones que se
han de verificar son:


1
x
z
c
c
= 0,
2
1
2
x
z
c
c
> 0

2
x
z
c
c
z = 0, H( x ) > 0
donde x es el punto de estudio correspondiente al mnimo.


Definicin 6.10. El menor principal de orden i de una matriz H
nxn
es el
determinante de cualquier matriz ixi que se obtiene al suprimir las n-i filas y las
n-i columnas correspondientes de la matriz.

Definicin 6.11. El menor principal dominante de orden i de una matriz H
nxn

es el determinante de cualquier matriz ixi que se obtiene al suprimir las n-i
ltimas filas y columnas de la matriz.

Teorema 6.3. Sea la funcin f(x) con derivadas parciales de segundo orden
continuas para cada punto de xeS (conjunto convexo de soluciones factibles).
Entonces f(x) es convexa sobre S si y slo si, para cada xeS, todos los menores
principales, H
i
, son no negativos.

Teorema 6.4. Sea la funcin f(x) con derivadas parciales de segundo orden
continuas para cada punto xeS (conjunto convexo de soluciones factibles).
Entonces f(x) es cncava sobre S si y slo si, para cada xeS, los menores
principales, H
i
, no nulos tienen el signo que (-1)
i
.
6.3. Optimizacin sin restricciones en R
n

Estudiaremos cmo obtener una solucin ptima (si existe) o un extremo
local para el siguiente problema de PNL:

Max (min) z = f(x
1
, x
2
,, x
n
)
st
x = (x
1
, x
2
,, x
n
), xeR
n
(6.2)


176 Investigacin Operativa

Supongamos que existen las primeras y las segundas derivadas parciales de
f(x) y que son continuas en todos los puntos.
Una condicin necesaria para que un punto x sea un extremo local para el
PNL (6.2) nos la proporciona el teorema siguiente:

Teorema 6.5. Si x =(
n
x x x ,..., ,
2 1
) es un extremo local para (6.2), entonces
i
x
x f
c
c ) (
= 0, i.
Definicin 6.12. Un punto x que satisfaga
i
x
x f
c
c ) (
= 0 es punto estacionario
de la funcin f(x).
Teorema 6.6. Si H
i
( x ) > 0, (i=1, 2, ..., n), entonces un punto estacionario x
ser un mnimo local para (6.2).
Teorema 6.7. Si H
i
( x )=0 (i=1, 2, ..., n) y tiene el signo que (-1)
k
, entonces
un punto estacionario x ser un maximo local para (6.2).
Teorema 6.8. Si H
i
( x )=0 (i=1, 2, ..., n) y no se dan ninguno de los casos
anteriores (teoremas 6.6 y 6.7), f(x) presenta un punto de inflexin en ese punto
x .

Ejercicio 6.2. Obtener el extremo de z = x
1
+2x
3
+ x
2
x
3
- x
1
2
- x
2
2
- x
3
2

La condicin necesaria para que exista extremo es:
i
x
z
c
c
= 0, para i=1, 2, 3.
1
x
z
c
c
= 1- 2 x
1
= 0,
2
x
z
c
c
= 1 x
3
- 2 x
2
=0,
3
x
z
c
c
= 2 + x
2
- 2 x
3
= 0
Resolviendo el sistema anterior, obtenemos, para el extremo, el punto objeto
de estudio ( 1/2, 2/3, 4/3 ) = x
0

Condicin suficiente:
Programacin no Lineal 177


H =
|
|
|
|
|
|
|
.
|

\
|
c
c
c c
c
c c
c
c c
c
c
c
c c
c
c c
c
c c
c
c
c
2
3
2
2 3
2
1 3
2
3 2
2
2
2
2
1 2
2
3 1
2
2 1
2
2
1
2
x
z
x x
z
x x
z
x x
z
x
z
x x
z
x x
z
x x
z
x
z
=
|
|
.

2 1 0
1 2 0
|
|

| 0 0 2
Estudio de los menores principales:
Orden 1:
| H
1x1
| = -2 < 0 signo (-1)
1

Orden 2:
| H
2x2
| =
2 0
0 2

= 4> 0 signo (-1)


2

Orden 3:
| H
3x3
| =
2 1 0
1 2 0
0 0 2

= -8+2= -6 < 0 signo (-1)


3

Por tanto, tenemos el signo de (-1)
i
. As pues, en el punto x
0
, tenemos un
posible mximo. Como el valor de los menores principales no depende del punto,
en ese punto tenemos un mximo.
6.4.- Bsqueda de la seccin urea
Consideremos una funcin f(x) para la cual la derivada de f(x), f(x), es difcil
de obtener o no existe. El problema de PNL a resolver es

Max z = f(x)
st a s x s b (6.3)
178 Investigacin Operativa


Definicin 6.13. Una funcin f(x) es unimodal en el intervalo [a,b] si se
verifica que existe un punto x , tal que f(x) es creciente en [a, x ] y decreciente
en [ x , b].

En la bsqueda de la Seccin urea, elegimos dos puntos, x
1
, x
2
, de manera
razonada, de forma que podamos estudiar los siguientes casos:


CASO 1: f(x
1
) < f(x
2
) CASO 2: f(x
1
) = f(x
2
)






a x
1
x
2
b a x
1
x
2
b
I = (x
1
, b] I = [ a, x
2
) I =(x
1
, b]


CASO 3: f(x
1
) >f(x
2
)






a x
1
x
2
b
I = [ a, x
2
)


Seccin urea se denomina al coeficiente r, el cual se determina de la
siguiente forma:

) arg (
) ( 1
segmento del a l ms parte la de longitud r
segmento el todo de longitud
=

=
) ( 1
) arg (
segmento del corta ms parte la de longitud r
segmento del a l ms parte la de longitud r



r
2
= 1-r r
2
+r-1=0, r = 0,618

Programacin no Lineal 179


En cada caso, podemos demostrar que la solucin ptima para (6.1) estar en
un subconjunto [a, b].
La bsqueda de la Seccin urea empieza con la evaluacin de f(x) en los
puntos x
1
y x
2
, donde x
1
=b-r(b-a) y x
2
=a+r(b-a).

r(b-a)

x
1
x
2

a b
r(b-a)


Definiciones 6.14.
L
k
: longitud del intervalo de incertidumbre despus de realizar k iteraciones.
I
k
: intervalo de incertidumbre despus de realizar k iteraciones.

b - x
1
= r(b-a) x
1
= b - r(b-a)
x
2
- a = r(b-a) x
2
= a + r(b-a)
x
1
y x
2
quedan perfectamente definidos.
L
1
= r(b-a)

CASO 1: f(x
1
) < f(x
2
)

L
1
= r(b-a)
I
1
= (x
1
, b], b - x
1
= r(b-a), r
2
= 1-r

r(b- x
1
)

x
3
x
4

x
1
b

r(b- x
1
)


x
3
= b - r(b- x
1
) = b r r(b-a) = b - r
2
(b-a)
x
3
= b - (1-r) (b-a)= x
2

x
4
= x
1
+ r(b- x
1
) = x
1
+ r r(b-a) = x
1
+ r
2
(b-a)

L
2
= b - x
3
= r(b x
1
) = r
2
(b-a), I
2
= (x
3
, b]

Siguiendo el mismo proceso, llegamos a una expresin general para la
longitud del intervalo de incertidumbre despus de realizadas k iteraciones del
algoritmo:
180 Investigacin Operativa


L
k
= r
k
(b-a), r
k
=
a b
L
k



Tomando logaritmos

k log r = log L
k
- log (b-a)


k =
r
a b L
k
log
) log( log


Poniendo la condicin de que la longitud de incertidumbre sea menor o igual
que un valor prefijado, c, tenemos que el nmero de iteraciones, k, viene dado por

L
k
s c k =
r
a b
log
) log( log c


El valor que tomamos para k es el entero ms prximo por exceso, [k]+1.


CASO 2 : f(x
1
) > f(x
2
)

L
1
= r(b-a)
I
1
= [a, x
2
), x
2
-a= r(b-a), r
2
= 1-r

r(x
2
- a)

x
3
x
4

a x
2


r(x
2
- a)

x
3
= x
2
- r(x
2
- a)

= x
2
- r
2
(b-a)
x
4
= a + r (x
2
-a)

= a + r
2
(b-a)
x
4
= a + (1-r)(b-a) = a+b-a-r(b-a) = b-r(b-a) = x
1

x
1
= b - r (b-a)
L
2
= x
4
- a= r(x
3
- a) = r
2
(b-a)

Siguiendo el mismo proceso, llegamos a una expresin general para la
longitud del intervalo de incertidumbre despus de realizadas k iteraciones del
algoritmo:
Programacin no Lineal 181


L
k
= r
k
(b-a), r
k
=
a b
L
k



L
k
s c k =
r
a b
log
) log( log c
;

El valor que tomamos para k es el entero ms prximo por exceso, [k].

CASO 3: f(x
1
) < f(x
2
)
Caso 3.1: f(x
3
) < f(x
4
)
Caso 3.2: f(x
3
) > f(x
4
)


Caso 3.1:
f(x
1
) < f(x
2
) L
1
= r(b-a); I
1
= (x
1
, b]
f(x
3
) < f(x
4
)

r(b- x
3
)

x
5
x
6

x
3
b

r(b- x
3
)


L
2
= r (b - x
1
), L
2
< L
1

I
2
= (x
3
, b]

x
5
= b - r (b- x
3
)
x
6
= x
3
+ r (b- x
3
)

y as sucesivamente.

Ejemplo: Max z =f(x)
st
-1sxs1

Cunto tiene que valer k para que el error sea c s 10
3
?

k =
618 ' 0 log
2 log 10 log
3

= 1579 k=16
182 Investigacin Operativa

6.5.- Mtodo del gradiente
El mtodo del gradiente se aplicar para aproximar un punto estacionario de
una funcin cuando sea difcil encontrar ese punto estacionario.
En este apartado, se estudiar cmo obtener una solucin ptima (si existe)
para un problema de PNL sin restricciones:

Max (min) z = f(x)
st x e 9
n



Definicin 6.15. El gradiente es un vector cuyas componentes son derivadas
parciales de la funcin f(x) que queremos estudiar.

V f(x) = (
1
) (
x
x f
c
c
,
2
) (
x
x f
c
c
, ,
n
x
x f
c
c ) (
)

El vector normalizado del gradiente es: u =
|| ) ( ||
) (
x f
x f
V
V


El gradiente nos proporciona la direccin de mximo cambio.


x
0
x
1
; ||V f(x
1
) || < c
V ) ( x f

Los pasos a seguir son:

i) Fijamos un punto inicial x
0
y en la direccin del gradiente, nos
desplazamos hasta otro punto x
1
.
ii) Fijamos el grado de aproximacin a la solucin a travs de c
(||Vf(x
1
) ||< c).
iii) Si se cumple la condicin, x
1
se encontrar cercano a un punto
estacionario (
x
x f
c
c ) (
= 0 ).
iv) Si no se cumple, buscaremos de forma iterativa un punto x
j
en el que se
verifique ||V f(x
j
) || < c.

Max z = f(x
0
+ t
0
V f(x
0
)) x
0
x
1
: x
1
= x
0
+ t
0
V f(x
0
)
V ) ( x f
st t
0
> 0

Nos preguntamos es ||V f(x
1
) || < c ?
Si lo es, hemos terminado.
Programacin no Lineal 183


En caso contrario

Max z=f(x
1
+ t
1
V f(x
1
)) x
1
x
2
: x
2
= x
1
+ t
1
V f(x
1
)
V ) ( x f
st t
1
> 0
Es ||V f(x
2
) || < c ?

Si lo es, hemos terminado.
En caso contrario, seguimos con el proceso hasta encontrar un punto que lo
verifique.
El proceso anterior se repite hasta cumplir la condicin de parada,(||Vf(x
i
) ||< c).

Ejercicio 6.3. Utilizando el mtodo del gradiente aproxime la solucin de

Max z = f (x
1
, x
2
) = -(x
1
-1)
2
- (x
2
-2)
2

st (x
1
, x
2
) eR
2


Para resolverlo elegimos de forma arbitraria el punto x
0
= (1, 1) y calculamos
el gradiente en ese punto

V f(x) = (
1
) (
x
x f
c
c
,
2
) (
x
x f
c
c
)= (-2(x
1
-1)-2(x
2
-2))

x
1
= x
0
+ t
0
V f(x
0
) = (1, 1)+ t
0
(0, 2)= (1, 1+2 t
0
)

Max z = f(x
0
+ t
0
V f(x
0
))= Max f(1, 1+2 t
0
)

f(1, 1+2 t
0
)= (2 t
0
-1)
2
= f (t
0
)

Derivando e igualando a cero la derivada, f (t
0
)= 0 , tenemos

f= 4(2 t
0
-1)= 8 t
0
- 4 = 0, t
0
= 1/2

Desplazndonos en la direccin del gradiente hacia el nuevo punto, x
1
,
tenemos

x
1
= x
0
+ t
0
V f(x
0
)= (1, 1)+ (0, 2)= (1, 2)

Calculando V f (1, 2)= (0, 0), nos indica que hemos finalizado. Al ser f (x
1
,
x
2
) una funcin cncava, hemos encontrado la solucin ptima del problema.
184 Investigacin Operativa

6.6.- Multiplicadores de Lagrange
Se pueden utilizar los multiplicadores de Lagrange para resolver problemas
de PNL en los cuales las restricciones son de igualdad.

Max (min) z = f(x) = f(x
1
, x
2
,, x
n
)
s.t.
g
1
(x
1
, x
2
,, x
n
) = b
1
g
1
* = b
1
- g
1
(x) = 0
g
2
(x
1
, x
2
,, x
n
) = b
2
g
2
* = b
2
- g
2
(x) = 0
... .....
g
m
(x
1
, x
2
,, x
n
) = b
m
g
m
* = b
m
- g
m
(x) = 0 (6.3)

Para resolver el problema anterior, asociamos a cada restriccin un
multiplicador
i
(i=1, 2, ..., m) y formamos la funcin lagrangiana

L(x, ) = f(x) +


i
g
i
*(x, b
i
) = f(x) +
i
[b
i
- g
i
(x)]
=
m
i 1

=
m
i 1

donde
i
(i=1, 2, ..., m) son constantes (desconocidas) denominadas
multiplicadores de Lagrange.

Buscaremos una solucin de L(x, ). Para ello, segn se ha visto en el
apartado 6.2, la condicin necesaria para que L(x, ) tenga un mximo o un
mnimo en el punto ( x , ) = =(
n
x x x ,..., ,
2 1
,
m
,..., ,
2 1
) es


i
x
L
c
c
= 0, (i=1, 2, , n)

i
L
c
c
= 0, (i=1, 2, , m) (6.4)

Teorema 6.9. Supongamos que (6.3) es un problema de maximizacin. Si f(x)
es una funcin cncava y si cada g
i
(x) es una funcin lineal, entonces cualquier
punto ( x , ) que satisfaga (6.4) proporcionar una solucin ptima x=(x
1
, x
2
,,
x
n
) para el problema (6.3).

Teorema 6.10. Supongamos que (6.3) es un problema de minimizacin. Si
f(x) es una funcin convexa y si cada g
i
(x) es una funcin lineal, entonces
cualquier punto ( x , ) que satisfaga (6.4) proporcionar una solucin ptima
x=(x
1
, x
2
,, x
n
) para el problema (6.3).

Programacin no Lineal 185


Ejercicio 6.4. Comprobar que el punto (4,-2;4,8) es estacionario para la
funcin lagrangiana asociada al problema:
Max z = (x-2)
2
+(y-2)
2

st
-x+y
2
s 0
x+y s 2


Ejercicio 6.5. Una compaa planifica gastar 10.000 euros en publicidad.
Cuesta 3.000 euros un minuto de publicidad en la televisin y 1.000 euros un
minuto de publicidad en la radio. Si la empresa compra x minutos de publicidad
en la televisin e y minutos de publicidad en la radio, su ingreso, en miles de
euros, est dado por f(x,y)=-2x
2
-y
2
+xy+8x+3y. Plantear y resolver el problema de
manera que la empresa maximice sus ingresos.

Solucin:

La formulacin del problema no lineal queda de la forma:

Max z =-2x
2
- y
2
+xy+8x+3y
st
3x+y=10

Formamos la lagrangiana

L(x, y, ) =-2x
2
- y
2
+xy+8x+3y+ (10-3x-y)

Operando tenemos


x
L
c
c
= -4x+y+8-3=0 y= 4x -8+3

y
L
c
c
= -2y+x+3- =0 x= 2y-3+


c
cL
=(10-3x-y) = 0 3x + y = 10

Vamos a poner las expresiones de x e y en funcin de .
Sustituyendo x en y = 4x -8+3, tenemos

186 Investigacin Operativa

y =4(2y-3+) -8+3 7y =20-7 y =20/7-

Llevando este valor de y a x= 2y-3+, tenemos

x= 2y-3+= 2(20/7-)-3+=19/7-

Sustituyendo los valores de x e y en 3x + y = 10, tenemos

3x + y = 10=3(19/7-)+20/7-=11-4 =1/4

Sustituyendo este valor de =1/4 en las expresiones de x e y, tenemos
y =20/7-=20/7-1/4=73/28
x = 19/7-1/4=69/28

La matriz hessiana asociada con la funcin f(x, y) = -2x
2
- y
2
+xy+8x+3y es


H(x, y)=
|
|
.
|

\
|

2 1
1 4

Los menores principales de primer orden son negativos y H
2
=7 > 0, luego
f(x, y) es una funcin cncava. La restriccin es lineal, por el Teorema 6.9,
concluimos que la solucin es ptima para el problema no lineal.

As, la empresa tendra que comprar 69/28 minutos de tiempo de televisor
y 73/28 minutos de tiempo de radio.



6.6.1. Interpretacin de los multiplicadores de Lagrange

Estamos interesados en estudiar en qu medida vara el valor de la funcin
objetivo en x cuando variamos el recurso b.
Tenemos que en el punto ( x , ) =(
n
x x x ,..., ,
2 1
,
m
,..., ,
2 1
) el valor de la
funcin objetivo, z =f(x), es ptimo. Si tomamos derivadas parciales en ese punto
respecto a los recursos b
i
, tenemos:

Programacin no Lineal 187


L(x, ) = f(x) +
i
[b
i
- g
i
(x)],

=
m
i 1
i
i
b
x f
=
c
c ) (
(i=1, 2, , m)

lo que nos indica que los multiplicadores de Lagrange vienen a representar los
precios marginales (precios sombra) ya mencionados al estudiar la interpretacin
econmica del DUAL.
En el ejercicio anterior =1/4, el gasto de un cantidad extra pequea, Ab (en
miles de euros) aumentara los ingresos de la empresa en aproximadamente
0.25Ab.
6.7.- Condiciones de Kuhn -Tucker
En esta seccin se estudian las condiciones necesarias y suficientes para que
el punto x =(
n
x x x ,..., ,
2 1
) sea una solucin ptima para el PNL, con restricciones
de desigualdad.
Las condiciones de Kuhn-Tucker slo son aplicables si las g
i
(x) (i=1, 2, ..., m)
satisfacen ciertas condiciones de regularidad:
i) Ser lineales e independientes o
ii) Restricciones linealmente independientes: continuas y los gradientes en la
solucin ptima forman un sistema de vectores linealmente
independientes.
Para aplicar los resultados de este apartado, todas las restricciones del PNL
tienen que ser del tipo s.
Estudiaremos los dos casos siguientes:

Caso 1: x
i
sin restriccin de signo

Max (min) z= f(x)
s.t.
g
1
(x) s b
1

g
2
(x) s b
2

. (6.5)
g
m
(x) s b
m


El problema anterior lo transformamos en un problema de multiplicadores de
Lagrange introduciendo variables de holgura h
i
2
:

g
1
(x) + h
1
2
= b
1
g
1
*
=(b
1
- (g
1
(x) + h
1
2
)) = 0
g
2
(x) + h
2
2
= b
2
g
2
*
=(b
2
- (g
2
(x) + h
2
2
)) = 0

188 Investigacin Operativa

g
m
(x) + h
m
2
=b
m
g
m
*
=(b
m
- (g
m
(x) + h
m
2
)) = 0

Formamos la funcin lagrangiana

L(x, h
i
,
i
) = f(x) +
i
[b
i
- (g
i
(x) + h
i
2
)]

=
m
i 1

Y, operando, tenemos


j
x
L
c
c
= 0 =
j
x c
c
f(x) -
i

=
m
i 1 j
i
x
x g
c
c ) (


i
L
c
c
= 0 = [b
i
- (g
i
(x) + h
i
2
)] h
i
2
= b
i
- g
i
(x)

i
h
L
c
c
= 0 = -2 h
i

i
~ h
i
2

i
=
i
[b
i
- g
i
(x)]

Las condiciones de Kuhn-Tucker se establecen como

j
x
x f
c
c ) (

=
m
i 1

i
j
i
x
x g
c
c ) (
= 0 (j=1, 2, ..., n)

i
[b
i
- g
i
( x )] = 0 (i=1, 2, ..., m)

i
> 0 (i=1, 2, ..., m) (6.6)

Tomaremos en la expresin anterior el signo:
- para un problema de maximizacin.
+ para un problema de minimizacin.

Tenemos que tener presente que puede haber ptimos locales y globales que
no verifiquen las condiciones Kuhn-Tucker.
Si un punto x satisface las condiciones de K-T este punto es un ptimo local.
Si un punto x es un ptimo local no tiene por qu satisfacer las condiciones
de K-T.
Los teoremas siguientes nos dan las condiciones necesarias y suficientes (si
satisfacen las condiciones de regularidad), para que un punto x =(
n
x x x ,..., ,
2 1
)
sea solucin de (6.5).

Teorema 6.11. Sea el problema (6.5) de maximizar f(x). Si el punto
x =(
n
x x x ,..., ,
2 1
) es una solucin ptima de (6.5), entonces x tendr que
Programacin no Lineal 189


satisfacer las m restricciones del problema de PNL (6.5) y debern existir
multiplicadores
1
,
2
, ,
m
, que verifiquen las condiciones de Kuhn-Tucker
(6.6).
Teorema 6.12. Sea el problema (6.5) de minimizar f(x). Si el punto
x =(
n
x x x ,..., ,
2 1
) es una solucin ptima de (6.5), entonces x tendr que
satisfacer las m restricciones del problema de PNL (6.5) y debern existir
multiplicadores
1
,
2
, ,
m
, que verifiquen las condiciones de Kuhn-Tucker
(6.6).

Caso 2: x
i
con restriccin de signo (x
i
> 0)

Cuando se ponen restricciones de no negatividad para las variables, las
condiciones de Kuhn-Tucker para el PNL (6.5) se establecen

Max (min) z= f(x)
st.
g
1
(x) s b
1

g
2
(x) s b
2

. (6.7)
g
m
(x) s b
m

-x
i
s 0 para (i=1, 2, ... ,n)

Operando de forma anloga a como se hizo para el Caso 1, teniendo en
cuenta que aqu tenemos que introducir dos variables de holgura h
i
2
, (i=1, 2, ...,
m) y t
j
2
(j=1, 2, ..., n) y dos multiplicadores de Lagrange
i
y
j
, escribiremos la
funcin lagrangiana

L(x, h

, t, , ) = f(x) +
i
[b
i
- (g
i
(x) + h
i
2
)]+
j
[x
j
- t
j
2
)]

=
m
i 1

=
n
j 1

y obtenemos las condiciones de Kuhn-Tucker:

j
x
x f
c
c ) (

=
m
i 1

i
j
i
x
x g
c
c ) (

j
= 0 (j=1, 2, ..., n)

i
[b
i
- g
i
( x )] = 0 (i=1, 2, ..., m)
[
j
x
x f
c
c ) (

=
m
i 1

i
j
i
x
x g
c
c ) (
] x
j
= 0 (j=1, 2, ..., n)
190 Investigacin Operativa

i
> 0 (i=1, 2, ..., m)

j
> 0 (j=1, 2, ..., n) (6.8)

Tomaremos en la expresin anterior el signo:

(-, +) para un problema de maximizacin.
(+, -) para un problema de minimizacin.

Como
j
> 0, la primera restriccin de (6.8) puede escribirse como

j
x
x f
c
c ) (
-

=
m
i 1

i
j
i
x
x g
c
c ) (

s 0 (j=1, 2, ..., n) (problema de maximizacin)

j
x
x f
c
c ) (
+

=
m
i 1

i
j
i
x
x g
c
c ) (

> 0 (j=1, 2, ..., n) (problema de minimizacin)

Generalizando los Teoremas 6.11 y 6.12, tenemos:

Teorema 6.13. Sea el problema (6.7) de maximizar f(x). Si el punto
x =(
n
x x x ,..., ,
2 1
) es una solucin ptima de (6.7), entonces x tendr que
satisfacer las m restricciones del problema de PNL (6.7) y debern existir
multiplicadores
1
,
2
, ,
m
;
1
,
2
, ,
n
, que verifiquen las condiciones
de Kuhn-Tucker (6.8).

Teorema 6.14. Sea el problema (6.7) de minimizar f(x). Si el punto
x =(
n
x x x ,..., ,
2 1
) es una solucin ptima de (6.7), entonces x tendr que
satisfacer las m restricciones del problema de PNL (6.7) y debern existir
multiplicadores
1
,
2
, , ;
m

1
,
2
, ,
n
que verifiquen las condiciones de
Kuhn-Tucker (6.8).
Podemos establecer dos teoremas, correspondientes a los Teorema 6.13 y
6.14, que recojan las condiciones necesarias y suficientes para que
x =(
n
x x x ,..., ,
2 1
) sea una solucin ptima de (6.5) o (6.7).

Teorema 6.15. Sea el problema (6.7) de maximizar f(x). Si f(x) es una
funcin cncava y las g
i
(x) (i=1, 2, ..., m) son funciones convexas, entonces
cualquier punto x =(
n
x x x ,..., ,
2 1
) que satisfaga las condiciones de Kuhn-Tucker
(6.8) y las m restricciones del problema de PNL es una solucin ptima de (6.7).

Programacin no Lineal 191


Teorema 6.16. Sea el problema (6.7) de minimizar f(x). Si f(x) es una
funcin convexa y las g
i
(x) (i=1, 2, ..., m) son funciones convexas, entonces
cualquier punto x =(
n
x x x ,..., ,
2 1
) que satisfaga las condiciones de Kuhn-Tucker
(6.8) y las m restricciones del problema de PNL es una solucin ptima de (6.7).
Para poder aplicar los resultados anteriores es importante que el problema se
plantee en la forma que aparece descrita; de no ser as, los signos de los
multiplicadores podran ser diferentes.
i) Debe tambin verificarse la hiptesis de regularidad que obliga a que los
vectores gradientes de las restricciones saturadas sean linealmente
independientes en el ptimo. De no ser as, el punto podra no verificar el
teorema correspondiente, como ocurra en el caso de restricciones de
igualdad.
ii) Los multiplicadores de Kuhn-Tucker (, ) tambin se conocen como
variables duales del problema.
iii) Para problemas de maximizacin (minimizacin) se tendra un resultado
similar, con la nica diferencia de que los multiplicadores deben ser
negativos (cambio de signo).
iv) Estos teoremas sirven para determinar los posibles ptimos de un
problema; para ello, habra que resolver un sistema de n+m ecuaciones
con n+m incgnitas. Una vez resuelto este sistema habra que seleccionar
aquellas soluciones que verifican las desigualdades. Por analoga con los
problemas con restricciones de igualdad, a estos puntos se les llama
puntos estacionarios.
A continuacin, veremos un caso prctico de localizacin de posibles ptimos
mediante las condiciones de Kuhn-Tucker.

Ejemplo 6.3. Encontrar las posibles soluciones del problema

Min z = (x-7)
2
+(y-10)
2

st
y-8 s 0
(x-10)
2
+(y-10)
2
-36 s 0
Para resolver el problema, comenzamos por observar que las restricciones
estn dadas en la forma estndar. Segn las condiciones de Kuhn-Tucker, todo
mnimo del problema debera verificar el sistema:
2(x-7)+
2
*2(x-10)=0
2(y-10)+
1
+
2
*2(y-10)=0
192 Investigacin Operativa


1
(y-8)=0

2
[(x-10)
2
+(y-10)
2
-36]=0
Las soluciones de este sistema son:
x y
1

2

16 10 0 -1.5
4 10 0 -0.5
7 10 0 0
7 8 4 0
15,6569 8 -2,12132 -1,53033
4,34315 8 2,12132 -0,46967
Si de esas soluciones seleccionamos las que corresponden a puntos factibles y
con multiplicadores positivos (por tratarse de un problema de minimizacin), se
obtiene un nico candidato a mnimo del problema: x=7, y=8,
1
=4,
2
=0.
Con las condiciones estudiadas hasta ahora, no se est en disposicin de
asegurar que dicho punto corresponda realmente a un mnimo local del problema.
Se hace necesario, por tanto, el estudio de condiciones suficientes de optimalidad.
La siguiente seccin se dedica precisamente a eso.
Condiciones suficientes de optimalidad.
Una vez seleccionadas las posibles soluciones de un problema de
optimizacin con restricciones de desigualdad, deben estudiarse condiciones
suficientes que permitan decidir si realmente los puntos localizados corresponden
a verdaderas soluciones.
Teorema 6.17: Si el problema es convexo (restricciones convexas), entonces
las condiciones necesarias de Kuhn-Tucker son adems suficientes.
El ejemplo anterior es un caso de problema convexo, por lo tanto se puede
concluir que el punto estacionario encontrado es mnimo y adems global.
6.8.- Programacin cuadrtica
La programacin cuadrtica es un caso particular de la programacin no
lineal en el que la funcin objetivo es cuadrtica y las restricciones son lineales.

Programacin no Lineal 193


Max (min) z = C
T
X+X
T
D X
st
AXs b
X>0
La funcin X
T
D X define una forma cuadrtica donde D es simtrica. La
matriz D, se define:

>0 definida positiva (mnimo)
>0 semidefinida positiva (cuasimnimo)
<0 definida negativa (mximo)
s0 semidefinida negativa (cuasimximo)
=0 indefinida (puntos de inflexin)

Tendremos un mnimo si los menores principales asociados con D son todos
positivos y un mximo si los menores principales tienen el signo (-1)
i
.
Ejercicio 6.6. Una empresa puede invertir 1000 millones de euros en tres
ttulos de bolsa. Sea X
i
la variable aleatoria que corresponde al inters anual por
cada milln de pesetas invertido en el ttulo i-simo. Se conocen los valores
siguientes: E(X
1
)=0.14, E(X
2
)=0.11, E(X
3
)=0.10; Var(X
1
)=0.2, Var(X
2
)=0.08,
Var(X
3
)=0.18; Cov(X
1
,X
2
)=0.05, Cov(X
1
,X
3
)=0.02, Cov(X
2
,X
3
)=0.03.
a) Formule un problema de programacin cuadrtica que se pueda utilizar
para encontrar la cartera de varianza mnima que alcance un inters anual
esperado de por lo menos un 10%.
b) Resulvalo mediante LINDO.
Solucin:
a) Definamos: x
j
=nmero de millones de euros invertidos en el ttulo j-
simo.

(

+ +
1000
2 2 2 2 1 1
X x X x X x
E >0.10

Min Var | |
2 2 2 2 1 1
X x X x X x + + =Minz
Min z= 0.20 +0.08 + 0.18 + 0.10x
1
x
2
+ 0.04x
1
x
3
+0.06x
2
x
3

2
1
x
2
2
x
2
3
x
st 0.14x
1
+ 0.11x
2
+0.10 x
3
> 100
x
1
+ x
2
+ x
3
= 1000
x
i
> 0, i= 1, 2, 3.

En el programa LINDO se introduce de la forma siguiente:

Min X1+X2+X3+L1+L2+L3
st
0.40X1+0.10X2+0.04X3-0.14L1+L2-L3=>0
194 Investigacin Operativa

0.10X1+0.16X2+0.06X3-0.11L1+L2-L3=>0
0.04X1+0.06X2+0.36X3-0.10L1+L2-L3=>0
-0.14X1-0.11X2-0.10X3<=-100
X1+X2+X3<=1000
-X1-X2-X3<=-1000
END
QCP 5

b) Salida:

OBJECTIVE FUNCTION VALUE

1) 63988.77

VARIABLE VALUE REDUCED COST
X1 140.449432 0.000000
X2 623.595520 0.000000
X3 235.955063 0.000000
L1 0.000000 11.853932
L2 0.000000 0.000000
L3 127.977531 0.000000

ROW SLACK OR SURPLUS DUAL PRICES
2) 0.000000 -140.449432
3) 0.000000 -623.595520
4) 0.000000 -235.955063
5) 11.853932 0.000000
6) 0.000000 0.000000
7) 0.000000 127.977531

En la tabla siguiente se recogen las inversiones:

Ttulo 1 2 3
Euros invertidos
140.4494 623.5955 235.9550


6.9.- Programacin separable
A los problemas de programacin no lineal se les denomina de programacin
separable cuando las variables de decisin aparecen en trminos separados tanto
en la funcin objetivo como en las restricciones.
Max (min) z = f
j
(x
j
) = f
1
(x
1
) + f
2
(x
2
) + + f
n
(x
n
)

=
n
j 1
st g
i j
(x
j
) s b
i
(i=1, 2, ..., m)

=
n
j 1
Programacin no Lineal 195

g
En la figura siguiente representamos una funcin y su aproximacin en un
intervalo de un punto x
j
, a
j r
s x
j
s a
j r+1




f(x
j
)

(x
j
) f





a
j r
x
j
a
j r+1


donde (x
j
) es la funcin lineal que emplearemos para estimar f(x
j
). f

En ese intervalo x
j
, se puede expresar como una combinacin lineal de los
extremos, es decir,
x
j
= o a
j r
+ (1- o) a
j r+1
, f(x
j
) = o f(a
j r
) + (1- o) f(a
j r+1
)
Vamos a considerar que todas las variables tienen el mismo recorrido
dividido en k celdillas.
a s x
j
s b; a = a
j1
s a
j2
ss a
j k-1
s a
jk
= b
x
j
=

o
jr
a
jr
; o
jr
= 1 (j=1, 2, ...., n)
=
k
r 1

=
k
r 1
Aplicando la funcin de estimacin a la funcin objetivo y a las restricciones,
tenemos
(x
j
) = o
jr
f
j
(a
jr
)
j
f

=
k
r 1

ij
(x
j
) =

o
jr
g
ij
(a
jr
)
=
k
r 1
Para que la aproximacin sea buena, debemos tener en cuenta la suposicin
de adyacencia, que dice que, a lo sumo, dos o
jr
pueden ser positivos. Si para un j
196 Investigacin Operativa

f

g
dado (j=1, 2, ...., n), dos o
jr
son positivos, entonces tienen que ser adyacentes. Es
decir, debern ser positivos o
jr-1
y o
jr+1
.
Ahora ya podemos formular el problema:
Max (min)z =
j
(x
j
) = o
jr
f
j
(a
j r
)

=
n
1 j

=
n
j 1

=
k
r 1
st
i j
(x
j
) = o
jr
g
i j
(a
j r
) s b
i

=
n
j 1

=
n
j 1

=
k
r 1
o
jr
= 1 (j=1, 2, ...., n),

=
k
r 1
o
jr
> 0 (j=1, 2, ..., n; r =1, 2, ..., k)
Ejercicio 6.7. Resuelva el problema siguiente:

Max z=30x
1
+ 35x
2
- 2 x
1
2
- 3x
2
2
s.t.
x
1
2
+ 2x
2
2
s 250
x
1
+ x
2
s 20
x
i
> 0 (i=1, 2)

Como una de las restricciones es no lineal, sino cuadrtica, no podemos
aplicar Kuhn-Tucker, por lo que recurriremos a la programacin separable.

z = f
j
(x
j
) = f
1
(x
1
) + f
2
(x
2
) + + f
n
(x
n
)

=
n
1 j

=
n
j 1
g
i j
(x
j
) s b
i

g
11
(x
1
) + g
12
(x
2
) + + g
1n
(x
n
) s b
1

. .
g
m1
(x
1
) + g
m2
(x
2
) + + g
mn
(x
n
) s b
m


f
1
(x
1
) = 30x
1
- 2x
1
2

f
2
(x
2
) = 35x
2
- 3x
2
2

g
11
(x
1
) = x
1
2

g
12
(x
2
) = 2 x
2
2

g
21
(x
1
) = x
1

Programacin no Lineal 197


g
22
(x
2
) = x
2


a
1
s x
1
s b
1
0s x
1
s 20
a
2
s x
2
s b
2
0s x
2
s 20

a
1
= a
11
= 0; a
12
= 5 ; a
13
= 10 ; a
14
= 15 ; a
15
= 20 = b
1
;
a
2
= a
21
= 0; a
22
= 5 ; a
23
= 10 ; a
24
= 15 ; a
25
= 20 = b
2
;

Cambiamos las funciones f
i
y g
ij
por sus estimaciones:

f

1
(x
1
) = o
11
f
1
(a
11
) + o
12
f
1
(a
12
) + + o
15
f
1
(a
15
)
f

2
(x
2
) = o
21
f
2
(a
21
) + o
22
f
2
(a
22
) + + o
25
f
5
(a
25
)
x
1
= o
11
a
11
+ o
12
a
12
+ + o
15
a
15


a
21
,

a
11
a
22
,

a
12
a
23
,

a
13
a
24
,

a
14
a
25
, a
15

0 5 10 15 20
f
1
0 100 100 0 -200
f
2
0 100 50 -150 -500
g
11
0 25 100 225 400
g
12
0 50 200 450 800
g
21
0 5 10 15 20
g
22
0 5 10 15 20

Max z =
1
+
2
=100 o
12
+100 o
13
-200 o
15
+100 o
22
+ 50 o
23
-150 o
24
-500 o
25

s.t.
25 o
12
+100 o
13
+225 o
14
+ 400 o
15
+ 50 o
22
+ 200 o
23
+ 450 o
24
+ 800 o
25
s 250
5 o
12
+ 10 o
13
+ 15 o
14
+ 20 o
15
+ 5 o
22
+ 10 o
23
+ 15 o
24
+ 20 o
25
s 20
o
11
+ o
12
+ o
13
+ o
14
+ o
15
=1
o
21
+ o
22
+ o
23
+ o
24
+ o
25
=1
o
jr
> 0 (j=1, 2; r =1, 2, 3, 4, 5)

Para obtener la solucin final tendremos en cuenta la condicin de
adyacencia. Dicha solucin es:

o
21
=o
22
=1; x
1
=5, x
2
=5, z=200

198 Investigacin Operativa

6.10.- Programacin Estocstica
La programacin aleatoria o estocstica se presenta cuando alguno o todos los
parmetros del problema se pueden describir mediante variables aleatorias.
Nuestro objetivo es expresar la naturaleza probabilstica del problema en
trminos determinsticos.

Dado el problema de programacin no lineal en forma cannica
Max z =

c
i
x
i

=
n
i 1
st a
i j
x
j
s b
i

=
n
j 1
x
j
> 0 j = 1, 2, , n
supondremos que los coeficientes del problema son variables aleatorias que
siguen distribuciones normales. Los casos que se nos pueden presentar son:

Caso 1: El coeficiente de la funcin objetivo es aleatorio.
Si el coeficiente c
i
es una variable aleatoria con valor esperado E[c
i
] y
varianza Var (c
i
), entonces el problema, en forma determinstica, se establece:

Max z = E[c
i
] x
i

=
n
i 1
st a
i j
x
j
s b
i

=
n
j 1
x
j
> 0 j = 1, 2, , n
Caso 2: Los a
ij
siguen una distribucin normal, a
ij
~ N( E[a
i j
], Var (a
i j
) ). La
covarianza de a
ij
y a
ij
viene dada por Cov (a
ij
, a
ij
).
Consideremos que la i-sima restriccin se produce con una probabilidad
mnima de 1 - o
i
.
Programacin no Lineal 199


P (

a
i j
x
j
s b
i
) > 1 - o
i

=
n
1 j
Tomemos h
i
= a
ij
x
j
, entonces la probabilidad asociada a la i-sima
restriccin la escribimos como P( h
i
s b
i
) > 1 - o
i

=
n
1 j



1- o
i

k
1-oi

Tipificando P( h
i
s b
i
), tenemos:
P
(
(

) (
] [
) (
] [
i
i i
i
i i
h Var
h E b
h Var
h E h
> 1 - o
i

La varianza asociada a h
i
es Var (h
i
)=X
T
D
i
X, y su desviacin tpica
) (
i
h Var = X D X
i
T

siendo D
i
la matriz de la i-sima covarianza.
D
i
=
|
|
|
|
|
.
|

\
|
) ( .. ) , ( ) , (
.. .. ... ..
) , ( .. ) ( ) , (
) , ( .. ) , ( ) (
2 1
2 2 1 2
1 2 1 1
in i in i in
in i i i i
in i i i i
a Var a a Cov a a Cov
a a Cov a Var a a Cov
a a Cov a a Cov a Var

donde
(
(


) (
] [
i
i i
h Var
h E h
~ N(0, 1)
200 Investigacin Operativa

por tanto, |
(
(


) (
] [
i
i i
h Var
h E h
= 1 - o
i


El cuantil correspondiente verifica
) (
] [
i
i i
h Var
h E b
> k
1-oi

Operando llegamos al resultado
E[h
i
]+ k
1-oi
) (
i
h Var s b
i

Sustituyendo en la expresin anterior h
i
=

a
ij
x
j
, tenemos para la i-sima
restriccin
=
n
j 1
E[a
ij
] x
j
+ k
1-oi

=
n
j 1
X D X
i
T
s b
i
i = 1, 2, ,m
Si las v.a. a
ij
son v. a. i. (caso particular del anterior), tenemos

D
i
=
|
|
|
|
|
.
|

\
|
) ( 0
.. ...
.. ) (
0 ) (
2
1
in
i
i
a Var
a Var
a Var

As, podemos escribir:
E[a
ij
] x
j
+ k
1-oi

=
n
1 j
2
1
) (
j
n
j
ij
x a Var

=
s b
i



Programacin no Lineal 201


Caso 3: Los coeficientes de las restricciones, b
i
, son v.a., es decir,
b
i
~ N(E[b
i
], Var(b
i
))
Operando de forma similar al Caso 2, fijamos la probabilidad de que ocurra
la i-sima restriccin
P(b
i
> a
ij
x
j
) > o
i

=
n
j 1
P(b
i
> a
ij
x
j
) =1- P(b
i
s a
ij
x
j
)

=
n
j 1

=
n
j 1
Tipificando la ltima expresin y operando
1-P
(
(
(
(


=
) (
] [
) (
] [
1
i
i
n
j
j ij
i
i i
b Var
b E x a
b Var
b E b
> o
i

P
(
(
(
(


=
) (
] [
) (
] [
1
i
i
n
j
j ij
i
i i
b Var
b E x a
b Var
b E b
s 1- o
i
donde
(
(


) (
] [
i
i i
b Var
b E b
~ N(0, 1)
por tanto, |
(
(
(
(

=
) (
] [
1
i
i
n
j
j ij
b Var
b E x a
= 1 - o
i

El cuantil correspondiente verifica
) (
] [
1
i
i
n
j
j ij
b Var
b E x a

=
s k
1-oi

202 Investigacin Operativa

por tanto
k
1-oi
) (
i
b Var > ] [
1
i
n
j
j ij
b E x a

=
Operando llegamos al resultado para la i-sima restriccin
a
ij
x
j
s E[b
i
]+ k
1-oi

=
n
j 1
) (
i
b Var
Caso 4: Los coeficientes a
ij
y b
i
son v. a.
a
ij
x
j
s b
i
, a
ij
x
j
- b
i
s 0

=
n
j 1

=
n
i 1
Como todas las a
ij
y b
i
siguen distribuciones normales, es decir,
a
ij
~ N(E[a
i j
], Var(a
i j
)), b
i
~ N(E[b
i
], Var(b
i
))

=
n
j 1
a
ij
x
j
- b
i
tambin sigue una distribucin normal. Por tanto, podemos hacer un
estudio anlogo al Caso 2.
Ejercicio 6.7. Una empresa minera dispone de tres canteras, X
1
, X
2
y X
3
, las
cantidades a explotar siguen distribuciones normales: N(150m
3
, o
2
=625m
6
),
N(200m
3
, o
2
=2500m
6
) y N(100m
3
, o
2
=625m
6
), respectivamente. Por otra parte,
el material debe transportarse a los lugares X
4
, X
5
, X
6
, X
7
y X
8
, en donde se
requieren respectivamente 100 m
3
, 100 m
3
, 150 m
3
, 250 m
3
y 50 m
3
. Debido a
las restricciones en la flotilla de camiones, en el equipo de explotacin de las
canteras y en los caminos de acceso, las capacidades de transporte de cada una de
las canteras a los lugares de descarga resultan como se muestra en la siguiente
tabla:
Destino
Origen X
4
X
5
X
6
X
7
X
8

X
1
60 40 80 80 0
X
2
60 60 60 80 60
X
3
0 40 30 70 30
Programacin no Lineal 203


Tomar como dato, para las canteras, el cuantil correspondiente a
F
i
(2)=0.977250

(i=1, 2, 3). Cmo se pueden satisfacer las demandas al
mximo?en qu destinos no se satisface la demanda al ritmo deseado y en qu
cantidades?
Resolviendo el problema mediante LINDO, tenemos

i) Planteamiento del problema:

Sea x
j
(1=1, 2, ..., 15) la cantidad de producto que enviaremos del origen al
destino.
Este ejercicio corresponde al Caso 3 de programacin estocstica
a
ij
x
j
s E[b
i
]+ k
1-oi

=
n
i 1
) (
i
b Var
Las cantidades a explotar son:
b
1
=150+2 625 = 200, b
2
= 200+2 2500 = 300, b
3
=100+2 625 = 150

Max x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12+x13+x14+x15
st
x1<=60
x2<=40
x3<=80
x4<=80
x5=0
x6<=60
x7<=60
x8<=60
x9<=80
x10<=60
x11=0
x12<=40
x13<=30
x14<=70
x15<=30
x1+x2+x3+x4+x5<=200
x6+x7+x8+x9+x10<=300
x11+x12+x13+x14+x15<=150
x1+x6+x11>=100
x2+x7+x12>=100
x3+x8+x13>=150
x4+x9+x14>=250
x5+x10+x15>=50
204 Investigacin Operativa

ii) Resolucin mediante LINDO

OBJECTIVE FUNCTION VALUE

1) 650.0000

VARIABLE VALUE REDUCED COST
X1 40.000000 0.000000
X2 20.000000 0.000000
X3 60.000000 0.000000
X4 80.000000 0.000000
X5 0.000000 0.000000
X6 60.000000 0.000000
X7 60.000000 0.000000
X8 60.000000 0.000000
X9 80.000000 0.000000
X10 40.000000 0.000000
X11 0.000000 0.000000
X12 20.000000 0.000000
X13 30.000000 0.000000
X14 70.000000 0.000000
X15 30.000000 0.000000

Resumiendo los resultados en una tabla, tenemos

z=650 m
3

Destino
Origen X
4
X
5
X
6
X
7
X
8

X
1
40 20 60 80 0
X
2
60 60 60 80 40
X
3
0 20 30 70 30
Demandado 100 100 150 250 50
Dado 100 100 150 230 70
Demanda no
satisfecha
0 0 0 -20 20

El lugar X
7
no satisface sus necesidades, necesita 20 m
3
ms y el X
8
tiene un
sobrante de 20 m
3
.