Vous êtes sur la page 1sur 43

1

2 - Rappels

Dr. I. Bouras | Recherche Opérationnelle Avancée


La recherche opérationnelle
2

La recherche opérationnelle (RO) est l’ensemble des méthodes et


techniques rationnelles orientées vers la recherche du meilleur choix dans
la façon d’opérer en vue d’aboutir au résultat visé ou au meilleur résultat
possible ou encore au résultat optimal.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Problème de RO
3

Un problème se décompose en deux parties : une partie Donnée et une


partie Tâche ou Question. Une telle formalisation permet d’écrire
clairement quelles sont les éléments dont on dispose au départ et quelle
est précisément la tâche que l’on veut résoudre.

L’objectif à atteindre devient donc clair et dans un tel contexte, il est plus
facile de discuter des performances de telle ou telle méthode.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Problème de RO
4

Problème de décision: est une question mathématique dont la réponse est


soit « oui », soit « non ».

Dr. I. Bouras | Recherche Opérationnelle Avancée


Problème de RO
4

Problème de décision: est une question mathématique dont la réponse est


soit « oui », soit « non ».

Problème d’optimisation: consiste à trouver la meilleure solution à un


problème qu’on a su préalablement exprimer sous une forme
mathématique particulière qui fait intervenir un ou plusieurs critères.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Types de problèmes de RO
5

▶ combinatoire: lorsqu’il comprend un grand nombre de solutions


admissibles parmi lesquelles on cherche une solution optimale ou
proche de l’optimum.
▶ aléatoire s’il consiste à trouver une solution optimale à un problème
qui se pose en termes incertains.
▶ concurrentiel s’il consiste à trouver une solution optimale face à un
problème dont les termes dépendent de l’interrelation entre ses
propres agissements et ceux d’autres décideurs.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Etapes pratiques
6

1. Définition du problème
2. Construction d’un modèle (Modélisation)
3. Solution du modèle (Algorithme)
4. Validation du modèle (Preuve théorique)
5. Implémentation de la solution

Dr. I. Bouras | Recherche Opérationnelle Avancée


Modélisation
7

Un modèle mathématique est une traduction de la réalité pour pouvoir lui


appliquer les outils, les techniques et les théories mathématiques, puis
généralement, en sens inverse, la traduction des résultats mathématiques
obtenus en prédictions ou opérations dans le monde réel.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Modélisation
7

Un modèle mathématique est une traduction de la réalité pour pouvoir lui


appliquer les outils, les techniques et les théories mathématiques, puis
généralement, en sens inverse, la traduction des résultats mathématiques
obtenus en prédictions ou opérations dans le monde réel.

▶ La programation mathématique.
▶ La théorie des graphes.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Modélisation
7

Un modèle mathématique est une traduction de la réalité pour pouvoir lui


appliquer les outils, les techniques et les théories mathématiques, puis
généralement, en sens inverse, la traduction des résultats mathématiques
obtenus en prédictions ou opérations dans le monde réel.

▶ La programation mathématique.
▶ La théorie des graphes.
La résolution d’un problème dépend crucialement du modèle choisi. En
effet, pour un même problème, diférentes modélisations sont possibles et il
n’est pas rare que le problème semble insoluble dans une modélisation et
trivial dans une autre.

Dr. I. Bouras | Recherche Opérationnelle Avancée


8

a- La programmation mathématique

Dr. I. Bouras | Recherche Opérationnelle Avancée


La programmation mathématique
9

Le terme programmation mathématique est un terme plutôt vague pour


désigner le problème mathématique qui consiste à chercher un élément
dans un ensemble X qui minimise ou maximise un critère, ou coût, ou
fonction de coût. Puisqu’en général la recherche opérationnelle a pour
objectif l’optimisation, la phase de modélisation se termine souvent par
l’écriture formelle d’un programme mathématique.

Dr. I. Bouras | Recherche Opérationnelle Avancée


La programmation mathématique
10

Ce qui est demandé au chercheur opérationnel, c’est de proposer une


meilleure utilisation des ressources, voire une utilisation optimale. Les
bonnes questions à se poser, face à un problème du type recherche
opérationnelle, sont les suivantes :
▶ Quelles sont les variables de décision ? C’est-à-dire quels sont les
éléments de mon modèle que j’ai le droit de faire varier pour proposer
d’autres solutions ?
▶ Quelles sont les contraintes ? Une fois identifiées les variables de
décision, quelles sont les valeurs autorisées pour ces variables ?
▶ Quel est l’objectif ou le critère ? Quelle est la quantité que l’on veut
maximiser ou minimiser ?
Un programme mathématique s’écrit sous la forme suivante:

min f(x)

t.q. g(x) ≤ 0,

x ∈ X.

Dr. I. Bouras | Recherche Opérationnelle Avancée


La programmation mathématique
11

Types de problèmes de programmation mathématique


▶ La programmation linéaire étudie les cas où la fonction objectif et les
contraintes sont linéaires.
▶ La programmation linéaire en nombres entiers étudie les programmes
linéaires dans lesquels les variables doivent prendre des valeurs
entières.
▶ La programmation quadratique concerne les problèmes dont la
fonction objectif contient des termes quadratiques .
▶ La programmation non-linéaire étudie le cas général dans lequel la
fonction objectif ou les contraintes (ou les deux) contiennent des
parties non-linéaires.
▶ La programmation stochastique concerne les problèmes avec des
contraintes dépendant de variables aléatoires.

Dr. I. Bouras | Recherche Opérationnelle Avancée


12

b- La théorie des graphes

Dr. I. Bouras | Recherche Opérationnelle Avancée


Problématique
13

Pour représenter les réseaux, la théorie des graphes est l’outil le plus
adéquat, les graphes sont des outils mathématiques utilisés pour modéliser
et résoudre des problèmes complexes dans des domaines aussi variés que
l’optimisation (production industrielle, aide à la décision) ou la conception
de réseaux (électriques, routiers, télécoms).

Dr. I. Bouras | Recherche Opérationnelle Avancée


Les graphes
14

▶ Un graphe donné par un couple G = (V, E), où:


▶ V est un ensemble.
▶ E est un ensemble de paires {u, v} avec u, v ∈ V.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Les graphes
14

▶ Un graphe donné par un couple G = (V, E), où:


▶ V est un ensemble.
▶ E est un ensemble de paires {u, v} avec u, v ∈ V.
▶ Les éléments de V sont appelés des sommets (ou nœuds).
▶ Les éléments de E sont appelés des arêtes.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Les graphes
14

▶ Un graphe donné par un couple G = (V, E), où:


▶ V est un ensemble.
▶ E est un ensemble de paires {u, v} avec u, v ∈ V.
▶ Les éléments de V sont appelés des sommets (ou nœuds).
▶ Les éléments de E sont appelés des arêtes.
▶ La paire {u, v} peut être représentée par (u, v) ou (v, u). Autrement
dit, (u, v) et (v, u) dénotent la même arête.

Example

Dr. I. Bouras | Recherche Opérationnelle Avancée


Vocabulaire
15

Dr. I. Bouras | Recherche Opérationnelle Avancée


Vocabulaire : chemins et cycles
16

▶ Un chemin du sommet s vers le sommet t est une suite e0 , e1 , . . . , en


de sommets telle que:
e0 = s, en = t, (ei−1 , ei ) ∈ E, pour tout 1 ≤ i ≤ n.
▶ n est appelé la longueur du chemin,
▶ on dit que t est joignable à partir de s.
▶ Le chemin est dit simple si les ei sont distincts deux-à-deux.
▶ Un cycle est un chemin de longueur non-nulle avec e0 = en .
▶ Un graphe est dit connexe si tout sommet est joignable à partir de tout
les autres sommet.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Types de graphes
17

▶ Un graphe est dit planaire s’il peut se représenter sur un plan sans
qu’aucune arête n’en croise une autre.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Types de graphes
17

▶ Un graphe est dit planaire s’il peut se représenter sur un plan sans
qu’aucune arête n’en croise une autre.

▶ Un graphe est dit biparti si l’ensemble V des sommets est partitionné


en deux sous-ensembles A et B telle que chaque arête ait une
extrémité dans A et l’autre dans B.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Les arbres
18

▶ Un graphe connexe sans cycle est appelé un arbre.


▶ Un graphe sans-cycle est appelé une forêt :
▶ chacune de ses composantes connexes est un arbre.
▶ Dès qu’on a des objets, des relations entre objets, et pas de cycle, on a
donc un arbre ou une forêt.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Représentation des graphes : matrice d’adjacence
19

Soit G = (V, E) avec V = {1, 2, ..., n},


▶ G peut être représenté par une matrice Mn×n .
(
1 si (i, j) ∈ E
Mij =
O sinon.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Représentation des graphes : liste de successeurs
20

▶ On associe à chaque sommet i, la liste des sommets j tels que (i, j) ∈ E.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Meilleure représentation ?
21

Meilleure représentation ?

Dr. I. Bouras | Recherche Opérationnelle Avancée


Meilleure représentation ?
21

Meilleure représentation ?
▶ Matrice : mémoire O(n2 )
▶ Listes : mémoire O(n + m)
où n nombre de sommets, m nombre d’arêtes.
▶ Quelle est la meilleure représentation ?

Dr. I. Bouras | Recherche Opérationnelle Avancée


Meilleure représentation ?
21

Meilleure représentation ?
▶ Matrice : mémoire O(n2 )
▶ Listes : mémoire O(n + m)
où n nombre de sommets, m nombre d’arêtes.
▶ Quelle est la meilleure représentation ?
Cela dépend du contexte.

Dr. I. Bouras | Recherche Opérationnelle Avancée


22

Complexité algorithmique

Dr. I. Bouras | Recherche Opérationnelle Avancée


Algorithme
23

Une fois que l’on a modélisé notre problème concret en un problème


formalisé ou en un programme mathématique, on doit se demander
comment le résoudre. Dans ce cours, nous verrons diférents problèmes,
diférents programmes mathématiques, et quelles sont les méthodes pour
les résoudre.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Algorithme
23

Une fois que l’on a modélisé notre problème concret en un problème


formalisé ou en un programme mathématique, on doit se demander
comment le résoudre. Dans ce cours, nous verrons diférents problèmes,
diférents programmes mathématiques, et quelles sont les méthodes pour
les résoudre.
Algorithme Une suite d’opérations élémentaires permettant de résoudre un
problème.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Algorithme
23

Une fois que l’on a modélisé notre problème concret en un problème


formalisé ou en un programme mathématique, on doit se demander
comment le résoudre. Dans ce cours, nous verrons diférents problèmes,
diférents programmes mathématiques, et quelles sont les méthodes pour
les résoudre.
Algorithme Une suite d’opérations élémentaires permettant de résoudre un
problème.
La résolution d’un problème de recherche opérationnelle passe toujours
par l’application d’un algorithme, qui est ensuite implémenté. Si le
problème que l’on tente de résoudre est un programme d’optimisation, on
parlera d’algorithme exact si l’algorithme est sûr de se terminer avec
l’optimum du programme, et d’algorithme approché sinon.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Efficacité
24

Une méthode peut être de tester l’algorithme sur de grandes quantités de


données. Mais ces tests-là peuvent être très, très longs, et de toute façon, à
chaque fois que l’on va penser à un algorithme possible, on ne va pas
systématiquement procéder à son implémentation et à des tests. La théorie
de la complexité, un des fondement théorique de la recherche
opérationnelle, a pour but de mesurer a priori l’efficacité d’un algorithme.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Efficacité
25

Dr. I. Bouras | Recherche Opérationnelle Avancée


Efficacité
26

Dr. I. Bouras | Recherche Opérationnelle Avancée


Classification des problèmes
27

La classe P
Un problème est dit polynomial (appartenant à la classe P) s’il peut être
résolu par un algorithme déterministe de complexité temporelle
polynomiale en la taille du problème

Dr. I. Bouras | Recherche Opérationnelle Avancée


Classification des problèmes
28

La classe NP
▶ La classe NP possède une définition moins naturelle que celle de la
classe P (nom trompeur) NP signifie polynomial non déterministe
▶ Extension de la classe P en autorisant des choix non déterministes
▶ Pour ce type de problème il est possible de vérifier une solution
efficacement (en temps polynomial)

Dr. I. Bouras | Recherche Opérationnelle Avancée


Classification des problèmes
29

La classe NP-complet (NP-Complete)


▶ La théorie de la NP-complétude concerne la reconnaissance des
problèmes les plus durs de la classe NP.
▶ Un problème est dit NP-complet s’il vérifie les propriétés suivantes:
▶ Il est possible de vérifier une solution en temps polynomial.
▶ Tout problème Q de NP lui est réductible; cela signifie que le problème
est au moins aussi difficile que tous les autres problèmes de la classe NP.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Classification des problèmes
30

La classe NP-difficile (NP-Hard)


▶ Cette classe contient les problème les plus dur à résoudre (en terme de
complexité temporelle)
▶ Un problème est dit NP-difficile si tout problème Q de NP lui est
réductible.

Dr. I. Bouras | Recherche Opérationnelle Avancée


Classification des problèmes
31

Dr. I. Bouras | Recherche Opérationnelle Avancée


P = NP
32

Celui-ci est le problème le plus célèbre en informatique, et l’une des


questions en suspens les plus importantes en mathématiques. En fait, Clay
Institute offre un million de dollars pour trouver une solution à ce
problème.
Il est clair que P est un sous-ensemble de NP. La question ouverte est de
savoir si les problèmes de NP ont des solutions déterministes en temps
polynomial. On pense généralement qu’ils ne le font pas.

Dr. I. Bouras | Recherche Opérationnelle Avancée


P = NP
33

Dr. I. Bouras | Recherche Opérationnelle Avancée

Vous aimerez peut-être aussi