INFO-F Algorithmique 3 et Recherche Opérationnelle
|
|
|
- Fernande Paquin
- il y a 10 ans
- Total affichages :
Transcription
1 INFO-F- - Algorithmique et Recherche Opérationnelle Yves De Smet Bernard Fortz - Table des matières I Introduction Aide à la décision et modèles mathématiques Quelques exemples de modèles mathématiques Tour d horizon des techniques de recherche opérationnelle II Programmation linéaire 6 Définition, exemples et méthode de résolution 6. Notions de bases Exemples de modèles linéaires Forme standard et forme canonique d un programme linéaire Résolution de programmes linéaires Résolution graphique La méthode du simplexe La méthode des deux phases Cas particuliers Dualité. Le problème dual Relations primal/dual Interprétation économique de la dualité Méthode simplexe duale Solveurs et langages de modélisation III Le problème de transport 7 Définition et exemples 8 Algorithme pour le problème de transport 9 Le problème de transbordement IV Le flot maximum 6 Introduction 6 Formulation 6
2 Coupe minimum 6 Algorithme de Ford-Fulkerson 6 V Flots de coût minimum 9 Définitions et exemples 9 Algorithme de chemins augmentants 9 6 Extensions VI Couplages 6 7 Introduction 6 8 Affectations bipartites 7 9 Le problème des mariages stables VII La programmation dynamique Retour aux plus courts chemins Le problème de sac-à-dos Détermination de la taille des lots 6
3 Première partie Introduction Aide à la décision et modèles mathématiques Un premier problème Exemple (Achat de billets d avion). Un homme d affaires doit effectuer voyages entre Fayetteville (FYV) à Denver (DEN), en partant le lundi de FYV et revenant le mercredi de DEN à FYV. Billet aller-retour : $. Réduction de % si un weekend est inclus. Aller simple : 7 % du prix aller-retour. Question Comment acheter les billets pour les semaines (à prix minimum)? Aide à la décision Problème d aide à la décision. Quelles sont les alternatives possibles?. Quelles sont les restrictions à cette décision?. Quel est l objectif utilisé pour évaluer les alternatives? Restrictions FYV-DEN le lundi et DEN-FYV le mercredi de la même semaine. Evaluation des alternatives Alternatives Acheter FYV-DEN-FYV normaux. x $ = $ Acheter un FYV-DEN, DEN-FYV-DEN comprenant un weekend et un DEN-FYV..7 x $ + x.8 x $ +.7 x $ = $88 Acheter un FYV-DEN-FYV pour le lundi de la première semaine et le mercredi de la dernière semaine, et DEN-FYV-DEN comprenant un weekend pour les autres voyages. x.8 x $ = $6 La troisième alternative est la meilleure. Modèle de recherche opérationnelle Ingrédients principaux Alternatives (variables, inconnues du problème). Restrictions (contraintes). Fonction objectif à optimiser (minimiser ou maximiser). Définition (Solution admissible). Une solution admissible est un ensemble de valeurs données aux variables qui satisfait toutes les contraintes. Définition (Solution optimale). Une solution optimale est une solution admissible qui optimise la fonction objectif. Définition (Modèle de recherche opérationnelle). Maximiser ou minimiser (fonction objectif) Sujet à { contraintes } Variables : continues (réelles), entières, booléennes (/),... Objectif : linéaire / non-linéaire, concave / convexe,...
4 Contraintes : linéaire / non-linéaire, concave / convexe, égalités / inégalités,... Paramètres : connus avec certitude (modèles déterministes) / incertains (modèles stochastiques) Exemple (Maximisation de la surface d un rectangle). Supposons que l on veut plier un fil de fer de longueur L en rectangle de manière à maximiser la surface du rectangle. l w Formulation max A = lw s.t. l + w = L Solution A = ( L w) w = Lw w da dw = L w = Solution optimale : w = l = L Méthodes de résolution Dans l exemple, solution analytique au problème. La plupart des problèmes pratiques sont trop grands ou trop complexes pour être résolus analytiquement. Méthodes itératives Déplacement de solution en solution pour atteindre l optimum (méthodes exactes) ou une "bonne" solution (heuristiques). Importance des algorithmes et des solutions informatiques. Quelques exemples de modèles mathématiques Un problème de placement Une entreprise veut placer un capital K. Six modalités de placement sont offertes sur le marché, les taux d intérêt étant respectivement %,, %,, %, %, % et, %. Pour satisfaire aux contraintes légales, l entreprise doit placer au moins % de son capital suivant les deux premières modalités, au plus % suivant les deux suivantes et au plus % suivant les deux dernières. Combien l entreprise doit-elle placer dans chaque modalité de façon à maximiser son intérêt total? Fabrication de crème glacée Un fabriquant désire produire kg d une préparation de base pour crème glacée. Cette préparation doit contenir, kg de matières grasses, kg de sucre,, kg d oeufs et 6, kg d eau. Les ingrédients dont il dispose figurent ci-dessous, avec les pourcentages (en poids) de chaque constituant, et le coût au kg. Matières gr. Sucre Oeufs Eau Coût Crème 6 Jaune d oeuf frais Lait 88 Jaune d oeuf surgelé 6 Sirop 7,8 Eau Le fabriquant désire déterminer la composition du mélange de coût minimal.
5 Localisation d émetteurs de télévision Cinq sites ont été retenus pour construire des émetteurs de télévision destinés à desservir localités. Le tableau ci-dessous donne, pour chaque site, le coût de construction d un émetteur sur ce site et les localités desservies par cet émetteur. Site Coût Localités desservies,,, 7, 8, 7,, 6, 8, 9, 6,,, 8,,, 6, 7, 9 Un problème de localisation Une société de distribution désire construire un ou plusieurs entrepôts à partir desquels elle servira 6 clients importants. Quatre terrains appartenant à la société sont disponibles. Le tableau ci-dessous reprend, pour chacun d eux, la capacité maximum de l entrepôt qui pourrait y être construit, le coût de construction et le coût unitaire de transport de cet éventuel entrepôt vers chaque client. Sachant que les quantités demandées par les clients sont respectivement de,,,,, et 7, où faut-il construire un (des) entrepôt(s) et comment faut-il organiser la distribution de façon à minimiser le coût total de l opération? Clients 6 Capacité Coût Entrepôts maximum construction Tour d horizon des techniques de recherche opérationnelle Recherche opérationnelle La recherche opérationnelle est une technique d aide à la décision. Etapes pratiques. Définition du problème. Construction d un modèle. Solution du modèle. Validation du modèle. Implémentation de la solution Méthodologie Les étapes les plus importantes sont la définition du problème (suppose un dialogue avec le décideur) et la construction du modèle (prendre conscience des hypothèses simplificatrices et de leur impact). La phase de validation doit permettre de remettre en cause la validité du modèle. Une approche globale nécessite donc un aller-retour constant entre le modèle et les attentes du décideur. Techniques principales Programmation linéaire Programmation en nombres entiers Optimisation dans les réseaux Programmation non linéaire "Optimisation" multi-critères Programmation dynamique Modèles stochastiques Simulation
6 Deuxième partie Programmation linéaire Définition, exemples et méthode de résolution. Notions de bases Programmation linéaire Définition (Programme linéaire). Modèle mathématique dans lequel la fonction objectif et les contraintes sont linéaires en les variables. Applications Optimisation de l usage de ressources limitées dans les domaines militaire, industriel, agricole, économique,... Existence d algorithmes très efficaces pour résoudre des problèmes de très grande taille (simplexe, points intérieurs). Exemples de modèles linéaires Exemple (Production de peinture). Une société produit de la peinture d intérieur et d extérieur à partir de deux produits de base M et M. Données Quantité utilisée par tonne Quantité disponible par jour Extérieure Intérieure M 6 M 6 Profit par tonne Contraintes supplémentaires Demande maximum en peinture d intérieur : tonnes / jour. La production en peinture d intérieur ne dépasser que d une tonne celle d extérieur. Formulation (Production de peinture) Alternatives (variables, inconnues du problème) x = tonnes de peinture d extérieur produites par jour x = tonnes de peinture d intérieur produites par jour Fonction objectif à optimiser max z = x + x Restrictions (contraintes) 6
7 6x + x x + x 6 x x x x, x Solutions et méthodes de résolution Solution admissible : satisfait toutes les contraintes. x =, x = ( z = 9) Nous voulons trouver la solution (admissible) optimale. Infinité de solutions admissibles! Méthodes pour trouver l optimum Méthode graphique Simplexe ( Ellipsoide, points intérieurs ) Exemple (Diet problem). On désire déterminer la composition, à coût minimal, d un aliment pour bétail qui est obtenu en mélangeant au plus trois produits bruts : orge et arachide. La quantité nécessaire par portion est de g. L aliment ainsi fabriqué devra comporter au moins % de protéines et au plus % de fibres. Données Quantité par gramme d aliment Coût Aliment Protéines Fibres (EUR / kg) Orge.9.. Arachide.6.6. Formulation (Diet problem) Variables x = grammes d orge par portion x = grammes d arachide par portion Objectif min z =.x +.x Contraintes Quantité totale : x + x Protéines :.9x +.6x.(x + x ) Fibres :.x +.6x.(x + x ) Non-négativité : x, x 7
8 . Forme standard et forme canonique d un programme linéaire Forme standard Définition (Forme standard). Un programme linéaire est sous forme standard lorsque toutes ses contraintes sont des égalités et toutes ses variables sont non-négatives. Représentation matricielle max s.c. c T x Ax = b x n variables, m contraintes, m < n, c, x R n, b R m, A R m n. Forme canonique Définition 6 (Forme canonique). Un programme linéaire est sous forme canonique lorsque toutes ses contraintes sont des inégalités et toutes ses variables sont non-négatives. Représentation matricielle max s.t. c T x Ax b x n variables, m contraintes, c, x R n, b R m, A R m n. Théorème (Equivalence des formes standard et canonique). Tout programme linéaire peut s écrire sous forme standard et sous forme canonique. Démonstration. Une containte d inégalité a T x b peut être transformée en égalité par l introduction d une variable d écart : a T x + s = b, s. Une contrainte d égalité a T x = b peut être remplacée par deux inégalités : a T x b a T x b a T x b a T x b. min c T x = max c T x. Variable x non restreinte : substitution par deux variables (partie positive et négative) x = x + x x +, x. Il existe toujours une solution optimale telle que x + = ou x =. 8
9 Forme standard du problème de production de peinture max z = x + x s.c. 6x + x x + x 6 x x x x, x Forme standard max z = x +x s.c. 6x +x +s = x +x +s = 6 x +s = x +x +s = x, x, s, s, s, s Forme matricielle max s.t. c T x Ax = b x c =, x = x x s s s s, A = 6, b = 6 Variables pouvant prendre des valeurs négatives Exemple (Vente de hamburgers). Un fast-food vend des hamburgers et des cheeseburgers. Un hamburger utilise g. de viande alors qu un cheeseburger n en utilise que g. Le fast-food démarre chaque journée avec kg de viande mais peut commander de la viande supplémentaire avec un coût additionnel de EUR par kg pour la livraison. Le profit est de. EUR pour un hamburger et. EUR pour un cheeseburger. La demande ne dépasse pas 9 sandwiches / jour, et les surplus de viande sont donnés au Restos du Coeur. Combien le fast-food doit-il produire de sandwiches de chaque type par jour? Variables x = nombre de hamburgers / jour x = nombre de cheeseburgers / jour Contraintes Commande de viande supplémentaire : x + x + x =, x non restreint Le coût pour la viande supplémentaire apparaît seulement si x <. 9
10 Substitution de x par variables non-négatives : x = x + x, x+, x x + x + x + x = Borne supérieure sur les ventes : x + x 9. Modèle complet max z =.x +.x.x s.c. x + x + x + x = x + x 9 x, x, x +, x Remarque : Il existe une solution optimale telle que x + = ou x =.. Résolution de programmes linéaires.. Résolution graphique Représentation graphique () () () () () (6) Production de peinture max z = x + x sous les contraintes : 6x + x () x + x 6 () x () x x () x () x (6)
11 Géométrie des solutions B A C D z= E F Ensemble des solutions admissibles Polyèdre (ABCDEF) Courbes de niveaux de l objectif Ensemble de solutions ayant un profit (valeur de l objectif) donné : intersection entre une droite et le polyèdre. Amélioration de la solution Recherche d une direction dans laquelle le profit z augmente. Résolution graphique (Production de peinture) z= B A C D E F Recherche de la solution optimale La droite mobile doit garder une intersection avec l ensemble des solutions admissibles. Solution optimale : x =, x =. (E) La solution optimale est un sommet du polyèdre. Cette observation est la base de l algorithme du simplexe.
12 Résolution graphique (Diet problem) Diet problem min z =.x +.x sous les contraintes x + x.x.x.x.x x x Solution optimale x = 7. x = z = La méthode du simplexe Idées de base Solution optimale : sommet (point extrême). Idée fondamentale du simplexe : déplacement de sommet en sommet adjacent de manière à améliorer la fonction objectif. Transformation des inégalités en égalités : forme standard du programme linéaire - système de m équations à n inconnues (m < n). Identification algébrique des sommets : correspondance avec les bases d un système d équations. Solutions de base Système de m équations linéaires à n inconnues (m < n) : infinité de solutions. Si on fixe à zéro n m variables : système de m équations à m inconnues possédant une solution unique (si la matrice est inversible). C est une solution de base. Définition 7 (Solution de base). Une solution de base d un programme linéaire est la solution unique du système de m équations à m inconnues obtenu en fixant à zéro n m variables (pourvu que la matrice du système soit inversible). Les variables fixées à zéro sont appelées variables hors base et les autres variables en base.
13 Exemple 6 (Production de peinture). Prenons B = {s, s, s, s }. z = +x +x s = 6x x s = 6 x x s = x s = +x x Si x = x =, alors s =, s = 6, s =, s =. Toutes ces valeurs sont non-négatives et la solution est réalisable. Définition 8 (Solution de base réalisable). Une solution de base telle que toutes les variables prennent des valeurs non-négatives est appelée solution de base réalisable. Géométrie des solutions de base B A C D E F Prenons B = {s, s, s, s } x = x =, s =, s = 6, s =, s =. Cette solution de base réalisable correspond au sommet (, ). Base Solution Objectif Sommet {s, s, s, s } (, ) A {x, s, s, s } (, ) F {s, x, s, s } (6, ) Non réalisable {x, x, s, s } (,.) E Théorème. Toute solution de base réalisable correspond à un sommet du polyèdre. Détermination de la solution de base optimale n! Nombre maximum de solutions de base : m!(n m)! Algorithme "bête et méchant" : énumération de toutes les bases. Méthode du simplexe : partir d une solution de base admissible et passer à une solution de base voisine qui améliore la valeur de l objectif. Solution voisine : changement d une variable en base. etapes :. Détermination de la variable entrante.. Détermination de la variable sortante.. Pivotage. L algorithme du simplexe Variable entrante z = +x +x s = 6x x s = 6 x x s = x s = +x x Si x (ou x ) augmente (entre en base), la valeur de la fonction objectif z augmente. Quelle est la valeur maximale de x?
14 Contraintes : les autres variables doivent rester positives. Variable sortante s = 6x x s = 6 x x 6 s = toujours! s = +x x toujours! x Pivotage Si x =, alors s =. x entre en base, s sort de la base. Substitution : x = 6 s x Nouveau système : z = 6 s + x x = 6 s x s = + 6 s x s = x s = 6 s x Représentation matricielle (dictionnaire) B = indices des variables en base, N = indices des variables hors base. Décomposition des données et variables (en réarrangeant l ordre des variables) : A = ( ( ) ( ) ) xb cb A B A N, x =, c = x N c N avec x B, c B R m, x N, c N R n m, A B R m m, A N R m (m n). Equations du simplexe Si A B est inversible : Ax = b A B x B + A N x N = b x B + A B A N x N = A B b Notation : z = c T x = c T Bx B + CN T x N = c T B(A B b A B A Nx N ) + c T Nx N = c T BA B b + (ct N c T BA B A N) } {{ } coûts réduits ou profits marginaux x l + k N a lk x k = b l l B x N z = z + k N c k x k
15 Règles de pivotage Variable entrante Choisir la variable k hors base avec le profit marginal maximum (max z) ou le coût réduit minimum (min z). max z k = arg max i i N min z k = arg min i i N Si c k (max) ou c k (min) pour tout k N, solution optimale, STOP. z = +x +x s = 6x x s = 6 x x s = x s = +x x Variable sortante Choisir la variable l en base telle que l = arg Si a lk pour tout l B, problème non borné, STOP. min b j j B:a jk > a jk z = +x +x s = 6x x s = 6 x x s = x s = +x x Pivotage a ij = b i = a lj a lk a ij a ika lj a lk b l a lk b i a ikb l a lk i = l i l i = l i l z = +x +x s = 6x x s = 6 x x s = x s = +x x z = 6 s + x x = 6 s x s = + 6 s x s = x s = 6 s x z = s s x = s + s x = + 8 s s s = 8 s + s s = 8 s + s
16 Présentation en tableau Présentation compacte pour effectuer les calculs sans répéter les systèmes d équations. Itération Var. en base z x Solution z c T c T A B A = c ct B A x B A B A = a A B b B b Var. en base z x x s s s s Solution z s 6 s 6 s s Itération Var. en base z x x s s s s Solution z 6 x 6 s 6 s s 6 Itération Var. en base z x x s s s s Solution z x x 8 s 8 s 8.. La méthode des deux phases Solution initiale artificielle Une solution de base admissible n est pas toujours connue a priori. Certains problèmes n admettent pas de solution admissible, donc il est impossible de trouver une base de départ. La méthode des deux phases va permettre de déterminer une base admissible ou prouver que le problème est impossible. Exemple 7 (Méthode des phases). min z = x +x s.c. x +x = x +x 6 x +x x, x 6
17 Introduction des variables d écart min z = x +x s.c. x +x = x +x x = 6 x +x +x = x, x, x, x Pas de base admissible "triviale". On voudrait voir apparaître une matrice identité. Introduction de variables artificielles. Introduction des variables artificielles min z = x +x min r = R +R min r = 7x x +x +9 s.c. x +x +R = x +x x +R = 6 x +x +x = x, x, x, R, R, x R, R et x peuvent être utilisées comme base de départ admissible. Base pour le système de départ si R = R = (hors base). Réécrire l objectif en fonction des variables hors base!.. Cas particuliers Bases dégénérées Si plusieurs choix sont possibles pour la variable sortante, une des variables en base sera nulle à l itération suivante. Base telle qu une variable en base est nulle : base dégénérée. Correspond à une contrainte redondante. Risque de cyclage! Exemple 8 (Bases dégénérées). max z = x +9x s.c. x +x 8 x +x x, x 7
18 Var. en base z x x s s Solution z 9 s 8 s z 9 8 x s z 8 x x En pratique, le risque de cyclage est quasiment nul. Méthodes pour l éviter : perturbations, ordre lexicographique pour les variables entrant en base,... Une bonne analyse a priori pour éliminer les redondances est le meilleur moyen d éviter ces problèmes! Solutions optimales multiples Si la fonction objectif est parallèle à une contrainte active pour la solution optimale, la même valeur de l objectif peut être prise par plusieurs solutions admissibles. Il y a une infinité de solutions optimales dans ce cas (toutes les combinaisons convexes de sommets optimaux). Cela se traduit par un profit marginal nul pour une ou plusieurs variables hors base. Exemple 9 (Solutions optimales multiples). Solution optimale : max z = x +x s.c. x +x x +x x, x Var. en base z x x s s Solution z s s z x s z x x x = α + ( α) = α x = α + ( α) = + α ( α ) Problèmes non bornés Certains problèmes sont non bornés dans une direction donnée. Si cette direction est une direction d amélioration de la fonction objectif, celle-ci peut prendre une valeur arbitrairement grande! 8
19 Exemple (Problèmes non bornés). max z = x +x s.c. x x x x, x Var. en base z x x s s Solution z s s Tous les coefficients (sauf le profit maginal) dans la colonne de x sont négatifs ou nuls. Cela signifie que toutes les contraintes de non-négativité sont satisfaites quelle que soit la valeur de x. L objectif peut donc augmenter indéfiniment. Problèmes impossibles Le système de contraintes peut n avoir aucune solution. Méthode des phases : termine avec des variables artificielles non nulles. Généralement, provient d une mauvaise formulation du problème. Exemple (Problèmes impossibles). max z = x +x s.c. x +x x +x x, x 9
20 Dualité. Le problème dual Problème primal et problème dual Problème primal max s.c. c T x Ax = b x n variables, m contraintes, m < n, c, x R n, b R m, A R m n. Problème dual min s.c. b T y A T y c (y non restreint) m variables, n contraintes, m < n, c R n, b, y R m, A R m n. Exemple (Problème primal et dual - forme standard). Problème primal : max z = x +x s.c. x +x = (y ) x x = 6 (y ) x, x Problème dual : min w = y +6y s.c y +y (x ) y y (x ) Propriétés et règles de construction du dual Théorème. Le problème dual du problème dual est le problème primal. Règles de construction Exemple (Problème primal et dual - forme générale). Problème primal : Problème max Problème min Contrainte Variable = non restreinte Variable Contrainte non restreinte = max z = x +x +x s.c. x +x +x (y ) x x +x = 8 (y ) x, x, x
21 Problème dual : min w = y +8y s.c y +y (x ) y y (x ) y +y (x ) y. Relations primal/dual Théorème (Dualité faible). Considérons la paire primale-duale : max s.c. c T x Ax = b x min s.c. b T y A T y c Si x est une solution admissible du primal et y une solution admissible du dual, alors c T x b T y S il y a égalité, alors x est une solution optimale du primal et y une solution optimale du dual. Théorème (Dualité forte). Considérons la paire primale-duale : max s.c. c T x Ax = b x min s.c. b T y A T y c Si le primal et le dual admettent tous les deux une solution admissible, ils ont tous deux une solution optimale finie et la même valeur objectif optimale. Si le primal (dual) est non borné, le dual (primal) n admet pas de solution admissible. Théorème 6 (Complémentarité). Considérons la paire primale-duale : max s.c. c T x Ax = b x min s.c. b T y A T y c
22 Si x est une solution optimale du primal et y une solution optimale du dual, alors x i (a T i y c i ) =. où a i est la i-ème colonne de A. En d autres termes : x i > a T i y = c i, a T i y > c i x i =. Exemple (Résolution du dual par les règles de complémentarité). Primal (P ) : max z = x +x +x s.c. x +x +x (y ) x x +x = 8 (y ) x, x, x Dual (D) : Solution optimale de (P ) : min w = y +8y s.c y +y (x ) y y (x ) y +y (x ) y (x, x, x ) = z = 7 ( 6, ), Solution optimale de (D) : x > y + y = x > y y = ( ) 9 (y, y ) =, w = 7. Interprétation économique de la dualité La forme canonique d un programme linéaire peut être interprétée comme un problème d allocation de ressources. Paire primale-duale : max s.c. c T x Ax b x min s.c. b T y A T y c y
23 Données : c j : profit par unité d activité j. b i : disponibilité de la ressource i. a ij : consommation de la ressource i par unité d activité j. Variables : x j : niveau de l activité j. y i : valeur d une unité de la ressource i. Interprétation de la dualité faible z w : profit valeur des ressources Interprétation de la dualité forte Le profit maximal est atteint si les ressources ont été exploitées complètement, i.e. jusqu à épuisement de leur valeur. Exemple (Dualité dans le problème de production de peinture). max z = x +x s.c 6x +x x +x 6 x x +x x, x min w = y +6y +y +y 6y +y y y +y +y +y y, y, y, y x =, x =., z = y =.7, y =., y = y =, w = Le profit augmente de.7 par augmentation d une tonne de M et de. par tonne de M. Les "ressources" et sont abondantes, augmenter ces ressources n apporte aucun profit supplémentaire.. Méthode simplexe duale Relations primal / dual dans le tableau du simplexe Tableau primal final Tableau dual final Var. en base z x x s s s s Solution z x x 8 s 8 s 8 Var. en base w t t y y y y Solution w y y
24 Ici, toutes les contraintes dans le primal et dans le dual sont des inégalités correspondance entre variable originale du primal et variable d écart du dual (et vice-versa). Primal x x s s s s Dual t t y y y y Observation : Les valeurs des variables duales sont égales à l opposé des profits marginaux des variables correspondantes du primal. Les valeurs des variables primales sont égales aux coûts réduits des variables correspondantes du dual. Conséquence de la complémentarité des solutions primale et duale. Théorème 7. Considérons la paire primale-duale : max s.c. c T x Ax = b x min s.c. b T y A T y c. Pour toute solution de base non dégénérée x du primal, il existe une et une seule solution y du dual complémentaire à x.. x est admissible si et seulement si y satisfait les conditions d optimalité (coûts réduits non négatifs).. y est admissible si et seulement si x satisfait les conditions d optimalité (profits marginaux négatifs ou nuls). Démonstration. Le dual peut se réécrire sous forme standard : min s.c. b T y A T y t = c t Considérons un ensemble de variables en base B et un ensemble de variables hors base N, tels que la base correspondante est non dégénérée : x B = A B b > x N = Par complémentarité, t B = et A T B y = c B. Dès lors, () et () sont des conséquences directes. y T = c T BA B, tt B = t T N = (c T N c T BA B A N) Simplexe dual : motivation Il arrive souvent qu une solution en base non admissible, mais satisfaisant les contraintes d optimalité soit identifiable facilement (par exemple, variables d écart de contraintes ). Cette base correspond à une solution admissible du dual. Idée de la méthode simplexe duale : résoudre (implicitement) le dual par la méthode du simplexe (mais en travaillant sur le tableau primal!) Partir avec une solution de base satisfaisant les conditions d optimalité (= base admissible pour le dual) et chercher à la rendre admissible (= dual optimale).
25 Règles de pivotage (simplexe dual) Variable sortante Choisir la variable l en base avec la valeur minimum (négative). Si b l pour tout l B, solution admissible, STOP. Variable entrante Choisir la variable k hors base telle que k = arg min c i i N:a li < Si a li pour tout i N, problème non admissible, STOP. Exemple 6 (Simplexe dual). Forme standard avec les variables d écart en base : a li min z = x +x s.c. x +x x +x 6 x +x x, x min z = x +x s.c. x x +s = x x +s = 6 x +x +s = x, x, s, s, s Var. en base z x x s s s Solution z s s 6 s Var. en base z x x s s s Solution z s x s Var. en base z x x s s s Solution z x x 6 s 6 6 Solveurs et langages de modélisation Exemple 7 (Production de jouets). Une société de jouets produit des trains, des camions et des voitures, en utilisant machines. Les disponibilités quotidiennes des machines sont, 6 et minutes, et les profits par train, camion et voiture sont respectivement EUR, EUR et EUR. Les temps nécessaires sur chaque machine sont :
26 Machine Train Camion Voiture Primal max z = x +x +x s.c. x +x +x x +x 6 x +x x, x, x x = x = x = z = Dual min w = y +6y +y s.c. y +y +y y +y y +y y, y, y y = y = y = Var. en base z x x x s s s Solution z x x s Base : B = {x, x, s }. Solveurs Logiciels pour résoudre des programmes linéaires : Indépendants : Commerciaux : CPLEX (IBM), XPRESS-MP (http :// Gurobi (http :// Gratuits : PCx, lpsolve, glpk,... Tableurs : La plupart des tableurs intègrent un outil de résolution de programmes linéaires (Excel, Gnumeric,...) Langages de modélisation (ampl, GNU MathProg, mpl, OPL studio, mosel,...) : langages de haut niveau permettant la séparation modèle/données, se chargeant de l interface avec un solveur. 6
27 NAME toys ROWS L R L R L R N R COLUMNS C R C R C R C R C R C R C R C R C R C R RHS B R B R 6 B R ENDATA FIGURE Exemple de production de jouets au format MPS Solveurs indépendants Avantages Puissance, efficacité Intégrables dans des applications via des librairies Désavantages Formats de fichiers (MPS) Pas de séparation modèle / données Ré-utilisation difficile des modèles Solveurs intégrés aux tableurs Avantages Disponibles sur (quasi) tous les ordinateurs Interface facile d utilisation Présentation des données / résultats Désavantages Difficulté d implémenter de grands modèles Séparation modèle / données difficile Solveurs moins efficaces (en général) Langages de modélisation Avantages Séparation modèle / données Ré-utilisabilité des modèles Indépendance modèle / solveur 7
28 # # Data definition # set Toys; param nmachines; set Machines :=..nmachines; param profit {Toys}; param time {Machines,Toys}; param avail {Machines}; # # Variables # var prod {Toys} >= ; # # Objective # maximize total_profit: sum{t in Toys} profit[t]*prod[t]; # # Constraints # subject to machine_usage {m in Machines}: sum{t in Toys} time[m,t] * prod[t] <= avail[m]; FIGURE Exemple de production de jouets au format AMPL (modèle) Désavantages Apprentissage du langage Prix des versions commerciales Limitation en taille des versions d essai gratuites Moindre efficacité (actuellement) des solveurs gratuits 8
29 # # Data # data; set Toys := Trains, Trucks, Cars ; param nmachines := ; param profit := Trains Trucks Cars ; param time : Trains Trucks Cars := ; param avail := 6 ; end; FIGURE Exemple de production de jouets au format AMPL (données) 9
30 Troisième partie Le problème de transport 7 Définition et exemples Un produit doit être transporté de sources (usines) vers des destinations (dépôts, clients). Objectif : déterminer la quantité envoyée de chaque source à chaque destination en minimisant les coûts de transport. Les coûts sont proportionnels aux quantités transportées. Contraintes d offre limitée aux sources et de demande à satisfaire au destinations. a Sources Destinations b a b a m m c m n x m n n b n Exemple 8 (Modèle de transport). Une firme automobile a trois usines à Los Angeles, Detroit et New Orleans, et deux centres de distribution à Denver et Miami. Les capacités des trois usines sont de, et respectivement, et les demandes aux centres de distribution sont de et voitures. Coûts : Denver Miami Los Angeles 8 Detroit 8 New Orleans 68 Formulation min z = 8x +x +x +8x +x +68x s.c. (Los Angeles) x +x = (Detroit) x +x = (New Orleans) x +x = (Denver) x +x +x = (Miami) x +x +x = x, x, x, x, x, x Représentation tableau
31 Denver Miami Offre Los Angeles 8 Detroit 8 New Orleans 68 Demande Problèmes non balancés Si l offre n est pas égale à la demande : modèle non balancé. Introduction d une source ou destination artificielle. Denver Miami Offre Los Angeles 8 Detroit 8 New Orleans 68 Artif. Demande Variantes Le modèle de transport n est pas limité au transport de produits entre des sources et destinations géographiques. Exemple 9 (Modèle de production). Une société fabrique des sacs à dos, pour lesquels la demande arrive de mars à juin et est de,, 8 et unités, respectivement. La production pour ces mois est de, 8, 8 et 7, respectivement. La demande peut être satisfaite. par la production du mois courant ($ / sac) ;. par la production d un mois précédent (+ $. / sac / mois pour le stockage) ;. par la production d un mois suivant (+ $ / sac / mois de pénalité de retard). Correspondances avec le modèle de transport Transport Source i Destination j Offre à la source i Demande à la destination j Coût de transport de i à j Production - stocks Période de production i Période de demande j Capacité de production à la période i Demande pour la période j Coût unitaire (production + stock + pénalité) pour une production en période i pour la période j 8 Algorithme pour le problème de transport Algorithme pour le problème de transport Basé sur l algorithme du simplexe en tenant compte de la structure du problème.. Détermination d une solution de base admissible.. Détermination de la variable entrant en base.
32 . Détermination de la variable sortant de base. Exemple (Algorithme pour le problème de transport). Offre Demande Détermination d une solution de base admissible Heuristiques "gloutonnes", pas besoin de méthode des deux phases. Variantes :. Coin Nord-Ouest. Méthode des moindres coûts Coin Nord-Ouest Partir du coin supérieur gauche du tableau.. allouer le plus possible à la cellule courante et ajuster l offre et la demande ;. se déplacer d une cellule vers la droite (demande nulle) ou le bas (offre nulle) ;. répéter jusqu au moment où toute l offre est allouée. Exemple (Coin Nord-Ouest). Offre Demande Coût : Moindres coûts Sélectionner la cellule de coût minimum.. allouer le plus possible à la cellule courante et ajuster l offre et la demande ;. sélectionner la cellule de coût minimum ayant une demande et une offre non nulles ;. répéter jusqu au moment où toute l offre est allouée. Exemple (Moindres coûts). Offre Demande Coût : 7
33 Formulation min z = s.c. (u i ) (v j ) m n c ij x ij i= j= n x ij = a i j= m x ij = b j i= x ij i =,..., m j =,..., n i =,..., m, j =,..., n Problème dual m n max w = a i u i + b j v j i= j= s.c. u i + v j c ij i =,..., m, j =,..., n Adaptation du simplexe Critère d optimalité : Complémentarité : u i + v j c ij x ij > u i + v j c ij = Trois étapes :. détermination des variables duales (multiplicateurs) ;. vérification du critère d optimalité et détermination de la variable entrante ;. détermination de la variable sortante pour préserver l admissibilité et pivotage. Détermination des variables duales. m + n équations à m + n inconnues : fixer u =.. Résoudre récursivement le système Exemple (Détermination des variables duales). u i + v j c ij = pour tout x ij >. Offre Demande u = u + v = v = u + v = v = u + v = 7 u = u + v = 9 v = u + v = v = u + v = 8 u =
34 Vérification du critère d optimalité et détermination de la variable entrante Offre Demande Détermination de la variable sortante pour préserver l admissibilité et pivotage Objectifs :. l offre et la demande doivent continuer à être satisfaites ; Méthode :. les quantités transportées doivent rester positives.. construction d un cycle parcourant des variables en base en partant de et revenant à la variable entrante ;. déplacement le long de lignes et colonnes en alternant ajout et retrait d une même quantité. Offre θ +θ -6 7 θ 9 +θ +θ 6 8 θ Demande θ = Offre θ +θ θ 9 θ Demande θ = - Offre Demande 9 Le problème de transbordement Extension du modèle de transport : il est parfois nécessaire (ou moins cher) d utiliser des noeuds intermédiaires pour le transport. Deux usines P et P servent vendeurs D, D et D, via deux centres de transit T et T.
35 P P T 7 T D D 8 9 D Transformation en problème de transport types de noeuds : Noeuds d offre purs : arcs sortants uniquement. offre = offre originale Noeuds de demande purs : arcs entrants uniquement. demande = demande originale Noeuds de transbordement : arcs entrants et sortants. offre/demande = offre/demande originale + buffer Les noeuds de transbordement sont à la fois sources et destinations pour le problème de transport. Buffer : quantité nécessaire pour transporter toute la demande à travers le noeud de transbordement. Dans notre exemple : B =. T T D D D Offre P M M M P M M M T M T M M 9 D M M M D M M M Demande
36 Quatrième partie Le flot maximum Introduction Le problème de flot maximal consiste à transporter la quantité maximale possible d une origine (source) à une destination (puits) données, sans dépasser les capacités des arcs. Données : un graphe dirigé G = (N, A), une capacité u ij > pour tout arc (i, j), une source s et un puits t. Définition 9 (st-flot). Un st-flot dans le réseau est un vecteur d entiers f = (f ij ) associés aux arcs tel que : f ij u ij (i, j) A f ij = f ji i N \ {s, t} j:(i,j) A j:(j,i) A La valeur du flot est v(f) = f sj = f jt. j:(s,j) A j:(j,t) A Formulation Formulation du problème de flot maximal max s.c. j:(i,j) A f ij j:(j,i) A v v i = s, f ji = v i = t, sinon, i N, f ij u ij (i, j) A. Coupe minimum Définition (Coupe). La coupe dans le graphe G = (N, A), définie par le sous-ensemble non vide de noeuds S, est l ensemble d arcs noté δ + (S) sortant de S. δ + (S) = {(i, j) A : i S, j N \ S}. Une st-coupe est une coupe qui sépare s et t, i.e. telle que s S et t N \ S. La capacité d une coupe est la somme des capacités de ses arcs. Théorème 8 (Dualité faible). La capacité d une st-coupe est supérieure ou égale à la valeur d un st-flot. Théorème 9 (Dualité forte). La valeur d un st-flot maximal est égale à la capacité d une st-coupe minimale. Algorithme de Ford-Fulkerson Définition (Arcs en avant / en arrière). Soit f un st-flot, et P un chemin dans le graphe non dirigé obtenu en remplaçant chaque arc de A par une arête. Un arc traversé dans P dans son orientation originale est appelé arc en avant, un arc traversé dans l autre sens est appelé arc en arrière. Définition (Chemin augmentant). Si pour tout arc (i, j) en avant de P, f ij < u ij et pour tout arc (i, j) en arrière de P, f ji >, alors P est appelé chemin f-augmentant. Théorème (Critère d optimalité). Un st-flot f est maximal si et seulement si il n existe pas de chemin f- augmentant. 6
37 Algorithme de Ford et Fulkerson Idée de l algorithme : trouver un chemin augmentant et augmenter le flot sur ce chemin. Initialisation : f =. Alternance de deux phases :. Phase de marquage (recherche d un chemin augmentant).. Phase d augmentation (augmenter le flot sur le chemin trouvé en phase de marquage). Ces deux phases sont répétées jusqu au moment où il n existe plus de chemin augmentant. Phase de marquage. Marquer s par [, ], L = {s}.. Tant que L et t non marqué : (a) Sélectionner i dans L et le retirer de L. (b) Pour tout j non marqué tel que (i, j) A et f ij < u ij, marquer j par [i, α j ] avec α j = min(α i, u ij f ij ) et ajouter j dans L. (c) Pour tout j non marqué tel que (j, i) A et f ji >, marquer j par [i, α j ] avec α j = min(α i, f ji ) et ajouter j dans L.. Si t est non marqué, STOP (plus de chemin augmentant). Phase d augmentation. j = t.. Tant que j s : Soit [i, α j ] la marque de j. Si (i, j) est en avant, f ij = f ij + α t. Si (i, j) est en arrière, f ji = f ji α t. j = i. [, ] [, ] [, ] [, ] [, ] [, ] [, ] [, ] [, ] 7
38 [, ] [, ] [, ] [, ] [, ] [, ] [, ] Les noeuds marqués à la dernière itération définissent la coupe minimale [, ] [, ] Complexité Marquage : O( N + A ). Suppression des marques : O( N ). Examen de tous les successeurs et tous les prédécesseurs : O( A ). Augmentation : O( N ). Après l étape, retour à l etape. A chaque itération on augmente le flot d une unité au moins. Si la valeur de ce flot maximal est F, la complexité maximale totale est en O(F ( N + N + A )) = O(F ( N + A )). L algorithme d Edmonds et Karp a une complexité en temps qui ne dépend pas de la valeur du flot maximum. 8
39 Cinquième partie Flots de coût minimum Définitions et exemples Extension du problème de transbordement : ajout de capacités sur les arcs. Données : un graphe dirigé G = (N, A), une capacité u ij > et un coût c ij > pour tout arc (i, j), une offre b i pour tout noeud i (si b i <, demande). La somme des offres/demandes doit être nulle. Définition (Flot compatible). Un flot compatible avec l offre b est un vecteur d entiers f = (f ij ) associés aux arcs tel que : j:(i,j) A f ij u ij (i, j) A f ij f ji = b i i N j:(j,i) A But : Trouver un flot f compatible avec l offre b de coût total c ij f ij minimal. (i,j) A Bornes inférieures Dans certains cas, une borne inférieure sur les flots peut être donnée (quantité minimale présente sur un arc). l ij f ij u ij f ij f ji = b i j:(i,j) A j:(j,i) A (i, j) A i N Transformation : f ij = f ij l ij, u ij = u ij l ij, b i = b i l ij, b j = b j + l ij Techniques de résolution. Transformation en problème de st-flot et algorithme de chemins augmentants.. Formulation comme un programme linéaire et application particulière du simplexe (simplexe réseau). La première méthode est la plus efficace pour des problèmes de flots "purs". La deuxième méthode peut être appliquée quand le réseau apparaît comme sous-structure d un programme linéaire plus général. Algorithme de chemins augmentants Transformation en problème de st-flot. ajouter une source s et un puits t artificiels ;. pour tout noeud i tel que b i >, ajouter un arc (s, i) de coût nul et de capacité b i ;. pour tout noeud i tel que b i <, ajouter un arc (i, t) de coût nul et de capacité b i. Le problème devient : Trouver un st-flot de coût minimum et de valeur B = i:b i> b i. 9
40 Définition (Graphe résiduel). Etant donné un flot f, le graphe résiduel correspondant est le graphe G = (N, A ) défini par : A = {(i, j) : (i, j) A et f ij < u ij } {(j, i) : (i, j) A et f ij > } Pour déterminer les coûts réduits, un potentiel w i est associé à chaque noeud i (variable duale). Définition (Coûts réduits). Etant donnés des potentiels w i, i V, le coût réduit d un arc dans le graphe résiduel est c ij = c ij w i + w j si (i, j) A, c ij = c ji w i + w j si (j, i) A. Idées de base Le st-flot à trouver est un flot maximal. Construction par l augmentation du flot sur des chemins augmentants. Le chemin choisi dans le graphe résiduel doit être de coût réduit minimal (de manière à augmenter le flot à coût minimum). Au début de l algorithme, le graphe résiduel est le graphe de départ et les potentiels sont tous nuls (donc les coûts réduits sont égaux aux coûts originaux). Algorithme de chemins augmentants. Initialisation : f =, w i = pour tout noeud i.. Calculer le chemin augmentant de coût réduit minimal dans le graphe résiduel (e.g. Dijkstra).. Phase d augmentation.. Mettre à jour les potentiels des noeuds, le graphe résiduel et les coûts réduits. Répéter (), () et () jusqu au moment où toute l offre est envoyée. Mise à jour des potentiels w i = w i d(s, i) i N où d(s, i) est le coût réduit du chemin minimal de s à i dans le graphe résiduel. Exemple Itération
41 s t s t Itération s t
42 s t Itération s t - s t Itération
43 s t s t Itération s t
44 s t Solution finale s t - 6 Extensions Flots multi-produits Le réseau sert à transporter un ensemble K de produits. Chaque produit k K a son propre vecteur de demande b k. Les coûts peuvent également dépendre du produit (c k ij ). La capacité est utilisée par tous les produits simultanément. Formulation min s.c. j:(i,j) A k K (i,j) A f k ij c k ijf k ij j:(j,i) A f k ji = b k i i N, k K, fij k u ij (i, j) A, k K f k ij (i, j) A, k K.
45 Problème de routage en télécommunications Cas particulier : application dans les réseaux de télécommunications. Chaque produit correspond à une paire de clients devant communiquer. Pour chaque produit, st-flot entre les deux clients s et t de valeur égale à la demande de ces clients. Programme linéaire de très grande taille (exemple : noeuds, arcs, demandes variables et contraintes). Avec les solveurs actuels : quelques minutes de temps calcul.
46 Sixième partie Couplages 7 Introduction Étant donné un graphe non orienté, un couplage, ou matching en anglais, est un sous-ensemble d arêtes sans sommet commun et dans lequel des sommets peuvent rester isolés (ces sommets n ont alors aucune arête entrante ou sortante). Le couplage maximum est le couplage couvrant le plus grand nombre de sommets possibles, en laissant donc le moins de sommets isolés. Pour illustrer cela, nous pouvons, par exemple, imaginer des jeunes universitaires diplômés indiquant les entreprises dans lesquelles ils désirent travailler, en les classant par ordre de préférence. D un autre côté, les entreprises réalisent aussi un classement des jeunes diplômés qu elles désirent préférentiellement accueillir. Le problème réside en la répartition des jeunes diplômés au sein des entreprises en satisfaisant au mieux les choix des jeunes diplômés et des entreprises. En termes de graphes, cet exemple revient donc à relier des sommets «jeunes diplômés»et des sommets «entreprises». Néanmoins, cet exemple considère, en plus de la définition ci-dessus, un critère d optimalité, puisque des préférences sont indiquées. Ainsi, ici, à chaque couplage doit aussi être associé une valeur indiquant la qualité du couplage à la lumière des préférences annoncées. Ce problème précis sera abordé à la section 9. Considérons le graphe non dirigé suivant, où chaque sommet peut potentiellement être couplé avec n importe quel autre sommet : Nous pouvons «coupler»tous les sommets, par exemple, de la manière suivante : Nous avons six sommets et trois couplages, il n y a alors aucun sommet isolé, c est une situation idéale. Par contre, considérons le graphe suivant : 6
47 Cette fois, nous ne pourrons coupler tous les sommets. Sinon, en effet, nous devons choisir un couplage reprenant le sommet. Si on choisit le couple (,), les sommets et 6 sont isolés ; si on choisit le couple (,), le sommet 6 est isolé ; de même si on choisit le couple (,6), le sommet est alors isolé. Il faut donc faire un choix tel que, sur l ensemble du graphe, nous ayons le moins de sommets isolés. Ici, il apparaît qu il faille éviter de coupler le sommet avec le sommet, puisque cela a comme conséquence d isoler deux sommets alors que le sommet peut encore être couplé avec le sommet ou le sommet. Un exemple de couplage maximum est alors : Nous avons alors 6 sommets et couplages. D autres couplages maxima existent, comme par exemple : {(,6),(,),,} ou {(,6),(,),,}, etc. 8 Affectations bipartites Souvent une telle technique de couplage s applique sur des graphes bipartis. Un graphe biparti est, ici, un graphe non dirigé dans lequel toutes les arêtes relient des sommets appartenant à deux ensembles disjoints, aucune arête ne pouvant relier deux sommets d un même ensemble. Dans notre exemple de la section 7, les entreprises forment un ensemble et les jeunes diplômés en forment un second. Il apparaît naturellement qu un graphe biparti ne peut contenir de cycle de longueur impaire. Le problème de l affectation bipartite (bipartite assignment) consiste, étant donné un graphe biparti, à trouver un ensemble d arcs de cardinalité maximum tel que chaque sommet est connecté à un autre sommet au plus. Considérer tous les couples possibles représente un trop grand travail. Une meilleure solution consiste à se baser sur la technique de flot maximum que nous avons vue au chapitre IV. Pour construire une solution, on crée un sommet source dont les arcs sortants pointent, un à un, sur chaque élément d un des deux ensembles de sommets du graphe biparti. Puis on ajoute un sommet puits vers lequel pointent tous les sommets de l autre ensemble. Toutes les arêtes du réseau ainsi composé ont une capacité égale à. On applique alors l algorithme de flot maximum sur ce réseau, en considérant que le sens des canalisations va toujours de la source au premier ensemble de sommets, puis vers le second ensemble de sommets, et enfin vers le puits. L algorithme de flot donne un couplage biparti admissible car chaque sommet du premier ensemble de sommets est atteint par une unique arête de capacité égale à. Un tel sommet ne peut donc laisser passer, depuis la source,. Il s agit donc d un couplage maximum. 7
48 qu une seule unité de flux. De même, chacun des sommets du second ensemble de sommets a une unique arête les reliant au puits. Eux aussi ne peuvent donc ne laisser passer, chacun, qu une seule unité de flux. Ainsi, chaque sommet ne sera inclus qu au plus une fois dans le couplage. De plus, aucun autre couplage que celui produit par le flot maximum ne peut avoir plus d arêtes, car cela conduirait à un flot supérieur à celui produit par le flot maximum. Pour illustrer la réalisation d un tel couplage, considérons le graphe biparti suivant : Pour transformer ce graphe biparti en réseau, nous y ajoutons une source et un puits. Nous considérons donc bien que toutes les capacités valent : Appliquons à présent macroscopiquement l algorithme de Ford et Fulkerson. Pour commencer, on identifie un premier chemin entre la source et le puits. 8
49 Prenons le chemin s,, A et p : Nous pouvons à présent itérativement améliorer le flot en lui ajoutant la plus petite quantité de capacité non utilisée sur un arc faisant partie d un chemin entre la source et le puits. Considérons donc, dans un premier temps, le chemin additionnel, s,, B et p : 9
50 Il est encore possible d augmenter le flot en suivant le chemin s,, C et p : Nous ne pouvons augmenter le flot par un chemin partant de la source et allant au sommet, car tous les successeurs de ce sommet, à savoir les sommets A et B, sont déjà saturés. Nous prenons alors plutôt un chemin s,, D et p :
51 Il est toujours possible d augmenter le flot en suivant le chemin s, 6, E et p : Les sommets et F sont toujours isolés. A présent, pour augmenter encore le flot il est possible de récupérer le flot allant du sommet au sommet B. Une partie de l étiquetage est alors tel qu indiqué ci-dessous, où les arcs en gras indiquent une canalisation saturée, ayant donc un flux y passant égal à la capacité :
52 Nous construisons le chemin s,, B, nous récupérons le flux vers le sommet, puis nous continuons vers le sommet F et enfin nous arrivons au sommet p : A ce stade, nous ne pouvons plus augmenter le flot, le couplage maximal est atteint, produisant, sur notre graphe biparti, l affectation bipartite recherchée : Remarquons que cette technique ne gère pas la notion de préférences évoquée dans notre premier exemple impliquant les jeunes diplômés et les entreprises. Cet aspect est abordé à la section suivante. 9 Le problème des mariages stables Le problème de l affectatioon bipartite dans un digraphe biparti complètement interconnecté (un arc existe dans chaque sens pour chaque couple de sommets) où des préférences sont indiquées sur les arcs, peut correspondre au problème des jeunes diplômés et des entreprises évoqué au début de ce chapitre. Néanmoins, ce problème est classiquement évoqué comme le problème des mariages stables. Considérons donc n femmes et n hommes exprimant chacun, sous forme d une liste, leur préférence parmi l ensemble des représentants de l autre sexe (cette liste énumère toutes les personnes de l autre sexe par ordre décroissant de préférence). Le problème des mariages stables consiste à trouver un ensemble de n mariages maximisant la satisfaction de l ensemble des hommes et femmes. Un mariage sera dit instable si deux personnes qui ne sont pas mariés se préfèrent mutuellement à leur conjoint. Le but consiste donc à chercher une configuration stable. Une méthode possible de résolution consiste à faire en sorte que chaque homme, par exemple, se déclare à une femme (ou vice versa ). Dans un premier temps, chaque homme se déclare à la première femme de sa liste de préférence. Si cet homme se déclare à une femme qui n a pas encore de fiancé, ils se fiancent.. Nous allons néanmoins, puisque le problème original le décrit ainsi, considérer par la suite, le vieux système injuste où ce sont les hommes qui se déclarent aux femmes.
53 Si celle-ci est déjà fiancée à un homme qu elle préfère, le prétendant est éconduit et se déclare alors à la femme suivante sur sa liste de préférences, et ainsi de suite. Si cet homme se déclare à une femme fiancée mais qui le préfère lui, selon la liste de préférence de cette femme, à son fiancé, elle rompt ses fiançailles et se fiance avec notre homme. L ex-fiancé à présent éconduit redevient un prétendant et se déclare à nouveau en continuant là où il en était dans sa liste de préférences. Une fois tous les hommes et femmes fiancés, nous procédons aux différents mariages de nos couples ainsi formés. Cette méthode produit des mariages stables car une femme f qu un homme h pourrait préférer à sa propre fiancée sera elle-même fiancée à quelqu un qu elle préfère à h. Pour résoudre ce problème, nous utilisons une liste indiquant pour chaque femme le rang de chacun de ses prétendants. Le rang est le numéro d ordre du prétendant dans la liste de préférences d une femme. Ainsi, rang[f][p] égale le rang du prétendant p sur la liste de préférences de la femme f. Pour chaque femme f, la valeur sentinelle + est mise en rang[f][] (ceci est nécessaire au bon fonctionnement de l algorithme proposé ci-dessous). Puisqu un fiancé éconduit doit à nouveau se déclarer à la femme suivante de sa liste de préférences, nous devons mémoriser l endroit où chaque prétendant est arrivé dans sa liste, nous utilisons un vecteur suivante, initialisé à zéro. Nous manipulerons aussi une matrice préférée[h][f] qui indique la f me femme dans la liste de préférences de l homme h. Enfin, le vecteur fiancé est tel que fiancé[f] indique le numéro du fiancé de la femme f, initialement ce vecteur n est composé que de. L algorithme réalise bien le processus détaillé ci-dessus. On considère chaque homme tour à tour comme un prétendant, et on le fiance à la première femme de sa liste de préférences qui est «libre»ou qui le préfère à son fiancé actuel. Si un tel fiancé est éconduit, il devient le prétendant et continue la recherche, dans sa liste de préférences, d une femme à laquelle se fiancer. Remarquons que lorsqu un fiancé redevient un prétendant, donc lorsque nous exécutons les trois instructions du if, nous sommes dans la situation où le numéro de l homme qui était fiancé et qui redevient prétendant est inférieur au numéro de l homme h initialement considéré lors de ce tour de la boucle for. Algorithme Recherche des mariages stables for(h= ; h <= n ; ++h) { p=h while(p!= ) { ++suivante[p] f=préférée[p][suivante[p]] if(rang[f][p] < rang[f][fiancé[f]]) { q=fiancé[f] fiancé[f]=p p=q } } } Au pire, chaque homme parcourt l ensemble de sa liste de préférences, la complexité maximale de cet algorithme est donc linéaire en la taille de l ensemble de ces listes.
54 Septième partie La programmation dynamique Retour aux plus courts chemins En étudiant les plus courts chemins, nous avons observé que dans un digraphe acyclique, le tri topologique permet de ne traiter un sommet que si tous ses prédécesseurs sont traités. L idée de l algorithme de Bellman, que nous rappelons ci-dessous, est qu une fois que tous les plus courts chemins entre le sommet de départ s et tous les prédécesseurs d un sommet x sont connus, il est facile de déterminer le plus court chemin du sommet s au sommet x. Il suffit en effet, pour chaque prédécesseur y du sommet x, d additionner la taille du plus court chemin entre les sommets s et y à la distance reprise sur l arc entre les sommets y et x. Le résultat le plus petit indiquera le plus court chemin entre s et x. Algorithme Algorithme de Bellman dist[... n-] = +infini dist[s] = renuméroter les sommets dans l ordre topologique for(int k= ; k < ordre du graphe ; ++k) { j = i tel que pour tous les arcs (i,k) dans le graphe on ait dist[i]+mat[i][k] qui soit minimum dist[k] = dist[j]+mat[j][k] pred[k]=j } Cet algorithme peut aussi être interprété comme une application de la programmation dynamique. La programmation dynamique est une méthode permettant de résoudre un problème d optimisation en le décomposant en étapes par le principe d optimalité. Il s agit d une méthode récursive dans laquelle la solution optimale d un sous-problème sert à résoudre le sous-problème suivant. Les différentes étapes consistent en la résolution de problèmes de plus en plus gros, jusqu à obtenir la solution du problème de départ. Dans le cas de l algorithme de Bellman, le principe d optimalité est basé sur le fait que si le plus court chemin jusqu à un noeud k passe par un noeud j, alors le sous-chemin jusque j doit être un plus court chemin jusque j. Vu que les noeuds sont triés topologiquement, le plus court chemin de à k ne peut visiter que des noeuds j < k. A l étape k de l algorithme, on connait les plus courts chemins jusqu aux noeuds à k- et on calcule récursivement le chemin le plus court jusque k. Si la fonction dist(k) représente la distance du noeud au noeud k, on peut écrire cette fonction sous la forme récursive : dist(k) = min (dist(j) + mat(j, k)) j=,...,k avec dist() =. L algorithme de Bellman fournit un algorithme dérécursifié pour calculer cette fonction. Considérons l exemple suivant (où les noeuds sont déjà numérotés suivant un ordre topologique) : Nous pouvons établir récursivement : f() = f() = 7, f() = 8, f() = f() =, f(6) = 7 f(7) = Le problème de sac-à-dos Considérons un ensemble de n objets, chaque objet i ayant un profit p i et un poids w i. Le problème de sac-à-dos revient à décider quels objets mettre dans un contenant ayant une capacité donnée W de manière à maximiser le
55 profit total des objets choisis. Nous nous intéressons ici uniquement à la version binaire du problème dans laquelle un seul objet de chaque type est disponible. Ce problème peut être formulé mathématiquement comme : z = max s.c. n p j x j j= n w j x j W j= x j {, } j =,..., n Ce problème peut être résolu en utilisant à nouveau la programmation dynamique. Une étape de l algorithme de programmation dynamique correspond ici à un objet. On définit f i (w) pour i =,..., n et w =,..., W comme étant le profit maximal pouvant être obtenu avec les objets à i pour une capacité w. Supposons que nous connaissons f i (w) c est-à-dire le profit maximal obtenu avec les i premiers objets pour toutes les valeurs de capacité w. Observons maintenant ce qui peut être obtenu avec le i-ème objet et une capacité w donnée. Si cet objet n est pas choisi dans la solution optimale, alors le profit maximal obtenu avec les i premiers objets est le même qu avec les i premiers objets, donc f i (w) = f i (w). Par contre, si l objet i est choisi dans la solution optimale, il reste une capacité égale à w w i pour les i premiers objets. Pour que le profit soit optimal, ces i premiers objets doivent maximiser le profit obtenu pour une capacité w w i. Ce profit optimal étant f i (w w i ), et l objet i rapportant un profit p i, on peut donc conclure dans ce cas que f i (w) = p i + f i (w w i ). Le calcul de f (w) étant immédiat (si w w, on prend l objet, sinon on ne peut pas le prendre), la récursion pour le problème de sac-à-dos / est dès lors donnée par : { pour w =,..., w, f (w) = p pour w = w,..., W. { f i (w) = f i (w) pour w =,..., w i, max{f i (w), p i + f i (w w i )} pour w = w i,..., W. Le profit optimal pour le problème de départ est donné par la valeur finale f n (W ). Illustrons cette récursion avec l exemple d un sac de capacité 9 et un ensemble de objets avec les caractéristiques suivantes : Objet Profit 8 Poids Les valeurs de f i (w) calculées par la récursion sont données dans le tableau ci-dessous.
56 Le profit maximal est donc égal à. La récursion nous donne uniquement la valeur du profit optimal. Pour retrouver les objets présents dans la solution, on peut effectuer une récursion en arrière. En effet, observons dans le tableau que f () f (), ce qui signifie que l objet fait partie de la solution optimale. Dès lors, la combinaison des premiers objets est celle qui donne un profit égal à f (9 9 = ). Comme f () f (), l objet fait également partie de la solution optimale. La combinaison des premiers objets est celle qui donne un profit égal à f ( 8 = ). On observe alors que f () = f () = f (), ce qui signifie que les objets et ne sont pas sélectionnées alors que l objet l est. La solution optimale est donc composée des objets, et. On peut observer énormément de redondance dans le tableau. De plus, la taille du tableau peut "exploser" très vite si la valeur numérique de la capacité est grande. Or, nous ne sommes intéressés que par les combinaisons de profit et capacité où la capacité utilisée est minimale pour un profit donné. A partir de cette observation, il est intéressant de définir la notion de solution dominée : une solution est dominée par une autre si elle utilise plus de capacité pour un profit inférieur ou égal. Au lieu de calculer les valeurs de f i (w) pour toutes les valeurs de w à l itération i, on peut se contenter de construire uniquement les paires (profit, poids) non dominées. A chaque étape, on ajoute un objet. Les paires (profit, poids) considérées sont celles de l étape précédente, plus celles obtenues par ajout de l objet courant aux paires de l étape précédente. Toutes les paires dominées sont éliminées au fur et à mesure de leur détection. Pour l exemple précédent, nous obtenons : Itération : (,) Itération : (,), (,) Itération : (,), (,), (,), (6,) Itération : (,), (,), (,), (,6), (6,), (7,8), (9,9), (,) Itération : (,), (,), (,), (6,), (7,8), (8,8), (9,9), (,), (,), (,), (,), (, 6), (7,7), (9,9) Itération : (,), (,), (,), (6,), (8,8), (9,9), (,9), (,), (,), (,), (,6), (6,), (7,7), (8,7), (9,8), (9,9), (,9) où les paires soulignées représentent les paires ajoutées, et les paires dominées sont barrées. L écriture d un algorithme détaillé pour le calcul des paires non dominées est laissé en guise d exercice. Détermination de la taille des lots Le problème de la détermination de la taille des lots (lot sizing en anglais) est un problème arrivant dans le contexte de la gestion de production. Etant donnés des besoins nets pour un produit, répartis dans le temps, le problème 6
57 est de décider quand produire et en quelles quantités pour satisfaire ces besoins nets de façon la plus économique possible. La solution de ce problème représente un compromis entre le coût de lancement l encouru au début de chaque période pendant laquelle une production a lieu, et le coût de stockage s par unité stockée et par période, qui intervient lorsque la production pour satisfaire la demande de plusieurs périodes est regroupée afin de diminuer les coûts de lancement. Nous nous intéressons ici au cas particulier où les coûts de lancement et de stockage sont constants (ne dépendent pas de la période). Dans ce cas, la programmation dynamique peut être utilisée pour obtenir une solution optimale du problème. Soit d t la demande pour la période t. En introduisant les variables x t quantité produite à la période t, i t stock à la période t, y t indicateur de production à la période t (/), le problème peut être formulé mathématiquement comme min l T y t + s T i t t= t= s.c. i t = i t + x t d t t =,..., T x t My t i = i T = x t, i t, y t {, } t =,..., T t =,..., T Remarquons que si les périodes de productions (i.e. les valeurs des variables y t ) sont fixées, ce problème se ramène à un problème de flot de coût minimum dans un réseau particulier. De plus, on peut montrer que les propriétés suivantes sont satisfaites :. Il existe une solution optimale telle que i t x t = pour tout t (production uniquement quand stock vide).. Il existe une solution optimale telle que si x t >, x t = t+k i=t d t pour un k > En d autres termes, il existe toujours une solution optimale telle que la production a lieu uniquement lorsque le stock est vide, et pour satisfaire la demande d un nombre entier de périodes consécutives. Cette observation nous permet de construire un algorithme de programmation dynamique. Soit H(k) le coût minimum d une solution couvrant la demande des périodes à k. Si t k est la dernière période de production entre et k, alors le coût de production pour les périodes à t doit être optimal et égal à H(t ). On en déduit la récursion suivante : k H(k) = min {H(t ) + l + s t k i=t+ avec la condition initiale H() =. Considérons un exemple avec 6 périodes et les demandes nettes suivantes : (i t)d i } Période 6 Besoins nets 8 Supposons que le coût de lancement est l =, et le coût de stockage s =. par unité et par période. 7
58 En appliquant la récursion, nous obtenons : H() = H() = + = H() = min{ + +., + } = H() = min{ + +. ( + ), + +., + } = 8 H() = min{ + +. ( + + ), + +. ( + ), + +., 8 + } = H() = min{ + +. ( ), + +. ( + + ), + +. ( + ), , + } = 7 H(6) = min{ + +. ( ), + +. ( ), + +. ( + + ), ( + ), + +., 7 + } = La solution optimale a donc un coût de. Les valeurs soulignées correspondent au choix pour lequel le minimum est atteint à chaque étape. Pour retrouver les périodes de production, on peut soit appliquer une récursion en arrière, soit retenir à chaque étape la valeur de la période de production précédente t pour lequel le minimum est atteint. Dans ce cas-ci, on en déduit que la production à lieu aux périodes, et, avec les quantités produites reprises dans le tableau ci-dessous. Période 6 Besoins nets 8 Production 8 Comme tout algorithme de programmation dynamique, la fonction H peut aussi être interprétée comme la calcul de plus courts chemins dans un graphe où les noeuds représentent les périodes de production et un arc de t à k représente le fait de produire en période t pour satisfaire les demandes de la période t à la période k, avec un coût égal à l + s k i=t+ (i t)d i. Dans notre exemple, le problème se ramène à trouver un plus court chemin du noeud A au noeud F dans le graphe suivant : Le chemin optimal est indiqué en gras. 8
Programmation linéaire
Programmation linéaire DIDIER MAQUIN Ecole Nationale Supérieure d Electricité et de Mécanique Institut National Polytechnique de Lorraine Mathématiques discrètes cours de 2ème année Programmation linéaire
Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Programmation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Chapitre 5 : Flot maximal dans un graphe
Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d
La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique
La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation
Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA
75. Un plombier connaît la disposition de trois tuyaux sous des dalles ( voir figure ci dessous ) et il lui suffit de découvrir une partie de chacun d eux pour pouvoir y poser les robinets. Il cherche
Programmation linéaire et Optimisation. Didier Smets
Programmation linéaire et Optimisation Didier Smets Chapitre 1 Un problème d optimisation linéaire en dimension 2 On considère le cas d un fabricant d automobiles qui propose deux modèles à la vente, des
Programmation Linéaire - Cours 1
Programmation Linéaire - Cours 1 P. Pesneau [email protected] Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence V. Chvátal - Linear Programming, W.H.Freeman, New York, 1983.
Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. E-mail address: [email protected] URL: http://nicolas.thiery.
Cours de Recherche Opérationnelle IUT d Orsay Nicolas M. THIÉRY E-mail address: [email protected] URL: http://nicolas.thiery.name/ CHAPTER 1 Introduction à l optimisation 1.1. TD: Ordonnancement
Cours 02 : Problème général de la programmation linéaire
Cours 02 : Problème général de la programmation linéaire Cours 02 : Problème général de la Programmation Linéaire. 5 . Introduction Un programme linéaire s'écrit sous la forme suivante. MinZ(ou maxw) =
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications
Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications A. Optimisation sans contrainte.... Généralités.... Condition nécessaire et condition suffisante
La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal
La demande Du consommateur Contrainte budgétaire Préférences Choix optimal Plan du cours Préambule : Rationalité du consommateur I II III IV V La contrainte budgétaire Les préférences Le choix optimal
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Travaux dirigés n 1. Programmation linéaire
Université de Reims Champagne Ardenne U.F.R. de Sciences Exactes et Naturelles MASTER 1 Informatique - 2014/2015 Pierre Delisle Travaux dirigés n 1 Programmation linéaire Exercice 1 (Résolution d'un programme
Optimisation Discrète
Prof F Eisenbrand EPFL - DISOPT Optimisation Discrète Adrian Bock Semestre de printemps 2011 Série 7 7 avril 2011 Exercice 1 i Considérer le programme linéaire max{c T x : Ax b} avec c R n, A R m n et
Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :
MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE
Exercices - Polynômes : corrigé. Opérations sur les polynômes
Opérations sur les polynômes Exercice 1 - Carré - L1/Math Sup - Si P = Q est le carré d un polynôme, alors Q est nécessairement de degré, et son coefficient dominant est égal à 1. On peut donc écrire Q(X)
LE PROBLEME DU PLUS COURT CHEMIN
LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs
Introduction à la théorie des graphes. Solutions des exercices
CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti
Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche
Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche Bachir Bekka Février 2007 Le théorème de Perron-Frobenius a d importantes applications en probabilités (chaines
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e
Eléments de Théorie des Graphes et Programmation Linéaire
INSTITUT NATIONAL POLYTECHNIQUE DE LORRAINE Ecole Nationale Supérieure d Electricité et de Mécanique Eléments de Théorie des Graphes et Programmation Linéaire Didier Maquin Professeur à l INPL Version
Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.
Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de
Résolution de systèmes linéaires par des méthodes directes
Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.
DOCM 2013 http://docm.math.ca/ Solutions officielles. 1 2 10 + 1 2 9 + 1 2 8 = n 2 10.
A1 Trouvez l entier positif n qui satisfait l équation suivante: Solution 1 2 10 + 1 2 9 + 1 2 8 = n 2 10. En additionnant les termes du côté gauche de l équation en les mettant sur le même dénominateur
Annexe 6. Notions d ordonnancement.
Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. [email protected] Résumé Ce document
Théorèmes de Point Fixe et Applications 1
Théorèmes de Point Fixe et Applications 1 Victor Ginsburgh Université Libre de Bruxelles et CORE, Louvain-la-Neuve Janvier 1999 Published in C. Jessua, C. Labrousse et D. Vitry, eds., Dictionnaire des
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 Définitions, notations 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. On utilise aussi la notation m n pour le
Définitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
LES MÉTHODES DE POINT INTÉRIEUR 1
Chapitre XIII LES MÉTHODES DE POINT INTÉRIEUR 1 XIII.1 Introduction Nous débutons par un rappel de la formulation standard d un problème d optimisation 2 linéaire et donnons un bref aperçu des différences
Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes
Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction
PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES
Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.
Fonctions de plusieurs variables
Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Résolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
3 Approximation de solutions d équations
3 Approximation de solutions d équations Une équation scalaire a la forme générale f(x) =0où f est une fonction de IR dans IR. Un système de n équations à n inconnues peut aussi se mettre sous une telle
Statistiques Descriptives à une dimension
I. Introduction et Définitions 1. Introduction La statistique est une science qui a pour objectif de recueillir et de traiter les informations, souvent en très grand nombre. Elle regroupe l ensemble des
Baccalauréat ES Pondichéry 7 avril 2014 Corrigé
Baccalauréat ES Pondichéry 7 avril 204 Corrigé EXERCICE 4 points Commun à tous les candidats. Proposition fausse. La tangente T, passant par les points A et B d abscisses distinctes, a pour coefficient
INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES
INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES Dominique LAFFLY Maître de Conférences, Université de Pau Laboratoire Société Environnement Territoire UMR 5603 du CNRS et Université de Pau Domaine
Suites numériques 3. 1 Convergence et limite d une suite
Suites numériques 3 1 Convergence et limite d une suite Nous savons que les termes de certaines suites s approchent de plus en plus d une certaine valeur quand n augmente : par exemple, les nombres u n
Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1
Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation
Intégration et probabilités TD1 Espaces mesurés Corrigé
Intégration et probabilités TD1 Espaces mesurés Corrigé 2012-2013 1 Petites questions 1 Est-ce que l ensemble des ouverts de R est une tribu? Réponse : Non, car le complémentaire de ], 0[ n est pas ouvert.
Les indices à surplus constant
Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté
CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal
III CHOIX OPTIMAL DU CONSOMMATEUR A - Propriétés et détermination du choix optimal La demande du consommateur sur la droite de budget Résolution graphique Règle (d or) pour déterminer la demande quand
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.
La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of
Pourquoi l apprentissage?
Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage
Cours d Analyse. Fonctions de plusieurs variables
Cours d Analyse Fonctions de plusieurs variables Licence 1ère année 2007/2008 Nicolas Prioux Université de Marne-la-Vallée Table des matières 1 Notions de géométrie dans l espace et fonctions à deux variables........
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
Introduction. On suppose connus les ensembles N (des entiers naturels), Z des entiers relatifs et Q (des nombres rationnels). On s est rendu compte, depuis l antiquité, que l on ne peut pas tout mesurer
CHAPITRE 5. Stratégies Mixtes
CHAPITRE 5 Stratégies Mixtes Un des problèmes inhérents au concept d équilibre de Nash en stratégies pures est que pour certains jeux, de tels équilibres n existent pas. P.ex.le jeu de Pierre, Papier,
LES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007
Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................
Cours de recherche opérationnelle I
1 Cours de recherche opérationnelle I Nadia Brauner [email protected] Grenoble, 2014-2015 Auteurs Ont participé à la rédaction de ce cours (par ordre d arrivée) Nadia Brauner Christophe Rapine Julien
Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) IFT702 Planification en intelligence artificielle
Francis BISSON (06 794 819) Kenny CÔTÉ (06 836 427) Pierre-Luc ROGER (06 801 883) PLANIFICATION DE TÂCHES DANS MS PROJECT IFT702 Planification en intelligence artificielle Présenté à M. Froduald KABANZA
Baccalauréat ES/L Amérique du Sud 21 novembre 2013
Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée
Cours d analyse numérique SMI-S4
ours d analyse numérique SMI-S4 Introduction L objet de l analyse numérique est de concevoir et d étudier des méthodes de résolution de certains problèmes mathématiques, en général issus de problèmes réels,
Correction de l examen de la première session
de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi
Polynômes à plusieurs variables. Résultant
Polynômes à plusieurs variables. Résultant Christophe Ritzenthaler 1 Relations coefficients-racines. Polynômes symétriques Issu de [MS] et de [Goz]. Soit A un anneau intègre. Définition 1.1. Soit a A \
Théorie de la mesure. S. Nicolay
Théorie de la mesure S. Nicolay Année académique 2011 2012 ii Table des matières Introduction v 1 Mesures 1 1.1 Sigma-algèbres................................. 1 1.2 Mesures.....................................
Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1
CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste
Sujet 4: Programmation stochastique propriétés de fonction de recours
Sujet 4: Programmation stochastique propriétés de fonction de recours MSE3313: Optimisation Stochastiqe Andrew J. Miller Dernière mise au jour: October 19, 2011 Dans ce sujet... 1 Propriétés de la fonction
Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens
Chapitre 7 Statistique des échantillons gaussiens Le théorème central limite met en évidence le rôle majeur tenu par la loi gaussienne en modélisation stochastique. De ce fait, les modèles statistiques
Chapitre 2/ La fonction de consommation et la fonction d épargne
hapitre 2/ La fonction de consommation et la fonction d épargne I : La fonction de consommation keynésienne II : Validations et limites de la fonction de consommation keynésienne III : Le choix de consommation
Chapitre VI - Méthodes de factorisation
Université Pierre et Marie Curie Cours de cryptographie MM067-2012/13 Alain Kraus Chapitre VI - Méthodes de factorisation Le problème de la factorisation des grands entiers est a priori très difficile.
Plus courts chemins, programmation dynamique
1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique
Intégration et probabilités TD1 Espaces mesurés
Intégration et probabilités TD1 Espaces mesurés 2012-2013 1 Petites questions 1) Est-ce que l ensemble des ouverts de R est une tribu? 2) Si F et G sont deux tribus, est-ce que F G est toujours une tribu?
Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples
45 Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples Les espaces vectoriels considérés sont réels, non réduits au vecteur nul et
Programmation linéaire
CHAPTER 1 Programmation linéaire 1.1. Qu'est-ce que la programmation linéaire 1.1.1. Exemple: le problème du régime de Polly [1, p.3]. Besoins journaliers: Énergie: 2000 kcal Protéines: 55g Calcium: 800
Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation
IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes
Algèbre binaire et Circuits logiques (2007-2008)
Université Mohammed V Faculté des Sciences Département de Mathématiques et Informatique Filière : SMI Algèbre binaire et Circuits logiques (27-28) Prof. Abdelhakim El Imrani Plan. Algèbre de Boole 2. Circuits
L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ
L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ INTRODUCTION Données : n individus observés sur p variables quantitatives. L A.C.P. permet d eplorer les liaisons entre variables et
OUTILS EN INFORMATIQUE
OUTILS EN INFORMATIQUE Brice Mayag [email protected] LAMSADE, Université Paris-Dauphine R.O. Excel [email protected] (LAMSADE) OUTILS EN INFORMATIQUE R.O. Excel 1 / 35 Plan Présentation générale
Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
aux différences est appelé équation aux différences d ordre n en forme normale.
MODÉLISATION ET SIMULATION EQUATIONS AUX DIFFÉRENCES (I/II) 1. Rappels théoriques : résolution d équations aux différences 1.1. Équations aux différences. Définition. Soit x k = x(k) X l état scalaire
Développement décimal d un réel
4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce
FIMA, 7 juillet 2005
F. Corset 1 S. 2 1 LabSAD Université Pierre Mendes France 2 Département de Mathématiques Université de Franche-Comté FIMA, 7 juillet 2005 Plan de l exposé plus court chemin Origine du problème Modélisation
Chapitre 2. Matrices
Département de mathématiques et informatique L1S1, module A ou B Chapitre 2 Matrices Emmanuel Royer emmanuelroyer@mathuniv-bpclermontfr Ce texte mis gratuitement à votre disposition a été rédigé grâce
Équations non linéaires
Équations non linéaires Objectif : trouver les zéros de fonctions (ou systèmes) non linéaires, c-à-d les valeurs α R telles que f(α) = 0. y f(x) α 1 α 2 α 3 x Equations non lineaires p. 1/49 Exemples et
Coup de Projecteur sur les Réseaux de Neurones
Coup de Projecteur sur les Réseaux de Neurones Les réseaux de neurones peuvent être utilisés pour des problèmes de prévision ou de classification. La représentation la plus populaire est le réseau multicouche
L utilisation d un réseau de neurones pour optimiser la gestion d un firewall
L utilisation d un réseau de neurones pour optimiser la gestion d un firewall Réza Assadi et Karim Khattar École Polytechnique de Montréal Le 1 mai 2002 Résumé Les réseaux de neurones sont utilisés dans
Jade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Simulation centrée individus
Simulation centrée individus Théorie des jeux Bruno BEAUFILS Université de Lille Année 4/5 Ce document est mis à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les
Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)
Objectifs du cours d aujourd hui Informatique II : Cours d introduction à l informatique et à la programmation objet Complexité des problèmes Introduire la notion de complexité d un problème Présenter
INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz
INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement Bernard Fortz 2008-2009 Table des matières 1 Définition et classification des problèmes d ordonnancement 2 1.1 Introduction....................................
4.2 Unités d enseignement du M1
88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter
www.h-k.fr/publications/objectif-agregation
«Sur C, tout est connexe!» www.h-k.fr/publications/objectif-agregation L idée de cette note est de montrer que, contrairement à ce qui se passe sur R, «sur C, tout est connexe». Cet abus de langage se
1 radian. De même, la longueur d un arc de cercle de rayon R et dont l angle au centre a pour mesure α radians est α R. R AB =R.
Angles orientés Trigonométrie I. Préliminaires. Le radian Définition B R AB =R C O radian R A Soit C un cercle de centre O. Dire que l angle géométrique AOB a pour mesure radian signifie que la longueur
UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Représentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Optimisation for Cloud Computing and Big Data
1 / 23 Optimisation for Cloud Computing and Big Data Olivier Beaumont, Lionel Eyraud-Dubois 2 / 23 Aujourd hui Problèmes de fiabilité on va oublier la dynamicité Placement de VMs en programmation par contraintes
Objets Combinatoires élementaires
Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que
Lecture graphique. Table des matières
Lecture graphique Table des matières 1 Lecture d une courbe 2 1.1 Définition d une fonction.......................... 2 1.2 Exemple d une courbe........................... 2 1.3 Coût, recette et bénéfice...........................
Calculer avec Sage. Revision : 417 du 1 er juillet 2010
Calculer avec Sage Alexandre Casamayou Guillaume Connan Thierry Dumont Laurent Fousse François Maltey Matthias Meulien Marc Mezzarobba Clément Pernet Nicolas Thiéry Paul Zimmermann Revision : 417 du 1
Probabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur
Chapitre 3. Les distributions à deux variables
Chapitre 3. Les distributions à deux variables Jean-François Coeurjolly http://www-ljk.imag.fr/membres/jean-francois.coeurjolly/ Laboratoire Jean Kuntzmann (LJK), Grenoble University 1 Distributions conditionnelles
Trépier avec règle, ressort à boudin, chronomètre, 5 masses de 50 g.
PHYSQ 130: Hooke 1 LOI DE HOOKE: CAS DU RESSORT 1 Introduction La loi de Hooke est fondamentale dans l étude du mouvement oscillatoire. Elle est utilisée, entre autres, dans les théories décrivant les
Théorie et codage de l information
Théorie et codage de l information Les codes linéaires - Chapitre 6 - Principe Définition d un code linéaire Soient p un nombre premier et s est un entier positif. Il existe un unique corps de taille q
Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.
ANALYSE 5 points Exercice 1 : Léonie souhaite acheter un lecteur MP3. Le prix affiché (49 ) dépasse largement la somme dont elle dispose. Elle décide donc d économiser régulièrement. Elle a relevé qu elle
Premier modèle - Version simple
Chapitre 1 Premier modèle - Version simple Les individus vivent chacun six générations successives d adultes, chacune d une durée de dix ans, sans distinction faite entre les individus d une même génération.
Cours de Probabilités et de Statistique
Cours de Probabilités et de Statistique Licence 1ère année 2007/2008 Nicolas Prioux Université Paris-Est Cours de Proba-Stat 2 L1.2 Science-Éco Chapitre Notions de théorie des ensembles 1 1.1 Ensembles
PRIME D UNE OPTION D ACHAT OU DE VENTE
Université Paris VII - Agrégation de Mathématiques François Delarue) PRIME D UNE OPTION D ACHAT OU DE VENTE Ce texte vise à modéliser de façon simple l évolution d un actif financier à risque, et à introduire,
