PROGRAMMATION DYNAMIQUE

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

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

Programmation linéaire

Chapitre 5 : Flot maximal dans un graphe

Jean-Philippe Préaux

Programmation linéaire

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

LE PROBLEME DU PLUS COURT CHEMIN

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

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

Annexe 6. Notions d ordonnancement.

Resolution limit in community detection

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Optimisation Discrète

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

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

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

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

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

MATHS FINANCIERES. Projet OMEGA

Plus courts chemins, programmation dynamique

OPTIMISATION À UNE VARIABLE

Cours d Analyse. Fonctions de plusieurs variables

Modélisation et Simulation

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Programmation Linéaire - Cours 1

Pourquoi l apprentissage?

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

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

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

Exercice : la frontière des portefeuilles optimaux sans actif certain

LES MÉTHODES DE POINT INTÉRIEUR 1

Équations non linéaires

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

FIMA, 7 juillet 2005

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


GUIDE PRATIQUE déplacements professionnels temporaires en France et à l étranger

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

chapitre 4 Nombres de Catalan

aux différences est appelé équation aux différences d ordre n en forme normale.

Programmation linéaire et Optimisation. Didier Smets

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

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

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

Quantification Scalaire et Prédictive

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

THÈSE. En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE. Touria CHAFQANE BEN RAHHOU

Algorithmes d'apprentissage

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

TD 1 - Structures de Traits et Unification

PG-10 DÉPENSES DU CONSEIL, DES COMITÉS ET D AUTRES BÉNÉVOLES

Cours d analyse numérique SMI-S4

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Modélisation multi-agents - Agents réactifs

Partie 1. La structure des réseaux sociaux

Algorithmes de recherche

Créer et modifier un fichier d'import des coordonnées approximatives avec Excel

Travaux dirigés n 1. Programmation linéaire

Trépier avec règle, ressort à boudin, chronomètre, 5 masses de 50 g.

Chapitre 0 Introduction à la cinématique

3 Approximation de solutions d équations

Résolution d équations non linéaires

Théorèmes de Point Fixe et Applications 1

Chp. 4. Minimisation d une fonction d une variable

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

Tutoriel Mathematica Les graphiques

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

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

G.P. DNS02 Septembre Réfraction...1 I.Préliminaires...1 II.Première partie...1 III.Deuxième partie...3. Réfraction

Traitement bas-niveau

Les structures de données. Rajae El Ouazzani

Les évolutions des échanges de données dans le domaine du transport. Bertrand Cuissart septembre 2005 EDI. B. Cuissart.

Sur la Commande des Systèmes (max,+) Linéaires.

FaceBook aime les Maths!

INFO-F Algorithmique 3 et Recherche Opérationnelle

Introduction au Data-Mining

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

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

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

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

LIVRE BLANC Décembre 2014

Cours de Master Recherche

Texte Agrégation limitée par diffusion interne

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

MODÉLISATION DU FONCTIONNEMENT EN PARALLELE À DEUX OU PLUSIEURS POMPES CENTRIFUGES IDENTIQUES OU DIFFERENTES

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Algorithmes pour la planification de mouvements en robotique non-holonome

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

ENSPS 3A ISAV Master ISTI AR. J. Gangloff

Représentation d un entier en base b

MIS 102 Initiation à l Informatique

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

Simulation de variables aléatoires

Calculs et Certificats de Quantités d Intérêts Non Linéaires d un Mousqueton Cédric Bellis

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Transcription:

PROGRAMMATION DYNAMIQUE 1 Le principe d optimalité de Bellman La programmation dynamique est fondée sur le principe d optimalité de Bellman : Soit f une fonction réelle de x et y = (y 1, y 2,..., y n ). Si f est décomposable, sous la forme : alors, on a : f(x, y) = f 1 (x, f 2 (y)) Opt x,y f(x, y) = Opt x {f 1 (x, Opt y {f 2 (y)}) où Opt représente Min ou Max. Remarque: Le principe d optimalité s applique sous la même forme en présence de contraintes: (x, y) Ω, y Ω x. Master SIS 2009-2010 1

Equation de la programmation dynamique : Pour une séquence de décisions u 0, u 1,..., u T, une séquence d états x 0, x 1,..., x T, une fonction de transition : x k+1 = θ k (x k, u k ) et une fonction objectif séparable. on définit pour chaque étape une fonction de coût optimal à venir (cas additif): F k (x k ) = Opt uk {f k (x k, u k ) + F k+1 (θ k (x k, u k )))}. On peut alors procéder récursivement à partir de la période terminale T (Procédure en arrière) : x 0 x 1 x k x T-1 x T x k+1 0 1 k k+1 T-1 T t Figure 1: Trajectoire Optimale Propriété Fondamentale Toute sous-trajectoire de la trajectoire optimale est optimale pour le problème à horizon réduit associé. Master SIS 2009-2010 2

2 Algorithme de programmation dynamique Etape 1 Calculer pour chaque valeur possible de x T : La solution optimale satisfait: F T (x T ) = Opt ut {f T (x T, u T )} Etape 2 Calculer successivement, pour k = T 1,..., 1, et pour chaque valeur possible de x k : F k (x k ) = Opt uk {f k (x k, u k ) + F k+1 (θ k (x k, u k )))} Etape 3 Calculer J = F (x 0 ) = Opt u0 {f 0 (x 0, u 0 ) + F 1 (θ 0 (x 0, u 0 )))} Master SIS 2009-2010 3

3 Application 1 : voyage avec escales Un avion doit faire une séquence de vols le conduisant de la ville 1 à la ville 10 avec escales. Les lieux d'escales possibles sont décrits par le schéma suivant. 5 2 8 1 3 6 10 9 7 A chaque trajet (i,j) est associé un coût, c ij donné par l'un des tableaux suivants. 2 2 1 3 3 5 6 7 2 7 6 3 3 3 2 1 3 8 9 5 1 2 6 5 3 7 3 3 10 8 3 9 Master SIS 2009-2010

Modélisation et résolution On cherche le trajet minimisant le coût total. En notant x k la ville atteinte à l étape k, on peut écrire le critère : z = n c xk 1 x k k=1 avec x 0 = 1 et x = 10. Si à l étape k on se trouve à la ville i, le coût minimal restant jusqu à la destination finale est noté f k (i). En particulier, z = f 0 (1) et f (10) = 0. L équation d optimalité s écrit, pour k = 0, 1, 2, 3 : f k (i) = min x k+1 (c ixk+1 + f k+1(x k+1 ). Le principe de la programmation dynamique en sens rétrograde consiste à résoudre le problème pour toutes les valeurs possibles de i à chaque étape dans l ordre 3,2,1,0. Les trajectoires localement optimales sont gardées en mémoire, ce qui permet de reconstituer ensuite le trajet en sens direct. Master SIS 2009-2010 5

Etapes du calcul : k=3 i f3 (i) x 8 3 10 9 10 k=2 i f2 (i) x 3 5 8 6 7 9 7 6 8 k=1 i f1 (i) x 2 2 11 5 ou 6 3 7 5 8 5 ou 6 k=0 i f0 (i) x 1 1 11 3 ou La valeur optimale du critère est donc 11. On retrouve les trajets fournissant cette valeur optimale en relisant en sens inverse les trajets successifs: (1, 3, 5, 8, 10) ou (1,, 6, 9, 10) ou (1,, 5, 8, 10). Master SIS 2009-2010 6

Application 2 Algorithmes de recherche du chemin le plus long (le plus court) Soit l ij la longueur de l arc ij du graphe G = (X, U). Un chemin µ dans G est une succession d arcs ij tels que: x ij = 1 ssi u ij µ, x ij = 0 sinon. La longueur du chemin µ est: l(µ) = u ij µ l ij = u ij U x ij l(u ij ). Le problème du plus long chemin du sommet s au sommet t consiste à trouver le chemin µ reliant t à s, dont la longueur, l(µ) est maximale. Master SIS 2009-2010 7

Formulation en programmation linéaire: Maximiser u ij U x ij l ij sous i P (j) u ij l S(l) u jl = a j avec a s = 1, a t = +1, a j = 0 si j s, j t. Le dual de ce problème s écrit ainsi: Minimiser λ t sous λ j λ i l ij et λ s = 0. A l optimum, λ j est la longueur du plus long chemin de s à j. Existence de solution Le problème dual a des solutions (admissibles) si et seulement s il n existe pas dans G de circuit absorbant, c.a.d. de circuit de longueur positive. Procédures de marquage Marquer le noeud i, c est affecter une valeur (temporaire ou définitive) à λ i. Master SIS 2009-2010 8

Algorithme de Moore-Dijkstra En général, cet algorithme est utilisé si toutes les longueurs l ij sont non-négatives. Soit P (i) l ensemble des prédécesseurs du sommet i. On cherche le chemin de longueur maximale à partir d un sommet s 1. On pose : λ s = 0 λ 0 i = 0, i s. On considère un ensemble S de sommets définitivement marqués. Au départ,s = {s} 2. On introduit l un après l autre tous les sommets (s,...,t) du graphes. Le sommet s k est introduit à l itération k. Le vecteur λ k est construit par: λ k j = max(λ k 1 j, λ k 1 s k + l sk j) On garde en mémoire le meilleur antécédent de j. Cet algorithme donne par λ n tous les chemins extrémaux issus de s en n itérations. Il permet aussi de détecter d éventuels circuits absorbants. Cet algorithme correspond à la résolution par approximations successives de l équation d optimalité de Bellman: λ j = max i P (j) {λ i + l ij } La solution optimale est trouvée en n-1 étapes de parcours de tous les sommets. Et pour chaque nouveau sommet dans S, on parcourt tous les sommets non marqués. La complexité de l algorithme est O(n 2 ). Master SIS 2009-2010 9

Exemple d application Un projet comporte 10 opérations reliées par le graphe de précédence potentiels-tâches suivant: G 1 3 H I 2 3 3 5 2 2 3 A B C D E F 1 J K Figure 3: Graphe du projet Master SIS 2009-2010 10

1. Recherche du chemin critique dans le graphe On applique l algorithme de Moore pour trouver le chemin critique, et tous les plus longs chemins à partir du début de l opération A. Les longueurs de ces chemins sont obtenus par programmation dynamique à partir du marquage successif des sommets A B G C J H D I K E : A B G C J H D I K E A 0 0 0 0 0 0 0 0 0 0 B 5 5 5 5 5 5 5 5 5 5 G 0 9 9 9 9 9 9 9 9 9 C 0 9 9 9 9 9 9 9 9 9 J 0 9 9 9 9 9 9 9 9 9 H 0 0 10 11 11 11 11 11 11 11 D 0 0 0 11 13 1 1 1 1 1 I 0 0 0 0 0 1 1 1 1 1 K 0 0 0 0 13 13 13 13 13 13 E 0 0 0 0 0 1 16 16 16 16 F 0 0 0 0 0 0 0 18 18 19 Le chemin critique est obtenu en remontant les chemins les plus longs à partir du sommet F jusqu à A. Sa longueur est 19. C est: A B C H D E F. Master SIS 2009-2010 11

2. Seconde étape Calcul des dates de début au plus tôt et au plus tard de toutes les opérations pour une date due globale correspondant au minimum atteignable. La date au plus tôt de l opération i est la longueur du plus long chemin (A,i), obtenu précédemment. La date de début au plus tard de la tâche i est la date due de F (19), moins la longueur du plus long chemin (i,f). Sur le chemin critique, les dates au plus tôt et au plus tard sont égales. 9-10 11 1 3 1-15 G H I 3 2 3 0 5 5 9 1 16 19 2 2 3 A B C D E F J K 1 9-10 Figure : Dates du projet 13-15 Master SIS 2009-2010 12

. 5 Application 3 : Problème de voyageur de commerce n villes V = 1; :::; n constituent les sommets d'un graphe. Un arc (ij) represente un chemin direct de i à j, avec un coût cij. C 12 2 C 23 1 C 21 C 32 3 C 1 C 3 C 1 C 3 Master SIS 2009-2010 13

Modélisation du problème de commerce voyageur de On cherche le circuit hamiltonien de coût minimal. i U,j / U Minimiser c ij x ij sous x ij = 1 i j i x ij = 1 j x ij 1 U V ; 2 U V 2 et x ij = 0 ou 1. Master SIS 2009-2010 1