Richiami sui metodi del gradiente in problemi di ottimizzazione matematica. metodi del gradiente

metodi del gradiente

I metodi di ottimizzazione senza vincoli del gradiente utilizzano solo le derivate prime della funzione obiettivo e sono metodi di approssimazione lineare ad ogni passaggio, ovvero la funzione obiettivo ad ogni passo è sostituita da un iperpiano tangente al suo grafico nel punto corrente.

Allo stadio k-esimo dei metodi del gradiente, la transizione dal punto Xk al punto Xk+1 è descritta dalla relazione:

dove k è la dimensione del passo, k è un vettore nella direzione Xk+1-Xk.

Metodi di discesa più ripidi

Per la prima volta, un tale metodo fu considerato e applicato da O. Cauchy nel XVIII secolo. La sua idea è semplice: il gradiente della funzione obiettivo f(X) in ogni punto è un vettore nella direzione del massimo incremento del valore della funzione. Pertanto, l'antigradiente sarà diretto verso la massima diminuzione della funzione ed è la direzione della discesa più ripida. L'antigradiente (e il gradiente) è ortogonale alla superficie piana f(X) nel punto X. Se nella (1.2) introduciamo la direzione

allora questa sarà la direzione di discesa più ripida nel punto Xk.

Otteniamo la formula di transizione da Xk a Xk+1:

L'antigradiente fornisce solo la direzione di discesa, non la dimensione del gradino. In generale, un gradino non dà un punto minimo, quindi la procedura di discesa deve essere applicata più volte. Nel punto minimo, tutte le componenti del gradiente sono uguali a zero.

Tutti i metodi del gradiente utilizzano l'idea di cui sopra e differiscono l'uno dall'altro nei dettagli tecnici: calcolo delle derivate mediante una formula analitica o approssimazione alle differenze finite; la dimensione del passo può essere costante, cambiare secondo alcune regole o essere selezionata dopo aver applicato metodi di ottimizzazione unidimensionale nella direzione dell'antigradiente, ecc. e così via.

Non ci soffermeremo nei dettagli, perché. il metodo di discesa più ripido è generalmente sconsigliato come seria procedura di ottimizzazione.

Uno degli svantaggi di questo metodo è che converge a qualsiasi punto stazionario, compreso il punto di sella, che non può essere una soluzione.

Ma la cosa più importante è la convergenza molto lenta della discesa più ripida nel caso generale. Il punto è che la discesa è "la più veloce" in senso locale. Se l'iperspazio di ricerca è fortemente allungato ("burrone"), allora l'antigradiente è diretto quasi ortogonalmente al fondo del "burrone", cioè la direzione migliore per raggiungere il minimo. In questo senso, una traduzione diretta del termine inglese "steepest discendenza", vale a dire la discesa lungo il pendio più ripido è più coerente con lo stato delle cose rispetto al termine "il più veloce" adottato nella letteratura specializzata in lingua russa. Una via d'uscita in questa situazione è usare l'informazione data dalle seconde derivate parziali. Un'altra via d'uscita è cambiare le scale delle variabili.

gradiente derivativo di approssimazione lineare

Metodo del gradiente coniugato di Fletcher-Reeves

Il metodo del gradiente coniugato costruisce una sequenza di direzioni di ricerca che sono combinazioni lineari della direzione di discesa più ripida corrente e delle direzioni di ricerca precedenti, ovvero

ei coefficienti sono scelti in modo da rendere coniugate le direzioni di ricerca. Dimostrato che

e questo è un risultato molto prezioso che ti consente di costruire un algoritmo di ottimizzazione veloce ed efficiente.

Algoritmo di Fletcher-Reeves

1. In X0 viene calcolato.

2. Al passo k-esimo, utilizzando una ricerca unidimensionale nella direzione, si trova il minimo di f(X) che determina il punto Xk+1.

  • 3. Calcolare f(Xk+1) e.
  • 4. La direzione è determinata dal rapporto:
  • 5. Dopo la (n+1)-esima iterazione (ovvero, con k=n), viene eseguito un riavvio: si assume X0=Xn+1 e viene eseguita la transizione al passo 1.
  • 6. L'algoritmo si interrompe quando

dove è una costante arbitraria.

Il vantaggio dell'algoritmo di Fletcher-Reeves è che non richiede l'inversione di matrice e risparmia la memoria del computer, poiché non necessita delle matrici utilizzate nei metodi newtoniani, ma allo stesso tempo è efficiente quasi quanto gli algoritmi quasi newtoniani. Perché le direzioni di ricerca sono mutuamente coniugate, allora la funzione quadratica sarà minimizzata in non più di n passaggi. Nel caso generale, viene utilizzato un riavvio, che consente di ottenere il risultato.

L'algoritmo Fletcher-Reeves è sensibile all'accuratezza di una ricerca unidimensionale, pertanto eventuali errori di arrotondamento che possono verificarsi devono essere corretti durante l'utilizzo. Inoltre, l'algoritmo potrebbe fallire in situazioni in cui l'Assia diventa mal condizionata. L'algoritmo non ha alcuna garanzia di convergenza sempre e ovunque, sebbene la pratica dimostri che l'algoritmo fornisce quasi sempre un risultato.

Metodi newtoniani

La direzione di ricerca corrispondente alla discesa più ripida è associata ad un'approssimazione lineare della funzione obiettivo. I metodi che utilizzano le derivate seconde sono nati da un'approssimazione quadratica della funzione obiettivo, ovvero quando si espande la funzione in una serie di Taylor, i termini del terzo e degli ordini superiori vengono scartati.

dove è la matrice Hessiana.

Il minimo del lato destro (se esiste) si raggiunge nello stesso punto del minimo della forma quadratica. Scriviamo una formula per determinare la direzione della ricerca:

Il minimo è raggiunto a

Un algoritmo di ottimizzazione in cui la direzione della ricerca è determinata da questa relazione è chiamato metodo di Newton e la direzione è la direzione di Newton.

Nei problemi di trovare il minimo di una funzione quadratica arbitraria con una matrice positiva di derivate seconde, il metodo di Newton fornisce una soluzione in un'iterazione, indipendentemente dalla scelta del punto di partenza.

Classificazione dei metodi newtoniani

In realtà, il metodo di Newton consiste in un'unica applicazione della direzione newtoniana per ottimizzare la funzione quadratica. Se la funzione non è quadratica, vale il seguente teorema.

Teorema 1.4. Se la matrice hessiana di una funzione generale non lineare f nel punto di minimo X* è definita positiva, il punto iniziale è scelto abbastanza vicino a X* e le lunghezze dei passi sono scelte correttamente, allora il metodo di Newton converge a X* con velocità quadratica.

Il metodo di Newton è considerato quello di riferimento e tutte le procedure di ottimizzazione sviluppate vengono confrontate con esso. Tuttavia, il metodo di Newton funziona solo con una matrice Hessiana definita positiva e ben condizionata (il suo determinante deve essere sostanzialmente maggiore di zero, più precisamente, il rapporto tra l'autovalore più grande e quello più piccolo dovrebbe essere vicino a uno). Per eliminare questa lacuna, vengono utilizzati metodi newtoniani modificati, utilizzando il più possibile le direzioni newtoniane e deviando da esse solo quando necessario.

Il principio generale delle modifiche al metodo di Newton è il seguente: ad ogni iterazione, viene prima costruita una matrice definita positiva "relativa" a, e quindi calcolata dalla formula

Poiché è definito positivo, allora - sarà necessariamente la direzione di discesa. La procedura di costruzione è organizzata in modo tale da coincidere con la matrice hessiana se definita positiva. Queste procedure sono costruite sulla base di alcune espansioni di matrici.

Un altro gruppo di metodi, veloci quasi quanto il metodo di Newton, si basa sull'approssimazione della matrice hessiana utilizzando differenze finite, perché non è necessario utilizzare i valori esatti delle derivate per l'ottimizzazione. Questi metodi sono utili quando il calcolo analitico delle derivate è difficile o semplicemente impossibile. Tali metodi sono chiamati metodi discreti di Newton.

La chiave dell'efficacia dei metodi di tipo newtoniano è tenere conto dell'informazione sulla curvatura della funzione da minimizzare, che è contenuta nella matrice hessiana e consente di costruire modelli quadratici localmente esatti della funzione obiettivo. Ma è possibile raccogliere e accumulare informazioni sulla curvatura di una funzione basandosi sull'osservazione della variazione del gradiente durante le iterazioni della discesa.

I metodi corrispondenti basati sulla possibilità di approssimare la curvatura di una funzione non lineare senza la formazione esplicita della sua matrice hessiana sono chiamati metodi quasi newtoniani.

Si noti che quando si costruisce una procedura di ottimizzazione di tipo newtoniano (incluso il quasi newtoniano), è necessario tener conto della possibilità della comparsa di un punto di sella. In questo caso, il vettore della migliore direzione di ricerca sarà sempre diretto al punto di sella, invece di allontanarsi da esso in direzione "giù".

Metodo di Newton-Raphson

Questo metodo consiste nell'uso ripetuto della direzione newtoniana quando si ottimizzano funzioni che non sono quadratiche.

Formula iterativa di base per l'ottimizzazione multivariata

viene utilizzato in questo metodo quando si sceglie la direzione di ottimizzazione dalla relazione

La vera lunghezza del passo è nascosta nella direzione newtoniana non normalizzata.

Poiché questo metodo non richiede il valore della funzione obiettivo nel punto corrente, a volte viene chiamato metodo di ottimizzazione indiretto o analitico. La sua capacità di determinare il minimo di una funzione quadratica in un calcolo sembra estremamente interessante a prima vista. Tuttavia, questo "calcolo unico" è costoso. Innanzitutto occorre calcolare n derivate parziali del primo ordine e n(n+1)/2 - del secondo. Inoltre, la matrice dell'Assia deve essere invertita. Ciò richiede già circa n3 operazioni computazionali. Con lo stesso costo, i metodi di direzione coniugata o i metodi di gradiente coniugato possono richiedere circa n passi, cioè ottenere quasi lo stesso risultato. Pertanto, l'iterazione del metodo Newton-Raphson non fornisce vantaggi nel caso di una funzione quadratica.

Se la funzione non è quadratica, allora

  • - già la direzione iniziale, in generale, non indica il punto di minimo effettivo, il che significa che le iterazioni devono essere ripetute ripetutamente;
  • - un passo di lunghezza unitaria può portare ad un punto con un valore peggiore della funzione obiettivo, e la ricerca può dare la direzione sbagliata se, ad esempio, l'Assia non è definita positiva;
  • - l'Hessian può diventare mal condizionato, rendendo impossibile invertirlo, cioè determinare la direzione per la successiva iterazione.

La strategia stessa non distingue a quale punto stazionario (minimo, massimo, punto di sella) si sta avvicinando la ricerca e il calcolo dei valori della funzione obiettivo, mediante il quale sarebbe possibile tracciare se la funzione sta aumentando, non viene eseguito. Quindi, tutto dipende da quale punto stazionario nella zona di attrazione è il punto di partenza della ricerca. La strategia Newton-Raphson è usata raramente da sola senza modifiche di un tipo o dell'altro.

Metodi di Pearson

Pearson ha proposto diversi metodi per approssimare l'inverso dell'Assia senza calcolare esplicitamente le derivate seconde, cioè osservando i cambiamenti nella direzione dell'antigradiente. In questo caso si ottengono direzioni coniugate. Questi algoritmi differiscono solo nei dettagli. Ecco quelli che sono più utilizzati nei campi applicati.

Algoritmo di Pearson n. 2.

In questo algoritmo, l'Hessian inverso è approssimato dalla matrice Hk calcolata ad ogni passo dalla formula

Come matrice iniziale H0 viene scelta una matrice simmetrica definita positiva arbitraria.

Questo algoritmo di Pearson porta spesso a situazioni in cui la matrice Hk diventa mal condizionata, cioè inizia a oscillare, oscillando tra definita positiva e definita non positiva, mentre il determinante della matrice è vicino allo zero. Per evitare questa situazione è necessario reimpostare la matrice ogni n passi, eguagliandola a H0.

Algoritmo di Pearson #3.

In questo algoritmo, la matrice Hk+1 è determinata dalla formula

Hk+1 = Hk +

Il percorso di discesa generato dall'algoritmo è simile al comportamento dell'algoritmo di Davidon-Fletcher-Powell, ma i passaggi sono leggermente più brevi. Pearson ha anche proposto una variante di questo algoritmo con un riordino ciclico della matrice.

Algoritmo proiettivo di Newton-Raphson

Pearson ha proposto l'idea di un algoritmo in cui la matrice è calcolata dalla relazione

H0=R0, dove la matrice R0 è la stessa delle matrici iniziali negli algoritmi precedenti.

Quando k è un multiplo del numero di variabili indipendenti n, la matrice Hk è sostituita dalla matrice Rk+1 calcolata come somma

Il valore Hk(f(Xk+1) - f(Xk)) è la proiezione del vettore di incremento del gradiente (f(Xk+1)-f(Xk)), ortogonale a tutti i vettori di incremento del gradiente nei passaggi precedenti. Dopo ogni n passaggi, Rk è un'approssimazione dell'inverso dell'Assia H-1(Xk), quindi in sostanza viene eseguita una ricerca (approssimativamente) di Newton.

Metodo di Davidon-Fletcher-Powell

Questo metodo ha altri nomi: il metodo metrico variabile, il metodo quasi Newton, perché usa entrambi questi approcci.

Il metodo Davidon-Fletcher-Powell (DFP) si basa sull'uso di direzioni newtoniane, ma non richiede il calcolo dell'Assia inversa ad ogni passo.

La direzione di ricerca al passo k è la direzione

dove Hi è una matrice simmetrica definita positiva che viene aggiornata ad ogni passo e, nel limite, diventa uguale all'inversa Hessiana. La matrice identità viene solitamente scelta come matrice iniziale H. La procedura DFT iterativa può essere rappresentata come segue:

  • 1. Al passo k, c'è un punto Xk e una matrice definita positiva Hk.
  • 2. Selezionare come nuova direzione di ricerca

3. La ricerca unidimensionale (solitamente per interpolazione cubica) lungo la direzione determina k minimizzando la funzione.

4. Si affida.

5. Si affida.

6. Determinato da e. Se Vk o sono sufficientemente piccoli, la procedura termina.

  • 7. Poniamo Uk = f(Xk+1) - f(Xk).
  • 8. Matrix Hk viene aggiornato secondo la formula

9. Aumenta k di uno e torna al passaggio 2.

Il metodo è efficace in pratica se l'errore di calcolo del gradiente è piccolo e la matrice Hk non diventa mal condizionata.

La matrice Ak assicura la convergenza di Hk a G-1, la matrice Bk assicura la definitività positiva di Hk+1 in tutti gli stadi ed esclude H0 nel limite.

Nel caso di una funzione quadratica

quelli. l'algoritmo DFP utilizza direzioni coniugate.

Pertanto, il metodo DFT utilizza sia le idee dell'approccio newtoniano che le proprietà delle direzioni coniugate e, minimizzando la funzione quadratica, converge in non più di n iterazioni. Se la funzione da ottimizzare ha una forma vicina a una funzione quadratica, allora il metodo DFP è efficiente grazie a una buona approssimazione di G-1 (metodo di Newton). Se la funzione obiettivo ha una forma generale, il metodo DFP è efficace grazie all'uso di direzioni coniugate.

Metodi di ottimizzazione del gradiente

I problemi di ottimizzazione con relazioni non lineari o difficili da calcolare che determinano il criterio di ottimizzazione ei vincoli sono oggetto di programmazione non lineare. Di norma, le soluzioni ai problemi di programmazione non lineare possono essere trovate solo con metodi numerici utilizzando la tecnologia informatica. Tra questi, i più comunemente usati sono i metodi del gradiente (metodi di rilassamento, gradiente, discesa e salita più ripida), metodi di ricerca deterministica non gradiente (metodi di scansione, simplex, ecc.) e metodi di ricerca casuale. Tutti questi metodi sono utilizzati nella determinazione numerica degli ottimi e sono ampiamente trattati nella letteratura specializzata.

Nel caso generale, il valore del criterio di ottimizzazione R può essere visto come una funzione R(x b xx..., xn), definito nello spazio n-dimensionale. Poiché non esiste una rappresentazione grafica visiva di uno spazio n-dimensionale, utilizzeremo il caso di uno spazio bidimensionale.

Se R(l x 2) continuo nella regione D, quindi attorno al punto ottimale M°(xi°, xz°)è possibile tracciare una linea chiusa in questo piano, lungo la quale il valore R= cost. Ci sono molte di queste linee, chiamate linee di uguale livello, che possono essere tracciate attorno al punto ottimale (a seconda del gradino

Tra i metodi utilizzati per risolvere i problemi di programmazione non lineare, un posto significativo è occupato dai metodi di ricerca delle soluzioni basati sull'analisi della derivata rispetto alla direzione della funzione da ottimizzare. Se in ogni punto dello spazio una funzione scalare di più variabili assume valori ben definiti, allora in questo caso abbiamo a che fare con un campo scalare (campo di temperatura, campo di pressione, campo di densità, ecc.). Il campo vettoriale (il campo delle forze, delle velocità, ecc.) è definito in modo simile. Isoterme, isobare, isocrone, ecc. - tutte queste sono linee (superfici) di uguali livelli, uguali valori di una funzione (temperatura, pressione, volume, ecc.). Poiché il valore della funzione cambia da punto a punto nello spazio, diventa necessario determinare la velocità di variazione della funzione nello spazio, cioè la derivata in direzione.

Il concetto di gradiente è ampiamente utilizzato nei calcoli ingegneristici per trovare gli estremi delle funzioni non lineari. I metodi gradiente sono metodi numerici del tipo di ricerca. Sono universali e particolarmente efficaci nei casi di ricerca di estremi di funzioni non lineari con restrizioni, nonché quando la funzione analitica è completamente sconosciuta. L'essenza di questi metodi è determinare i valori delle variabili che forniscono l'estremo della funzione obiettivo spostandosi lungo il gradiente (durante la ricerca di massimo) o nella direzione opposta (minimo). Vari metodi del gradiente differiscono l'uno dall'altro nel modo in cui viene determinato il movimento verso l'optimum. La linea di fondo è che se le linee sono livelli uguali R(xu x i) caratterizzare graficamente la dipendenza R(x\jc?), quindi la ricerca del punto ottimale può essere effettuata in diversi modi. Ad esempio, disegna una griglia su un piano x\, xr con indicazione dei valori R ai nodi della griglia (Fig. 2.13).

Quindi puoi scegliere tra i valori nodali dell'estremo. Questo percorso non è razionale, è associato a un gran numero di calcoli e la precisione è bassa, poiché dipende dal passo e l'ottimale può essere individuato tra i nodi.

Metodi numerici

I modelli matematici contengono relazioni compilate sulla base di un'analisi teorica dei processi in studio o ottenuti a seguito di esperimenti di elaborazione (tabelle di dati, grafici). In ogni caso, il modello matematico descrive solo approssimativamente il processo reale. Pertanto) la questione dell'accuratezza, dell'adeguatezza del modello è la più importante. La necessità di approssimazioni nasce nella soluzione stessa delle equazioni. Fino a poco tempo fa, i modelli contenenti equazioni alle derivate parziali o non lineari non potevano essere risolti analiticamente. Lo stesso vale per numerose classi di integrali non contrattabili. Tuttavia, lo sviluppo di metodi per l'analisi numerica ha permesso di ampliare notevolmente i confini delle possibilità di analisi dei modelli matematici, soprattutto con l'uso dei computer.

I metodi numerici sono usati per approssimare funzioni, per risolvere equazioni differenziali e loro sistemi, per integrare e derivare, per calcolare espressioni numeriche.

La funzione può essere definita analiticamente, tabella, grafico. Quando si esegue una ricerca, un problema comune è l'approssimazione di una funzione mediante un'espressione analitica che soddisfa le condizioni stabilite. Questo svolge quattro compiti:

Selezione di punti nodali, conduzione di esperimenti a determinati valori (livelli) di variabili indipendenti (se la fase di modifica del fattore viene scelta in modo errato, "saltereremo" una caratteristica del processo in esame o allungheremo il procedura e aumentare la complessità della ricerca di modelli);

La scelta di funzioni approssimanti sotto forma di polinomi, formule empiriche, a seconda del contenuto di un particolare problema (si dovrebbe tendere alla massima semplificazione delle funzioni approssimative);

Selezione e utilizzo di criteri di bontà di adattamento, in base ai quali si trovano i parametri delle funzioni di approssimazione;

Soddisfazione dei requisiti di una data accuratezza alla scelta di una funzione approssimante.

Nei problemi di approssimazione di funzioni mediante polinomi vengono utilizzate tre classi

Combinazione lineare di funzioni potenza (serie di Taylor, Lagrange, polinomi di Newton, ecc.);

Combinazione di funzioni cos nx, con loro(Serie di Fourier);

Polinomio formato da funzioni esp(-anno Domini).

Quando si trova la funzione di approssimazione, vengono utilizzati vari criteri di accordo con i dati sperimentali.

Quando si ottimizza con il metodo del gradiente, si ricerca l'optimum dell'oggetto in studio nella direzione dell'aumento (diminuzione) più rapido della variabile di output, ad es. in direzione della pendenza. Ma prima di fare un passo nella direzione del gradiente, devi calcolarlo. Il gradiente può essere calcolato dal modello disponibile

simulazione gradiente polinomiale dinamico

dove è la derivata parziale rispetto all'i-esimo fattore;

i, j, k - vettori unitari nella direzione degli assi delle coordinate dello spazio dei fattori o in base ai risultati di n movimenti di prova nella direzione degli assi delle coordinate.

Se il modello matematico del processo statistico ha la forma di un polinomio lineare, i cui coefficienti di regressione b i sono derivate parziali dello sviluppo della funzione y = f(X) in una serie di Taylor in potenze di x i , allora l'optimum è cercato nella direzione del gradiente con un certo passo h i:

pkfv n (Ch) \u003d e 1 p 1 + e 2 p 2 + ... + e t p t

La direzione viene corretta dopo ogni passaggio.

Il metodo del gradiente, insieme alle sue numerose modifiche, è un metodo comune ed efficace per trovare l'ottimo degli oggetti in studio. Considera una delle modifiche del metodo del gradiente: il metodo della salita ripida.

Il metodo della salita ripida, o altrimenti il ​​metodo di Box-Wilson, combina i vantaggi di tre metodi: il metodo di Gauss-Seidel, il metodo del gradiente e il metodo degli esperimenti fattoriali completi (o frazionari), come mezzo per ottenere un modello matematico lineare . Il compito del metodo di salita ripida è quello di eseguire un passo nella direzione dell'aumento (o diminuzione) più veloce della variabile di uscita, cioè lungo il grado y (X). A differenza del metodo del gradiente, la direzione non viene corretta dopo ogni passaggio successivo, ma quando si raggiunge un estremo parziale della funzione obiettivo in un punto in una data direzione, come avviene nel metodo di Gauss-Seidel. Al punto di un estremo parziale, viene impostato un nuovo esperimento fattoriale, viene determinato un modello matematico e viene nuovamente eseguita una ripida salita. Nel processo di spostamento verso l'ottimale con questo metodo, viene regolarmente eseguita un'analisi statistica dei risultati di ricerca intermedi. La ricerca termina quando gli effetti quadratici nell'equazione di regressione diventano significativi. Ciò significa che è stata raggiunta la regione ottimale.

Descriviamo il principio dell'uso dei metodi del gradiente usando l'esempio di una funzione di due variabili

soggetto a due ulteriori condizioni:

Questo principio (senza modifiche) può essere applicato a qualsiasi numero di variabili, nonché a condizioni aggiuntive. Considera il piano x 1 , x 2 (Fig. 1). Secondo la formula (8), ogni punto corrisponde ad un certo valore di F. In Fig.1, le rette F = const appartenenti a questo piano sono rappresentate da curve chiuse che circondano il punto M * , dove F è minimo. Lascia che al momento iniziale i valori x 1 e x 2 corrispondano al punto M 0 . Il ciclo di calcolo inizia con una serie di passaggi di prova. Innanzitutto, a x 1 viene assegnato un piccolo incremento; in questo momento, il valore di x 2 è invariato. Quindi viene determinato l'incremento risultante nel valore di F, che può essere considerato proporzionale al valore della derivata parziale

(se il valore è sempre lo stesso).

La definizione di derivate parziali (10) e (11) significa che viene trovato un vettore con coordinate e, che è chiamato gradiente di F ed è indicato come segue:

È noto che la direzione di questo vettore coincide con la direzione dell'aumento più ripido del valore di F. La direzione opposta ad essa è la "discesa più ripida", in altre parole, la diminuzione più ripida del valore di F.

Dopo aver trovato le componenti del gradiente, i movimenti di prova si fermano e le fasi di lavoro vengono eseguite nella direzione opposta alla direzione della pendenza, e la dimensione del passo è tanto maggiore quanto maggiore è il valore assoluto del vettore grad F. Queste le condizioni si realizzano se i valori delle fasi di lavoro e sono proporzionali ai valori precedentemente ottenuti delle derivate parziali:

dove b è una costante positiva.

Dopo ogni fase di lavoro, viene stimato l'incremento di F. Se risulta negativo, il movimento è nella giusta direzione ed è necessario spostarsi ulteriormente nella stessa direzione M 0 M 1. Se al punto M 1 il risultato della misurazione lo mostra, allora i movimenti di lavoro si fermano e inizia una nuova serie di movimenti di prova. In questo caso, il gradiente gradF viene determinato in un nuovo punto M 1 , quindi il movimento di lavoro continua lungo la nuova direzione trovata di discesa più ripida, ad es. lungo la linea M 1 M 2 , ecc. Questo metodo è chiamato metodo di discesa più ripida/salita più ripida.

Quando il sistema è vicino a un minimo, che è indicato da un piccolo valore della quantità

c'è il passaggio a un metodo di ricerca più “cauto”, il cosiddetto metodo del gradiente. Si differenzia dal metodo di discesa più ripido in quanto dopo aver determinato il gradiente gradF, viene eseguita solo una fase di lavoro, quindi ricomincia una serie di movimenti di prova in un nuovo punto. Questo metodo di ricerca fornisce una determinazione più accurata del minimo rispetto al metodo di discesa più ripido, mentre quest'ultimo consente di avvicinarsi rapidamente al minimo. Se durante la ricerca il punto M raggiunge il confine dell'area ammissibile e almeno uno dei valori M 1 , M 2 cambia segno, il metodo cambia e il punto M inizia a muoversi lungo il confine dell'area.

L'efficacia del metodo della salita ripida dipende dalla scelta della scala delle variabili e dal tipo di superficie di risposta. La superficie con contorni sferici garantisce una rapida contrazione ottimale.

Gli svantaggi del metodo di salita ripida includono:

1. Limitazione dell'estrapolazione. Muovendoci lungo il gradiente, ci affidiamo all'estrapolazione delle derivate parziali della funzione obiettivo rispetto alle corrispondenti variabili. Tuttavia, la forma della superficie di risposta può cambiare ed è necessario modificare la direzione della ricerca. In altre parole, il movimento sul piano non può essere continuo.

2. Difficoltà nel trovare l'ottimo globale. Il metodo è applicabile alla ricerca solo di ottimi locali.

Il vettore gradiente è diretto verso l'incremento più veloce della funzione in un dato punto. Il vettore opposto al gradiente -grad(/(x)), è detto antigradiente ed è diretto nella direzione del decremento più rapido della funzione. Nel punto di minimo, il gradiente della funzione è zero. I metodi del primo ordine, detti anche metodi del gradiente, si basano sulle proprietà del gradiente. Se non ci sono informazioni aggiuntive, allora dal punto di partenza x (0 > è meglio andare al punto x (1) , che si trova nella direzione dell'antigradiente - la diminuzione più rapida della funzione. Scegliendo l'antigradiente -grad ( /(x (^)) nel punto x (a otteniamo un processo iterativo della forma

In forma di coordinate, questo processo è scritto come segue:

Come criterio per fermare il processo iterativo, si può usare o la condizione (10.2) o il soddisfacimento della condizione per la piccolezza del gradiente

È possibile anche un criterio combinato, consistente nel contemporaneo avveramento delle condizioni indicate.

I metodi del gradiente differiscono l'uno dall'altro nel modo in cui viene scelta la dimensione del passo. UN Nel metodo del passo costante, viene scelto un valore di passo costante per tutte le iterazioni. Un passo piuttosto piccolo un^ assicura che la funzione diminuisca, cioè soddisfacimento della disuguaglianza

Tuttavia, ciò può comportare la necessità di effettuare un numero sufficientemente elevato di iterazioni per raggiungere il punto minimo. D'altra parte, un passo troppo grande può far crescere la funzione o portare a fluttuazioni attorno al punto minimo. Sono necessarie informazioni aggiuntive per selezionare la dimensione del passo, quindi i metodi con un passo costante sono usati raramente nella pratica.

Più affidabili ed economici (in termini di numero di iterazioni) sono i metodi gradiente con passo variabile, quando, a seconda dell'approssimazione ottenuta, la dimensione del passo cambia in qualche modo. Come esempio di tale metodo, considera il metodo di discesa più ripido. In questo metodo, ad ogni iterazione, il valore del passo n* è selezionato dalla condizione di minimo della funzione /(x) nella direzione di discesa, cioè

Questa condizione significa che il movimento lungo l'antigradiente avviene finché il valore della funzione f(x) diminuisce. Pertanto, ad ogni iterazione, è necessario risolvere il problema della minimizzazione unidimensionale rispetto a π della funzione φ(λ) =/(x(/r) - - agrad^x^))). L'algoritmo del metodo di discesa più ripido è il seguente.

  • 1. Fissiamo le coordinate del punto iniziale x^°, la precisione della soluzione approssimata r. Fissiamo K = 0.
  • 2. Nel punto x (/z) calcoliamo il valore del gradiente grad(/(x (^)).
  • 3. Determinare la dimensione del passo un^ per minimizzazione unidimensionale rispetto a i della funzione cp(i).
  • 4. Definiamo una nuova approssimazione al punto di minimo x (+1 > secondo la formula (10.4).
  • 5. Verificare le condizioni per l'arresto del processo iterativo. Se sono soddisfatti, i calcoli si fermano. Altrimenti, mettiamo kk+ 1 e vai al passaggio 2.

Nel metodo di discesa più ripido, la direzione del movimento dal punto x (*) tocca la linea di livello nel punto x (+1) . La traiettoria di discesa è a zigzag e i collegamenti a zigzag adiacenti sono ortogonali tra loro. Anzi, un passo un^ viene scelto minimizzando UN funzioni ( UN). Condizione necessaria

minimo della funzione - = 0. Calcolo della derivata

funzione complessa, si ottiene la condizione di ortogonalità per i vettori di direzione di discesa nei punti vicini:

Il problema di minimizzare la funzione φ(n) può essere ridotto al problema di calcolare la radice di una funzione di una variabile g(a) =

I metodi del gradiente convergono al minimo al ritmo di una progressione geometrica per funzioni convesse lisce. Tali funzioni hanno gli autovalori più grandi e più piccoli della matrice delle derivate seconde (matrici di Hesse)

differiscono poco l'uno dall'altro, ad es. la matrice H(x) è ben condizionata. Tuttavia, in pratica, le funzioni minimizzate hanno spesso matrici di derivate seconde mal condizionate. I valori di tali funzioni lungo alcune direzioni cambiano molto più velocemente che in altre direzioni. Il tasso di convergenza dei metodi del gradiente dipende anche in modo significativo dall'accuratezza dei calcoli del gradiente. La perdita di precisione, che di solito si verifica in prossimità dei punti di minimo, può generalmente interrompere la convergenza del processo di discesa del gradiente. Pertanto, i metodi del gradiente vengono spesso utilizzati in combinazione con altri metodi più efficienti nella fase iniziale della risoluzione di un problema. In questo caso, il punto x(0) è lontano dal punto di minimo ei passi nella direzione dell'antigradiente consentono di ottenere una diminuzione significativa della funzione.

Non ci sono restrizioni nel problema di ottimizzazione non vincolata.

Ricordiamo che il gradiente di una funzione multidimensionale è un vettore analiticamente espresso dalla somma geometrica delle derivate parziali

Gradiente di funzione scalare F(X) ad un certo punto è diretto verso il più rapido incremento della funzione ed è ortogonale alla linea di livello (superfici di valore costante F(X), passante per un punto X K). Il vettore opposto al gradiente  antigradiente  è diretto nella direzione della diminuzione più rapida della funzione F(X). Al punto estremo laureato F(X)= 0.

Nei metodi del gradiente, il movimento di un punto durante la ricerca del minimo della funzione obiettivo è descritto dalla formula iterativa

Dove K  parametro step on K th iterazione lungo l'antigradiente. Per i metodi di arrampicata (cerca il massimo), devi spostarti lungo il gradiente.

Diverse varianti dei metodi del gradiente differiscono l'una dall'altra nel modo di scegliere il parametro del passo, oltre a tenere conto della direzione del movimento nel passaggio precedente. Considera le seguenti opzioni per i metodi del gradiente: con un passo costante, con un parametro del passo variabile (divisione del passo), il metodo della discesa più ripida e il metodo del gradiente coniugato.

Metodo con un parametro di passo costante. In questo metodo, il parametro step è costante a ogni iterazione. La domanda sorge spontanea: come scegliere praticamente il valore del parametro step? Un parametro del passo sufficientemente piccolo può portare a un numero inaccettabilmente elevato di iterazioni necessarie per raggiungere il punto minimo. D'altra parte, un parametro del passo troppo grande può portare al superamento del punto minimo e ad un processo computazionale oscillatorio intorno a questo punto. Queste circostanze sono svantaggi del metodo. Poiché è impossibile indovinare in anticipo il valore accettabile del parametro step K, allora diventa necessario utilizzare il metodo del gradiente con un parametro step variabile.

Man mano che si avvicina all'ottimo, il vettore gradiente diminuisce di grandezza, tendendo a zero, quindi, quando K = la lunghezza del passo const diminuisce gradualmente. Vicino all'ottimo, la lunghezza del vettore gradiente tende a zero. Lunghezza del vettore o norma in N lo spazio euclideo dimensionale è determinato dalla formula

, Dove N- numero di variabili.

Opzioni per fermare la ricerca dell'optimum:


Da un punto di vista pratico, è più conveniente utilizzare il 3° criterio di arresto (poiché i valori dei parametri di progetto sono interessanti), tuttavia, per determinare la prossimità del punto estremo, è necessario concentrarsi sul 2° criterio. Diversi criteri possono essere utilizzati per interrompere il processo computazionale.

Considera un esempio. Trova il minimo della funzione obiettivo F(X) = (X 1  2) 2 + (X 2  4) 2 . Soluzione esatta del problema X*= (2,0;4,0). Espressioni per derivate parziali

,
.

Scegli un passaggio K = 0.1. Cerchiamo dal punto di partenza X 1 = . La soluzione è presentata sotto forma di tabella.

Metodo del gradiente con suddivisione dei parametri a gradini. In questo caso, durante il processo di ottimizzazione, il parametro del passo  k diminuisce se, dopo il passo successivo, la funzione obiettivo aumenta (durante la ricerca di un minimo). In questo caso, la lunghezza del passo viene spesso divisa (divisa) a metà e il passo viene ripetuto dal punto precedente. Ciò fornisce un approccio più accurato al punto estremo.

Il metodo di discesa più ripido. I metodi a passo variabile sono più economici in termini di numero di iterazioni. Se la lunghezza ottimale del passo  k lungo la direzione dell'antigradiente è una soluzione a un problema di minimizzazione unidimensionale, allora questo metodo è chiamato il metodo della discesa più ripida. In questo metodo, ad ogni iterazione, viene risolto il problema della minimizzazione unidimensionale:

F(x k+1 )=F(X K K S K )=min F( K ), S K = F(X);

K >0

.

In questo metodo, il movimento nella direzione dell'antigradiente continua fino a raggiungere il minimo della funzione obiettivo (fino a quando il valore della funzione obiettivo diminuisce). Usando un esempio, consideriamo come la funzione obiettivo può essere scritta analiticamente ad ogni passo a seconda del parametro sconosciuto

Esempio. min F(X 1 , X 2 ) = 2X 1 2 + 4X 2 3 3. Poi F(X)= [ 4X 1 ; 12X 2 2 ]. Facciamo il punto X K = , quindi F(X)= [ 8; 12], F(X K S K ) =

2(2  8) 2 + 4(1  12) 3  3. È necessario trovare  che fornisca il minimo di questa funzione.

Algoritmo di discesa più ripida (per trovare il minimo)

passo iniziale. Sia  la costante di arresto. Seleziona il punto di partenza X 1 , Mettere K = 1 e vai al passaggio principale.

Passaggio fondamentale. Se || laureaF(X)||< , quindi termina la ricerca, altrimenti determina F(X K ) e trova K  soluzione ottima del problema di minimizzazione F(X K K S K ) A K 0. Mettere X K +1 = X K K S K, assegnare K =

K + 1 e ripetere il passaggio principale.

Per trovare il minimo di una funzione di una variabile nel metodo della discesa più ripida, è possibile utilizzare metodi di ottimizzazione unimodali. Da un ampio gruppo di metodi, considera il metodo della dicotomia (bisezione) e la sezione aurea. L'essenza dei metodi di ottimizzazione unimodale consiste nel restringere l'intervallo di incertezza della posizione dell'estremo.

Metodo dicotomico (bisezione)Passo iniziale. Scegli la costante di distinguibilità  e la lunghezza finale dell'intervallo di incertezza l. Il valore di  dovrebbe essere comunque il più piccolo possibile, permettendo di distinguere i valori della funzione F() E F() . Permettere [ UN 1 , B 1 ]  intervallo di incertezza iniziale. Mettere K =

La fase principale consiste in un numero finito di iterazioni dello stesso tipo.

k-esima iterazione.

Passo 1. Se B K UN K l, quindi il calcolo termina. Soluzione X * = (UN K + B K )/2. Altrimenti

,
.

Passo 2 Se F( K ) < F( K ), Mettere UN K +1 = UN K ; B K +1 = K. Altrimenti UN K +1 = K E B K +1 = B K. Assegnare K = K + 1 e vai al punto 1.

Metodo della sezione aurea. Un metodo più efficiente rispetto al metodo della dicotomia. Consente di ottenere un dato valore dell'intervallo di incertezza in meno iterazioni e richiede meno calcoli della funzione obiettivo. In questo metodo, il nuovo punto di divisione dell'intervallo di incertezza viene calcolato una volta. Il nuovo punto viene posizionato a distanza

 = 0,618034 dalla fine dell'intervallo.

Algoritmo del rapporto aureo

Passo iniziale. Scegli una lunghezza finita accettabile dell'intervallo di incertezza l > 0. Permettere [ UN 1 , B 1 ]  intervallo di incertezza iniziale. Mettere 1 = UN 1 +(1 )(B 1 UN 1 ) E 1 = UN 1 + (B 1 UN 1 ) , Dove = 0,618 . Calcolare F( 1 ) E F( 1 ) , Mettere K = 1 e vai al passaggio principale.

Passo 1. Se B K UN K l, quindi i calcoli terminano X * = (UN K + B K )/ 2. Altrimenti, se F( K ) > F( K ) , quindi vai al passaggio 2; Se F( K ) F( K ) , vai al passaggio 3.

Passo 2 Mettere UN K +1 = K , B K +1 = B K , K +1 = K , K +1 = UN K +1 + (B K +1 UN K +1 ). Calcolare F( K +1 ), vai al passaggio 4.

Passaggio 3 Mettere UN K +1 = UN K , B K +1 = K , K +1 = K , K +1 = UN K +1 + (1 )(B K +1 UN K +1 ). Calcolare F( K +1 ).

Passaggio 4 Assegnare K = K + 1, vai al passaggio 1.

Alla prima iterazione sono richieste due valutazioni della funzione, a tutte le iterazioni successive solo una.

Metodo del gradiente coniugato (Fletcher-Reeves). In questo metodo, la scelta della direzione del movimento continua K+ 1 passo tiene conto del cambio di direzione K fare un passo. Il vettore della direzione di discesa è una combinazione lineare della direzione anti-gradiente e della precedente direzione di ricerca. In questo caso, quando si riducono al minimo le funzioni del burrone (con avvallamenti lunghi e stretti), la ricerca non è perpendicolare al burrone, ma lungo di esso, il che consente di raggiungere rapidamente il minimo. Quando si cerca un estremo utilizzando il metodo del gradiente coniugato, le coordinate del punto vengono calcolate dall'espressione X K +1 = X K v K +1 , Dove v K +1 è un vettore calcolato dalla seguente espressione:

.

La prima iterazione di solito si basa v = 0 e viene eseguita la ricerca antigradiente, come nel metodo di discesa più ripida. Quindi la direzione del moto devia dalla direzione dell'antigradiente tanto più è cambiata in modo significativo la lunghezza del vettore gradiente all'ultima iterazione. Dopo N i passi per correggere il funzionamento dell'algoritmo fanno il solito passo lungo l'antigradiente.

Algoritmo del metodo del gradiente coniugato

Passo 1. Inserisci il punto di partenza X 0 , precisione , dimensione N.

Passo 2 Mettere K = 1.

Passaggio 3 Metti vettore v K = 0.

Passaggio 4 Calcolare laureato F(X K ).

Passaggio 5 Calcola vettore v K +1.

Passaggio 6 Eseguire la ricerca vettoriale 1D v K +1.

Passaggio 7 Se K < N, Mettere K = K + 1 e vai al passaggio 4 altrimenti vai al passaggio 8.

Passaggio 8 Se la lunghezza del vettore v minore di , termina la ricerca, altrimenti vai al punto 2.

Il metodo della direzione coniugata è uno dei più efficaci per risolvere problemi di minimizzazione. Il metodo in combinazione con la ricerca unidimensionale viene spesso utilizzato nella pratica in CAD. Tuttavia, va notato che è sensibile agli errori che si verificano durante il processo di calcolo.

Svantaggi dei metodi gradiente

    In problemi con un gran numero di variabili, è difficile o impossibile ottenere derivate sotto forma di funzioni analitiche.

    Quando si calcolano le derivate utilizzando schemi di differenza, l'errore risultante, specialmente in prossimità di un estremo, limita le possibilità di tale approssimazione.

CATEGORIE

ARTICOLI POPOLARI

2023 "kingad.ru" - esame ecografico degli organi umani