Sei sulla pagina 1di 39

Ricerca

 Opera*va  

Docente:  Liliana  Lo  Pres*  


Email:  liliana.lopres*@unipa.it  

Capitolo  1  del  libro  di  testo  +  ripasso  matema*ca  

28/09/2016  
Problemi  di  o?mizzazione  
min c(x)
x

gi (x) ≥ 0 i = 1,,m
h j (x) = 0 j = 1,, p
n
x ∈R In  generale,  questo  modello  descrive  un  problema  di  
programmazione  non  lineare  con  c,  g  ed  h  funzioni  di  x  

€ Le  domande  a  cui  vogliamo  rispondere  oggi  sono:  


• Tu?  I  problemi  di  o?mizzazione  hanno  una  soluzione?  
• Possiamo  caraJerizzare  questa  soluzione?  
€ • Che  informazioni  sulla  funzione  (e  sui  vincoli)  ci  aiutano  a  
caraJerizzare  e  a  trovare  una  soluzione  al  problema?  
Problema  di  O?mizzazione  
•  Un’istanza  di  un  problema  di  o?mizzazione  è  una  terna  
(F,  c,  >po)  con  F  deJo  insieme  di  ammissibilità  e  c  una  
funzione  obie?vo  (costo/profiJo/ricavo…),  >po  è  max  o  
min  
c : F →R
•  Dato  (F,  c,  min),  vogliamo  trovare  
f ∈ F : c( f ) ≤ c(y)∀y ∈ F

•  In  pra*ca,  sono  I  vincoli  a  definire  F  (oltre  al  dominio  
della  funzione).  


Nozione  di  Intorno  
•  La  funzione  intorno  N(  .  )  è  un  mapping  da  F  all’insieme  
potenza  P  di  F  (l’insieme  dei  soJoinsiemi  di  F.  P(F)  ha  
cardinalità  2|F|)  
N : F →P(F)
•  Nello  spazio  Euclideo  possiamo  considerare  come  intorni  delle  
ipersfere  definendo  una  norma  Euclidea  (norma  2  della  
differenza  ovvero  distanza  Euclidea)  massima  e>0  

N e (x) = {y : y ∈ F,|| x − y ||≤ e}


O?mi  Locali  e  Globali  
•  Dato  un  problema  (F,  c,  min)  ed  un  intorno  N,  una  
soluzione  f  in  F  si  dice  localmente  oDma  in  N  se    

c( f ) ≤ c(y)∀y ∈ N( f )


O?mi  Locali  e  Globali  
•  Dato  un  problema  (F,  c,  min),  una  soluzione  f  
in  F  si  dice  globalmente  oDma  (oDma  su  F)  

c( f ) ≤ c(y)∀y ∈ F


Curve  di  livello  
 Una  curva  di  livello  di  una  funzione  c(f)  associata  al  valore  k  è  il  luogo  dei  
pun*    
         
       {f  in  F:  c(f)  =  k}  

 La  curva  di  livello  associata  un  minimo  globale  streJo  è  un  punto  

Slide  del  Prof.  Pesen*  


Slide  del  Prof.  Pesen*  
Funzioni  con*nue  e  differenziabili  
 Data  una  funzione  c:F  →ℜ,  F  ⊆  ℜ  n    

•  c  è  con>nua  in  f0  ∈  F  se    


lim c( f ) = c( f 0 )
f → f0

•  c  è  differenziabile  in  f0  ∈  F  se  esiste  un  veJore  a  ∈  ℜ  n  


c( f ) − c( f 0 ) − aT ( f − f 0 )
lim
€ =0
f → f0 || f − f 0 ||

 In  pra*ca  se  una  funzione  è  con*nua  ovunque  non  presenta  “sal*”  o  
“buchi”;  s€ e  una  funzione  è  differenziabile  in  f0  allora  è  approssimabile  
localmente  con  il  piano  c(f0)  +  aT⋅(f  -­‐  f0)    tangente  a  c(f)  in  f0.  

 Teorema:  se  c  differenziabile  in  f0,  allora  a  =  ∇c(f0).  

Slide  del  Prof.  Pesen*  


Funzione  Differenziabile  e  Piano  tangente  

Slide  del  Prof.  Pesen*  


Gradiente  
 Il  gradiente  di  una  funzione  c  differenziabile  in  un  punto  f  è  il  veJore  

   ∇c  (f)  =  [∂c  (f)  /  ∂f1,  ∂c  (f)  /  ∂f2,  ...,  ∂c  (f)  /  ∂fn]  T  

Proprietà  
•  La  direzione  di  ∇c  (f)  corrisponde  a  quella  per  cui  la  derivata  direzionale  è  
massima,  |∇c  (f)|  è  il  valore  della  derivata  direzionale.    

•  Se  ∇c  (f)  non  è  nullo,  allora  è  perpendicolare  alle  curve  di  livello  di  c  (f)  in  f.  
•  I  pun*  f  tali  che  ∇c  (f)=0  sono  de?  stazionari.    

•  Un  punto  stazionario  è  un  massimo,  un  minimo  o  un  punto  di  flesso.  

Slide  adaJata  da  quelle  del    Prof.  Pesen*  


Slide  del    Prof.  Pesen*  
O?mizzazione  non  vincolata  -­‐  Es.:  discesa  lungo  il  gradiente  

•  Quindi  il  gradiente  ci  permeJe  di  capire  se  una  data  
direzione  ci  avvicina  a/allontana  da  un  punto  di  
minimo  
Partendo  da  una  ipotesi  iniziale  x0  
Scelgo  la  direzione  decrescente  del  gradiente  

x n +1 = x n − λ∇f (x n )
A  convergenza,  raggiungo  un  minimo  locale  

Difficoltà:    
€ • Scelta  di  x0  
• Scelta  di  lambda  
• Calcolo  del  gradiente  
Immagine  da  Wikipedia  
Slide  del    Prof.  Pesen*  
O?mi  Locali  e  Globali  
•  Siamo  interessa*  a  trovare  gli  o?mi  globali  (in  
genere  ci  si  focalizza  sui  problemi  di  minimo),  ma  
mol*  metodi  assicurano  la  convergenza  solo  ad  
o?mi  locali  (cioè  in  un  certo  intorno)  

•  Quello  che  vorremmo  sapere  è  se  un  oDmo  locale  è  


anche  un  oDmo  globale  

•  Quando  un  o?mo  locale  in  N  è  anche  un  o?mo  


globale,  l’intorno  N  viene  deJo  intorno  esaKo  
Esistono  problemi  per  cui  ogni  oDmo  
locale  è  anche  un  oDmo  globale?  

•  SI    Problemi  di  Programmazione  convessa!  


Insiemi  Convessi  
•  Da*  x  e  y  in  Rn,  una  combinazione  convessa  è  
ogni  punto  
z = λx + (1 − λ)y λ ∈ R 0 ≤ λ ≤1
Z  è  un  segmento  


Insiemi  Convessi  
•  Da*  x  e  y  in  Rn,  una  combinazione  convessa  è  
ogni  punto  
z = λx + (1 − λ)y λ ∈ R 0 ≤ λ ≤1

•  Un  insieme  S  si  dice  convesso  se  con*ene  tuJe  le  


combinazioni  convesse  dei  pun*  al  suo  interno  

Insiemi  Convessi  
•  Da*  gli  insiemi  convessi  Si,  l’intersezione  di  
insiemi  convessi  I(Si)  è  un  insieme  convesso  
Insiemi  Convessi  
•  Da*  gli  insiemi  convessi  Si,  l’intersezione  di  
insiemi  convessi  I(Si)  è  un  insieme  convesso  
•  Dimostrazione:  
•  Consideriamo  due  pun*  nell’intersezione  degli  insiemi  
convessi  I(Si),  allora  saranno  presen*  in  tu?  gli  insiemi  
convessi  Si.    
•  Poiché  gli  insiemi  Si  sono  convessi,  contengono  tuJe  le  
combinazioni  convesse  dei  due  pun*  
•  Quindi  tali  combinazioni  saranno  presen*  anche  in  I(Si),  
quindi  I(Si)  è  convesso  

Rn  è  convesso  
Funzione  Convessa  
•  Sia  S  un  insieme  convesso,  la  funzione  
c : S →R

Si  dice  convessa  in  S  se,  ogni  x  e  y  in  S  

c( λx + (1€− λ)y) ≤ λc(x) + (1 − λ)c(y)


λ ∈ R,0 ≤ λ ≤ 1


Funzione  Convessa  
•  Sia  S  un  insieme  convesso,  la  funzione  
c : S →R

Si  dice  convessa  in  S  se,  ogni  x  e  y  in  S  

c( λx + (1€− λ)y) ≤ λc(x) + (1 − λ)c(y)


λ ∈ R,0 ≤ λ ≤ 1

€ Ogni  funzione  lineare  è  convessa  


Funzione  Convessa  
•  Lemma:  Sia  c  una  funzione  convessa  su  S.  Per  ogni  t,  l’insieme  

St = {x ∈ S : c(x) ≤ t} (St ⊆ S)
•  È  un  insieme  convesso.    

€ €
Funzione  Convessa  
•  Lemma:  Sia  c  una  funzione  convessa  su  S.  Per  ogni  t,  l’insieme  

St = {x ∈ S : c(x) ≤ t} (St ⊆ S)
•  È  un  insieme  convesso.  Dimostrazione:  
•  Siano  x  e  y  in  St,  essendo  anche  in  S  dove  c  è  convessa  si  ha:  

€ c( λx + (1 − λ)y) ≤ λ€
c(x) + (1 − λ)c(y)
≤ λt + (1 − λ)t
≤t
•  Cioè  la  combinazione  convessa  di  x  e  y  è  in  St  quindi  St    è  
convesso  

Funzione  Concava  
•  Una  funzione  f  si  dice  concava  se  (–f)  è  
convessa  

•  Una  funzione  lineare  è  sia  concava  che  


convessa  
Lemmi  
•  I  due  risulta*  preceden*  ci  servono  nella  prossima  slide:  
•  Lemma:  Sia  c  una  funzione  convessa  su  S.  Per  ogni  t,  
l’insieme  
St = {x ∈ S : c(x) ≤ t}
•  È  un  insieme  convesso.  

•  Teorema:  
€ Da*  gli  insiemi  convessi  Si,  l’intersezione  di  
insiemi  convessi  I(Si)  è  un  insieme  convesso  
Modellazione  di  un  insieme  convesso  
Un  insieme  di  diseguaglianze  

gi (x) ≥ 0 i = 1,,m
con  gi  funzioni  concave,  definisce  un  insieme  F  convesso  

€ €
Modellazione  di  un  insieme  convesso  
Un  insieme  di  diseguaglianze  

gi (x) ≥ 0 i = 1,,m
Con  gi  funzioni  concave  definisce  un  insieme  F  convesso  
Dimostrazione:  


Le  funzioni  –gi  sono  convesse.  Quindi,  per  il  lemma  precedente,  per  ogni  i,  S0  è  

convesso  
n n
S0 = {x ∈ R : −gi (x) ≤ 0} = {x ∈ R : gi (x) ≥ 0}


Modellazione  di  un  insieme  convesso  
Un  insieme  di  diseguaglianze  

gi (x) ≥ 0 i = 1,,m
Con  gi  funzioni  concave  definisce  un  insieme  F  convesso  
Dimostrazione:  


Le  funzioni  –gi  sono  convesse.  Quindi,  per  il  lemma  precedente,  S0  è  convesso  

n n
S0 = {x ∈ R : −gi (x) ≤ 0} = {x ∈ R : gi (x) ≥ 0}

E,  come  già  dimostrato  prima,  l’intersezione  di  insiemi  convessi  è  un  insieme  
convesso  


O?malità  globale  delle  funzioni  
convesse  su  insiemi  convessi  
•  Teorema:  
 Dato  il  problema  (F,  c,  min)  con  F  in  Rn  insieme  convesso  e  c  
funzione  convessa,  allora  l’intorno  Ne  definito  aJraverso  la  
distanza  Euclidea  di  seguito,  è  esaKo  ogni  e>0  

N e (x) = {y : y ∈ F,|| x − y ||≤ e}

•  TradoKo:  ogni  minimo  locale  è  anche  un  minimo  



globale!  
O?malità  globale  delle  funzioni  
convesse  su  insiemi  convessi  
•  Dimostrazione:  
Sia  x  un  o?mo  locale  rispeJo  ad  Ne  per  e>0  
Sia  y  in  F  ma  non  necessariamente  in  Ne(x)  
Posso  scegliere  un  valore  di  lambda  vicino  a  1  in  modo  che  la  
combinazione  convessa  z  di  x  e  y  appartenga  ad  Ne  

z = λx + (1 − λ)y z ∈ Ne 0 < λ <1


Ne   x  
y  
z  

O?malità  globale  delle  funzioni  
convesse  su  insiemi  convessi  
•  Poichè  la  funzione  c  è  per  ipotesi  convessa,  

c(z) = c( λx + (1 − λ )y) ≤ λc(x) + (1 − λ )c(y)


O?malità  globale  delle  funzioni  
convesse  su  insiemi  convessi  
•  Poichè  la  funzione  c  è  per  ipotesi  convessa,  

c(z) = c( λx + (1 − λ )y) ≤ λc(x) + (1 − λ )c(y)

•  Riarrangiando  I  termini  
c(z) − λc(x)
€ c(y) ≥
1− λ


O?malità  globale  delle  funzioni  
convesse  su  insiemi  convessi  
•  Poichè  la  funzione  c  è  per  ipotesi  convessa,  

c(z) = c( λx + (1 − λ )y) ≤ λc(x) + (1 − λ )c(y)

•  Riarrangiando  I  termini  
c(z) − λc(x) Inoltre:  
€ c(y) ≥ c(z) ≥ c(x)
1− λ (x  è  o?mo  locale  e  z  è  in  N(x))  



O?malità  globale  delle  funzioni  
convesse  su  insiemi  convessi  
•  Poichè  la  funzione  c  è  per  ipotesi  convessa,  

c(z) = c( λx + (1 − λ )y) ≤ λc(x) + (1 − λ )c(y)

•  Riarrangiando  I  termini  
c(z) − λc(x) Inoltre:  
€ c(y) ≥ c(z) ≥ c(x)
1− λ (x  è  o?mo  locale  e  z  è  in  N(x))  

Quindi  x  è  oDmo  globale  (non  avevo  


c(x) − λc(x) ipotesi  su  y  a  parte  y  in  F)  
c(y) ≥ = c(x)

€ 1− λ Per  questo  teorema  essere  valido  devo  
avere:  c  convessa,  F  convessa  
Problemi  di  Programmazione  convessa  
•  Un  problema  di  o?mizzazione  (F,  c,  min)    in  cui  c  è  una  
funzione  convessa  e  {gi}  è  un  insieme  di  funzioni  concave  si  
chiama  problema  di  programmazione  convessa      

c(x)  è  convessa   min c(x)


x
L’intersezione  di  ques*  
soJospazi  è  F  ed  è  un   gi (x) ≥ 0 i = 1,,m
insieme  convesso  
x ∈ Rn
Ogni  o?mo  locale  rispeJo  
ad  un  intorno  Euclideo  è   €
anche  un  o?mo  globale  


Programmazione  convessa  
In  sintesi:  

Se    
•   f  è  convessa,  
min f (x) •   gi  sono  concave,  
x
• hj  sono  lineari  (e  quindi  anche  concave)  
gi (x) ≥ 0 i = 1,,m
Ho  un  problema  di  programmazione  convessa.  
h j (x) = 0 j = 1,, p L’insieme  di  ammissibilità  è  definito  dai  vincoli  ed  è  
un  insieme  convesso.  
n SoJo  queste  ipotesi,  ogni  o?mo  locale  (in  F)  è  anche  
x ∈R un  o?mo  globale.  

€ In  genere  si  risolve  con  metodi  di  discesa  lungo  il  


gradiente  che,  soJo  le  suddeJe  ipotesi,  forniscono  un  
o?mo  globale.  
Programmazione  Lineare  
Un  caso  par*colare  della  programmazione  convessa  è  il  seguente:  

min f (x) In  cui:    


x •   f  è  lineare,  
•   gi  sono  lineari,  
gi (x) ≥ 0 i = 1,,m •   hj  sono  lineari  
h j (x) = 0 j = 1,, p Ho  un  problema  di  programmazione  lineare.    
n
x ∈R Poichè  tale  problema  è  anche  un  problema  di  
programmazione  convessa,  ogni  punto  di  o?mo  
€ locale  in  F  è  un  punto  di  o?mo  globale  

La  soluzione  di  ques*  problemi  è  più  semplice  perchè  


si  riduce  ad  un  problema  di  *po  combinatorio  in  cui  
scelgo  la  soluzione  tra  un  insieme  finito  di  alterna*ve  
Tassonomia  

Nonlinear  Programs  

Difficile  
Difficile   Facile  
Convex   Linear   Integer  Linear   Non  Linear    
Programs   Programs   Programs   Integer    
Programs  

“Facile”  o  “difficile”  intesi  come  complessità  computazionale  (>me  complexity)