Sujet 1: Introduction; Programmation Stochastique
MSE3313: Optimisation Stochastiqe
Andrew J. Miller
Derni`ere mise au jour: November 5, 2009
Dans ce sujet...
1 Introduction `a l’Optimisation Stochastique Motivations
Outils et approches diff´erentes
2 Programmation stochastique : mod`eles de recours
3 Formulation d´eterministe ´equivalente
4 Exemples illustratives
Exemple 1 : installation de capacit´e Exemple 2 : localisation des d´epˆots
1 Introduction `a l’Optimisation Stochastique Motivations
Outils et approches diff´erentes
2 Programmation stochastique : mod`eles de recours
3 Formulation d´eterministe ´equivalente
4 Exemples illustratives
Exemple 1 : installation de capacit´e Exemple 2 : localisation des d´epˆots
1 Introduction `a l’Optimisation Stochastique Motivations
Outils et approches diff´erentes
2 Programmation stochastique : mod`eles de recours
3 Formulation d´eterministe ´equivalente
4 Exemples illustratives
Exemple 1 : installation de capacit´e Exemple 2 : localisation des d´epˆots
Optimisation
Les outils de l’optimisation sont important parce qu’ils peuvent donner de l’aide indispensable aux proc´essus de d´ecision.
Optimisation d´ eterministe
On suppose qu’on a une connaissance exacte de tous les donn´ees. Par exemple, consid´erons la formulation classique d’une programme lin´eaire:
min cTx s.a. Ax =b
x ≥0
(b∈IRm,c∈IRn,A∈IRm×IRn, etx est le vecteur denvariables).
Souvent, cette supposition comprend uneconnaissance certainede l’avenir.
Cette supposition n’est ´evidemment pas r´ealiste. Mais parfois le mod`ele r´esultant s’approche ´a la r´ealit´e assez pour donner de l’aide efficace.
Mais pas toujours.
Exemple
Planification du r´eseau et localisation des d´epˆots capacit´es:
min X
i
fixi +X
i,k
cikzik +X
k
tkuk
soumis `a X
i
zik +uk ≥dk,∀k X
k
zik ≤Capixi,∀i
zik,∀i,k;uk ≥0,∀i,k;xi ∈ {0,1},∀i xi: la d´ecision de construire/ne pas construire un d´epˆot `a sitei. zik: quantit´e de transports du sitei au client k.
uk: quantit´e de transports d’urgence au clientk : `a utiliser
seulement si nous n’avons pas assez de capacit´e pour satisfaire `a la demande par des transports de nos usines.
Donn´ ees al´ eatoires ou inconnues
Il faut souvenir que les param`etres b,c, et Acontient souvent des approximations des donn´ees al´eatoires ou inconnues. Par exemple, parmi leurs ´el´ements peuvent ˆetre des suivants:
demandes des clients
capacit´es des usines ou de lignes de fabrication
characteristiques d´ependant sur le m´et´eo (montant de l’eau, dur´ee de trajet/vol, etc.)
revenues, prix, ou performances des invesstissements
1 Introduction `a l’Optimisation Stochastique Motivations
Outils et approches diff´erentes
2 Programmation stochastique : mod`eles de recours
3 Formulation d´eterministe ´equivalente
4 Exemples illustratives
Exemple 1 : installation de capacit´e Exemple 2 : localisation des d´epˆots
Programmation stochastique
En effet, c’est l’application de la programmation math´ematique aux probl`emes avec les donn´ees qui ne sont pas d´et´erministes, mais qui peuvent ˆetre d´ecrites par une distribution.
Cette approche implique
l’approximation des ´el´ements al´eatoires par des sc´enarios la classification des d´ecisions par ´etape (premier ou deuxi`eme) une application des outils dont vous avez d´ej`a une
connaissance (e.g., programmation lin´eaire, programation en nombres entiers, etc.)
Optimisation robuste
C’est une approche qui applicque les id´ees de la programmation math´ematique aux probl`emesnon-d´eterministes o`u on ne peutpas utiliserune distribution.
Le “cas pire limit´e”: on d´efinit une “ensemble d’incertitude avec bornes”; et on optimise sur le pire de ce qui peut arriver dans cet ensemble.
Programmation par contraintes probabilistes
Il faut satisfaire les contraintes avec une certaine probabilit´e p (par exemple,p = 0.95).
Plusieurs approches
Il faut satisfaire toutes les contraintes ensemble avec la probabilit´e p = 0.95.
Pour chaque contrainte, il faut le satisfaire avec la probabilit´e p = 0.95.
etc.
A utiliser lorsquel’on ne peut pas prendre des d´ecisions significativespour r´eagir aux ´el´ements al´eatoires.
Programmation dynamique stochastique
Une extension de l’outil classique de programmation dynamique, modifi´e pour consid´erer les cas les r´esultats des actions ne sont pas d´eterministesmais suivent une distribution.
L’´etat `a temps t d´epend sur
1 l’´etat `at+ 1;
2 l’action choisie `a t; et
3 une distribution d´efini pour les deux pr´ec´edents.
I.e., il s’agit d’unprocessus de d´ecision Markovien).
1 Introduction `a l’Optimisation Stochastique Motivations
Outils et approches diff´erentes
2 Programmation stochastique : mod`eles de recours
3 Formulation d´eterministe ´equivalente
4 Exemples illustratives
Exemple 1 : installation de capacit´e Exemple 2 : localisation des d´epˆots
Motivation et exemple : marchand de journaux
“newsvendor”)
Exemple tr`es classique.
E.g.,http://en.wikipedia.org/wiki/Newsvendor On peut d´efinir le probl`eme ainsi :
minx {Cx+Q(x)}
o`uC est le coˆut unitaire du marchand pour acheter un journal, et o`u Q(x) r´epr´esent le “coˆut” (= profit∗ −1) de ce qu’il peut faire apr`es avoir vu la demande.
La variablex repr´esent alors le nombre de journaux achet´es par le marchand.
SoitP le prix unitaire pour lequel le marchand peut vendre un journal (P>C). Le profit qu’il peut avoir d´epend de ce prix, mais il d´epend aussi de la demande des journaux.
Marchand de journaux (II)
Supposons par exemple que la demandeD est une variable al´eatoire qui pourrait prendre n’importe quelle valeur enti`ere entreDL etDU avec une probabilit´e uniforme. Autrement dit,
pj :=Prob(D=j) = 1
DU−DL+ 1,∀j∈[DL,DU].
Alors
Q(x) = −P
DU
X
j=DL
1
DU−DL+ 1min{j,x}
= − P
DU−DL+ 1
x
X
j=DL
j+
DU
X
j=x+1
x
= ...
Marchand de journaux (III)
A noter :
La “version d´eterministe” de ce prob`eme (c’est `a dire, le probl`eme o`u le marchand connait exactement la demande avant d’acheter des journaux) est triviale. Il faut acheter exactement la quantit´e demand´e.
Dans la version stochastique, le marchand doit acheter des journaux avant qu’il savent la demande. Cetted´ecision d’achat est un exemple de ce qu’on va appeler une d´ecision de premi`ere ´etape.
Ici, lerecoursqu’a le marchand par rapport `a la demande, c’est le nombre de journaux`a vendre.
Ici, lad´ecision de recoursde trivial : Il faut vendre tout ce qu’on peut.
Formulation g´ en´ erale
On veut pouvoir r´esoudre des probl`emes de ce genre qui sont plus grands et dont le recours est plus compliqu´e. Alors on commence par d´efinir la formulation g´en´erale :
minx cTx+Q(x) s.`a Ax=b,x∈X. On appelera ce probl`emeSP.
Ici, les variablesx rep´esententles d´ecisions qui doivent ˆetre prisesavant que l’incertitude est r´esolue.
On suppose alors que la matriceAsoit d´eterministe et connue.
La fonctionQ(x) repr´esent les d´ecisions qui peuvent ˆetre prisesapr`es l’incertitude est r´esolue.
Autrement dit, c’estla fonction de recours: l’´evaluation des d´ecisions qui peuvent ˆetre prises en r´eagissant `a la situation qui se pr´esent apr`es que les variables al´eatoires r´ealisent leurs valeurs.
Fonction de recours
Supposons qu’on peut d´ecrire les ´el´ements al´eatoires avec un vecteur de variables al´eatoiresξ.
On suppose que Ω indique l’ensemble des valeurs possibles pourξ. Les
´el´ements d’Ω sontles sc´enarios, et Ω estl’ensemble des sc´enarois.
Si Ω est fini, on poseJ =|Ω|et on peut d´efinir Ω ={ξ1, ..., ξJ}. Pour chaqueξj ∈Ω, on suppose aussi queξj arrivera avec probabilit´epj. On d´efinit ainsi la fonction de recours:
Q(x) =
J
X
j=1
pjQ(x, ξj).
o`u
Q(x, ξj) =
miny q(ξj)Ty
s.`a. W(ξj)y =h(ξj)−T(ξj)x y ∈Y.
pour chaqueξj ∈Ω et chaquex :Ax=b,x∈X. On appelle le probl`emeQ(x, ξj)le probl`eme de recours.
Fonction de recours
Siξ peut prendre n’importe quelle valeur d’un ensemble continu, on nomme cet ensemble Ωξ. Ωξ est alors infini et continu, alors la
distribution est aussi cotinue. Dans ce cas la distribution sera d´efinie par la fonction de densit´ep(ξ).
On d´efinit ainsi la fonction de recours:
Q(x) = Z
ξ∈Ωξ
Q(x, ξ)dp(ξ) o`u
Q(x, ξ0) =
miny q(ξ0)Ty
s.`a. W(ξ0)y =h(ξ0)−T(ξ0)x y∈Y.
pour chaqueξ0∈Ωξ et chaquex :Ax=b,x∈X.
Il a exactement la mˆeme interpretation que dans le cas o`u la distribution est discr`ete. La seule diff´erence, c’est qu’il y une infinitude de valeurs possible deξ.
Recours: d´ efinitions et diff´ erences...important!
Q(x) est lafonctionde recours : Il s’agit del’esp`erancede tout ce qui peut arriver apr`es la premi`ere ´etape, suppos´e que
la distribution de la vecteur al´eatorieξest connue;
les d´ecisions qui seront prises apr`es qu’on a vu la r´ealisation de ξserontoptimale pour cette valeur sp´ecifique de ξ.
Lafonction de recours n’est pas un probl`eme; c’est une fonction. La valeur de cette fonctions d´epend tout simplement de l’argument x.
Q(x, ξ) est le probl`eme de recours. C’est unprobl`eme d’optimisation. Pour le d´efinir, il faut pr´eciser avantla r´esolution du probl`eme
la solution de premier ´etapex
les valeurs sp´ecifiques prises par la variable al´eatoireξ.
La structure du prob` eme de recours
Les propri´et´es du probl`eme de recours sont d´etermin´ees par cinq
´el´ements:
Y: les borneset les sp´ecifications enti`eres (s’il y en a) sur les variables de recours
q(ξ): les coefficients de lafonctionne objectivede recours h(ξ): la partie de la cˆot´e droite du problˆeme de recours qui ne d´ependent passur les variables de premi`ere ´etape T(ξ): lescoefficientsdes variables de premi`ere ´etapedans les contraintesdu probl`eme du recours
W(ξ): lescoefficientsdesvariables de recoursdans les contraintes
Approximation de la fonction de recours
Si la distribution est continue et Q(x) =
Z
ξ∈Ωξ
Q(x, ξ)dp(ξ) le probl`emeSP
minx cTx+Q(x) s.a. Ax=b,x∈X.
devient effectivement trop difficile `a r´esoudre. Dans ce cas, on consid`ere une approximation de Ω qui est fini et dont la distribution est discr`ete.
On pourrait d´efinir cette distribution approch´ee des plusieurs mani`eres, dont
´
enchantillonage valeurs extr´emales
combinaisons des deux pr´ec´edents
Approximation de la fonction de recours
En effet, on remplace Ωξ avec un ensemble fini Ω, Ω⊆Ωξ. On suppose que Ω contientJ ´el´ements et que chaqueξj ∈Ω peut arriver avec probabilit´e pj.
L’approximation de la fonction de recours devient alors Q(x) =
J
X
j=1
pjQ(x, ξj),
c’est `a dire exactement la mˆeme expression qu’on utilise dans le cas o`u la distribution d’origine est discr`ete.
Mˆeme dans le cas oˆu on commence avec un ensemble Ω0 qui est fini mais trop grande, on peut toujours considerer un sous-ensemble Ω⊂Ω0 pour obtenir une relaxation qu’on peut esperer `a r´esoudre.
1 Introduction `a l’Optimisation Stochastique Motivations
Outils et approches diff´erentes
2 Programmation stochastique : mod`eles de recours
3 Formulation d´eterministe ´equivalente
4 Exemples illustratives
Exemple 1 : installation de capacit´e Exemple 2 : localisation des d´epˆots
Une formulation grande et unique
On peut rassembler toutes les d´efinitions faites ci-dessus dans une grande formulation:
min cTx+X
j
pj(q(ξj)Tyj) s.`a. Ax=b
T(ξj)x+W(ξj)yj =h(ξj),∀j x∈X; yj ∈Y,∀j
R´emarquons les suivants:
il y a une syst`eme de contraintes qui ne contientque les variables de premi`ere ´etape;
pour chaque sc´enarioil y a une syst`eme de contraintes qui relie les variables de deuxi`eme ´etapecorrespondantes `a cette sc´enario
les unes avec les autres, et/ou avec lesvariables de premi`ıere ´etape.
Structure de la matrice
min cTx +p1(q(ξ1)Ty1) +p2(q(ξ2)Ty2) +... +pJ(q(ξJ)TyJ)
s.`a. Ax =b
T(ξ1)x +W(ξ1)y1 =h(ξ1)
T(ξ2)x +W(ξ2)y2 =h(ξ2)
..
. . .. ...
T(ξJ)x +W(ξJ)yJ =h(ξJ)
x ∈X; y1∈Y, y2∈Y, ..., yJ ∈Y
R´emarqons
la structure de la matrice (dite “bloque-diagonale”);
que si on fixe les variablesx, on obtientJsous-probl`emes distinctes et s´epar´es.
Programmation math´ ematique
La formulation d´eterministe ´equivalente est la m´ethode la plus directe pour utiliser les outils de la programmation
math´ematique sur les programmes stochastique.
Notez que cette formulation sera impossible d´ecrire explicitement avec une distribution continue.
Cela n’est pas la seule m´ethode pour appliquer les outils de la programmation math´ematique.
Souvent, cela n’est pas la plus efficace non plus.
1 Introduction `a l’Optimisation Stochastique Motivations
Outils et approches diff´erentes
2 Programmation stochastique : mod`eles de recours
3 Formulation d´eterministe ´equivalente
4 Exemples illustratives
Exemple 1 : installation de capacit´e Exemple 2 : localisation des d´epˆots
1 Introduction `a l’Optimisation Stochastique Motivations
Outils et approches diff´erentes
2 Programmation stochastique : mod`eles de recours
3 Formulation d´eterministe ´equivalente
4 Exemples illustratives
Exemple 1 : installation de capacit´e Exemple 2 : localisation des d´epˆots
Installation de capacit´ e
On a un horizon deT p´eriodes.
Il faut r´epondre `a la demande pendant chaque p´eriode.
Il faut choisir un niveau de capacit´e qui nous permet de le faire.
Il y a des coˆuts unitaires suivants:
stock (ht,t = 1, ...,T) niveau de capacit´e (a) d’urgence (gt,t = 1, ...,T)
Installation de capacit´ e
Probl`eme d´eterministe
min ax +X
t
gtut+X
t
htst
s.`a xt+st−1−st+ut =dt,∀t zt ≤x,∀t
zt,st,ut ≥0,∀t On suppose ques0= 0.
Installation de capacit´ e
Un petit exemple num´erique
T = 3
d =
6 4 9
ht = 1,∀t a= 5 gt = 10,∀t
On peut v´erifier facilement que x∗ = 7 est la valeur optimale de la capacit´e.
Installation de capacit´ e : version plus r´ ealiste (stochastique):
Donn´ees al´eatoires : demande
On suppose que Pr(d1= 4) = 12,Pr(d1= 8) = 12, Pr(d2 = 2) = 12,Pr(d2= 6) = 12,Pr(d3= 6) = 12, Pr(d3 = 12) = 12.
On suppose aussi que les demandes des diff´erentes p´eriodes sont ind´ependantes l’un de l’autre.
C¸ a nous donne pour r´esultat 8 scenarios, chacun avec probabilit´e 18.
Premi`ere ´etape : niveau de capacit´e
Deuxi`eme ´etape : production/stock/urgence
Installation de capacit´ e : fonction de recours (stochastique)
Soit un vecteurdj de demande et un niveau de capacit´ex∗ choisi dans la premi`ere ´etape.
Q(x∗,dj) =
min P
tgtut+P
thtst
s.`a zt+st−1−st+ut =dtj,∀t zt≤x∗,∀t
zt,st,ut ≥0,∀t La fonction de recours devient
Q(x) =X
j
pjQ(x,dj)
Installation de capacit´ e : fonction de recours (stochastique)
Avec cette notation, le probl`eme stochastique devient
minx ax+Q(x) s.`a x≥0
Il vaut la peine de comparer bien la notation de cet exemple avec la formulation g´en´erale, repet´ee ici :
min
x cTx+Q(x)
s.a. Ax=b,x∈X.
Installation de capacit´ e (stochastique)
Remarquez bien que, si on remplacedj par son esp´erance, dans tous les scenarios, on aurala version d´eterministedu probl`eme qu’on a consid´er´e au d´ebut.
Est-ce qu’on aura la mˆeme choix optimale de capacit´e pour le probl`eme stochastique que son approximation d´eterministe?
On pourrait poser aussi la question suivante : Est-ce qu’on
´eviterait `a tout prix `a utiliser des commandes `a urgence, comme dans la version d´eterministe?
Comparaisons des mod` eles stochastique et d´ eterministe
Pour cette application, la valeur optimale dex pour
l’approximation d´eterministe d’origine est 7 (et la valeur optimale de l’approximation est 37).
La valeur deQ(7) est 12.5, et donc
a7+Q(7) = 35 + 13.5 = 48.5
Par contre, la valeur optimale deSPest8, etQ(8) = 4.5. Donc la valeur optimale deSPest
a8+Q(8) = 40 + 4.5 = 44.5.
Ce qu’on esp´erer gagner en utilisant le mod`ele stochastique est alors 48.5−44.5 = 4.
On va y revenir.
Formulation d´ eterministe ´ equivalente
Laformulation d´eterministe ´equivalente est celui qui est d´efini dans le fichier cap-stoch-8.mos et ensuite r´esolue par Xpress.
D’ailleurs, la commande “exportprob(...)” dans ce fichier ´ecrit cette formulation, en format d´etaill´e, dans le fichier cap-stoch-36.lp.
Installation de capacit´ e : une version stochastique plus d´ etaill´ ee
Considerez ce qui arrivera si on supposait que la demande arrivait en toujours en quantit´es pairs, et qu’on travaillait avec tous les scenarios possibles.
Il y aura 36 scenarios totales.
1 Introduction `a l’Optimisation Stochastique Motivations
Outils et approches diff´erentes
2 Programmation stochastique : mod`eles de recours
3 Formulation d´eterministe ´equivalente
4 Exemples illustratives
Exemple 1 : installation de capacit´e Exemple 2 : localisation des d´epˆots
Localisation des d´ epˆ ots : version d´ eterministe
Rappel:
min X
i
fixi +X
i,k
cikzik +X
k
tkuk
soumis `a X
i
zik +uk ≥dk,∀k X
k
zik ≤Capixi,∀i
zik,∀i,k;uk ≥0,∀i,k;xi ∈ {0,1},∀i
Localisation des d´ epˆ ots : demande stochastique
Dans nˆotre exemple, supposons que l’incertitude se montre dans la quantit´e de demande.
Les d´ecisions initiales sont les d´ecisions de construction:
min X
i
fixi+Q(x) xi ∈ {0,1},∀i
Si on peut d´efinir un ensemble deJ sc´enarios de demandes int´eressants, on peut d´efinir Ω ={d1, ...,dJ}, on peut approximer la fonction de recours
Q(x) =X
j
pjQ(x,dj) o`u
Q(x,dj) =
min P
i,kcikzik+P
ktkuk
s.`a. P
izik+uk ≥dkj,∀k P
kzik ≤Capixi,∀i zik,∀i,k;uk ≥0,∀k
Localisation des d´ epˆ ots: composants du probl` eme de recours
L’ensemble Y dans la formulation g´en´erale correspond aux bornes zikj ,ujk ≥0,∀i,k dans cette application.
Le vecteur q(ξj) dans la formulation g´en´erale correspond aux coefficientscik,∀i,k, et tk,∀k dans cette application.
Remarquons bien que ces coefficients sont les mˆemes pour toutes les sc´enarios.
La matrice T(ξj) dans la formulation g´en´erale correspond aux capacit´escapi,∀i dans cette application. Remarquons bien que ces coefficientssont les mˆemes pour toutes les sc´enarios.
Localisation des d´ epˆ ots: composants du probl` eme de recours
La matriceW(ξj) dans la formulation g´en´erale correspond aux coefficents des variables z etu dans les contraintes
X
i
zikj +ukj ≥djk,∀k X
k
zikj ≤Capixi,∀i
Remarquons bien que ces coefficients sont les mˆemes pour toutes les sc´enarios.
Pour chaque sc´enarioj, le vecteurh(ξj) correspond aux demandes djk,∀k. Remarquons bien queles demandes peuvent changer de l’un sc´enario `a l’autre; ¸ca veut dire que (dans cette application) c’est les demandes qui d´eterminent la
stochasticit´e du probl`eme.
Formulation d´ eterministe ´ equivalente
Voici le formulation d´eterministe ´equivalente pour exemple 2 :
min X
i
fixi+
J
X
j=1
pj(X
i,k
cikzikj +X
k
tkukj) soumis `a X
i
zikj +ukj ≥dkj,∀k,∀j X
k
zikj ≤Capixi,∀i,∀j
xi ∈ {0,1},∀i
zikj ≥0,∀i,k,∀j;ujk ≥0,∀k,∀j
A souvenir
Formulations des programes stochastiques et des probl`emes de recours
Formulation d´eterministe ´equivalente Applications