SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Cours de Recherche
opérationnelle 2&3
Filière : Développeur d’ApplicationsWeb & Mobile
Mohammed EL KARKRAOUI
mohammed.elkarkraoui@etu.uae.ac.ma
Nador, 2023-2024
Complexité algorithmique
• La complexité algorithmique est une mesure de l'efficacité d'un
algorithme en termes de ressources informatiques (principalement le
temps et l'espace) qu'il utilise pour résoudre un problème donné.
Elle permet d'évaluer comment la performance d'un algorithme
évolue en fonction de la taille de l'entrée du problème. La complexité
algorithmique est essentielle pour comparer et choisir les meilleurs
algorithmes pour résoudre des problèmes dans des domaines tels
que l'informatique, les mathématiques, la science des données.
• Exemple multiplication de deux matrices
• O(n3) complexité polynomiale
Complexité algorithmique
• O(1) : Complexité constante, où le temps ou l'espace est indépendant de la
taille de l'entrée.
• O(log n) : Complexité logarithmique, où la performance s'améliore à
mesure que la taille de l'entrée augmente.
• O(n) : Complexité linéaire, où le temps ou l'espace augmente linéairement
avec la taille de l'entrée.
• O(n log n) : Complexité quasi-linéaire, couramment observée dans des
algorithmes de tri efficaces comme le tri fusion et le tri rapide.
• O(n²) : Complexité quadratique, généralement associée à des algorithmes
qui effectuent des comparaisons exhaustives, tels que le tri par sélection et
le tri à bulles.
• O(2ⁿ) : Complexité exponentielle, généralement associée à des algorithmes
non efficaces pour les problèmes NP-complets.
• O(n!) : Complexité factorielle, généralement associée à des algorithmes qui
examinent toutes les permutations ou combinaisons possibles.
Complexité algorithmique : polynomiale vs
exponentielle
• 203 = 8000
• 503 = 125 000
• 220 = 1 048 576
• 250 = 125 899 906 842 624
• 20! = 2432902008176640000
Problèmes classiques de la RO
:Voyageur de commerce
Le Problème duVoyageur de Commerce (TSP, pour Traveling Salesman
Problem) est un problème d'optimisation combinatoire classique.
L'objectif est de trouver le plus court circuit (ou la plus courte
tournée) qui passe par un ensemble donné de villes (ou points) en
visitant chaque ville exactement une fois et en revenant à la ville de
départ.Voici une modélisation mathématique typique du TSP :
Problèmes classiques de la RO
:Voyageur de commerce
• Notations :
• N : L'ensemble des villes à visiter, avec N={1,2,…,n}
• dij : La distance (ou le coût) de déplacement entre la ville i et la ville j.
• Variables de Décision :
• xij :Variable binaire qui prend la valeur 1 si le chemin va de la ville i à la ville j
dans la tournée, et 0 sinon.
• Objectif : Minimiser la longueur totale de la tournée, c'est-à-dire la
somme des distances parcourues :
• Min σ𝑖 ,𝑗 ∈𝑁 𝑖≠𝑗 𝑑𝑖𝑗 ∗ 𝑥𝑖𝑗
Problèmes classiques de la RO
:Voyageur de commerce
• Contraintes :
• Chaque ville doit être visitée exactement une fois :
• σ𝑖 ∈𝑁 𝑖≠𝑗 𝑥𝑖𝑗 = 1 ∀ 𝑗 ∈ 𝑁
• σ𝑗 ∈𝑁 𝑗≠𝑖 𝑥𝑖𝑗 = 1 ∀ 𝑖 ∈ 𝑁
• Sous-tour interdit (pour éviter les boucles et les circuits incomplets)
∑i∈S∑j∈S,j≠i xij ≤ ∣S∣−1 ,∀S⊂N, 2 ≤ ∣S∣ ≤ n−1
Problèmes classiques de la RO
:Problème du Sac à Dos
Problème du Sac à Dos (Knapsack Problem) : Le problème du
sac à dos consiste à déterminer la combinaison d'objets à placer dans
un sac à dos de capacité limitée afin de maximiser la valeur totale des
objets sans dépasser la capacité du sac.
Problèmes classiques de la RO
:Problème du Sac à Dos
• Notations :
• N : L'ensemble des objets disponibles, avec N={1,2,…,n}
• vi : La valeur (ou le profit) de l'objet i.
• wi : Le poids de l'objet i.
• C : La capacité maximale du sac à dos.
• Variables de Décision :
• xi :Variable binaire qui prend la valeur 1 si l'objet i est inclus dans le sac à dos,
et 0 sinon.
• Objectif : Maximiser la valeur totale des objets sélectionnés :
• Max ∑i∈N vi⋅xi
Problèmes classiques de la RO
:Problème du Sac à Dos
• Contraintes : La contrainte principale est que la somme des poids
des objets sélectionnés ne peut pas dépasser la capacité du sac à dos
• ∑ i∈N wi⋅xi ≤ C
Problèmes classiques de la RO
:Problème d'Affectation
• Problème d'Affectation (Assignment Problem) : Le problème
d'affectation est un problème d'optimisation combinatoire qui
consiste à attribuer des tâches à des agents de manière optimale.
Chaque agent peut réaliser une unique tâche pour un coût donné et
chaque tâche doit être réalisée par un unique agent. Si les nombres
d'agents et de tâches sont égaux, alors le problème est appelé
affectation équilibrée
Problèmes classiques de la RO
:Circuit Eulerien
• Problème de Circuit Eulerien : Ce problème implique la
recherche d'un circuit qui passe par chaque arête d'un graphe
exactement une fois
Graphes : notions de base
• Les graphes sont des structures de données mathématiques et
informatiques largement utilisées pour représenter et analyser des
relations entre des objets. Un graphe est composé d'un ensemble de
nœuds (ou sommets) et d'un ensemble d'arêtes (ou arcs) qui relient
ces nœuds. Les graphes sont utilisés pour modéliser des relations
dans divers domaines, tels que les réseaux informatiques, les réseaux
sociaux, la planification de trajets, la biologie, la chimie..
Graphes : notions de base
• Nœud (ou Sommet) : Un nœud représente un objet ou une
entité, et il est généralement représenté par un point ou un cercle
dans un graphe.
• Arête (ou Arc) : Une arête est une ligne ou un lien qui connecte
deux nœuds et représente une relation entre ces nœuds. Les arêtes
peuvent être orientées (avec une direction) ou non orientées (sans
direction).
Graphes : notions de base
• Graphe Non Orienté : Dans un graphe non orienté, les arêtes ne
sont pas associées à une direction spécifique. Si un nœud A est relié à
un nœud B, cela signifie que B est également relié à A.
• Graphe Orienté : Dans un graphe orienté, chaque arête a une
direction spécifique. Si un nœud A est relié à un nœud B, cela ne
signifie pas nécessairement que B est relié à A.
Graphes : notions de base
• Voisin : Dans un graphe non dirigé, les nœuds connectés à un nœud
donné sont appelés ses voisins. Dans un graphe orienté, on parle de
prédécesseurs (nœuds entrants) et de successeurs (nœuds sortants).
• Chemin : Un chemin est une séquence d'arêtes qui permet de relier
un nœud de départ à un nœud d'arrivée dans le graphe.
Graphes : notions de base
• Cycle : Un cycle est un chemin fermé qui commence et se termine
au même nœud.
• Graphe Connexe : Un graphe est dit connexe s'il existe un chemin
entre chaque paire de nœuds.
Graphes : notions de base
• Mathématiquement, un graphe est une paire ordonnée G = (V, E) où :
• V est un ensemble fini de nœuds
• E est un ensemble d'arêtes, qui sont des paires non ordonnées ou
ordonnées de nœuds qui indiquent des relations entre les nœuds.
• Exemple :
• V = {A,B,C,D,E}
• E = ({A,B},{ A,D} , {B,B} , {B,E} , {B,C}
, {C,D} ,{C,D} , {D,E})
Graphes : notions de base
• Graphe non orienté : G = (V, E), où E est un ensemble de paires non
ordonnées {x, y}.
• Graphe orienté : G = (V, E), où E est un ensemble de paires
ordonnées (x, y).
Graphes : Matrice d'adjacence
• La matrice d'adjacence est une représentation mathématique d'un
graphe. Dans une matrice d'adjacence, chaque élément de la matrice
indique s'il existe une arête (relation) entre deux nœuds (sommets)
du graphe.
A B C
A 0 1 0
B 1 1 1
C 1 0 1
Graphes :Algorithmes de Parcours de
Graphes
• Parcours en Largeur (BFS, Breadth-First Search)) :Le parcours en largeur commence par
un nœud de départ (souvent appelé nœud source) et explore tous les nœuds voisins de ce
nœud avant de passer aux voisins de ces voisins, et ainsi de suite
Fonction BFS(graphe, noeudDepart):
Créer une file vide Q
Créer un ensemble visited pour suivre les nœuds visités
Enfiler noeudDepart dans Q
Ajouter noeudDepart à l'ensemble visited
Tant que Q n'est pas vide:
courant = Défiler de Q
[Traiter le nœud courant]
Pour chaque voisin dans graphe[courant]:
Si le voisin n'est pas dans visited:
Enfiler le voisin dans Q
Ajouter le voisin à l'ensemble visited
Graphes :Algorithmes de Parcours de
Graphes
• Le parcours en profondeur (DFS, Depth-First Search) commence également par un
nœud de départ, mais il explore autant en profondeur que possible le long d'une branche
avant de revenir en arrière pour explorer d'autres branches :
Fonction DFS(graphe, noeudDepart):
Créer une pile vide S
Créer un ensemble visited pour suivre les nœuds visités
Empiler noeudDepart sur S
Tant que S n'est pas vide:
courant = Dépiler de S
[Traiter le noeud courant]
Si le courant n'a pas été visité:
Marquer courant comme visité
Pour chaque voisin dans graphe[courant]:
Si le voisin n'a pas été visité:
Empiler le voisin sur S
Graphes : Parcours Eulerien
• Un graphe admet un parcours Eulerien si et seulement si ses nœuds
sont tous de degré pair sauf au plus deux.
Graphes :Arbre
• Un arbre peut être considéré comme un type spécial de graphe
acyclique (c'est-à-dire sans cycle) Un arbre a exactement une arête
entre chaque paire de nœuds, de telle sorte qu'il n'y a pas de boucles
ou de cycles. Chaque nœud, à l'exception du nœud racine, est relié à
un unique nœud parent par une arête, et un nœud peut avoir
plusieurs nœuds enfants, mais il n'y a qu'un seul chemin pour
atteindre chaque nœud à partir du nœud racine.
Graphes :Arbre
• Racine : Un arbre a un nœud spécial appelé "racine". C'est le nœud
de départ à partir duquel tous les autres nœuds sont accessibles.
• Feuilles : Les nœuds qui n'ont pas d'enfants sont appelés "feuilles".
Ce sont les nœuds terminaux de l'arbre.
• Nœud Parent et Enfants : Chaque nœud, à l'exception de la
racine, a un nœud parent (le nœud à partir duquel il est accessible) et
peut avoir un ou plusieurs nœuds enfants.
Graphes :Arbre
• un arbre est défini par un triplet (V, E, r) où :
• V est un ensemble fini de nœuds (ou sommets).
• E est un ensemble d'arêtes qui relient les nœuds de l'arbre. Chaque arête
relie un nœud à son nœud parent.
• r est le nœud racine de l'arbre, qui est le seul nœud de l'arbre sans nœud
parent.
• Un graphe est un arbre s’il est connexe et contiens exactement n-1
(nombre de nœuds - 1) arêtes.
Graphes : Parcours d’un arbre
A
B
C D
E
F
1
2
3 4
5
6
1
2 3
4 5 6
Parcours en largeur
BFS
Graphes : Parcours d’un arbre
A
B
C D
E
F
1
2
3 4
5
6
Parcours en
profondeur DFS

Contenu connexe

Similaire à RO-2-3.pdf

Chap IV : Théorie des graphes
Chap IV : Théorie des graphesChap IV : Théorie des graphes
Chap IV : Théorie des graphesMohammed TAMALI
 
Hassan limite.
Hassan limite.Hassan limite.
Hassan limite.Hassanmouh
 
Hassan limite.
Hassan limite.Hassan limite.
Hassan limite.Hassanmouh
 
2.4_cylindriques_spheriques (1).pdf formulaire
2.4_cylindriques_spheriques (1).pdf formulaire2.4_cylindriques_spheriques (1).pdf formulaire
2.4_cylindriques_spheriques (1).pdf formulairemurieldubienmbackeoc
 
cours1 graphe.pdf
cours1 graphe.pdfcours1 graphe.pdf
cours1 graphe.pdfSiriki3
 
Algorithmes sur les graphes Problème du voyageur de commerce: Algorithme de L...
Algorithmes sur les graphes Problème du voyageur de commerce: Algorithme de L...Algorithmes sur les graphes Problème du voyageur de commerce: Algorithme de L...
Algorithmes sur les graphes Problème du voyageur de commerce: Algorithme de L...sarah Benmerzouk
 
Courschapitre4 trigonometrie
Courschapitre4 trigonometrieCourschapitre4 trigonometrie
Courschapitre4 trigonometrievauzelle
 
Vision Numérique : Rappels mathématiques
Vision Numérique : Rappels mathématiquesVision Numérique : Rappels mathématiques
Vision Numérique : Rappels mathématiquesKevinJobin2
 
Modelisation non supervisee
Modelisation non superviseeModelisation non supervisee
Modelisation non superviseeminiloka
 
Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfrezgui10
 
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdfBoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdfsedmorabet
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfMbarkiIsraa
 
Présentation acp
Présentation acpPrésentation acp
Présentation acpgrandprime1
 

Similaire à RO-2-3.pdf (20)

Chap IV : Théorie des graphes
Chap IV : Théorie des graphesChap IV : Théorie des graphes
Chap IV : Théorie des graphes
 
Hassan limite.
Hassan limite.Hassan limite.
Hassan limite.
 
Hassan limite.
Hassan limite.Hassan limite.
Hassan limite.
 
2.4_cylindriques_spheriques (1).pdf formulaire
2.4_cylindriques_spheriques (1).pdf formulaire2.4_cylindriques_spheriques (1).pdf formulaire
2.4_cylindriques_spheriques (1).pdf formulaire
 
cours1 graphe.pdf
cours1 graphe.pdfcours1 graphe.pdf
cours1 graphe.pdf
 
Algorithmes sur les graphes Problème du voyageur de commerce: Algorithme de L...
Algorithmes sur les graphes Problème du voyageur de commerce: Algorithme de L...Algorithmes sur les graphes Problème du voyageur de commerce: Algorithme de L...
Algorithmes sur les graphes Problème du voyageur de commerce: Algorithme de L...
 
Courschapitre4 trigonometrie
Courschapitre4 trigonometrieCourschapitre4 trigonometrie
Courschapitre4 trigonometrie
 
Vision Numérique : Rappels mathématiques
Vision Numérique : Rappels mathématiquesVision Numérique : Rappels mathématiques
Vision Numérique : Rappels mathématiques
 
Modelisation non supervisee
Modelisation non superviseeModelisation non supervisee
Modelisation non supervisee
 
Video
VideoVideo
Video
 
Comment faire disparaître les rides
Comment faire disparaître les ridesComment faire disparaître les rides
Comment faire disparaître les rides
 
Les vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdfLes vecteurs seconde2020.pdf
Les vecteurs seconde2020.pdf
 
Formation traitement d_images
Formation traitement d_imagesFormation traitement d_images
Formation traitement d_images
 
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdfBoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
BoiteOutilsMathematiques a l'usage des techniciens20181126.pdf
 
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdfChapitre 3 _Conception et analyse d’algorithme-DPR.pdf
Chapitre 3 _Conception et analyse d’algorithme-DPR.pdf
 
AD-CH1-FCA-MAC-2019-21.pdf
AD-CH1-FCA-MAC-2019-21.pdfAD-CH1-FCA-MAC-2019-21.pdf
AD-CH1-FCA-MAC-2019-21.pdf
 
Graphes
GraphesGraphes
Graphes
 
Chapitre 13_Les arbres.pptx
Chapitre 13_Les arbres.pptxChapitre 13_Les arbres.pptx
Chapitre 13_Les arbres.pptx
 
02systemediapo.pdf
02systemediapo.pdf02systemediapo.pdf
02systemediapo.pdf
 
Présentation acp
Présentation acpPrésentation acp
Présentation acp
 

Dernier

Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 

Dernier (20)

Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 

RO-2-3.pdf

  • 1. Cours de Recherche opérationnelle 2&3 Filière : Développeur d’ApplicationsWeb & Mobile Mohammed EL KARKRAOUI mohammed.elkarkraoui@etu.uae.ac.ma Nador, 2023-2024
  • 2. Complexité algorithmique • La complexité algorithmique est une mesure de l'efficacité d'un algorithme en termes de ressources informatiques (principalement le temps et l'espace) qu'il utilise pour résoudre un problème donné. Elle permet d'évaluer comment la performance d'un algorithme évolue en fonction de la taille de l'entrée du problème. La complexité algorithmique est essentielle pour comparer et choisir les meilleurs algorithmes pour résoudre des problèmes dans des domaines tels que l'informatique, les mathématiques, la science des données. • Exemple multiplication de deux matrices • O(n3) complexité polynomiale
  • 3. Complexité algorithmique • O(1) : Complexité constante, où le temps ou l'espace est indépendant de la taille de l'entrée. • O(log n) : Complexité logarithmique, où la performance s'améliore à mesure que la taille de l'entrée augmente. • O(n) : Complexité linéaire, où le temps ou l'espace augmente linéairement avec la taille de l'entrée. • O(n log n) : Complexité quasi-linéaire, couramment observée dans des algorithmes de tri efficaces comme le tri fusion et le tri rapide. • O(n²) : Complexité quadratique, généralement associée à des algorithmes qui effectuent des comparaisons exhaustives, tels que le tri par sélection et le tri à bulles. • O(2ⁿ) : Complexité exponentielle, généralement associée à des algorithmes non efficaces pour les problèmes NP-complets. • O(n!) : Complexité factorielle, généralement associée à des algorithmes qui examinent toutes les permutations ou combinaisons possibles.
  • 4. Complexité algorithmique : polynomiale vs exponentielle • 203 = 8000 • 503 = 125 000 • 220 = 1 048 576 • 250 = 125 899 906 842 624 • 20! = 2432902008176640000
  • 5. Problèmes classiques de la RO :Voyageur de commerce Le Problème duVoyageur de Commerce (TSP, pour Traveling Salesman Problem) est un problème d'optimisation combinatoire classique. L'objectif est de trouver le plus court circuit (ou la plus courte tournée) qui passe par un ensemble donné de villes (ou points) en visitant chaque ville exactement une fois et en revenant à la ville de départ.Voici une modélisation mathématique typique du TSP :
  • 6. Problèmes classiques de la RO :Voyageur de commerce • Notations : • N : L'ensemble des villes à visiter, avec N={1,2,…,n} • dij : La distance (ou le coût) de déplacement entre la ville i et la ville j. • Variables de Décision : • xij :Variable binaire qui prend la valeur 1 si le chemin va de la ville i à la ville j dans la tournée, et 0 sinon. • Objectif : Minimiser la longueur totale de la tournée, c'est-à-dire la somme des distances parcourues : • Min σ𝑖 ,𝑗 ∈𝑁 𝑖≠𝑗 𝑑𝑖𝑗 ∗ 𝑥𝑖𝑗
  • 7. Problèmes classiques de la RO :Voyageur de commerce • Contraintes : • Chaque ville doit être visitée exactement une fois : • σ𝑖 ∈𝑁 𝑖≠𝑗 𝑥𝑖𝑗 = 1 ∀ 𝑗 ∈ 𝑁 • σ𝑗 ∈𝑁 𝑗≠𝑖 𝑥𝑖𝑗 = 1 ∀ 𝑖 ∈ 𝑁 • Sous-tour interdit (pour éviter les boucles et les circuits incomplets) ∑i∈S∑j∈S,j≠i xij ≤ ∣S∣−1 ,∀S⊂N, 2 ≤ ∣S∣ ≤ n−1
  • 8. Problèmes classiques de la RO :Problème du Sac à Dos Problème du Sac à Dos (Knapsack Problem) : Le problème du sac à dos consiste à déterminer la combinaison d'objets à placer dans un sac à dos de capacité limitée afin de maximiser la valeur totale des objets sans dépasser la capacité du sac.
  • 9. Problèmes classiques de la RO :Problème du Sac à Dos • Notations : • N : L'ensemble des objets disponibles, avec N={1,2,…,n} • vi : La valeur (ou le profit) de l'objet i. • wi : Le poids de l'objet i. • C : La capacité maximale du sac à dos. • Variables de Décision : • xi :Variable binaire qui prend la valeur 1 si l'objet i est inclus dans le sac à dos, et 0 sinon. • Objectif : Maximiser la valeur totale des objets sélectionnés : • Max ∑i∈N vi⋅xi
  • 10. Problèmes classiques de la RO :Problème du Sac à Dos • Contraintes : La contrainte principale est que la somme des poids des objets sélectionnés ne peut pas dépasser la capacité du sac à dos • ∑ i∈N wi⋅xi ≤ C
  • 11. Problèmes classiques de la RO :Problème d'Affectation • Problème d'Affectation (Assignment Problem) : Le problème d'affectation est un problème d'optimisation combinatoire qui consiste à attribuer des tâches à des agents de manière optimale. Chaque agent peut réaliser une unique tâche pour un coût donné et chaque tâche doit être réalisée par un unique agent. Si les nombres d'agents et de tâches sont égaux, alors le problème est appelé affectation équilibrée
  • 12. Problèmes classiques de la RO :Circuit Eulerien • Problème de Circuit Eulerien : Ce problème implique la recherche d'un circuit qui passe par chaque arête d'un graphe exactement une fois
  • 13. Graphes : notions de base • Les graphes sont des structures de données mathématiques et informatiques largement utilisées pour représenter et analyser des relations entre des objets. Un graphe est composé d'un ensemble de nœuds (ou sommets) et d'un ensemble d'arêtes (ou arcs) qui relient ces nœuds. Les graphes sont utilisés pour modéliser des relations dans divers domaines, tels que les réseaux informatiques, les réseaux sociaux, la planification de trajets, la biologie, la chimie..
  • 14. Graphes : notions de base • Nœud (ou Sommet) : Un nœud représente un objet ou une entité, et il est généralement représenté par un point ou un cercle dans un graphe. • Arête (ou Arc) : Une arête est une ligne ou un lien qui connecte deux nœuds et représente une relation entre ces nœuds. Les arêtes peuvent être orientées (avec une direction) ou non orientées (sans direction).
  • 15. Graphes : notions de base • Graphe Non Orienté : Dans un graphe non orienté, les arêtes ne sont pas associées à une direction spécifique. Si un nœud A est relié à un nœud B, cela signifie que B est également relié à A. • Graphe Orienté : Dans un graphe orienté, chaque arête a une direction spécifique. Si un nœud A est relié à un nœud B, cela ne signifie pas nécessairement que B est relié à A.
  • 16. Graphes : notions de base • Voisin : Dans un graphe non dirigé, les nœuds connectés à un nœud donné sont appelés ses voisins. Dans un graphe orienté, on parle de prédécesseurs (nœuds entrants) et de successeurs (nœuds sortants). • Chemin : Un chemin est une séquence d'arêtes qui permet de relier un nœud de départ à un nœud d'arrivée dans le graphe.
  • 17. Graphes : notions de base • Cycle : Un cycle est un chemin fermé qui commence et se termine au même nœud. • Graphe Connexe : Un graphe est dit connexe s'il existe un chemin entre chaque paire de nœuds.
  • 18. Graphes : notions de base • Mathématiquement, un graphe est une paire ordonnée G = (V, E) où : • V est un ensemble fini de nœuds • E est un ensemble d'arêtes, qui sont des paires non ordonnées ou ordonnées de nœuds qui indiquent des relations entre les nœuds. • Exemple : • V = {A,B,C,D,E} • E = ({A,B},{ A,D} , {B,B} , {B,E} , {B,C} , {C,D} ,{C,D} , {D,E})
  • 19. Graphes : notions de base • Graphe non orienté : G = (V, E), où E est un ensemble de paires non ordonnées {x, y}. • Graphe orienté : G = (V, E), où E est un ensemble de paires ordonnées (x, y).
  • 20. Graphes : Matrice d'adjacence • La matrice d'adjacence est une représentation mathématique d'un graphe. Dans une matrice d'adjacence, chaque élément de la matrice indique s'il existe une arête (relation) entre deux nœuds (sommets) du graphe. A B C A 0 1 0 B 1 1 1 C 1 0 1
  • 21. Graphes :Algorithmes de Parcours de Graphes • Parcours en Largeur (BFS, Breadth-First Search)) :Le parcours en largeur commence par un nœud de départ (souvent appelé nœud source) et explore tous les nœuds voisins de ce nœud avant de passer aux voisins de ces voisins, et ainsi de suite Fonction BFS(graphe, noeudDepart): Créer une file vide Q Créer un ensemble visited pour suivre les nœuds visités Enfiler noeudDepart dans Q Ajouter noeudDepart à l'ensemble visited Tant que Q n'est pas vide: courant = Défiler de Q [Traiter le nœud courant] Pour chaque voisin dans graphe[courant]: Si le voisin n'est pas dans visited: Enfiler le voisin dans Q Ajouter le voisin à l'ensemble visited
  • 22. Graphes :Algorithmes de Parcours de Graphes • Le parcours en profondeur (DFS, Depth-First Search) commence également par un nœud de départ, mais il explore autant en profondeur que possible le long d'une branche avant de revenir en arrière pour explorer d'autres branches : Fonction DFS(graphe, noeudDepart): Créer une pile vide S Créer un ensemble visited pour suivre les nœuds visités Empiler noeudDepart sur S Tant que S n'est pas vide: courant = Dépiler de S [Traiter le noeud courant] Si le courant n'a pas été visité: Marquer courant comme visité Pour chaque voisin dans graphe[courant]: Si le voisin n'a pas été visité: Empiler le voisin sur S
  • 23. Graphes : Parcours Eulerien • Un graphe admet un parcours Eulerien si et seulement si ses nœuds sont tous de degré pair sauf au plus deux.
  • 24. Graphes :Arbre • Un arbre peut être considéré comme un type spécial de graphe acyclique (c'est-à-dire sans cycle) Un arbre a exactement une arête entre chaque paire de nœuds, de telle sorte qu'il n'y a pas de boucles ou de cycles. Chaque nœud, à l'exception du nœud racine, est relié à un unique nœud parent par une arête, et un nœud peut avoir plusieurs nœuds enfants, mais il n'y a qu'un seul chemin pour atteindre chaque nœud à partir du nœud racine.
  • 25. Graphes :Arbre • Racine : Un arbre a un nœud spécial appelé "racine". C'est le nœud de départ à partir duquel tous les autres nœuds sont accessibles. • Feuilles : Les nœuds qui n'ont pas d'enfants sont appelés "feuilles". Ce sont les nœuds terminaux de l'arbre. • Nœud Parent et Enfants : Chaque nœud, à l'exception de la racine, a un nœud parent (le nœud à partir duquel il est accessible) et peut avoir un ou plusieurs nœuds enfants.
  • 26. Graphes :Arbre • un arbre est défini par un triplet (V, E, r) où : • V est un ensemble fini de nœuds (ou sommets). • E est un ensemble d'arêtes qui relient les nœuds de l'arbre. Chaque arête relie un nœud à son nœud parent. • r est le nœud racine de l'arbre, qui est le seul nœud de l'arbre sans nœud parent. • Un graphe est un arbre s’il est connexe et contiens exactement n-1 (nombre de nœuds - 1) arêtes.
  • 27. Graphes : Parcours d’un arbre A B C D E F 1 2 3 4 5 6 1 2 3 4 5 6 Parcours en largeur BFS
  • 28. Graphes : Parcours d’un arbre A B C D E F 1 2 3 4 5 6 Parcours en profondeur DFS