最优化计算方法.ppt
《最优化计算方法.ppt》由会员分享,可在线阅读,更多相关《最优化计算方法.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章 最优化计算方法单变量优化多变量优化线性规划离散最优化单变量优化例3.1 再来考虑售猪问题。但现在考虑到猪的生长率不是常数的事实。假设现在猪还小,生长率是增加的。什么时候将猪售出从而获得最大收益?求解模型图像法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 onezplot(y,0,20)ezplot(y,0,40)ezplot(y,18,22);grid onezplot(y,19,20);grid on数值方法求解-Matlabdydx=diff(y,x)xm
2、ax=solve(dydx);xmax=double(xmax)xmax=xmax(1)ymax=subs(y,x,xmax)Newton 法求方程F(x)=0的根.牛顿法:x(n)=x(n-1)-F(x(n-1)/F(x(n-1)F=dydx;F1=diff(F,x);format long N=10;%number of iterations x0=19%initial guess fprintf(iteration xvaluenn);for i=1:N x1=x0-subs(F,x,x0)/subs(F1,x,x0);fprintf(%5.0f%1.16fn,i,x1);x0=x1;e
3、nd display(Hence,the critical point(solution of F=0)is(approx),x1 灵敏性分析考虑最优售猪时间关于小猪增长率c=0.025的灵敏性。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);xvalues=xvalues;xmaxc;end xvalues=xvalues(2:end);cvalues=0.022:0
4、.001:0.028;cvalues=cvalues;%transposes the row into a column format short;display(cvalues,xvalues)例3.2 更新消防站的位置。对响应时间数据的统计分析给出:对离救火站r英里打来的求救电话,需要的响应时间估计为 。下图给出了从消防管员处得到的从城区不同区域打来的求救电话频率的估计数据。求新的消防站的最佳位置。3.2 多变量最优化3014212112325330128521001063131023111设(x,y)为新消防站的位置,对求救电话的平均响应时间为:问题为在区域0=x=6,0=y=6上求z=
5、f(x,y)的最小值。绘制目标函数图形clear all syms x y r1=sqrt(x-1)2+(y-5)2)0.91;r2=sqrt(x-3)2+(y-5)2)0.91;r3=sqrt(x-5)2+(y-5)2)0.91;r4=sqrt(x-1)2+(y-3)2)0.91;r5=sqrt(x-3)2+(y-3)2)0.91;r6=sqrt(x-5)2+(y-3)2)0.91;r7=sqrt(x-1)2+(y-1)2)0.91;r8=sqrt(x-3)2+(y-1)2)0.91;r9=sqrt(x-5)2+(y-1)2)0.91;z=3.2+1.7*(6*r1+8*r2+8*r3+21
6、*r4+6*r5+3*r6+18*r7+8*r8+6*r9)/84;ezmesh(z)绘制等值线图ezcontourf(z,0 6 0 6)colorbar,grid on 随机搜索算法算法算法:随机搜索算法变量变量:a=x的下限,b=x的上限 c=y的下限,d=y的上限 xmin,ymin,zmin输入输入:a,b,c,d,N过程过程:开始 x=randoma,b y=randomc,d zmin=f(x,y)对n=1到N循环 开始 x=randoma,b y=randomc,d z=f(x,y)若zzmin,则 xmin=x,ymin=y,zmin=z 结束 结束输出输出:xmin,ymi
7、n,zmin代码实现a=0;b=6;c=0;d=6;N=1000;x0=a+(b-a)*rand(1);y0=c+(d-c)*rand(1);zmin=subs(z,x,y,x0,y0);fprintf(Iteration xmin ymin zmin valuenn);for n=1:N xnew=a+(b-a)*rand(1);ynew=c+(d-c)*rand(1);znew=subs(z,x,y,xnew,ynew);if znewzmin xmin=xnew;ymin=ynew;zmin=znew;fprintf(%4.0f%1.6f%1.6f%1.6fn,n,xmin,ymin,z
8、min);end end 灵敏性分析a=1.5;b=2;c=2.5;d=3;N=100;x0=a+(b-a)*rand(1);y0=c+(d-c)*rand(1);zmin=subs(z,x,y,x0,y0);fprintf(Iteration xmin ymin zmin valuenn);for n=1:N xnew=a+(b-a)*rand(1);ynew=c+(d-c)*rand(1);znew=subs(z,x,y,xnew,ynew);if znew=0,y=0上求利润函数z=f(x,y)的最大值。绘制目标函数及等值线图clear all,close all syms x1 x2
9、z=x1*(10+31*x1(-0.5)+1.3*x2(-0.2)-18*x1+x2*(5+15*x2(-0.4)+.8*x1(-0.08)-10*x2;ezsurfc(z,0.1 10 0.1 10);title(Objective Function z);最优值点大致位于x=5,y=6随机搜索求近似最优值a=0;b=10;c=0;d=10;N=1000;x10=a+(b-a)*rand(1);x20=c+(d-c)*rand(1);zmin=subs(-z,x1,x2,x10,x20);fprintf(Iteration x1min x2min zmin valuenn);for n=1:
10、N x1new=a+(b-a)*rand(1);x2new=c+(d-c)*rand(1);znew=subs(-z,x1,x2,x1new,x2new);if znewzmin x1min=x1new;x2min=x2new;zmin=znew;fprintf(%4.0f%1.6f%1.6f%1.6fn,n,x1min,x2min,zmin);end end 牛顿法求较精确的近似值牛顿法见书p.56x=x1;x2;F=diff(z,x1);G=diff(z,x2);Dz=F;G;%the gradient vector of z 即求方程组Dz=0的解。牛顿法代码实现dFdx1=diff(F
11、,x1);dFdx2=diff(F,x2);dGdx1=diff(G,x1);dGdx2=diff(G,x2);D2z=dFdx1 dFdx2;dGdx1 dGdx2;%Jacobian of Dz(same as Hessian of D2z)x0=5;5;%initial guess N=10;%number of iterations for i=1:N Dz0=subs(Dz,x1,x2,x0(1),x0(2);D2z0=subs(D2z,x1,x2,x0(1),x0(2);xnew=x0-inv(D2z0)*Dz0;x0=xnew;end xmax=xnew zmax=subs(z,
12、x1,x2,xmax(1),xmax(2)xmax figure,ezcontourf(z,0.1 10 0.1 10)hold on plot3(xmax(1),xmax(2),zmax,mo,LineWidth,2,.MarkerEdgeColor,k,MarkerFaceColor,.49 1.63,.MarkerSize,12);title(Countour plot and optimal value);3.3 线性规划例3.4 一个家庭农场有625英亩的土地可用来种植农作物。这个家庭可考虑种植的农作物有玉米、小麦、燕麦。预计有1000英亩-英尺的灌溉用水,农场工人每周可以投入的工作
13、时间为300小时。其他数据如下表。为获得最大收益,每种作物应各种植多少?农场问题的有关数据条件(每英亩)作物玉米小麦燕麦灌溉用水(英亩-英尺)3.01.01.5劳力(人-小时/周)0.80.20.3收益(美元)400200250变量:x1,x2,x3=种植玉米、小麦、燕麦的亩数 w=需要的灌溉用水(英亩-英尺)l=需要的劳力(人-小时/周)t=种植作物的总英亩数 y=总收益(美元)假设:w=3.0 x1+1.0 x2+1.5x3=1000 l=0.8x1+0.2x2+0.3x3=300 t=x1+x2+x3=0目标:求y的最大值建模方法线性规划线性规划简介见书p.59可以用lindo/ling
14、o软件求解模型求解MAX 400 X1+200 X2+250 X3SUBJECT TO3 X1+X2+1.5 X3=10000.8 X1+0.2 X2+0.3 X3=300X1+X2+X3=625ENDreduced cost值表示当该非基变量增加一个单位时(其他非基变量保持不变)目标函数减少的量(对max型问题)也可理解为:为了使该非基变量变成基变量,目标函数中对应系数应增加的量灵敏性分析增加1英亩-英尺灌溉水量对最优解的影响MAX 400 X1+200 X2+250 X3SUBJECT TO3 X1+X2+1.5 X3=10010.8 X1+0.2 X2+0.3 X3=300X1+X2+X
15、3=625END玉米收益的少量提高对最优解的影响农作物每英亩收益会随气候及市场变化MAX 450 X1+200 X2+250 X3SUBJECT TO3 X1+X2+1.5 X3=10000.8 X1+0.2 X2+0.3 X3=300X1+X2+X3=625END燕麦收益的少量提高对最优解的影响MAX 400 X1+200 X2+260 X3SUBJECT TO3 X1+X2+1.5 X3=10000.8 X1+0.2 X2+0.3 X3=300X1+X2+X3=625END新品种玉米这种玉米新品种需要较少的灌溉用水2.5英亩-英尺(而不是3.0)。MAX 400 X1+200 X2+250
16、 X3SUBJECT TO2.5 X1+X2+1.5 X3=10000.8 X1+0.2 X2+0.3 X3=300X1+X2+X3=625END新增另一新的作物大麦一英亩大麦需要1.5英亩-英尺的水和0.25人-小时的劳力,预期可获得200美元的收益。用一个新的决策变量x4表示种植大麦的英亩数。MAX 400 X1+200 X2+250 X3+200 x4SUBJECT TO3 X1+X2+1.5 X3+1.5 x4=10000.8 X1+0.2 X2+0.3 X3+0.25 x4=300X1+X2+X3+x4=625END例3.5 运输问题一家大建筑公司正在三个地点开掘。同时又在其他4个地
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优化 计算方法
限制150内