MATLAB处理优化问题---优化工具箱、全局优化工具箱

05-09 阅读 0评论

一、优化问题概述

1.优化问题概述

设计变量、目标函数、约束

2.优化问题求解步骤

MATLAB处理优化问题---优化工具箱、全局优化工具箱

3.优化问题分类

MATLAB处理优化问题---优化工具箱、全局优化工具箱

二、Optimization  Toolbox---优化工具箱

可在MATLAB帮助中心进行查看

MATLAB处理优化问题---优化工具箱、全局优化工具箱

MATLAB处理优化问题---优化工具箱、全局优化工具箱

1.使用实时编辑器“优化”任务求解 (交互式)

示例:

MATLAB处理优化问题---优化工具箱、全局优化工具箱

实时编辑器任务:

执行特定操作的APP

缩短开发时间

缩短绘图时间

减少错误

可自动生成代码

MATLAB处理优化问题---优化工具箱、全局优化工具箱

操作步骤:

1.选择目标函数与约束类型

2.选择求解器

3.提供相应数据

4.根据模板设置目标函数与约束

5.设置显示选项

6.求解

生成代码:基于“求解器”求解

2.基于“问题”求解优化问题(编程)

优势:

1.代码表述与数学公式一致,易于创建和调试

2.自动选择求解器、处理不同约束类型

3.提供fcn2optimexpr将函数转化为所需表达式

4.自动计算梯度

自动微分:对目标函数与约束自动计算梯度

1.一系列自动计算梯度的数值方法

 无需使用符号表达式运算

 仅支持一阶梯度

2.与有限差分法相比

 计算量减小

 计算精度高

3.需满足一定条件

示例: 使用MATLAB求解数独

求解思路:这是一个0/1优化问题

操作步骤:

1.定义优化变量

2.建立优化问题“容器”【目标函数表达式、约束表达式、初始值...】

3.定义目标函数表达式

4.设置初始值

5.求解

3.基于“求解器”求解---需要对优化算法有一定了解

优势:

1.可以使用实时编辑器“优化”任务进行可视化操作

2.矩阵形式表达,求解时间更短

3.可以在大型问题中使用Hessian矩阵乘法函数或jacobian矩阵乘法函数来节省内存

4.可以提供梯度或Hessian矩阵提高精度与效率

MATLAB处理优化问题---优化工具箱、全局优化工具箱

MATLAB处理优化问题---优化工具箱、全局优化工具箱

选择求解器

使用矩阵与向量定义目标函数与约束

使用函数定义目标函数与约束

调用求解器

操作步骤:

1.选择求解器

2.编写目标函数

3.编写约束

4.设置选项

5.调用求解器求解

三、Global Optimization  Toolbox---全局优化工具箱

使用fmincon寻找全局最优解依赖于初始值

全局优化工具箱:求解器

MATLAB处理优化问题---优化工具箱、全局优化工具箱

MATLAB处理优化问题---优化工具箱、全局优化工具箱

MATLAB处理优化问题---优化工具箱、全局优化工具箱

MATLAB处理优化问题---优化工具箱、全局优化工具箱MATLAB处理优化问题---优化工具箱、全局优化工具箱

MATLAB处理优化问题---优化工具箱、全局优化工具箱

MATLAB处理优化问题---优化工具箱、全局优化工具箱

黄色点---初始种群

三个圈---三个局部最优解

蓝色圈---本问题的全局最优解


免责声明
本网站所收集的部分公开资料来源于AI生成和互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,人围观)

还没有评论,来说两句吧...

目录[+]