收藏 分享(赏)

建模优化问题的解决.doc

上传人:HR专家 文档编号:11490251 上传时间:2020-05-12 格式:DOC 页数:6 大小:68.50KB
下载 相关 举报
建模优化问题的解决.doc_第1页
第1页 / 共6页
建模优化问题的解决.doc_第2页
第2页 / 共6页
建模优化问题的解决.doc_第3页
第3页 / 共6页
建模优化问题的解决.doc_第4页
第4页 / 共6页
建模优化问题的解决.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、0 引言解决最优化问题已经有很多比较成熟的算法, 如遗传算法、神经网络、模拟退火法等,各有其优劣。模式搜索法作为一种解决最优化问题的直接搜索方法,因为在计算时不需要目标函数的导数, 所以在解决不可导或者求导异常麻烦时比较有效。随着模式搜索法的发展,人们在Hooke-Jeeves 模式搜索法的基础上设计了变步长搜索策略,使得模式搜索方向更接近于最优下降方向,并且同时采用了插值技术和非单调技术,不仅改善了方法的局部寻优能力,而且改善了方法的收敛性。现在已有很多软件将这一算法集成到程序中, 如Matlab 已经将它添加到工具箱中,使用时只要调用相应的函数就可以用模式搜索法解决问题,大大提高了工作效率

2、,降低了编程工作量。1 模式搜索法的基本原理模式搜索就是寻找一系列的点X0,X1,X2,这些点都越来越靠近最优值点,当搜索进行到终止条件时则将最后一个点作为本次搜索的解。利用模式搜索法解决一个有N 个自变量的最优化问题。要确定一个初始解X0,这个值的选取对计算结果影响很大;确定基向量用于指定搜索方向,如对于两个自变量的问题可设为V(0,1;1,0;-1,0;0,-1)即按十字方向搜索;确定搜索步长它将决定算法的收敛速度,以及全局搜索能力。具体步骤为:计算出初始点的目标函数值f(Xi),然后计算其相邻的其它各点的值f(Xi+V(j)*L),j(1,2. . .2N);如果有一点的函数值比更优则表

3、示搜索成功,那么Xi+1=Xi+V(j)*L,且下次搜索时以Xi+1为中心,以L=L* 为步长(1,扩大搜索范围),若没有找到这样的点则表示搜索失败,仍以Xi为中心,以L=L* 为步长(1,缩小搜索范围);重复的操作直到终止条件为止,终止条件可以是迭代次数已到设定值或者误差小于规定值等。2 模式搜索法的改进随着模式搜索法被逐渐认可与应用,人们对模式搜索法做了许多改进。如在搜索方向上,用模式搜索法解决一个有N 个自变量的问题时,共有ZN 个基向量,这样如果对每个方向都搜索就会大大的增加计算量,对此人们提出了正基向量的概念, 具体可参照I.D.Coope,C.J.Price 编写的Positive

4、 bases innumerical optimization一文,正_基向量的应用与有运动矢量场自适应快速搜索法(MVFAST),增强预测区域搜索(EPZS)、非对称十字多层六边形搜索法(UMHexagonS)的提出在满足全局搜索能力的情况下,大大降低了计算量。另外在步长控制方面,出现了变步长模式搜索方法,推动了模式搜索法的发展。3 Matlab模式搜索法工具箱应用及实例Matlab 的工具箱里的patternsearch 就是基于模式搜索算法的优化工具箱, 有两种方法可以调用patternsearch 工具箱,一种是GUI 即图形界面形式的,用户可以直接在窗口中操作,另一种就是在程序中调用

5、patternsearch 函数来进行模式搜索,本文主要介绍后面一种。Patternsearch 函数的完整格式为X,FVAL =PATTERNSEARCH (FUN,X0,A,b,Aeq,beq,LB,UB,NONLCON,options)FVAL,X 分别为取得的最优值及所在的点,FUN 为m 文件句柄该, 该m 文件就是要进行最优化的函数,options 为对搜索方式的设置。A,b,Aeq,beq,LB,UB 为对x取值的限制条件,具体的为:A*xB;Aeq*x=Beq;LbxUb ;软件导刊Software Guide第8卷%第8期2009年8 月Vol.8 No.8Aug. 2009

6、若没有限制则可以设为空即,下面用patternsearch 工具箱计算带噪声的具有多个极小值的函数的最小值x21函数具体表达式为:f(x1,x2)=x21+x21-25+m*rand;x21+x2225x21+(x2-9)2-16+m*rand;x21+(x2-9)216m*rand;其它情 况Rand 为(0 1)之间的随机数,m 为振幅,两者乘机代表噪声大小(本算例取自matlab 软件包的help 文件,原算例没有带噪声)。当m 取为1 时利用matlab 画出该函数的图形如图1,由图可知当引入噪声后,图形变的很复杂,若利用一般的算法由于无法求导则该问题变得很复杂,由于patternse

7、arch 的工作原理使得其在解决这类问题时有很大优势。解决步骤:(1)编写m 函数,m 函数就是要计算的函数,具体如下:function y = myfun(z,noise)y=zeros(1,size(z,1);noise=1;for i=1:size(z,1)x=z(i,:);if x(1)2+x(2)2=25y(i)=x(1)2+x(2)2-25+noise*randn;elseif x(1)2+(x(2)-9)2=16y(i)=x(1)2+(x(2)-9)2-16+noise*randn;else y(i)=0+noise*randn;end end endz 为矢量是目标函数的自变量

8、,大小为自变量的个数,y 是对应与自变量的目标函数的取值。图1 m1 时,函数(1)的图形(2)确定初始点,这对运算速度也结果有很大影响,这里取为X0=-8,8;再就要确定搜索边界条件,一般要视具体问题来确定,若选的过大则搜索速度变慢,过小则会影响全局搜索能力。这里取为-10x110;-10x215(3)编写主程序X0 = -8 8; % Starting point.LB = -10 -10; %Lower boundUB = 10 15; %Upper boundrange = LB(1) UB(1); LB(2) UB(2);Objfcn = myfun; % Handle to the

9、 objective function.clf;showSmoothFcn (Objfcn,range); hold on; % Plot thesmooth objective functiontitle(objective function)fig = gcf;PSoptions = psoptimset (Display,iter,OutputFcn,psOut);x,z = patternsearch (Objfcn,X0, , , , ,LB,UB,PSoptions)figure(fig);hold on;plot3 (x (1),x(2),z,dr,MarkerSize,12,M

10、arkerFaceColor,r);hold off搜索过程:Iter f-count f(x) MeshSize Method0 1 -0.563815 11 2 -14.0315 2 Successful Poll2 2 -14.0315 1 Refine Mesh。(只列出了前两次结果)32 112 -27.0133 9.537e-007 Refine Mesh图2 搜索结果模型结果如图2 所示,可以看出模式搜索法有很好的全局搜索能力,尽管图形毫无规律,并且有无穷多的极小值点,但是模式搜索法通过31 次迭代就找到了最小值点-0.1250 ,0.1250,搜索精度已经达到数量级。而相比之下

11、matlab 优化工具箱中的Fmincon 函数则搜索不到最小值点,如图Fmincon 函数找到的点已远远偏离了最小值点,由此我们可以看出模式搜索的强大功能。参考文献:1 张明,毕笃彦.自适应可变模式搜索算法J.计算机工程,2008(7).2 杨春,倪勤.变步长非单调模式搜索法J.高等学校计算机学报,0 引言水利工程大部分在山区, 位置偏僻, 交通不便,水、电设施需要在施工前备齐。工程建设过程中需要的宿舍、办公楼、材料仓库、成品半成品加工场地等临时工程和辅助设施需要修建。临时工程、辅助设施科学合理的选址不仅能够减少费用和运行期间材料运输费用, 大幅度降低运行成本, 而且能为施工生产部门带来方便

12、、快捷的服务。在考虑施工辅助设施位置布置时, 若地址位置平面坐标( x1,x2) 是以建造费用和运行费用为目标函数的变量, 该函数的导数很难求得, 或者根本不存在, 利用传统的解析法不能得出解答。模式搜索法的迭代步骤简单, 收敛速度较快, 可以很方便地得出满意解。1 模式搜索法求极值的优化理论模式搜索法是一种最优化算法, 当目标函数f(x1,x2,xn)的解析表达式十分复杂甚至写不出具体表达式、用解析法无法解答时, 它可以方便地求出极值。求解目标函数极值问题的计算步骤为:( 1) 任选初始近似点B1, 以它为初始基点进行探索。( 2) 为每一独立变量xi( i=1, 2, , n) 选定步长缩

13、小到要求的精度时, 即可停止迭代, 确定已找到最优点。2 模式搜索法优化施工方案施工某场址平面图和剖面图见图1、图2。现要确定其混凝土生产系统合适的位置, 使修建费用最少。在场址范围的西南角设置坐标原点, 建立坐标系统。由于各种线路的长短不同, 以及桩的长短不同( 桩的最小长度为20m, 差别在于超过20m 以上的部分) 。因工厂位置不同, 其修建费用就有差别。2.1 目标函数列出目标函数即修建总费用C 为:C( x1,x2) =45x2+9(5000- x1)2+x221/2+15x21+(x2-2000)21/2+12(x1- 200)2+(5600- x2)21/2+36(3000- x

14、1)2+(4800- x2)2 1/2+4515(x2/100)地理范围的约束条件为: 0x15000;0x26000- (2/5)x1。2.2 以探索法解算给定起点坐标(x1, x2), 采用模式探索法进行解算。搜索步长定为100m, 即!1=(0,100)。搜索过程及计算结果见表1。从表1 的计算结果可以看到, 无论初始点在最终结果附近( 见表1 中的1 点) , 还是在最终结果的上、下、左、右( 见表1 中的3, 4, 5 点) , 均可以找到最从表1 的计算结果可以看到, 无论初始点在最终结果附近( 见表1 中的1 点) , 还是在最终结果的上、下、左、右( 见表1 中的3, 4, 5

15、 点) , 均可以找到最表1 搜索过程及结果Table 1 Sear ching process and r esult起点坐标/mx1 x212345佳的结果。即使给出的初始点离最佳点较远, 是一些极不合理的点( 见表1 中的2 点) , 用模式搜索法同样可以找出最优位置点。从以上的计算结果, 可以看到该方法的合理性和优越性。这说明, 用模式搜索法确定施工场址, 只需给定场址范围, 在简化后的平面图或剖面图中建立相应坐标系, 找出目标函数( 总费用) 与纵、横坐标变量的关系, 编制相应程序, 然后给定一个初始点, 经过一系列的迭代过程, 就能确定出满足目标函数f(x1,x2)的最优位置。对于

16、比较复杂的目标函数, 为了防止把局部极值误认为全局最优值, 应分区域进行探查, 或者从任意选取的不同点开始, 至少引入两个独立的搜索。如果它们都收敛于同一点, 则这个点作为最优点的把握就大大增加了。另外, 运行期的运输费用也是关于场址坐标(x1,x2)的函数, 统筹考虑建造费用和运行费用的全局最优, 根据预算的运行期各材料运输总量和相应运输单价, 利用模式搜索法进行优化, 能得到满意解。3 结语施工企业主要建筑物的选址是一个复杂的多目标决策问题, 由于目标间存在矛盾性和不可公开性,因此, 如何确定主要建筑物的最佳地址, 是施工总布置需要认真研究的课题。而通过一定的简化, 建立数学模型, 利用模式搜索法求出最优解是可行的。参考文献: 1 钱颂迪, 甘应爱. 运筹学M . 北京: 清华大学出版社,1990. 2 左兼金, 袁光裕.水利水电工程施工组织管理与系统分析M .北京: 水利电力出版社, 1986. 3 钟汉华, 薛建荣.水利水电工程施工组织与管理M .北京: 中国水利水电出版社, 2005. 4 席少霖, 赵凤治.最优化计算方法M .上海: 科学技术出版社, 1983. 责任编辑杨道

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报