76
CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe Canalda [email protected] cnam-rcp101-sem2-2008 <cnam-rcp101-sem2- [email protected]> http://psm-serv.univ-fcomte.fr/~pcanalda/cnam

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Embed Size (px)

Citation preview

Page 1: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda

Recherche opérationnelle et aide à la décision

RCP101Philippe Canalda

[email protected] <[email protected]>

http://psm-serv.univ-fcomte.fr/~pcanalda/cnam

Page 2: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

2

par Philippe Canalda

Références

• Livres de référence (principaux)– Auteurs Titre– Thomas Cormen, INTRODUCTION A L'ALGORITHMIQUE

Charles Leiserson et Ronald Rivest, (chez Dunod)

– Faure, Lemaire, Picouleau Précis de Recherche Opérationnelle, 5ème édition Dunod ;

– Groupe Roseaux Exercices et problèmes résolus de recherche opérationnelle, tome3, Masson ;

– Minoux M. Programmation Mathématique : théorie des algorithmes, 2 tomes ; Dunod.

• Matériel requis : – les livres de Cormen, Leiserson et Rivest

et Faure, Lemaire et Picouleau• Matériel produit :

– vidéo-projection + prises de notes– Un support sur les graphes et optimisations – 2 supports sur la programmation linéaire

Page 3: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

3

par Philippe Canalda

Plan 1/4

1. Introduction• Génèse.• Enjeux.• Techniques, méthodes et outils : un aperçu.• Structures ordonnées, applications des treillis et de l’algèbre de

Boole en RO. Exercices• Eléments de complexité (des algorithmes et des problèmes).

Exercices.2. Graphes et ordonnancement en gestion de projet• Rappels des concepts élémentaires de théorie des graphes :

définitions générales, graphes orientés, graphes non orientés, quelques graphes particuliers, représentation des graphes, parcours dans un graphe, exercices.

• …

Page 4: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

4

par Philippe Canalda

Plan 2/4

2. Graphes et ordonnancement en gestion de projet• …• Application des graphes à la RO• Aperçu de méthodes de résolution : approche incrémentale,

récursive, notions de programmation dynamique, algorithmes gloutons, problèmes linéaires ou non linéaires avec contraintes, exercices ;

• Problème du chemin de valeur optimale entre 2 sommets, exercices ;

• Ordonnancement de projets : méthode PERT et MPM (chemins critiques, marges), exercices ;

• Traitement des contraintes cumulatives (budget) : flot de valeur maximale, flot de valeur maximale à coût maximal, affectation, arbres optimaux, programmes de transport, …, exercices.

Page 5: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

5

par Philippe Canalda

Plan 3/43. Programmation linéaire et applications à l’entreprise• Généralités : origine, domaines d’application, pertinence.• Introduction géométrique puis algébrique à l’algorithme du

simplexe : conditions d’existence de solutions (notation MIN, MAX), applications linéaires matricielles, formes analytiques des programmes linéaires, exercices.

• Problème de la base initiale : méthode à 2 phases de Dantzig, méthodes des pénalités (ou du grand M), exercices.

• Dualité : introduction, illustration, dualité dans le formalisme particulier et dans le cas général, propriétés mathématiques, interprétation économique, exercices.

• Analyse en sensibilité (paramétrages) : critiques de la programmation linéaire, paramétrage de la fonction économique, paramétrage du second membre (analyse post-optimale), exercices.

4. …

Page 6: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

6

par Philippe Canalda

Plan 4/4

4. Analyse multicritère et systèmes interactifs d’aide à la décision (SIAD)

• Méthodologies, concepts fondamentaux.• Méthodes ELECTRE, « Goal-programming ».• Présentation des SIAD (intérêts, limites).5. Processus stochastique et programmation dynamique

stochastique6. Eléments de théorie des files d’attente et de sûreté de

fonctionnement• Loi de Poisson, exponentielle.• File d’attente M/M/1 et applications.• Fiabilité des composants, des systèmes (notions).• Paramètres de la sûreté de fonctionnement.

Page 7: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

7

par Philippe Canalda

Evaluation

• Examen sur table

• Mini projet– Soit un algo d’optimisation

ex : introduire les fdt ds un algo (de prog dyn/géné) résolvant le N-TSP s’appliquant sur 1 territoire multi-convergent

– Soit un exposé plus collectif sur la gestion des taxis dans le cadre du transport flexible public

– Autre … travail personnel

Page 8: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

8

par Philippe Canalda

1.3 Techniques, méthodes et outils : un aperçu.

• <Exercices > : – « Rend la monnaie »,

• Etant donnée, d’une part une liste de pièces (ordonnée ou non)et étant donné un montant de monnaie à rendre

• Calculer les combinaisons de pièces à rendre La meilleure Toutes Une

• Discussion

– « Les huit reines » – « Affectation de ressources »

Page 9: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

9

par Philippe Canalda

Interaction – Affectation de Ressources

• Ensemble de groupes d ’étudiants ou liste, avec le nombre– Schéma– Ordonnee : 3, 15, 17, …, 127, …– Ou non ordonnée : 17, 3, 127, 15, …

• Ensemble ou liste de classes avec les capacités– 20, 30, 30, 70, …

• Problème : trouver, si elle existe, une affectation ou on s ’assure que chaque groupe aura une affectation de classe

• Rmq : les problèmes peuvent toujours se complexifier comme :trouver l’affectation qui :

Minimise le taux d’occupation Ou bien qui le maximise

Page 10: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

10

par Philippe Canalda

Interaction – Affectation de Ressources (suite)

• Exemple : Ge = 120, 15, 3, 84, 45• Gc= 30, 90, 89, 30, 140

• La méthode basique : – Parcourir Ge de g->d

et pour chaque élément du tableau parcourir Gc de g->d en cherchant à trouver une affectation libre

• Cette méthode aboutit à un échec : 126 à 140, 15 à 30, 3 à 90, 84 à 89, mais nous ne pouvons plus affecter 45

• Rmq: une solution est plus facilement trouvable lorsque l’on ordonne les éléments manipulés. Par exemple le choix croissant, ou décroissant, d’ordonner la liste des groupes. De même pour la liste des classes et de leurs contenances.

Page 11: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

11

par Philippe Canalda

« Rend la monnaie »

• Etant donnée, d’une part une liste de pièces (ordonnée ou non) et étant donné un montant de monnaie à rendre

On se donne une Liste ordonnée L={5, 2, 1, 0.5, 0.2, 0.1, 0.05}avec L[0]=5, … L[6]=0.05

Un montant m=12,35 euros de monnaie à rendre

• Calculer les combinaisons de pièces à rendre– La meilleure– Toutes– Une– Discussion

Page 12: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

12

par Philippe Canalda

« Rend la monnaie » : vers une solution

L={5, 2, 1, 0.5, 0.2, 0.1, 0.05} avec L[0]=5, … L[6]=0.05m=12.35 euros

• Calculer les combinaisons de pièces à rendre– La meilleure, toutes, une, discussion

Idée : calculer

» i) le nombre de pièces de 5 euros à rendre sur 12.35 => 2, » ii) le reste => 12.35 – 2 * 5 = 2.35, » iii) passer à la pièce suivante

et recommencer les étapes i) et ii) jusqu’à la fin de la liste ou bien jusqu’à ce que le reste soit nul

Page 13: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

13

par Philippe Canalda

« Rend la monnaie » : vers une solution

L={5, 2, 1, 0.5, 0.2, 0.1, 0.05} avec L[0]=5, … L[6]=0.05m=12.35 euroscalculer

» i) le nombre de pièces de 5 euros à rendre sur 12.35 => 2,

» ii) le reste => 12.35 – 2 * 5 = 2.35,

» iii) passer à la pièce suivante et recommencer les étapes i) et ii) jusqu’à la fin de la liste ou bien jusqu’à ce que le reste soit nul

• Itérer l’exemple, • Automatiser, concevoir votre programme• analyser la méthode :

– exactitude/preuve, observation de la solution/généralisation, amélioration/complexité

Page 14: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

14

par Philippe Canalda

Itérer l’exemple

L={5, 2, 1, 0.5, 0.2, 0.1, 0.05} avec L[0]=5, … L[6]=0.05m=12.35 euroscalculer

» i) le nombre de pièces à rendre sur m=12.35,i=0, L[0]=5quotient= 2 = 12.35/5 = m/L[i]

» ii) le reste m= 2.35 = 12.35%5 = m%L[i],

» iii) passer à la pièce suivante et recommencer les étapes i) et ii) jusqu’à la fin de la liste ou bien jusqu’à ce que le reste soit nuli++

Page 15: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

15

par Philippe Canalda

Automatiser, concevoir votre programme

•?(Programme itératif, récursif, parallèle, …)

Puis analyser la méthode : – exactitude/preuve, observation de la

solution/généralisation, amélioration/complexité

Page 16: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

16

par Philippe Canalda

Exemple de solution

L={5, 2, 1, 0.5, 0.2, 0.1, 0.05} avec L[0]=5, … L[6]=0.05m=12.35 euroscalculer

» Tant que (m <> 0) et (i< L.length) faire // invariant de boucle // on a calculé les occurrences optimales des pièces situées // au rang 0..i-1 Ecrire m/L[i] + « pièces de » + L[i] + « euros » m = m%L[i++]fin tant que// conditions de sortie de la boucle:// m == 0 ou i>= L.length

analyser la méthode : exactitude/preuve, observation de la solution/généralisation, amélioration/complexité

Page 17: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

17

par Philippe Canalda

analyser la méthode :

• exactitude/preuve, – Déjà fait

• observation de la solution/généralisation, – Calcul de la meilleure solution si elle existe.

Elle marche lorsque/parce que• La liste est ordonnée en ordre décroissant

Contre-exemple évident

• Les éléments situés aux rangs I+1 et au-delà sont générateurs (pour constituer n’importe quel montant, a fortiori < à celui L[i])

L={5, 2, 1.5} m=9.5

Page 18: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

18

par Philippe Canalda

analyser la méthode :

• Remarques :– Méthode gloutonne qui calcule l’optimal lorsque le

meilleur choix local (fait à l’indice i) conduit au meilleur choix global qqsoient les indices suivants

– Cf cours prochain sur les graphes et les méthodes d’optimisation gloutonnes

Page 19: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

19

par Philippe Canalda

analyser la méthode :

– Calcul d’une solution? De toutes les solutions ?

?

Souvent il s’agit d’appréhender une approche récursive

Page 20: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

20

par Philippe Canalda

Exemple de solution bis

Nouvelles étapes :

» représenter la solution» Générer les solutions récursivement» Traiter la condition d’arrêt

L={5, 2, 1, 0.5, 0.2, 0.1, 0.05} avec L[0]=5, … L[6]=0.05m=12.35 euros, S_fifo={}calculer

» Tant que (m <> 0) et (i<= L.length) faire // INVARIANT // on calcule toutes les occurrences des pièces situées // au rang 0..i-1 // on stocke ces occurrences dans une liste FIFO pour j allant de 0 à m/L[i] faire S_fifo.add(j) RelancerCalcul(L, m- j * L[i], i+1, S_fifo) S_fifo.retirerlasteltinséré fin tant que

Page 21: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

21

par Philippe Canalda

• Fin 1er cours

Page 22: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

22

par Philippe Canalda

Recette méthodologique

• Pour résoudre un problème, il existe plusieurs recettes:– La première consiste à trouver un algorithme résolvant une

version qui simplifie la solution. Ceci peut-être obtenue • en généralisant le problème

Ne pas limiter le nombre d’occurrences des pièces

• En le simplifiant du point de vue combinatoire Ordonner la liste des pièces dans l’ordre décroissant des valeurs des

pièces

– Ensuite, il est toujours plus aisé de rajouter des contraintes comme limiter le nombre d’occurrences des pièces

– Mais il le sera moins de tenir compte d’une liste non ordonnée mais que nous pourrons ordonner pour se ramener au problème que nous aurons su résoudre ou bien entrevoir la solution

Page 23: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

23

par Philippe Canalda

Travail personnel :

• Résoudre le problème avec limitation du nombre d’occurrences des pièces

• Avancer le support

Page 24: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

24

par Philippe Canalda

Exemple de solution bis Nouvelles étapes :

» représenter la solution» Générer les solutions récursivement» Traiter la condition d’arrêt

L={5, 2, 1, 0.5, 0.2, 0.1, 0.05} avec L[0]=5, … L[6]=0.05m=12.35 euros, S_fifo={}calculer

» If m==0 // solution trouvée ecrire S_fifoelse // m<>0 if i >= L.length // pas de solution else // m<>0 et i <= L.length // on continue // on calcule toutes les occurrences des pièces situées // au rang 0..i-1 et on stocke ces occurrences dans une liste FIFO pour j allant de 0 à m/L[i] faire S_fifo.add(j) RelancerCalcul(L, m- j * L[i], i+1, S_fifo) S_fifo.retirerlasteltinséré fin pour

Page 25: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

25

par Philippe Canalda

• Programme– Conduire le programme récursif– Appliquer la méthode à l’exercice des 8 reines– Présenter

• les structures ordonnées• Des applications des treillis et• de l’algèbre de Boole • Exercices

Page 26: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

26

par Philippe Canalda

• Fin 2ème cours

• Début 3ème cours– Tableau first in first out

• Fichiers spéciaux : file d’attente• Implantation de cette liste

En tableau En tableau et liste circulaire avec les modulo Les listes pointeur de façon abstraite

– // labouebe : pourquoi les le snap-shot (duplicate) de l’échiquier avant le placement de la reine peut permettre de traiter du LLisme ?

– Voir inscription de Yann Deboeuf

Page 27: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

27

par Philippe Canalda

analyser la méthode :

• exactitude/preuve, – Déjà fait grâce à l ’invariant et avec un déroulement de

programme

• observation de la solution/généralisation, – Calcul de toutes les solutions existantes.

Elle marche que• La liste soit ordonnée en ordre décroissant ou non

le lancement se fait avec RelancerCalcul(L, m, i=0, S_fifo={})

Page 28: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

28

par Philippe Canalda

déroulage

• Appliquer le programme précédent sur un exemple court mais réaliste…

– Une taille |L|=2,– Une liste ordonnée décroissante, ou non ordonnée– Une liste qui montre l’intérêt de générer

exhaustivement les solutions– une solution à laquelle vous pourrez apporter des

modifications d’optimisations

• L={3, 2}

Page 29: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

29

par Philippe Canalda

« Les huit reines »

• Etant donnée, une taille de l’échiquier et un nombre de reines à placer

• Calculer les combinaisons des positionnements des reines– Toutes– Certaines selon heuristiques (positions du cavalier)– Discussion

Page 30: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

30

par Philippe Canalda

Chapitre 1

• Structures ordonnées

• Treillis

• Algèbre de Boole

• Applications

• Exercices

Page 31: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

31

par Philippe Canalda

Chapitre 1 : Structures ordonnées

• Notions

• Algèbres de Boole

Page 32: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

32

par Philippe Canalda

Chapitre 1 : Structures ordonnées

• Relations, relations binaires, propriétés– Une relation désigne n’importe quel sous-ensemble

du produit cartésien de 2 ou de plusieurs variables

• Exemple 1– Prod_cart = A x B avec A = {a,b,c} et

B={e1,e2,e3,e4}alors Prod_cart={(a,e1), (a,e2), (a,e3), (a,e4), (b,e1), (b,e2), (b,e3), (b,e4), (c,e1), (c,e2), (c,e3), (c,e4)}admet le sous-ensemble R={(a,e2), (b,e1), (c,e4)}

Page 33: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

33

par Philippe Canalda

Chapitre 1 : Structures ordonnées• relation binaire

– Une relation binaire sur E (abus de langage) est un sous-ensemble de E x E

• Exemple 2– Prod_cart E x E, avec E =

{x, y, z}Représentation matricielle ou sous-forme de tableau

(x,x) (x,z)

(y,y)

(z,x)

(x,x) (x,y) (x,z)

(y,x) (y,y) (y,z)

(z,x) (z,y) (z,z)

(x,x) (x,y)

(y,z)

(z,x) (z,z)

Produitcartésien R2

R1

Page 34: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

34

par Philippe Canalda

Ch1, Relations spéciales• Relation diagonale

– Δ = {(x,x), (y,y), (z,z)}

• Relation réflexive– Contient la diagonale

• Relation symétrique– Prtt (x, y) in E x E alors (y,x) in

ExE• R1 est symétrique mais n’est pas

réflexive

• Relation anti-symétrique– Prtt x et y , (y,x) not in R si (x,y)

in R, sauf si x=y• R2 est anti-symétrique mais n’est

pas réflexive

(x,x) (x,z)

(y,y)

(z,x)

(x,x) (x,y)

(y,z)

(z,x) (z,z)

R2

R1

Page 35: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

35

par Philippe Canalda

Ch1, Relations spéciales• Relation transitive

– Si (x,y) et (y,z) in R alors (x,z) in R

• Les contraires : irréflexif, asymétrique et intransitif– R est irréflexive si elle contient

aucun élément diagonal– Elle est asymétrique si elle n’est

symétrique pour aucun couple de R

– Elle est intransitive si elle n’est transitive pour aucune paire de couples de R

(x,x) (x,y) (x,z)

(y,z)

(z,z)

R4

R3

X,x X,y X,t

Y,x Y,y Y,t

Z,z

T,x T,y T,t

Page 36: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

36

par Philippe Canalda

Ch1, Relations spéciales• Qualifier R3 et R4 ? (x,x) (x,y) (x,z)

(y,z)

(z,z)

R4

R3

X,x X,y X,t

Y,x Y,y Y,t

Z,z

T,x T,y T,t

– R3• Pas réflexive, anti-symétrique et

transitive

– R4• Réflexive, symétrique et transitive

Page 37: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

37

par Philippe Canalda

Ch1, Relations spéciales• Qualifier R5 et R6 ? (x,y)

(y,z)

(z,x)

R6

R5– R5• irréflexive, asymétrique et intransitive

– R6• Elle n’est rien …

ou plutôt elle est non réflexive, non symétrique et non transitive

(x,x) (x,y) (x,z)

(y,z)

(z,x)

Page 38: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

38

par Philippe Canalda

• Heuristique : pour trouver les graphes circulaires à une composante connexe

• Tester si irréfexif• Intransitf• Et asymétrique

Page 39: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

39

par Philippe Canalda

• Programme– Présenter

• La suite des structures ordonnées• Les treillis et des applications• L’algèbre de Boole • Exercices

• Eléments de complexité (des algorithmes et des problèmes). Exercices.

• 2. Graphes et ordonnancement en gestion de projet• Rappels des concepts élémentaires de théorie des graphes :

définitions générales, graphes orientés, graphes non orientés, quelques graphes particuliers, représentation des graphes, parcours dans un graphe, exercices.

Page 40: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

40

par Philippe Canalda

Ch1 : Préordre, équivalence, ordre

• Une relation de préordre est une relation réflexive et transitive• Une relation d’équivalence est une relation réflexive, symétrique

et transitive• Une relation d’ordre (large) est réflexive, antisymétrique et

transitive• Exemple du critérium des champions

– Les champions sont classés selon la relation « avoir obtenu un rang meilleur ou aussi bon que » :

• 1er Camille, • 2ème ex aequo Anatole et Désiré,• 4ème Ernest• 5ème Bernard

– Donner la représentation sous-forme de tableau avec A=Anatole, B=Bernard, …, E=Ernest

Page 41: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

41

par Philippe Canalda

• Fin de cours 3

Page 42: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

42

par Philippe Canalda

Exemple du critérium des champions

– Les champions sont classés selon la relation « avoir obtenu un rang meilleur ou aussi bon que » :

• 1er Camille, • 2ème ex aequo Anatole et

Désiré,• 4ème Ernest• 5ème Bernard

– Donner la représentation sous-forme de tableau avec A=Anatole, B=Bernard, …, E=Ernest

(a,a)

(b,b)

(c,c)

(d,d)

(e,e)

réflexif

Page 43: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

43

par Philippe Canalda

Exemple du critérium des champions

– Les champions sont classés selon la relation « avoir obtenu un rang meilleur ou aussi bon que » :

• 1er Camille, • 2ème ex aequo Anatole et

Désiré,• 4ème Ernest• 5ème Bernard

– Donner la représentation sous-forme de tableau avec A=Anatole, B=Bernard, …, E=Ernest

(a,a) (a,b) (a,d) (a,e)

(b,b)

(c,a) (c,b) (c,c) (c,d) (c,e)

(d,a) (d,b) (d,d) (d,e)

(e,b) (e,e)

réflexif, non symétrique, et transitif, n’est pas anti-symétrique

Page 44: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

44

par Philippe Canalda

Exemple de relation d’équivalence

– Considérons la relation « être parallèle à ou confondu avec », pour les 2 groupes de droites parallèles suivantes : A || C et B || D || E.

• Donner la représentation sous-forme de tableau

– En considérant l’exemple du critérium, déterminer les classes d’équivalence

(a,a) (a,c)

(b,b) (b,d) (b,e)

(c,a) (c,c)

(d,b) (d,d) (d,e)

(e,b) (e,d) (e,e)

réflexif, symétrique, et transitif2 classes {A,C} et {B,D,E}

Page 45: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

45

par Philippe Canalda

Vers un ordre strict…

– Il est manifeste que {A,D} forme une classe d’équivalence. Et cela correspond assez à la relation « avoir le même rang que ».

– En faisant le quotient du pré-ordre par cette relation d’équivalence on obtient 4 classes qui s’ordonnent strictement 2 à 2 selon la relation « avoir un meilleur rang que » :

• Les 4 classes {C}, {A, D}, {E} et {B}• Avec {C} > {A, D} > {E} > {B}

– Réordonner le tableau suivant les rangs croissants C, A, D, E et B

– Donner le tableau de la relation stricte sur les classes

– Qualifier cette relation et remarquer qu’elle est irréflexive, asymétrique et transitive

(a,a) (a,b) (a,d) (a,e)

(b,b)

(c,a) (c,b) (c,c) (c,d) (c,e)

(d,a) (d,b) (d,d) (d,e)

(e,b) (e,e)

Page 46: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

46

par Philippe Canalda

Un ordre au sens large (i.e. moins strict)

– Rappel : Elle est réflexive, anti-symétrique et transitive

– Soit N* et la relation x | y (x divise exactement y, sans reste / ou encore x modulo y ==0).

• Montrer que la relation est un ordre au sens large

• Soit X un sous-ensemble de N* tel que X={1, 2, 3, 5, 10, 20, 30}Calculer le tableau représentant x | y sur X

Page 47: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

47

par Philippe Canalda

Ordres partiels et totaux

– Rappel : Elle est réflexive, anti-symétrique et transitive

– Soit N* et la relation x | y (x divise exactement y, sans reste / ou encore x modulo y ==0).

• Montrer que la relation est un ordre au sens large

• Soit X un sous-ensemble de N* tel que X={1, 2, 3, 5, 10, 20, 30}Calculer le tableau représentant x | y sur X

(1,1) (1,2) (1,3) (1,5) (1,10) (1,20) (1,30)

(2,2) (2,10) (2,20) (2,30)

(3,3) (3,30

(5,5) (5,10) (5,20) (5,30)

(10,10) (10,20) (10,30)

(20,20)

(30,30)

La réflexivité est visible,l’anti-symétrie aussi,la transitivité un peu moins

tous les éléments ne sont pas comparables au dessus de la diagonale

Page 48: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

48

par Philippe Canalda

Ordres partiels et totaux

– La relation d’ordre est partielle lorsque tous les éléments ne sont pas comparables 2 à 2

– Sinon elle est totale

Page 49: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

49

par Philippe Canalda

Représentation sagittale et diagramme de Hasse

– Dans une représentation sagittale• 2 éléments a et b sont représentés chacun par 1 pt, • ils sont réunis par un arc orienté a – b si a R b

Exemple si a | b il y a autant d’arcs que de couples dans la représentation tableau de la même relation

– Dans le diagramme de Hasse, les arcs qui résultent de la réflexivité et de la transitivité sont supprimés

• Donner ces 2 représentations de la relation « | » sur X• Énumérer des 3 représentations informatiques : tableau, sagittal,

diagramme de Hasse• Donner les algorithmes qui produisent les 2 dernières représentations à

partir de la 1ère représentation (le tableau à 2 dimensions)

Page 50: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

50

par Philippe Canalda

• L’exercice de transformation de la matrice sagittale en diagramme de Hasse est TRES intéressant.

• Il exploite l’ordonnancement des éléments de N* manipulés.

Page 51: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

51

par Philippe Canalda

– Excellente prise de note :» NotesCoursN°4.pdf

– Support de cours :» cours1..4.pdf

Page 52: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

52

par Philippe Canalda

• Programme– Présenter

• Les éléments particuliers d’un ensemble ordonné• Les treillis et des applications• L’algèbre de Boole • Exercices

• Eléments de complexité (des algorithmes et des problèmes). Exercices.

• 2. Graphes et ordonnancement en gestion de projet• Rappels des concepts élémentaires de théorie des graphes :

définitions générales, graphes orientés, graphes non orientés, quelques graphes particuliers, représentation des graphes, parcours dans un graphe, exercices.

Page 53: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

53

par Philippe Canalda

Quelques propriétés

• Pour obtenir une représentation d’un ordre strict à partir d’un ordre large (réflexive, antisymétrique et transitive) il faut …

• … il faut supprimer la diagonale.

Rmq :

1 une relation réflexive, asymétrique et transitive définit un ordre strict.

2 elle peut induire un ordre partiel ou bien un ordre total

• Exemple :– représentez la relation stricte correspondant à ‘||’ qui signifie divise (à la manière euclidienne) et

n’est pas égal.L’ordre obtenu est-il strict ou partiel ? Justifiez.

Page 54: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

54

par Philippe Canalda

Quelques propriétés

• A toute relation <= (ou <) correspond une relation converse >= (>, respectivement)

Question : comment l’obtiendriez-vous cette relation converse ?

• Symétrie par rapport à la diagonale

Page 55: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

55

par Philippe Canalda

Les éléments particuliers d’un ensemble ordonné (1/3)

• Définition : un ensemble sur lequel est défini une relation d’ordre (partiel ou total) est dit (partiellement ou totalement) ordonné.

• X un ensemble partiellement ordonné par la relation <=, et une partie P de X– Un minorant m de P est un élément m de X qui est <= tout

élément x de P• Similairement, un majorant M de P est un élément M de X qui est >= tout

élément x de P

– Un élément maximal de P est un élément M de P pour lequel il n’existe pas d’élément de P > à M

• Similairement, un élément minimal de P est un élément M de P pour lequel il n’existe pas d’élément de P < à M

Page 56: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

56

par Philippe Canalda

Les éléments particuliers d’un ensemble ordonné (2/3)

– Le plus grand élément E (maximum) de P est tel que, pour tout x de P on a E >= x

• Similairement, le plus petit élément e (minimum) de P est tel que, pour tout x de P on a e <= x

– La borne supérieure (b.s.) B (suprémum) de P, noté aussi supP est le plus petit élément de l’ensemble des majorants de P.

• Similairement la borne inférieure (b.i.) b (infimum) de P, noté aussi infP est le plus grand élément de l’ensemble des minorants de P.

– L’élément universel de X est le plus grand élément de X.– L’élément nul de X est le plus petit élément de X.

• Rmq : tous ces éléments n’existent pas forcément, dû au fait notamment que parfois les éléments ne sont pas comparables.

Page 57: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

57

par Philippe Canalda

Les éléments particuliers d’un ensemble ordonné : Exemple (3/3)

• Soit X={1, 2, 3, 5, 10, 20, 30}, un ensemble ordonné partiellement par la relation x | y (x divise y).Pour les deux parties suivantes, – P_1={2,3,5,10} et P_2={2,5,10}

• qualifiez les les majorants de P, les minorants de P, les éléments maximaux et les éléments minimaux, le plus grand élément de P, le plus petit élément de P, la b.s., la b.i., l’élément universel et l’élément nul.

Page 58: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

58

par Philippe Canalda

– Prise de note <à fournir/venir>:» NotesCoursN°5.pdf

– Support de cours :» cours1..5.pdf

Page 59: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

59

par Philippe Canalda

Les éléments particuliers d’un ensemble ordonné (Synthèse)

• Définition : un ensemble sur lequel est défini une relation d’ordre (partiel ou total) est dit (partiellement ou totalement) ordonné.

• X un ensemble partiellement ordonné par la relation <=, et une partie P de X– Un minorant m de P est un élément m de X qui est <= tout élément x de P

• Similairement, un majorant M de P est un élément M de X qui est >= tout élément x de P

– Un élément maximal de P est un élément M de P pour lequel il n’existe pas d’élément de P > à M

• Similairement, un élément minimal de P est un élément M de P pour lequel in n’existe pas d’élément de P < à M

– Le plus grand élément E (maximum) de P est tel que, pour tout x de P on a E >= x• Similairement, le plus petit élément e (minimum) de P est tel que, pour tout x de P on a e <= x

– La borne supérieure (b.s.) B (suprémum) de P, noté aussi supP est le plus petit élément de l’ensemble des majorants de P.

• Similairement la borne inférieure (b.i.) b (infimum) de P, noté aussi infP est le plus grand élément de l’ensemble des minorants de P.

– L’élément universel de X est le plus grand élément de X.– L’élément nul de X est le plus petit élément de X.

Page 60: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

60

par Philippe Canalda

Les éléments particuliers d’un ensemble ordonné : Exemple (3/3)

résultat 1• Soit X={1, 2, 3, 5, 10, 20, 30}, un ensemble ordonné

partiellement par la relation x | y (x divise y).– P={2,3,5,10}

Les majorants de P, 30 Les minorants de P, 1 les éléments maximaux, {3, 10} et les éléments minimaux, {2, 3, 5} le plus grand élément de P, inexistant le plus petit élément de P, inexistant la b.s. de P de X, 30 la b.i., 1 l’élément universel, inexistant et l’élément nul, 1

Page 61: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

61

par Philippe Canalda

Les éléments particuliers d’un ensemble ordonné : Exemple (3/3)

résultat 2• Soit X={1, 2, 3, 5, 10, 20, 30}, un ensemble ordonné

partiellement par la relation x | y (x divise y).– P={2,5,10}

Les majorants de P, {10, 20, 30} Les minorants de P, {1} les éléments maximaux, {10} et les éléments minimaux, {2, 5} le plus grand élément de P, {10} le plus petit élément de P, inexistant la b.s. de P, 10 la b.i. de P, 1 Inchangés

» l’élément universel, inexistant » et l’élément nul, 1

Page 62: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

62

par Philippe Canalda

Exemples d’usages de ces éléments particuliers 1/2

• La connaissance a priori des données sur lesquelles un calcul combinatoire (ou des optimisations) doi(ven)t s’opérer.

– cas où l’usage du calcul succède nettement dans le temps à la disponibilité des données …

• => optimisations dites statiques ou le résultat peut être stocké sous la forme de tableaux, diagramme sagittal / graphe / automate, diagramme de Hass, etc.Cette partie statique peut parfois correspondre à une génération de données et/ou de code qui, une fois compilées et ajoutées à un noyau d’optimisation dynamique, produira après compilation puis exécution les résultats attendus (voir ci-après).

– … et où parfois l’usage a posteriori (dé)limite le champ d’application du calcul combinatoire sur les données initiales

• => optimisations dites dynamiques qui exploiteront peut-être les traitements statiques antérieurs consécutivement à, et de manière pas nécessairement exclusive,

Compilation, filtrage, parcours d’automate ou de graphe ou …

Page 63: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

63

par Philippe Canalda

Exemples d’usages de ces éléments particuliers 2/2 a

• Sur un réseau ou territoire donné, nous disposons des distances séparant les nœuds 2 à 2.Dans un premier temps, et à des fins de simplification, nous comptabiliserons le nombre de segments/arcs séparant différents points/nœuds (d’un graphe)

G=(N={0,1,2,3,4,5,6,7,8},E={(0,5),(0,7),(5,7),(5,3),(3,6),(3,2),(7,3),(7,8),(7,1),(7,4),(4,8), (5,1)})

• Nous souhaitons écrire un programme qui, étant donné un sous-ensemble de ces nœuds et arcs, calcule la liste des noeuds rangés par ordre croissant des distances à un nœud particulier donné.

» Pour le nœud 0 et le sous-ensemble N0={1,3,4,5,7} et les arcs associés E0={={(0,5),(0,7),(5,7),(7,3),(7,1),(7,4), (5,1)}et le résultat attendu est L0={0,5,7,1,3,4}

Page 64: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

64

par Philippe Canalda

Exemples d’usages de ces éléments particuliers 2/2 b

• G=(N={0,1,2,3,4,5,6,7,8},E={(0,5),(0,7),(5,7),(5,3),(3,6),(3,2),(7,3),(7,8),(7,1),(7,4),(4,8),(5,1)})

» Pour le nœud 0 et le sous-ensemble N0={0,1,3,4,5,7} et les arcs associés E0={(0,5),(0,7),(5,7),(7,3),(7,1),(7,4), (5,1)}et le résultat attendu est L0={0,5,7,1,3,4}

– Il s’agit de calculer les plus courts chemins depuis 0 vers tous les points (par extension de tout point en tout point),

– de ranger dans L les nœuds en fonction de la distance croissante (mais aussi par ordre alphanumérique en cas d’égalité _ car nous avons un ordre partiel)

– puis lors de l’optimisation dynamique il suffit de parcourir la liste initiale L en exhibant les index des nœuds présents dans N0.

Page 65: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

65

par Philippe Canalda

– Prise de note <à fournir/venir>:» NotesCoursN°6.pdf

– Support de cours :» cours1..6.pdf

Page 66: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

66

par Philippe Canalda

Exemples d’usages de ces éléments particuliers 2/2 c

• Il s’agit de calculer les plus courts chemins depuis 0 vers tous les points (par extension de

tout point en tout point), de ranger dans L les nœuds en fonction de la distance croissante (mais aussi par

ordre alphanumérique en cas d’égalité _ car nous avons un ordre partiel) puis lors de l’optimisation dynamique il suffit de parcourir la liste initiale L en

exhibant les index des nœuds présents dans N0.• Donner la représentation matricielle,• Caractériser la relation (propriétés)• Donner la représentation sagittale• La représentation du diagramme de Hasse a-t-elle un sens dans le cas présent et

pourquoi• Concevez l’algorithme i) qui calcule les plus courts chemins de tout point en 0• Etendez cet algo en un algo ii) qui retourne la liste ordonnée totalement selon les

distances puis, en cas d’égalité, la liste ordonnée selon l’ordre alphanumérique• Concevez l’algorithme iii) qui calcule la sous-liste L0 correspondant au sous-graphe

G0=(N0,EO)=G\{2,4,6,8}• Concevez l’algo qui étend i) en iv) qui calcule les plus courts chemins de tout point

en tout point• Discussion EXERCICE TRES INTERESSANT A REALISER

Page 67: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

67

par Philippe Canalda

Les treillis – définition 1/2

• Lorsque la partie P de X est réduite à 2 éléments (« paire ») {x,y}, il peut exister une b.s. et/ou une b.i.– La b.s. lorsqu’elle existe se note x V y– La b.i. lorsqu’elle existe se note x Λ y

• Définition : on appelle treillis un ensemble partiellement ordonné dans lequel, pour toute paire d’éléments, il existe une b.s. et une b.i.

• Propriété : la définition axiomatique de la page 7 peut être substituée

• Bas de la page 7 preuve de 4’

Page 68: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

68

par Philippe Canalda

Suite au bas de la page 7

– Les propriétés et exercices sur les treillis• Preuves par développements et réductions• Preuves par l’absurde

– L’algèbre de Boole– Isomorphisme de l’algèbre de Boole à un corps d’ensemble

Page 69: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

69

par Philippe Canalda

Les treillis – définition 2/2

• Soit un ensemble T, dont les éléments sont munis de 2 lois de composition, V (OU) et Λ (ET), vérifiant, Qqsoit x, y et z Є T, les propriétés :

• 1’- x OU y = y OU x (commutativité) 1- x ET y = y ET x• 2’- x OU (y OU z) = (x OU y) OU z (associativité) 2- x ET (y ET z) = (x ET y) ET z• 3’- x OU x = x (idempotence) 3- x ET y = x• 4’- x OU (x ET y) = x (absorption) 4- x ET (x OU y) = x

• Alors T constitue un ensemble ordonné par la relation ≤ telle que :

• 5- [x ≤ y] [x ET y] = x [x OU y] = y

• T est un treillis

Page 70: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

70

par Philippe Canalda

Les treillis – exemple• Considérons l’ensemble T des diviseurs de 30 : 1, 2, 3, 5, 6, 10,

15, 30,ordonnés par la relation x | y.

• Si l’on considère le diagramme de Hasse associé (et que vous construirez),et si l’on considère que la b.s. de 2 éléments est leur ppcm et que la b.i. de 2 éléments est leur pgdc,

• Alors T, associé à b.i. et b.s. forment un treillis• L’élément universel est 30, l’élément nul est 1.• De façon générale, N* ordonné par ‘|’ présente une structure de treillis infini dont l’élément nul est

toujours 1 et n’ayant pas d’élément universel• Élaborer les 2 diagrammes de Hasse, celui pour x | y, puis la nouvelle relation

Page 71: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

71

par Philippe Canalda

Les treillis – autres définitions 1/2

• Un treillis T avec élément nul n et élément universel U est complémenté si, qqsoit x de T, il existe une association possible d’un élément x noté x-barre telle que:

• 6- x OU x-barre = U et 6’- x ET x-barre = n

• Exercice– vérifier si le treillis de l’exemple précédent est complémenté– Montrer que le système d’axiomes (1-4), (1’-4’) n’est pas minimal,

tout spécialement vous pourrez montrer que l’absorption entraîne l’idem-potence. Ainsi le système d’axiomes (1, 2, 4, 1’, 2’, 4’) est minimal ou générateur.

Page 72: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

72

par Philippe Canalda

Les treillis – autres définitions 2/2

• Un treillis est distributif si, aux axiomes 1à 4 et 1’ à 4’ s’ajoutent, qqsoit x, y et z de T:

• 7- x OU (y ET z) = (x OU y) ET (x OU z)

• Exercice– Ces axiomes entraînent :

• 7’- x ET (y OU z) = (x ET y) OU (x ET z)

– Inversement 7’ entraîne 7– Dans un treillis distributif la complémentation est unique

(démonstration par l’absurde)

• Un treillis à la fois distributif et complémenté est appelé treillis de Boole. Il est isomorphe à une algèbre de Boole qui est :

– Un ensemble partiellement ordonné, doté d’un élément nul et d’un autre universel, dont les éléments vérifient 1à 4, 1’ à 4’, 6, 6’, 7La relation d’ordre est définie par une des 4 relations suivantes :

• 5*- [x ≤ y] [x ET y] = x [x OU y] = y x ET y-barre = 0 x OU y-barre =1, avec n=0 et U=1

Page 73: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

73

par Philippe Canalda

Une algèbre de Boole

• Une algèbre de Boole à un générateur, différent de 0 et de 1, comporte 4 éléments. (diagramme de Hasse)

• A 2 éléments, il comporte 16 éléments.(cf. page 9)

• Théorème de Stone : Toute algèbre de Boole est isomorphe à un corps d’ensemble.

• Exemple : à partir de l’algèbre de Boole à 2 générateurs a et b tels que a != b et a ET b ! = 0,on fait plus clairement apparaître …

Page 74: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

74

par Philippe Canalda

Corps d’ensemble

• Exemple : à partir de l’algèbre de Boole à 2 générateurs a et b tels que a != b et a ET b ! = 0,on fait plus clairement apparaître …

Dans une forme parallélépipédique (diagramme d’Euler-Venn) représentant l’univers 1 :A, B, A ∩ B, A ∩ B-barre, A-barre ∩ B, A-barre ∩ B-barrequi sont des « régions » correspondant aux atomes respectifsa, b, a ET b, a OU b-barre, a-barre ET b, a-barre ET b-barre

• On appelle corps d’ensembles une famille de parties d’un ensemble, munie des opérations ensemblistes classiques (réunion, intersection, complémentation).

Page 75: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

75

par Philippe Canalda

Corps d’ensemble

• Représentation ensembliste des algèbres de Boole– Logique aristotélicienne (bas de la page 13)– Principe de contradiction (page 14)– Formules de Morgan (pages 15-…)

Page 76: CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision par Philippe Canalda Recherche opérationnelle et aide à la décision RCP101 Philippe

Le 20/03/2008

CNAM Belfort – RCP101 : Recherche opérationnelle et aide à la décision

76

par Philippe Canalda

La suite déjà traitée en pointillée

• Représentation ensembliste des algèbres de Boole– Logique aristotélicienne (bas de la page 13)– Principe de contradiction (page 14)– Formules de Morgan (pages 15-…)

• L’algèbre de Boole binaire (pages 22- …)• Notions de complexité (pages 48-…)• Éléments de la théorie des graphes : définition, concepts

essentiels, parcours des graphes (pages 60-…)• Application des graphes à la recherche opérationnelle

– Notions de programmations dynamiques (pages 95-…)– …