Introduction
Introduction
Introduction générale :
Notre travail entre dans le cadre de la recherche d’une meilleure affectation des
stations services aux dépôts carburant.
Ce mémoire comprend trois parties:
Présentation
Présentation
A) Aperçu historique :
B- Les Directions Centrales sont des centres d’expertise pour les activités de
marketing, de recherche et développement d’audit, de la protection du patrimoine
et de la sécurité industrielle et de l’environnement.
Chaque Division exerce ses métiers de base et développe ses activités conformément à
la politique générale de la société, dans la limite de son objet social.
C) Missions de l'entreprise :
NAFTAL est chargée dans le cadre du plan national de développement
économique et social, de la commercialisation et de distribution des produits pétroliers
y compris ceux destinés à l’aviation à la marine, le GPL, les combustibles, les
solvants, les aromatiques, paraffines, Bitumes et pneumatiques. Ses missions
essentielles sont :
Organiser et développer l’activité de commercialisation et de distribution des
produits pétroliers et dérivés ;
Stocker, transporter et/ ou faire transporter tout produit pétrolier commercialisé
sur le territoire national ;
Veiller à l’application et au respect des mesures relatives à la sécurité
industrielle, la sauvegarde et la protection de l’environnement, en relation avec
les organismes concernés ;
Procéder à toute étude de marché en matière d’utilisation et de consommation
des produits pétroliers,
Définir et développer une politique en matière d’audit, concevoir et mettre en
œuvre des systèmes intégrés d’informations ;
Développer et mettre en œuvre les actions visant à une utilisation optimale et
rationnelle des infrastructures et moyens ;
Veiller à l’application et au respect des mesures liées à la sûreté interne de la
société conformément à la réglementation ;
Développer une image de marque de qualité.
d) Organisation :
L'organigramme général de NAFTAL traduisant la hiérarchie, au sein de cette
entreprise, et fixant les prérogatives de chaque intervenant, est décrit comme suit:
Présentation
Direction Générale
Conseillers
Comité exécutif
Chef de projet
Comité Directeur
Exécutives
Directions
Structures Fonctionnelles
Direction Centrale Direction Centrale Direction Centrale
Procédures&Contrôle de Gestion Marketing De système d'information
Direction Direction
de Soutien
Structures Opérationnelles
Etude de l’existant
Chapitre I Etude de l’existant
Introduction :
Tout en réduisant ses dépenses à un niveau meilleur que l’actuel, et qui restent
beaucoup trop élevées, il y a au premier plan les dépenses liées au transport qui
occupent une part élevée de ses dépenses, donc il est plus judicieux d’agir sur ce point
important.
Position du problème :
Les objectifs :
Avant de débuter notre étude il est plus que nécessaire d’étudier l’environnement du
problème, car une méconnaissance de l’état actuel des choses nous conduira à une
mauvaise approche du problème.
Pour cela on se doit d’analyser de près l’affectation et les facteurs qu’ils l’ont
fait tel quelle est actuellement; Ensuite on exposera les conséquences de cette
affectation afin d’émettre en évidence un ensemble de critiques et d’insuffisances
éventuelles.
Définitions :
- District : une étendue de juridiction administrative contenant une ou plusieurs
wilayas.
- Zone d’influence : un domaine géographique contenant l’ensemble des stations
sous influence d’un dépôt donné, une zone d’influence est entièrement contenue
dans exactement un district.
- Entrepôt : Aussi appelé dépôt primaire. C’est un dépôt de grande capacité qui
livre le carburant pour les stations-service et les grands consommateurs.
- Dépôts relais : ou dépôts secondaires de capacité nettement moindre que les
entrepôts, installés pour satisfaire les besoins des stations-service d’une région.
- Livraison : C’est le transport des carburants des dépôts vers les stations-service, se
fait entièrement par des camions citernes.
Chapitre I Etude de l’existant
Toutes ces stations malgré leurs différences ne peuvent être affectées qu’à un
dépôt du même district. Certains dépôts secondaires sont implantés pour satisfaire la
demande d’une zone souvent éloignée du dépôt principal afin de le décharger de cette
zone.
Chapitre I Etude de l’existant
Ce dépôt relais peut ne pas être multi- produit et contenir un seul produit car
son installation est due à un manque d’un produit donné dans une région donnée.
D’où la possibilité pour une station d’être rattachée à plusieurs dépôts.
Pour ce qu’il en est des dépôts, ils fournissent aux divers consommateurs de
carburants parmi eux :
- les stations-service citées précédemment (GD, GL, RO, PVA).
- Des revendeurs distributeurs, clients ayant leurs propres camions qui
s’approvisionnent en carburant chez NAFTAL et le revendent à leurs clients.
- Des gros consommateurs essentiellement des grandes entreprises, l’armée,
l’aviation civile…….
Voici une liste de la localisation des dépôts par district ainsi que les produits
stockés.
a) L’appartenance au district :
Au sein d’un seul district les dépôts se partagent le district en zones d’influences,
chaque dépôt influe là où se situe un certain nombre de stations qui lui sont rattachées.
Ces zones se définissent par un positionnement des stations elles-mêmes régies
principalement par deux critères.
b.1) La distance :
Mieux vaut que la zone d’influence d’un dépôt concerne les stations les plus
proches afin de gagner en distance.
On remarque alors que la zone d’influence couvre un domaine autour du dépôt
en incorporant les stations proches à l’exception de quelques régions d’une autre zone
pénétrant sans discontinuités dans la première zone d’influence ceci est dû à un critère
cité si dessous qui est la capacité.
b.2) La capacité :
Comme précédemment la distance à elle seule n’influe pas sur la zone d’influence
mais la capacité d’un dépôt entre en jeux si une station ne peut être prise en charge par
le dépôt le plus près, alors elle se verra affectée à un dépôt plus éloigné !
Il est bon de noter que cette capacité n’est pas celle théorique ou opérationnelle
de stockage ; tout dépend de la quantité de ravitaillement, le temps d’attente entre deux
ravitaillements et les moyens techniques de livraison (parc roulant, poste de
chargement..).
I.4 Critiques :
Le fait que l’affectation actuelle respecte le découpage des districts suivant les
wilayas et non par un découpage étudié, sachant que les opérations de livraison ne sont
faisables qu’au sein même d’un district, ceci engendre des problèmes parmi eux :
Chapitre I Etude de l’existant
I.5 Conclusion :
Vu les préjudices financiers causés par une affectation sans une étude faite au
préalable et l’importance du moindre gain projeté sur l’échelle nationale, un plan de
nouvelle affectation plus ou moins rigoureux est plus que nécessaire il sera utile à
court terme lorsque de nouvelles stations-service verront le jour ou disparaîtront, ainsi
qu’à long terme lorsque des investissements nouveaux pour les structures de stockage (
nouveau dépôt, agrandissement de la capacité d’un dépôt ) seront réalisés.
Modélisation Mathématique
Chapitre II Modélisation Mathématique
II.1 Introduction :
Les contraintes administratives subies par les acteurs de l'entreprise ont apporté
beaucoup de rigidité à l'activité de NAFTAL qui engendre un sérieux manque à
gagner, plus de flexibilité envers ce genre de contraintes est devenu une nécessité.
Le but de ce chapitre est d'arriver à une affectation des stations service aux
dépôts tout en satisfaisant la demande de l'ensemble des stations service en respectant
la capacité d'offre des dépôts.
Cette affectation est libérée des contraintes administratives telles que
l'appartenance au district ce qui ouvre le champ pour trouver des affectations beaucoup
plus intéressantes.
En effet, plusieurs stations à la frontière d’un district se font livrer par des dépôts
malgré l'existence d'autres dépôts plus proches dans le district voisin.
Ceci dit l’étude se limitera à la relation stations service – dépôts sans prendre en
considération la phase de ravitaillement, donc les dépôts doivent adapter leur
ravitaillement en fonction du nouvel ensemble de stations à gérer.
n : le nombre de stations-service.
m : le nombre de dépôts.
Données :
I : l’ensemble de stations-service.
Ik : l’ensemble de stations-service commercialisant le produit k.
J : l’ensemble de dépôts.
Jk : l’ensemble de dépôts distribuant le produit k.
Ak : le plus petit multiple commun des autonomies des stations-service pour le produit
k. Ak = PPMC (Oik ; i=1….n).
Coût i,j(k) : est le coût d'affectation de la station i vers le dépôt j pour le produit k
sur la période Ak où coût i,j(k) = Li, j Nik .
Yi (k) =
0 sinon.
Variable :
X i, j (k) =
0 sinon.
Chapitre II Modélisation Mathématique
b) la fonction objective :
m 3
f ( min) = coût i,j(k) X i,j(k)
j 1 k 1 i Ek
j
c) Les Contraintes:
Contrainte souhaitable:
Cette contrainte assure la livraison de tous les produits par un et un seul dépôt.
Cette clause est essentiellement due à la structure des camions citernes souvent
compartimentés.
Pour tout k=1.2.3
Chapitre II Modélisation Mathématique
m 3
f ( min) = coût i,j(k) X i , j(k)
j 1 k 1 i Ek
j
i Ejk
X i,j(k) {0,1}
Mais on obtient des blocs de contraintes indépendants entre eux chaque bloc
représente un produit k donné.
m
f ( min) = coût i,j(k) X i , j(k)
j 1 i Ek
j
X i , j(k) =1 ∀ iIk
j Sik
X i , j(k) {0,1}
Un autre codage du problème peut être envisagé, ce codage est en nombres entiers.
Soit la variable Xi(k)’= j (pour un produit k la station i est affectée au dépôt j)
1 si xi(k)’= j.
X i , j (k ) =
0 sinon.
L’affectation des stations-service sera déduite par les valeurs prises par les
(k)'
variables Xi,j(k) ou par xi = j.
Les zones d’influences des dépôts seront représentées par des listes Zj j J où Zj
est la zone d’influence du dépôt j avec
Zj={ i \ Xi,j(k) = 1 i Ejk k=1,2,3}
ou Zj={ i \ Xi,(k)’ = j i Ejk k=1,2,3}.
Chapitre III
Approche de résolution
Chapitre III Approche de résolution
III.1 Introduction:
Ce problème peut être formulé en un programme linéaire dont les variables qui le
caractérisent sont binaires, donc, avant tout, c’est un problème d’optimisation
combinatoire.
Chapitre III Approche de résolution
L’objectif est de trouver une matrice d’affectation x = (xi,j ),avec xi,j=1 si le job i
est affecté à l’agent j tout en minimisant les coûts
n m
C(x) = c x
i, j i, j
i 1 j 1
Chapitre III Approche de résolution
n
a i, j.x i, j b jj J
i 1
m
x 1i I
i, j
j 1
x 0,1i Ij J
i, j
ai si j Ei .
ai,j =
0 sinon
Chapitre III Approche de résolution
Ce problème est utilisé dans des domaines tels que l’affectation des terminaux
aux concentrateurs dans les réseaux de télécommunications, dans la littérature par
analogie à notre problème les agents (concentrateurs) sont représentés par les dépôts
et les jobs (terminaux) par les stations-service.
La plupart des méthodes exactes sont basées sur des procédures de séparation et
d’évaluation (S.E.P) et des heuristiques qui fournissent une bonne solution de départ
pour (S.E.P).
Chapitre III Approche de résolution
Parmi les méthodes utilisant ce raisonnement, une méthode très répandue est
celle de Martello et Toth [8] qui avaient proposé en 1981 un algorithme débutant par
une heuristique notée dans la littérature par MTH et qui obtint une bonne solution de
départ.
La solution trouvée est utilisée comme une borne supérieure globale initiale au
schéma de séparation et d’évaluation, à chaque nœud de l’arbre, une borne inférieure
est obtenue en résolvant le problème relaxé sans prendre en considération les
contraintes d’affectation.
La résolution des sous problèmes de sac à dos associés à chaque dépôt permet de
sélectionner la colonne à ajouter au RPM, cette colonne sera trouvée en résolvant le
problème d’évaluation suivant :
Min 1≤ j ≤ m {Z( kPj ) – vj } « pricing problem »..
Où Z ( kPj ) est la solution d’un problème de sac à dos associé au jème dépôt.
vj la variable de la solution optimale du dual du RPM associée à la contrainte de
capacité du dépôt j.
Si le min1≤ j ≤ m{Z( kPj ) – vj }est positif ou nul, la solution optimale trouvée du RPM
est aussi optimale pour le problème maître, mais si cette solution n’est pas intégrale,
on continue la séparation.
Ses deux méthodes sont les deux plus importantes parmi les méthodes exactes,
on remarque que la méthode proposée par Martello et Toth[8] résout à chaque fois un
problème de multi sac à dos en tout nœud de l’arbre de séparation, tandis que la
méthode proposée par Salvelsbergh[9] résout à chaque fois des problèmes de sac à dos
pour l’ajout d’une colonne.
affectées au dépôt j et bal(i,j) peut être une fonction croissante de ce dernier donc le
Chapitre III Approche de résolution
coûts d’affectation augmente au fur et à mesure que le nombre de stations qu’on lui
affecte augmente ou l’inverse ou selon d’autre critères.
Le choix de la méthode a été orienté vers une méthode approchée, cette décision
a été prise à cause de facteurs qui nous ont conduits à opter pour une telle approche qui
est celle de la taille de l’instance à résoudre qui proscrit la tentative de le résoudre par
des méthodes exactes car on ne connais pas d’ algorithme pouvant résoudre ce
problème en temps polynomial, ce surdimensionnement est dû en grande partie au
nombre de stations-service qui est aux environs de deux mille et une cinquantaine de
dépôts.
Chapitre III Approche de résolution
Tableau II.1
Les algorithmes hybrides sont sans doute parmi les méthodes les plus puissantes
mais reste à savoir quel mode d’hybridation choisir, parmi les méthodes hybride la
plus féconde concernant la combinaison entre les méthodes de voisinage et l'approche
d'évolution. L'idée essentielle de cette hybridation consiste à exploiter pleinement la
puissance de recherche de méthodes de voisinage et de recombinaison des algorithmes
évolutifs sur une population de solutions. Cette approche a permis de produire
d'excellents voire les meilleurs résultats sur des benchmarks réputés de problèmes de
référence [2].
Donc, pour cela nous avons choisi une approche hybride, génétique et recherche
locale (méthode de voisinage).
Pour notre cas, le coût est connu à l’avance, pour le résoudre on utilisera
l’algorithme glouton de Abuali et al qui servira prochainement pour générer la
population initiale de l’algorithme génétique utilisé, son principe est simple, on choisit
une permutation aléatoire de stations soit de N stations au hasard, selon l’ordre de
cette permutation on affecte chaque station au dépôt le plus proche et ainsi de suite.
Voici le pseudo code de l’algorithme glouton
Cette heuristique peut donner des solutions non réalisables, s’il existe des
stations non affectées après la boucle ‘pour’, mais le peu de calcul nécessaire pour
cette heuristique vaut le coût de l’utiliser, et si elle nous donne des solutions non
réalisables il suffit de les pénaliser. Les solutions réalisable trouvées sont souvent de
bonne qualité ce qui induit une accélération de convergence de l’algorithme génétique.
Nous proposons une autre heuristique ayant pour but d'améliorer le coût de la
fonction objective, l'idée de cette heuristique est simple, pour toute le station i=1…n
on cherche si il existe un autre dépôt j a affecté à la station i tel que le coût de
l'affectation soit meilleur sans causer une surcharge du dépôt j, voici son code :
- Xi j* ;
- CHj CHj – ri ;
- CHj* CHj* + ri ;
Fsi;
Fin (pour);
Proposés dans les années 1975 par Holland, les algorithmes génétiques doivent
leur popularité à Goldberg qui les a largement vulgarisé, mais leur histoire est
relativement ancienne le même John holland a commencé ses premier travaux en 1962
et avait pour objectif initial de concevoir des systèmes d'apprentissage généraux,
robustes et adaptatifs, applicables à une large classe de problèmes, maintenant ils sont
considérés comme une méthode d’optimisation.[4]
Chapitre III Approche de résolution
Les algorithmes génétiques font partie d’une classe assez large de méta
heuristiques appelées « Algorithmes évolutifs » basés sur le principe du processus
d'évolution cette classe contient aussi la programmation évolutive et les stratégies
d’évolution.
Les algorithmes génétiques font partie d’une large classe de méta heuristiques
appelés « Algorithmes évolutifs » qui, mise à part les algorithmes génétiques,
contiennent la stratégie d’évolution et la programmation évolutive, tous sont basés sur
le principe de l’évolution.
Enfant élite
- Des enfants issus par mutation qui consiste à un changement aléatoire d’un
de ces chromosomes.
Chapitre III Approche de résolution
Un enfant ne prend place au sein de la population que s’il remplit le critère d’être
plus performant que le moins performant des individus de la population précédente.
Donc les enfants d'une génération ne remplaceront pas nécessairement leurs parents.
Grâce à cette stratégie élitiste le meilleur individu ne risque pas d’être perdu, et
ainsi on obtient une fonction de performance du meilleur individu monotone
décroissante de génération en génération.
Ce type de stratégie améliore les performances des algorithmes génétiques dans
certains cas mais présente aussi un désavantage en augmentant le taux de convergence
prématuré.
- t 0 ;nb 0;score2=0 ;
- Initialiser (P (t) ) ; /* garce à l’algorithme glouton*/.
- Evaluer (P (t) ) ; /* calculer la fitness de chaque individus */.
- Tant que ( t < t max nb nbmax ) faire /* condition d’arrêt */.
(SUITE)
- t t+1 ;
Pour (individu Pi(t) de P (t)) faire
Pi(t) HRL (Pi(t) );/*heuristique de réparation */.
Pi(t) HAC (Pi(t) );/*heuristique d’amélioration du coût*/.
Réévaluer la fitness de Pi(t) ;
Substituer l’individu par le nouveau dans P(t) ;
Fin (pour) ;
- k← ArgMin i=1…M{Fit(Pi(t)) Pi(t) P(t)}./* k l’indice de l’élite*/.
- P(t) sélection (P(t)) ;
- P(t) Croisement (P(t) / Pk(t)) ;
- P(t) Mutation (P(t) / Pk(t)) ;
- score1 Min {Fit(Pi(t)) Pi(t) P(t)}.
- k← ArgMin i=1…M {Fit(Pi(t)) Pi(t) P(t)}.
- S* ← Pk(t) ;
- si score1 = score2 alors nbnb+1 sinon nb0 fsi.
- score2 ← score1 ;
- Fin (tant que).
- Retourner (S*,score1) ;
Cette technique est venue palier a une des observations générales provenant de
l'implémentation d'un algorithme génétique basique est souvent la faible vitesse de
convergence de l'algorithme.
Cette recherche locale sera appliquée à tout nouvel individu obtenu au cours de
la recherche.
Chapitre III Approche de résolution
Ceci dit, nous avons jugé intéressant de décrire l’algorithme adopté sous forme d’un
organigramme à savoir :
Début
t 0 ;nb 0;
t max ;nb max ;M ;
score2←0 ;
t ← t+1 ;
i=1
i≤ M
Oui
Non
1
Chapitre III Approche de résolution
Score1 = score2 nb ←0
Non
Oui
nb ←nb+1
score2 ← score1 ;
Non
Fin
Chapitre III Approche de résolution
la configuration de l’algorithme :
Un algorithme génétique est caractérisé par des paramètres qui doivent être
définis. Ces paramètres feront la configuration de cet algorithme.
Station i
Dépôt j
Notre choix a été plutôt de générer la population grâce à l’algorithme glouton qui
donne des solutions en divers points, et la qualité de ces solutions permet une
accélération de l’algorithme.
Chapitre III Approche de résolution
m
pénalité = a
j 1
max 0, ψ((
ri ) DjA) .
i/X'i j
1 si k > 0
Avec (k )
0 sinon
Donc mieux vaut avoir une population diversifiée afin de parcourir largement
l’espace d’état. C’est le rôle des opérateurs de croisement et de mutation.
- La sélection :
Soit une population P(k) de taille M , par la sélection nous créerons une nouvelle
population T(k) de taille N<M qui privilégie les bon individus tel que :
• Chaque individu i sera représenté ni fois dans T (k) où ni est la partie entière
inférieure du rapport de la fitness de l’individu i Fit (i) par la moyenne des fitness .
On étend T (k) à M selon le principe de roue de la fortune suivant :
Si <ni’ (ni’ la partie fractionnaire du rapport de la fitness de l’individu i Fit (i) par la
moyenne des fitness ), l'individu i est ajouté dans le tableau T(k).
Sinon, on passe à l'indice i+1.
M
fit(P (t))
i 1 i
- (1) initialiser = /* la moyenne des fitness*/.
M
fit(P (t))
- (2) calculer ni ← i i=1…M.
μ
-k←1 ;
fin(si)
- (4) i ← 1 ;
fit(P (t))
- (5) calculer i ← < i > i=1…M.
μ
- (6)Tant que k M faire
- ← random[0,1] ;
- si i > alors Tk(t) ← Pi(t) ; k ← k+1 ; i←i+1 ; fin (si) ;
- si i= M+1 alors i←1 fin (si) ;
- Le Scaling :
Le processus de sélection présenté est très sensible aux écarts de fitness et dans
certain cas, un très bon individu risque d’être reproduit trop souvent et peut même
provoquer l’élimination complète de ses congénères ; on obtient alors une population
homogène contenant un seul type d’individu et seule la mutation pourra aider à
atteindre l’objectif global au prix de nombreux essais successifs.
Le mode de scaling que nous avons utilisé et le scaling exponentiel, qui est définie de
la façon suivante :
fits(x) = (fit(x))k(n). Où n est la génération courante.
Dans notre cas on k(n) varie des faibles valeurs vers les fortes valeurs au cours des
générations.
fits(x)
Max’
k>1 k=1
Avg’
Min’ k<1
fit(x)
min avg max
- L’évolution :
Ces opérateurs sont appliqués avec une certaine probabilité pour le croisement Pc
généralement prise autour de 0.7, la probabilité de mutation Pm est généralement très
inférieure à Pc autour de 0.01.
L’évolution est aussi réglée par un paramètre appelé le taux de croisement compris
entre 0 et 1 sans tenir compte de l’élite si =0 aucun croisement n’est fait si =1
aucune mutation n’est faite.
Chapitre III Approche de résolution
- Le croisement :
Le phénomène de croisement est une propriété naturelle de l’ADN, et c’est
analogiquement qu’on fait les opérations de croisement dans les Algorithmes
Génétiques.
Le croisement a pour but d’enrichir la diversité de la population en manipulant la
structure des chromosomes des individus.
Classiquement, les croisements sont envisagés avec deux parents et génèrent
deux enfants.
1 2 3 4 5 …..n-1 n 1 2 3 4 5 …..n-1 n
P1 1 1 5 3 m … 4 2 P2 1 2 5 m 5 … 3 4
.
.
.
1 2 3 4 5 …..n-1 n 1 2 3 4 5 …..n-1 n
C1 1 1 m 5 … 3 4 C2 1 2 5 3 m … 4 2
- La mutation :
L’opérateur de mutation apporte aux algorithmes génétiques la propriété
d’ergodicité de parcours d’espace.
La mutation que nous opérons est de tirer aléatoirement un gène i (une station i)
et le remplacer par une valeur aléatoire contenu dans Ei l’ensemble des dépôts où la
station i est susceptible d’être affectée.
Nous appellerons cette mutation "mutation par déplacement (flip mutation).
1 1 5 i m … j … 4 2
... ...
k = random (Ei \ { j })
1 1 5 i m … k … 4 2
... ...
- Critères d’arrêt :
Plusieurs critères d’arrêt peuvent être envisagés :
1) Un nombre de génération fixée à l’avance qui spécifie le nombre d’itération
maximum que l’algorithme ne doit pas dépasser.
2) Temps limite qui est le temps maximum d’exécution de l’algorithme.
3) Une fitness limite, l’algorithme s’arrête dès qu’il atteint une bonne fitness fixé
au préalable.
4) un nombre de génération effectuée sans amélioration de la fitness.
5) une durée de temps écoulé avec un blocage de la fitness.
Pour notre part nous utiliserons le premier critère et le cinquième seulement.
Chapitre I V
Implémentation du logiciel
Chapitre IV Implémentation du logiciel
IV.1 Introduction :
Dans MATLAB l’élément de base est la matrice, l’utilisateur ne s’occupe pas des
allocations mémoire ou de re-dimensionnement comme dans les langages classiques.
Les problèmes numériques peuvent être résolus en un temps record, qui ne présente
qu’une fraction infime de temps à passer avec d’autres langages comme le basic, C,
C++.
Pour mieux se familiariser avec notre logiciel, nous avons jugé utile de décrire,
dans ce qui suit les principales fonctionnalités et les fenêtres exploitées.
a) Fenêtre Affectation :
1 3
2
Cette fenêtre permet de charger les données à partir d’un fichier Excel et de
lancer la recherche, voici plus de détails :
Chapitre IV Implémentation du logiciel
b) Fenêtre Options :
Les paramètres à régler sont sauvegardés une fois qu’on clique sur le bouton
« Enregistrer » comme des paramètres par défaut pour toute les recherches futures qui
seront effectuées.
Intéressons nous maintenant à la partie données et la manière de les disposer sur
le fichier excel.
La première feuille doit contenir les données concernant les dépôts et leurs
capacités d’offre, la deuxième feuille concerne les stations et leurs consommations et
la troisième contient les différents coûts d’affectation.
Les données saisies sont ensuite exportées vers « Microsoft Excel » grâce au
bouton exporter prévu à cet effet.
Une quatrième feuille ou plus peuvent êtres utilisées pour des calculs tel la
consommation des stations ou autres sans risque.
En ce qui est de la disposition des données sur chaque feuille est comme suit :
Première feuille
Chapitre IV Implémentation du logiciel
Deuxième feuille
Troisième feuille
Remarque :
Les colonnes Code station et Code dépôt ne sont pas obligatoires et les
possibilité d’affectation sont connues. Aucun ordre sur les lignes n’est requis pour la
saisie.
Chapitre V
Analyse et Résultats
Chapitre V Analyse et Résultats
Type 1 :
La consommation des stations ai sera généré selon une loi uniforme discrète entre
[5,25].
Les coûts d’affectation coût (i, j) seront générés selon une loi uniforme discrète entre
[15,25].
Les capacités des dépôts bj seront calculées par la formule
ai
i Ej
bj = α où est un taux de réduction des capacité des dépôts afin
min
d’obtenir des instances avec des capacités assez réduites.
Chapitre IV Analyse et résultats
Type2 :
La consommation des stations ai sera générée selon une loi uniforme discrète entre
[1,100].
Les coûts d’affectation coût (i, j) seront générés comme suit :
Coût (i, j)=111-ai + e ; où e est généré suivant une loi uniforme entre [-10,10].
Les capacités sont générées de la même manière que celle du type1.
Les instances de type2 sont plus difficiles que celle du type1 car les coûts sont
inversement proportionnels aux capacités.
Voici à quoi ressemble l’interface du programme qui permet d’initialiser les propriétés
des instances (type, taille,…) et de les générer :
Chapitre IV Analyse et Résultats
L’algorithme est utilisé pour résoudre les instances générées a pour taille de la
population M=20 , taux de Mutation=0.2 donc taux de croisement=0.8,un nombre de
génération tmax=100, pour les instances dont le nombre de stations n 100 et tmax=200
pour les instances de plus grand taille ; ainsi pour toutes les instances le nombre
maximum de génération sans amélioration nbmax=100 et le nombre de cycles de
Les tests ont été effectués sur un Pentium PC 2.93 GHZ , l’algorithme a été lancé
5 fois sur chaque instance.
Chapitre V Analyse et Résultats
V.3 Conclusion :
On remarque que la déviation moyenne par rapport à l’optimum n’excède pas
0.05% ce qui est une très bonne performance en un temps raisonnable sachant que la
plupart des approches génétiques hybrides donnent d’excellents résultats pour des
durées d’exécution élevées.
L’algorithme donne de moins bons résultats pour les problèmes de type2 pour
avoir des résultats de qualité similaire que ceux obtenus sur les instances de type1 il
est nécessaire d’augmenter tmax.
Conclusion
Conclusion
Conclusion :
Le travail que nous avons présenté constitue notre premier contact avec le monde du
travail, cela a été bénéfique pour nous car il nous a non seulement permis de tester nos
modestes connaissance mais aussi, de les approfondir et de les concrétiser à l’aide d’un
sujet d’étude pratique.
Pour réaliser cet objectif nous avons été amenés à exploiter des techniques de la
recherche opérationnelle combinées à l’intelligence artificielle tel que :
Ainsi, sans excès d’optimisme, nous pouvons conclure que l’objectif global
assigné a été atteint du fait que nous avons pu établir une formulation mathématique et
une approche de résolution qui donne de très bons résultats. Sans oublier que ce travail
a été concrétisé par le développement d’un logiciel informatique fonctionnant sous
l’environnement Windows et capable de traiter des problèmes de grande taille.
En fin, nous souhaitons que ce présent mémoire sera bénéfique pour tous
lecteurs.
Bibliographies :
[3]Harald Feltl and Gunter R.Raidl,An improved Hybrid genetic Algorithm for
Generalized Assignment problem, Institute of computer graphics and Algorithms.
www.ads.tuwien.ac.at/publications/bib/pdf/raidl-04.pdf
[10]M.Sakarovitch,Optimisation combinatoire,E.N.S.I.M.A.G,1983