优化工具箱

优化工具箱

解决线性、二次、二次、整数和非线性优化问题

开始:

定义优化问题

将设计或决策问题建模为优化问题。将设计参数和决策设置为优化变量。在定义目标函数时使用它们来优化,并使用约束来限制可能的变量值。

具体问题具体分析优化

用优化变量的表达式写出目标和约束条件。对非线性表达式进行自动微分,求解速度更快,更稳健。应用自动选择的求解器。以交互方式创建并解决问题,使用Optimize Live Editor任务,然后生成代码以共享或在应用程序中使用。

Solver-Based优化

使用函数编写非线性目标和约束;用系数矩阵写出线性目标和约束条件。以交互方式创建并解决问题,使用Optimize Live Editor任务,然后生成代码以共享或在应用程序中使用。

解决优化问题

对优化问题应用求解器以找到最优解:一组优化变量值,产生目标函数的最优值(如果有的话),并满足约束(如果有的话)。

选择一个解算器

结合基于问题或基于求解器的方法使用Optimize Live Editor任务,以帮助选择适合问题类型的求解器。

设置选项

设置优化选项以调优优化过程,例如,选择求解器使用的优化算法,或设置终止条件。设置选项以监视和绘制优化求解器进度。

回顾和改进成果

检查退出消息、最优性度量和迭代显示,以评估解决方案。通过使用自动微分、提供梯度或使用并行计算估计梯度来提高非线性问题的性能。

用迭代显示监控求解器进度

用迭代显示监控求解器进度。

非线性规划

解决具有非线性目标或受非线性约束的优化问题。

解决者

应用准牛顿、信赖域或Nelder-Mead单纯形算法来解决无约束问题。应用内点、顺序二次规划(SQP)或信任区域反射算法来解决约束问题。

应用程序

使用非线性优化来估计和调优参数,寻找最佳设计,计算最佳轨迹,构建稳健的投资组合,以及其他变量之间存在非线性关系的应用。

线性、二次和二次规划

解决具有线性或二次目标且受线性或二阶锥约束的凸优化问题。

解决线性规划

应用双单形或内点算法求解线性规划。

最优解

线性规划的可行域与最优解。

二次和二阶锥规划求解器

应用内点、活动集或信任区域反射算法来求解二次规划。应用内点法求解二阶锥程序。

最优解

二次规划的可行域与最优解。

应用程序

在诸如资源配置、生产计划、混合和投资计划等问题上使用线性规划。将二次锥规划和二阶锥规划应用于水电站设计优化、组合优化和控制等问题。

水力发电厂运行方案

二次规划的最优控制策略。

整数线性规划

解决线性目标受制于线性约束的优化问题,并附加一些或所有变量必须为整数值的约束。

解决者

利用分支定界算法解决混合整数线性规划问题,其中包括预处理、生成可行点的启发式算法和切割平面算法。

最优解

应用分支定界算法。

基于混合整数线性规划的算法

利用混合整数线性规划求解器建立专用算法。

200个城市旅行推销员问题的解决方案

最短的旅行,每个城市只去一次。

应用程序

当存在开/关决策或逻辑约束以及变量值必须为整数时,使用整数变量建模。路由、调度、计划、分配和资本预算问题是典型的应用。

优化发电机时间表

两台发电机在不同电价下的时间表。

多目标优化

解决有多个目标函数受一组约束的优化问题。

解决者

将问题表述为目标实现或极小最大值。当每个目标都有可选的加权目标值时,使用目标实现。使用极大极小来最小化一组目标函数的最坏值。

帕累托图

的帕累托前沿计算fgoalattain函数。

应用程序

当需要权衡冲突的目标时,使用多目标优化。例如结构设计中的权重和强度,投资组合优化中的风险和回报。

数字滤波器设计

初始和优化滤波器系数的幅度响应。

最小二乘与方程求解

解决非线性最小二乘问题和受约束的非线性方程组。求解有界和线性约束的线性最小二乘问题。

解决者

应用Levenberg-Marquardt、信任域、活动集或内点算法。

非线性数据拟合

本地和全球方法的比较。

应用线性最小二乘

使用线性最小二乘解算器来拟合线性模型以获取数据或求解线性方程组,包括当参数受约束和线性约束时。

光由模糊变清晰

通过求解线性最小二乘问题来恢复模糊图像。

应用非线性最小二乘

使用非线性最小二乘解算器来拟合获取数据的非线性模型或求解非线性方程组,包括当参数受约束约束时。

拟合洛伦兹系统的环形路径。

拟合一个圆路径到洛伦兹常微分方程组。

部署

构建基于优化的决策支持和设计工具,与企业系统集成,并将优化算法部署到嵌入式系统。

MATLAB编译器支持

使用MATLAB编译器™而且MATLAB编译器SDK™部署MATLAB®优化模型作为独立的可执行程序,web应用程序,C/ c++共享库,微软®net程序集,Java®Python类,®包。

单位承诺的应用

计算最佳发电计划的应用程序。

代码生成

生成可移植和可读的C或c++代码来解决优化问题MATLAB编码器™。为任何硬件(包括嵌入式系统)编译生成的代码。

Baidu
map