Global Optimization Toolbox
Risolvere problemi di ottimizzazione con più punti di massimo, minimo, e non lineari
Global Optimization Toolbox fornisce funzioni per la ricerca di soluzioni globali a problemi contenenti più punti di massimo o minimo. I solutori di questo toolbox includono surrogati, pattern search, algoritmi genetici, sciami di particelle, ricottura simulata, multistart e le ricerche globali. È possibile utilizzare questi solutori per i problemi di ottimizzazione in cui la funzione obiettivo o di vincolo è continua, discontinua, stocastica, non possiede derivate, o include simulazioni o funzioni "black box". Per i problemi multiobiettivo, è possibile identificare un fronte di Pareto usando l’algoritmo genetico o il pattern search.
È possibile aumentare l’efficacia dei solutori regolandone le opzioni e, per i solutori applicabili, personalizzandone le funzioni di creazione, aggiornamento e ricerca. Puoi utilizzare tipi di dati personalizzati con l’algoritmo genetico e la ricottura simulata per rappresentare problemi che non vengono facilmente espressi con tipi di dati standard. L’opzione di funzione ibrida consente di migliorare una soluzione applicando un secondo solutore dopo il primo.
Inizia ora:
Specificare il solutore e il problema
Scegli il solutore in base alle caratteristiche del problema e ai risultati desiderati. Scrivi le funzioni per specificare i vincoli e gli obiettivi non lineari.
Impostare le opzioni comuni
Imposta i criteri di arresto applicabili al solutore selezionato. Imposta le tolleranze per l’ottimalità e i vincoli. Accelera le operazioni con il calcolo parallelo.
Valutare i risultati intermedi
Utilizza le funzioni di plottaggio per ottenere un feedback immediato sul progresso dell’ottimizzazione. Scrivi le tue funzioni oppure utilizza quelle fornite. Utilizza le funzioni di output per creare i tuoi criteri di arresto, scrivi i risultati su file oppure scrivi le tue app per eseguire i solutori.
Confrontare i solutori
Utilizza GlobalSearch per generare più punti di partenza e filtrarli prima di avviare il solutore non lineare. In genere si ottengono soluzioni di alta qualità. MultiStart permette di scegliere solutori locali e svariati modi per creare punti di partenza.
Selezionare le opzioni di GlobalSearch
Specifica il numero di punti di prova e ottimizza la ricerca.
Selezionare le opzioni di MultiStart
Specifica il solutore non lineare. Scegli un metodo per generare i punti di partenza oppure utilizza un set definito dall’utente. Accelera le operazioni con il calcolo parallelo. |
Specificare il problema
Applicala ai problemi con vincoli di limite finiti. La funzione obiettivo non deve essere differenziabile o continua.
Selezionare le opzioni
Fornisci un set di punti iniziali e di valori di obiettivi opzionali per costruire il surrogato iniziale. Imposta il numero di punti da usare per il surrogato e una distanza campione minima. Accelera le operazioni con il calcolo parallelo.
Specificare il problema
Applicala ai problemi non vincolati o che hanno vincoli di limite, lineari o non lineari. Le funzioni obiettivo e di vincolo non devono essere differenziabili o continue. |
Selezionare le opzioni
Scegli tra le opzioni di polling e imposta il numero di punti da valutare in ciascuna fase. Utilizza una fase di ricerca opzionale per migliorare l’efficienza. Verifica come si modifica la mesh, incluso l’affinamento e la contrazione. Accelera le operazioni con il calcolo parallelo.
Specificare il problema
Applicalo ai problemi non vincolati o che hanno vincoli di limite, lineari, non lineari o interi. Le funzioni obiettivo e di vincolo non devono essere differenziabili o continue.
Selezionare le opzioni
Scegli tra le varie opzioni per la creazione, il fitness scaling, la selezione, il crossover e la mutazione. Specifica le dimensioni della popolazione, il numero di "elite children" e la frazione di crossover. Accelera le operazioni con il calcolo parallelo.
Personalizzare
Fornisci le tue funzioni per la creazione, la selezione e la mutazione. Utilizza tipi di dati personalizzati per esprimere con maggior facilità il tuo problema. Applica un secondo ottimizzatore per affinare le soluzioni.
Sciame di particelle
Cerca i minimi globali usando un algoritmo ispirato al comportamento degli sciami di insetti. Ogni particella si muove con una velocità e in una direzione influenzate dalla posizione migliore che la particella stessa ha trovato fino a quel momento e alla migliore posizione che lo sciame ha trovato.
Specificare il problema
Applicalo ai problemi non vincolati o a quelli con vincoli di limite. La funzione obiettivo non deve essere differenziabile o continua.
Selezionare le opzioni
Ottimizza il calcolo della velocità tramite l’impostazione dell’inerzia e dei pesi di regolazione sociale e automatica. Imposta le dimensioni del neighborhood. Accelera le operazioni con il calcolo parallelo.
Personalizzare
Fornisci la tua funzione per la creazione dello sciame iniziale. Applica un secondo ottimizzatore per affinare le soluzioni. |
Specificare il problema
Applicalo ai problemi non vincolati o a quelli con vincoli di limite. La funzione obiettivo non deve essere differenziabile o continua
Selezionare le opzioni
Scegli tra le opzioni per la ricottura simulata adattativa, la ricottura Boltzmann o gli algoritmi di ricottura veloce. |
Personalizzare
Crea funzioni per definire il processo di ricottura, i criteri di accettazione e il programma delle temperature. Utilizza tipi di dati personalizzati per esprimere con maggior facilità il tuo problema. Applica un secondo ottimizzatore per affinare le soluzioni.
Confrontare i solutori
Utilizza l’algoritmo di pattern search multiobiettivo per generare un fronte di Pareto in meno valutazioni di funzioni rispetto all’algoritmo genetico multiobiettivo. L’algoritmo genetico può generare punti maggiormente distanti tra loro.
Selezionare le opzioni di pattern search
Fornisci un set di punti iniziali. Specifica le dimensioni desiderate della serie di Pareto, la frazione minima di polling e la tolleranza di variazione dei volumi. Crea automaticamente un grafico dei fronti di Pareto in 2D e 3D. Accelera le operazioni con il calcolo parallelo. |
Impostare le opzioni dell’algoritmo genetico
Specifica la frazione di popolazione per mantenere il fronte di Pareto migliore. Crea automaticamente un grafico dei fronti di Pareto in 2D. Accelera le operazioni con il calcolo parallelo. |
Attività Optimize
in Live Editor:
creazione e soluzione interattiva di problemi di ottimizzazione
Calcolo parallelo:
risoluzione più veloce e in parallelo dei problemi usando ga
,
gamultiobj patternsearch
e particleswarm
con overhead di comunicazione ridotto e transfer
dei dati ai worker (richiede Parallel Computing Toolbox)
Ottimizzazione di surrogati con vincoli non lineari:
risoluzione di problemi laboriosi di ottimizzazione non lineare con vincoli interi e non lineari
Consulta le note di rilascio per ulteriori informazioni su queste caratteristiche e sulle funzioni corrispondenti.