Optimization Toolbox
Risoluzione di problemi di ottimizzazione lineare, quadratica, intera e non lineare
Optimization Toolbox™ offre funzioni per trovare parametri che minimizzino o massimizzino gli obiettivi e allo stesso tempo soddisfino i vincoli. Il toolbox include solver per la programmazione lineare (LP), la programmazione lineare mista intera (MILP), la programmazione quadratica (QP), la programmazione non lineare (NLP), i minimi quadrati lineari vincolati, i minimi quadrati non lineari e le equazioni non lineari. È possibile definire il proprio problema di ottimizzazione mediante l’uso di funzioni e matrici o specificando espressioni variabili che riflettano la matematica sottostante.
I solver di questo toolbox possono essere utilizzati per trovare soluzioni ottimali a problemi continui e discreti, per eseguire l’analisi di bilanciamento e incorporare metodi di ottimizzazione in algoritmi e applicazioni. Il toolbox consente di eseguire attività di ottimizzazione di un progetto, tra cui la stima dei parametri, la selezione dei componenti e la regolazione dei parametri. Può essere utilizzato per trovare soluzioni ottimali nelle applicazioni, come l’ottimizzazione di portafoglio, l’allocazione delle risorse e la progettazione e pianificazione di produzione.
Inizia ora:
Definizione dei problemi di ottimizzazione
Modella un problema decisionale o di progettazione come un problema di ottimizzazione. Imposta le decisioni e i parametri di progettazione come variabili di ottimizzazione. Usa questi dati nella definizione di una funzione obiettivo per l’ottimizzazione e usa dei vincoli per limitare i possibili valori variabili.
Modellazione
Trasforma la descrizione di un problema in forma matematica definendo le variabili di ottimizzazione, un obiettivo e dei vincoli, in modo da poter procedere alla soluzione con tecniche di ottimizzazione.
Ottimizzazione basata su problemi
Scrivi l’obiettivo e i vincoli in MATLAB usando espressioni che riflettano la forma matematica. Costruisci tutto questo con variabili di ottimizzazione, operatori matematici, operazioni con matrice e funzioni delle variabili. Applica un solver selezionato automaticamente.
Ottimizzazione basata su solver
Scrivi l’obiettivo e i vincoli in MATLAB usando funzioni per i casi non lineari e matrici di coefficienti peri casi lineari. Costruisci tutto questo con operazioni con matrice MATLAB, operatori matematici e funzioni. Applica un solver appropriato.
Scelta del solver
La scelta tra un solver non lineare, quadratico, lineare, misto intero, dei minimi quadrati o multi-obiettivo dipende dai tipi di obiettivi e vincoli che caratterizzano il problema di ottimizzazione.
Quando si implementa l’approccio basato su problemi, il solver viene selezionato automaticamente.
Impostazione delle opzioni
Imposta le opzioni di ottimizzazione per regolare il processo di ottimizzazione, ad esempio per scegliere l’algoritmo di ottimizzazione usato dal solver oppure per impostare le condizioni di conclusione. Imposta le opzioni per monitorare e raffigurare graficamente i progressi del solver di ottimizzazione.
Verifica e miglioramento dei risultati
Controlla le misure di ottimalità e la visualizzazione iterativa per valutare la soluzione. Usa i link presenti nei messaggi di chiusura per saperne di più. Migliora le prestazioni per i problemi non lineari aggiungendo dei gradienti o usando il calcolo parallelo per stimare i gradienti.
Solver
Applica algoritmi del simplesso Nelder-Mead, trust-region o quasi-Newton per risolvere problemi senza vincoli. Applica algoritmi interior-point, di programmazione quadratica sequenziale (SQP) o trust-region-reflective per risolvere problemi con vincoli.
Applicazioni
Usa l’ottimizzazione non lineare per stimare e regolare i parametri, individuare le progettazioni ottimali, calcolare le traiettorie ottimali, costruire portafogli robusti e altre applicazioni in cui le variabili sono collegate da un rapporto non lineare.
Solver per la programmazione lineare
Applica algoritmi del simplesso in formato duale o di tipo interior-point per risolvere programmi lineari.
Solver per la programmazione quadratica
Applica algoritmi interior-point o trust-region-reflective per risolvere programmi quadratici.
Applicazioni
Usa la programmazione lineare per problemi quali l’allocazione delle risorse, la pianificazione della produzione, il blending e la pianificazione degli investimenti. Usa la programmazione quadratica per problemi quali l’ottimizzazione della progettazione, l’ottimizzazione del portafoglio e il controllo delle centrali idroelettriche.
Solver
Risolvi problemi di programmazione lineare mista intera usando l’algoritmo di enumerazione implicita, che include la pre-elaborazione, l’euristica per la generazione di punti praticabili e i piani di taglio.
Algoritmi basati sulla programmazione lineare mista intera
Usa il solver di programmazione lineare mista intera per costruire algoritmi specifici.
Applicazioni
Modella con le variabili intere in presenza di decisioni on/off o vincoli logici, nonché quando i valori delle variabili devono essere integrali. Tra le applicazioni tipiche compaiono problemi di routing, programmazione, pianificazione, assegnazione e capital budgeting.
Solver
Formula problemi di tipo goal-attainment o minimax. Usa la versione goal-attainment in presenza di valori obiettivo opzionalmente ponderati per ciascuno degli obiettivi. Usa la versione minimax per minimizzare il valore di caso peggiore di una serie di funzioni obiettivo.
Applicazioni
Usa l’ottimizzazione multi-obiettivo quando sono necessari dei tradeoff per due o più obiettivi in conflitto. Degli esempi sono: il peso e la forza nella progettazione strutturale e il rischio e la redditività nell’ottimizzazione del portafoglio.
Solver
Applica algoritmi Levenberg-Marquardt, trust-region, o interior-point.
Applicazioni dei minimi quadrati lineari
Usa i solver dei minimi quadrati lineari per adattare un modello lineare a dei dati acquisiti o per risolvere un sistema di equazioni lineari, compresi i casi in cui i parametri sono soggetti a vincoli di limite e lineari.
Applicazioni dei minimi quadrati non lineari
Usa i solver dei minimi quadrati non lineari per adattare un modello non lineare a dei dati acquisiti o per risolvere un sistema di equazioni non lineari, compresi i casi in cui i parametri sono soggetti a vincoli di limite.
Supporto per MATLAB Compiler
Usa MATLAB Compiler™ e MATLAB Compiler SDK™ per distribuire modelli di ottimizzazione MATLAB come eseguibili standalone, app per il web, librerie condivise C/C++, assembly Microsoft® .NET, classi Java® e pacchetti Python®.
Generazione di codice
generazione di codice C/C ++ per risolvere problemi di ottimizzazione vincolata non lineare con fmincon
(richiede MATLAB Coder)
Modellazione dell’ottimizzazione
possibilità di esprimere problemi di minimi quadrati non lineari e sistemi non lineari di equazioni utilizzando variabili di ottimizzazione in funzioni o espressioni razionali
Risoluzione dell’ottimizzazione
possibilità di risolvere problemi di minimi quadrati non lineari e sistemi non lineari di equazioni utilizzando automaticamente solutori selezionati
Guarda le note di rilascio per ulteriori informazioni su queste caratteristiche e sulle funzioni corrispondenti.