文档

基于问题的优化设置

利用变量和表达式制定优化问题,串行或并行解决

在基于问题的优化中,您创建优化变量,这些变量中的表达式表示目标和约束或表示方程,并使用它们来解决问题解决.有关针对优化问题采取的基于问题的步骤,请参见基于问题的优化工作流.关于方程求解,请参见求解方程的基于问题的工作流程

在开始解决优化问题之前,必须选择适当的方法:基于问题的方法或基于求解器的方法。详细信息请参见首先选择基于问题或基于解决方案的方法

注意:如果你有一个非线性函数,它不是多项式或有理表达式,将它转换为优化表达式使用fcn2optimexpr.看到将非线性函数转化为优化表达式

有关基本非线性优化示例,请参见解决一个约束非线性问题,基于问题.有关基本的混合整数线性规划示例,请参见混合整数线性规划基础:基于问题的.有关基本方程求解示例,请参见解决非线性方程组,基于问题

功能

全部展开

eqnproblem 创建方程问题
optimproblem 创建优化问题
optimvar 创建优化变量
显示 显示优化对象
showbounds 显示变量边界
保存优化对象描述
writebounds 保存变量边界的描述
fcn2optimexpr 将函数转换为优化表达式
optimconstr 创建空优化约束数组
optimeq 创建空优化相等数组
optimineq 创建空的优化不等式数组
optimexpr 创建空优化表达式数组
显示 显示优化对象
保存优化对象描述
评估 求最优化表达式
findindex 查找命名索引变量的数值索引等价物
不可能实行 在某一点上违反约束
prob2struct 将优化问题或方程问题转换为求解形式
解决 解决最优化问题或方程问题
varindex 将问题变量映射到基于求解器的变量索引

对象

EquationProblem 非线性方程组
OptimizationConstraint 优化的约束
OptimizationEquality 平等和平等约束
OptimizationExpression 用优化变量表示的算术或函数表达式
OptimizationInequality 不等式约束
OptimizationProblem 优化问题
OptimizationVariable 优化变量

主题

具体问题具体分析的步骤

基于问题的优化工作流

解决优化问题的基于问题的步骤。

求解方程的基于问题的工作流程

解决方程的基于问题的步骤。

优化表达式

表达式同时定义目标和约束条件。

在基于问题的方法中传递额外的参数

在基于问题的方法中传递额外的参数、数据或固定变量。

为基于问题的最小二乘写目标函数

基于问题的最小二乘语法规则。

优化变量命名索引

如何为变量创建和使用命名索引。

回顾或修改优化问题

演示如何检查或修改问题元素(如变量和约束)。

检查优化方案

如何评估解决方案及其质量。

设置选项

设置选项

设置优化选项

基于问题优化的输出函数

展示如何在基于问题的方法中使用输出函数来记录迭代历史并制作自定义绘图。

基于问题的优化技巧

创造有效的优化问题

当存在整数约束时,获得更快或更准确的解决方案的技巧,以及避免问题生成中的循环。

将优化模型与数据分离

要创建可重用的、可伸缩的问题,请将模型与数据分离。

不允许重复名称的变量

两个优化变量同名问题的解。

用命名索引变量创建优化的初始点

这个例子展示了如何创建的初始点解决方法命名索引变量时findindex函数。

表达式包含Inf或NaN

优化表达式包含不能显示,可能导致不可预知的结果。

目标和约束具有串行或并行的共同功能,基于问题的

在基于问题的方法中,当目标函数和非线性约束函数共享公共计算时,可以节省时间。

并行计算

什么是优化工具箱中的并行计算?

使用多个处理器进行优化。

在优化工具箱中使用并行计算

并行执行梯度估计。

使用并行计算工具箱最小化昂贵的优化问题

两个求解器并行计算的有效性示例:fmincon遗传算法

利用并行计算提高性能

调查加速优化的因素。

具体问题具体分析的算法

基于问题的优化算法

优化函数和优化对象如何解决优化问题。

金宝app支持优化变量和表达式的操作

列出优化变量和表达式上所有可用的数学和索引操作。