Professional Documents
Culture Documents
opérationnel
Sous thème : Problème de sac a dos à multi
contraintes
I. Sommaire
Introduction .......................................................................................................................... 3
I. Problème de sac a dos ................................................................................................... 4
1. Définition et Formulation........................................................................................... 4
2. Algorithme glouton.................................................................................................... 5
II. Problème de sac a dos multidimensionnel(MKP)............................................................ 6
3. Définition :................................................................................................................. 6
4. Utilisation pratique .................................................................................................. 7
III. Les classes de complexités ............................................................................................. 7
IV. Résolution du problème de sac a dos multidimensionnel : ............................................. 9
5. Exemples de méthodes de résolution : ...................................................................... 9
6. Algorithme de résolution : Optimisation par colonies de fourmis ............................. 10
V. Simulation du problème de sac a dos ........................................................................... 15
VI. CONCLUSION ............................................................................................................... 17
2
Mini projet : problème de sac a dos à multi contraintes
Introduction
3
Mini projet : problème de sac a dos à multi contraintes
1. Définition et Formulation
Figure1: KP.
4
Mini projet : problème de sac a dos à multi contraintes
2. Algorithme glouton
Les algorithmes gloutons varient mais ils reposent généralement sur le même
principe. Le principe de la méthode gloutonne, consiste à construire pas a pas une
solution réalisable du problème sans revenir sur ses décisions. A chaque étape de
l’algorithme, la solution en cours est utilisée pour construire une meilleure solution.
Ainsi l’algorithme s’arrête, âpres un certain nombre de phases, avec une solution
réalisable pour le KP.
pour i de 1 à n
si w[i] + solution <= W alors
x[i] := 1//objet i sélectionner.
solution := solution + w[i]
sinon
x[i] := 0
fin si
fin pour
5
Mini projet : problème de sac a dos à multi contraintes
3. Définition :
L’objectif du MKP est de trouver un sous ensemble d’objets qui maximise un profit
total tout en satisfaisant certains contraintes de capacité ,plus formellement
xj£{0,1}.
6
Mini projet : problème de sac a dos à multi contraintes
4. Utilisation pratique
NP_complet et NP_difficile :
Classe P : P est la classe de tous les problèmes de décision qui peuvent être
résolus par un algorithme polynomial.
P-complet : Un problème décisionnel appartient à ce classement s’il fait
partie de la classe P et si tout problème P dans P peut s’y réduire en temps
poly-logarithmique en utilisant un ordinateur avec un nombre polynomial de
processeurs. En pratique, si X est un problème dans P alors il appartient à P
et pour tout problème Y dans P, il existe les constantes c et k telles que Y
puisse être réduit en X en O ((log(n)) c) avec un ordinateur qui possède O
(nk) processeurs en parallèle.
7
Mini projet : problème de sac a dos à multi contraintes
Exemple :
8
Mini projet : problème de sac a dos à multi contraintes
Magazine et Oguz [11] ont présente un algorithme qui combine une heuristique
duale avec l’approche du multiplicateur lagrangien généralise en utilisant les
multiplicateurs génères comme borne supérieure. Les heuristiques duales commencent
avec une solution dont les variables sont initialisées à 1, ensuite les variables sont mises
`à 0 relativement à des règles heuristiques. Récemment plusieurs metaheuristiques ont
été développées pour le MKP. Ces metaheuristiques ont permis d’avoir des résultats très
compétitifs avec des instances larges. Plusieurs algorithmes bases sur la recherche
taboue ont été proposés. Glover et Kochenberger [9] ont présente un algorithme bas´e
sur la recherche taboue qui utilise une mémoire flexible intégrant des informations de
fréquence.
9
Mini projet : problème de sac a dos à multi contraintes
L’algorithme proposé améliore les meilleurs résultats connus jusqu’à présent sur des
instances jugées difficiles. Plusieurs algorithmes génétiques ont été développes pour le
MKP, nous citons l’algorithme de Chu et Beasley [3] qui trouve parmi les meilleurs
résultats sur des instances larges de MKP.
Cours de leur progression, les fourmis déposent une trace de phéromone ; elles
choisissent ensuite leur chemin de façon aléatoire, selon une probabilité dépendant de la
quantité de phéromone précédemment déposée.
10
Mini projet : problème de sac a dos à multi contraintes
Dans Vertex-AK, les fourmis déposent la phéromone sur les sommets V du graphe.
La quantité de phéromone sur un objet oi ε V est notée t (oi). Cette quantité représente la
“désirabilité” de choisir l’objet oi lors de la construction d’une solution.
Dans Path-AK, les fourmis déposent de la phéromone sur les couples de sommets
sélectionnés consécutivement, i.e., sur les arcs du graphe. La quantité de phéromone sur
un arc (oi, oj) ε E est notée t (oi, oj). Cette quantité représente la “désirabilité” de choisir
l’objet oi juste âpres avoir choisi l’objet oj lors de la construction d’une solution. Il est à
noter que dans ce cas le graphe est oriente.
Dans Edge-AK, les fourmis déposent la phéromone sur les paires de sommets
sélectionnés dans une même solution, i.e., sur les arêtes E du graphe. La quantité de
phéromone sur une arête (oi, oj) est notée t (oi, oj). Cette quantité représente la
désirabilité de choisir un objet oie lors de la construction d’une solution qui contient
déjà l’objet oj. Il est à noter que, dans ce cas le graphe est non oriente, et donc
Pour construire une solution, les fourmis choisissent aléatoirement un objet initial,
puis ajoutent itérativement des objets qui sont choisis à partir d’un ensemble Candidats
qui contient tous les objets qui peuvent être sélectionnés.
11
Mini projet : problème de sac a dos à multi contraintes
Algorithme Ant-Knapsack:
Répéter
Pour chaque fourmi k dans 1..nbAnts, construire une solution Sk comme suit:
Sk = {o1}
Candidats {oi ε1..n/ oi peut être sélectionné sans violer des contraintes de ressources}
Fin pour
12
Mini projet : problème de sac a dos à multi contraintes
Facteur heuristique
Soit
Soit le ratio suivant qui présente la dureté de l’objet j par rapport a toutes les
contraintes i ε 1..m et relativement a la solution construite Sk,
de sorte que plus ce ratio est faible plus l’objet est intéressant. On définit alors le
facteur heuristique de la façon suivante :
13
Mini projet : problème de sac a dos à multi contraintes
Facteur pheromonal :
Le facteur pheromonal tSk (oi) traduit l’expérience passée de la colonie et est utilise
dans la probabilité de transition des fourmis pour les guider vers des zones de l’espace
de recherche prometteuses.
14
Mini projet : problème de sac a dos à multi contraintes
//fichier header
#ifndef _KP_H
#define _KP_H
#include<iostream>
class KP{
private:
float v[10];
float p[10];
public:
void affiche();
};
#endif
15
Mini projet : problème de sac a dos à multi contraintes
#include "KP.h"
#include<iostream>
//variable
int i,j;
float c;
float sk[10],x[10];
//method
n=n_n;
m=n_m;
for(i=0;i<n;i++)
{v[i]=u[i];
p[i]=k[i];
16
Mini projet : problème de sac a dos à multi contraintes
VI. CONCLUSION
Dans ce mini projet j’avais essai d’étudie le problème de sac a dos, qui est
devenu de plus en plus utilisable dans les domaines économique, industriel,
militaire ….
17
Mini projet : problème de sac a dos à multi contraintes
References :
Algorithme fourmi avec différentes stratégies pheromonales pour le sac-
a-dos multidimensionnel
LIRIS, CNRS FRE 2672, University Lyon 1
www.wikipedia.org
18