基于问题的优化设置
利用变量和表达式制定优化问题,串行或并行解决
在基于问题的优化中,您创建优化变量,这些变量中的表达式表示目标和约束或表示方程,并使用它们来解决问题解决
.有关针对优化问题采取的基于问题的步骤,请参见基于问题的优化工作流.关于方程求解,请参见求解方程的基于问题的工作流程.
在开始解决优化问题之前,必须选择适当的方法:基于问题的方法或基于求解器的方法。详细信息请参见首先选择基于问题或基于解决方案的方法.
注意:如果你有一个非线性函数,它不是多项式或有理表达式,将它转换为优化表达式使用fcn2optimexpr
.看到将非线性函数转化为优化表达式.
有关基本非线性优化示例,请参见解决一个约束非线性问题,基于问题.有关基本的混合整数线性规划示例,请参见混合整数线性规划基础:基于问题的.有关基本方程求解示例,请参见解决非线性方程组,基于问题.
功能
对象
EquationProblem |
非线性方程组 |
OptimizationConstraint |
优化的约束 |
OptimizationEquality |
平等和平等约束 |
OptimizationExpression |
用优化变量表示的算术或函数表达式 |
OptimizationInequality |
不等式约束 |
OptimizationProblem |
优化问题 |
OptimizationVariable |
优化变量 |
主题
具体问题具体分析的步骤
解决优化问题的基于问题的步骤。
解决方程的基于问题的步骤。
表达式同时定义目标和约束条件。
在基于问题的方法中传递额外的参数、数据或固定变量。
基于问题的最小二乘语法规则。
如何为变量创建和使用命名索引。
演示如何检查或修改问题元素(如变量和约束)。
如何评估解决方案及其质量。
基于问题的优化技巧
当存在整数约束时,获得更快或更准确的解决方案的技巧,以及避免问题生成中的循环。
要创建可重用的、可伸缩的问题,请将模型与数据分离。
两个优化变量同名问题的解。
这个例子展示了如何创建的初始点解决
方法命名索引变量时findindex
函数。
优化表达式包含正
或南
不能显示,可能导致不可预知的结果。
在基于问题的方法中,当目标函数和非线性约束函数共享公共计算时,可以节省时间。
并行计算
使用多个处理器进行优化。
并行执行梯度估计。
两个求解器并行计算的有效性示例:fmincon
和遗传算法
.
调查加速优化的因素。