Scelta iniziale sull'adozione dell'approccio basato sui problemi o sul risolutore
Optimization Toolbox™ prevede due approcci per la risoluzione di problemi o equazioni di ottimizzazione: basato sui problemi e basato sul risolutore. Prima di iniziare a risolvere un problema, è necessario scegliere l'approccio appropriato.
Questa tabella riepiloga le principali differenze tra i due approcci.
| Approcci | Caratteristiche |
|---|---|
| Configurazione dell'ottimizzazione basata sui problemi | Più facile da creare e da sottoporre a debug |
| Fornisce un'interfaccia visiva; vedere Optimize task di Live Editor | |
| Rappresenta simbolicamente l'obiettivo e i vincoli | |
| Richiede la conversione dalla forma del problema alla forma matriciale, con un potenziale conseguente aumento del tempo di soluzione | |
| In molti casi, calcola e utilizza automaticamente i gradienti delle funzioni obiettivo e dei vincoli non lineari, ma non calcola le matrici hessiane; vedere Automatic Differentiation | |
| Vedere i passaggi in Problem-Based Optimization Workflow o Problem-Based Workflow for Solving Equations | |
Esempio lineare di base: Mixed-Integer Linear Programming Basics: Problem-Based oppure guardare il video Solve a Mixed-Integer Linear Programming Problem using Optimization Modeling (Risolvere un problema di programmazione lineare mista intera utilizzando la modellazione di ottimizzazione) Esempio non lineare di base: Solve a Constrained Nonlinear Problem, Problem-Based Esempio di base di risoluzione di equazioni: Solve Nonlinear System of Equations, Problem-Based | |
| Impostazione di un problema di ottimizzazione basato sul risolutore | Più difficile da creare e da sottoporre a debug |
| Fornisce un'interfaccia visiva; vedere Optimize task di Live Editor | |
| Rappresenta l'obiettivo e i vincoli sotto forma di funzioni o matrici | |
| Non richiede la conversione dalla forma del problema alla forma matriciale, con una potenziale conseguente diminuzione del tempo di soluzione | |
| Consente l'inserimento diretto del gradiente o dell'hessiana, ma non li calcola automaticamente | |
Consente di utilizzare la funzione di moltiplicazione hessiana o la funzione di moltiplicazione jacobiana per risparmiare memoria nei problemi di grandi dimensioni Vedere Quadratic Minimization with Dense, Structured Hessian o Jacobian Multiply Function with Linear Least Squares | |
| Vedere i passaggi in Impostazione di un problema di ottimizzazione basato sul risolutore | |
Esempio lineare di base: Mixed-Integer Linear Programming Basics: Solver-Based Esempio non lineare di base: Constrained Nonlinear Problem Using Optimize Live Editor Task or Solver Esempi di base di risoluzione di equazioni: Examples |