Verificare la definizione di convessità richiede di controllare ogni coppia di punti, ed è scomodo con molte variabili. Servono criteri che si applicano alla funzione data. Servono anche per decidere se un insieme definito da vincoli è convesso.
Sia S un insieme convesso. Una funzione f è convessa su S se per ogni x,y∈S e λ∈[0,1]
È strettamente convessa se la disuguaglianza è stretta per x=y e λ∈(0,1). La definizione non usa derivate, quindi vale anche per funzioni non differenziabili.
Criterio del primo ordine
Se f è di classe C1 su un aperto che contiene S, allora f è convessa su S se e solo se per ogni x,y∈S
f(y)≥f(x)+∇f(x)⊤(y−x)
Il grafico sta sopra il piano tangente in ogni punto. La stretta convessità equivale alla disuguaglianza stretta per x=y.
Il criterio è un risultato teorico. Con cento variabili, seni e coseni, controllarlo per ogni coppia di punti non è praticabile. Servirà più avanti.
Criterio della matrice Hessiana
Se S è aperto e convesso e f è di classe C2 su S, esiste la matrice Hessiana ∇2f(x) e vale un criterio algebrico, qui senza dimostrazione: f è convessa su S se e solo se ∇2f(x) è semidefinita positiva in ogni x∈S.
L'Hessiana è simmetrica, quindi ha autovalori reali. Essere semidefinita positiva equivale ad avere tutti gli autovalori maggiori o uguali a zero, quindi basta studiare il segno degli autovalori. Per la concavità i segni si invertono: l'Hessiana deve essere semidefinita negativa.
Funzioni lineari e quadratiche
Per f(x)=c⊤x il gradiente è costante e l'Hessiana è nulla:
∇f(x)=c∇2f(x)=0n×n∇f(x)=c∇2f(x)=0n×n
La matrice nulla è semidefinita sia positiva sia negativa, quindi una funzione lineare è convessa e concava. Lo stesso segue dalla definizione, dove vale l'uguaglianza.
Per una funzione quadratica, con Q simmetrica, c∈Rn e b∈R,
L'Hessiana è Q in ogni punto. Quindi f è convessa se e solo se Q è semidefinita positiva, ed è concava se e solo se Q è semidefinita negativa.
Né convessa né concava, dieci variabili. Serve una Q indefinita, con autovalori positivi e negativi. Gli autovalori si leggono subito solo su una matrice diagonale, quindi si prende
Q=diag(1,−1,0,…,0)
di dimensione 10×10, con c e b qualsiasi. Gli autovalori sono 1, −1 e otto volte 0.
Minimi quadrati
Sia A∈Rm×n qualsiasi e b∈Rm. La funzione ha Hessiana A⊤A:
Per ogni v∈Rn vale v⊤A⊤Av=∥Av∥22≥0, quindi A⊤A è semidefinita positiva. La funzione è convessa per ogni scelta di A e b.
Condizione sufficiente di stretta convessità
Con f di classe C2 su un aperto che contiene S convesso, se ∇2f(x) è definita positiva per ogni x∈S, allora f è strettamente convessa su S. Per la convessità semplice il criterio è un se e solo se; per la stretta convessità vale solo questa implicazione.
Dimostrazione. Siano x=y in S. Per il teorema di Taylor esiste z=x+θ(y−x), con θ∈(0,1), tale che
Poiché S è convesso, z∈S, e quindi ∇2f(z) è definita positiva. Il vettore y−x non è nullo, perciò il termine quadratico è positivo. Per ogni x=y in S segue
f(y)>f(x)+∇f(x)⊤(y−x)
Questa è la forma stretta del criterio del primo ordine, quindi f è strettamente convessa. ■
La condizione non è necessaria. Si prende f(x)=x4, di una variabile, dove l'Hessiana è la derivata seconda:
f′(x)=4x3,f′′(x)=12x2
Vale f′′(x)≥0 ovunque e f′′(0)=0: l'Hessiana è semidefinita positiva ma non definita positiva. Eppure f è strettamente convessa, perché per x=y
Il primo fattore è positivo perché x=y. Il secondo si annulla solo per x=y=0, caso escluso. Quindi vale la forma stretta del criterio del primo ordine.
Curvatura nulla, ma strettamente convessa
f(x)=x4 e la tangente
tangenzax
f(x)
tangente in a
La derivata seconda
f′′(a)x
f′′(x)
La tangente sta sotto il grafico e lo tocca solo nel punto di tangenza, anche in a=0, dove la derivata seconda si annulla.
Per le funzioni quadratiche, invece, la condizione è anche necessaria: f è strettamente convessa se e solo se Q è definita positiva.
Convessa ma non strettamente, cinque variabili. Una funzione quadratica non lineare con Q semidefinita positiva e non definita positiva:
f(x)=21x⊤Qx+c⊤x,Q=diag(1,0,1,1,1)
Gli autovalori sono non negativi e uno è nullo, quindi f è convessa ma non strettamente convessa. Il termine lineare non cambia l'Hessiana.
Il ruolo degli autovalori si vede guardando f(x)=21x⊤Qx lungo i due assi, con Q=diag(q1,q2):
Con q1=1 e q2=−1, come nell'esercizio a dieci variabili, una parabola è rivolta verso l'alto e l'altra verso il basso.
f lungo i due assi
x1 o x2
lungo x1
lungo x2
Ogni autovalore dà la curvatura lungo il proprio asse. Con segni opposti la funzione non è né convessa né concava; con un autovalore nullo è piatta lungo quell'asse.
Insiemi definiti da una disuguaglianza
Gli insiemi dei problemi reali sono dati da equazioni e disequazioni, i vincoli. La convessità si decide dalla forma dei vincoli, senza cercare segmenti. Il caso più semplice è un solo vincolo g(x)≤0, con g:Rn→R.
Se g è convessa, l'insieme S={x∈Rn:g(x)≤0} è convesso. Non serve che g sia differenziabile. Siano x,y∈S, cioè g(x)≤0 e g(y)≤0. Per λ∈[0,1] la convessità di g dà
L'Hessiana è semidefinita positiva, quindi g è convessa e S={x:g(x)≤0} è convesso.
Più vincoli di disuguaglianza
Sia S={x:gi(x)≤0,i=1,…,N}, con ogni gi convessa. Ogni insieme Si={x:gi(x)≤0} è convesso per il risultato precedente. Un punto sta in S se soddisfa tutti i vincoli insieme, quindi
S=i=1⋂NSi
e S è convesso, perché l'intersezione di insiemi convessi è convessa.
Il verso del vincolo conta: il risultato vale per gi(x)≤0. Un vincolo scritto con ≥ si riporta a ≤ cambiando segno alla funzione, e poi si controlla che la funzione ottenuta sia convessa.
Vincoli di uguaglianza
Per S={x∈Rn:H(x)=0} la convessità di H non basta. Si prende, in R2 con coordinate (x,y), H(x,y)=x2−y:
∇H(x,y)=(2x−1)∇2H(x,y)=(2000)
L'Hessiana ha autovalori 2 e 0, quindi è semidefinita positiva e H è convessa. Ma l'insieme H(x,y)=0 è il grafico della parabola y=x2, e il segmento fra due suoi punti non resta sulla parabola. Con H(x,y)≤0, invece, l'insieme è la regione sopra la parabola, ed è convesso.
Stessa funzione, disuguaglianza e uguaglianza
H(x,y)≤0: convesso
P1P2xy
H(x,y)≤0
segmento
H(x,y)=0: non convesso
P1P2xy
H(x,y)=0
segmento
Con H(x,y)≤0 il segmento fra due punti resta nell'insieme. Con H(x,y)=0 l'insieme è solo la parabola e il segmento ne esce.
Un vincolo lineare di uguaglianza Ajx−bj=0, con Aj matrice e bj vettore, fa eccezione: l'insieme delle soluzioni è un iperpiano, o un'intersezione di iperpiani, quindi è convesso. Sia Tj l'insieme delle soluzioni del j-esimo vincolo, per j=1,…,t. Se i vincoli di disuguaglianza sono gi(x)≤0 con gi convesse, e quelli di uguaglianza sono lineari, l'insieme ammissibile è
S=i=1⋂NSi∩j=1⋂tTj
ed è convesso, come intersezione di insiemi convessi.
I vincoli lineari, di uguaglianza o di disuguaglianza e in qualunque verso, danno sempre insiemi convessi: una funzione lineare è convessa e concava, quindi cambiarle segno per passare da ≥ a ≤ la lascia convessa. Un vincolo non lineare va invece scritto come g(x)≤0, e si studia la convessità di g.
Il problema generale
Ogni problema di ottimizzazione ha la stessa forma: il minimo, o il massimo, di una funzione f su un insieme S:
x∈Sminf(x),x∈Smaxf(x)
La convessità dell'insieme e quella della funzione, studiate qui, sono le proprietà che permettono di trattare problemi con moltissimi dati.