Programmation mathématique pour l Optimisation Combinatoire

Documents pareils
Programmation linéaire

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Programmation mathématique Discrète et Modèles Linéaires

Cours de Master Recherche

Optimisation Discrète

Programmation Linéaire - Cours 1

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Programmation linéaire

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Sujet 4: Programmation stochastique propriétés de fonction de recours

Chapitre 5 : Flot maximal dans un graphe

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

LES MÉTHODES DE POINT INTÉRIEUR 1

Plus courts chemins, programmation dynamique

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Programmation par contraintes. Laurent Beaudou

Cours de recherche opérationnelle I

Résolution d équations non linéaires

Fonctions de plusieurs variables

Amphi 3: Espaces complets - Applications linéaires continues

Resolution limit in community detection

Programmation linéaire et Optimisation. Didier Smets

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Quelques algorithmes simples dont l analyse n est pas si simple

UNIVERSITE PARIS VII - DENIS DIDEROT U.F.R. D'INFORMATIQUE THESE

Programmation linéaire

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Chapitre 7. Récurrences

RECHERCHE OPERATIONNELLE

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Conception de réseaux de télécommunications : optimisation et expérimentations

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Cours 02 : Problème général de la programmation linéaire

Annexe 6. Notions d ordonnancement.

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Contrainte de flot pour RCPSP avec temps de transfert

Conception d'un réseau de transport d'électricité

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Image d un intervalle par une fonction continue

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Jean-Philippe Préaux

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Chp. 4. Minimisation d une fonction d une variable

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

chapitre 4 Nombres de Catalan

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

LE PROBLEME DU PLUS COURT CHEMIN

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

Stratégie de recherche adaptative en programmation par contrainte

FIMA, 7 juillet 2005

INFO-F Algorithmique 3 et Recherche Opérationnelle

Algorithmes pour la planification de mouvements en robotique non-holonome

Approximations variationelles des EDP Notes du Cours de M2

Introduction à la théorie des graphes. Solutions des exercices

3 Approximation de solutions d équations

Commun à tous les candidats

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Limites finies en un point

CARTE DE VOEUX À L ASSOCIAEDRE

Arbres binaires de décision

Intégration de la dimension sémantique dans les réseaux sociaux

Optimisation des fonctions de plusieurs variables

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Fonctions de deux variables. Mai 2011

Programmation Par Contraintes

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

1 Complément sur la projection du nuage des individus

Cours d analyse numérique SMI-S4

NOMBRES COMPLEXES. Exercice 1 :

Correction du baccalauréat ES/L Métropole 20 juin 2014

Pourquoi l apprentissage?

Cryptographie et fonctions à sens unique

Travaux dirigés n 1. Programmation linéaire

EXERCICE 4 (7 points ) (Commun à tous les candidats)

3. Conditionnement P (B)

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours

Introduction à l étude des Corps Finis

Mlle Yasmin A. RÍOS SOLÍS

Chapitre 1 Régime transitoire dans les systèmes physiques

TSTI 2D CH X : Exemples de lois à densité 1

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Couplage Planification et Ordonnancement : Approche hiérarchique et décomposition

Parallélisme et Répartition

Une nouvelle approche de détection de communautés dans les réseaux sociaux

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Transcription:

Master d Informatique - Spécialité Androide Module MAOA Programmation mathématique pour l Optimisation Combinatoire Pierre Fouilhoux Université Pierre et Marie Curie 2015-2016

2/104 Avant-propos Avant-propos Ce cours de niveau dernière année d étude traite de la résolution exacte de problèmes d Optimisation Combinatoire par la programmation mathématique. La programmation mathématique et plus particulièrement la programmation linéaire en nombres entiers a permis ces dernières années de résoudre exactement des instances complexes et de grandes tailles de problèmes célèbres : problème du voyageurs de commerce, problème de coloration de graphes, tournées de véhicules... Face à un problème à traiter, il est tout d abord nécessaire d effectuer une étude de complexité et de juger la difficulté d un problème : peut-être existe-t-il un algorithme combinatoire polynomiale pour le traiter? Une fois déterminée la NP-difficulté d un problème, la programmation mathématique n est pas la seule possible pour résoudre un problème d optimisation combinatire NP-difficile mais sa facilité d utilisation pour la modélisation et la capacité des solveurs entiers (Cplex, Gurobi) la place au premier plan des méthodes utilisées par les industriels. Une première question naturelle est d apprendre ce qui permet à ces solveurs une telle efficacité. Une autre question est d apprendre à bien formuler un problème par un programme mathématique pour le résoudre efficacement.

3/104 Avant-propos Derrière l écriture d un programme mathématique, se cache une quantité importante d approches théoriques et algorithmiques. Un même problème peut donner lieu à plusieurs formulations, qui chacune peut donner lieu à plusieurs techniques de résolutions. La base de ces résolutions est le principe de branchement et évaluation, mais seuls, il est inefficace pour résoudre de grandes dimensions. L objectif des techniques pour l améliorer est de réduire l espace des solutions à explorer. Pour cela, pourra utiliser de bonnes valeurs d évaluation basée sur la relaxation continue des formulations entières (continue ou lagrangienne). Un autre cadre d approche est d utiliser des formulations pouvant posséder un nombre exponentiel de variables ou d inégalités, ce qui nécessite l utilisation d algorithmes de génération de colonnes ou de méthodes de coupes. Enfin une technique particulièrement efficace est de vouloir renforcer une formulation pour qu elle se rapproche de l enveloppe convexe de ces solutions entières. En effet, une formulation renforcée aura une meilleure relaxation et de plus, les solutions de la relaxation continue seront plus proches des solutions entières : elles seront plus souvent entières ou seront facilement approximables à une solution entière de bonne valeur. Le cadre générale du renforcement est celui des approches polyédrales qui nous permettra également d approfondir les aspects théoriques des problèmes d optimisation combinatoire.

4/104 Qu est-ce que la RO? Qu est-ce que la RO? Ce cours se base sur des problèmes et des exercices qui piochent autant dans les problèmes classiques d optimisation combinatoire que dans les problèmes de recherche opérationnelle appliqués. Mais qu est-ce que la RO? (voir brochure correspondante).

A. Modéliser B. Résoudre C. Résoudre mieux

6/104 A. Modéliser Partie A : Modéliser

7/104 A. Modéliser A. Modéliser 1. Programmation mathématique 2. Convexification et linéarisation 3. Optimisation Combinatoire et modélisations Exercices de modélisation B. Résoudre C. Résoudre mieux

8/104 A. Modéliser Problème d optimisation combinatoire : Déterminer un plus grand (petit) élément dans un ensemble fini valué.

8/104 A. Modéliser Problème d optimisation combinatoire : Déterminer un plus grand (petit) élément dans un ensemble fini valué. Etant donnés : - un ensemble fini d éléments E = {e 1,...e n } - une famille F de sous-ensembles de E - et un vecteur-poids c = (c(e 1 ),..., c(e n )) associé à E un problème d optimisation consiste à trouver un ensemble F F de poids c(f ) = e F c(e) maximum (ou minimum), i.e. max ou min {c(f ) F F}.

9/104 A. Modéliser Un PLNE (Programme Linéaire en Nombres Entiers) est un PL avec des variables entières (ou mixtes). On le nomme en anglais MIP (Mixed Integer Program). Maximiser z = c T x = n j=1 c jx j sous les contraintes Ax b x Z n Les n variables x doivent satisfaire les m inégalités linéaires de Ax b appelées contraintes. Les contraintes x Z n sont les contraintes d intégrité (ou d entiéreté en Belgique ou d intégralité au Québec), appelées integrity or integrality constraint en anglais.

10/104 A. Modéliser Formulation algébrique naïve : Associer une variable à chaque solution : t F = 1 si la solution F F est prise et 0 sinon

10/104 A. Modéliser Formulation algébrique naïve : Associer une variable à chaque solution : t F = 1 si la solution F F est prise et 0 sinon Max c(f )t F F F t F 1 F F t F {0, 1} pour tout F F.

10/104 A. Modéliser Formulation algébrique naïve : Associer une variable à chaque solution : t F = 1 si la solution F F est prise et 0 sinon Max c(f )t F F F t F 1 F F t F {0, 1} pour tout F F. Cette formulation par un Programme Linéaire en Nombres Entiers (PLNE) demande : - soit d énumérer toutes les solutions du problèmes (exponentielles) - soit un schéma de génération de colonnes (Benders) si l on sait générer efficacement les colonnes.

11/104 A. Modéliser Formulation algébrique naturelle : Associer une variable 0-1 à chaque élément E : x e = 1 si l élement e est pris dans la solution et 0 sinon

11/104 A. Modéliser Formulation algébrique naturelle : Associer une variable 0-1 à chaque élément E : x e = 1 si l élement e est pris dans la solution et 0 sinon Max c(e)x e e E Ax B x e {0, 1} pour tout e E.

11/104 A. Modéliser Formulation algébrique naturelle : Associer une variable 0-1 à chaque élément E : x e = 1 si l élement e est pris dans la solution et 0 sinon Max c(e)x e e E Ax B x e {0, 1} pour tout e E. Cette formulation PLNE demande : - de pourvoir définir par des inégalités Ax B le fait que les solutions décrites par la variable doivent être dans l ensemble F. - de pouvoir résoudre la formulation ainsi obtenue.

12/104 A. Modéliser Exemple : le problème du sac-à-dos (knapsack) 0/1 - n objets, notés i = 1,..., n, de bénéfice c i et de poids a i, - but : ranger les objets dans un sac de poids maximum b avec un bénéfice maximal. Le problème de sac-à-dos (knapsack) consiste à choisir les objets à prendre parmi les n objets de manière à avoir un bénéfice maximal et respecter la contrainte du poids à ne pas dépasser. Ce problème se rencontre bien entendu dès que l on part en randonnée en voulant emmener le plus possible d objets utiles (nourriture, boissons,...). Mais ce problème est plus fréquemment utilisé pour remplir les camions de transport, les avions ou bateaux de fret et même pour gérer la mémoire d un microprocesseur.

13/104 A. Modéliser Exemple : le problème du sac-à-dos (knapsack) 0/1 La formulation PLNE du problème de sac-à-dos est très simple. On utilise pour chaque objet i {1,..., n}, une variable entière x i correspondant au nombre de fois où l objet i est choisi. Max n c i x i i=1 n a i x i b, i=1 x i {0, 1}, pour i = 1,..., n. L unique contrainte est dite contrainte de sac-à-dos. Elle est l unique contrainte de ce problème qui est pourtant NP-difficile!

14/104 A. Modéliser Un puissant outil de modélisation... et de résolution? Deux choses font que la PLNE est très utilisée : - La PLNE est un puissant outil de modélisation. - Il existe des outils (appelés solveurs entiers) qui sont capables de résoudre un grand nombre de PLNE.

14/104 A. Modéliser Un puissant outil de modélisation... et de résolution? Deux choses font que la PLNE est très utilisée : - La PLNE est un puissant outil de modélisation. - Il existe des outils (appelés solveurs entiers) qui sont capables de résoudre un grand nombre de PLNE. Par contre, il n existe pas de méthodes génériques efficaces pour résoudre un PLNE. Le fait de ramener aussi facilement un problème à un PLNE est donc parfois dangereux! - La PLNE est un problème NP-difficile. (Attention : modéliser n est pas une preuve de complexité...) - Les solveurs entiers achopent parfois à quelques centaines de variables/contraintes.

15/104 A. Modéliser 1. Programmation mathématique Voir chapitre Programmation mathématique dans le support de cours

16/104 A. Modéliser 2. Convexification et linéarisation Voir chapitre Convexification et linéarisation dans le support de cours

17/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Voir chapitre Optimisation Combinatoire et modélisations dans le support de cours Avec en doublon ici : - Modélisation du stable - Modélisation du voyageurs de commerce - Modélisation du problème de coloration

18/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Exemple : le problème du stable - G = (V, E) un graphe non-orienté et c(v) poids d un sommet. - Un stable de G est un sous-ensemble S de sommets de V tel qu il n existe aucune arête de E entre 2 sommets de S. - Problème du stable de poids maximum : déterminer un stable S de G tel que c(s) = v S c(v) soit maximum. v 1 v 4 v 5 v 2 v 3 Problème NP-difficile!

19/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Formulation compacte pour le problème du stable x(v) = 1 si le sommet v est pris dans la solution et 0 sinon Max c(u)x(u) u V x(u) + x(v) 1, pour tout uv E, x(u) {0, 1}, pour tout u V.

19/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Formulation compacte pour le problème du stable x(v) = 1 si le sommet v est pris dans la solution et 0 sinon Max c(u)x(u) u V x(u) + x(v) 1, pour tout uv E, x(u) {0, 1}, pour tout u V. L inégalité x(u) + x(v) 1 est appelée inégalité aux arêtes. Formulation compacte i.e. possède un nombre polynomial de contraintes et de variables.

19/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Formulation compacte pour le problème du stable x(v) = 1 si le sommet v est pris dans la solution et 0 sinon Max c(u)x(u) u V x(u) + x(v) 1, pour tout uv E, x(u) {0, 1}, pour tout u V. L inégalité x(u) + x(v) 1 est appelée inégalité aux arêtes. Formulation compacte i.e. possède un nombre polynomial de contraintes et de variables. Formulation PLNE difficile à résoudre par Branch-and-Bound.

20/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Comment renforcer une formulation PLNE Une clique est un ensemble de sommets induisant un sous-graphe complet. Or comme il y a au plus 1 sommet dans une clique K dans un stable, l inégalité x(u) 1 pour toute clique K u K est vérifiée pour tout stable.

21/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Formulation non-compacte pour le problème du stable On peut alors proposer une autre formulation non-compacte pour le problème du stable Max c(u)x(u) u V u dans C x(u) C 2 pour tout cycle impair C, (1) u K x(u) 1 pour toute clique K, (2) x(u) {0, 1} pour tout u V.

21/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Formulation non-compacte pour le problème du stable On peut alors proposer une autre formulation non-compacte pour le problème du stable Max c(u)x(u) u V u dans C x(u) C 2 pour tout cycle impair C, (1) u K x(u) 1 pour toute clique K, (2) x(u) {0, 1} pour tout u V. Parmi toutes ces inégalités, sont-elles toutes utiles?

22/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Modélisation du problème du voyageur de commerce (TSP) n villes avec c ij coût de transport de i à j (asymétrique). Déterminer un circuit passant par toutes les villes de plus petit coût.

23/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Modélisation du problème du voyageur de commerce (TSP) n villes avec c ij coût de transport de i à j (asymétrique). Déterminer un circuit passant par toutes les villes de plus petit coût.

24/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Formulation en variables naturelles : x ij = 1 si l arc (i, j) est dans le circuit et 0 sinon. Min i,j c ij x ij x ij = 1 i V, j V x ij = 1 j V, i V x ij IN (i, j) V V.

24/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Formulation en variables naturelles : x ij = 1 si l arc (i, j) est dans le circuit et 0 sinon. Min i,j c ij x ij x ij = 1 i V, j V x ij = 1 j V, i V x ij IN (i, j) V V.

25/104 A. Modéliser 3. Optimisation Combinatoire et modélisations - Relaxation linéaire de ce PLNE entière dans de nombreux cas de graphes (la matrice est totalement unimodulaire pour les graphes bipartis). - Malheureusement, la solutions peut être faite de plusieurs cycles orientées (appelées sous-tours).

25/104 A. Modéliser 3. Optimisation Combinatoire et modélisations - Relaxation linéaire de ce PLNE entière dans de nombreux cas de graphes (la matrice est totalement unimodulaire pour les graphes bipartis). - Malheureusement, la solutions peut être faite de plusieurs cycles orientées (appelées sous-tours). Il faut ajouter des inégalités pour briser les sous-tours.

26/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Elimination des sous-tours par la formulation MTZ Formulation de Miller-Tucker-Zemlin (MTZ). Ajout des variables réelles u i, i = 1,..., n, associées aux villes Ajout des contraintes : u 1 = 1, (3) 2 u i n pour tout i 1, (4) u i u j + 1 n(1 x ij ) pour tout i 1, j 1. (5)

26/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Elimination des sous-tours par la formulation MTZ Formulation de Miller-Tucker-Zemlin (MTZ). Ajout des variables réelles u i, i = 1,..., n, associées aux villes Ajout des contraintes : u 1 = 1, (3) 2 u i n pour tout i 1, (4) u i u j + 1 n(1 x ij ) pour tout i 1, j 1. (5) - Donnent un numéro à chaque ville dans le tour. - Obligent tout tour entre les villes à passer par la ville 1 Brisent les sous-tours

26/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Elimination des sous-tours par la formulation MTZ Formulation de Miller-Tucker-Zemlin (MTZ). Ajout des variables réelles u i, i = 1,..., n, associées aux villes Ajout des contraintes : u 1 = 1, (3) 2 u i n pour tout i 1, (4) u i u j + 1 n(1 x ij ) pour tout i 1, j 1. (5) - Donnent un numéro à chaque ville dans le tour. - Obligent tout tour entre les villes à passer par la ville 1 Brisent les sous-tours Très mauvaise relaxation linéaire!!!

27/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Elimination des sous-tours par la connexité Théorème de Menger : un graphe est fortement connexe si toute coupe du graphe contient au moins un arc. x(e) 1, pour tout W V et W, e δ + (W ) W

28/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Elimination des sous-tours par la connexité Théorème de Menger : un graphe est fortement connexe si toute coupe du graphe contient au moins un arc. x(e) 1, pour tout W V et W, e δ + (W ) W

28/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Elimination des sous-tours par la connexité Théorème de Menger : un graphe est fortement connexe si toute coupe du graphe contient au moins un arc. x(e) 1, pour tout W V et W, e δ + (W ) W Nombre exponentiel de contraintes. Mais elles sont séparables en temps polynomial (coupe min dans un graphe)

29/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Formulation du TSP symétrique Min c(e)x(e) e E e δ(v) e δ(w ) x(e) = 2, pour tout u V, (6) x(e) 2, pour tout W V et W, (7) x(e) {0, 1}, pour tout e E.

29/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Formulation du TSP symétrique Min c(e)x(e) e E x(e) = 2, pour tout u V, (6) e δ(v) e δ(w ) x(e) 2, pour tout W V et W, (7) x(e) {0, 1}, pour tout e E. Formulation vedette du TSP symétrique. Renforcée par d autres inégalités, elle est la technique record.

30/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Coloration de graphe. Une k-coloration des sommets d un graphe G = (V, E) est une fonction r : V {1,..., k} telle que r(u) r(v) pour tout couple de sommets adjacents u, v. Le problème de coloration consiste à déterminer le plus petit k tel que G soit k-coloriable.

31/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Première formulation : - on associe à chaque sommet u de V un vecteur binaire à K dimensions x u = (x 1 u,..., x K u ), où K est une borne supérieure sur la coloration de G (au maximum K = V ). - on ajoute une variable binaire w l par couleur l = 1,..., K indiquant si cette couleur a été utilisée ou non. Le problème est donc équivalent au programme Min K l=1 w l K xu l = 1, pour tout u V, (8) l=1 xu l + xv l w l, pour tout e = uv E et 1 l K, (9) xu l {0, 1}, pour tout u V et 1 l K.

32/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Cette formulation contient énormément de symétrie c est-à-dire des solutions très proches de même coût.

32/104 A. Modéliser 3. Optimisation Combinatoire et modélisations Cette formulation contient énormément de symétrie c est-à-dire des solutions très proches de même coût. Deuxième formulation : Soit S l ensemble des stables non vides de G. On associe à chaque stable S S une variable binaire t S. Le problème de coloration est alors équivalent au programme en nombres entiers suivant (Mehrotra et Trick 1995). Min S S t S S S u S t S = 1, pour tout u V, (10) t S {0, 1}, pour tout S S. (11)

33/104 A. Modéliser Exercices de modélisation Voir chapitre Exercices de modélisations dans le support de cours

34/104 B. Résoudre Partie B : Résoudre

35/104 B. Résoudre A. Modéliser B. Résoudre 4. Résolution approchée ou exacte 5. Algorithme de Branchement-Evaluation 6. Relaxation linéaire et points extrêmes 7. Méthodes de coupes 8. Inégalités valides et renforcement Qu y-a-t-il dans les solveurs? 9. Génération de colonnes 10. Décomposition C. Résoudre mieux

36/104 B. Résoudre 4. Résolution approchée ou exacte Voir chapitre Résolution approchée ou exacte dans le support de cours

37/104 B. Résoudre 4. Résolution approchée ou exacte Garantie expérimentale Les algorithmes de Branch-and-Cut fournissent rapidement une borne et une solution réalisable : on définit le gap expérimental comme l écart relatif entre cette solution et la borne. La solution réalisable est fréquemment fournie en arrondissant la solution fractionnaire : on appelle cela un algorithme (heuristique) primal ce qui entraîne qu elle est souvent proche de la valeur de relaxation.

37/104 B. Résoudre 4. Résolution approchée ou exacte Garantie expérimentale Les algorithmes de Branch-and-Cut fournissent rapidement une borne et une solution réalisable : on définit le gap expérimental comme l écart relatif entre cette solution et la borne. La solution réalisable est fréquemment fournie en arrondissant la solution fractionnaire : on appelle cela un algorithme (heuristique) primal ce qui entraîne qu elle est souvent proche de la valeur de relaxation. En pratique, une campagne expérimentale sur un lot d instances permet de donner une gap expérimental au bout de x minutes souvent très intéressant.

38/104 B. Résoudre 4. Résolution approchée ou exacte Garantie expérimentale z H0 z bestsol z opt z bsg z bs0 z Maximisation gap

39/104 B. Résoudre 5. Algorithme de Branchement-Evaluation Principe de branchement, appelé Branch&Bound : Plutôt qu énumérer, on utilise : - le paradigme informatique classique du diviser pour régner (divide&conqueer) consistant à diviser le problème en sous-problèmes plus simples à résoudre. - en tentant d éviter d explorer tous les sous-problèmes. Quelques définitions dans le contexte d une Maximisation : - Problème racine : le PL obtenu en relaxant la contrainte d intégrité du PLNE : on par de relaxation linéaire. - Brancher : diviser un problème en un ensemble de sous-problèmes (appelés souvent nœuds tels que l union de leurs espaces de solutions forme l espace des solutions du problème-père.

40/104 B. Résoudre 5. Algorithme de Branchement-Evaluation Arborescence - Arborescence : Les nœuds générés produisent une arborescence à partir du sommet racine. - Nœud stérile (ou feuille) : un nœud qui ne produit pas de sous-problème lors du branchement : - soit car il est vide de solution ; - soit car il est entier Un PL peut fournir des solutions entières! Comment faire pour qu il y ait beaucoup de nœuds entiers?

41/104 B. Résoudre 5. Algorithme de Branchement-Evaluation Borne et élagage : - Evaluer un nœud : trouver une borne supérieure de la valeur optimale (entière) d un sous-problème. - Borne inférieure : la meilleure des solutions (entières) rencontrées au cours de l exploration constitue une borne inférieure pour le PLNE. - Borne supérieure : la plus grande des évaluations parmi tous les noeuds d un même niveau de l arborescence. - Elagage : Ne pas explorer un nœud si l évaluation de ce sous-problème est inférieure à la meilleure solution connue (jeux borne sup/borne inf). Comment faire pour avoir les meilleures bornes inférieures et supérieures?

B. Résoudre 5. Algorithme de Branchement-Evaluation Cadre classique du Branch&Bound Classiquement : - Le branchement le plus courant consiste à choisir l une des variables x i puis à définir un problème-fils pour chaque valeurs entières possibles de x i. - L évaluation d un nœud par sa relaxation linéaire (la valeur du PL obtenu en relaxant les contraintes d intégrité). - Stratégie de branchement en profondeur au hasard pour avoir des solutions entières, puis par nœud de meilleure évaluation (Best First Search). D autres moyens d améliorer le branchement sont possibles : - Inférences logiques sur les variables/contraintes - Branchement sur des inégalités. - D autres relaxations (Lagrangienne, P. Semi-définie,...) - Décompositions (Dantzig-Wolfe, Génération de colonnes,...) - Approches polyédrales : Algorithme de Branch-and-Cut. 42/104

43/104 B. Résoudre 5. Algorithme de Branchement-Evaluation Pour davantage de détails : - voir chapitre Algorithme de Branchement-Evaluation dans le support de cours - et ses exercices

44/104 B. Résoudre 6. Relaxation linéaire et points extrêmes A. Modéliser B. Résoudre 4. Résolution approchée ou exacte 5. Algorithme de Branchement-Evaluation 6. Relaxation linéaire et points extrêmes 7. Méthodes de coupes 8. Inégalités valides et renforcement Qu y-a-t-il dans les solveurs? 9. Génération de colonnes 10. Décomposition C. Résoudre mieux

45/104 B. Résoudre 6. Relaxation linéaire et points extrêmes Relaxation linéaire et solution entière optimale Pour l évalution, la solution optimale du PL obtenue en ôtant les contraintes d intégrité du PLNE est appelée la relaxation linéaire du PLNE. Elle peut être très éloignée de la solution optimale entière : Maximiser 10x 1 + 11x 2 10x 1 + 12x 2 59 x 1 et x 2 0 x 1, x 2 entiers.

46/104 B. Résoudre 6. Relaxation linéaire et points extrêmes Relaxation linéaire et solution entière optimale Pour l évalution, la solution optimale du PL obtenue en ôtant les contraintes d intégrité du PLNE est appelée la relaxation linéaire du PLNE. Elle peut être très éloignée de la solution optimale entière : Maximiser 10x 1 + 11x 2 10x 1 + 12x 2 59 x 1 et x 2 0 x 1, x 2 entiers.

46/104 B. Résoudre 6. Relaxation linéaire et points extrêmes Relaxation linéaire et solution entière optimale Pour l évalution, la solution optimale du PL obtenue en ôtant les contraintes d intégrité du PLNE est appelée la relaxation linéaire du PLNE. Elle peut être très éloignée de la solution optimale entière : x 2 5 Optimum entier = (1, 4) 4 Maximiser 10x 1 + 11x 2 10x 1 + 12x 2 59 x 1 et x 2 0 x 1, x 2 entiers. 3 2 1 0 1 2 3 4 5 6 Optimum continu = (5.9, 0) x 1 10x 1 + 12x 2 = 59

47/104 B. Résoudre 6. Relaxation linéaire et points extrêmes Polyèdres et Polytopes dans IR n Hyperplan H : ensemble des points de IR n vérifiant une équation linéaire. i.e. H = {x IR n a 0 + a 1 x 1 +... + a n x n = b}. Demi-espace : ensemble des points situés d un côté d un hyperplan, i.e. {x IR n a 0 + a 1 x 1 +... + a n x n b}.

47/104 B. Résoudre 6. Relaxation linéaire et points extrêmes Polyèdres et Polytopes dans IR n Hyperplan H : ensemble des points de IR n vérifiant une équation linéaire. i.e. H = {x IR n a 0 + a 1 x 1 +... + a n x n = b}. Demi-espace : ensemble des points situés d un côté d un hyperplan, i.e. {x IR n a 0 + a 1 x 1 +... + a n x n b}. Polyèdre P : intersection de plusieurs demi-espaces i.e. ensemble des points d un système fini d inégalités linéaires P = {x IR n Ax α}. Polytope : polyèdre borné.

47/104 B. Résoudre 6. Relaxation linéaire et points extrêmes Polyèdres et Polytopes dans IR n Hyperplan H : ensemble des points de IR n vérifiant une équation linéaire. i.e. H = {x IR n a 0 + a 1 x 1 +... + a n x n = b}. Demi-espace : ensemble des points situés d un côté d un hyperplan, i.e. {x IR n a 0 + a 1 x 1 +... + a n x n b}. Polyèdre P : intersection de plusieurs demi-espaces i.e. ensemble des points d un système fini d inégalités linéaires P = {x IR n Ax α}. Polytope : polyèdre borné. Or l ensemble des solutions d un PL est un polyèdre! Et on peut se contenter d explorer les solutions optimales d un PL qui sont points extrêmes.

48/104 B. Résoudre 6. Relaxation linéaire et points extrêmes Polyèdres entiers Polyèdre entier : dont tous les points extrêmes sont entiers.

B. Résoudre 6. Relaxation linéaire et points extrêmes Polyèdres entiers Polyèdre entier : dont tous les points extrêmes sont entiers. Donc un PLNE dont la relaxation est un polyèdre entier se résoud polynomialement (matrice TU, PL TDI, flot entier, couplage,...). 48/104

49/104 B. Résoudre 6. Relaxation linéaire et points extrêmes Voir chapitre Points extrêmes et cas polynomiaux dans le support de cours

50/104 B. Résoudre 7. Méthodes de coupes A. Modéliser B. Résoudre 4. Résolution approchée ou exacte 5. Algorithme de Branchement-Evaluation 6. Relaxation linéaire et points extrêmes 7. Méthodes de coupes 8. Inégalités valides et renforcement Qu y-a-t-il dans les solveurs? 9. Génération de colonnes 10. Décomposition C. Résoudre mieux

51/104 B. Résoudre 7. Méthodes de coupes Comment résoudre une formulation non-compacte (P) Max{c T x Ax b} avec n variables mais où Ax b de taille exponentielle.

51/104 B. Résoudre 7. Méthodes de coupes Comment résoudre une formulation non-compacte (P) Max{c T x Ax b} avec n variables mais où Ax b de taille exponentielle. Choisissons A 0 x b 0 sous-ensemble de contraintes de Ax b tel qu il existe une solution finie x 0 au problème restreint à A 0. { Max c (P 0 ) T x A 0 x b 0 x 0

B. Résoudre 7. Méthodes de coupes Comment résoudre une formulation non-compacte (P) Max{c T x Ax b} avec n variables mais où Ax b de taille exponentielle. Choisissons A 0 x b 0 sous-ensemble de contraintes de Ax b tel qu il existe une solution finie x 0 au problème restreint à A 0. { Max c (P 0 ) T x A 0 x b 0 x 0 Si x 0 satisfaisait toutes les inégalités de Ax b restante, alors x 0 serait optimal pour tout P! 51/104

52/104 B. Résoudre 7. Méthodes de coupes Comment résoudre une formulation non-compacte Problème de séparation Etant donné un point x IR n, le problème de séparation associé à Ax b et x consiste à déterminer si x satisfait toutes les inégalités de Ax b et sinon à trouver une inégalité de Ax b violée par x.

52/104 B. Résoudre 7. Méthodes de coupes Comment résoudre une formulation non-compacte Problème de séparation Etant donné un point x IR n, le problème de séparation associé à Ax b et x consiste à déterminer si x satisfait toutes les inégalités de Ax b et sinon à trouver une inégalité de Ax b violée par x. Si on trouve une telle inégalité alphax β existe, on l ajoute au programme (P 0 ). ax β (P 1 ) Max c T x A 0 x b 0 αx β x 1

53/104 B. Résoudre 7. Méthodes de coupes Comment résoudre une formulation non-compacte Algorithme de coupes (cutting-plane based algorithm) : Tant qu il existe une inégalité de Ax B violée par x i Ajouter l inégalité au programme (P i ) : on obtient P i+1 Résoudre la relaxation linéaire x i+1 de P i+1 i = i + 1

53/104 B. Résoudre 7. Méthodes de coupes Comment résoudre une formulation non-compacte Algorithme de coupes (cutting-plane based algorithm) : Tant qu il existe une inégalité de Ax B violée par x i Ajouter l inégalité au programme (P i ) : on obtient P i+1 Résoudre la relaxation linéaire x i+1 de P i+1 i = i + 1 Theorem (Grötschel, Lovász, Schrijver, 1981) Une méthode de coupes sur un système Ax b de contraintes est polynomial si et seulement si l algorithme de séparation associé à Ax b est polynomial.

54/104 B. Résoudre 7. Méthodes de coupes En pratique : On connaît uniquement Ax B un premier ensemble d inégalités tel que tout point entier les vérifiant est solution. Le polyèdre du problème est l inconnue... (P) Max cx Ax B x entier x 1

B. Résoudre 7. Méthodes de coupes En pratique : On connaît uniquement Ax B un premier ensemble d inégalités tel que tout point entier les vérifiant est solution. Le polyèdre du problème est l inconnue... αx β Max cx Ax B (P 2 ) αx β x entier x 1 Mais on peut ajouter des contraintes supplémentaires pour renforcer et s approcher du polyèdre : - des contraintes de branchement. - des inégalités de coupes 55/104

56/104 B. Résoudre 7. Méthodes de coupes Algorithme de séparation pour le problème du stable Les inégalités de cycles impairs C x(u) cycle impair C 2 u dans C sont séparables en temps polynomial (plus court chemin dans un graphe approprié).

56/104 B. Résoudre 7. Méthodes de coupes Algorithme de séparation pour le problème du stable Les inégalités de cycles impairs C x(u) cycle impair C 2 u dans C sont séparables en temps polynomial (plus court chemin dans un graphe approprié). Les inégalités de cliques x(u) 1 pour toute clique K u K ont un problème de séparation associé NP-complet...

B. Résoudre 7. Méthodes de coupes Algorithme de séparation pour le problème du stable Les inégalités de cycles impairs C x(u) cycle impair C 2 u dans C sont séparables en temps polynomial (plus court chemin dans un graphe approprié). Les inégalités de cliques x(u) 1 pour toute clique K u K ont un problème de séparation associé NP-complet... Mais on peut en déterminer un nombre intéressant heuristiquement pour renforcer quand même la formulation. 56/104

57/104 B. Résoudre 7. Méthodes de coupes Algorithme de Branch-and-Cut A moins que P = NP, il semble impossible de posséder un algorithme de coupes pour résoudre un PLNE sans branchement. Le couplage d un algorithme de coupes et d un branchement est appelé Branch-and-Cut algorithm.

B. Résoudre 7. Méthodes de coupes Algorithme de Branch-and-Cut A moins que P = NP, il semble impossible de posséder un algorithme de coupes pour résoudre un PLNE sans branchement. Le couplage d un algorithme de coupes et d un branchement est appelé Branch-and-Cut algorithm. En pratique, on utilisation un framework : - pour l arbre de branchement - pour la résolution des programmes linéaires (utilisant les solveurs linéraires puissants Cplex, LP,...) Concert Technology (Cplex), Abacus, Coin-OR, Scip. Les plus puissants possèdent en plus : - une phase de prétraitement (inférence logique, réduction du PL) - des générations automatiques de contraintes génériques par des algorithmes de coupes 57/104

58/104 B. Résoudre 7. Méthodes de coupes Voir chapitre Algorithmes de coupes dans le support de cours

59/104 B. Résoudre 8. Inégalités valides et renforcement A. Modéliser B. Résoudre 4. Résolution approchée ou exacte 5. Algorithme de Branchement-Evaluation 6. Relaxation linéaire et points extrêmes 7. Méthodes de coupes 8. Inégalités valides et renforcement Qu y-a-t-il dans les solveurs? 9. Génération de colonnes 10. Décomposition C. Résoudre mieux

60/104 B. Résoudre Qu y-a-t-il dans les solveurs? Qu y-a-t-il dans les solveurs? On distingue deux cas : - Inégalités génériques : les inégalités sont valides pour tout PLNE. - Inégalités dédiées : les inégalités sont spécifiques à un problème. Les solveurs entiers mettent en place des techniques de générations automatiques d inégalités à partir des inégalités du PLNE initiales.

61/104 B. Résoudre Qu y-a-t-il dans les solveurs? Somme de Chvàtal : exemple du problème du stable max Une technique célèbre pour obtenir de telles inégalités valides de manière automatique est la somme de Chvátal-Gomory : additionner plusieurs contraintes et à diviser les coefficients de la contrainte obtenue. En utilisant le fait que certaines sommes de termes sont entières, on peut en déduire une nouvelle contrainte. On peut utiliser la somme de Chvátal-Gomory pour créer un algorithme de coupes génériques et adaptables à tout PLNE : la métode duale fractionnaire. Cette méthode converge vers une solution optimale mais exessivement lentement. En revanche, les inégalités produites par cette méthode permettent d accélérer fortement les algorithmes de coupes et branchements génériques. Il existe une méthode similaire appelée méthode de Lovász-Schrivjer.

62/104 B. Résoudre Qu y-a-t-il dans les solveurs? Somme de Chvàtal : exemple du problème du stable max Exemple du polyèdre du stable. Partons des inégalités aux arêtes. Supposons que G contienne un cycle impair de G (c est-à-dire que G n est pas biparti). On somme les k contraintes associées aux k arêtes du cycle : x(u 1 ) + x(u 2 ) 1 x(u 2 ) + x(u 3 ) 1... x(u 1 ) + x(u k ) 1 2 u V (C) u V (C) x(u) k x(u) k 2

63/104 B. Résoudre Qu y-a-t-il dans les solveurs? Somme de Chvàtal : exemple du problème du stable max Comme le côté gauche de l inégalité est une somme d entier, le côté droit peut lui aussi être ramené à l entier immédiatement inférieur. D où, comme k est impair, on obtient finalement u V (C) x(u) k 1. 2 Lorsque k est impair, on obtient aini les contraintes dites de cycles impairs pour le problème du stable : v V (C) x(v) C 1 2 C cycle impair (12)

64/104 B. Résoudre Qu y-a-t-il dans les solveurs? Ex : Exemple d inégalités génériques, les cover inequalities : Après transformations basiques, toute inégalité d un PLNE peut être vue comme une inégalité de sac-à-dos : n a i x i b avec a i 0, b 0. i=1 R {1,..., n} est un cover si i R a i > b

64/104 B. Résoudre Qu y-a-t-il dans les solveurs? Ex : Exemple d inégalités génériques, les cover inequalities : Après transformations basiques, toute inégalité d un PLNE peut être vue comme une inégalité de sac-à-dos : n a i x i b avec a i 0, b 0. i=1 R {1,..., n} est un cover si i R a i > b et alors l inégalité x i R 1. i R est valide pour la formulation.

B. Résoudre Qu y-a-t-il dans les solveurs? Ex : Exemple d inégalités génériques, les cover inequalities : Après transformations basiques, toute inégalité d un PLNE peut être vue comme une inégalité de sac-à-dos : n a i x i b avec a i 0, b 0. i=1 R {1,..., n} est un cover si i R a i > b et alors l inégalité x i R 1. i R est valide pour la formulation. Les cover inequalities sont séparables heuristiquement efficacement (mais problème NP-difficile en général). 64/104

65/104 B. Résoudre Qu y-a-t-il dans les solveurs? Voir chapitre Inégalités valides et renforcement dans le support de cours

66/104 B. Résoudre 9. Génération de colonnes A. Modéliser B. Résoudre 4. Résolution approchée ou exacte 5. Algorithme de Branchement-Evaluation 6. Relaxation linéaire et points extrêmes 7. Méthodes de coupes 8. Inégalités valides et renforcement Qu y-a-t-il dans les solveurs? 9. Génération de colonnes 10. Décomposition C. Résoudre mieux

67/104 B. Résoudre 9. Génération de colonnes La formulation par les stables du problème de coloration contourne une partie des symétries, mais elle contient un nombre exponentiel de variables!

67/104 B. Résoudre 9. Génération de colonnes La formulation par les stables du problème de coloration contourne une partie des symétries, mais elle contient un nombre exponentiel de variables! On peut résoudre la relaxation linéaire d une telle formulation par une méthode de génération de colonnes. Initialisation avec une coloration quelconque donnant un premier lot de stables couvrant le graphe On teste s il existe une variable pouvant améliorer la relaxation : on recherche alors une colonne de coût réduit négatif (étape de pricing) Si c est le cas, on l ajoute et on recommence, sinon on a la valeur optimale de la relaxation linéaire

67/104 B. Résoudre 9. Génération de colonnes La formulation par les stables du problème de coloration contourne une partie des symétries, mais elle contient un nombre exponentiel de variables! On peut résoudre la relaxation linéaire d une telle formulation par une méthode de génération de colonnes. Initialisation avec une coloration quelconque donnant un premier lot de stables couvrant le graphe On teste s il existe une variable pouvant améliorer la relaxation : on recherche alors une colonne de coût réduit négatif (étape de pricing) Si c est le cas, on l ajoute et on recommence, sinon on a la valeur optimale de la relaxation linéaire Remarque : il s agit très exactement de l algorithme du simplexe!

68/104 B. Résoudre 9. Génération de colonnes Dans le cas de la formulation du problème de coloration par les stables, le problème de pricing est NP-difficile : il revient à déterminer un stable de poids maximum dans le graphe.

68/104 B. Résoudre 9. Génération de colonnes Dans le cas de la formulation du problème de coloration par les stables, le problème de pricing est NP-difficile : il revient à déterminer un stable de poids maximum dans le graphe. Néanmoins on sait résoudre le problème du stable de manière heuristique très efficacement et en exacte assez bien... cela suffit pour résoudre le problème sur des graphes de quelques centaines de sommets avec un algorithme de Branch-and-Price.

68/104 B. Résoudre 9. Génération de colonnes Dans le cas de la formulation du problème de coloration par les stables, le problème de pricing est NP-difficile : il revient à déterminer un stable de poids maximum dans le graphe. Néanmoins on sait résoudre le problème du stable de manière heuristique très efficacement et en exacte assez bien... cela suffit pour résoudre le problème sur des graphes de quelques centaines de sommets avec un algorithme de Branch-and-Price. Et en complétant cela avec un moteur d inférence de propagation de contraintes, S. Gualandi, F. Malucelli (2011) ont pu résoudre des graphes à plusieurs milliers de sommets!

69/104 B. Résoudre 9. Génération de colonnes Voir chapitre Génération de colonnes dans le support de cours

70/104 B. Résoudre 9. Génération de colonnes Amélioration naturelle : Mais pourquoi ne pas ajouter des inégalités dans le programme maître?

70/104 B. Résoudre 9. Génération de colonnes Amélioration naturelle : Mais pourquoi ne pas ajouter des inégalités dans le programme maître? (On utilise alors un algorithme de Branch-and-Cut-and-Price).

70/104 B. Résoudre 9. Génération de colonnes Amélioration naturelle : Mais pourquoi ne pas ajouter des inégalités dans le programme maître? (On utilise alors un algorithme de Branch-and-Cut-and-Price). Parce qu il n est pas toujours simple de manipuler les variables duales associées à certaines contraintes...

71/104 B. Résoudre 10. Décomposition A. Modéliser B. Résoudre 4. Résolution approchée ou exacte 5. Algorithme de Branchement-Evaluation 6. Relaxation linéaire et points extrêmes 7. Méthodes de coupes 8. Inégalités valides et renforcement Qu y-a-t-il dans les solveurs? 9. Génération de colonnes 10. Décomposition C. Résoudre mieux

72/104 B. Résoudre 10. Décomposition Voir intro Décomposition dans le support de cours. Le chapitre ne sera pas approfondi dans ce module cette année.

73/104 C. Résoudre mieux Partie C : Résoudre mieux

74/104 C. Résoudre mieux A. Modéliser B. Résoudre C. Résoudre mieux Introduction 11. Définitions et résultats fondamentaux 12. Caractérisation de polyèdre

75/104 C. Résoudre mieux Qu est-ce qu une bonne formulation PLNE

75/104 C. Résoudre mieux Qu est-ce qu une bonne formulation PLNE Cette question est assez difficile et reste une question ouverte.

75/104 C. Résoudre mieux Qu est-ce qu une bonne formulation PLNE Cette question est assez difficile et reste une question ouverte. Par contre, on sait dire ce qu est une mauvaise formulation!

75/104 C. Résoudre mieux Qu est-ce qu une bonne formulation PLNE Cette question est assez difficile et reste une question ouverte. Par contre, on sait dire ce qu est une mauvaise formulation! Si une formulation : - possède une relaxation linéaire très éloignée de la solution optimale - entraîne de nombreux noeuds dans l arbre de branchement qui ne sont pas stériles - contient énormément de solutions symétriques (i.e. de même coût et de structure combinatoire très proche) Bref... si elle est très difficile à résoudre par un algorithme de Branch-and-Bound : on dit qu elle est mauvaise!

76/104 C. Résoudre mieux Comment obtenir bonne formulation PLNE par les approches polyédrales : Plusieurs techniques issues de l approche polyédrale : - Renforcer une formulation : ajouter des inégalités valides pour le problème (c est-à-dire vérifiée par toutes les solutions entières du problème ; qui coupe des points fractionnaires. - Reformuler : Changer de formulation (en conservant ou non l espace des variables. But : - Améliorer la relaxation linéaire D avantage d élagage - Rapprocher la formulation d un cas entier D avantage de nœuds stériles

77/104 C. Résoudre mieux Introduction Comment renforcer une formulation PLNE Point extrême d un PL à n variables : Point satisfaisant à l égalité n contraintes linéairement indépendantes.

77/104 C. Résoudre mieux Introduction Comment renforcer une formulation PLNE Point extrême d un PL à n variables : Point satisfaisant à l égalité n contraintes linéairement indépendantes. La résolution d un programme linéaire (algo du simplexe) fournit des points extrêmes de la formulation.

77/104 C. Résoudre mieux Introduction Comment renforcer une formulation PLNE Point extrême d un PL à n variables : Point satisfaisant à l égalité n contraintes linéairement indépendantes. La résolution d un programme linéaire (algo du simplexe) fournit des points extrêmes de la formulation. Exemple : Le problème du stable dans un graphe limité à un cycle C de C sommets. 1 2 1 2 1 2 Point extrême optimal pour c(u) = 1 u C. 1 2 1 2

78/104 C. Résoudre mieux Introduction Comment renforcer une formulation PLNE Or comme il y a au plus l inégalité C 2 sommets du cycle C dans un stable, u dans C est vérifiée pour tout stable de C. x(u) C 2

78/104 C. Résoudre mieux Introduction Comment renforcer une formulation PLNE Or comme il y a au plus l inégalité C 2 sommets du cycle C dans un stable, u dans C est vérifiée pour tout stable de C. x(u) C 2 Le point fractionnaire ( 1 2, 1 2,..., 1 2 ) est non satisfait par cette contrainte. On dit que la contrainte coupe le point fractionnaire.

79/104 C. Résoudre mieux Introduction Soit le PLNE (P) de relaxation linéaire (P ) suivant : Max z = 2x 1 + x 2 x 1 4x 2 0, 3x 1 + 4x 2 15, x 1 0, x 2 0, x 1, x 2 IN.

79/104 C. Résoudre mieux Introduction Soit le PLNE (P) de relaxation linéaire (P ) suivant : x 2 Max z = 2x 1 + x 2 x 1 4x 2 0, 3x 1 + 4x 2 15, x 1 0, x 2 0, x 1, x 2 IN. 4 3 2 1 3x 1 + 4x 2 = 15 x opt = (3, 1) 0 1 2 3 4 5 x opt = ( 15 4, 15 16 ) x 1 4x 2 = 0 x 1 x opt solution entière optimale de (P). x opt solution fractionnaire optimale de (P ).

80/104 C. Résoudre mieux Introduction Regardons les points extrêmes qui sont entiers par construction). Max z = 2x 1 + x 2 x 1 4x 2 0, 3x 1 + 4x 2 15, x 1 0, x 2 0, x 1, x 2 IN.

80/104 C. Résoudre mieux Introduction Regardons les points extrêmes qui sont entiers par construction). x 2 Max z = 2x 1 + x 2 x 1 4x 2 0, 3x 1 + 4x 2 15, x 1 0, x 2 0, x 1, x 2 IN. 4 3 x opt = (3, 1) 2 1 0 1 2 3 4 5 x 1 x opt est point extrême de l enveloppe convexe des solutions entières de (P).

80/104 C. Résoudre mieux Introduction Regardons les points extrêmes qui sont entiers par construction). x 2 Max z = 2x 1 + x 2 x 1 4x 2 0, 3x 1 + 4x 2 15, x 1 0, x 2 0, x 1, x 2 IN. 4 3 x opt = (3, 1) 2 1 0 1 2 3 4 5 x 1 x opt est point extrême de l enveloppe convexe des solutions entières de (P). x opt est coupée par les inégalités des hyperplans formant cette enveloppe.

81/104 C. Résoudre mieux Introduction Pour un problème d optimisation combinatoire P définis par : - un ensemble fini d éléments E = {e 1,...e n } - une famille F de sous-ensembles de E - et un vecteur-poids c = (c(e 1 ),..., c(e n )) associé à E

81/104 C. Résoudre mieux Introduction Pour un problème d optimisation combinatoire P définis par : - un ensemble fini d éléments E = {e 1,...e n } - une famille F de sous-ensembles de E - et un vecteur-poids c = (c(e 1 ),..., c(e n )) associé à E Posons S l ensemble de vecteurs entiers, dits d incidence, de F, i.e. pour F F, χ F (e) = 1 si e F et 0 sinon. Alors P Max {cx x S} (13)

82/104 C. Résoudre mieux Introduction Enveloppe convexe : Considérons l enveloppe convexe conv(s) des solutions de P, i.e. le plus petit ensemble convexe contenant S.

82/104 C. Résoudre mieux Introduction Enveloppe convexe : Considérons l enveloppe convexe conv(s) des solutions de P, i.e. le plus petit ensemble convexe contenant S. Alors Le problème P a même solution optimale que le problème P Max {cx x conv(s)}. (14)

82/104 C. Résoudre mieux Introduction Enveloppe convexe : Considérons l enveloppe convexe conv(s) des solutions de P, i.e. le plus petit ensemble convexe contenant S. Alors Le problème P a même solution optimale que le problème P Max {cx x conv(s)}. (14) Or une enveloppe convexe est un PL! Si l on connaissait les inégalités définissant conv(s), le problème serait résolue par l algo du simplexe ou un algo de coupes.

82/104 C. Résoudre mieux Introduction Enveloppe convexe : Considérons l enveloppe convexe conv(s) des solutions de P, i.e. le plus petit ensemble convexe contenant S. Alors Le problème P a même solution optimale que le problème P Max {cx x conv(s)}. (14) Or une enveloppe convexe est un PL! Si l on connaissait les inégalités définissant conv(s), le problème serait résolue par l algo du simplexe ou un algo de coupes. A moins que P=NP, on ne peut pas connaître toutes les inégalités d une enveloppe convexe d un problème difficile.

83/104 C. Résoudre mieux Introduction Formulation PLNE et Formulation PL : En général, on connaît uniquement Ax B un premier ensemble d inégalités tel que tout point entier les vérifiant est solution. Le polyèdre du problème est l inconnue... Si on le connaissait, le problème serait ramené à un PL! Max cx (P) Ax B x entier Max cx (P) Dx C x reel x 1

C. Résoudre mieux Introduction Un exemple en dimension 3 : Prenons l ensemble des vecteurs d incidence des sous-ensembles de sommets induisant un sous-graphe sans cycle dans un cycle de 3 sommets. Quelle est leur enveloppe convexe? Elle est incluse dans l hypercube de dimension 3 : x 1 1 x 2 1 x 3 1 x 1 0 x 2 0 x 3 0 84/104

85/104 C. Résoudre mieux Introduction Un exemple en dimension 3 : Prenons l ensemble des vecteurs d incidence des sous-ensembles de sommets induisant un sous-graphe sans cycle dans un cycle de 3 sommets. Quelle est leur enveloppe convexe? x 1 + x 2 + x 3 2

C. Résoudre mieux Introduction Un exemple en dimension 3 : Prenons l ensemble des vecteurs d incidence des sous-ensembles de sommets induisant un sous-graphe sans cycle dans un cycle de 3 sommets. Quelle est leur enveloppe convexe? L enveloppe est exactement donnée : x 1 + x 2 + x 3 2 x 1 1 x 2 1 x 3 1 x 1 0 x 2 0 x 3 0 86/104

87/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux A. Modéliser B. Résoudre C. Résoudre mieux Introduction 11. Définitions et résultats fondamentaux 12. Caractérisation de polyèdre

88/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux Indépendance linéaire et affine Des points x 1,..., x k IR n sont dits linéairement indépendants (resp. affinement indépendants) si le système k λ i x i = 0 i=1 ( resp. k λ i x i = 0 et i=1 admet une solution unique, λ i = 0 pour i = 1,..., k. ) k λ i = 0 Remarque : Les deux assertions suivantes sont équivalentes : i) (x 1,..., x n ) n points affinement indépendants. ii) (x 2 x 1,..., x n x 1 ) n 1 points (vecteurs) linéairement indépendants. i=1

89/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux Dimension Un polyèdre P de IR n est de dimension d si P possède au maximum d + 1 points affinement indépendants. Un polytope est un polyèdre borné, c est-à-dire qu un polyèdre P IR n est un polytope s il existe x 1, x 2 IR n tel que x 1 x x 2, pour tout x P.

90/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux Ex : le polyèdre du stable d un graphe G = (V, E) : est un stable d un graphe {u} est un stable d un graphe pour tout sommet u V. Les vecteurs d incidence de ces V + 1 points sont affinement indépendants. Donc le polyèdre du stable est de dimension V (on dit qu il est de pleine dimension).

91/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux Une inégalité est valide pour P si tout point de P la vérifie.

91/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux Une inégalité est valide pour P si tout point de P la vérifie. Ex : le polyèdre du stable d un graphe G = (V, E) : Pour un cycle C donné, l inégalité C x(u) 2 u dans C est valide pour tout cycle C.

92/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux Pour ax α une inégalité valide pour P. F = {x P ax = α} est une face de P. Si dim(f ) = dim(p) 1, F est appelée facette de P.

92/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux Pour ax α une inégalité valide pour P. F = {x P ax = α} est une face de P. Si dim(f ) = dim(p) 1, F est appelée facette de P. Toute contrainte valide pour P qui ne définit pas de facette de P est redondante pour la formulation.

92/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux Pour ax α une inégalité valide pour P. F = {x P ax = α} est une face de P. Si dim(f ) = dim(p) 1, F est appelée facette de P. Toute contrainte valide pour P qui ne définit pas de facette de P est redondante pour la formulation. Ex : le polyèdre du stable d un graphe G = (V, E) :

92/104 C. Résoudre mieux 11. Définitions et résultats fondamentaux Pour ax α une inégalité valide pour P. F = {x P ax = α} est une face de P. Si dim(f ) = dim(p) 1, F est appelée facette de P. Toute contrainte valide pour P qui ne définit pas de facette de P est redondante pour la formulation. Ex : le polyèdre du stable d un graphe G = (V, E) : Si C n est pas impair ou s il contient une corde, la contrainte de cycle n est pas une facette.