Академический Документы
Профессиональный Документы
Культура Документы
; entonces:
(
{[
[ ]}
{[
0
0
16
[ ]}
0.6730
alfa2 =
0.0840
x2 =
-0.9710
0.2066
-1.2726
b.
f (aD1+ b D2) = 5D12x +10D12y +8D12z a 2 +2 5D1x D2x +10D1y D2y +8D1z D2z ab +
2
y
2
z
Func-count
f(x)
Step-size
optimality
-13.0453
0.000190476
265
12
-17.5038
14.8
18
-17.7471
10
11.3
21
-18.0969
3.72
24
-18.0978
0.364
27
-18.0979
0.00118
525
fminunc stopped because the size of the current step is less than
the selected value of the step size tolerance.
x =
0.0665
0.0840
fval =
-18.0979
exitflag =
2
output =
iterations: 6
funcCount: 27
stepsize: 1
firstorderopt: 0.0012
algorithm: 'medium-scale: Quasi-Newton line search'
message: [1x419 char]
c. Compare los valores de y con los tamaos de los dos pasos obtenidos en el apartado a (1 y
2). Establezca conclusiones al respecto.
Los valores 1 y 2 obtenidos en la parte A (Pasos a seguir en las direcciones D1 y D2, respectivamente)
son iguales a los valores y (escalares que minimizan la funcin f(
) indicada en el punto b.).
Esto se debe a que la funcin f(aD1+ bD2) es una combinacin lineal de las dos primeras direcciones
del ejercicio resuelto en la parte A. Precisamente en esta combinacin esta basado el mtodo de
gradiente conjugado, el cual garantiza que el punto mnimo obtenido en cada direccin es el mnimo
del sub-espacio creado por esa direccin y las anteriores.
Al ser la funcin f(aD1+ bD2) una combinacin lineal de las dos primeras direcciones, el mnimo
valor de esa funcin debe coincidir con lo obtenido con el mtodo de Descenso Conjugado en el
punto a.
2. Considere el siguiente problema de optimizacin:
Minimizar ( )
El mnimo global de esta funcin est ubicado en el punto x k* = 0, k = 1,2,...,10, con un valor
funcional f(x*) = 0.
a. Resuelva el problema utilizando los mtodos Descenso ms Rpido, Newton y Quasi-Newton
(rango uno, DFP y BFGS). Utilice como punto inicial
,
y como
-6
criterios de parada un mximo de 20 iteraciones y un cambio menor a 1x10 en estimaciones
sucesivas de x.
Func-count
f(x)
Step-size
optimality
11
1210
22
884.938
0.0166667
50
44
185.426
0.1
21.1
66
79.3076
0.1
16.1
88
42.8774
0.1
13.3
110
26.2476
0.1
13.3
132
17.4827
0.1
13.3
154
12.4733
0.1
13.3
176
9.47152
0.1
13.3
198
7.62203
0.1
13.3
10
220
6.46385
0.1
13.3
11
253
1.36893
0.0519381
2.33
12
275
0.401431
0.333712
2.93
13
297
0.333438
0.1
2.93
14
330
0.0774966
0.0522947
0.554
15
352
0.0251936
0.316841
0.718
16
374
0.020668
0.1
0.718
17
407
0.00532007
0.0525483
0.145
18
429
0.00178099
0.312005
0.192
19
451
0.00145723
0.1
0.192
60
First-order
Iteration
Func-count
f(x)
Step-size
optimality
20
484
0.000385354
0.0525558
0.0391
21
506
0.000129787
0.310796
0.0511
x =
Columns 1 through 7
0.0074
0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
Columns 8 through 10
0.0009
0.0005
0.0026
fval =
1.2979e-04
exitflag =
0
output =
iterations: 21
funcCount: 506
stepsize: 0.3108
firstorderopt: 0.0511
algorithm: 'medium-scale: Quasi-Newton line search'
message: [1x128 char]
h =
2
0
0
0
0
4
0
0
0
0
6
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0;...
0;...
0;...
0;...
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
12
0
0
0
0
0
0
14
0
0
0
0
0
0
16
0
0
0
0
0
0
18
0
0;...
0;...
0;...
0;...
0;...
20];
end
0
0
0
0
0
0
0
0
0
0
fopt =
0
xs =
10
H =
Columns 1 through 7
0.5000
0.2500
0.1667
0.1250
0.1000
0.0833
0.0714
Columns 8 through 10
0
0.0625
0.0556
0.0500
menorEig =
2
difHess =
0
last =
2
La funcin f.m es igual a la utilizada en el mtodo de Newton. Los resultados obtenidos son los siguientes:
xopt =
1.0e-15 *
0.0193
0.6523
-0.1171
0.1874
0.3799
-0.0382
-0.0199
0.3877
-0.0190
0.2111
fopt =
3.4175e-30
xs =
Columns 1 through 7
10.0000
8.1818
6.1441
4.1359
2.3977
1.1266
0.3962
9.0000
5.7273
2.7535
0.6294
-0.4401
-0.6295
-0.3865
8.0000
3.6364
0.5967
-0.6793
-0.6323
-0.1368
0.1408
7.0000
1.9091
-0.5575
-0.7343
-0.0726
0.2547
0.1200
6.0000
0.5455
-0.9406
-0.2637
0.3035
0.1395
-0.0909
5.0000
-0.4545
-0.7838
0.2198
0.2529
-0.1163
-0.0757
4.0000
-1.0909
-0.3186
0.4196
-0.0415
-0.1455
0.0686
3.0000
-1.3636
0.2238
0.2547
-0.2371
0.0513
0.0528
2.0000
-1.2727
0.6119
-0.1399
-0.0978
0.1399
-0.0859
1.0000
-0.8182
0.6144
-0.4136
0.2398
-0.1127
0.0396
Columns 8 through 12
H =
0.0949
0.0137
0.0009
0.0000
0.0000
-0.1364
-0.0266
-0.0022
0.0000
-0.0000
0.1214
0.0380
0.0045
-0.0000
0.0000
-0.0306
-0.0342
-0.0067
0.0000
-0.0000
-0.0505
0.0128
0.0075
0.0000
0.0000
0.0421
0.0106
-0.0063
-0.0000
0.0000
0.0175
-0.0195
0.0038
-0.0000
-0.0000
-0.0455
0.0142
-0.0017
0.0000
-0.0000
0.0303
-0.0059
0.0005
-0.0000
-0.0000
-0.0095
0.0014
-0.0001
0.0000
-0.0000
Columns 1 through 7
0.5000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
0.0000
0.2500
0.0000
0.0000
-0.0000
-0.0000
-0.0000
0.0000
0.0000
0.1667
-0.0000
0.0000
-0.0000
0.0000
-0.0000
0.1250
-0.0000
-0.0000
0.0000
-0.0000
-0.0000
0.0000
-0.0000
0.1000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
0.0000
0.0833
0.0000
-0.0000
-0.0000
-0.0000
0.0000
0.0000
0.0000
0.0714
-0.0000
-0.0000
-0.0000
-0.0000
0.0000
0.0000
-0.0000
-0.0000
0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
2.0000
31.6571
29.0389
26.2579
23.3371
20.3016
9.3277
0.0000
Columns 8 through 10
-0.0000
-0.0000
0.0000
-0.0000
-0.0000
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
0.0000
0.0000
-0.0000
0.0625
0.0000
-0.0000
0.0000
0.0556
0.0000
-0.0000
0.0000
0.0500
menorEig =
Columns 1 through 7
1.0000
1.0000
Columns 8 through 11
1.0000
1.0000
difHess =
Columns 1 through 7
36.4692
34.1164
Columns 8 through 11
17.1152
last =
13.6000
11
La funcin f.m es igual a la utilizada en el mtodo de Newton. Los resultados obtenidos son los siguientes:
xopt =
1.0e-14 *
0.1837
0.0896
0.0265
-0.0069
-0.0031
0.0362
0.0667
0.0456
-0.0085
-0.0261
fopt =
1.1522e-29
xs =
Columns 1 through 7
10.0000
8.1818
6.1441
4.1359
2.3977
1.1266
0.3962
9.0000
5.7273
2.7535
0.6294
-0.4401
-0.6295
-0.3865
8.0000
3.6364
0.5967
-0.6793
-0.6323
-0.1368
0.1408
7.0000
1.9091
-0.5575
-0.7343
-0.0726
0.2547
0.1200
6.0000
0.5455
-0.9406
-0.2637
0.3035
0.1395
-0.0909
5.0000
-0.4545
-0.7838
0.2198
0.2529
-0.1163
-0.0757
4.0000
-1.0909
-0.3186
0.4196
-0.0415
-0.1455
0.0686
3.0000
-1.3636
0.2238
0.2547
-0.2371
0.0513
0.0528
2.0000
-1.2727
0.6119
-0.1399
-0.0978
0.1399
-0.0859
1.0000
-0.8182
0.6144
-0.4136
0.2398
-0.1127
0.0396
Columns 8 through 12
0.0949
0.0137
0.0009
0.0000
-0.0000
-0.1364
-0.0266
-0.0022
0.0000
-0.0000
0.1214
0.0380
0.0045
0.0000
-0.0000
-0.0306
-0.0342
-0.0067
-0.0000
-0.0000
-0.0505
0.0128
0.0075
-0.0000
-0.0000
0.0421
0.0106
-0.0063
0.0000
0.0000
0.0175
-0.0195
0.0038
0.0000
0.0000
-0.0455
0.0142
-0.0017
0.0000
-0.0000
0.0303
-0.0059
0.0005
-0.0000
-0.0000
-0.0095
0.0014
-0.0001
-0.0000
-0.0000
H =
Columns 1 through 7
0.5000
-0.0000
-0.0000
0.0000
0.0000
-0.0000
0.0000
0.2500
-0.0000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
-0.0000
0.1667
-0.0000
0.0000
0.0000
-0.0000
0.0000
0.1250
-0.0000
0.0000
0.0000
0.1000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0833
-0.0000
-0.0000
0.0000
-0.0000
0.0000
0.0000
-0.0000
0.0714
-0.0000
0.0000
-0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0000
Columns 8 through 10
-0.0000
-0.0000
-0.0000
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
-0.0000
-0.0000
-0.0000
0.0625
-0.0000
-0.0000
0.0000
0.0556
-0.0000
-0.0000
0.0000
0.0500
menorEig =
Columns 1 through 7
1.0000
0.9878
0.9674
0.9401
0.9875
2.0000
31.6675
29.0614
9.3415
0.0000
0.9103
0.8883
0.8882
26.2994
23.4015
20.3784
Columns 8 through 11
0.9167
0.9586
difHess =
Columns 1 through 7
36.4692
34.1199
Columns 8 through 11
17.1779
13.6342
last =
11
La funcin f.m es igual a la utilizada en el mtodo de Newton. Los resultados obtenidos son los siguientes:
xopt =
1.0e-15 *
0.3245
0.0256
0.0147
0.0746
0.1119
0.1900
0.2724
0.2151
0.0261
-0.0390
fopt =
1.3193e-30
xs =
Columns 1 through 7
10.0000
8.1818
6.1441
4.1359
2.3977
1.1266
0.3962
9.0000
5.7273
2.7535
0.6294
-0.4401
-0.6295
-0.3865
8.0000
3.6364
0.5967
-0.6793
-0.6323
-0.1368
0.1408
7.0000
1.9091
-0.5575
-0.7343
-0.0726
0.2547
0.1200
6.0000
0.5455
-0.9406
-0.2637
0.3035
0.1395
-0.0909
5.0000
-0.4545
-0.7838
0.2198
0.2529
-0.1163
-0.0757
4.0000
-1.0909
-0.3186
0.4196
-0.0415
-0.1455
0.0686
3.0000
-1.3636
0.2238
0.2547
-0.2371
0.0513
0.0528
2.0000
-1.2727
0.6119
-0.1399
-0.0978
0.1399
-0.0859
1.0000
-0.8182
0.6144
-0.4136
0.2398
-0.1127
0.0396
Columns 8 through 12
0.0949
0.0137
0.0009
0.0000
0.0000
-0.1364
-0.0266
-0.0022
0.0000
-0.0000
0.1214
0.0380
0.0045
0.0000
-0.0000
-0.0306
-0.0342
-0.0067
0.0000
-0.0000
-0.0505
0.0128
0.0075
0.0000
-0.0000
0.0421
0.0106
-0.0063
0.0000
-0.0000
0.0175
-0.0195
0.0038
0.0000
0.0000
-0.0455
0.0142
-0.0017
0.0000
0.0000
0.0303
-0.0059
0.0005
0.0000
-0.0000
-0.0095
0.0014
-0.0001
-0.0000
-0.0000
H =
Columns 1 through 7
0.5000
0.0000
-0.0000
-0.0000
0.0000
0.0000
-0.0000
0.0000
0.2500
-0.0000
0.0000
0.0000
-0.0000
0.0000
-0.0000
-0.0000
0.1667
0.0000
0.0000
0.0000
-0.0000
0.0000
0.0000
0.1250
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
0.1000
0.0000
0.0000
0.0000
0.0000
0.0000
0.0833
0.0000
-0.0000
0.0000
0.0000
0.0000
0.0714
-0.0000
-0.0000
-0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
0.0000
0.0000
-0.0000
-0.0000
0.0000
-0.0000
-0.0000
-0.0000
-0.0000
0.0000
0.0000
0.0000
Columns 8 through 10
-0.0000
-0.0000
-0.0000
0.0000
-0.0000
-0.0000
0.0000
0.0000
0.0000
0.0000
0.0000
-0.0000
-0.0000
0.0000
-0.0000
-0.0000
0.0000
-0.0000
-0.0000
0.0625
0.0000
-0.0000
0.0000
0.0556
-0.0000
-0.0000
-0.0000
0.0500
menorEig =
Columns 1 through 7
1.0000
0.8659
0.7540
0.6677
0.9235
2.0000
31.7363
29.1647
9.4119
0.0000
0.6123
0.5969
0.6314
26.4364
23.5645
20.5466
Columns 8 through 11
0.7149
0.8241
difHess =
Columns 1 through 7
36.4692
34.1548
Columns 8 through 11
17.3246
last =
11
13.7443
como funcin
En la grfica 3, se puede observar que todos los mtodos de Quasi-Newton utilizados en esta caso, tienen
un comportamiento similar al comparar las norma de Frobenius de la diferencia de la aproximacin del
Hessiano y su valor real a lo largo de las iteraciones realizadas. Todas comienzan en un valor cercano a
36.4692 y tienen diferencias apenas apreciables en algunas iteraciones.
Otro detalle importante es que en todos los mtodos se consigue una norma de Frobenius igual a cero (0)
en la ltima iteracin, lo que quiere decir que se alcanza una muy buena aproximacin del Hessiano
calculado en cada mtodo con el Hessiano real.
d. Compare el desempeo final de los distintos mtodos en funcin de:
i. Nmero de iteraciones
ii. Exactitud de las soluciones encontradas (tanto en el valor de x como en el de f(x))
iii. Aproximacin del Hessiano (donde aplique)
Mtodo
Descenso ms Rpido
Newton
RANGO 1
DFP
BFGS
Nmero de Iteraciones
21*
2
11
11
11
Exactitud de la
solucin**
Valor de
(x)
1x10-3
0
1x10-16
1x10-15
1x10-16
Valor de
f(x)
1x10-4
0
1x10-30
1x10-29
1x10-30
Aproximacin del
Hessiano***
0
0
0
En la tabla 1 se resume la comparacin de los mtodos utilizados. En todos los casos, el mejor mtodo
resulta ser el mtodo de Newton, esto era de esperarse ya que para funciones cuadrticas la
aproximacin es exacta y el mtodo converge en un solo paso.
Le siguen todos los mtodos de Quasi-Newton, en los cuales la aproximacin del valor de x y de f(x) son
despreciables y en todos, la aproximacin del Hessiano en la ltima iteracin es igual (o muy cercana) al
Hessiano real.
Finalmente, el mtodo de Descenso ms Rpido es el que tiene el peor desempeo, sin embargo el valor
de f(x) tiene una diferencia con el valor ptimo en el cuarto valor decimal, lo cual es despreciable en
aplicaciones reales de ingeniera. El punto dbil de este mtodo es la cantidad de iteraciones, ya que en
problemas mas complejos, el costo computacional asociado a cada iteracin puede llegar a ser alto, lo
cual hace a este mtodo poco llamativo.
3. Los gastos anuales de operacin de un compresor de gas en una tubera transcontinental estn
dados por:
(
Siendo:
C = costos de operacin, $/ao
Q = cantidad de gas bombeado, pie3/da
L = distancia entre estaciones de compresin, millas
P1 = presin de descarga, psia
P2 = presin de succin, psia
D = dimetro de la lnea, pulgadas
K1,K2,Z,S,b = constantes
Adems,
(
Determine los valores de P1 y P2 que minimicen C para los siguientes valores de los parmetros:
i.
(costos) deben ser iguales. En este caso particular, se seleccionar presiones de descarga y succin
iguales a 1x106 psia y 1x102 psia, respectivamente.
K2 = 1.13;
Z = 1;
s = 100; b = 1.476;
P1 = x(1);
P2 = x(2);
Q=K2*((D^2.6*(P1^2-P2^2)^0.54)/(L^0.54*Z^0.54));
f=((K*Q*Z)/(1e6*L))*(log(P1/P2)+b)+K1*D^2*((P1/(2*(s-P1)))+(P1^2/(4*(s+P1)^2)));
f(x)
2.080815e+07
1.053295e+07
1.052280e+07
1.047304e+07
1.024643e+07
9.460806e+06
8.393045e+06
7.391938e+06
6.278012e+06
Feasibility
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
First-order
optimality
1.947e+04
9.969e+01
9.918e+01
9.673e+01
8.631e+01
5.830e+01
3.454e+01
2.156e+01
1.329e+01
Norm of
step
1.945e+04
1.011e+02
5.030e+02
2.454e+03
1.097e+04
2.342e+04
3.541e+04
6.213e+04
9
10
11
12
13
30
33
36
39
42
5.029148e+06
3.390922e+06
1.490163e+05
8.445207e+03
4.143546e+02
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
8.459e+00
6.647e+00
3.411e+01
3.901e+02
2.402e+02
1.080e+05
2.089e+05
4.168e+05
2.084e+03
9.118e+00
8.8239
fval =
414.3546
exitflag =
0
output =
iterations:
funcCount:
constrviolation:
stepsize:
algorithm:
firstorderopt:
cgiterations:
message:
ii.
13
42
0
9.1184
'interior-point'
240.2355
2
[1x128 char]
f(x)
1.688608e+06
1.198402e+06
1.189201e+06
1.151333e+06
1.051538e+06
9.764386e+05
8.920136e+05
8.110291e+05
7.284383e+05
6.458709e+05
5.620683e+05
4.761744e+05
3.856947e+05
2.856706e+05
1.653096e+05
6.274735e+03
3.495709e+02
1.140447e+01
Feasibility
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
0.000e+00
First-order
optimality
1.697e+03
9.443e+01
8.945e+01
7.155e+01
3.971e+01
2.549e+01
1.548e+01
9.588e+00
5.880e+00
3.608e+00
2.204e+00
1.341e+00
8.124e-01
4.904e-01
2.973e-01
1.621e+00
1.941e+01
2.213e+02
9.8241
Norm of
step
1.696e+03
1.000e+02
4.737e+02
1.895e+03
2.371e+03
4.269e+03
6.648e+03
1.094e+04
1.767e+04
2.889e+04
4.750e+04
7.955e+04
1.376e+05
2.524e+05
3.885e+05
1.943e+03
9.713e+00
output =
iterations:
funcCount:
constrviolation:
stepsize:
algorithm:
firstorderopt:
cgiterations:
message:
17
54
0
9.7129
'interior-point'
221.3487
0
[1x128 char]