资源描述:
《最优化计算方法.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第三章最优化计算方法单变量优化多变量优化线性规划离散最优化单变量优化例3.1再来考虑售猪问题。但现在考虑到猪的生长率不是常数的事实。假设现在猪还小,生长率是增加的。什么时候将猪售出从而获得最大收益?求解模型—图像法clearall;closeall;symsxy=(0.65-0.01*x)*200*exp(0.025*x)-0.45*x;ezplot(y,[0,20]);gridonezplot(y,[0,20])ezplot(y,[0,40])ezplot(y,[18,22]);gridonezplot(y,[19,20]);gridon数值方法求解--Matlabdydx=dif
2、f(y,x)xmax=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);formatlongN=10;%numberofiterationsx0=19%initialguessfprintf('iterationxvalue');fori=1:Nx1=x0-subs(F,x,x0)/subs(F1,x,x0);fprintf('%5.0f%1.16f',i
3、,x1);x0=x1;enddisplay('Hence,thecriticalpoint(solutionofF=0)is(approx)'),x1灵敏性分析考虑最优售猪时间关于小猪增长率c=0.025的灵敏性。xvalues=0;forc=0.022:0.001:0.028y=(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];endxvalues=xvalues(2:end);cv
4、alues=0.022:0.001:0.028;cvalues=cvalues';%transposestherowintoacolumnformatshort;display([cvalues,xvalues])例3.2更新消防站的位置。对响应时间数据的统计分析给出:对离救火站r英里打来的求救电话,需要的响应时间估计为。下图给出了从消防管员处得到的从城区不同区域打来的求救电话频率的估计数据。求新的消防站的最佳位置。3.2多变量最优化3014212112325330128521001063131023111设(x,y)为新消防站的位置,对求救电话的平均响应时间为:问题为在区域0=5、=<6,0=6、((x-5)^2+(y-1)^2)^0.91;z=3.2+1.7*(6*r1+8*r2+8*r3+21*r4+6*r5+3*r6+18*r7+8*r8+6*r9)/84;ezmesh(z)绘制等值线图ezcontourf(z,[0606])colorbar,gridon随机搜索算法算法:随机搜索算法变量:a=x的下限,b=x的上限c=y的下限,d=y的上限xmin,ymin,zmin输入:a,b,c,d,N过程:开始x=random{[a,b]}y=random{[c,d]}zmin=f(x,y)对n=1到N循环开始x=random{[a,b]}y=random{[c,d]}z=f(
7、x,y)若z