Programmation linéaire

Slides:



Advertisements
Présentations similaires
7. Probème de flot à coût minimum.
Advertisements

Résolution Graphique d'un Programme Linéaire
La Méthode de Simplexe Standardisation
l’algorithme du simplexe
3. Variantes de l’algorithme
2. Méthodes du simplexe et son analyse.
Algorithmes et structures de données avancés
Fonctions & procédures
Sensibilisation à l’Algorithmique et structure de données
GEF 435 Principes des systèmes d’exploitation
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Cours d’Algorithmique
Bloc 2 : Modèles d’optimisation par la programmation linéaire
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
Chapitre II.Rappels mathématiques et complexité
5. Algorithme du simplexe
Génération de colonnes
Utilisation des tableaux
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
ALGORITHMES RECURSIFS
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Systèmes d’équations du premier degré à deux variables
Systèmes d’équations du premier degré à deux variables
Optimisation en nombres entiers
Les structures de données arborescentes
Algorithmes Branch & Bound
Concepts avancés en mathématiques et informatique appliquées
ENSIIE-Master MPRO Alain Faye
Problème de flot à coût minimum
Méthodes de prévision (STT-3220)
7. Problème de flot à coût minimum.
GPA750 Les ateliers multigammes Chapitre 5
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Programmation linéaire en nombres entiers : la méthode du simplexe
Optimisation en nombres entiers Recherche Opérationnelle GC-SIE.
Optimisation linéaire
RECONNAISSANCE DE FORMES
RECONNAISSANCE DE FORMES
Programmation dynamique
2. Optimisation sans contrainte Fonctions à une seule variable
Génération de colonnes pour la résolution des problemes de foresterie
Pour le chemin le plus court pour tous les couples
Programmation linéaire en nombres entiers : les méthodes de troncature
l’algorithme du simplexe
MAXIMISER les RESULTATS
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Coupes efficaces pour la relaxation lagrangienne
ASI 3 Méthodes numériques pour l’ingénieur
Projet Télédétection Vidéo Surveillance Deovan Thipphavanh – Mokrani Abdeslam – Naoui Saïd Master 2 Pro SIS / 2006.
Programmation linéaire en nombres entiers
Algorithmes Branch & Bound
LE FLOT MAXIMAL et LA COUPE MINIMALE
Foued Mnasri Weal Rekik
6. Problème de flot à coût minimum.
Post-optimisation, analyse de sensibilité et paramétrage
2. Méthode du simplexe et son analyse.
Martin Roy, Janvier 2010 Révisé Juillet  Un système d’équations est un ensemble de plusieurs équations.  La solution d’un système d’équations.
Algorithmique Tableaux de données
programmation linéaire
3. Variantes de l’algorithme
1. Méthode du simplexe et son analyse.
Algorithmique Boucles et Itérations
1. Tri rapide ou Quicksort Principe : La méthode du Quicksort due au C.A. Hoare (1962) utilise les principes généraux de division et équilibrage. 2.
Programme linéaire - solution graphique
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Techniques d'Optimisation Master
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Introduction  La PLNE regroupe l’ensemble des techniques permettant de résoudre des programmes linéaires dont les solutions doivent être entières.  Formellement,
Transcription de la présentation:

Programmation linéaire en nombres entiers

Introduction Problème de programmation linéaire en nombres entiers (P) F(P) = domaine réalisable de P Exemple

Introduction Problème de programmation linéaire en nombres entiers (P) F(P) = domaine réalisable de P Exemple

Introduction Problème de programmation linéaire en nombres entiers (P) F(P) = domaine réalisable de P dénote le problème (P) où les contraintes d’intégralité sur les variables sont rélaxées. Exemple

Introduction Problème de programmation linéaire en nombres entiers F(P) = domaine réalisable de P dénote le problème (P) où les contraintes d’intégralité sur les variables sont rélaxées. Exemple

Or (0, 2) est réalisable avec z = –10 Introduction Problème de programmation linéaire en nombres entiers (P) Résolution du problème Pourquoi pas résoudre le problème relaxé et arrondir la solution? Exemple Solution du problème relaxé: (2, 9/5) et z = –11 Solution arrondie: (2, 1) et z = –7 Or (0, 2) est réalisable avec z = –10

Méthodes de résolution Principe de base Générer un ensemble de contraintes linéaires que nous ajoutons à (P) Exemple

Méthodes de résolution Principe de base Générer un ensemble de contraintes linéaires que nous ajoutons à (P) pour engendrer un nouveau problème (PR) tel que De plus en résolvant le problème relaxé , la solution optimale est entière et donc une solution optimale pour (P). Exemple

Méthode des coupes de Gomory Principe des méthodes de coupes Introduire de nouvelles contraintes linéaires au problème pour réduire le domaine réalisable du problème relaxé sans pour autant éliminer de points du domaine réalisable du problème avec les contraintes de nombre entier sur les variables. La procédure consiste à résoudre une suite de problèmes relaxés jusqu’à ce qu’une solution optimale en nombres entiers soit obtenue. Un problème de la suite est obtenu du précédent en lui ajoutant une contrainte linéaire (coupe) supplémentaire.

Méthode de Branch & Bound Dans cette méthode nous résolvons également une suite de problèmes relaxés. Nous résolvons d’abord . Si la solution optimale est entière, alors cette solution est optimale pour le problème original (P). Sinon, nous utilisons une variable n’est pas entière. Nous considérons deux nouvelles contraintes

Prochaine itération Choisir un des deux problèmes (P2) ou (P3 ) Le traiter comme nous avons fait pour P. Dans notre exemple, nous choisissons le problème (P3)

Prochaine itération Choisir un des problèmes qui n’a pas encore été traité. Le traiter comme nous avons fait pour P. Dans notre exemple, nous choisissons le problème (P5)

Puisque la solution du sous-problème relaxé est entière, elle est une solution réalisable de (P). Nous ne générons pas de nouveau sous-problème puisque nous avons identifié la meilleure solution de cette région du domaine réalisable de (P). Au cours du processus, nous conservons la meilleure solution entière rencontrée dont la valeur constitue une borne supérieure BS sur la valeur optimale de (P).

Prochaine itération Choisir un des problèmes qui n’a pas encore été traité. Le traiter comme nous avons fait pour (P). Dans notre exemple, nous choisissons le problème (P4)

Il n’y a donc pas lieu de poursuivre la fouille dans cette partie du domaine réalisable de (P)qui est vide.

Prochaine itération Choisir un des problèmes qui n’a pas encore été traité. Le traiter comme nous avons fait pour (P). Dans notre exemple, il ne reste que le problème (P2)

La solution optimale du problème relaxé n’est pas entière mais sa valeur z = –22.333 > BS = – 23 Il n’y a donc pas lieu de poursuivre la fouille dans cette partie du domaine réalisable de (P) car il est impossible d’y trouver une solution entière de valeur inférieure à – 23.

La procédure s’arrête quand tous les problèmes relaxés générés ont été résolus La solution entière dont la valeur est égale à BS est une solution optimale de (P).

Représentation comme un arbre d’énumération Sol. non entière z = – 22.333 > BS Solution Non-réalisable Sol. entière BS = – 23 Solution optimale

Approche du Branch & Bound Approche itérative. À chaque itération, - il y a une liste de problèmes candidats à être analysés. Au départ, la liste contient uniquement le problème original (P). - nous choisissons un problème candidat et nous résolvons le problème relaxé correspondant - la solution optimale du problème relaxé nous permet de mettre à jour la liste de problèmes candidats ou la borne supérieure de même que la meilleure solution rencontrée

Procédure du Branch & Bound Initialisation Liste de problème candidat contient uniquement (P) BS = ∞ Aller à l’étape 2. Étape 1 Si la liste est vide, terminer. La solution optimale est celle associée à BS, a moins que BS = ∞ dans lequel cas le problème P n’as pas de solution. Étape 2 Choisir le premier problème candidat (PC) en tête de liste.

Représentation comme un arbre d’énumération Sol. non entière z = – 22.333 > BS Solution Non-réalisable Sol. entière BS = – 23 Solution optimale