Réseaux de transports

Documents pareils
Programmation linéaire

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

Programmation Linéaire - Cours 1

Chapitre 5 : Flot maximal dans un graphe

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

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

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

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

Programmation linéaire

Programmation linéaire

Annexe 6. Notions d ordonnancement.

Optimisation Discrète

RECHERCHE OPERATIONNELLE

Programmation linéaire et Optimisation. Didier Smets

INFO-F Algorithmique 3 et Recherche Opérationnelle

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

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

Jean-Philippe Préaux

Eléments de Théorie des Graphes et Programmation Linéaire

Cours de Master Recherche

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Plus courts chemins, programmation dynamique

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

Cours de recherche opérationnelle I

Modélisation multi-agents - Agents réactifs

Résolution de systèmes linéaires par des méthodes directes

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Analyse en Composantes Principales

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.

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

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

Théorèmes de Point Fixe et Applications 1

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

Chp. 4. Minimisation d une fonction d une variable

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

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

Coup de Projecteur sur les Réseaux de Neurones

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

FaceBook aime les Maths!

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

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

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

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

ils entretiennent entre eux des flux, ils partagent des perceptions sur l environnement

FIMA, 7 juillet 2005

MIS 102 Initiation à l Informatique

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

Ordonnancement temps réel

Contrainte de flot pour RCPSP avec temps de transfert

OPTIMISATION À UNE VARIABLE

Cours d analyse numérique SMI-S4

Resolution limit in community detection

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

de calibration Master 2: Calibration de modèles: présentation et simulation d

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

Echantillonnage Non uniforme

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Cours Informatique Master STEP

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

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

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

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

Optimisation for Cloud Computing and Big Data

4.2 Unités d enseignement du M1

Table des matières. 1 Programmation linéaire 1

Théorie et codage de l information

Algorithmes pour la planification de mouvements en robotique non-holonome

LES MÉTHODES DE POINT INTÉRIEUR 1

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

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

CCP PSI Mathématiques 1 : un corrigé

Continuité et dérivabilité d une fonction

Résolution d équations non linéaires

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Chapitre VI - Méthodes de factorisation

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Lagrange, où λ 1 est pour la contrainte sur µ p ).

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Problème 1 : applications du plan affine

L apport du HPC pour l optimisation. Eric Jacquet-Lagrèze. FORUM TERATEC 28 juin 2011

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Polynômes à plusieurs variables. Résultant

par Denis-Charles Cisinski & Georges Maltsiniotis

L exclusion mutuelle distribuée

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

Rappels sur les suites - Algorithme

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

Chapitre 2. Matrices

Optimisation, traitement d image et éclipse de Soleil

Chapitre 3. Les distributions à deux variables

Programmation par contraintes. Laurent Beaudou

Application de K-means à la définition du nombre de VM optimal dans un cloud

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

Chapitre 4 : Exclusion mutuelle

LES PROBLEMES D'ORDONNANCEMENT

Mathématiques appliquées à l'économie et à la Gestion

NOTATIONS PRÉLIMINAIRES

Transcription:

Réseaux de transports Marie-Pierre Béal Université Paris-Est Marne-la-Vallée. L3 Informatique

Bibliographie V. Chávtal. Linear Programming, W.H. Freeman, 1983.

Exemple de problèmes de transport Example On considère 2 usines Michelin qui fabriquent chaque jour l une 550 pneus et l autre 350 pneus. Ces usines approvisionnent 3 magasins qui doivent recevoir chaque jour respectivement 400, 300, et 200 pneus. Le coût de transport de chaque pneu par différents types de transports ou routes est donné. Quelles voies doit-on emprunter pour acheminer toutes les marchandises à moindre coût? 400 300 200 5 6 3 3 5 4 550 350

Programmation linéaire entière Nous allons étudier un problème d optimisation particulier, dit problème de réseaux de transports. Ces problèmes sont plus compliqués que les problèmes de flots. Ils admettent une solution calculable en temps polynomial. Un réseau est modélisé sous la forme d un graphe orienté avec pour chaque flèche ij, un coût c ij, pour chaque sommet i, un offre (positive) ou demande (négative) b i. pour chaque flèche ij, la valeur, positive ou nulle, de flot passant dans l arc x ij. Elle représente la quantité (de matière) transportée à un instant donné dans l arc ij. Les valeurs x ij forment une solution si x ij 0, pour chaque sommet i, on a j x ji k x ik = b i. ( ce qui rentre moins ce qui sort )

Exemple 0 8 1 29 5 18 10 5 4 53 8 37 28 44 6 59 3 60 2 0 98 38 23 9 15 6 14 7

Exemple Un sommet i tel que b i < 0 est une source. Un sommet i tel que b i > 0 est un puits. On a i b i = 0. Formulation matricielle du problème Minimiser c ij x ij sous la contrainte Ax = b, x 0, avec A de taille n a, où n est le nombre de sommets et a le nombre d arcs et A[k,ij] = 1 si ij est un arc, k = i, A[k,ij] = 1 si ij est un arc, k = j, A[k,ij] = 0 sinon

Exemple 0 29 8 18 5 10 53 8 37 28 44 59 6 60 0 98 38 23 9 14 15

Algorithme du simplexe sur un réseau 1) On part d un arbre T recouvrant qui est une solution (lorsqu il en existe une). On dit que l on a une solution arbre. 0 8 8 1 10 9 9 6 6 0 15 9 15

Algorithme du simplexe sur un réseau 2) On définit un vecteur des prix y = (y 1,...,y n ) à une constante près par y i +c ij = y j pour tout arc ij de T. 33 0 18 29 51 10 62 8 4483 6 28 23 60 0 23 11 0 9 15

Algorithme du simplexe sur un réseau 3) On recherche un arc entrant e = uv, e / T tel que y u +c uv < y v. 3) T +e crée un cycle. On cherche un arc sortant f sur le cycle. C est un arc en sens opposé à e sur le cycle et de flot maximal. 4) T T +e f. 5) Mise à jour de T. 6) Mise à jour de x, mise à jour des prix y.

Algorithme du simplexe sur un réseau 33 0 18 29 51 10 62 8 4483 6 28 23 60 0 59 23 11 0 9 15

Algorithme du simplexe sur un réseau 33 0 18 29 51 10 62 8 4483 6 28 23 60 0 e 23 11 0 9 15

Algorithme du simplexe sur un réseau 33 0 1+t 8-t 51 10 62 8 9 83 6 6 9-t 23 0 +t 15-t 11 0 9 15

Algorithme du simplexe sur un réseau L arc (15) sort. 33 0 1+t 8-t 51 10 62 8 9 83 6 6 9-t 23 0 +t 15-t 11 0 9 15

Algorithme du simplexe sur un réseau L arc (15) sort. 33 0 9 51 10 62 8 9 83 6 6 23 1 0 8 7 11 0 9 15

Algorithme du simplexe sur un réseau Mise à jour des prix. 33 0 18 51 10 59 8 4483 6 28 23 60 0 59 23 11 0 9 15

Nouvelle itération 31 0 10 1 49 10 59 8 9 83 6 6 23 0 8 7 13 0 9 15

Théorie Formulation matricielle du problème Minimiser cx sous la contrainte Ax = b, x 0 A matrice d incidence du graphe b vecteur colonne des demandes c vecteur ligne des coûts x vecteur colonne solution y vecteur ligne des prix

Étape 1 Départ : arbre recouvrant T, solution x ij T,y i +c ij = y j Soit c = c ya, c est-à-dire c ij = c ij +y i y j. On a c ij = 0 pour ij T; x ij = 0 pour ij / T; donc cx = 0. Soit x n importe quelle autre solution. On a c x = c x +cx.

Étape 2 Soit e = uv / T tel que y u +c uv < y v. Proposition Si u tel arc n existe pas, x est une solution optimale Preuve Si ij c ij +y i y j 0, alors c 0, donc c x 0. D où c x cx pour toute solution x.

Étape 2 Sinon, on définit x ij = x ij si ij / cycle; x ij = x ij +t si ij est dans le cycle avec le même sens que e. x ij = x ij t si ij est dans le cycle avec le sens inverse de celui de e. L arc sortant f est un arc du cycle tel que x f = min{x ij ij est à l envers sur le cycle}. (S il n y avait pas d arc à l envers, on aurait des solutions non bornées). A x = Ax implique que x est une solution. Comme e est le seul arc ij tel que c ij 0 et x ij 0, on a c x = c e x e = c e t c x = cx + c e t. Comme c e < 0, on maximise t avec x 0. c e t est l amélioration du coût global à chaque itération.

Problèmes Solutions dégénérées (x f = 0). Cycles Étape 0 : trouver une solution initiale arbre.

Solutions dégénérées et cycles Une solution dégénérée correspond à x f = 0. Dans ce cas, le coût ne diminue pas. L algorithme peut cycler. La stratégie suivante permet d éviter les cycles (et garantie donc que l algorithme s arrête). On fixe un sommet appelé root. Si C est le cycle créé par l arc entrant e, on appelle join le sommet du cycle le plus proche de root. On choisit comme arc f sortant le premier arc du cycle en sens inverse de e rencontré en partant de join en parcourant le cycle dans le sens de e.

Étape 0 : trouver une solution initiale arbre Cas trivial Il existe un sommet w tel que Pour toute source s, il existe un arc sw Pour tout puit p, il existe un arc wp

Étape 0 : trouver une solution initiale arbre On pose x sw = b s pour une source s et x wp = b p pour un puit p 0 8 0 10 10 8 6 6 w 9 15 9 15 Ici b w = 0.

Étape 0 : trouver une solution initiale arbre Sinon un tel sommet w n existe pas, on définit un problème auxiliaire. On choisit w arbitraire et on ajoute des flèches (de chaque source vers w et de w vers chaque puit) manquantes. Ces flèches sont appelées arcs artificiels. On définit une nouvelle matrice de coûts avec p ij = 0 pour un arc réel, p ij = 1 pour un arc artificiel. On résout le problème auxiliaire avec l algorithme du simplexe. On note x la solution optimale. Trois cas sont possibles. 1 On trouve un arbre optimal T ne contenant pas d arc artificiel. On a alors un arbre solution pour le problème initial. 2 On trouve un arbre optimal avec un arc artificiel uv tel que x uv > 0. Le problème initial n a pas de solution. 3 On trouve un arbre optimal qui a des arcs artificiels, mais chacun d eux ij est tel que x ij = 0.

Cas 3 : on découpe en sous-problèmes Soit T l arbre optimal et uv un arc artificiel. R = {k y k y u } S = {k y k > y u } 1 u R, v S 2 k S b k = 0 3 Il n existe pas d arc ij réel avec i R, j S. Preuve 1 y u +p uv = y v et p uv = 1 car uv est artificiel. 3 y i +p ij y j et p ij = 0 pour ij réel. Donc i R j R. 2 b k = (ce qui rentre dans S) (ce qui sort de S) k S = i/ S,j S x ij i S,j/ S x ij = i S,j/ S x ij par [3] = 0 car ij tel que i S,j R n est pas dans T

Exemple de problèmes de transport Example Calculer une solution arbre initiale et une solution optimale sur l exemple suivant. 400 300 200 5 6 3 3 5 4 550 350

Théorème d intégrité Théorème On considère le problème Minimiser cx sous la contrainte Ax = b où A est la matrice d incidence d un graphe (comme ci-dessus), x 0 et tel que b a tous ses coefficients entiers. alors, s il existe une solution, il existe une solution entière. le problème a parmi ses solutions optimales (s il en existe) une solution optimale entière. Preuve : algorithme du simplexe sur les réseaux.

Application du théorème d intégrité Théorème de König On considère un ensemble E de n garçons et un ensemble F de n fille. Chaque garçon connaît exactement k filles et chaque filles connaît exactement k garçons avec k 1. On considère qu une fille ou garçon peut se marier avec quelqu un qu elle ou qu il connaît. Montrer que l on peut arranger n mariages.