基于问题的优化和方程快速入门
基于问题的设置快速入门
要使用基于问题的方法求解问题,请执行以下步骤。
使用
optimproblem
创建一个优化问题,或使用eqnproblem
创建一个方程求解问题。使用
optimvar
创建优化变量。使用表示目标、约束或方程的优化变量创建表达式。使用圆点表示法将表达式放入问题中,例如
prob.Objective = expression1; probl.Constraints.ineq = ineq1;
对于非线性问题,创建一个初始点
x0
作为结构体,将优化变量的名称作为字段。通过调用
solve
求解问题。
要改进您的设置、提高性能或了解有关基于问题的设置的详细信息,请参阅改进基于问题的组织和性能。
有关 Optimization Toolbox™ 中并行计算的信息,请参阅上一节;有关 Global Optimization Toolbox 中并行计算的信息,请参阅How to Use Parallel Processing in Global Optimization Toolbox (Global Optimization Toolbox)。
函数
对象
EquationProblem | 非线性方程组 (自 R2019b 起) |
OptimizationConstraint | 优化约束 |
OptimizationEquality | 等式和等式约束 (自 R2019b 起) |
OptimizationExpression | 关于优化变量的算术或函数表达式 |
OptimizationInequality | 不等式约束 (自 R2019b 起) |
OptimizationProblem | 优化问题 |
OptimizationValues | 优化问题的值 (自 R2022a 起) |
OptimizationVariable | 优化变量 |
实时编辑器任务
优化 | 在实时编辑器中优化或求解方程 (自 R2020b 起) |
主题
基于问题的过程
- 基于问题的优化工作流
了解基于问题求解优化问题步骤。 - 基于问题的方程求解工作流
了解基于问题的求解方程步骤。 - Optimization Expressions
Define expressions for both the objective and constraints. - 在基于问题的方法中传递额外的参数
在基于问题的方法中传递额外的参数、数据或固定变量。 - Write Objective Function for Problem-Based Least Squares
Syntax rules for problem-based least squares. - Write Constraints for Problem-Based Cone Programming
Requirements forsolve
to useconeprog
for problem solution. - Review or Modify Optimization Problems
Review or modify problem elements such as variables and constraints. - Examine Optimization Solution
Evaluate the solution and its quality.
局限性
- 变量名称不允许重复
了解如何求解有两个同名优化变量的问题。 - Expression Contains Inf or NaN
Optimization expressions containingInf
orNaN
cannot be displayed, and can cause unexpected results.
调整和监控求解过程
- Set Optimization Options, Problem-Based
How to set and change optimization options in the problem-based approach. - Output Function for Problem-Based Optimization
Use an output function in the problem-based approach to record iteration history and to make a custom plot.
算法
- 基于问题的优化算法
了解优化函数和对象如何求解优化问题。 - fcn2optimexpr Algorithm Description
Howfcn2optimexpr
works. - Automatic Differentiation Background
Learn how automatic differentiation works. - Supported Operations for Optimization Variables and Expressions
Explore the supported mathematical and indexing operations for optimization variables and expressions.
Optimization Toolbox 中的并行计算
- What Is Parallel Computing in Optimization Toolbox?
Use multiple processors for optimization. - Using Parallel Computing in Optimization Toolbox
Perform gradient estimation in parallel. - Minimizing an Expensive Optimization Problem Using Parallel Computing Toolbox
Example showing the effectiveness of parallel computing in two solvers:fmincon
andga
. - Improving Performance with Parallel Computing
Investigate factors for speeding optimizations.