- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
聊一聊最优化问题
第 5 讲: MATLAB 优化模型求解方法(上) :标准模型
作者:Effie Ruan,MathWorks 中国
最优化赛题是数学建模大赛中最常见的问题类型之一。一般说来,凡是寻求最
大、最小、最远、最近、最经济、最丰富、最高效、最耗时的目标,都可以划入优
化问题的范畴。MATLAB 优化工具箱和全局优化工具箱对多个优化问题提供了完整
的解决方案,前者涵盖了线性规划、混合整型线性规划、二次规划、非线性优化、
非线性最小二乘的求解器,后者囊括了全局搜索、多初始点、模式搜索、遗传算法
等求解算法。
本讲主要介绍如何使用优化工具箱求解数学建模中标准的优化模型。更多的内
容,欢迎大家浏览 MathWorks 官网以及 MATLAB 软件文档。
1. 聊一聊最优化问题
最优化即在一定的条件下,寻求使目标最小(大)的设计参数或决策。在优
化问题中有两个关键对象:目标函数和约束条件 (可选)。常规优化问题,其数学
表达可以描述为:
其中x 为长度n 的决策变量向量,f(x) 为目标函数,G(x) 为约束函数。
求解目标函数的最小(大)值,一个高效而精确的解决方案不仅取决于约束
条件和变量数量,更取决于目标函数和约束函数的特性。明确优化类型是确认优化
方案的前提,让我们看一下这些特性如何划分:
常见的目标函数有:
线性规划:被广泛的应用于变量之间可线性表示的财务、能源、运营研究等现代管
理领域中。
混合整数线性规划:扩展了线性规划问题,增加了最优解中部分或全部变量必须是
整数的约束。例如,如果一个变量代表要认购的股票数量,则只应取整数值。同
样,如果一个变量代表发电机的开/关状态,则只应取二进制值(0 或 1)。
二次规划:目标函数或约束函数为多元二次函数。此优化应用于财务金融中投资组
合优化、发电厂发电优化、工程中设计优化等领域。
最小二乘:分为线性和非线性,通过最小化误差的平方和寻找变量的最优函数匹
配。非线性最小二乘优化还可用于曲线拟合。
2. 优化求解器太多了,怎么选?
对MATLAB 提供的各类优化问题的算法,我们称之为求解器(Solver )。根据其
求解目标,被分为四大组:
- 极小值优化组:找到目标函数出发点x0 附近的局部极小值
- 多目标优化组:找到最小化一组函数的最大值或指定的值
- 方程求解组:找到非线性方程f(x) = 0 出发点x0 附近的解
- 最小二乘法(曲线拟合)组:最小化平方和
仅优化工具箱就提供了近20 种求解器,面对如此繁多的选项,用户往往一头
雾水。幸好,MATLAB 提供了简单明了的参考工具 —— 优化决策表。可谓一表在
手,优化不愁:
上表中*表示算法由全局工具箱提供。此外,多目标优化与方程组求解器并未
被此表列举,更多求解器的选择方案,可以查看这里。
3. 写出漂亮、高效的代码
确认优化策略后,就可以开工写代码了。下面让我们通过一个例子,了解编写
高效优化算法代码的步骤和注意事项。
【题目】
- 目标函数
- 约束函数 (所有变量为正)
【解答】
a. 首先,根据题目确认这是一个线性规划问题。而线性规划的通用数学表达式和
MATLAB 标准形式为:
创建符合标准格式的A 、b、Aeq 、beq、lb、ub 参数,才可以顺利的运行优化算
法。
b. 对于线性规划的优化求解步骤(也适用于其他优化方案),建议如下:
1) 选择优化求解器
2) 将所有变量合并为一个向量
3) 创建边界约束(lb,ub)
4) 创建线性不等式约束(A ,b)
5) 创建线性等式约束(Aeq ,beq )
6) 创建目标函数
7) 优化问题求解
8) 结果检验
c. MATLAB 代码和注释:
d. 优化结果:
e. 如果结果不满意,可以调整优化选项,迭代计算。
4. 整数规划求解神器
在优化问题中, 经常会遇到整数规划问题, 尤其是0-1规划问题, MATLAB对
于整数规划问题,有个专门的求解器intlinprog。 该函数不仅可以求解一般的整数
规划问题(0-1规划更是小菜啦),还可以求解混合整数规划问题,也就是决策变量既
可以是整数也可以是小数,只要指定是整数的决策变量的编号就是可以啦。 通过
一个具体的例子, 来看看这个函数的使用。
求解
您可能关注的文档
- 第二十一章车桥和车轮教学提要-汽车构造.PDF
- 第六十三届世界卫生大会-WorldHealthOrganization.PDF
- 第十九届飞向北京-飞向太空全国青少年航空航天模型教育竞赛活动.PDF
- 第十八届飞向北京-飞向太空全国青少年航空航天模型教育竞赛活动.PDF
- 第十六届飞向北京-飞向太空全国青少年航空航天模型教育-去飞行.PDF
- 签署COS使用协议-中国汽车材料数据系统.PDF
- 简易使用手册-Epson.PDF
- 简析数据中心的电气设计-机房设计运维网.PDF
- 算法-PARNEC-南京航空航天大学.PDF
- 管制性病原工作人员适任性评价指引-Biosafety-AcademiaSinica.PDF
原创力文档


文档评论(0)