最优化方法及其matlab程序设计

最优化方法及其matlab程序设计

ID:9633894

大小:142.00 KB

页数:9页

时间:2018-05-04

最优化方法及其matlab程序设计_第1页
最优化方法及其matlab程序设计_第2页
最优化方法及其matlab程序设计_第3页
最优化方法及其matlab程序设计_第4页
最优化方法及其matlab程序设计_第5页
资源描述:

《最优化方法及其matlab程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、最优化方法及其Matlab程序设计1.最优化方法概述在生活和工作中,人们对于同一个问题往往会提出多个解决方案,并通过各方面的论证,从中提取最佳方案。最优化方法就是专门研究如何从多个方案中科学合理地提取出最佳方案的科学。最优化是每个人,每个单位所希望实现的事情。对于产品设计者来说,是考虑如何用最少的材料,最大的性能价格比,设计出满足市场需要的产品。对于企业的管理者来说,则是如何合理、充分使用现有的设备,减少库存,降低能耗,降低成本,以实现企业的最大利润。由于优化问题无所不在,目前最优化方法的应用和研究已经深入到了生产和科研的各个领域,如土木工程、机械工程、化学工程、运输调度、生产控制、经济

2、规划、经济管理等,并取得了显著的经济效益和社会效益。用最优化方法解决最优化问题的技术称为最优化技术,它包含两个方面的内容:1)建立数学模型。即用数学语言来描述最优化问题。模型中的数学关系式反映了最优化问题所要达到的目标和各种约束条件。2)数学求解。数学模型建好以后,选择合理的最优化算法进行求解。最优化方法的发展很快,现在已经包含有多个分支,如线性规划、整数规划、非线性规划、动态规划、多目标规划等。2.最优化方法(算法)浅析最优化方法求解很大程度上依赖于最优化算法的选择。这里,对最优化算法做一个简单的分类,并对一些比较常用的典型算法进行解析,旨在加深对一些最优化算法的理解。最优化算法的分类

3、方法很多,根据不同的分类依据可以得到不同的结果,这里根据优化算法对计算机技术的依赖程度,可以将最优化算法进行一个系统分类:线性规划与整数规划;非线性规划;智能优化方法;变分法与动态规划。2.1线性规划与整数规划线性规划在工业、农业、商业、交通运输、军事和科研的各个研究领域有广泛应用。例如,在资源有限的情况下,如何合理使用人力、物力和资金等资源,以获取最大效益;如何组织生产、合理安排工艺流程或调制产品成分等,使所消耗的资源(人力、设备台时、资金、原始材料等)为最少等。线性规划方法有单纯形方法、大M法、两阶段法等。整数规划有割平面法、分枝定界法等。2.2非线性规划20世纪中期,随着计算机技术

4、的发展,出现了许多有效的算法——如一些非线性规划算法。非线性规划广泛用于机械设计、工程管理、经济生产、科学研究和军事等方面。非线性规划问题包括:(1)一维最优化方法,如黄金分割法、二次插值法、切线法以及格点法等。(2)无约束多维非线性规划方法,如坐标轮换法、最速下降法、牛顿法、变尺度法、共轭方向法、单纯形法、最小二乘法等。(3)约束问题的非线性规划方法,包括间接法和直接法。(4)其他方法,包括多目标优化、数学模型的尺度变换、灵敏度分析及可变容差法。2.3智能优化方法智能化优化算法有别于一般的按照图灵机进行精确计算的程序,是对计算机模型的一种新的诠释,它模拟自然过程、生物或人类思维等来求解

5、最优化问题。常用的智能优化方法包括启发式搜索算法、Hopfield神经网络优化算法、模拟退火法与均场退火法、遗传算法等。2.4变分法与动态规划除了上述提及的2.1-2.3中所述的最优化算法,最优化方法还包括变分法和动态规划方法,他们广泛用于控制系统、燃料控制系统、耗能控制系统、线性调节器等最优综合和设计场合。这类算法涉及变分法、最大(小)值原理、动态规划。3.最优化问题的Matlab程序实现当使用MatLab进行最优化时,可以通过两种方式来实现最优化,一是可以利用相应的算法编写Matlab程序,进行最优化求解;二是借助于MatLab的工具箱中的最优化函数进行最优化求解。MatLab工具箱

6、中的最优化函数包括:函数描述fgoalattain多目标达到问题fminbnd有边界的标量非线性最小化fmincon有约束的非线性最小化fminimax最大最小化fminsearch,fminunc无约束非线性最小化fseminf半无限问题linprog线性课题quadprog二次课题这里,以黄金分割法为例,采用两种方式进行Matlab设计。3.1利用黄金分割法进行最优化求解用黄金分割法(0.618法)程序求函数在[0,1]上的极小点,取容许误差。求解步骤如下:(1)用0.618法求单变量函数在单峰区间[a,b]上的近似极小点;M文件代码如下:function[s,phis,k,G,.E

7、]=golds(phi,a,b,delta,epsilon)%输入:phi是目标函数,a,b是搜索区间的两个端点%delta,epsilon分别是自变量和函数值的容许误差%输出:s,phis分别是近似极小点和极小值,G是nx4矩阵;%其第k行分别是a,p,q,b的第k次迭代值[ak,pk,qk,bk]%E=[ds,dphi],分别是s和phis的误差限.t=(sqrt(5)-1)/2;h=b-a;phia=feval(phi,a);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。