Recent status in Hypernuclear Physics E. Hiyama (Nara Women’s Univ.)
D emysti er l’optimisation math ematique · A. Marsden, UCSD/ J. Feinstein, C. Taylor, Stanford...
Transcript of D emysti er l’optimisation math ematique · A. Marsden, UCSD/ J. Feinstein, C. Taylor, Stanford...
Introduction Applications Optimisation Modelisation Outils Pratique References
Demystifier l’optimisation mathematiqueConnaıtre ses possibilites et ses limites
minx∈Ω
f(x)
Atelier pratique
Sebastien Le Digabel, Polytechnique Montreal
13 fevrier 2019
Atelier pratique: Demystifier l’optimisation 1/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Plan
Introduction
Exemples d’applications
L’optimisation mathematique
Modelisation
Les outils : Algorithmes et solveurs
Partie pratique
References
Atelier pratique: Demystifier l’optimisation 2/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Introduction
Exemples d’applications
L’optimisation mathematique
Modelisation
Les outils : Algorithmes et solveurs
Partie pratique
References
Atelier pratique: Demystifier l’optimisation 3/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Resume
L’optimisation mathematique est omnipresente et potentiellement utilisable dans tousles domaines de la gestion. Cet atelier vise a vulgariser les principes de l’optimisation eta mieux comprendre les differents types de problemes et les algorithmes appropriespour les traiter. Apprenez a manier des solveurs d’optimisation et decouvrez lesdifferents domaines de l’optimisation.
Atelier pratique: Demystifier l’optimisation 4/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Objectifs de l’atelier
I Savoir appliquer les principaux outils de la recherche operationnelle.
I Modeliser des problemes d’optimisation provenant des sciences de l’ingenieur etchoisir les principales methodes pour les resoudre.
I Reconnaıtre les problemes pour lesquels la recherche operationnelle pourrait sereveler un instrument d’aide a la decision.
I Utiliser les notions theoriques dans des applications pratiques.
Atelier pratique: Demystifier l’optimisation 5/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Pourquoi participer ?
I Pour appliquer l’optimisation sur des problemes simples au moyen de Excel etson solveur integre.
I Decouvrir des outils en lignes permettant de modeliser et de resoudre desproblemes.
Atelier pratique: Demystifier l’optimisation 6/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Introduction
Exemples d’applications
L’optimisation mathematique
Modelisation
Les outils : Algorithmes et solveurs
Partie pratique
References
Atelier pratique: Demystifier l’optimisation 7/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Liste non exhaustive de problemes et applicationsI Optimisation combinatoire (theorie des graphes et optimisation en nombres
entiers) :I Coloration de graphes.I Routage.I Satisfaisabilite.I Classification.I Horaires.I etc.
I Optimisation non lineaire : Genie chimique, genie industriel, genie mecanique,estimation de parametres, apprentissage machine, etc.
I Optimisation lineaire : Applications dans quasiment tous les domaines (transport,energie, planification, production, distribution, telecommunications, finance, etc.)
Atelier pratique: Demystifier l’optimisation 8/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Problemes celebres de la theorie des graphesI Probleme des ponts de Konigsberg (18eme siecle) : peut-on imaginer une
promenade dans la ville en empruntant chacun de ses 7 ponts une fois et une seulepour revenir a son point de depart ?
I Probleme du plus court chemin (algorithme de Dijkstra), probleme du flotmaximal, probleme de la coupe maximale, probleme de couplage.
I Probleme du voyageur de commerce (TSP) : NP-difficile ; ne peut etre resoluqu’avec des heuristiques, pour des tailles modestes.
I Coloration des sommets ou des aretes d’un graphe.
I Theoreme des quatre couleurs.
Atelier pratique: Demystifier l’optimisation 9/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Voyageur de commerce (TSP)
Un voyageur de commerce doit visiter un certain nombre de villes, et chaque ville uneet une seule fois. Etant donne des distances entre chaque paire de villes, il doitminimiser la distance totale parcourue.
Atelier pratique: Demystifier l’optimisation 10/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Optimisation des hyper-parametres (HPO)I Projet de doctorat de Dounia Lakhmiri (Polytechnique) en optimisation de
boıtes-noires.
I On considere la HPO des reseaux de neurones profonds.
I Nos avantages :I Probleme de type “boıte-noire” :
Un appel de boıte-noire = Un entraınement + Une validation, pour un ensemble donne d’hyper-parametres.
I Presence de variables de categorie (ex. : nombre de couches, fonction d’activation).
I Les methodes existantes sont principalement des heuristiques(grid search, random search, GAs, GPs, etc.)
I Resultats sur MNIST :I Random search : 94.0%I RBFOpt [Diaz et al., 2017] : 95.7%I HYPERNOMAD : 95.4% (sans var. de categorie), 97.5% (avec)
Atelier pratique: Demystifier l’optimisation 11/94
Introduction Applications Optimisation Modelisation Outils Pratique References
CIFAR-10 (1/2)
I 5× n1 + n2 + 10 variables :I 2 variables de categorie : n1 (nombre de couches de convolution) et
n2 (nombre de couches completement connectees).I Type de l’optimiseur, 4 HPs lies a l’optimiseur (exemple : learning
rate, momentum, weight decay, dampening), dropout rate, fonctiond’activation, taille de batch, nombre d’epochs.
I Pour chaque couche : n output, kernel size, stride, padding,pooling et output size.
I Entraınement sur 50,000 images, validation sur 10,000 images.
I Une evaluation (entraınement+test) ' 2 heures(CPU : i7-6700 @ 3.4 GHz, GPU : Nvidia GeForce GTX 1070).
I Meilleure solution a date : 96.58%.
Atelier pratique: Demystifier l’optimisation 12/94
Introduction Applications Optimisation Modelisation Outils Pratique References
CIFAR-10 (2/2) : Comparaison avec Hyperopt
0 20 40 60 80 100number of evaluations
80
70
60
50
40
30
20
10
obje
ctiv
e
CIFAR-10 with HYPERNOMAD
all valid evaluationssuccesses
0 20 40 60 80 100number of evaluations
20
18
16
14
12
10
obje
ctiv
e
CIFAR-10 with TPE from Hyperopt
all valid evaluationssuccesses
Atelier pratique: Demystifier l’optimisation 13/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Autres exemples d’optimisation de boıtes-noiresBoeing Airbus Hydro-Quebec
FUNDING ($K)—Show all funding contributing to this project FY05 FY06 FY07 FY08 FY09
AFOSR Funds ExxonMobil 25 25 Boeing 50 50 NOA PMEL CRSNG 10 10 10 10 10 CRIAQ 15 15
STUDENTS, RESEARCH PROFESSIONAL Gilles Couture - Full time research professional, Walid Zghal - PhD student Sébastien Le Digabel - PhD Student
APPROACH/TECHNICAL CHALLENGES • To combine tools from the theory of non-smooth analysis with
practical algorithms to solve applied optimization problems.
ACCOMPLISHMENTS/RESULTS
• Algorithm used and tested by industrial partners • Our MADS algorithm is now part of MATLAB’s GADS library. • Novel convergence analysis based on non-smooth analysis
calculus: Clarke derivatives and hypertangent cones. TRANSITIONS • NOA PMEL Optimal tsunami detection buoy location. • ExxonMobil - Well trajectories. GM – Drivetrain design • Boeing – Numerous applications on 777, 787, 747E. • Stanford – Design of surgeries for pediatric heart defects
Long-Term PAYOFF: A surrogate management framework for industrial-strength optimization problems, using surrogates of unknown accuracy, but backed by sound theoretical analysis. OBJECTIVES
• Design, analysis, and implementation of optimization tools to aid in making and documenting decisions involving trading off multiple objectives for mixed variable constrained problems without global smoothness assumptions.
Helicopter rotor tilt design at Boeing
New Meta Algorithms for Engineering DesignUsing Surrogate Functions Rice University, John E. Dennis; Polytechnique, Charles Audet;
AFIT, Mark Abramson
14 13 12 11 10
9 8
0.25 Overlap to D
iameter ratio
21 ’ Cabin Length
Gross Weight (lbs)
0.10 0.15 0.20 0.25 0.30 Rotor Overlap to Diameter Ratio
36.5 39.8 43.1
46.4 49.6 56.1 52.9 59.4
92000 90750
89500 88250
87710
Cabin Length (ft)
Infeasible Region
0.25 Overlap to D
iameter ratio
21 ’ Cabin Length
0.25 Overlap to D
iameter ratio
21 ’ Cabin Length
Gross Weight (lbs)
0.10 0.15 0.20 0.25 0.30 Rotor Overlap to Diameter Ratio
Rotor D
isk Loading, psf
36.5 39.8 43.1
46.4 49.6 56.1 52.9 59.4
92000 90750
89500 88250
87710
Cabin Length (ft)
Infeasible Region
© A
IRB
US
S.A
.S. A
ll rig
hts
rese
rved
. Con
fiden
tial a
nd p
ropr
ieta
ry d
ocum
ent.
Multi-Objective Clean Take Off Flight Paths. Computation of Optimal Take Off-Begin of Climb Aircraft Trajectories
in order to Minimize the Environmental Impact of Civil Aircraft.
Objective: Environmental Impact • Perceived Noise on Ground for each particular airport. • Local Air Quality: min NOx at low altitudes. • Global Warming: min CO2 during all the trajectory.
Constraints Regulation: verify safety conditions. Operations:
• Pilot / Airline Habits. • Air Traffic Management. • Aircraft Systems.
Constrained Non linear, Multi-Objective Optimization Problem
Variables Flight path following a Noise Abatement Departure Procedure Schema.
Optimization Techniques Multi-Objective Optimization:
• First Approach: weight sum method-method • Future Actions: dynamic mono-objective reformulation method, BI-MADS
Mono-Objective Optimization: • Simulated Annealing: global optima found, high computation costs. • Mesh Adaptive Direct Search: global optima found, computation costs significantly reduced (200% reduction)
Common Mission Point
Distance
Acceleration Thrust
Cutback
Enroute Configuration Most Economic
Climb and Cruise
R. Torres and J. Chaptal (Airbus France) J.B. Hiriart-Urruty and C. Bes (Université Toulouse III)
Example of Flight Path
Snow water equivalent estimation using blackbox optimization.
Context: • Snow monitoring is of crucial importance for managing hydroelectric stations. • Hydroelectric energy stabilizes market prices in north-eastern U.S. Nonsmooth optimization problem • Blackbox objective: minimize snow water equivalent estimation error.
Obtained by Kriging interpolation. • Variables:
2D positions of monitoring devices. Tests on 5-10 devices
• Constraints: Highly fragmented domains (see Fig. A) Vast regions - 10,000 mi 2 to 35,000 mi 2.
Fig. A – Highly fragmented domain Feasible domain represended by the dark pixels.
Optimization Techniques Surrogate functions (Fig B.): Mesh Adaptive Direct Search:
Development of new grouping strategies Strategy to handle the fragmented domain.
4% - 7% Error reduction on all 18 real test cases.
C. Audet, V. Béchard, S. Le Digabel (École Polytechnique) S.Alarie, L.-A. Leclaire (Hydro Québec)
Fig. B – Surrogate functions
Material design Biological markers Fontan surgery
1 DISTRIBUTION STATEMENT A – Unclassified, Unlimited Distribution
Recent Transition: Mesh Adaptive Direct Search for materials design
Audet, Le Digabel (Polytechnique Montréal) and Gheribi (CRTC)
The MADS algorithm, based on (Clarke) generalized derivatives, improved mechanical, corrosion and texture properties of AZ91alloy: • Low density; • Resistant to aging; • Improved electrical and thermal
conductivity;
• Non-smooth constrained bi-objective optimization problem.
• Publications on theory (optimization journals) and on applications (thermodynamics journals).
Optimal Alloy
0.5 1.0 1.5 2.0 2.5 3.0 3.5
100
120
140
160
180
200
220
240
260
280
300
Acceptable Pareto front
1.2 %
Free
zing r
ange
(Tliq
uidu
s-Tso
lidus
) ( oC
)
Wt.% Al11Ce3 in HCP matrix
Acceptable freezing range
Collaborators USA
Columbia University
Columbia Genome Center
Na4onal Center for Biotechnology Informa4on
Na4onal Ins4tutes of Health Na4onal Library of Medicine Finland
Na4onal Ins4tute for Health and Welfare,
University of Helsinki
Nonsmooth Blackbox Op4miza4on C. Audet (PI) Polytechnique Montréal S. Le Digabel (CoPI)
Recent Transi4on: Mesh Adap4ve Direct Search in Bioinforma4cs
PSEUDOMARKER is a soRware package that analyzes large samples of genomic data to localize regions associated with predisposi4on for disease or other character.
The use of NOMAD has reduced the overall computa4onal op4miza4on 4me by half. VA SAB 01 1
OPTIMIZATION AND SURGICAL PLANNING IN PEDIATRIC CARDIOLOGY
A. Marsden, UCSD/ J. Feinstein, C. Taylor, Stanford Univ./ J.E. Dennis, Rice Univ./ C. Audet, U. Montreal
Proposed y-graft design Y-graft Fontan Modification
Original Y-graft
Example: Minimize energy loss in idealized offset Fontan design
d = offset Optimal solution
Huge variation in efficiency among Fontan patients
• Fontan surgery treats children with severe congenital heart defects
– Post-surgery, patients suffer from exercise intolerance, heart failure, arrhythmias, …
• Optimize for energy efficiency, wall shear stress, flow distribution
• Need multiobjective (rest/exercise), constraints, geometry parameterization
Atelier pratique: Demystifier l’optimisation 14/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Introduction
Exemples d’applications
L’optimisation mathematique
Modelisation
Les outils : Algorithmes et solveurs
Partie pratique
References
Atelier pratique: Demystifier l’optimisation 15/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Termes importants de l’atelierI Recherche operationnelle (RO) : Ensemble de techniques mathematiques
appliquees a la modelisation, l’optimisation et l’analyse d’un processus.
I Modelisation.
I OptimisationI Continue.I Lineaire.I Non lineaire.I En nombres entiers.
I Theorie des GraphesI Cheminements optimaux.I Flots.I Problemes de transport.
Atelier pratique: Demystifier l’optimisation 16/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Probleme d’optimisation
L’optimisation est un domaine qui etudie les problemes de la forme
minx∈Xf(x) : x ∈ Ω
ou
I X est un ensemble de dimension n : Les variables d’optimisation.
I Ω ⊆ X est l’ensemble des solutions realisables : Les contraintes.
I La fonction objectif f prend ses valeurs sur X .
Atelier pratique: Demystifier l’optimisation 17/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Modele d’optimisation
I Pour un probleme donne, l’expression de f , X et Ω permet d’obtenir un modeled’optimisation.
I Optimisation continue (lineaire et non lineaire) : X = Rn.
I Optimisation combinatoire : X est un ensemble discret, comme en optimisationen nombres entiers : X = Zn ou Nn ou 0, 1n.
I En theorie des graphes, il n’est pas forcement necessaire d’exprimer un modeled’optimisation. On se sert directement d’un graphe pour representer le probleme.
Atelier pratique: Demystifier l’optimisation 18/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Modele d’optimisation (continue) non lineairemin
x∈X=Rnf(x)
s.c.
g1(x) ≤ 0g2(x) ≤ 0. . .gm(x) ≤ 0` ≤ x ≤ u
I f : Rn → R differentiable : Fonction objectif.
I gi(x) ≤ 0, i ∈ 1, 2, . . . ,m : Contraintes.
I gi : Rn → R differentiable, i ∈ 1, 2, . . . ,m : Membres de gauche des contraintes.
I `, u ∈ Rn : Bornes sur les variables x. Peuvent etre ±∞.
I Ω = x ∈ Rn : gi(x) ≤ 0 ∀i ∈ 1, 2, . . . ,m, ` ≤ x ≤ u.
Atelier pratique: Demystifier l’optimisation 19/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Modele d’optimisation lineaire (forme standard)
maxx∈Rn
f(x) =n∑j=1
cjxj
s.c.
n∑j=1
aijxj ≤ bi i ∈ 1, 2, . . . ,m
xj ≥ 0 j ∈ 1, 2, . . . , n
Peut etre exprime de facon matricielle :
maxx∈Rn
f(x) = c>x
s.c.
Ax ≤ bx ≥ 0
avec c ∈ Rn (couts), b ∈ Rm (membres de droite), et A ∈ Rm×n.
Atelier pratique: Demystifier l’optimisation 20/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Notes
I Fonction objectif (pas objective).
I Optimisation et pas programmation.
I min et max sont equivalents.
I Contraintes egalite (=) et contraintes inegalite (≤ et ≥). On peut transformer desegalites en inegalites et vice-versa.
Atelier pratique: Demystifier l’optimisation 21/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Optimisation combinatoire
L’optimisation en nombres entiers et la theorie des graphes sont de l’optimisationcombinatoire.
I En theorie, une solution optimale peut etre obtenue en enumerant toutes lessolutions realisables et en conservant la meilleure. En pratique, ce procede est troplong.
I Pour les problemes faciles, une resolution exacte en un temps court estenvisageable.
I Un grand nombre de problemes sont difficiles. Des solutions exactes sontenvisageables, mais dans un delai acceptable, on se contentera de solutionsapprochees obtenues par des methodes heuristiques.
Atelier pratique: Demystifier l’optimisation 22/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Definition d’un grapheI Un graphe est constitue d’un ensemble de noeuds ou sommets relies entre eux par
des liens appeles :I aretes dans le cas des graphes non-orientes,I ou arcs dans le cas des graphes orientes.
I Deux sommets relies sont appeles adjacents.
I Des poids peuvent etre associes aux aretes (arcs). Ces poids peuvent etre descouts, des distances, une conductivite, etc.
I Un graphe est note G = (V,E) avec V l’ensemble des sommets et E l’ensembledes aretes (arcs).
I La theorie des graphes est le domaine des mathematiques qui etudie les graphes.
Atelier pratique: Demystifier l’optimisation 23/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Representation d’un graphe
Un graphe se represente graphiquement de la facon suivante :
Graphe oriente Graphe non-oriente(pris de Wikipedia)
Atelier pratique: Demystifier l’optimisation 24/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Romans de graphes...
Atelier pratique: Demystifier l’optimisation 25/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Termes importants
I Optimum local vs global.
I Solution exacte vs heuristique.
I En optimisation lineaire, on aura un optimum global.
I En non lineaire, la plupart du temps, un optimum local, et si le probleme estconvexe, on aura un optimum global.
I En combinatoire, on aura soit une solution exacte (=un optimum global) ou unesolution heuristique. Un optimum local depend d’un voisinage.
Atelier pratique: Demystifier l’optimisation 26/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Autres grandes classes de problemesI Optimisation convexe : Toutes les fonctions constituant le probleme sont
convexes. Tout optimum local sera global.
I Optimisation semi-definie positive : Contraintes impliquant des matricessemi-definies positives.
I Optimisation sans derivees : Les derivees d’une partie ou de toutes les fonctionsne sont pas accessibles.
I Optimisation de boıtes-noires : Les derivees d’une partie ou de toutes les fonctionsn’existent pas.
I Optimisation multiobjectifs, multi-niveaux, stochastique, robuste, etc.
I Si une partie des variables est discrete : Optimisation mixte.
I Si toutes les variables sont discretes : Optimisation en nombres-entiers.
Atelier pratique: Demystifier l’optimisation 27/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Schema global
Atelier pratique: Demystifier l’optimisation 28/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Introduction
Exemples d’applications
L’optimisation mathematique
Modelisation
Les outils : Algorithmes et solveurs
Partie pratique
References
Atelier pratique: Demystifier l’optimisation 29/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Modele mathematique
minx∈Ω
f(x)
I Variables : x. Un vecteur avec des composantes continues ou discretes.Representent les decisions.
I Objectif : f(x). A minimiser ou maximiser.
I Contraintes : Definissent l’ensemble Ω, sous la forme ci(x) ≤ 0, aveci = 1, 2, . . . ,m.I Le sens peut etre ≤, ≥, ou =.I Le membre de droite peut etre une autre constante que 0.
I Parametres : Constantes dependant du probleme.
Atelier pratique: Demystifier l’optimisation 30/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Exemple : Oak Products
I [Weatherford, 1997].
I La compagnie Oak Products fabrique 6 types de chaises a partir de 11composantes.
I Chaque semaine on regarde l’inventaire des composantes et on etablit le plan deproduction.
I Chaque type de chaise induit un profit unitaire.
I Combien doit on produire de chaises de chaque type ?
Atelier pratique: Demystifier l’optimisation 31/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Oak Products : Variables et objectif
I Une variable de decision par type de chaise : x = (C,M,H,L,K,Q), avec :I C : nombre de chaises Captain produites.I M (Mate).I H (American High).I L (American Low).I K (Spanish King).I Q (Spanish Queen).
I Profit : Fonction objectif a maximiser :
f(x) = 36C + 40M + 45H + 38L+ 35K + 25Q
Atelier pratique: Demystifier l’optimisation 32/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Oak Products : Contraintes
I Une condition contrainte d’inventaire a respecter pour chacune des composantes(contraintes ≤) :I Nombre de grandes chevilles : c1(x) = 8C + 12H + 8K + 4Q ≤ 1280.I Nombre de petites chevilles : c2(x) = 4C + 12M + 12L+ 4K + 8Q ≤ 1900.I . . .I Nombre de dossiers type Spanish : c11(x) = K +Q ≤ 85.
I Finalement, il y a des imperatifs de production a respecter : il faut produire desnombres positifs de chaises (contraintes ≥) : C ≥ 0, M ≥ 0, H ≥ 0, . . ., Q ≥ 0.
Atelier pratique: Demystifier l’optimisation 33/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Oak Products : Modele
maxC,M,H,L,K,Q
36C + 40M + 45H + 38L+ 35K + 25Q
s.c.
8C + 12H + 8K + 4Q ≤ 12804C + 12M + 12L+ 4K + 8Q ≤ 19004C + 4M + 4H + 4L+ 4K + 4Q ≤ 1090C +K +Q ≤ 190M +H + L ≤ 170. . .K +Q ≤ 85C,M,H,L,K,Q ≥ 0
Atelier pratique: Demystifier l’optimisation 34/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Probleme du sac a dos
maxx1,x2,...,xn
n∑i=1
uixi
s.c.
n∑i=1
wixi ≤W
x ∈ 0, 1n
I Chaque variable correspond a un objet que l’on prend ou pas dans le sac.
I ui > 0 : Utilite de l’objet i ; wi > 0 : Poids de l’objet i.
I W : Capacite du sac (telle que W <∑n
i=1wi).
I On suppose que les objets sont ordonnes selon les ratios ui/wi decroissants :u1w1≥ u2
w2≥ . . . ≥ un
wn.
I Probleme NP-complet.
Atelier pratique: Demystifier l’optimisation 35/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Probleme du pooling [Audet et al., 2004]
I Probleme de l’industrie petroliere qui consiste a melanger des produits selonplusieurs niveaux de reservoirs tout en creant des produit possedant certainesqualites.
I Probleme bilineaire non convexe.
I Deux facon de modeliser : flow et proportion.
I Resolution exacte avec l’algorithme RLT et heuristique avec les heuristiques ALTet VNS.
Atelier pratique: Demystifier l’optimisation 36/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Pooling : Exemple d’instance (graphe)
F1
F2
F3
P1
P2
B1
B2
B3
x21
y11x31 y21
x12
y12
y22
y13
y23
x23
PPPPPPPPPPPPPPPq
HHHHHHj
JJJJJJJJJ
-
1
PPPPPPqHHH
HHHHHHH -
7
>
*
*
PPPPPPPq
@@@@@@@R
1
HHHHH
HHj
Atelier pratique: Demystifier l’optimisation 37/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Pooling : Exemple d’instance (donnees)
Feed Price Supply Pool capacity Blend Price Demand Arc ×102bblDM/bbl ×102bbl ×102bbl DM/bbl min ×102bbl max
F1 49.2 60.9756 P1 12.5 B1 190 5 x12 7.5F2 62.0 161.29 P2 17.5 B2 230 5 x31 7.5F3 300.0 5 B3 150 5
Attribute Minimum MaximumFeed DEN BNZ ROZ MOZ Blend DEN ROZ MOZ DEN BNZF1 .82 3 99.2 90.5 B1 .74 95 85 .79 -F2 .62 0 87.9 83.5 B2 .74 96 88 .79 .9F3 .75 0 114 98.7 B3 .74 91 - .79 -
Atelier pratique: Demystifier l’optimisation 38/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Pooling : NotationsFeeds Fi reservoirs initiaux (brut)Pools Pj reservoirs intermediairesBlends Bk reservoirs finaux (melanges)
nF , nP , nB , nA nombre de feeds, pools, blends et de qualitesX ensemble d’indices (i, k) : arc entre Fi et BkW ensemble d’indices (i, j) : arc entre Fi et PjY ensemble d’indices (j, k) :arc entre Pj et Bk
pFi , pBk prix du feed i et blend k
`Fi , uFi bornes sur la capacite du feed i
`Bk , uBk bornes sur la demande du blend k
`FBik , uFB
ik bornes sur la capacite de l’arc (i, k) ∈ X`Pj , u
Pj bornes sur la capacite du pool j
`FPij , uFP
ij bornes sur la capacite de l’arc (i, j) ∈ W`PBjk , uPB
jk bornes sur la capacite de l’arc (j, k) ∈ Ysai qualite de l’attribut a au feed i
`ak, uak bornes sur la qualite de l’attribut a au blend k
Atelier pratique: Demystifier l’optimisation 39/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Pooling : Variables de flot
xik flot de Fi a Bk le long de l’arc (i, k) ∈ Xwij flot de Fi a Pj le long de l’arc (i, j) ∈Wyjk flot de Pj a Bk le long de l’arc (j, k) ∈ Y
Atelier pratique: Demystifier l’optimisation 40/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Pooling : Formulation “Flow”
Atelier pratique: Demystifier l’optimisation 41/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Introduction
Exemples d’applications
L’optimisation mathematique
Modelisation
Les outils : Algorithmes et solveurs
Partie pratique
References
Atelier pratique: Demystifier l’optimisation 42/94
Introduction Applications Optimisation Modelisation Outils Pratique References
AlgorithmeUn algorithme est la description d’une sequences d’instructions a entreprendre afin deresoudre un probleme. Par exemple :
Atelier pratique: Demystifier l’optimisation 43/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Algorithme pour l’optimisation de boıtes-noires
Algorithm
f(blackbox)
x1,x2,...f(x1),f(x2),...
x0 x*
Cas sans contraintes, avec une solution initiale x0.
Atelier pratique: Demystifier l’optimisation 44/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Optimisation non lineaire sans contraintes : Methode du gradientPour la minimisation d’une fonction f : Rn → R sans contraintes.
[0] InitialisationPoint de depart : x0 ∈ Rnk ← 1
[1] Iteration kCalculer dk = −∇f(xk) (dir. de descente)Si (dk = 0) : Stop (point critique)Trouver αk ∈ arg min
α≥0h(α) = f(xk + αdk)
xk+1 ← xk + αkdk
k ← k + 1Aller en [1]
Atelier pratique: Demystifier l’optimisation 45/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Methode du gradient : Illustration
Atelier pratique: Demystifier l’optimisation 46/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Il faut choisir un algorithme selon les exigences sur la qualite de la solution et le tempsde calcul. Ces objectifs sont souvent contradictoires.I Algorithmes exacts : garantissent une solution optimale globale mais peuvent etre
tres longs si le probleme est difficile.I Separation et evaluation (branch and bound) pour les nombres entiers.I Le simplexe et les points interieurs pour le lineaire.I Programmation dynamique.
I Algorithmes locaux : garantissent une solution locale.I Methodes de descente.I Gradient / Newton pour le non lineaire.
I Metaheuristiques : tres peu de garanties sur la qualite de la solution, maisconvergent rapidement.I Algorithme glouton.I Recherche tabou, a voisinages variables (VNS).I Algorithmes genetiques.
La plupart des metaheuristiques sont utilisees en combinatoire.
Atelier pratique: Demystifier l’optimisation 47/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Solveurs : Options
I Solveurs deja disponibles :
I Solveur integre a Excel.
I Langages de modelisation (AMPL, GAMS, etc.)
I En langage de programmation haut-niveau (MATLAB, R, etc.)
I En langages de programmation “bas-niveau” (Python, Julia, C++, etc.)
I Solutions “maison”.
Atelier pratique: Demystifier l’optimisation 48/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Solveurs et langages de modelisationI AMPL, version en ligne : http://ampl.com/cgi-bin/ampl/amplcgi
I Solveurs non lineaires dans AMPL en ligne : LANCELOT, LOQO, MINOS,SNOPT
I Alternatives a AMPL : GAMS, AIMMS
I Solveur non lineaire : IPOPT [Wachter and Biegler, 2006]https://projects.coin-or.org/Ipopt
I Solveur de boıtes-noires : NOMAD [Le Digabel, 2011]https://www.gerad.ca/nomad/
I Collection de solveurs : COIN-OR https://www.coin-or.org
I Collection de solveurs : OPTI-Toolbox [Currie and Wilson, 2012]https://www.inverseproblem.co.nz/OPTI/index.php
I Decision tree for optimization software : http://plato.asu.edu/guide.html
Atelier pratique: Demystifier l’optimisation 49/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Introduction
Exemples d’applications
L’optimisation mathematique
Modelisation
Les outils : Algorithmes et solveurs
Partie pratique
References
Atelier pratique: Demystifier l’optimisation 50/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Plan pour la partie pratique
I Resolution graphique d’un PL.
I Le simplexe a la main.
I Solveur de Excel.
I AMPL : Deux exemples.
Atelier pratique: Demystifier l’optimisation 51/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Illustration sur un exemple 2D
maxX,Y
350X + 300Y
s.c.
X + Y ≤ 200 (1)9X + 6Y ≤ 1566 (2)12X + 16Y ≤ 2880 (3)X ≥ 0 (4)Y ≥ 0 (5)
Atelier pratique: Demystifier l’optimisation 52/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Interpretation graphique d’une contrainte
Considerons la contrainte (1) : X + Y ≤ 200.I La droite X + Y = 200 passe par les points (0,200) et (200,0) et divise le plan en
3 parties :I La partie au dessus de la droite correspond a l’ensemble des points tels que
X + Y > 200.I La partie en dessous de la droite correspond a l’ensemble des points tels que
X + Y < 200.I La partie sur la droite correspond a l’ensemble des points tels que X + Y = 200.
I La solution du probleme sera en dessous ou sur la droite.
I Repeter ce raisonnement pour les 5 contraintes donne une region convexe appeleeun polyedre. Cette region correspond a l’ensemble des points realisables.
Atelier pratique: Demystifier l’optimisation 53/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Polyedre des contraintes
Atelier pratique: Demystifier l’optimisation 54/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Interpretation graphique de l’objectif
I Considerons l’ensemble des points realisables tels que :I 350X + 300Y = 35000.I 350X + 300Y = 52500.I 350X + 300Y = 66100.
I Ce sont les courbes de niveau de l’objectif.
I Jusqu’a quelle valeur peut-on aller ?
Atelier pratique: Demystifier l’optimisation 55/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Courbes de niveau de l’objectif
Atelier pratique: Demystifier l’optimisation 56/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Courbes de niveau de l’objectif
Atelier pratique: Demystifier l’optimisation 56/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Courbes de niveau de l’objectif
Atelier pratique: Demystifier l’optimisation 56/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Determination de la solution
I On deduit des courbes de niveau que la solution optimale est situee dans un“coin” de la region realisable, a l’intersection de deux contraintes. Ce “coin” estappele point extreme.
I Si un probleme a au moins une solution optimale, l’une d’entre-elles est un pointextreme.
I Il est possible de trouver une solution optimale en enumerant tous les pointsextremes.
Atelier pratique: Demystifier l’optimisation 57/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Determination de la solution (suite)
I Graphiquement, la solution est atteinte lorsque les contraintes (1) et (2) sontactives (i.e. satisfaites a egalite).
I Ceci donne le systeme a deux equations et deux inconnues suivant :X + Y = 2009X + 6Y = 1566
I Dont la solution est le point extreme (X∗, Y ∗) = (122, 78). C’est la solutionoptimale du probleme, qui donne la valeur optimale de 66100.
Atelier pratique: Demystifier l’optimisation 58/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Algorithme du simplexe
I Origine : George Dantzig, 1947.
I Un des 10 algorithmes du vingtieme siecle selon Computing in Science andEngineering.
I Ne pas confondre avec l’autre methode du simplexe en optimisation sansderivees [Nelder and Mead, 1965].
I Algorithme iteratif qui se deplace d’un point extreme a un autre. Chaquedeplacement ameliore la qualite de la solution, et si l’algorithme se termine, alorson a la garantie d’avoir un optimum global.
Atelier pratique: Demystifier l’optimisation 59/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Illustration sur un exemple
maxx1,x2,x3
5x1 + 4x2 + 3x3
s.c.
2x1 + 3x2 + x3 ≤ 54x1 + x2 + 2x3 ≤ 113x1 + 4x2 + 2x3 ≤ 8x1, x2, x3 ≥ 0
Le probleme doit etre mis sous forme standard.
Atelier pratique: Demystifier l’optimisation 60/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Variables d’ecart
Trois nouvelles variables (d’ecart), positives ou nulles (une par contrainte) permettentd’obtenir des contraintes egalite :
maxx1,x2,x3,e1,e2,e3
5x1 + 4x2 + 3x3
s.c.
2x1 + 3x2 + x3 +e1 = 54x1 + x2 + 2x3 +e2 = 113x1 + 4x2 + 2x3 +e3 = 8x1, x2, x3, e1, e2, e3 ≥ 0
Atelier pratique: Demystifier l’optimisation 61/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Dictionnaire initiale1 = 5 −2x1 −3x2 −x3
e2 = 11 −4x1 −x2 −2x3
e3 = 8 −3x1 −4x2 −2x3
z = 0 +5x1 +4x2 +3x3
I Ce dictionnaire est une facon de representer le point realisablex = (x1, x2, x3) = (0, 0, 0) avec f(x) = 0 et (e1, e2, e3) = (5, 11, 8). Il s’agit d’unpoint extreme.
I Les variables en base e1, e2, et e3 sont exprimees en fonction des variableshors-base x1, x2, et x3.
I Dans le point courant, les variables hors-base sont toujours nulles.
Atelier pratique: Demystifier l’optimisation 62/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Dictionnaire initial (suite)
e1 = 5 −2x1 −3x2 −x3
e2 = 11 −4x1 −x2 −2x3
e3 = 8 −3x1 −4x2 −2x3
z = 0 +5x1 +4x2 +3x3
I z represente la valeur courante de l’objectif. Ses coefficients (5,4, et 3) dans ledictionnaire sont appeles les couts reduits.
I S’il y a des couts reduits positifs, on a interets a donner une valeur positive auxvariables hors-base associees afin d’augmenter la valeur de z.
I Par exemple, ici, si on peut poser x1 = 1, alors z sera augmente de 5.
Atelier pratique: Demystifier l’optimisation 63/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Premiere iteratione1 = 5 −2x1 −3x2 −x3
e2 = 11 −4x1 −x2 −2x3
e3 = 8 −3x1 −4x2 −2x3
z = 0 +5x1 +4x2 +3x3
I On decide d’augmenter la valeur de x1 et de laisser x2 et x3 a zero. Si on prendx1 trop grand, les variables en base peuvent devenir negatives. Quelle valeurmaximale peut-on choisir ?
I On se sert des contraintes e1, e2, e3 ≥ 0 ou on isole x1 et on laisse x2 et x3 azero. Pour e1, cela donne :
5− 2x1 ≥ 0→ 2x1 ≤ 5→ x1 ≤5
2
Atelier pratique: Demystifier l’optimisation 64/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Premiere iteration (suite)I Pour les trois contraintes, cela donne les inegalites suivantes :
x1 ≤5
2et x1 ≤
11
4et x1 ≤
8
3
I La valeur maximale que peut prendre x1 est donc
x1 = min
5
2,11
4,8
3
=
5
2
qui correspond a la contrainte e1 ≥ 0.
I Donc si on pose x1 = 52 , alors on aura e1 = 0. x1 va entrer en base et e1 va sortir
de base.
I Cette operation s’appelle un pivot et va mener au second dictionnaire, et a unnouveau et meilleur point extreme.
Atelier pratique: Demystifier l’optimisation 65/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Premiere iteration : Pivot
I Il faut d’abord effectuer le pivot en exprimer la nouvelle variable de base x1 enfonction de l’ancienne e1 :
e1 = 5− 2x1 − 3x2 − x3 → x1 =5
2− 3
2x2 −
1
2x3 −
1
2e1
I Il faut ensuite ecrire les autres lignes du dictionnaires dans lesquelles on remplacex1 par sa nouvelle expression. Pour e2, cela donne :
e2 = 11− 4
(5
2− 3
2x2 −
1
2x3 −
1
2e1
)− x2 − 2x3 = 1 + 5x2 + 0x3 + 2e1
Atelier pratique: Demystifier l’optimisation 66/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Premiere iteration : Nouveau dictionnaire
Apres avoir fait la meme operation pour e3 et z, le pivot est complete et on obtient lesecond dictionnaire (premiere iteration) :
x1 = 52 −3
2x2 −12x3 −1
2e1
e2 = 1 +5x2 +0x3 +2e1
e3 = 12 +1
2x2 −12x3 +3
2e1
z = 252 −7
2x2 +12x3 −5
2e1
qui correspond au point extreme x = (5/2, 0, 0) pour la valeur courante def(x) = 25/2, avec les ecarts e = (0, 1, 1/2) (on a bien un point realisable).
Atelier pratique: Demystifier l’optimisation 67/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Premiere iteration : Fin
I Le cout reduit associe a la nouvelle variable hors-base (e1) est forcement negatifou nul. Si on refaisait entrer cette variable en base, on obtiendrait le pointextreme precedent.
I Critere d’arret : Comme il reste des couts reduits positifs, cela signifie que l’onpeut ameliorer la valeur de f .
Atelier pratique: Demystifier l’optimisation 68/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Deuxieme iteration
x1 = 52 −3
2x2 −12x3 −1
2e1
e2 = 1 +5x2 +0x3 +2e1
e3 = 12 +1
2x2 −12x3 +3
2e1
z = 252 −7
2x2 +12x3 −5
2e1
I On fait entrer x3 en base. On a x3 = min 1, 5 = 1. C’est e3 qui sort de base.
I Le pivot donne x3 = 1 + x2 + 3e1 − 2e3.
I Ce qui permet d’obtenir le nouveau dictionnaire.
Atelier pratique: Demystifier l’optimisation 69/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Deuxieme iteration : Nouveau dictionnaire et fin
x1 = 2 −2x2 −2e1 +e3
e2 = 1 +5x2 +2e1 +0e3
x3 = 1 +x2 +3e1 −2e3
z = 13 −3x2 −e1 −e3
I Ce dictionnaire correspond au point extreme x = (2, 0, 1) avec les ecartse = (0, 1, 0) et f(x) = 13.
I Tous les couts reduits sont negatifs, donc on ne peut plus augmenter la valeurde z. L’algorithme s’arete et on a la garantie que x∗ = (2, 0, 1) est la solutionoptimale, pour une valeur optimale de f(x∗) = 13.
Atelier pratique: Demystifier l’optimisation 70/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Algorithme du simplexe
[0] InitialisationTrouver un point extreme realisable (phase 1)Si (echec de la phase 1) : Stop (pas de solution)Former le dictionnaire initialk ← 1
[1] Iteration kChoix de la variable entranteChoix de la variable sortantePivot → nouveau dictionnaireSi (tous les couts reduits ≤ 0) : Stop (sol. optimale)k ← k + 1Aller en [1]
Il convient aussi de definir des regles pour les choix des variables entrantes et sortantes.
Atelier pratique: Demystifier l’optimisation 71/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Solveur ExcelI www.solver.com.
I Outil integre dans Excel pour l’optimisation lineaire, non lineaire, et en nombresentiers.
I Optimisation lineaire avec le simplexe.
I Avantages :I Simplicite d’utilisation. Base sur Excel.I Efficace pour des problemes de taille raisonnable.I Outils pour l’analyse de sensibilite.
I Inconvenients :I Pas adapte aux problemes de grande taille.I Difficilement integrable au sein d’autres applications.
I Bonnes pratiques donnees dans [Ragsdale, 2010].
Atelier pratique: Demystifier l’optimisation 72/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Exemple : Oak Products : Resolution
Voir fichier Oak Products.xlsx.
Atelier pratique: Demystifier l’optimisation 73/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Selection de portefeuille : Introduction
I Un investisseur, disposant d’un budget donne, souhaite se constituer unportefeuille.
I Il peut choisir entre N titres differents.
I Comment constituer son portefeuille de facon a minimiser son risque et a segarantir un certain minimum de rendement espere ?
I Une approche presentee en 1952 par Markowitz (laureat d’un prix Nobel eneconomie) formule ce probleme sous la forme d’un modele quadratique.
Atelier pratique: Demystifier l’optimisation 74/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Selection de portefeuille : Variables et objectif
I Variables aleatoires : Xi : Retour aleatoire obtenu pour 1$ investi dans le titre i.
I Variables d’optimisation : pi : proportion du budget investie dans le titre i.
I Retour aleatoire du portfolio : Z = p1X1 + p2X2 + . . .+ pnXn.
I Fonction objectif : Minimiser le risque tel que mesure par la variance du
portefeuille : f(p) = V (Z) =N∑i=1
σ2i p
2i + 2
N−1∑i=1
N∑j=i+1
σijpipj
avecI σ2
i : variance du titre i.I σij : covariance entre les titres i et j.
Atelier pratique: Demystifier l’optimisation 75/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Selection de portefeuille : ContraintesI Rendement moyen minimum : E(Z) = r1p1 + r2p2 + . . .+ rNpN ≥ rmin avecri = E(Xi) le rendement espere du titre i.
I Contrainte de budget : p1 + p2 + . . .+ pN = 1
I Bornes pour chaque titre : 0 ≤ pi ≤ uiI Modele :
minp∈RN
N∑i=1
σ2i p
2i + 2
N−1∑i=1
N∑j=i+1
σijpipj
s.c.
N∑i=1
ripi ≥ rmin
N∑i=1
pi = 1
0 ≤ pi ≤ ui i = 1, 2, . . . , N
Atelier pratique: Demystifier l’optimisation 76/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Selection de portefeuille : Resolution
Voir fichier Portfolio 3 titres.xlsx pour un cas avec trois titres.
Atelier pratique: Demystifier l’optimisation 77/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue [Orban, 2010]I Chaıne de longueur L > 0 attachee a ses deux extremites.I La forme de la chaıne est representee par la fonction x(t) continue sur [0; 1] telle
que x(0) = a et x(1) = b avec a, b ∈ R.I Parmi toutes les fonctions satisfaisant ces conditions, il faut trouver celle qui
minimise l’energie potentielle.I Le probleme (de dimension infinie) peut s’ecrire
minx(t)
1∫0
x(t)√
1 + u(t)2dt
s.c.
1∫0
√1 + u(t)2dt = L
x(0) = ax(1) = bx′(t) = u(t)
Atelier pratique: Demystifier l’optimisation 78/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : DiscretisationI Pour obtenir un probleme de dimension finie, on discretise les integrales et
l’equation differentielle.
I Avec N + 1 points de discretisation et un pas de h = 1/N , on obtient unprobleme de 2N + 2 variables et N + 3 contraintes :
minx∈RN+1
u∈RN+1
h2
N−1∑i=0
(xi
√1 + u2
i + xi+1
√1 + u2
i+1
)
s.c.
h2
N−1∑i=0
(√1 + u2
i +√
1 + u2i+1
)= L
x0 = axN = b
xi+1 − xi = h2 (ui + ui+1) i = 0, 1, . . . , N − 1
Atelier pratique: Demystifier l’optimisation 79/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : AMPL (1/2)Modele dans hanging chain.mod :# Hanging chain problem
model;
param nh; # number of subintervals
param L > 0; # length of the suspended chain
param a; # height of the chain at t=0 (left)
param b; # height of the chain at t=1 (right)
param tf; # ODEs defined in [0,tf]
param h := tf/nh; # uniform interval length
var x0..nh; # height of the chain
var u0..nh; # derivative of x
minimize potential_energy:
0.5*h*sum i in 0..nh-1 (x[i]*sqrt(1+u[i]^2)+x[i+1]*sqrt(1+u[i+1]^2));
subject to x_eqn j in 0..nh-1:
x[j+1] = x[j] + 0.5*h*(u[j] + u[j+1]);
subject to length_eqn:
0.5*h*sum i in 0..nh-1 (sqrt(1+u[i]^2) + sqrt(1+u[i+1]^2)) = L;
# Boundary conditions:
subject to x_bc1: x[0] = a; subject to x_bc2: x[nh] = b;
Atelier pratique: Demystifier l’optimisation 80/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : AMPL (2/2)Donnees dans hanging chain.dat :
model;
param tmin := if b > a then 0.25 else 0.75;
data;
param nh := 150;
param L := 4;
param a := 1;
param b := 3;
param tf := 1.0;
# Initial values
let k in 0..nh x[k] := 4*abs(b-a)*(k/nh)*(0.5*(k/nh) - tmin) + a;
let k in 0..nh u[k] := 4*abs(b-a)*((k/nh) - tmin);
Atelier pratique: Demystifier l’optimisation 81/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : Solution
N Energie
1 9.9148542112 5.8140217613 5.3076425125 5.182533729
10 5.10989678550 5.072261493
150 5.0691710190
0.5
1
1.5
2
2.5
3
3.5
1 2
N=1
Atelier pratique: Demystifier l’optimisation 82/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : Solution
N Energie
1 9.9148542112 5.8140217613 5.3076425125 5.182533729
10 5.10989678550 5.072261493
150 5.0691710190
0.5
1
1.5
2
2.5
3
3.5
1 2 3
N=2
Atelier pratique: Demystifier l’optimisation 82/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : Solution
N Energie
1 9.9148542112 5.8140217613 5.3076425125 5.182533729
10 5.10989678550 5.072261493
150 5.0691710190
0.5
1
1.5
2
2.5
3
3.5
1 2 3 4
N=3
Atelier pratique: Demystifier l’optimisation 82/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : Solution
N Energie
1 9.9148542112 5.8140217613 5.3076425125 5.182533729
10 5.10989678550 5.072261493
150 5.0691710190
0.5
1
1.5
2
2.5
3
3.5
1 2 3 4 5 6
N=5
Atelier pratique: Demystifier l’optimisation 82/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : Solution
N Energie
1 9.9148542112 5.8140217613 5.3076425125 5.182533729
10 5.10989678550 5.072261493
150 5.0691710190
0.5
1
1.5
2
2.5
3
3.5
1 2 3 4 5 6 7 8 9 10 11
N=10
Atelier pratique: Demystifier l’optimisation 82/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : Solution
N Energie
1 9.9148542112 5.8140217613 5.3076425125 5.182533729
10 5.10989678550 5.072261493
150 5.0691710190
0.5
1
1.5
2
2.5
3
3.5
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51
N=50
Atelier pratique: Demystifier l’optimisation 82/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Chaıne suspendue : Solution
N Energie
1 9.9148542112 5.8140217613 5.3076425125 5.182533729
10 5.10989678550 5.072261493
150 5.0691710190
0.5
1
1.5
2
2.5
3
3.5
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103
109
115
121
127
133
139
145
151
N=150
Atelier pratique: Demystifier l’optimisation 82/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Le plus grand petit polygone [Orban, 2010]
I Objectif : Trouver, parmi tous les polygones de N sommets de diametre ≤ 1, celuid’aire maximale.
I Le diametre d’un polygone est la plus grande distance entre deux sommets.
I Le modele est ecrit avec les coordonnees polaires (r, θ). Le dernier sommet estfixe a (0, π) (l’origine).
I Les sommets sont ordonnes dans le sens inverse des aiguilles d’une montre et lesangles sont mesures dans le meme sens a partir de la ligne horizontale.
Atelier pratique: Demystifier l’optimisation 83/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Le plus grand petit polygone
I Parfait exemple de probleme d’optimisation globale car presence de nombreuxoptima locaux.
I Il est possible de montrer que la solution est un polygone regulier pour les valeursimpaires de N et N = 4.
I N = 6 : Hexagone de Graham.
I N = 8 : Petit octogone de Hansen.
I N ≥ 14 : Ouvert.
I Revue de litterature dans [Audet et al., 2007].
Atelier pratique: Demystifier l’optimisation 84/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Plus grand petit polygone : Modele
2N variables, (N2 +N − 2)/2 contraintes (sans les bornes).
maxr,θ∈RN
1
2
N−1∑i=1
riri+1 sin(θi+1 − θi)
s.c.
θi+1 ≥ θi i = 1, 2, . . . , N − 1r2i + r2
j − 2rirj cos(θj − θi) ≤ 1 i = 1, 2, . . . , N
j = i+ 1, i+ 2, . . . , N0 ≤ θi ≤ π i = 1, 2, . . . , N0 ≤ ri ≤ 1 i = 1, 2, . . . , NrN = 0, θN = π
Atelier pratique: Demystifier l’optimisation 85/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Plus grand petit polygone : AMPL (1/2)model;
param N integer > 0; # number of vertices in the polygon
param pi := 3.14159265358979; # approximation of pi
var r i in 1..N; # polar radius (distance to fixed vertex)
var theta i in 1..N; # polar angle (measured from fixed direction)
maximize polygon_area:
0.5*sumi in 1..N-1 r[i+1]*r[i]*sin(theta[i+1] - theta[i]);
subject to r_bounds i in 1..N: 0.0 <= r[i] <= 1.0;
subject to theta_bounds i in 1..N: 0.0 <= theta[i] <= pi;
subject to fix_theta_N: theta[N] = pi;
subject to fix_r_N: r[N] = 0.0;
subject to ordered_theta i in 1..N-1: theta[i] <= theta[i+1];
subject to distance i in 1..N-1,j in i+1..N:
r[i]^2 + r[j]^2 - 2*r[i]*r[j]*cos(theta[j] - theta[i]) <= 1;
subject to convexity i in 2..N-1:
r[i]*r[i-1]*sin(theta[i]-theta[i-1]) + r[i+1]*r[i]*sin(theta[i+1]-theta[i]) >=
r[i+1]*r[i-1]*sin(theta[i+1]-theta[i-1]);
Atelier pratique: Demystifier l’optimisation 86/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Plus grand petit polygone : AMPL (2/2)
Donnees dans lsp.dat :
# Largest-small polygon problem
data;
# Number of vertices
param N := 8;
# Initial values
let i in 1..N-1 r[i] := 4*i*(N + 1 - i)/(N+1)^2;
let i in 1..N-1 theta[i] := pi*i/N;
Atelier pratique: Demystifier l’optimisation 87/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Plus grand petit polygone : Resultats pour N = 5
0
30
60
90
120
150
180
210
240
270
300
330
0
0.2
0.4
0.6
0.8
1
Bleu : Pentagone initial. Rouge : Solution (pentagone regulier).
Atelier pratique: Demystifier l’optimisation 88/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Plus grand petit polygone : Resultats pour N = 22
0
30
60
90
120
150
180
210
240
270
300
330
0
0.2
0.4
0.6
0.8
1
Bleu : Polygone initial. Rouge : Solution (sans doute locale).
Atelier pratique: Demystifier l’optimisation 89/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Plus grand petit polygone : Resultats pour N = 8
0
30
60
90
120
150
180
210
240
270
300
330
0
0.2
0.4
0.6
0.8
1
Bleu : Octogone initial.
Rouge : Solution : Petit octogone de Hansen, non regulier. Axe de symetrie en orange. Application ici.
Atelier pratique: Demystifier l’optimisation 90/94
Introduction Applications Optimisation Modelisation Outils Pratique References
Introduction
Exemples d’applications
L’optimisation mathematique
Modelisation
Les outils : Algorithmes et solveurs
Partie pratique
References
Atelier pratique: Demystifier l’optimisation 91/94
Introduction Applications Optimisation Modelisation Outils Pratique References
References I
Audet, C., Brimberg, J., Hansen, P., Le Digabel, S., and Mladenovic, N. (2004).
Pooling Problem : Alternate Formulations and Solution Methods.Management Science, 50(6) :761–776.
Audet, C., Hansen, P., and Messine, F. (2007).
Extremal problems for convex polygons.Journal of Global Optimization, 38(2) :163–179.
Chvatal, V. (1983).
Linear programming.A Series of books in the mathematical sciences. Freeman, New York.
Currie, J. and Wilson, D. (2012).
OPTI : Lowering the Barrier Between Open Source Optimizers and the Industrial MATLAB User.In Sahinidis, N. and Pinto, J., editors, Foundations of Computer-Aided Process Operations, Savannah, Georgia, USA.
Diaz, G., Fokoue, A., Nannicini, G., and Samulowitz, H. (2017).
An effective algorithm for hyperparameter optimization of neural networks.IBM Journal of Research and Development, 61(4) :9 :1–9 :11.
Gamache, M. (2016).
Notes de cours, MTH2402, Recherche operationnelle.
Atelier pratique: Demystifier l’optimisation 92/94
Introduction Applications Optimisation Modelisation Outils Pratique References
References II
Le Digabel, S. (2011).
Algorithm 909 : NOMAD : Nonlinear Optimization with the MADS algorithm.ACM Transactions on Mathematical Software, 37(4) :44 :1–44 :15.
Nelder, J. and Mead, R. (1965).
A simplex method for function minimization.The Computer Journal, 7(4) :308–313.
Orban, D. (2010).
Numerical Methods for Nonlinear Optimization and Optimal Control, notes du cours MTH8408.
Ragsdale, C. (2010).
Spreadsheet Modeling & Decision Analysis.South-Western, Cengage Learning, 6th edition.
Savard, G. (1998).
Notes de cours, GCH2530, Programmation numerique en genie chimique.
Wachter, A. and Biegler, L. T. (2006).
On the implementation of a primal-dual interior point filter line search algorithm for large-scale nonlinear programming.Mathematical Programming, 106(1) :25–57.
Atelier pratique: Demystifier l’optimisation 93/94
Introduction Applications Optimisation Modelisation Outils Pratique References
References III
Weatherford, L. (1997).
Introductory Management Science : Decision Modeling with Spreadsheets.Prentice Hall, 5th edition.
Atelier pratique: Demystifier l’optimisation 94/94