INTRODUCTION : LA DEMARCHE DE L'AIDE A LA...

download INTRODUCTION : LA DEMARCHE DE L'AIDE A LA …ressources.aunege.fr/nuxeo/site/esupversions/2b1c56b6-109d-488a-94... · LA DEMARCHE DE L'AIDE A LA ... - "l'optimisation stratégique

If you can't read please download the document

Transcript of INTRODUCTION : LA DEMARCHE DE L'AIDE A LA...

  • Introduction, la dmarche de modlisation 1

    INTRODUCTION : LA DEMARCHE DE L'AIDE A LA DECISION

    Cette introduction permet de situer l'objectif de ce cours que l'on pourrait rsumer par "du problme la dcision".

    Pour situer une partie du champ d'applications de l'aide la dcision, citons un extrait du site

    dEurodcision, SSII, spcialise dans lintgration des technologies de loptimisation et de la recherche oprationnelle dans des applications daide la dcision (www.eurodecision.fr).

    Cette socit propose ses clients des produits orients vers : - "l'optimisation stratgique et tactique d'une organisation industrielle et logistique en tenant compte des contraintes de capacits industrielles et des cots de l'ensemble de la chane : fournisseurs - usines - dpts clients "et dans ce cadre, l'optimisation "d'un plan transport (approvisionnement, distribution ou messagerie) en tenant compte de contraintes de qualit de service et d'exploitation des sites (plages d'ouverture, capacit des hubs...)" - "la planification annuelle des ressources humaines, comprenant l'annualisation, le positionnement des congs, la modulation et le dimensionnement des effectifs" et plus particulirement la couverture de la charge journalire ou hebdomadaire, la construction des horaires des chauffeurs de bus (habillage)... - des problmes orients vers la planification de production court terme et de l'ordonnancement.

    Le champ d'application de l'aide la dcision comporte aussi des problmes tels que : - la constitution d'emploi du temps - la planification et le dimensionnement de rseaux, l'optimisation du routage de trafic, l'optimisation de tarification - les problmes de dcoupe industrielle..... et tout problme d'allocation de ressources. Dans le cadre de ce cours, les problmes traits seront bien sr plus modestes et tous les domaines ne seront videmment pas abords. Son objectif est de sensibiliser la dmarche de l'aide la dcision et de prsenter quelques-uns des outils de recherche oprationnelle sur lesquels elle s'appuie.

  • Introduction, la dmarche de modlisation 2

    I Exemples d'introduction Commenons par deux exemples simples. Exemple 1 Il s'agit de programmer votre prochain dplacement afin de vous rendre sur votre lieu de vacances. Le calcul de votre itinraire repose sur l'analyse de la carte qui vous permet d'envisager les diffrents trajets possibles. Et comme vous avez le choix, il faut aussi que vous spcifiez le critre que vous allez retenir : est-ce le plus rapide que vous cherchez ou celui passant par le plus de lieux touristiques ? Si vous consultez un des trs nombreux sites o lon peut rechercher un itinraire, on vous demandera souvent de prciser le critre que vous souhaitez privilgier. Exemple 2 Le problme dittique. La constitution optimale d'un rgime alimentaire optimal est un problme ancien : son analyse "rationnelle" a t conduite dans les annes 1930 pour le compte de l'arme amricaine qui souhaitait proposer aux GI une alimentation quilibre mais... pas trop cher. Il s'agit de dterminer parmi un ensemble de produits possibles dont on connat les constituants nutritifs ceux qui devront tre retenus pour respecter les consignes dittiques. Plusieurs possibilits existent et il faut donc spcifier le critre selon lequel on les value. Pour ce problme, c'est gnralement le cot qui est retenu. Les caractristiques communes ces deux exemples mettent en vidence un problme qui consiste slectionner une dcision parmi un ensemble de dcisions possibles, de manire optimiser un certain critre. Ce type de problme de dcision est un problme d'optimisation. Un problme est une question que l'on se pose. Analyser le problme, c'est prciser clairement : - ce que l'on veut faire : le type de dcision, - ce que l'on peut faire : les dcisions possibles, - comment on choisit : le critre de slection. Si on reprsente : - une dcision par "x" : x peut tre par exemple un chemin ou un menu, - l'ensemble des dcisions possibles par S : S peut tre par exemple l'ensemble des parcours qui vous intresse ou l'ensemble des menus possibles, - le critre par une application f qui une dcision x associe son valuation f(x) : f(x) peut, par exemple, reprsenter la longueur du parcours x ou le cot du menu x. La forme trs gnrale d'un problme d'optimisation est : La dcision est reprsente par une variable de dcision x. Les dcisions possibles sont reprsentes par un ensemble S symbolisant les contraintes portant sur les dcisions. Le critre est reprsent par une fonction appele fonction objectif ou plus brivement objectif.

    Min f(x) x S ou

    Max f(x) x S

  • Introduction, la dmarche de modlisation 3

    II La dmarche de l'aide la dcision et de la recherche oprationnelle A - Du problme au modle Considrons le problme : Rsoudre ce problme, c'est trouver parmi toutes les valeurs possibles de x dans S celle(s) qui donnera l'objectif la valeur la plus petite ou la plus grande possible. Sans autre prcision sur la nature de x, de S ou de f, la seule possibilit pour rsoudre le problme est d'numrer toutes les solutions. Considrons le problme suivant : On doit organiser une tourne de livraisons d'un camion qui, partant d'un entrept, doit se rendre successivement chez un certain nombre de clients. Enumrer la totalit des parcours possibles revient lister toutes les permutations des clients. Par exemple, avec 4 clients a, b, c, d, l'ordre des visites possibles est :

    a b c d a b d c a c b d a c d b a d b c a d c b ..... Ici nous n'avons que celles qui commencent par le client a !

    Pour les dnombrer, on peut constater qu'il y a 4 choix possibles pour le client plac en 1, puis dans chaque cas 3 pour le deuxime, puis 2 pour le troisime, le quatrime tant alors celui qui reste, soit en tout 4*3*2*1 possibilits. Rappelons que n! = 1*2*3....*n ( factorielle n) reprsente le nombre de permutations de n lments. Pour 4 clients il y a donc 4! = 24 possibilits. Ceci devient vite totalement inexploitable. Pour n = 10 on a dj 10 ! = 10*9*8*... *3*2*1 = 3 628 800 tournes possibles ! L'numration tant gnralement impossible, pour rsoudre un problme il faut construire un modle qui lui soit adapt, c'est--dire prciser la nature de x, de S, et de f(x). Parmi les diffrentes acceptions du mot modle, le petit Larousse donne la dfinition suivante : "structure formalise utilise pour rendre compte d'un ensemble de phnomnes qui possdent entre eux certaines relations". Le problme tudi se place dans un certain contexte qui va tre traduit par des paramtres exognes sur lequel le dcideur ne peut agir. Ce sont des donnes pour le problme. Le modle doit servir pour explorer les solutions ou simuler toutes les relations entre les donnes et les variables. Il peut prendre la forme d'un modle mathmatique, auquel cas il s'appuiera sur un ensemble d'quations mathmatiques et de relations. Il peut aussi exploiter des reprsentations graphiques. La modlisation procde ncessairement par simplifications et omissions. Le modle ne peut tre qu'une reprsentation partielle et schmatique. Seuls les lments jugs pertinents en vue de l'exploration des solutions sont retenus. Dans la construction d'un modle, il faudra tenir compte du caractre plus au moins alatoire de l'environnement : on peut tre dans un environnement dterministe ou prsentant un certain degr d'incertitude mais modlisable par des lois de probabilit, mais on peut aussi se trouver face l'incertitude.

    Min f(x) x S ou

    Max f(x) x S

  • Introduction, la dmarche de modlisation 4

    Un autre aspect de la conception d'un modle concerne les critres qui seront mis en avant pour valuer les dcisions. Dans certains cas, il peut tre suffisant de ne retenir qu'un critre unique : ce sera gnralement le cas de problmes caractre oprationnel. Dans un contexte de dcisions plus stratgiques, on sera amen prendre en compte plusieurs critres qui risquent d'tre contradictoires. Il n'existe pas vraiment de rgles pour construire un modle. "On a pu prtendre que la modlisation constituait d'avantage un art qu'une technique. Plus modestement, nous pensons qu'elle relve plutt d'un artisanat alliant rigueur scientifique et savoir-faire pragmatique" (Extrait de "Aide la dcision : Une approche par les cas" Vallin- Vanderpooten ELLIPSES) Le premier objectif de ce cours est de donner quelques exemples de modles permettant de reprsenter certains problmes d'optimisation dans un contexte dterministe. B - Du modle la solution Une fois le problme correctement reprsent, il s'agira alors de le rsoudre. Pour cela, pour chaque type de modle, on dispose de mthodes de rsolution. La nature du problme peut conduire des modles pour lesquels il est encore aujourd'hui trs difficile d'obtenir une solution optimale. Dans ce cas, on s'attachera essentiellement construire en un temps raisonnable une bonne solution en utilisant des mthodes approches encore appeles "heuristiques". Le modle peut aussi tre exploit comme outil de simulation : les variables et donnes sont lies entre elles par des relations. On peut utiliser le modle pour simuler la consquence de variation de certaines donnes ou paramtres du problme et mesurer l'impact de certaines dcisions dans un contexte o l'exprimentation est souvent impossible. Le deuxime objectif du cours est de donner pour quelques modles une mthode de rsolution. Dans la plupart des cas que nous verrons, ces mthodes reposent sur des processus itratifs, c'est dire des algorithmes de dtermination des solutions. Cette partie de la dmarche concerne plutt la recherche oprationnelle dont la dfinition issue du Larousse est : Mthode d'analyse scientifique oriente vers la recherche de la meilleure faon de prendre des dcisions pour aboutir aux meilleurs rsultats .

    C - De la solution la dcision Une fois une solution labore, on peut dans un premier temps l'analyser dans l'objectif de valider le modle. Nous avons vu que le modle n'tait qu'une reprsentation schmatique de la ralit. Une solution pourrait mettre en vidence que certaines contraintes n'ont pas, ou ont mal, t prises en compte. Si ce n'est pas le cas, il s'agira alors de traduire la solution obtenue dans les termes du problme tel qu'il avait t pos et laisser au dcideur le soin de l'accepter, la modifier ou... la rejeter ! D - Schma de la dmarche La dmarche prcdente qui illustre le passage du problme la dcision, peut tre reprsente dans le schma suivant - qui lui-mme ne constitue qu'un modle ! - :

  • Introduction, la dmarche de modlisation 5

    III Notions lmentaires sur les algorithmes Nous prsentons ici les lments ncessaires la comprhension des algorithmes qui seront prsents dans ce cours. Dfinition d'un algorithme Un algorithme est une suite finie d'oprations (lmentaires) qui, partir de donnes, conduit la solution d'un problme. Le terme algorithme a pour origine la traduction en latin, au XIIIme sicle, d'un mmoire de Mohammed Ibn Musa Abu Djefar Al-Khwarizmi commenant par : Algoritmi dixit... . Pour un modle donn, il faut avoir des algorithmes de rsolution qui soient : - efficaces de manire pouvoir traiter des "grands" problmes ; nous verrons que ce n'est pas toujours le cas, - robustes : ils ne doivent pas tre tributaires d'une mauvaise apprciation des donnes, - souples : ils doivent pouvoir s'adapter aisment des cas particuliers. Ecriture d'un algorithme en pseudo-langage Avant de traduire un algorithme en langage de programmation (C, Java, Visual basic ou autre), il est d'abord dcrit dans un langage de plus haut niveau qui peut commencer par tre... le franais. On peut aussi utiliser un jeu limit d'instructions permettant de dcrire clairement son principe. Ces instructions sont crites partir d'un langage simplifi appel "pseudo-langage". Nous rappelons ici les principales instructions ncessaires pour dcrire de manire plus ou moins formalise un algorithme.

    La dmarche de laide la dcision et de la recherche oprationnelle

  • Introduction, la dmarche de modlisation 6

    Affectation d'une valeur une variable Une instruction d'affectation permet de donner une valeur une variable. On peut l'crire sous la forme : Poser x = 100 ou x : = 100 ou x

  • Introduction, la dmarche de modlisation 7

    I2 : = i*i Somme : = Somme + I2 FINFAIRE FINPOUR Rsultat : = Somme LIRE Rsultat Le principe de cet algorithme est, chaque itration, d'additionner une variable appele "Somme" le carr du nombre entier "i", i prenant successivement toutes les valeurs de 1 n. Exemple 2 Considrons les deux algorithmes suivants : Algorithme 1 LIRE n LIRE x Rsultat : = 1 POUR i de 1 n

    FAIRE Terme : = 1 POUR j de 1 i Terme : = Terme * (x / j ) FINPOUR Rsultat : = Rsultat + Terme

    FINFAIRE FINPOUR LIRE Rsultat FIN Algorithme 2 LIRE n LIRE x Rsultat : = 1 Terme : = 1 POUR i de 1 n

    FAIRE Terme : = Terme * (x / i ) Rsultat : = Rsultat + Terme

    FINFAIRE FINPOUR LIRE Rsultat FIN Ces deux algorithmes fournissent le mme rsultat :

    Rsultat = !n

    x...

    !3

    x

    !2

    xx1

    n32

    +++++

    qui donne une valeur approche de ex pour les petites valeurs de x.

  • Introduction, la dmarche de modlisation 8

    Dans le premier algorithme, on recalcule chaque itration le terme !i

    x i en multipliant

    progressivement la variable Terme par x/1 puis par x/2 ....puis par x/i ce qui donne bien !i

    x i aprs i

    multiplications et i divisions soit 2i oprations. On recommence pour chaque valeur de i. Le nombre d'oprations que l'on va devoir faire est donc de l'ordre de : - premire itration : calcul de Terme * (x / 1) soit 2 oprations

    - deuxime itration : calcul de !2

    x2 soit 4 oprations

    - ime itration : calcul de !i

    x i soit 2 i oprations ; on multiplie i fois x par lui-mme et le calcul de i!

    ncessite i multiplications

    - nime et dernire itration : calcul de !n

    x n soit 2 n oprations

    En tout on aura donc effectu de l'ordre de : 2 ( 1 +2+ ....+ n ) = 2 n(n+1)/2 = n(n+1) oprations.

    Dans le deuxime algorithme, pour calculer !i

    x i on garde en mmoire le calcul de )!1i(

    x 1i

    !

    ! .

    Ceci permet d'arriver au rsultat en n'effectuant que 2 oprations chaque itration et donc de n'avoir en tout que de l'ordre de 2n oprations effectuer.

    Ce deuxime algorithme est donc plus efficace que le premier, le nombre d'oprations crot comme n

    alors que pour l'algorithme 1 le nombre d'oprations croit comme n2. Pour un problme donn, on peut avoir plusieurs algorithmes de rsolution. Afin de comparer leur performance respective, on s'attachera dterminer le nombre d'oprations que ncessite leur mise en oeuvre, indpendamment de la machine utilise et ceci lorsque la taille du problme devient importante. Dans les dernires leons de ce cours, nous prsenterons des problmes pour lesquels les algorithmes actuellement connus conduisent un nombre d'oprations, et donc un temps de calcul, qui croit de manire exponentielle avec la taille du problme, ce qui interdit de les mettre en oeuvre sur des "grands" problmes.