优化工具箱

优化工具箱

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

开始:

定义优化问题

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

基于问题的优化

用优化变量的表达式编写目标和约束。通过对非线性表达式的自动微分,可以更快、更稳健地求解。应用自动选择的解算器。

基于求解器的优化

使用函数编写非线性目标和约束;使用系数矩阵写出线性目标和约束。使用“优化实时编辑器”任务以交互方式创建并解决问题,然后生成代码以在应用程序中共享或使用。

解决优化问题

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

选择解算器

在使用基于求解器的方法时,使用Optimize Live Editor任务来帮助选择适合问题类型的求解器。在基于问题的方法中自动选择求解器。

设置选项

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

审查和改进成果

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

通过迭代显示监视求解器进度。

非线性编程

求解具有非线性目标的优化问题或受到非线性约束的影响。

求解器

应用准牛顿,信任区域或Nelder-Mead Simplex算法来解决不受约束的问题。应用内部点,顺序 - 二次编程(SQP)或信任区域反光算法,以解决受约束的问题。

应用

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

线性,二次和二次规划

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

线性规划求解器

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

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

二次和二阶锥规划求解器

应用内部点,主动集或信任区域反光算法以解决二次程序。应用内部点方法来解决二阶锥计划。

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

应用

在资源分配、生产计划、混合和投资计划等问题上使用线性规划。在水电大坝的设计优化、组合优化和控制等问题上使用二次和二阶锥规划。

用二次规划法找到最优控制策略。

整数线性规划

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

求解器

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

应用分支和绑定算法。

基于混合整数线性编程的算法

使用混合整数线性编程求解器来构建专用算法。

每座城市只游览一次的最短行程。

应用

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

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

多目标优化

求解具有多个约束的多个目标函数的优化问题。

求解器

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

使用福格拉坦功能。

应用

在冲突目标需要权衡时使用多目标优化。实例是结构设计和风险中的重量和强度,并在产品组合优化中返回。

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

最小二乘和方程求解

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

求解器

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

比较本地和全球方法。

线性最小二乘法的应用

使用线性最小二乘求解器拟合线性模型来获取数据或解决线性方程系统,包括当参数受到绑定和线性约束时的线性方程。

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

非线性最小二乘应用

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

拟合普通微分方程的Lorenz系统的圆形路径。

部署

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

Matlab编译器支持万博1manbetx

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

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

代码生成

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