SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
Metodi per la soluzione di problemi di
programmazione non lineare
Metodi vincolati
Luca Vitale
Dipartimento di Informatica
Universit´a degli studi di Salerno
Outline
Introduzione al problema
Metodi non vincolati
Funzioni di penalit´a sequenziali
Funzioni Lagrangiane aumentate sequenziali
Funzioni di penalit´a esatte
Funzioni Lagrangiane aumentate esatte
Metodi di programmazione quadratica ricorsiva
Vincoli di disuguaglianza
Vincoli di uguaglianza
Conclusioni
Tipologie di problemi
I problemi che affronteremo avranno la seguente forma:
min
x
f(x) Rn
→ R
h(x) = 0 Rn
→ Rp
p ≤ n
g(x) ≤ 0 Rn
→ Rm
(1)
O forme con solo vincoli di uguaglianza o vincoli di diseguaglianza.
Condizioni di ottimalit´a
Le condizioni di ottimalit´a che verrano sempre considerate
soddisfatte sono le seguenti:
Condizioni necessarie del primo ordine (KKT)
Condizioni sufficienti del secondo ordine
Condizioni necessarie del primo ordine
Theorem (Condizioni necessarie del primo ordine)
se x* e una soluzione locale del problema, e se in x* ´e soddisfatta
la condizione di regolarit´a dei vincoli, esistono e sono unici i
moltiplicatori µ*, λ* che insieme a x*, soddisfano le seguenti
condizioni:
xL(x∗
, µ∗
, λ∗
) = 0
h(x∗
) = 0
g(x∗
) ≤ 0
λ∗
≥ 0
λ∗
g(x∗
) = 0
(2)
Tali condizioni sono dette di Kuhn-Tucker.
Condizioni sufficienti del secondo ordine
Theorem (Condizioni sufficienti del secondo ordine)
se x∗, λ∗, µ∗ soddisfano le condizioni del primo ordine; se x∗, λ∗
soddisfano le condizioni di stretta complementarit´a; se infine risulta
che:
y’ 2
xxL(x∗
, µ∗
, λ∗
)y > 0∀y = 0 :
∂h(x∗)
∂x
∂ga(x∗)
∂x
y = 0 (3)
allora x* ´e una soluzione locale stretta del problema.
Problemi di programmazione non lineare
I metodi per la soluzione di problemi di programmazione nonlineare
su cui negli ultimi anni si ´e maggiormente concentrata l’attivit´a di
ricerca si riconducono fondamentalmente a due categorie:
metodi basati sulla trasformazione di un problema vincolato in
un problema non vincolato o in una successione di problemi
non vincolati.
metodi basati sulla trasformazione del problema vincolato in
una successione di problemi di programmazione quadratica.
Outline
Introduzione al problema
Metodi non vincolati
Funzioni di penalit´a sequenziali
Funzioni Lagrangiane aumentate sequenziali
Funzioni di penalit´a esatte
Funzioni Lagrangiane aumentate esatte
Metodi di programmazione quadratica ricorsiva
Vincoli di disuguaglianza
Vincoli di uguaglianza
Conclusioni
Funzioni di penalit´a sequenziali I
Data una funzione f(x) che vogliamo minimizzare effettuiamo la
minimizzazione tramite una nuova funziona F(x). Il primo passo ´e
quello di definire una funzione q(x) nel seguente modo:
q(x) =
0 se x ∈ X
+∞, se x ∈ X
(4)
dove X ´e l’insieme della regione ammisibile.
e si definisce la funziona F(x) nel seguente modo:
F(x) f (x) + q(x) (5)
Funzioni di penalit´a sequenziali II
´E immediato verificare che la soluzione di F(x) fornisce la soluzione
al problema di f(x) ma presenta principalmente due problemi:
l’applicazione di questo metodo solo a casi banali
la discontinuit´a della funzione sulla frontiera di X
Per risolvere questo problema ci presupponiamo di costruire una
successione di funzioni che risultano continuamente differenziabili
Funzioni di penalit´a sequenziali III
Quindi definiremo una nuova funzione che sostituir´a q(x), che
chiameremo p(x) e la definiremo nel seguente modo:
p(x) =
0 se x ∈ X
> 0, se x ∈ X
(6)
e definiremo la nuova F(x, )
F(x; ) f (x) +
1
p(x) > 0 (7)
´e evidente che quando → 0, F(x, ) → F(x)
Il termine 1
p(x) viene detto termine di penalit´a.
Funzioni di penalit´a sequenziali IV
Data una successione k di valore di , strettamente decrescente e
tale che k → 0 il metodo delle funzioni di penalit´a sequenziali
consiste nel risolvere la successione di problemi non vincolati:
min
x
F(x, k) (8)
Per valori di che tendono a zero:
si produce un malcondizionamento sulla matrice hessiana
F(x, )
e quindi un rallentamento di convergenza
Funzioni di penalit´a sequenziali V
Quindi dato un punto iniziale x e una sequenza di k si effettuano
una serie di minimizzazioni di F(xk, k+1) che restituisce il punto
xk+1 nella aspettativa che xk sia una buona stima per xk+1,
tuttavia questo ´e vero solo se k non differisce molto da k+1.
Inoltre ´e possibile dimostrare che la velocit´a di convergenza
dell’algoritmo dipende dalla velocit´a di convergenza della sequenza
k.
Questo metodo viene utilizzando quando non ´e richiesta molta
precisione della soluzione del problema o del soddisfacimento dei
vincoli. Anche per fornire una soluzione iniziale ad un altro
problema.
Outline
Introduzione al problema
Metodi non vincolati
Funzioni di penalit´a sequenziali
Funzioni Lagrangiane aumentate sequenziali
Funzioni di penalit´a esatte
Funzioni Lagrangiane aumentate esatte
Metodi di programmazione quadratica ricorsiva
Vincoli di disuguaglianza
Vincoli di uguaglianza
Conclusioni
Funzioni Lagrangiane aumentate I
Per semplicit´a consideriamo solo il problema con vincoli di
uguaglianza.
Definiamo la funzione Lagrangiana nel seguente modo:
L(x, µ) f (x) + µ h(x), µ ∈ Rm
; (9)
dove µ viene detto moltiplicatore lagrangiano.
´E possibile convessificare la funzione lagrangiana con l’aggiunta di
un termine di penalit´a:
La(x, µ, ) L(x, µ) +
1
||h(x)||2 (10)
che, per sufficientemente piccolo ma comunque tale che 1
sia
finito, abbia, sotto opportune ipotesi, un minimo non vincolato in
x∗. La(x, µ, ) viene chiamata funzione lagrangiana aumentata.
Funzioni Lagrangiane aumentate II
dato 1 > 0 e µ1 ∈ Rn;
while k = 1,2 . . . do
Partendo da xk-1 trova yk = La(xk, µk, k)
if yk soddisfa KKT then
poni xk = yk e STOP;
else
scegli k+1;
scegli µk+1;
poni xk = yk;
end
k=k+1
end
Funzioni Lagrangiane aumentate III
Nell’algoritmo prima descritto bisogna scegliere come aggiornare i
parametri di e µ
k di solito viene aggiornato tenendo conto dell’ammisibilit´a di
xk
µk viene aggiornato tramite la propriet´a della funzione duale
Funzioni Lagrangiane aumentate IV
Le funzioni Lagrangiani aumentate sequenziali presentano due
principali vantaggi rispetto alle funzioni di penalit´a sequenziali:
superano i problemi di malcondizionamento
maggiore velocit´a di convergenza
Outline
Introduzione al problema
Metodi non vincolati
Funzioni di penalit´a sequenziali
Funzioni Lagrangiane aumentate sequenziali
Funzioni di penalit´a esatte
Funzioni Lagrangiane aumentate esatte
Metodi di programmazione quadratica ricorsiva
Vincoli di disuguaglianza
Vincoli di uguaglianza
Conclusioni
Funzioni di penalit´a esatte I
Il termine esatto, denota il fatto che ´e richiesta una sola
minimizzazione per ottenere la soluzione del problema.
Per semplicit´a noi consideriamo solo le funzioni continuamente
differenziabili.
Funzioni di penalit´a esatte II
L’idea delle funzioni di penalit´a esatte ´e quella di sostituire il
moltiplicatore µ, nella funzione lagrangiana aumentata, con una
funzione µ(x), continuamente differenziabile, e con la propriet´a
µ(x∗) = µ∗ cos´ı da avere una funzione che dipende solo da x
La(x, µ(x), ) = f (x) + µ(x) h(x) +
1
||h(x)||2
. (11)
Funzioni di penalit´a esatte III
Per identificare una formula opportuna per la funzione µ(x),
facciamo attenzione a:
f (x∗
) +
∂h(x∗)
∂x
µ∗
= 0 (12)
da cui, nell’ipotesi di validit´a della condizione di regolarit´a in x∗, si
ha che:
µ∗
= −
∂h(x∗)
∂x
∂h(x∗)
∂x
−1
∂h(x∗)
∂x
f (x∗
) (13)
l’uguaglianza sopra riportata consiglia di scegliere la funzione µ(x)
nel seguente modo:
µ(x) −
∂h(x)
∂x
∂h(x)
∂x
−1
∂h(x)
∂x
f (x) (14)
Funzioni di penalit´a esatte IV
´E possibile dimostrare che questa scelta di µ(x) effettivamente
fornisce una funzione di penalit´a esatta.
Questo metodo presenta principalmente due svantaggi al momento
della valutazione della funzione:
calcolare le derivate prime della funzione
invertire una matrice la cui dimensione ´e pari a quella dei
vincoli
Questi svantaggi limitano il suo campo di utilizzabilit´a.
Outline
Introduzione al problema
Metodi non vincolati
Funzioni di penalit´a sequenziali
Funzioni Lagrangiane aumentate sequenziali
Funzioni di penalit´a esatte
Funzioni Lagrangiane aumentate esatte
Metodi di programmazione quadratica ricorsiva
Vincoli di disuguaglianza
Vincoli di uguaglianza
Conclusioni
Funzioni Lagrangiane aumentate esatte I
Partendo dalla funzione lagrangiana aumentata descritta
precedentemente. Per cercare di aumentare la convessit´a della
funzione viene aggiunto un ulteriore termine di penalit´a
S(x, µ, ) f (x) + µ h(x) +
1
||h(x)||2
+
η
∂g(x)
∂x
xL(x, µ)
2 (15)
in cui l’ultimo addendo η > 0, rappresenta l’altro termine di
penalit´a sopra descritto.
Funzioni Lagrangiane aumentate esatte II
La funzione S(x, µ, ) risulta :
continuamente differenziabile rispetto a x e µ
→ 0 i relativi moltiplicatori possono essere messi in
corrispondenza con le coppie di valori (x, µ) che danno luogo
a minimi locali di S(x, µ, )
La ricerca delle soluzione locali del problema pu´o essere effettuata
rispetto a (x, µ).
Metodi di programmazione quadratica ricorsiva
I metodi di programmazione basati sulla trasformazione del
problema vincolato in una successione di problemi di
programmazione quadratica si distinguono in due classi:
RIQP (recursive inequality quadratic programming)
REQP (recursive equality quadratic programming)
Anche se simili, vengono studiati separatamente per sfruttare al
massimo le loro propriet´a.
Outline
Introduzione al problema
Metodi non vincolati
Funzioni di penalit´a sequenziali
Funzioni Lagrangiane aumentate sequenziali
Funzioni di penalit´a esatte
Funzioni Lagrangiane aumentate esatte
Metodi di programmazione quadratica ricorsiva
Vincoli di disuguaglianza
Vincoli di uguaglianza
Conclusioni
RIQP I
I problemi che ci presupponiamo di risolvere sono della seguente
forma:
min
x
f(x)
h(x) ≤ 0
(16)
RIQP II
Effettuando uno sviluppo in serie di Taylor della funzione L(x, µ∗)
nell’intorno di x∗, si ottiene troncando ai termini del secondo
ordine:
L(x, µ∗
) = f (x∗
) +
1
2
(x − x∗
) 2
xxL(x∗
, µ∗
)(x − x∗
) + . . . (17)
´e possibile verificare che il problema
min
x
f(x∗
) +
1
2
(x − x∗
) 2
xxL(x∗
, µ∗
)(x − x∗
)
∂h(x∗)
∂x
(x − x∗
) = 0
(18)
ha una soluzione in x∗.
RIQP III
Tuttavia il moltiplicatore associato alla soluzione risulta diverso da
µ∗. Per evitare questo problema bisogna aggiungere alla funzione
obbiettivo il seguente termine, ∂f (x∗)
∂x (x − x∗) e quindi avremo un
problema del seguente tipo:
min
x
f(x∗
) +
1
2
(x − x∗
) 2
xxL(x∗
, µ∗
)(x − x∗
) +
∂h(x∗)
∂x
(x − x∗
)
∂h(x∗)
∂x
(x − x∗
) = 0
(19)
che ha come soluzione x∗ e come moltiplicatore µ∗
RIQP IV
Questa osservazione suggerisce di considerare una successione di
sottoproblemi di programmazione quadratica del tipo
min
δ
1
2
δ 2
xxL(xk
, µk
)δ + f (xk
) δ + f (xk
)
∂h(xk)
∂x
δ = −h(xk
)
(20)
con k indica il numero di iterazione. Invece per quanto riguarda δ
lo definiamo nel seguente modo: δ = x − xk dove (xk, µk) sono le
stime delle soluzione all’iterazione k-esima.
´E possibile dimostrare che la successione di problemi converge alla
soluzione ottima.
RIQP V
Gli algoritmi RIQP presentano due caratteristiche:
non dipendono da coefficienti di penalit´a.
il numero di vincoli dei sottoproblemi da risolvere nei
sottoproblemi ´e sempre equivalente al numero di vincoli come
nel problema originale.
RIQP VI
Gli algoritmi RIQP, assicurano la convergenza solo se (x0, µ0) sono
abbastanza prossimi alla soluzione ottima.
´E possibile allargare la regione di convergenza combinando tale
algoritmo con algoritmi che godono di propriet´a di convergenza
globale.
Outline
Introduzione al problema
Metodi non vincolati
Funzioni di penalit´a sequenziali
Funzioni Lagrangiane aumentate sequenziali
Funzioni di penalit´a esatte
Funzioni Lagrangiane aumentate esatte
Metodi di programmazione quadratica ricorsiva
Vincoli di disuguaglianza
Vincoli di uguaglianza
Conclusioni
REQP I
I metodi REQP derivano dai metodi di penalit´a sequenziale
F(x, ) = f (x) +
1
||c(x)||2
, (21)
dove con c(x) si indica il vettore formato dai vincoli di uguaglianza
e dai vincoli di disuguaglianza non soddisfatti.
Le funzioni di penalit´a sequenziali soffrono di problemi
malcondizionamento.
L’obbiettivo dei problemi REQP ´e quello di eliminare il problema
del malcondizionamento, quindi creare una successione di problemi
ben condizionati.
REQP II
Indicando con xk la stima attuale della soluzione del problema.
La stima successiva ´e ottenuta minimizzando rispetto a δ, e con un
valore opportuno di , la funzione F(xk + δ, ).
Questa minimizzazione a sua volta pu´o essere effettuata in modo
approssimato determinando il valore di δ per cui uno sviluppo del
gradiente F(xk + δ, ) troncato ai termini del primo ordine si
annulla
F(xk
, ) + 2
F(xk
, )δ = 0 (22)
Tale equazione per piccoli valori di ´e afflitta dal
malcondizionamento ( 2F).
REQP III
Per risolvere il problema del malcondizionamento, bisogna
effettuare delle trasformazione del problema.
W (xk
, ) 2
f (xk
)
i=1
[ ci(xk
)]ci(xk
) (23)
Effettuando vari trasformazione ´e possibile arrivare ad un problema
che fornisce la soluzione al problema originale aggirando il
problema del malcondizionamento:
min
δ
1
2
δ W (xk
, )δ + f (xk
) δ
∂c(xk)
∂x
δ = −
2
u − c(xk
) ≤ 0
(24)
la cui soluzione, se W ´e definita positiva, esiste ed ´e unica.
REQP IV
´E possibile dimostrare la convergenza degli algoritmi REQP, ma
questa risulta molto articolata e quindi non verr´a trattata.
Il principale vantaggio degli algoritmi REQP rispetto agli algoritmi
RIQP ´e quello che nel sottoproblema quadratico ci possono essere
solo un sottoinsieme dei vincolo originali e questo permette
l’abbattimento del carico computazionale.
Conclusioni
Abbiamo descritto vari tipologie di approcci per risolvere problemi
di programmazione non lineare. Ogni metodo risulta essere pi´u
adatto in base alla specificit´a del problema o all’obbiettivo che si
vuole raggiungere.
Conclusioni
GRAZIE PER L’ATTENZIONE.

Mais conteúdo relacionado

Semelhante a Metodi per la soluzione di problemi di programmazione non lineare

Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016
Michele Scipioni
 
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
MatteoZarot
 
Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)
STELITANO
 

Semelhante a Metodi per la soluzione di problemi di programmazione non lineare (10)

Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016Kinetic_Modeling_02_12_2016
Kinetic_Modeling_02_12_2016
 
Minimax regret solution to linear programming problems with an interval obje...
Minimax regret solution to linear programming problems with  an interval obje...Minimax regret solution to linear programming problems with  an interval obje...
Minimax regret solution to linear programming problems with an interval obje...
 
Support Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempiSupport Vector Machines: concetti ed esempi
Support Vector Machines: concetti ed esempi
 
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
Extended Summary of “An Algorithm for Solving Multicriteron Linear Programmin...
 
Minimax regret solution to linear programming problems with an interval obje...
Minimax regret solution to linear programming problems with  an interval obje...Minimax regret solution to linear programming problems with  an interval obje...
Minimax regret solution to linear programming problems with an interval obje...
 
Sistemi
SistemiSistemi
Sistemi
 
Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)
 
Invarianza di un politopo
Invarianza di un politopoInvarianza di un politopo
Invarianza di un politopo
 
Algoritmi e complessità computazionale
Algoritmi e complessità computazionaleAlgoritmi e complessità computazionale
Algoritmi e complessità computazionale
 
Algoritmi di ordinamento
Algoritmi di ordinamentoAlgoritmi di ordinamento
Algoritmi di ordinamento
 

Mais de Luca Vitale

Mais de Luca Vitale (11)

Estimation of the Latent Signals for Consensus Across Multiple Ranked Lists u...
Estimation of the Latent Signals for Consensus Across Multiple Ranked Lists u...Estimation of the Latent Signals for Consensus Across Multiple Ranked Lists u...
Estimation of the Latent Signals for Consensus Across Multiple Ranked Lists u...
 
A pathway and SVM based tool for tumor classification
A pathway and SVM based tool for tumor classificationA pathway and SVM based tool for tumor classification
A pathway and SVM based tool for tumor classification
 
Pathway based OMICs data classification
Pathway based OMICs data classificationPathway based OMICs data classification
Pathway based OMICs data classification
 
JSON-LD
JSON-LDJSON-LD
JSON-LD
 
Shrinkage methods
Shrinkage methodsShrinkage methods
Shrinkage methods
 
Log structured-file-system
Log structured-file-systemLog structured-file-system
Log structured-file-system
 
Utilizzo dei Thread
Utilizzo dei ThreadUtilizzo dei Thread
Utilizzo dei Thread
 
S3
S3S3
S3
 
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbiClassificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
 
Linguaggi Context-Sensitive e Linear Bounded Automata
Linguaggi Context-Sensitive e Linear Bounded AutomataLinguaggi Context-Sensitive e Linear Bounded Automata
Linguaggi Context-Sensitive e Linear Bounded Automata
 
Soluzione numerica di equazioni differenziali a grandi dimensioni su GPUs
Soluzione numerica di equazioni differenziali a grandi dimensioni su GPUsSoluzione numerica di equazioni differenziali a grandi dimensioni su GPUs
Soluzione numerica di equazioni differenziali a grandi dimensioni su GPUs
 

Último

Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
lorenzodemidio01
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
lorenzodemidio01
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
giorgiadeascaniis59
 

Último (18)

Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.Vuoi girare il mondo? educazione civica.
Vuoi girare il mondo? educazione civica.
 
Scrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibileScrittura seo e scrittura accessibile
Scrittura seo e scrittura accessibile
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 
Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................Oppressi_oppressori.pptx................
Oppressi_oppressori.pptx................
 
Tosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptxTosone Christian_Steve Jobsaaaaaaaa.pptx
Tosone Christian_Steve Jobsaaaaaaaa.pptx
 
discorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptxdiscorso generale sulla fisica e le discipline.pptx
discorso generale sulla fisica e le discipline.pptx
 
LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................LE ALGHE.pptx ..........................
LE ALGHE.pptx ..........................
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Descrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptxDescrizione Piccolo teorema di Talete.pptx
Descrizione Piccolo teorema di Talete.pptx
 
descrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptxdescrizioni della antica civiltà dei sumeri.pptx
descrizioni della antica civiltà dei sumeri.pptx
 
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptxNicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
Nicola pisano aaaaaaaaaaaaaaaaaa(1).pptx
 
Aristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptxAristotele, vita e opere e fisica...pptx
Aristotele, vita e opere e fisica...pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptxScienza Potere Puntoaaaaaaaaaaaaaaa.pptx
Scienza Potere Puntoaaaaaaaaaaaaaaa.pptx
 
case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....case passive_GiorgiaDeAscaniis.pptx.....
case passive_GiorgiaDeAscaniis.pptx.....
 

Metodi per la soluzione di problemi di programmazione non lineare

  • 1. Metodi per la soluzione di problemi di programmazione non lineare Metodi vincolati Luca Vitale Dipartimento di Informatica Universit´a degli studi di Salerno
  • 2. Outline Introduzione al problema Metodi non vincolati Funzioni di penalit´a sequenziali Funzioni Lagrangiane aumentate sequenziali Funzioni di penalit´a esatte Funzioni Lagrangiane aumentate esatte Metodi di programmazione quadratica ricorsiva Vincoli di disuguaglianza Vincoli di uguaglianza Conclusioni
  • 3. Tipologie di problemi I problemi che affronteremo avranno la seguente forma: min x f(x) Rn → R h(x) = 0 Rn → Rp p ≤ n g(x) ≤ 0 Rn → Rm (1) O forme con solo vincoli di uguaglianza o vincoli di diseguaglianza.
  • 4. Condizioni di ottimalit´a Le condizioni di ottimalit´a che verrano sempre considerate soddisfatte sono le seguenti: Condizioni necessarie del primo ordine (KKT) Condizioni sufficienti del secondo ordine
  • 5. Condizioni necessarie del primo ordine Theorem (Condizioni necessarie del primo ordine) se x* e una soluzione locale del problema, e se in x* ´e soddisfatta la condizione di regolarit´a dei vincoli, esistono e sono unici i moltiplicatori µ*, λ* che insieme a x*, soddisfano le seguenti condizioni: xL(x∗ , µ∗ , λ∗ ) = 0 h(x∗ ) = 0 g(x∗ ) ≤ 0 λ∗ ≥ 0 λ∗ g(x∗ ) = 0 (2) Tali condizioni sono dette di Kuhn-Tucker.
  • 6. Condizioni sufficienti del secondo ordine Theorem (Condizioni sufficienti del secondo ordine) se x∗, λ∗, µ∗ soddisfano le condizioni del primo ordine; se x∗, λ∗ soddisfano le condizioni di stretta complementarit´a; se infine risulta che: y’ 2 xxL(x∗ , µ∗ , λ∗ )y > 0∀y = 0 : ∂h(x∗) ∂x ∂ga(x∗) ∂x y = 0 (3) allora x* ´e una soluzione locale stretta del problema.
  • 7. Problemi di programmazione non lineare I metodi per la soluzione di problemi di programmazione nonlineare su cui negli ultimi anni si ´e maggiormente concentrata l’attivit´a di ricerca si riconducono fondamentalmente a due categorie: metodi basati sulla trasformazione di un problema vincolato in un problema non vincolato o in una successione di problemi non vincolati. metodi basati sulla trasformazione del problema vincolato in una successione di problemi di programmazione quadratica.
  • 8. Outline Introduzione al problema Metodi non vincolati Funzioni di penalit´a sequenziali Funzioni Lagrangiane aumentate sequenziali Funzioni di penalit´a esatte Funzioni Lagrangiane aumentate esatte Metodi di programmazione quadratica ricorsiva Vincoli di disuguaglianza Vincoli di uguaglianza Conclusioni
  • 9. Funzioni di penalit´a sequenziali I Data una funzione f(x) che vogliamo minimizzare effettuiamo la minimizzazione tramite una nuova funziona F(x). Il primo passo ´e quello di definire una funzione q(x) nel seguente modo: q(x) = 0 se x ∈ X +∞, se x ∈ X (4) dove X ´e l’insieme della regione ammisibile. e si definisce la funziona F(x) nel seguente modo: F(x) f (x) + q(x) (5)
  • 10. Funzioni di penalit´a sequenziali II ´E immediato verificare che la soluzione di F(x) fornisce la soluzione al problema di f(x) ma presenta principalmente due problemi: l’applicazione di questo metodo solo a casi banali la discontinuit´a della funzione sulla frontiera di X Per risolvere questo problema ci presupponiamo di costruire una successione di funzioni che risultano continuamente differenziabili
  • 11. Funzioni di penalit´a sequenziali III Quindi definiremo una nuova funzione che sostituir´a q(x), che chiameremo p(x) e la definiremo nel seguente modo: p(x) = 0 se x ∈ X > 0, se x ∈ X (6) e definiremo la nuova F(x, ) F(x; ) f (x) + 1 p(x) > 0 (7) ´e evidente che quando → 0, F(x, ) → F(x) Il termine 1 p(x) viene detto termine di penalit´a.
  • 12. Funzioni di penalit´a sequenziali IV Data una successione k di valore di , strettamente decrescente e tale che k → 0 il metodo delle funzioni di penalit´a sequenziali consiste nel risolvere la successione di problemi non vincolati: min x F(x, k) (8) Per valori di che tendono a zero: si produce un malcondizionamento sulla matrice hessiana F(x, ) e quindi un rallentamento di convergenza
  • 13. Funzioni di penalit´a sequenziali V Quindi dato un punto iniziale x e una sequenza di k si effettuano una serie di minimizzazioni di F(xk, k+1) che restituisce il punto xk+1 nella aspettativa che xk sia una buona stima per xk+1, tuttavia questo ´e vero solo se k non differisce molto da k+1. Inoltre ´e possibile dimostrare che la velocit´a di convergenza dell’algoritmo dipende dalla velocit´a di convergenza della sequenza k. Questo metodo viene utilizzando quando non ´e richiesta molta precisione della soluzione del problema o del soddisfacimento dei vincoli. Anche per fornire una soluzione iniziale ad un altro problema.
  • 14. Outline Introduzione al problema Metodi non vincolati Funzioni di penalit´a sequenziali Funzioni Lagrangiane aumentate sequenziali Funzioni di penalit´a esatte Funzioni Lagrangiane aumentate esatte Metodi di programmazione quadratica ricorsiva Vincoli di disuguaglianza Vincoli di uguaglianza Conclusioni
  • 15. Funzioni Lagrangiane aumentate I Per semplicit´a consideriamo solo il problema con vincoli di uguaglianza. Definiamo la funzione Lagrangiana nel seguente modo: L(x, µ) f (x) + µ h(x), µ ∈ Rm ; (9) dove µ viene detto moltiplicatore lagrangiano. ´E possibile convessificare la funzione lagrangiana con l’aggiunta di un termine di penalit´a: La(x, µ, ) L(x, µ) + 1 ||h(x)||2 (10) che, per sufficientemente piccolo ma comunque tale che 1 sia finito, abbia, sotto opportune ipotesi, un minimo non vincolato in x∗. La(x, µ, ) viene chiamata funzione lagrangiana aumentata.
  • 16. Funzioni Lagrangiane aumentate II dato 1 > 0 e µ1 ∈ Rn; while k = 1,2 . . . do Partendo da xk-1 trova yk = La(xk, µk, k) if yk soddisfa KKT then poni xk = yk e STOP; else scegli k+1; scegli µk+1; poni xk = yk; end k=k+1 end
  • 17. Funzioni Lagrangiane aumentate III Nell’algoritmo prima descritto bisogna scegliere come aggiornare i parametri di e µ k di solito viene aggiornato tenendo conto dell’ammisibilit´a di xk µk viene aggiornato tramite la propriet´a della funzione duale
  • 18. Funzioni Lagrangiane aumentate IV Le funzioni Lagrangiani aumentate sequenziali presentano due principali vantaggi rispetto alle funzioni di penalit´a sequenziali: superano i problemi di malcondizionamento maggiore velocit´a di convergenza
  • 19. Outline Introduzione al problema Metodi non vincolati Funzioni di penalit´a sequenziali Funzioni Lagrangiane aumentate sequenziali Funzioni di penalit´a esatte Funzioni Lagrangiane aumentate esatte Metodi di programmazione quadratica ricorsiva Vincoli di disuguaglianza Vincoli di uguaglianza Conclusioni
  • 20. Funzioni di penalit´a esatte I Il termine esatto, denota il fatto che ´e richiesta una sola minimizzazione per ottenere la soluzione del problema. Per semplicit´a noi consideriamo solo le funzioni continuamente differenziabili.
  • 21. Funzioni di penalit´a esatte II L’idea delle funzioni di penalit´a esatte ´e quella di sostituire il moltiplicatore µ, nella funzione lagrangiana aumentata, con una funzione µ(x), continuamente differenziabile, e con la propriet´a µ(x∗) = µ∗ cos´ı da avere una funzione che dipende solo da x La(x, µ(x), ) = f (x) + µ(x) h(x) + 1 ||h(x)||2 . (11)
  • 22. Funzioni di penalit´a esatte III Per identificare una formula opportuna per la funzione µ(x), facciamo attenzione a: f (x∗ ) + ∂h(x∗) ∂x µ∗ = 0 (12) da cui, nell’ipotesi di validit´a della condizione di regolarit´a in x∗, si ha che: µ∗ = − ∂h(x∗) ∂x ∂h(x∗) ∂x −1 ∂h(x∗) ∂x f (x∗ ) (13) l’uguaglianza sopra riportata consiglia di scegliere la funzione µ(x) nel seguente modo: µ(x) − ∂h(x) ∂x ∂h(x) ∂x −1 ∂h(x) ∂x f (x) (14)
  • 23. Funzioni di penalit´a esatte IV ´E possibile dimostrare che questa scelta di µ(x) effettivamente fornisce una funzione di penalit´a esatta. Questo metodo presenta principalmente due svantaggi al momento della valutazione della funzione: calcolare le derivate prime della funzione invertire una matrice la cui dimensione ´e pari a quella dei vincoli Questi svantaggi limitano il suo campo di utilizzabilit´a.
  • 24. Outline Introduzione al problema Metodi non vincolati Funzioni di penalit´a sequenziali Funzioni Lagrangiane aumentate sequenziali Funzioni di penalit´a esatte Funzioni Lagrangiane aumentate esatte Metodi di programmazione quadratica ricorsiva Vincoli di disuguaglianza Vincoli di uguaglianza Conclusioni
  • 25. Funzioni Lagrangiane aumentate esatte I Partendo dalla funzione lagrangiana aumentata descritta precedentemente. Per cercare di aumentare la convessit´a della funzione viene aggiunto un ulteriore termine di penalit´a S(x, µ, ) f (x) + µ h(x) + 1 ||h(x)||2 + η ∂g(x) ∂x xL(x, µ) 2 (15) in cui l’ultimo addendo η > 0, rappresenta l’altro termine di penalit´a sopra descritto.
  • 26. Funzioni Lagrangiane aumentate esatte II La funzione S(x, µ, ) risulta : continuamente differenziabile rispetto a x e µ → 0 i relativi moltiplicatori possono essere messi in corrispondenza con le coppie di valori (x, µ) che danno luogo a minimi locali di S(x, µ, ) La ricerca delle soluzione locali del problema pu´o essere effettuata rispetto a (x, µ).
  • 27. Metodi di programmazione quadratica ricorsiva I metodi di programmazione basati sulla trasformazione del problema vincolato in una successione di problemi di programmazione quadratica si distinguono in due classi: RIQP (recursive inequality quadratic programming) REQP (recursive equality quadratic programming) Anche se simili, vengono studiati separatamente per sfruttare al massimo le loro propriet´a.
  • 28. Outline Introduzione al problema Metodi non vincolati Funzioni di penalit´a sequenziali Funzioni Lagrangiane aumentate sequenziali Funzioni di penalit´a esatte Funzioni Lagrangiane aumentate esatte Metodi di programmazione quadratica ricorsiva Vincoli di disuguaglianza Vincoli di uguaglianza Conclusioni
  • 29. RIQP I I problemi che ci presupponiamo di risolvere sono della seguente forma: min x f(x) h(x) ≤ 0 (16)
  • 30. RIQP II Effettuando uno sviluppo in serie di Taylor della funzione L(x, µ∗) nell’intorno di x∗, si ottiene troncando ai termini del secondo ordine: L(x, µ∗ ) = f (x∗ ) + 1 2 (x − x∗ ) 2 xxL(x∗ , µ∗ )(x − x∗ ) + . . . (17) ´e possibile verificare che il problema min x f(x∗ ) + 1 2 (x − x∗ ) 2 xxL(x∗ , µ∗ )(x − x∗ ) ∂h(x∗) ∂x (x − x∗ ) = 0 (18) ha una soluzione in x∗.
  • 31. RIQP III Tuttavia il moltiplicatore associato alla soluzione risulta diverso da µ∗. Per evitare questo problema bisogna aggiungere alla funzione obbiettivo il seguente termine, ∂f (x∗) ∂x (x − x∗) e quindi avremo un problema del seguente tipo: min x f(x∗ ) + 1 2 (x − x∗ ) 2 xxL(x∗ , µ∗ )(x − x∗ ) + ∂h(x∗) ∂x (x − x∗ ) ∂h(x∗) ∂x (x − x∗ ) = 0 (19) che ha come soluzione x∗ e come moltiplicatore µ∗
  • 32. RIQP IV Questa osservazione suggerisce di considerare una successione di sottoproblemi di programmazione quadratica del tipo min δ 1 2 δ 2 xxL(xk , µk )δ + f (xk ) δ + f (xk ) ∂h(xk) ∂x δ = −h(xk ) (20) con k indica il numero di iterazione. Invece per quanto riguarda δ lo definiamo nel seguente modo: δ = x − xk dove (xk, µk) sono le stime delle soluzione all’iterazione k-esima. ´E possibile dimostrare che la successione di problemi converge alla soluzione ottima.
  • 33. RIQP V Gli algoritmi RIQP presentano due caratteristiche: non dipendono da coefficienti di penalit´a. il numero di vincoli dei sottoproblemi da risolvere nei sottoproblemi ´e sempre equivalente al numero di vincoli come nel problema originale.
  • 34. RIQP VI Gli algoritmi RIQP, assicurano la convergenza solo se (x0, µ0) sono abbastanza prossimi alla soluzione ottima. ´E possibile allargare la regione di convergenza combinando tale algoritmo con algoritmi che godono di propriet´a di convergenza globale.
  • 35. Outline Introduzione al problema Metodi non vincolati Funzioni di penalit´a sequenziali Funzioni Lagrangiane aumentate sequenziali Funzioni di penalit´a esatte Funzioni Lagrangiane aumentate esatte Metodi di programmazione quadratica ricorsiva Vincoli di disuguaglianza Vincoli di uguaglianza Conclusioni
  • 36. REQP I I metodi REQP derivano dai metodi di penalit´a sequenziale F(x, ) = f (x) + 1 ||c(x)||2 , (21) dove con c(x) si indica il vettore formato dai vincoli di uguaglianza e dai vincoli di disuguaglianza non soddisfatti. Le funzioni di penalit´a sequenziali soffrono di problemi malcondizionamento. L’obbiettivo dei problemi REQP ´e quello di eliminare il problema del malcondizionamento, quindi creare una successione di problemi ben condizionati.
  • 37. REQP II Indicando con xk la stima attuale della soluzione del problema. La stima successiva ´e ottenuta minimizzando rispetto a δ, e con un valore opportuno di , la funzione F(xk + δ, ). Questa minimizzazione a sua volta pu´o essere effettuata in modo approssimato determinando il valore di δ per cui uno sviluppo del gradiente F(xk + δ, ) troncato ai termini del primo ordine si annulla F(xk , ) + 2 F(xk , )δ = 0 (22) Tale equazione per piccoli valori di ´e afflitta dal malcondizionamento ( 2F).
  • 38. REQP III Per risolvere il problema del malcondizionamento, bisogna effettuare delle trasformazione del problema. W (xk , ) 2 f (xk ) i=1 [ ci(xk )]ci(xk ) (23) Effettuando vari trasformazione ´e possibile arrivare ad un problema che fornisce la soluzione al problema originale aggirando il problema del malcondizionamento: min δ 1 2 δ W (xk , )δ + f (xk ) δ ∂c(xk) ∂x δ = − 2 u − c(xk ) ≤ 0 (24) la cui soluzione, se W ´e definita positiva, esiste ed ´e unica.
  • 39. REQP IV ´E possibile dimostrare la convergenza degli algoritmi REQP, ma questa risulta molto articolata e quindi non verr´a trattata. Il principale vantaggio degli algoritmi REQP rispetto agli algoritmi RIQP ´e quello che nel sottoproblema quadratico ci possono essere solo un sottoinsieme dei vincolo originali e questo permette l’abbattimento del carico computazionale.
  • 40. Conclusioni Abbiamo descritto vari tipologie di approcci per risolvere problemi di programmazione non lineare. Ogni metodo risulta essere pi´u adatto in base alla specificit´a del problema o all’obbiettivo che si vuole raggiungere.