基于问题的非线性优化
使用基于问题的方法来串行或并行地解决非线性优化问题
在开始解决优化问题之前,必须选择适当的方法:基于问题的方法或基于求解器的方法。详细信息请参见首先选择基于问题或基于解决方案的方法.
将目标和非线性约束函数表述为优化变量中的表达式,或转换MATLAB®函数的使用fcn2optimexpr
.有关问题设置,请参见基于问题的优化设置.
功能
评估 |
求最优化表达式 |
fcn2optimexpr |
将函数转换为优化表达式 |
不可能实行 |
在某一点上违反约束 |
optimproblem |
创建优化问题 |
optimvar |
创建优化变量 |
prob2struct |
将优化问题或方程问题转换为求解形式 |
解决 |
解决最优化问题或方程问题 |
实时编辑任务
优化 | 在实时编辑器中优化或解决方程 |
主题
无约束的基于问题的应用程序
- 理性目标函数,基于问题
这个例子展示了如何使用优化变量创建一个合理的目标函数,并解决由此产生的无约束问题。
约束的基于问题的应用程序
- 解决约束非线性优化,基于问题
这个例子展示了如何基于优化表达式求解一个有约束的非线性问题。该示例还展示了如何将非线性函数转换为优化表达式。 - 将非线性函数转化为优化表达式
转换非线性函数,无论是表示为函数文件还是匿名函数,使用fcn2optimexpr
. - 基于优化变量的约束静电非线性优化
在基于问题的方法中定义结构化非线性优化的目标函数和约束函数。 - 离散最优轨迹,基于问题
这个例子展示了如何使用基于问题的方法来解决离散最优轨迹问题。 - 基于问题的线性约束非线性最小化
演示如何使用优化变量创建线性约束和fcn2optimexpr
将函数转换为优化表达式。 - 自动微分在基于问题的优化中的作用
自动微分降低了解决问题的函数求值的数量。 - 基于问题的工作流程中的供给导数
当自动导数不适用时,如何在基于问题的优化中包含导数信息。 - 获取已生成的功能详细信息
求非线性函数中附加参数的值prob2struct
. - 目标和约束具有串行或并行的共同功能,基于问题的
在基于问题的方法中,当目标函数和非线性约束函数共享公共计算时,可以节省时间。 - 解决非线性可行性问题,基于问题
解决可行性问题,这是一个只有约束条件的问题。 - 可行性使用基于问题的优化实时编辑器任务
利用基于问题的方法求解一个非线性可行性问题优化实时编辑器任务和几个解决方案。 - 采用可行性模式获取解决方案
解决具有困难约束条件的问题fmincon
可行性模式。 - 基于问题优化的输出函数
在基于问题的方法中使用输出函数来记录迭代历史并制作自定义图。
并行计算
- 什么是优化工具箱中的并行计算?
使用多个处理器进行优化。 - 在优化工具箱中使用并行计算
并行执行梯度估计。 - 利用并行计算提高性能
调查加速优化的因素。
模拟或ODE
- 优化一个模拟或常微分方程
优化模拟、黑盒目标函数或ode时的特殊考虑。
算法和其他理论
- 无约束非线性优化算法
最小化单个目标函数n没有约束的维度。 - 约束非线性优化算法
最小化单个目标函数n具有各种类型约束的维度。 - fminsearch算法
的步骤fminsearch
参数来最小化函数。 - 优化选项参考
探索优化选项。 - 局部优化与全局优化
解释了为什么解算器可能找不到最小值。 - 非光滑函数的光滑公式
利用辅助变量将一些非光滑函数重新表述为光滑函数。 - 参考书目
列出支持在求解器算法中实现的概念的已发布材料。金宝app