最优化计算方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A
10
灵敏性分析
?考虑最优售猪时间关于小猪增长率c=0.025 的灵敏性。
A
11
xvalues = 0; for c = 0.022:0.001:0.028 y = (0.65-0.01*x)*200*exp(c*x)-0.45*x; dydx=diff(y,x); xmaxc=solve(dydx); xmaxc = double(xmaxc); xmaxc = xmaxc(1);
(130-2 x) exp(1/40 x)-9/20 x 140
135
130
125
120
0
5
10
15
20
25
30
35
40
x
A
5
ezplot(y,[18,22]); grid on
139.4
(130-2 x) exp(1/40 x)-9/20 x
139.35
139.3
139.25
139.2
139.15
19 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 20 x
A
7
数值方法求解--Matlab
dydx = diff(y,x) xmax = solve(dydx); xmax = double(xmax) xmax =xmax(1) ymax=subs(y,x,xmax)
fprintf(' iteration xvalue\n\n');
for i=1:N
x1=x0-subs(F,x,x0)/subs(F1,x,x0);
fprintf('%5.0f %1.16f\n', i, x1);
x0 = x1;
end
display('Hence, the critical point (solution of F=0) is (approx)'), x1
A
8
Newton 法
?求方程F(x)=0的根. ?牛顿法: x(n)=x(n-1)-F(x(n-1))/F'(x(n-1))
A
9
F = dydx;
F1 = diff(F,x);
format long
N = 10; % number of iterations
x0 = 19 % initial guess
xvalues = [xvalues; xmaxc];
end xvalues = xvalues(2:end);
A
12
18 18.5 19 19.5 20 20.5 21 21.5 22 x
A
6Biblioteka Baidu
ezplot(y,[19,20]); grid on
(130-2 x) exp(1/40 x)-9/20 x
139.395 139.394 139.393 139.392 139.391 139.39 139.389 139.388 139.387 139.386 139.385
第三章 最优化计算方法
?单变量优化 ?多变量优化 ?线性规划 ?离散最优化
A
1
单变量优化
?例3.1 再来考虑售猪问题。但现在考虑到猪 的生长率不是常数的事实。假设现在猪还 小,生长率是增加的。什么时候将猪售出 从而获得最大收益?
A
2
求解模型—图像法
clear all; close all; syms x y = (0.65-0.01*x)*200*exp(0.025*x)-0.45*x;
ezplot(y,[0,20]);
grid on
A
3
ezplot(y,[0,20])
(130-2 x) exp(1/40 x)-9/20 x 140 139 138 137 136 135 134 133 132 131 130
0
2
4
6
8
10 12 14 16 18 20
x
A
4
ezplot(y,[0,40])