Foued Mnasri Weal Rekik

Slides:



Advertisements
Présentations similaires
Résolution Graphique d'un Programme Linéaire
Advertisements

Gestion de portefeuille
Multiplier un nombre entier par une fraction. Choisir la bonne méthode
3. Variantes de l’algorithme
Algorithmes et structures de données avancés
Fonctions & procédures
Cours d’Algorithmique
Cours d’Algorithmique
Méthodes statistiques. Ajustements et corrélation
1 Révisions. 2 Tableaux non contraints Déclaration du type : type Tvecteur = tableau ( intervalle dentiers) de entiers type Tvecteur is array (integer.
A.Faÿ 1 Recherche opérationnelle Résumé de cours.
INTRODUCTION.
Résoudre graphiquement une équation ou une inéquation simple
Génération de colonnes
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
Introduction Modélisation Utilisation dun ensemble de relations mathématiques pour refléter le plus adéquatement possible une situation réelle Compromis.
UNIVERSITE DES SCIENCES ET DE LA TECHNOLOGIE D’ORAN
Récursivité.
Optimisation en nombres entiers
Démarche de résolution de problèmes
Algorithmique et Programmation
RÉSOLUTION DE PROBLÈMES
Programmation linéaire
Fonction exponentielle: enchaînement de théorèmes
Algorithmes d ’approximation
Optimisation en nombres entiers Recherche Opérationnelle GC-SIE.
Optimisation dans les réseaux
Optimisation linéaire
Introduction à la programmation linéaire
Partie 2 : programmation stochastique
Analyse des algorithmes: une introduction. La question abord é e dans ce chapitre est la suivante: Comment choisir parmi les diff é rentes approches pour.
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Calcul des groupes d'homologie d’objets discrets
DONG Xiaoguang HONG Liang OULDBABA Fadel WANG Min
Programmation non procédurale Le projet ECOLE 2000
Principes de tarification de base
Programmation linéaire en nombres entiers : les méthodes de troncature
Analyse des Algorithmes
Patrons de conceptions de créations
Introduction à la programmation linéaire en nombres entiers
l’algorithme du simplexe
MAXIMISER les RESULTATS
Introduction Objet de la programmation mathématique, construction d'un modèle mathématique, problème général de programmation mathématique et classification,
RAPPEL Qu’est ce qu’une structure de contrôle itérative ?
Heuristiques C. Recherche de la meilleure branche . Branch And Bound
Présenté par : Attia Hamza Merzouk Abdelkrim 2003/2004
Approche naïve de la résolution.
INTRODUCTION.
La firme Les techniques à deux facteurs La demande de facteurs
Equations du premier degré à une inconnue (rappel)
Les nombres décimaux au cycle 3
Programmation linéaire en nombres entiers
Présentation du marché obligataire
Algorithmes Branch & Bound
STATISTIQUES – PROBABILITÉS
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Thème: Les fonctions Séquence 1 : Généralités sur les fonctions
Chapitre 9 La transformée de Laplace
Université Farhat Abbas_setif
Programmation dynamique
La proportionnalité Au cycle 3.
2. Méthode du simplexe et son analyse.
Chapitre 7 Les équations différentielles d’ordre 1
Chapitre 7 Les équations différentielles d’ordre 1
Échantillonnage (STT-2000) Section 5 Types d’erreur de sondage. Version: 22 août 2003.
programmation linéaire
STATISTIQUES.
Techniques d'Optimisation Master
1 UE Intro. Optimisation L3 INFO UPSud II. Programmation linéaire en variables entières (ou mixtes)
Transcription de la présentation:

Foued Mnasri Weal Rekik Problème de sac à dos Foued Mnasri Weal Rekik

Définition « sac à dos » L’énoncé de ce problème fameux est simple : « Étant donné plusieurs objets possédant chacun un poids et une valeur et étant donné un poids maximum pour le sac, quels objets faut-il mettre dans le sac de manière à maximiser la valeur totale sans dépasser le poids maximal autorisé pour le sac ?

Présentation du problème Le problème du Sac à Dos aussi noté KP(Knapsack Problem en anglais) représente une situation dans laquelle une personne dispose de n objets (d'utilité ui ⋲ N\{0} et d'un poids pi ⋲ N\{0} pour i ⋲ N\{1,…,n} ) et d'un sac (ayant une capacité maximale C ⋲ N). Le problème est de trouver un ensemble d'objets dont la somme des utilités est maximale. Il faut donc trouver un sous-ensemble d'objets X tel que ∑x ⋲ X Px≤ C et qui maximise Ux

Suite… Le problème du Sac à Dos peut donc se résumer comme ceci : Données : 2n entiers { Ui | Ui > 0 i = 1,…..,n }{ Pi | Pi > 0 i = 1,…..,n }et un entier C > 0. Question : Trouver un sous-ensemble X de {1,….,n} tel que ∑x ⋲ x Px≤ C et qui maximise ∑x ⋲ x Ux

On distingue 3 types d’algorithmes Algorithmes exacts Ils trouvent la solution optimale Ils peuvent prendre un nombre exponentiel d’itérations Algorithmes d’approximation Ils produisent une solution sous-optimale. Ils produisent une mesure de qualité de la solution. Ils ne prennent pas un nombre exponentiel d’itérations.

Méthodes de résolution des problèmes Il existe deux grandes catégories de méthodes de résolution de problèmes : les méthodes exactes les méthodes approchées Méthode approchée Une méthode approchée a pour but de trouver une solution avec un bon compromis entre la qualité de la solution et le temps de calcul.

Methode de résolution La programmation dynamique Le principe de la programmation dynamique est de résoudre un problème en combinant les solutions de sous-problèmes. La programmation dynamique est utilisée lorsque les sous-problèmes ne sont pas indépendants. Branch & bound Michel Bierlaire

Suite…. Un algorithme de programmation dynamique résout les sous-problèmes et sauve le résultat dans un tableau, ce qui permet de ne pas le résoudre à chaque fois qu'on le rencontre de nouveau.

Enoncé du problème On considère le problème d’un alpiniste qui doit choisir les produits à prendre dans son sac pour une expédition. Au total il ne peut pas prendre plus que 8 kilos. Il ya trois produits possibles et il doit décider du nombre d’unités à prendre de chacun d’eux. Les poids unitaires (pi) pour chaque produit et leur valeur unitaire (vi) qui traduit leur importance pour l’alpiniste sont comme suit ²

Suite… Produit Poids unitaire Valeur unitaire i Pi Vi 1 2 20 4 55 3 40 On cherche à trouver le nombre d’unités à prendre de chaque produit qui permet d’avoir le maximum de valeur pour l’alpiniste.

Résolution du problème On définit : phases : k =1 décision concernant le produit 1 k =2 décision concernant le produit 2 k =3 décision concernant le produit 3 variable d’état : s=poids qui n’a pas été pourvu pour les phases précédentes et qui reste à allouer 0≤ s ≤ 8

Variable de décision : Xj : prendre j unité de produit. Les politiques possibles sontles suivantes : Phase1 : (produit 1) : 0≤ Xj ≤ 4 Phase2 : (produit 2) : 0≤ Xj ≤ 2 Phase3 : (produit 1) : 0≤ Xj ≤ 2 En tenant compte du poids total disponible et des poids unitaires de chaque produit.

Résolution du problème Phase1 (Produit 1): s F1(s,xj)=20xj Politiques Optimales 1 2 3 4 xj f1(s,xj*) - 20 40 5 6 60 7 8 80

F2(s,xj)=55xj + f1 (s – 4xj,xj*) Suite… Phase 2(Produit2): s F2(s,xj)=55xj + f1 (s – 4xj,xj*) Politiques Optimales 1 2 xj f1(s,xj*) 0 + 0 - 0 + 20 20 3 4 0 + 40 55 + 0 55 5 6 0 + 60 55 + 20 75 7 8 0 + 80 55 + 40 110

F2(s,xj)=55xj + f1 (s – 4xj,xj*) Suite… Phase 3(Produit3): s F2(s,xj)=55xj + f1 (s – 4xj,xj*) Politiques Optimales 1 2 xj f1(s,xj*) - 20 3 40 4 55 40+0 5 40+20 60 6 75 40 + 20 80 + 0 80 7 40 + 55 8 110 80 + 20