Está en la página 1de 30

TEMA 5.

6
PROGRAMACIN NO LINEAL

5.6.1. INTRODUCCIN

5.6.2. CONCEPTOS BSICOS

5.6.3. MTODO
O O DE N
NEWTON
W ON S
SIN
N RESTRICCIONES
S CC ON S

5.6.4. MTODO DE NEWTON CON RESTRICCIONES. FUNCIONES DE


PENALIZACIN.
TEMA 5.6. PROGRAMACIN NO LINEAL

INTRODUCCIN

Un modelo matemtico o problema se dice que pertenece a la


programacin no lineal si la funcin objetivo y/o alguna de las
restricciones del problema son una funcin no lineal de las variables de
d i i (modelo
decisin ( d l o problema
bl no lineal).
li l) Si la
l funcin
f i objetivo
bj ti y/o/ alguna
l
de las restricciones son no lineales y las variables slo pueden tomar
valores enteros no negativos (modelo o problema no lineal entero),
entonces el modelo matemtico pertenecera al campo de la
programacin no lineal entera.

Problemas de estas caractersticas surgen de forma inevitable en las


aplicaciones de ingeniera, tales como diseo y control ptimo, y en
aplicaciones cientficas. Adems muchos problemas que se formulan como
lineales se convierten en no lineales cuando se tienen en cuenta economas
de escala (por ejemplo, costes no proporcionales a la cantidad).

ESTADSTICA Y OPTIMIZACIN 2
TEMA 5.6. PROGRAMACIN NO LINEAL

Ejemplo:

0 El ptimo est en la frontera


2
max 3 x1 5 x2
6,69 6
s.a x1 4
9 x12 5 x25 224 Z=36


x1 , x 2 0

x1 4

ESTADSTICA Y OPTIMIZACIN 3
TEMA 5.6. PROGRAMACIN NO LINEAL

Ejemplo (PNL cuadrtica y separable):

max 126 x1 9 x12 182 x2 13x22



s.a x1 4 2

2 x 12 0
6
2 6 8
3x1 2 x2 18 3
5
Z=907
x 1 , x 2 0
Z*=857
4

3 Z=807

0

4

ESTADSTICA Y OPTIMIZACIN 4
TEMA 5.6. PROGRAMACIN NO LINEAL

Ejemplo (PNL cuadrtica y separable)

2
max 54 x1 9 x12 78 x2 13x22
6
s.a x1 4 0

6
2 x 2 12
3 x1 2 x2 18 Z=189

x 1 , x 2 0 Z*=265
3
x* 4

3 3
Z=117

Z=162

0

4
ESTADSTICA Y OPTIMIZACIN 5
TEMA 5.6. PROGRAMACIN NO LINEAL

Con estos tres ltimos ejemplos queremos mostrar es que el ptimo puede estar en
cualquier sitio de la regin factible.

Como el ptimo en un PNL no necesariamente se alcanza en la frontera de la regin


factible necesitamos describir algoritmos que tengan en cuenta todos los puntos de
factible,
la regin factible.

Mx locales en x=0,2,4

f : 0,5 R Mx global en x=4


Min local x= 1,3,5
Min global x=5

1 5

ESTADSTICA Y OPTIMIZACIN 6
TEMA 5.6. PROGRAMACIN NO LINEAL

Sin embargo, muchos problemas no lineales tienen ptimos locales


nicos que, por definicin, necesariamente deben ser globales. Por
ejemplo las siguientes condiciones garantizan,
ejemplo, garantizan si existe,
existe que el ptimo es
global:

1
1. La funcin
L f i objetivo
bj i ded mximo
i y cncava,
o ell logaritmo
l i d la
de l
funcin objetivo cncava, con restricciones lineales.

2. La funcin objetivo de mnimo y convexa, con restricciones


lineales.

No obstante, cuando apliquemos el algoritmo de Newton, en general, no


conoceremos si la solucin obtenida es un ptimo global. Como
consecuencia, se suele intentar la prueba de iniciar el algoritmo desde
diferentes puntos para determinar si el problema tiene diferentes
soluciones ptimas.

ESTADSTICA Y OPTIMIZACIN 7
TEMA 5.6. PROGRAMACIN NO LINEAL

2 f
0 ( 0) x
x 2

Funcin cncava (curvatura Funcin convexa (curvatura


hacia abajo) hacia arriba)

f(x)
f(x)
( )

ESTADSTICA Y OPTIMIZACIN 8
TEMA 5.6. PROGRAMACIN NO LINEAL

CONCEPTOS BSICOS

min f ( x1 ,..., xn )

min f ( x) s.a g1 ( x1 ,..., xn ) 0
...................
( PNL) s.a : xF
x Rn
( PNL) g m ( x1 ,..., xn ) 0
h1 ( x1 ,..., xn ) 0

F definido
d fi id a partir
ti de
d un .................
hl ( x1 ,..., xn ) 0
conjunto de restricciones

ALGORITMOS DE SOLUCIN BSICOS:

1. Algoritmos que no utilizan derivadas

2 Algoritmos
2. Al i que utilizan
ili derivadas
d i d
ESTADSTICA Y OPTIMIZACIN 9
TEMA 5.6. PROGRAMACIN NO LINEAL

Cuando las funciones del problema son funciones diferenciables, podemos aplicar
algoritmos de solucin basados en las derivadas de la/s funcin/es. Dos conceptos
bsicos asociados con las funciones diferenciables son el gradiente y el hessiano
(para el clculo de este ltimo se necesita q
(p que la funcin sea dos veces
diferenciable)

Dada una funcin f: Rn R, se define el gradiente de f, f, como

f x , x ,..., x .
t
f x1 ,..., xn f x1 ,..., xn f x1 ,..., xn

1 2 n
x1 , x2 ,..., xn

INTERPRETACIN: el gradiente de una funcin (campo) escalar indica en cada


punto
t la
l direccin
di i de
d mximo
i crecimiento
i i t ded la
l misma.
i Ai i
Asimismo, ell gradiente
di t ded
una funcin en un punto es el vector normal al hiperplano tangente de la funcin
en dicho punto.

Una condicin necesaria para que un punto sea un mximo o mnimo (local) de
una funcin es que su gradiente sea cero en dicho punto, es decir que sea un punto
estacionario.
ESTADSTICA Y OPTIMIZACIN 10
TEMA 5.6. PROGRAMACIN NO LINEAL

Dada una funcin f: Rn R, se define el hessiano de f, Hf, como

f x1 ,...,xn
2 f x1 ,...,xn
2

x1x1 ... x1xn


Hf x1 , x2 ,..., xn ... ... ... .
f x ,...,x 2 f x1 ,...,xn
x x
2
1 n
...
n 1
xn xn

INTERPRETACIN: el hessiano de una funcin nos sirve para dar


condiciones suficientes para que un punto estacionario de la funcin sea un
mximo o mnimo (relativo).

ESTADSTICA Y OPTIMIZACIN 11
TEMA 5.6. PROGRAMACIN NO LINEAL

MTODO DE NEWTON SIN RESTRICCIONES

ALGORITMO DE NEWTON PARA PROBLEMAS DE UNA SOLA


VARIABLE:

Paso 0: Elegir > 0 para precisin mnima.


mnima Elegir x1 como semilla de inicio.
inicio

Paso 1: Calcular f (x1) y f (x1). Calcular x2 = x1 f (x1)/f (x1). IR al Paso 2.

Paso 2: Si x2 x1 < o f (x1) < , entonces PARAR x1 es una solucin para


el problema. En otro caso, hacer x1 := x2 e IR al Paso 1.

CARACTERSTICAS:

1. Se utiliza para funciones dos veces derivables.


2. Se basa en la aproximacin cuadrtica de una funcin.
3. Sirve p
para buscar ppuntos qque anulan la derivada de la funcin.
4. La segunda derivada debe ser no nula en cada punto.
ESTADSTICA Y OPTIMIZACIN 12
TEMA 5.6. PROGRAMACIN NO LINEAL

EJEMPLO: resolver el siguiente PNL por el algoritmo de Newton.

min x4 x2 2x
epsiln = 0,0001
Iteracin x1 x2 Abs(f'(x1)) Abs(x2 - x1)
1 -3,0000
3,0000 -2,0189
2,0189 104,0000 0,9811
2 -2,0189 -1,3607 30,8765 0,6582
4 xn31 2 xn 1 2 3 -1,3607 -0,8979 9,3552 0,4627
xn xn1 4 ,
-0,8979 -0,4940
, 3,1000
, 0,4039
,
12 xn21 2
5 -0,4940 1,1151 1,4942 1,6091
6 1,1151 1,0132 1,3158 0,1018
7 1,0132 1,0002 0,1345 0,0130
8 1,0002 1,0000 0,0021 0,0002
9 1,0000 1,0000 0,0000 0,0000

ESTADSTICA Y OPTIMIZACIN 13
TEMA 5.6. PROGRAMACIN NO LINEAL

Microsoft Excel 10.0 Informe de respuestas


Hoja de clculo: [Programacin ni lineal.xls]Hoja5

Celda objetivo
j ((Mnimo))
Celda Nombre Valor original Valor final
$B$20 FUNC.OBJ. Iteracin 78 -2

Celdas cambiantes
Celda
Ce da Nombre
o be Valor
a o original
o g a Valor
a o final
a
$C$18 X -3 0,999999863

Restricciones
NINGUNA

ESTADSTICA Y OPTIMIZACIN 14
TEMA 5.6. PROGRAMACIN NO LINEAL

300

250

200 1
150 0,8
100 0,6
50 0,4
0 0,2
-5 -4 -3 -2 -1 0 1 2 3 0
-50
-1 -0,8 -0,6 -0,4 -0,2
-0,2 0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2

-0,4
-0,6
-0,8
-1
-1,2
-1,4
14
-1,6
-1,8
-2

ESTADSTICA Y OPTIMIZACIN 15
TEMA 5.6. PROGRAMACIN NO LINEAL

EJEMPLO: resolver el siguiente PNL por el algoritmo de Newton.

min x x 1x 2 x 3 x 4 x 5
6
5
4
3
2
1
0
-0,5 -1 0 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 5,5 6 xn5 75 xn4 340 xn3 675 xn2 548 xn 120
xn 1 xn
-2
30 xn4 300 xn3 1020 xn2 1350 xn 548
-3
-4
-5
-6
-7
-8
-9
-10
-11
11
-12
-13
-14
-15
-16
-17
-18
ESTADSTICA Y OPTIMIZACIN 16
TEMA 5.6. PROGRAMACIN NO LINEAL

Microsoft Excel 10.0 Informe de respuestas Microsoft Excel 10.0 Informe de respuestas
Hoja de clculo: [Programacin ni lineal.xls]Hoja6 Hoja de clculo: [Programacin ni lineal.xls]Hoja6

Celda objetivo (Mnimo) Celda objetivo (Mnimo)


C
Celda Nombre Valor original Valor final
f C ld
Celda N
Nombre
b Valor
V l original
i i l Valor
V l final
fi l
$C$4 f(x) 720 -16,90089433 $C$4 f(x) 4,921875 -3,515625

Celdas cambiantes Celdas cambiantes


Celda Nombre Valor original Valor final Celda Nombre Valor original Valor final
$B$4 x -1 0,336553473 $B$4 x 3,5 2,49999983

Restricciones Restricciones
NINGUNA NINGUNA

Microsoft Excel 10.0 Informe de respuestas Microsoft Excel 10.0 Informe de respuestas
Hoja de clculo: [Programacin ni lineal.xls]Hoja6 Hoja de clculo: [Programacin ni lineal.xls]Hoja6

Celda objetivo (Mnimo) Celda


C ld objetivo
bj ti (M(Mnimo)
i )
Celda Nombre Valor original Valor final Celda Nombre Valor original Valor final
$C$4 f(x) 2,999267578 -3,515625 $C$4 f(x) 4,229736328 -16,90089433

Celdas
C ld cambiantes
bi t Celdas cambiantes
Celda Nombre Valor original Valor final Celda Nombre Valor original Valor final
$B$4 x 1,75 2,499999302 $B$4 x 3,75 4,663446522

Restricciones Restricciones
NINGUNA NINGUNA

ESTADSTICA Y OPTIMIZACIN 17
TEMA 5.6. PROGRAMACIN NO LINEAL

ALGORITMO DE NEWTON PARA PROBLEMAS DE VARIAS


VARIABLES:

Paso 0: Elegir > 0 para precisin mnima. Elegir x1 como semilla de inicio.

Paso 1: Calcular f(x1) y Hf(x1). Calcular x2 = x1 Hf(x1)-1 f(x1). IR al Paso 2.

Paso 2: Si x2 x1 < f(x


< , entonces PARAR x1 es una solucin
1)

para el problema. En otro caso, hacer x1 := x2 e IR al Paso 1.

CARACTERSTICAS:

1. Se utiliza p
para funciones dos veces diferenciables.
2. Se basa en la aproximacin cuadrtica de una funcin.
3. Sirve para buscar puntos que anulan el gradiente de una funcin.
4
4. Debe existir la inversa del hessiano en cada punto.
punto

ESTADSTICA Y OPTIMIZACIN 18
TEMA 5.6. PROGRAMACIN NO LINEAL

EJEMPLO: resolver el siguiente PNL por el algoritmo de Newton.

max x 2 y 2 xy y 2 3 y

f f2
f
2
x ( x , y ) 2 xy 2 y ( x , y ) ( x , y ) 2y 2 x 2
x 2
x y
f ( x , y ) f
2 H ( f ( x , y )) 2 x 2
( x , y ) x 2 x 2 y 3 2
f 2
f 2
( x , y) ( x , y)
y yx y 2

x2 = x1 Hf(x1)1f(x1)
1
1 0 1 12 0 1
iter1 f Hf
1
1 2 1 0 2 2
1 0
iter 2 f STOP OJO: si estuvisemos minimizando ocurrira lo
2 0 mismo, por lo que Hf(x1)1f(x1) no sera una
verdadera
d d direccin
di i ded descenso.
d
ESTADSTICA Y OPTIMIZACIN
TEMA 5.6. PROGRAMACIN NO LINEAL

0
-2,5 -2 -1,5 -1 -0,5 0

-0 5
-0,5

-1

-1,5

-2

-2,5

-3

-3,5

-4
ESTADSTICA Y OPTIMIZACIN 20
TEMA 5.6. PROGRAMACIN NO LINEAL

Microsoft Excel 10.0 Informe de respuestas


Hoja de clculo: [Programacin no lineal.xls]Hoja13 x y f(x,y)
1 1 -1
Celda objetivo (Mximo) 2 2 6
Celda Nombre Valor original Valor final 3 3 27
$B$4 FUNC.OBJ. 3 4 4 4 68
5 5 135
Celdas cambiantes 6 6 234
Celda Nombre Valor original Valor final 7 7 371
$C$2 X -1 -1,0000005 8 8 552
$D$2 Y -1
1 -2,000000019
2,000000019 9 9 783
10 10 1070
Restricciones 11 11 1419
NINGUNA 12 12 1836
13 13 2327
14 14 2898
15 15 3555
16 16 4304
17 17 5151
18 18 6102
19 19 7163
20 20 8340

ESTADSTICA Y OPTIMIZACIN 21
TEMA 5.6. PROGRAMACIN NO LINEAL

ALGORITMO DEL GRADIENTE PARA PROBLEMAS DE VARIAS


VARIABLES:

Paso 0: Elegir > 0 para precisin mnima. Elegir x1 como semilla de inicio.

Paso 1: Calcular f(x1). Resolver el problema de una variable min f(x1 mf(x1)),
m 0. IR al Paso 2. (Si maximizamos, max f(x1+mf(x1)), m 0.)

Paso 2: Si x2 x1 < f(x1) < , entonces PARAR x1 es una solucin


para el problema. En otro caso, hacer x1 := x2 e IR al Paso 1.

ESTADSTICA Y OPTIMIZACIN 22
TEMA 5.6. PROGRAMACIN NO LINEAL

EJEMPLO: resolver el siguiente PNL por el algoritmo del gradiente.

x y
max 3 x 2 y 2 xy

2 xy
2
3 x
3 x 2 y 2 xy 2
f x , y 3 y 2 2 xy
3 x 2 y 2 xy
2 0,4

0,35

0,3

0,25

0 13 13 m
iter1 f max m3
0,2
2m
1 1 m 9 m 2 0,15

0 3 3 0,1

0 05
0,05
1 0
iter 2 f STOP
0
0 1 2 3 4 5 6

1 0

ESTADSTICA Y OPTIMIZACIN 23
TEMA 5.6. PROGRAMACIN NO LINEAL

Dificultades del algoritmo


g de Newton:

Existencia de mltiples mnimos locales

Convergencia de los algoritmos al mnimo global

Suavidad de las funciones a minimizar

Seleccin
S l i deld l punto
t inicial
i i i l

Hf(x)-1 f(x) puede no ser una direccin de descenso (en el


algoritmo del gradiente esto no sucede)

ESTADSTICA Y OPTIMIZACIN 24
TEMA 5.6. PROGRAMACIN NO LINEAL

MTODO DE NEWTON CON RESTRICCIONES


RESTRICCIONES. FUNCIONES DE PENALIZACIN

FUNCIONES DE PENALIZACIN:

Se utilizan para penalizar puntos que sean infactibles y no hacerlo para aquellos que son
factibles. De este modo se intenta transformar problemas no lineales con restricciones en
problemas no lineales sin restricciones y poder aplicar los mtodos anteriores.
anteriores Dependiendo
del tipo de restriccin las funciones de penalizacin sern de una forma u otra.

Restriccin Funcin de penalizacin


g ( x) 0 max{0, g ( x)}
r

h( x ) 0 h( x )
r

La funcin de penalizacin de un PNL con restricciones vendr dada por:

m l
p ( x) max{0, g i ( x)} hi ( x)
r r

i 1 i 1

25
TEMA 5.6. PROGRAMACIN NO LINEAL

ALGORITMO DE NEWTON CON FUNCIONES DE PENALIZACIN:

Paso 0:
P El i > 0 para criterio
0 Elegir it i de
d terminacin.
t El i x1 como semilla
i i Elegir ill de
d
inicio, 1 escalar de penalizacin y un escalar > 1.

Paso 1: Comenzando con el punto x1 solucionar el problema no lineal aplicando


el algoritmo de Newton (o el algoritmo del gradiente)
min
i f ( x) 1 p ( x)
s.a : x n

Sea x2 una solucin del problema e IR al Paso 2.

Paso 2: Si 1p(x2) < ,


entonces PARAR x2 es una solucin del problema original.
original
En otro caso, HACER 1 := 1 y x1 := x2 e IR al Paso 1.

ESTADSTICA Y OPTIMIZACIN 26
TEMA 5.6. PROGRAMACIN NO LINEAL

EJEMPLO resolver el siguiente PNL por el algoritmo de Newton con funciones


de penalizacin
penalizacin.
min ( x1 2) 4 ( x1 2 x2 ) 2
s.a : x12 x2 0

Paso 0: = 0.0005, x1 = (2, 1), 1 = 0.1, = 10, penalizacin cuadrtica (r = 2) y


elegimos el algoritmo de Newton para resolver los sucesivos PNL sin
p
restricciones del tipo:

min ( x1 2) 4 ( x1 2 x2 ) 2 k ( x12 x2 ) 2
iteracin k - sima

ESTADSTICA Y OPTIMIZACIN 27
TEMA 5.6. PROGRAMACIN NO LINEAL

Iteracin 1 x1 x2 f(x2) 1p(x2)

1 0.1 (2, 1) (1.4538, 0.7607) 0.0935 0.1831

2 1 (1.4538, 0.7607) (1.1687, 0.7406) 0.5753 0.3908

3 10 (1 1687 0.7406)
(1.1687, 0 7406) (0 9906 0.8425)
(0.9906, 0 8425) 1 5203
1.5203 0 1926
0.1926

4 100 ((0.9906,, 0.8425)) ((0.9508,, 0.8875)) 1.8917 0.0267

5 1000 (0.9508, 0.8875) (0.9461, 0.8934) 1.9405 0.0028

6 10000 (0.9461, 0.8934) (0.9456, 0.8941) 1.9456 0.0003

ESTADSTICA Y OPTIMIZACIN 28
TEMA 5.6. PROGRAMACIN NO LINEAL

Microsoft Excel 10.0 Informe de respuestas


Hoja
j de clculo: [Programacin
[ g no lineal.xls]Hoja10
] j

Celda objetivo (Mnimo)


Celda Nombre Valor original Valor final
$B$4 FUNC.OBJ. 0 1,946181665

Celdas cambiantes
Celda Nombre Valor original Valor final
$C$2 X1 2 0,945504203
$D$2 X2 1 0,893977559

Restricciones
Celda Nombre Valor de la celda frmula Estado Divergencia
$B$6 R1 6 39723E 07 $B$6
6,39723E-07 $B$6=$D$6
$D$6 O i
Opcional
l 0

ESTADSTICA Y OPTIMIZACIN 29
TEMA 5.6. PROGRAMACIN NO LINEAL

Dificultades del algoritmo de Newton con restricciones:

Existencia de mltiples
p mnimos locales

Convergencia de los algoritmos al mnimo global

Suavidad de las funciones a minimizar

Seleccin del punto inicial

Hf(x)-1 f(x) puede no ser una direccin de descenso

ESTADSTICA Y OPTIMIZACIN 30

También podría gustarte