Introduzione all'ottimizzazione basata sui problemi e alla risoluzione di equazioni
Per risolvere un problema utilizzando l'approccio basato sui problemi, seguire questi passaggi.
Creare un problema di ottimizzazione utilizzando
optimproblemoppure un problema di risoluzione di equazioni utilizzandoeqnproblem.Creare le variabili di ottimizzazione utilizzando
optimvar.Creare le espressioni utilizzando le variabili di ottimizzazione che rappresentano l'obiettivo, i vincoli o le equazioni. Inserire le espressioni nel problema utilizzando la notazione a punto, ad esempio
prob.Objective = expression1; probl.Constraints.ineq = ineq1;
Per i problemi non lineari, creare un punto iniziale
x0come struttura, con i nomi delle variabili di ottimizzazione come campi.Risolvere il problema chiamando
solve.
Per migliorare la configurazione, aumentare le prestazioni oppure approfondire i dettagli sulla configurazione basata sui problemi, vedere Miglioramento dell'organizzazione e della prestazione basate sui problemi.
Per il calcolo parallelo in Optimization Toolbox™, vedere l'ultima sezione; per il calcolo parallelo in Global Optimization Toolbox, vedere How to Use Parallel Processing in Global Optimization Toolbox (Global Optimization Toolbox).
Funzioni
Oggetti
EquationProblem | Sistema di equazioni non lineari |
OptimizationConstraint | Vincoli di ottimizzazione |
OptimizationEquality | Equalities and equality constraints |
OptimizationExpression | Arithmetic or functional expression in terms of optimization variables |
OptimizationInequality | Inequality constraints |
OptimizationProblem | Optimization problem |
OptimizationValues | Values for optimization problems (Da R2022a) |
OptimizationVariable | Variable for optimization |
Attività di Live Editor
| Optimize | Ottimizzare o risolvere equazioni in Live Editor |
App
| Optimization Explorer | Explore multiple solver configurations and their solutions for an optimization problem (Da R2026a) |
Argomenti
Procedure basate sui problemi
- Problem-Based Optimization Workflow
Learn the problem-based steps for solving optimization problems. - Problem-Based Workflow for Solving Equations
Learn the problem-based steps for solving equations. - Optimization Expressions
Define expressions for both the objective and constraints. - Pass Extra Parameters in Problem-Based Approach
Pass extra parameters, data, or fixed variables in the problem-based approach. - Write Objective Function for Problem-Based Least Squares
Syntax rules for problem-based least squares. - Write Constraints for Problem-Based Cone Programming
Requirements forsolveto useconeprogfor 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.
Limitazioni
- Variables with Duplicate Names Disallowed
Learn how to solve a problem that has two optimization variables with the same name. - Expression Contains Inf or NaN
Optimization expressions containingInforNaNcannot be displayed, and can cause unexpected results.
Ottimizzazione e monitoraggio del processo di soluzione
- Use Optimization Explorer App
Basic example showing the use of the Optimization Explorer App. - 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.
Algoritmi
- Problem-Based Optimization Algorithms
Learn how the optimization functions and objects solve optimization problems. - fcn2optimexpr Algorithm Description
Howfcn2optimexprworks. - 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.
Calcolo parallelo in 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:fminconandga. - Improving Performance with Parallel Computing
Investigate factors for speeding optimizations.