优化工具箱

优化工具箱

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

开始:

定义优化问题

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

具体问题具体分析优化

用优化变量的表达式写出目标和约束。对非线性表达式进行自动微分,求解速度更快,鲁棒性更强。应用自动选择的求解器。

Solver-Based优化

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

解决优化问题

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

选择一个解算器

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

设置选项

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

回顾和改进结果

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

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

非线性编程

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

求解器

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

应用程序

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

线性,二次和二次规划

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

解决线性规划

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

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

二次和二次锥规划求解器

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

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

应用程序

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

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

整数线性规划

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

求解器

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

应用分支和绑定算法。

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

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

最短的行程,每个城市只访问一次。

应用程序

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

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

多目标优化

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

求解器

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

帕累托前计算使用fgoalattain函数。

应用程序

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

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

最小二乘和方程求解

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

求解器

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

比较本地和全球方法。

应用线性最小二乘

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

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

非线性最小二乘应用

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

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

部署

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

Matlab编译器支持金宝app

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

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

代码生成

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