RECHERCHE OPERATIONNELLE - reussirlem1info Web viewOn pourrait penser que pour résoudre un...

24
RO I : OPTIMISATION COMBINATOIRE Notes de Cours R.O MASTER M1 CHAPITRE II MÉTHODES DE RÉSOLUTION DES PROBLÈMES COMBINATOIRES I. INTRODUCTION On distingue deux classes de méthodes de résolution des problèmes d’optimisation combinatoire : Les méthodes exactes : Ces méthodes sont capables de trouver une solution optimale d’un problème donné dans un intervalle de temps bien déterminé mais exponentiel sur les problèmes NP-complets (notamment les PLNE). Parmi ces méthodes on retrouve la Méthode de séparation et d’évaluation (Branch & Bound) , la Méthode des coupes (Cutting planes), la Programmation dynamiqueLes méthodes approchées : Ces algorithmes appelés généralement heuristiques consistent à trouver une solution proche de l’optimum en un temps raisonnable. Les heuristiques peuvent aller d’un simple algorithme de recherche locale à une classe générale d’heuristiques appelées méta-heuristiques telles que le Recuit simulé, la Recherche tabou, les Algorithmes génétiques Difficultés de résolution des PLNE On pourrait penser que pour résoudre un PLNE, il suffit d’appliquer le simplexe sur le PL (ou PLC) obtenu après relaxation linéaire (continue) du PLNE (x IN x IR), puis de faire un arrondi de la solution réelle obtenue. Sauf que cette solution arrondie ne correspond que dans certains cas à la solution optimale. Elle peut même être très éloignée de la solution optimale du PLNE (Voir Exemple). Néanmoins une propriété importante est mise en évidence : Soient : Z PLNE : Valeur de la fonction objectif de la solution optimale du PLNE (qu’on notera souvent Z opt ) Z PL : Valeur de la fonction objectif de la solution optimale du PL (obtenue par relaxation, notée aussi Z*) Z PLarr : Valeur de la fonction objectif de la solution arrondie du PL (notée aussi ¯ Z ). Nous avons : Min Z PL Z PLNE Z PLarr Max Z PLarr Z PLNE Z PL Ainsi la solution optimale réelle Z PL représente une borne inférieure ou minorant (resp. supérieure ou majorant) par rapport à la solution optimale du PLNE Z PLNE dans le cas min (resp. max). 16

Transcript of RECHERCHE OPERATIONNELLE - reussirlem1info Web viewOn pourrait penser que pour résoudre un...

RECHERCHE OPERATIONNELLE

RO I: OPTIMISATION COMBINATOIRENotes de Cours R.O MASTER M1

CHAPITRE II

Mthodes de rsolution des problmes combinatoires

I. INTRODUCTION

On distingue deux classes de mthodes de rsolution des problmes doptimisation combinatoire:

Les mthodes exactes:

Ces mthodes sont capables de trouver une solution optimale dun problme donn dans un intervalle de temps bien dtermin mais exponentiel sur les problmes NP-complets (notamment les PLNE). Parmi ces mthodes on retrouvela Mthode de sparation et dvaluation (Branch & Bound), la Mthode des coupes (Cutting planes), la Programmation dynamique

Les mthodes approches :

Ces algorithmes appels gnralement heuristiques consistent trouver une solution proche de loptimum en un temps raisonnable. Les heuristiques peuvent aller dun simple algorithme de recherche locale une classe gnrale dheuristiques appeles mta-heuristiques telles quele Recuit simul, la Recherche tabou, les Algorithmes gntiques

Difficults de rsolution des PLNE

On pourrait penser que pour rsoudre un PLNE, il suffit dappliquer le simplexe sur le PL (ou PLC) obtenu aprs relaxation linaire (continue) du PLNE (x IN x IR), puis de faire un arrondi de la solution relle obtenue. Sauf que cette solution arrondie ne correspond que dans certains cas la solution optimale. Elle peut mme tre trs loigne de la solution optimale du PLNE (Voir Exemple). Nanmoins une proprit importante est mise en vidence:

Soient:

ZPLNE: Valeur de la fonction objectif de la solution optimale du PLNE (quon notera souvent Zopt)

ZPL: Valeur de la fonction objectif de la solution optimale du PL (obtenue par relaxation, note aussi Z*)

ZPLarr: Valeur de la fonction objectif de la solution arrondie du PL (note aussi ).

Nous avons: MinZPL ZPLNE ZPLarr

MaxZPLarr ZPLNE ZPL

Ainsi la solution optimale relle ZPL reprsente une borne infrieure ou minorant (resp. suprieure ou majorant) par rapport la solution optimale du PLNE ZPLNE dans le cas min (resp. max).

Exemple: Soit le PLNE suivantrsolu graphiquement :

Max Z = x1 + 0.64 x2

Avec 50x1 + 31x2 250Sol. optimale du PLC: XPL = (1.95 , 4.92)ZPL = 5.098

3x1 - 2x2 -4Sol. Arrondie: XPLarr = (2 , 4)ZPLarr = 4.56

(XPL = (1.95 , 4.92)XPLNE = (5 , 0)XPLarr = (2 , 4))x1 , x2 INSol. optimale du PLNE: XPLNE = (5 , 0)ZPLNE = 5

Remarques:

En cas de max, on arrondit souvent les valeurs des variables lentier infrieur, sinon la solution devient non ralisable. En cas de min, larrondi se fait lentier suprieur. On peut tre amen aussi combiner les deux types darrondi pour obtenir une solution ralisable au PLNE.

Cet exemple montre que la solution du PLNE peut tre trs loigne de la solution relle.

II. METHODES EXACTES

II.1. La procdure de sparation et dvaluation progressive (Branch & Bound)

a) Introduction

Il sagit essentiellement de diviser (divide and conquer) lensemble de toutes les solutions ralisables (problme initial) en sous-ensembles plus petits (sous problmes) et mutuellement exclusifs. Cest la phase sparation (Branch). Puis divers critres sont utiliss pour identifier les sous-ensembles qui peuvent contenir la solution optimale et les sous-ensembles qui ne doivent pas tre explors plus fond car ils ne peuvent pas contenir la solution optimale. Cest la phase valuation (Bound).

Cette mthode consiste donc faire une numration intelligente de lespace des solutions, puisquelle arrive liminer des solutions partielles qui ne mnent pas la solution optimale.

Pour ce faire, cette mthode se dote dune fonction qui permet de mettre une borne infrieure (en cas de min) sur certaines solutions pour soit les exclure soit les maintenir comme des solutions potentielles. Bien entendu, la performance dune mthode de branch and bound dpend, entre autres, de la qualit de cette fonction (de sa capacit dexclure des solutions partielles tt).

(PP1P2PkP21P22P2k)

Le processus de sparation dun sous-ensemble Pi sarrte dans lun des cas suivants(cas Min) :

Lorsque la borne infrieure de Pi est la meilleure solution trouve jusqu maintenant pour le problme initial.

Lorsque Pi nadmet pas de solution ralisable.

Lorsque Pi admet une solution complte du problme initial.

b) Algorithme gnral (cas Min)

A chaque instant, on maintient:

- une liste de sous problmes actifs Pi

- Le cot Z de la meilleure solution obtenue jusqu maintenant (Initialis + ou celui d'une solution initiale connue).

A une tape typique:

- Slectionner un sous problme actif Pi

- Si Pi nest pas ralisable, le supprimer (stop branch) sinon calculer sa borne infrieure Zinf(Pi)

- Si Zinf(Pi) Z supprimer Pi (stop branch)

- Si Zinf(Pi) < Z soit rsoudre Pi directement, soit crer de nouveaux sous problmes et les ajouter la liste des sous problmes actifs.

En pratique, il reste quelques petits dtails rgler pour pouvoir appliquer cette mthode, en particulier:

- Comment dterminer la borne dvaluation (borne infrieure en cas de min)?

Une possibilit est de calculer la solution du PLC obtenue par relaxation linaire du PLNE. Cette mthode donnera une bonne valuation, mais pourra tre coteuse et longue calculer. Suivant le problme on pourra essayer de trouver une mthode heuristique/astucieuse faisant un compromis entre vitesse dobtention de la borne et sa fiabilit.

- Quel sommet explore ton chaque tape de la recherche?

L, il ny a pas de bonne mthode, cest suivant le problme en question. Les principales stratgies utilises sont:- En profondeur (DFS)

- En largeur (BFS)

- Meilleur dabord. (Best First)

- Suivant quel xi construit-on larbre?

Ce choix peut tre dterminant pour la rapidit de la solution optimale. Dans le cas du problme du sac dos par exemple, il est plus efficace de prendre lordre des xi par cot dcroissant.

c) Exemples

Exemple 1: Soit le PLNE(not P) Min x1 2x2

s.c. 4x1 + 6x2 9

x1 + x2 4

x1, x2 0 et entiers

Z* sera le cot optimal de la relaxation linaire (borne infrieure).

Si la solution de la relaxation est entire, pas besoin de partitionner le sous problme.

Sinon, on choisit un non entier, et on cre deux sous problmes en ajoutant les contraintes :

xi et xi

La solution optimale relle obtenue par le simplexe (de P relax) est x* = (1.5 , 2.5) et Z* = -3.5. En cas de minimisation cette solution reprsente donc une borne infrieure: Zinf = Z* = -3.5. Larrondi de cette solution donne une solution ralisable (borne suprieure Zsup), on a: = (1 , 2) et = Zsup = -3. Ainsi on peut borner la solution optimale du PLNE comme suit: -3.5 Zopt -3

Cration des sous problmes P1 et P2 en rajoutant les contraintes x2 2 et x2 3

P1

P2

min x1 2x2

s.c. 4x1 + 6x2 9

x1 + x2 4

x2 3

x1, x2 entiers

min x1 2x2

s.c. 4x1 + 6x2 9

x1 + x2 4

x2 2

x1, x2 entiers

Liste des sous problmes actifs : {P1 , P2}

(1- 4x1+6x2 9x1+x2 4x2 3x2 2(0.75,2))

Le problme P1 nest pas ralisable Liste des problmes actifs (P2}

La solution optimale relle de P2 relax est x* = (0.75 , 2) et Z* = -3.25.

La borne infrieure trouve (-3.25) tant infrieure la meilleure solution trouve (-3)

Cration des sous problmes P3 et P4 en rajoutant les contraintes x1 0 et x1 1

P3

P4

min x1 2x2

s.c. -4x1 + 6x2 9

x1 + x2 4

x2 2

x1 1

x1, x2 entiers

min x1 2x2

s.c. -4x1 + 6x2 9

x1 + x2 4

x2 2

x1 0

x1, x2 entiers

(1- 4x1+6x2 9x1+x2 4x2 2x1 0x1 1P3 (1,2)P4 (0,1.5))

Liste des problmes actifs (P3 , P4}

La solution optimale de P3 relax est entire donc x = (1 , 2) et Z = -3.

La solution optimale relle de P4 relax est x* = (0 , 1.5) et Z* = -3.

Cette branche est arrte car Z* (borne infrieure) -3.

La solution optimale est donc xPLNE = (1 , 2) avec Zopt = -3

(x = (1,2) Z = -3) (PP1P2P3P4Non ralis.x* = (0.75,2) Zinf = -3.25x2 3x2 2x1 0x1 1x* = (0,1.5) Zinf = -3x* = (1.5 , 2.5) Z* = -3.5 )

Exemple 2: Problme du sac dos (Pb. de maximisation)

Deux simplifications

1. Les variables sont binaires.

2. La relaxation linaire peut tre rsolue efficacement par un algorithme simple : prendre dabord les articles meilleur rendement, jusqu atteindre la capacit.

Une socit dispose de 1 400 000 DA investir.

Les experts proposent 4 investissements possibles:

Cot

Bnfice

Rendement

Inv. 1

500 000

1600 000

3.20

Inv. 2

700 000

2200 000

3.14

Inv. 3

400 000

1200 000

3.00

Inv. 4

300 000

800 000

2.67

Rsolution:

ai

ci

Rdt

P

P1

P3

P4

P5

P6

P2

P7

P8

P9

P10

P11

P12

1

500 000

1600 000

3.20

1

1

1

3/5

0

1

1

1

1

1

4/5

0

1

2

700 000

2200 000

3.14

1

5/7

0

1

1

1

1

1

6/7

0

1

1

1

3

400 000

1200 000

3.00

1/2

1

1

1

1

1

0

0

0