You are on page 1of 74

 

Introduction
 
Introduction

Introduction générale :

L’entreprise nationale de commercialisation et de distribution de produits


pétroliers (NAFTAL) tout comme les autres sociétés publiques algériennes ayant un
certain monopole doivent le garder face à la libéralisation progressive du marché, d’où
la nécessité d’une meilleure organisation et implantation de son réseau sur tout le
territoire national.

Face à ces changements du marché, NAFTAL s’acharne à s’adapter et à rester un


leader sur le marché.

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:

1. la première est consacrée à l’entreprise où une présentation succincte de


l’entreprise nationale NAFTAL est faite, ainsi qu’un premier chapitre qui se
consacre à l’étude de l’existant où l’environnement du problème est abordé et
étudié pour une maîtrise du phénomène qu’on ne connais pas.

2. La seconde partie qui représente la phase importante de notre mémoire


constituée du chapitre 2 où une formulation mathématique est proposée, puis
d’un chapitre3 où la méthode de résolution à adapter est traitée.

3. En fin, la dernière partie est réservée à l’implémentation matérielle du travail


théorique et à la description du logiciel informatique élaboré et une série de
tests qui évaluent sur des instances générées, les performances de l’algorithme.
 

Présentation
 
Présentation

COMMERCIALISATION ET DISTRIBUTION DES


PRODUITS PETROLIERS

A) Aperçu historique :

SONATRACH, s’est vue confier le 13 mai 1968 la tâche de distribution des


produits pétroliers, suite à la nationalisation des sociétés ESSO, SHELL, TOTAL….

Puis NAFTAL qui n’est que l’Entreprise nationale de commercialisation et de


distribution des produits pétroliers, issue de SONATRACH, a été créée à terme de
deux décrets, le premier du 06/04/1980, portant sur la création de ERDP (Entreprise
Nationale de Raffinage et de Distribution des Produits Pétroliers), entrée en activité le
01/01/1982.

Le deuxième décret, du 25/08/1987 portant la séparation des activités de ERDP en


deux entités :
1-NAFTAL : est chargée dans le cadre du plan national de développement économique
et social, de la commercialisation et de la distribution des produits Pétroliers.
2-NAFTEC : chargée du raffinage du pétrole.

B) Présentation de l’entreprise NAFTAL :

Dès que NAFTAL a vu le jour suite à la séparation de E.R.D.P en 1988, elle a


adopté une organisation sur 3 catégories de directions administratives,
opérationnelles, annexes.

Le 05/04/2003, NAFTAL a connu un nouveau schéma d’organisation de sa


macrostructure qui s’articule autour des principales structures suivantes :
Présentation

1)-La Direction Générale, qui est chargée de la politique et des orientations


générales, de la coordination et de la cohérence d’ensemble, du pilotage, du
management et de la veille stratégique ;

2)-Les Structures Fonctionnelles :


 Directions Exécutives
 Directions Centrales
 Directions de Soutien

A- Directions Exécutives, chacune dans son domaine d’activité, sont chargées


de :
 Définir la politique et la stratégie de la société ;
 Anticiper les tendances ;
 Concevoir et mettre en place les instruments de pilotage et les outils de
contrôle ;
 Assurer le management stratégique ;
 Assurer la coordination et la cohérence d’ensemble ;
 Assister les structures opérationnelles.

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.

C- Les Directions de soutien assurent la gestion administrative du siège social


de la société.

3)-Les Structures Opérationnelles de la société sont organisées en ligne produit, selon


six (06) Divisions « produits » dont quatre (04) constituent la branche C.L.P.B.
Présentation

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

Présidant Directeur Général


NAFTAL S.P.A

Direction Générale
Conseillers
Comité exécutif
Chef de projet
Comité Directeur
Exécutives
Directions

Direction Exécutif Direction Exécutif Direction Exécutif


Stratégie / planification & Economie Finances RessourcesHumaines

Direction Centrale Direction Centrale Direction Centrale Direction


Recherche & Dev Audit H.S.E.Q Centrale
A.S.C
Directions
Centrales

Structures Fonctionnelles
Direction Centrale Direction Centrale Direction Centrale
Procédures&Contrôle de Gestion Marketing De système d'information

Direction Direction
de Soutien

Administration générale Sûreté Interne de l'Etablissement


Direction

Structures Opérationnelles

Branche Branche Branche Branche Branche Activité


Carburant Commercialisation L.P.B G.P.L Internationale &
partenariats
 Chapitre I 

Etude de l’existant
 
Chapitre I Etude de l’existant

Introduction :

L’entreprise Nationale NAFTAL est appelée à renforcer ses capacités d’offres


à la clientèle quel qu’elle soit, stations-service, grand consommateurs, etc.

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.

Ainsi la nouvelle organisation de l’entreprise en branche d’activités et les


nouveaux objectifs fixés pour le développement du réseau stations-service, la branche
commercialisation doit réviser sa politique de gestion et de vente de son réseau
stations-service, tant sur le plan économique que sur le plan organisationnel.

De là découle la nécessité d’un re-dimensionnement des districts plus


avantageux, pour cela, ce re-dimensionnement doit se faire sur une bonne affectation
des stations-service, d’où l’importance d’une étude permettant d’élaborer une bonne
« réaffectation des stations-service par rapport aux dépôts carburants sur l’échelle
nationale ».

Position du problème :

Soit un ensemble de dépôts de stockage et de distribution des carburants


implantés sur tout le territoire national et un ensemble de stations-service qui constitue
le réseau point de vente carburant.
Chapitre I Etude de l’existant

Chaque station-service est rattachée à un seul district de gérance et chaque


district comprend un certain nombre de dépôts.
Les caractéristiques des dépôts diffèrent par :

- la capacité de stockage des bacs.


- les postes de chargement pour les camions citernes.
- l’ensemble de stations-service qui représente la zone d’influence du dépôt.
- les produits disponibles, d’où l’existence de dépôts multi produits et de
dépôts mono produit.

De même pour les stations-service qui différent par leur :


- capacité de stockage des cuves.
- Les produits commercialisés.
Le problème en question est comment déterminer une nouvelle réaffectation
de ces dernières aux dépôts carburants ?
De manière à :
 satisfaire la demande des stations-service sur le territoire national ;
 respecter les capacités d’offre des dépôts ;
 minimiser les distances kilométriques station- dépôt ;

Les objectifs :

De ce qui précède, il ressort que le réseau actuel comprend un rattachement


des stations service sans étude au préalable et régis principalement par l’appartenance
au district, au fur et à mesure que le réseau grandit et le découpage des districts reste le
même cela induit des pertes dans la distribution des carburants malgré la bonne
organisation des tournées.
Donc notre étude a pour objectifs de :
Chapitre I Etude de l’existant

- Déterminer la nouvelle affectation des stations service aux dépôts carburants


sur l’échelle nationale de manière à minimiser les distances kilométriques.
- Définir les nouvelles zones d’influence des dépôts carburants.
Estimer le taux d’exploitation par dépôts carburants résultant de la nouvelle affectation
afin de déduire ceux qui sont en surexploitation ou en sous-exploitation et dans une
perspective d’investissement en matière de capacité de stockage.

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

L’AFFECTATION DES STATIONS - SERVICES


La station est en relation avec le dépôt par une affectation ou rattachement. Ce
rattachement engendre des responsabilités du point de vue fourniture des produits
convenus.
Les dépôts considérés sont des dépôts carburant qui stockent les produits
blancs suivant que l’essence soit normale, essence super ou gas-oil.
Toutes les stations-service du réseau sont à considérer.
Intéressons-nous aux deux principaux concernés par ce rattachement c'est-à-
dire les stations-service et les dépôts.

I.1 Les stations-service :

Pour ce qu’il en est des stations –service Il existe quatre types :


- GD : Gestion directe, une station GD est 100% NAFTAL.
- GL : Gestion libre, ses stations sont gérées par des privés mais l’équipement et
l’infrastructure est propriété de NAFTAL.
- PVA : Point de vente agrée, ce sont des stations 100% privées, ces stations sont
majoritaires dans le réseau national.
- RO : Revendeur ordinaire, ce sont des privés en général ayant des stations de petite
capacité héritée de l’époque coloniale.

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.

Leurs principales caractéristiques techniques sont :


- Les produits commercialisés.
- La capacité de stockage pour chaque produit.
- Le nombre de volucompteur pour chaque produit.

I.2 Les 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…….

Les principales caractéristiques des dépôts sont :


- Les produits stockés.
- Le nombres de bacs de stockage pour chaque produit ainsi que leur capacité
théorique et opérationnelle réellement utilisée.
- Pour chaque produit le nombre de pompe et le débit de chacune en M3/H.

A part les caractéristiques techniques qui mettent à notre disposition des


données telles que la capacité opérationnelle, les dépôts calculent chaque année les
prévisions de consommation des divers consommateurs : les stations, revendeurs
distributeurs,… de l’année suivante.
Chapitre I Etude de l’existant

Voici une liste de la localisation des dépôts par district ainsi que les produits
stockés.

District Dépôts Produit Commercialisé


CHLEF CHLEF NORMALE, SUPER, GAS-OIL
EL KHMIS NORMALE, SUPER, GAS-OIL
MASCARA NORMALE, SUPER, GAS-OIL
ORAN PORT GAS-OIL
ORAN PETIT LAC NORMALE, SUPER, GAS-OIL
RELIZANE NORMALE, SUPER, GAS-OIL
MOSTAGANEM NORMALE, SUPER, GAS-OIL
BEJAIA PORT BEJAIA GAS-OIL
BEJAIA NORMALE, SUPER, GAS-OIL
TLEMCEN REMCHI NORMALE, SUPER, GAS-OIL
C.01 EX .137 NORMALE, SUPER, GAS-OIL
BISKRA BISKRA NORMALE, SUPER, GAS-OIL
TIARET NORMALE, SUPER, GAS-OIL
TIARET TIMSSEMSILT SUPER, GAS-OIL
FRENDA GAS-OIL
AFLOU NORMALE, GAS-OIL
BLIDA CHIFA NORMALE, SUPER, GAS-OIL
TIZI OUZOU TIZI OUZOU NORMALE, SUPER, GAS-OIL
OUED AISSI NORMALE, SUPER, GAS-OIL
DJANET NORMALE, SUPER, GAS-OIL
EL-OUED NORMALE, SUPER, GAS-OIL
OUARGLA IN_SALAH NORMALE, SUPER, GAS-OIL
TOUGGOURT NORMALE, SUPER, GAS-OIL
TAMANRASSET NORMALE, SUPER, GAS-OIL
CAROUBIER NORMALE, SUPER, GAS-OIL
ALGER ALGER PORT GAS-OIL
EL HARRACH NORMALE, SUPER, GAS-OIL
DJELFA NORMALE, SUPER, GAS-OIL
MEDEA AIN OUSSERA GAS-OIL
MEDEA NORMALE, SUPER, GAS-OIL
EL-EULMA NORMALE, SUPER, GAS-OIL
SETIF M'SILA NORMALE, SUPER, GAS-OIL
BORDJ BOU ARRERIDJ NORMALE, SUPER, GAS-OIL
CONSTANTINE KHROUB NORMALE, SUPER, GAS-OIL
BERRAHAL NORMALE, SUPER, GAS-OIL
ANNABA PORT ANNABA GAS-OIL
DREA W SOUK-AHRAS NORMALE, SUPER, GAS-OIL
SOUK-AHRAS NORMALE, GAS-OIL
TEBESSA TEBESSA NORMALE, SUPER, GAS-OIL
BECHAR NORMALE, SUPER, GAS-OIL
BECHAR TINDOUF NORMALE, GAS-OIL
ADRAR NORMALE, GAS-OIL
SKIKDA SKIKDA NORMALE, SUPER, GAS-OIL
TAHER NORMALE, SUPER, GAS-OIL
SAIDA BOURACHED NORMALE, SUPER, GAS-OIL
ELBAYADH NORMALE, GAS-OIL
ARRIS GAS-OIL
BATNA MEROUANA GAS-OIL
BATNA NORMALE, GAS-OIL
KHENCHELA NORMALE, GAS-OIL
SIDI BEL ABBES NORMALE, SUPER, GAS-OIL
SIDI BEL NORMALE, SUPER, GAS-OIL
ABBES AIN TEMOUCHENT
AIN TEMOUCHENT NORMALE, SUPER, GAS-OIL
GHARDAIA LAGHOUAT NORMALE, SUPER, GAS-OIL
Chapitre I Etude de l’existant

I.3 Critères dessinant l’affectation actuelle :

Le rattachement d’une station service est régi par un certain nombre


de critères, certains sont purement administratifs, d’autres liés aux infrastructures
existantes et d’autres critères naturels et logiques tel que la distance. Les critères
essentiels sont :

a) L’appartenance au district :

Le territoire national est découpé en 21 districts afin de mieux répartir la tâche de


distribution et de commercialisation au lieu d’une gestion centralisée extrêmement
lourde, de ce fait une station service est rattachée à un dépôt qui doit être du même
district.
Les districts sont découpés de façon à englober une ou plusieurs wilayas, on ne peut
avoir une partie d’une wilaya contenue dans un district donc les wilayas sont
totalement enveloppées.
Voici la carte dessinant ces districts:

Figure I.1 : Carte du


découpage des districts
Chapitre I Etude de l’existant

b) Les zones d’influence :

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

- Un manque d’optimisation des distances stations–dépôts, ce problème est


souvent situé à la frontière du district car des stations-service assez proches
d’un dépôt du district voisin se font livrer par un dépôt de leur district qui
serait plus éloigné que le dépôt du district voisin.
- rupture au niveau des stations-service, certaines stations ont ce problème ;
souvent les privés pallient à ce problème en s’approvisionnant chez des RD
(Revendeurs distributeurs) qui pratiquent leurs propres prix, est un manque à gagner
pour les GDs.

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.

Néanmoins une meilleure concrétisation de cette affectation nécessite en plus


une meilleure estimation et prévision des paramètres variables tel que la demande pour
tout type de carburant ainsi qu’une estimations d’autres paramètres tels que les
distance station - dépôt les plus exactes que possible.
 Chapitre II 

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.

II.2 Formulation du problème:


Ce problème est de taille très élevée ; ce surdimensionnement est en partie dû au
nombre élevé de stations-service qui sont considérées à une échelle nationale.
La formulation choisie est sous forme d’un programme linéaire en variables
bivalentes.
a) Indices, variables et Données de travail :
 Indices :
i : utilisé pour désigner une station-service .
j : réservé pour identifier un dépôt.
k : représente les différents produits.
Chapitre II Modélisation Mathématique

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.

Cik : la consommation journalière de la station i en produit k (en M³).

Djk : le débit jour du dépôt j en produit k (en M³).

Li, j : La distance entre le dépôt j et la station i (en KM).

Ejk : l’ensemble des stations-service candidates à être rattachées au dépôt j pour le


produit k, cet ensemble permet d’exclure les stations beaucoup trop éloignées.

Sik : l’ensemble des dépôts susceptibles de leur rattacher la station i, cet


k
ensemble est déductible à partir des Ej mais nécessaire à la cohérence du
modèle proposé ci après, il permet d’exclure les dépôts beaucoup trop
éloignés.

Cap (i, k) : est la capacité opérationnelle de la station i en produit k c'est-à-dire, la


capacité de stockage réellement utilisée, par contre la capacité théorique représente la
capacité technique de la station.
Chapitre II Modélisation Mathématique

Oik : l’autonomie de la station i en produit k, elle représente la durée en jours pendant


laquelle la station peut tenir sans aucun chargement, cette autonomie est calculée par
cap(i, k)
le rapport .
Ck
i

Ak : le plus petit multiple commun des autonomies des stations-service pour le produit
k. Ak = PPMC (Oik ; i=1….n).

Nik : le nombre de chargement opéré pendant la période Ak pour le produit k. où


Nik = Ak / Oik.

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) : indique si le produit k est commercialisé à la station i donc:

1 si le produit k est commercialisé à la station i.

Yi (k) =
0 sinon.

 Variable :

1 si le dépôt j livre la station i en produit k.

X i, j (k) =
0 sinon.
Chapitre II Modélisation Mathématique

b) la fonction objective :

Le but de l'entreprise NAFTAL est de minimiser les coûts d'affectation en utilisant


le critère distance et la fréquence du trafic.
Donc, la formulation de la fonction objectif est :

m 3
f ( min) =    coût i,j(k) X i,j(k)
j  1 k  1 i  Ek
j

c) Les Contraintes:

 les contraintes d’affectation :


Ce sont des contraintes-type d’un problème d’affectation, ces contraintes
signifient que chaque station doit être affectée à exactement un seul dépôt et cela pour
chaque produit.

∑X i,j( k) = 1 Yi (k). ∀ i I ; k=1,2,3 .


j Sik

 les contraintes de capacité :


Ces contraintes sont toutes de type sac à dos et qui empêchent tout dépassement
de capacité d'offre d’un dépôt j en produit k.

∑ Nik Cap (i, k) X i, j(k) ≤ Djk Ak. ∀ jJ ; k=1,2,3 .


i Ejk

 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

X i,j(1) = X i,j(2) = X i,j(3) ∀jJ;∀ iI.

Du fait de l'existence de dépôts mono produit qui disposent de quelques produits,


cette contrainte n'est alors pas prise en compte et le problème peut se formuler de la
façon suivante:

m 3
f ( min) =    coût i,j(k) X i , j(k)
j  1 k  1 i  Ek
j

(PB) ∑ Nik Cap (i, k) X i,j( k) ≤ Dj A ∀ jJ k=1,2,3


k k

i Ejk

∑ X i,j(k) = 1 Yi (k) ∀ i I , k=1,2,3 .


J Sik

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é.

Donc le programme principal est séparable en trois sous-programmes (PB)K un


pour le gas-oil, un pour l’essence normale et un autre programme pour l’essence super.
k=1, 2, 3.
Chapitre II Modélisation Mathématique

m
f ( min) =   coût i,j(k) X i , j(k)
j  1 i  Ek
j

(PB)K ∑ Nik Cap (i, k) X i,j(k) ≤ DjkAk ∀jJk.


i Ejk

 X i , j(k) =1 ∀ iIk
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)

avec Xi(k)’ Sik .

On peut passer d’un codage à un autre xi(k)'= j si X i , j(k) = 1.

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:

De nombreuses applications pratiques peuvent être formulées sous la forme d'un


problème d'optimisation combinatoire. Bien que ceux-ci soient souvent faciles à
définir, ils sont généralement difficiles à résoudre.

Etant donnée l'importance de ces problèmes, de nombreuses méthodes de


résolution ont été développées en recherche opérationnelle (RO) et en intelligence
artificielle (IA). Ces méthodes peuvent être classées sommairement en deux grandes
catégories les méthodes exactes (complètes) qui garantissent la complétude de la
résolution, et les méthodes approchées (incomplètes) qui perdent la complétude pour
gagner en efficacité.

Pour résoudre notre problème d'affectation de stations-service aux dépôts, nous


avons eu recours à une méthode hybride qui combine un algorithme génétique et deux
heuristiques de recherche locale utilisant un même type de voisinage, la première
améliore la réalisabilité plus communément dite dans ce genre de situation heuristique
de réparation, l’idée principale de ce type d’heuristique est qu’a travers des
mouvements de voisinage elle réduit a partir d’une solution initiale non réalisable le
nombre de contraintes violées en vue d’obtenir une solution réalisable, pour notre cas
elle réduit le nombre de dépôts avec dépassement de capacité et la seconde améliore le
coût d’affectation.

III.2 Classification du problème:

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

En effet, la plupart des problèmes d’optimisation combinatoire appartiennent à la


classe des problèmes NP-difficiles et ne possèdent donc pas d’algorithme efficace
pour toutes les données, notre problème connexe aux problèmes classiques du multi
sac à dos et du remplissage de boites fait partie de la classe NP-difficiles, à part le cas
spécial où les dépôts sont de même capacité, et aussi pour les stations-service où un
algorithme polynomial existe appelé « alternating chain » et donne toujours la solution
optimale. [6]

On peut dire que notre problème est un problème d'affectation généralisée, ce


problème a de multiples applications dans la science informatique, les réseaux de
télécommunication, les problèmes de localisation et l'ordonnancement des machines.

Un problème d’affectation généralisé a pour objectif d’affecter à moindre coût


« n » jobs à « m » agents (termes employés pour décrire ce problème dans la
littérature) tel que chaque job doit être affecté à exactement un seul agent tout en
respectant les capacités des agents.

Pour plus de formalisme, un problème d’affectation généralisée peut être formulé


de la manière suivante :
Soit I= {1,2,……, n} l’ensemble des agents et J= {1,2,…, m} l'ensemble des jobs,
chaque agent est caractérisé par sa capacité bi >0, pour tout iI et jJ un coût
d’affectation ci,j >0 et la consommation ai,j requise à l’affectation du job i à l’agent j.

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

Sous les contraintes:

n
 a i, j.x i, j  b jj  J
i 1
m
 x  1i  I
i, j
j 1
x  0,1i  Ij  J
i, j

Le problème d'affectation généralisée est connu d'être NP- difficile (Sahni et


Gonzalez 1976), et le simple fait de juger si une instance est réalisable est NP-
complet, depuis que le problème de partitionnement (Garey et Johnson 1979) peut être
réduit à ce problème pour m=2.[12]

Plus précisément, notre problème est un problème d'affectation généralisée avec


une consommation de ressource ai,j de chaque job i est constante pour tout agent j donc
ai,j = ai  j.

Autre chose supplémentaire à prendre en considération ; le fait qu’un job i peut


être affecté à un ensemble d'agent Ei alors que dans la formulation d'origine d'un
problème d'affectation généralisée, tous les jobs peuvent être affectés à tous les agents.
Pour cela nous avons pris :

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.

En plus du problème d’affectation des terminaux, on trouve dans la littérature de


recherche opérationnelle d’autres problèmes très ressemblants tels que le problème
d’affectation des taches aux processeurs qui ne diffèrent de notre problème que par la
fonction objective seulement. On trouve aussi le problème d’affectation des cellules
aux commutateurs qui consiste à affecter des cellules de réseaux mobiles de
télécommunications à un ensemble de commutateurs.

III.3 Inspection des méthodes de résolution :

Les approches de résolutions existantes peuvent être divisées en deux : exactes et


heuristiques.
Le terme souvent employé dans la littérature est celui de job ou de terminal pour
une station service et d’agent ou de concentrateurs pour les dépôts, pour notre part
nous garderons nos propres termes, c'est-à-dire : stations et dépôts.

III.3.1 Méthodes exactes:

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.

Le MTH utilise à chaque itération une mesure heuristique qui représente la


désirabilité µi,j d'affecter la station i au dépôt j, citons quelque mesure comme
µi,j = - Ci,j où Ci,j est le coût de l'affectation
µi,j = - Ci,j / ∂i où ∂i est la consommation de la station i.

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.

Le sous problème issu de la relaxation des contraintes d’affectation correspond à


un problème de multi- sac à dos en 0-1, un tel problème peut être résolu de manière
efficace par la programmation dynamique, si la solution de ce problème satisfait les
contraintes d’affectation relaxée, la solution optimale est atteinte sinon on obtient une
infaisabilité de l’un des deux type. S’il existe une station non affecté ou une station
affecté à plus d’un dépôt et à chaque nœud une phase de réduction est appliquée afin
de réduire l’espace de recherche.

Une autre méthode proposée récemment en 1997 par Salvelsbergh[8] similaire


à « branch and cut » appelée « branch and price » qui, en plus de la procédure de
séparation et d’évaluation, une procédure de génération de colonnes est utilisée.
Chapitre III Approche de résolution

Il considère une formulation modifiée de la formulation standard, la relaxation


linéaire de la formulation modifiée est appelée « problème maître ». Dû au nombre
exponentiel de colonnes du « problème maître », un problème maître réduit (RPM)
sera utilisé et lui sera appliquée la procédure de séparation et d’évaluation.
Le RPM contient un petit sous ensemble de colonnes issues du problème maître.

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.

Martello et Toth[8] ont relaxé les contraintes d’affectation, mais on trouve


d’autres méthodes qui relaxent les contraintes de capacités et se réduisent à un
problème d’affectation, tel que la méthode proposée par Jornsten and Nasberg qui
utilisent eux aussi une heuristique similaire au MTH pour réduire la taille de l’arbre de
séparation et d’évaluation. [3]
Chapitre III Approche de résolution

III.3.2 Méthodes heuristiques:

Les algorithmes mentionnés sont basés sur la méthode de séparation et


évaluation et sont utiles pour la résolution de problèmes de petite et de moyenne taille,
mais pour de larges et de plus complexes problèmes, des méthodes heuristiques sont
utilisées. Nous citerons quelques méthodes et les travaux intéressants conduits.

En 1994 Amini et Racer ont décrit une heuristique de recherche variable en


profondeur basée sur deux phases ; la première génère une solution initiale, la seconde
phase consiste en une procédure de raffinement par une procédure de déplacement
réalisable ou une permutation (swap) réalisable.
En 1995 Osman développa une méthode hybride recuit simulé et recherche
tabou. Il a effectué des expérimentations avec quelques méthodes de recherche locale.
[3]
Pour notre connaissance, le premier algorithme génétique proposé pour résoudre
un problème d’affectation généralisé est celui de Jornsten and Nasberg,[3] mais bien
avant lui Abuali et al se sont intéressés à un cas particulier, celui de l’affectation des
terminaux qui s’applique à notre cas, pour lequel ils ont proposé un algorithme hybride
génétique/glouton puis en 2004 Sancho Salcedo-Sanz et Xin Yao [11] ont proposé une
méthode hybride réseau de hopfield et algorithme génétique, ce réseau est utilisé en
même temps pour générer une population initiale et comme procédure de recherche
locale qui est une alternative à l’algorithme de Abuali et al car il est applicable au cas
où le coût de l’affectation n’est pas connu à l’avance. Par exemple : un coût
d’affectation de la station i au dépôt j :
Coût(i,j) =  bal(i,j)+ f(i,j) ;où f(i,j) est un coût fixé et connu a l’avance.
n
Et bal (i,j) est un coût qui dépend de
x
i 1
i, j
c'est-à-dire du nombre de stations

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.

On trouver dans la littérature d’autres propositions d’algorithmes génétiques


toutes aussi intéressantes telle que celle proposée par Chu et Beasley en 1997 qui
utilisent une heuristique proche du MTH qui améliore la fonction d’adaptation des
individus de la population.[3]

Plusieurs méthodes heuristiques diffèrent par le choix du voisinage et son


utilisation, Yagiura, Ibaraki et Glover[12] ont proposé une approche basée sur un
voisinage de chaîne d’éjection qui est formé de deux type de mouvement exécuté en
alternance des mouvement d’éjection et des mouvement d’essai où un premier
mouvement d’éjection qui consiste a retiré une station i d’un dépôt j ainsi la station
reste libre et on obtient une solution incomplète appelée structure de référence, un
autre mouvement d’éjection est appliqué lui est appliqué en déplaçant une station vers
le dépôt j lequel la station i vient d’être éjecté, enfin un mouvement d’essai pour
affecté la station libre i à un dépôt et ainsi obtenir une solution complète. Ils exposent
aussi un large éventail de voisinages et un comparatif entre différents voisinages
appliqués à la recherche tabou.

III.4 Choix de la méthode :

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

Pour notre approche de résolution, nous utiliserons un algorithme génétique du


fait que presque la plupart des approches publiées sont orientées vers des algorithmes
génétiques et les meilleurs résultats concernant ce problème ont été obtenus à l’aide de
ses algorithmes.

Nous avons choisi de modifier la structure de base de l'algorithme génétique pour


obtenir un algorithme hybride génétique et recherche locale. On peut situé les
algorithmes hybrides en général, grâce à des indications données à titre purement
indicatif dans [2] voir tableau II.1 qui correspond à l’expérience et aux résultats
publiés :

Tableau II.1

Dans ce tableau, les six métaheuristiques comparées sont les suivantes :


- AI : amélioration itérative (descente) avec relance,
- RS : recuit simulé,
- tabou : méthode tabou,
- AG : algorithme génétique adapté,
- AH : algorithme hybride.
Les critères de comparaison retenus sont les suivants :
- simplicité de la métaheuristique,
- facilité d'adaptation au problème,
- possibilité d'intégrer des connaissances spécifiques du problème,
- qualité des meilleures solutions trouvées,
- rapidité, i.e., le temps de calcul nécessaire pour trouver une telle solution.
les signes -, 0, + indiquent des performances respectivement inférieures, égales,
supérieures à celles obtenues par l'amélioration itérative.
Chapitre III Approche de résolution

Le choix est sans équivoque la qualité de la solution qui est un avantage


important des méthodes hybrides, mais l’inconvénient est le temps de calcul
cependant, comme on recherche une solution en un temps raisonnable sans pour autant
l’obtenir dans la minute qui suit l’exécution de la recherche alors l’utilisation d’une
méthode hybride ne pose pas de problèmes.

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).

III.5 Méthode de résolution :

Nous trouvons dans la littérature plusieurs heuristiques, la plupart utilisent des


algorithmes génétiques, mais la plus importante est celle de Abuali et al [6],[11] qui
ont proposé un algorithme glouton combiné à un algorithme génétique utile dans le cas
où le coût de l’affectation est connu à l’avance , dans le cas contraire une autre
approche très efficace a été proposé par Salacedo Sanz et Xin Yao[11] ,qui utilise un
algorithme génétique et un réseau de hopfield où ce réseau neuronale est utilisé
comme procédure de recherche locale.
Chapitre III Approche de résolution

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

Algorithme 1 : Heuristique gloutonne (HG). (Générer une solution X)


 choisir une permutation  de N stations au hasard.
 Pour (chaque station (i)) faire
- déterminer le dépôt réalisable j le plus proche de (i).
- affecter la station (i) au dépôt j.
 Fin (pour).
 Affecter les stations non affectées si ils existent
(au hasard sur des dépôts possibles).

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.

On peut augmenter les performances de l’algorithme de recherches qu’il soit


génétique ou autre par des méthodes de voisinage comme la célèbre méthode GRASP
qui combine une heuristique gloutonne et une méthode de voisinage, dans notre cas
l’algorithme utilisé sera augmenté de deux heuristique de recherche locale.
Chapitre III Approche de résolution

Les méthodes de recherche locale appelée aussi la descente ou l’amélioration


itérative sont des techniques d'amélioration très anciennes et redoutable contre les
problèmes réputés difficiles et nécessitent de définir le voisinage, où le voisinage est
obtenu par des modifications spécifiques au problème sur une solution x, appeler
mouvements.

Nous utiliserons dans ce qui suit un voisinage de déplacement (shift


neighborhood) ce voisinage consiste à retirer une station i d'un dépôt j surchargé et de
la réaffecter a un autre dépôt j* réalisable c’est à dire : j*Si –{j} où Si est
l’ensemble des dépôts où il est possibles d’affecter la station i , cela en veillant à ne
pas dépasser la capacité du dépôts j* . La taille de ce voisinage est de St (Dp-1) où Dp
est le nombre de dépôts surchargés et St, le nombre de stations affectées aux dépôts
surchargés.
.
Nous utiliserons une heuristique de recherche locale qui améliore la réalisabilité
et qui comme toutes les heuristique de recherche locale considère une unique solution
comme point de départ et passe d'une solution à une solution voisine par déplacements
successifs, les opérateurs de recherche locale s'arrêtent quand une solution réalisable
est trouvée, ou lorsque la condition du nombre d’itération maximum est atteinte, donc
l’arrêt ne veut pas dire qu’il n'existe pas de meilleure solution dans le voisinage, le
pseudo code de cette heuristique est le suivant:
Chapitre III Approche de résolution

Algorithme 2 : Heuristique de recherche locale (réparation).

-Calculer le chargement des dépôts.


-=1 ;
-Tant que (le nombre maximum de cycle max n’est pas atteint) faire
Pour (chaque dépôt avec dépassement de capacité) faire
Choisir au hasard une station i rattachée au dépôt.
Choisir aléatoirement kP l’ensemble des dépôts réalisables.
Si k existe alors - x’i ← k
-Recalculer le chargement des dépôts fsi.
Fin (pour).
- = +1 ;
-Fin (tant que).
Chapitre III Approche de résolution

Pour mieux comprendre son fonctionnement voici un code plus détaillé

Algorithme 3 : Heuristique de recherche locale (réparation) détaillée.

-Calculer le chargement des dépôts. CHj= ∑ r i , j=1, m .


i Xi =j

- F={ j  CHj > A .Dj }  *F l'ensemble des dépôts surchargés *


- =1 ;
-Tant que (  ≤ max  F   ) faire
W F.
Pour ( tout j W ) faire
i  Random { i  Xl = j }.
k  Random { u  uSi et CHu+ r i < A .Du }.
Si k existe alors
x’i  k.
CHk  CHk + r i . si CHk > A .Dk alors F  F  { k } fsi.
CHj  CHj - r i . si CHj ≤ A.Dj alors F  F \ { k } fsi.
Fsi.
Fin (pour).
-  =  +1 ;
- Fin (tant que).
Nous prenons :
- r i comme la consommation de la station i pendant la période A,
avec r i = Nik Cap (i, k).
- CHj le chargement du dépôt j pendant la période A.
Chapitre III Approche de résolution

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 :

Algorithme 4 : Heuristique d'amélioration du coût (HAC).

-pour i=1 à n faire /* n le nombre de station */.


-j  Xi ;
- j*=argmin { coût (i,j'  coût (i,j')  coût (i,j ) ri ≤ A.Dj -CHj}
jSi - si j* existe alors

- Xi  j* ;
- CHj  CHj – ri ;
- CHj*  CHj* + ri ;
Fsi;
Fin (pour);

coût (i,j ) est le coût d'affectation de la station i vers le dépôt j .

III.5.1 Les algorithmes Génétiques :

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.

Un algorithme génétique est un ``algorithme stochastique itératif'' qui opère sur


des ensembles de points codés, à partir d'une population initiale, et qui fonctionne à
l'aide de trois opérateurs : croisement, mutation, sélection. (D’autres opérateurs
peuvent être trouvés) Le premier opérateur a pour but d'enrichir la diversité de la
population en manipulant les composantes (les gènes) des individus (chromosomes), le
second apporte une exploration efficace de l’espace, tandis que le dernier fait évoluer
la population vers les optima d'un problème.

Dans le domaine de l’optimisation les algorithmes génétiques au côté des


colonies de fourmis forment les plus grandes classes des algorithmes à population,
comme le recuit simulé est l'absence d'hypothèses particulière sur la régularité de la
fonction objective. Aucune hypothèse sur la continuité de cette fonction n'est requise,
ses dérivées successives ne sont pas nécessaires, le peu d’hypothèses requises sur
l’objectif permet d’optimiser des problèmes très complexes ainsi, l’objectif à optimiser
peut même, être le résultat d’une simulation et il est rassurant aussi de savoir que la
preuve de convergence est apportée par Cerf même si l'intérêt pratique de cette preuve
est limité.

III.5.2 Définition et Fonctionnement :

Un algorithme génétique est une méthode de résolution de problème


d’optimisation, cette méthode est basée sur la sélection naturelle et un processus dérivé
de l’évolution biologique.
Chapitre III Approche de résolution

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.

Le fonctionnement d’un tel algorithme est simple, à chaque étape, l’algorithme


sélectionne des individus au hasard d’une population de solutions, afin d’être des
parents et produire des enfants pour la prochaine génération, après une certaine
succession de générations, la population évolue vers un optimum.
Dans la version élitiste que nous allons utiliser trois types d’enfants existent :

-Des enfants « élite » dans la génération précédente étaient les meilleurs


individus qui ont survécu sans changement.

Enfant élite

- Des enfants issus de croisement entre un couple de parents en croisant


leurs gènes.

- 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é.

III.5.3 L’algorithme génétique GA :

Pour résoudre notre problème on associe un algorithme génétique GA à


l’heuristique gloutonne, il permet d’accélérer la convergence de l’algorithme vers de
bonnes solutions, cet algorithme est augmenté une heuristique de réparation afin de
traiter les solutions non réalisables et une heuristique d’amélioration du coût.
Soit l’algorithme génétique GA :

Algorithme 5 : l’algorithme génétique GA


M la taille de la population.
P( t ) ={P1(t),P2(t),..,PM(t)} la population à la génération t .
Soit t max le nombre maximum de génération.
nb max le nombre maximum de génération sans amélioration.

- 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 nbnb+1 sinon nb0 fsi.
- score2 ← score1 ;
- Fin (tant que).
- Retourner (S*,score1) ;

 Moscato a introduit en 1989 pour la première fois les algorithmes mémétiques,


on rencontre aussi le nom d'algorithmes génétiques hybrides ou celui de genetic local
search ,L'idée principale de cette technique est de rendre plus agressif un algorithme
génétique par l'ajout d'une recherche locale.[7]

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 ;

Générer P(0) de taille M ;


Evaluer fit(Pi(t)) i=1,…,M
2

t ← t+1 ;

i=1

Pi(t)  HRL (Pi(t) );


Pi(t)  HAC (Pi(t) ); Réévaluer la
fitness de Pi(t) ;
i ← i+1 ;

i≤ M
Oui
Non

1
Chapitre III Approche de résolution

- k← ArgMin i=1…M {Fit(Pi(t))  Pi(t)  P(t)}.


- 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) ;

Score1 = score2 nb ←0

Non
Oui

nb ←nb+1

score2 ← score1 ;

t<tmax  nbnbmax Oui 2

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.

- Le codage des données :

Pour des raisons de simplicité et de meilleur contrôle des contraintes nous


utiliserons le codage en nombre entier en dehors du fait que ce codage est idéal pour
un algorithme génétique. Le fait de manipuler ce codage nous oblige à maîtriser les
contraintes de capacités qui risquent d’être violées alors que pour un codage binaire,
on doit contrôler les contraintes de capacité et d’affectation.

Station i
Dépôt j

Figure 2: chromosome représentant une solution du problème

- Génération aléatoire de la population initiale :

Le choix de la population initiale d’individus conditionne fortement la rapidité de


l’algorithme et il vaut mieux, lorsque cela est possible, ne générer que des éléments de
population respectant les contraintes.

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

Algorithme 6 : génération population initiale


T: la taille de la population.
Pour i=1 à T faire
P (i)  x ( x générer par HG ) ;
Fin (pour) .

- La Fitness (fonction d’évaluation):

La fitness permet de rechercher des solutions de bonne qualité et de gérer les


contraintes. Un individu qui viole une contrainte se verra attribuer une mauvaise
fitness.
Considérons la fitness Fit (X ) = f (X  ) + pénalité
n
f (X’) =  coût(i, X' ) est la valeur de la fonction objective.
i1 i

m  
pénalité = a 

j 1
max  0, ψ((
  ri )  DjA) .
i/X'i  j

 

1 si k > 0
Avec  (k ) 
0 sinon

Pour a = 1 pénalité est le nombre de dépôts surchargés, nous avons choisit a = n ×


max {coût (i, j) i  I , j  J } .

Cependant il est intéressant de conserver les éléments non admissibles, tout en


les pénalisant, car ces éléments peuvent générer des éléments admissibles de bonne
qualité.
Chapitre III Approche de résolution

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 :

La sélection vise à sélectionner une sous population à partir d'une population


parent qui permet d'identifier statistiquement les meilleurs individus de la population
et d'éliminer les mauvais, plus précisément favoriser les meilleurs individus.

Nous utiliserons un mode de sélection appelé « stochastique remainder » [4]sans


remplacement. Son principe est simple :

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 :

 On tire aléatoirement  entre 0 et 1, autant de fois qu'il manque d'individus,


c'est à dire (M-N) fois.

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.

 Quand on arrive à l'élément d'indice N on repasse à l'élément 1.

Cette fonction est déterminante dans un algorithme génétique et de nombreuses


méthodes de sélection, bien plus complexes sont disponibles, le sigma scaling, la
sélection à la Boltzmann, la sélection par rang, la sélection par tournois…..
Chapitre III Approche de résolution

Algorithme 7 : Sélection (sélectionner une nouvelle population T(t))

P( t )={P1(t),P2(t),..,PM(t)} la population à la génération t


Soit M: la taille de la population P (t)
N : la taille de T(t) à la première étape

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 ;

- (3) Pour (chaque individu Pi(t) ) faire


Pour i=1 à ni faire
Si k < N faire

Tk(t) ← Pi(t) ; k ← k+1 ;

fin(si)

si k=N alors aller a (4) fin(si) ;


Fin(pour)
Fin(pour)

- (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) ;

fin (tant que) ;


Chapitre III Approche de résolution

- 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.

Pour éviter ce comportement où les individus forts éliminent complètement les


plus faibles on utilise le scaling ou mises à l’échelle, modifie les fitness afin de réduire
ou d’amplifier artificiellement les écarts entre les individus. Le processus de sélection
n’opère plus sur la fitness réelle mais sur son image après scaling. Parmi les fonctions
de scaling, on peut envisager le scaling linéaire et le scaling exponentiel. Soit fit(x) la
fitness avant scaling et fits(x) la fitness modifier par le scaling.

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.

et K(n)= ( tan[( n/N+1) /2 ])p .

N : le nombre total de générations prévues.

P : est un paramètre choisi, le choix de p=0.1 le plus souvent utilisé.

- pour k proche de zéro, on réduit fortement les écarts de fitness ; aucun


individu n’est vraiment favorisé ; l’algorithme génétique se comporte comme
un algorithme de recherche aléatoire et permet d’explorer l’espace.
- Pour k proche de 1 : le scaling est inopérant.
- Pour k >1 les écarts sont exagérés et seul les bons individus sont sélectionnés
ce qui produit l’émergence des modes.
Chapitre III Approche de résolution

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

Figure 3 : fonction de scaling exponentielle

- L’évolution :

On applique sur la population sélectionnée T (k) les opérateurs de croisement et


de mutation afin d’évoluer vers une nouvelle population T (k+1).

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

Il n'existe pas de paramètres qui soient adaptés à la résolution de tous les


problèmes qui peuvent être posés à une AG. Cependant, certaines valeurs sont souvent
utilisées peuvent être de bons points de départ pour démarrer une recherche de
solution(s) à l'aide d'un AG.

La taille de la population est en général prise entre 20 et 50 individus.


Le taux de croisement est généralement élevé entre 70% et 95% de la population
totale.
Ces valeurs ainsi que les probabilités de mutation et de croisement sont données
dans la littérature à titre indicatif et ne peuvent en aucun cas s'appliquer à l'ensemble
des problèmes que peuvent résoudrent les algorithmes génétiques. Une approche
prudente consiste à essayer différents paramètres et à choisir ceux qui donnent les
résultats les plus satisfaisants.

- 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.

Nous utiliserons le croisement à découpage de chromosomes (slicing crossover).


Pour effectuer ce type de croisement sur des chromosomes constitués de M gènes
(M variables), on tire aléatoirement une position commune aux deux parents P1 et P2,
on échange ensuite les deux sous- chaînes terminales de chacun des deux
chromosomes, ce qui produit deux enfants C1 et C2.
Chapitre III Approche de résolution

On utilisera un découpage en 2 sous chaînes c à d en un point choisi


aléatoirement des deux parents.
Ce type de croisement à découpage de chromosomes est très efficace pour les
problèmes discrets ce qui est notre cas.

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

Figure 4 : Croisement par découpage en un point.

- La mutation :
L’opérateur de mutation apporte aux algorithmes génétiques la propriété
d’ergodicité de parcours d’espace.

Cette propriété indique que l’algorithme génétique sera susceptible d’atteindre


tous les points de l’espace d’état, sans pour autant les parcourir tous dans le processus
de résolution. Ainsi en toute rigueur, l’algorithme génétique peut converger sans
croisement, et certaines implantations fonctionnent de cette manière.

Les propriétés de convergence des algorithmes génétiques sont donc fortement


dépendantes de cet opérateur sur le plan théorique.
Chapitre III Approche de résolution

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).

Algorithme 7 : algorithme de mutation.


(1) i =Random (1,n);
(2) j  X'i ;
(3) k = Random (Ei \ { j });
(4) si k  nil alors X'i  k
Sinon aller a (1);
fsi;

1 2 3 4 5 ….. i …….. n-1 n

1 1 5 i m … j … 4 2
... ...

k = random (Ei \ { j })

1 2 3 4 5 ….. i …….. n-1 n

1 1 5 i m … k … 4 2
... ...

Figure 5 : Mutation par déplacement


Chapitre III Approche de résolution

- 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 :

Au fil des dernières années, les langages de programmations informatiques ont


connu un formidable développement et un très grand nombre de logiciels de
programmation ont vu le jour d’où la tendance à choisir des logiciels plus spécialisés
et plus productifs selon le domaine.

MATLAB est un de ses logiciels spécialisés qui signifie Matrix laboratory ;


C’est un logiciel de calcul numérique. Il est destiné à traiter des applications à partir
des outils de calcul matriciel.
Il a initialement été développé en Fortran par Cleve Moler. Aujourd’hui Matlab
est écrit en C et utilise les bibliothèques LINPACK et ARPACK.
Il est distribué par la société The MathWorks (www.mathworks.com) et Il est
disponible sur plusieurs plateformes.

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++.

MATLAB possède aussi tout un ensemble de fonctionnalités graphiques


permettant de visualiser les résultats numériques. Il possède des boites à outils, c’est à
dire des fonctionnalités supplémentaires, dédiées à des domaines particuliers du calcul
scientifique, comme :
- Optimization Toolbox : Plusieurs outils de la Programmation linéaire,
programmation quadratique, Optimisation muli-objectif etc.
- Genetic algorithms toolbox : Offre la possibilité d’utiliser le solveur génétique
de MATLAB ainsi que d’autres fonctionnalités.
Chapitre IV Implémentation du logiciel

Les autres boites à outils couvrent une multitude de domaines scientifiques.


MATLAB est aussi un langage de programmation avec des possibilités
d’interfaces vers des programmes écrits en C ou en Fortran.
En MATLAB, les calculs sont effectués avec une arithmétique à précision finie,
ceci le différencie des logiciels de calcul symbolique tel que MAPLE.

Dans le milieu universitaire MATLAB est un moyen efficace d’apprentissage et


d’application sur machine des cours avancés de mathématique et autres. Dans le milieu
industriel c’est le choix de la haute productivité des recherches, des développements et
des analyses.

IV.2 Présentation du logiciel :

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.

Au lancement, l’écran principal offre quatre choix :

- Ouvrir la fenêtre nommée « Affectation » afin de trouver l’affectation d’une


instance donnée.

- Accéder à la fenêtre « Options » pour modifier les options de l’algorithme de


recherche.

- La possibilité de saisir les données.


- Visualiser l’aide.
Chapitre IV Implémentation du logiciel

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

1 Permet de sélectionner un fichier de données Excel situé n’importe où sur le poste


ou le réseau.
2 Extraire les données du fichier sélectionné, il n’est pas nécessaire de recharger les
données deux fois de suite car la recherche peut être lancée sur les dernières données
chargées, donc il n’est pas nécessaire de sélectionner le fichier et de le charger.
3 Sauvegarder les résultats obtenus c à d la solution et la valeur de l’objective, ces
données seront enregistrées dans le document sur d’autres feuilles de calcul ajoutées
pour la circonstance
4 Barre de progression, une fois elle atteint son maximum, cela veut dire qu’on a
atteint le nombre maximum de génération sans amélioration de la fitness qui est un
critère d’arrêt.
5 Barre de progression qui indique la progression des calculs à travers les générations
parcourues jusqu'à atteindre le nombre maximum de générations.
6 Affiche en temps réel la valeur de la fitness du meilleur individu (individus élite) à
chaque génération.
7 Graphe montrant l’évolution de la fitness à travers le parcours des générations.

Cette fenêtre est dédiée au lancement de l’algorithme de recherche. Intéressons


nous maintenant à une autre fenêtre, celle nommée « Options » accessible à partir de
l’écran principal et à partir de la fenêtre affectation pour mieux régler les options à
travers les tests, ces réglages conditionne fortement la qualité de la solution trouvée.
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.

c) Saisie des données :

La saisie des données peut se faire directement sur « Microsoft Excel » ou à


partir du logiciel qui dispose d’un modèle à suivre sur l’ordre des feuilles car il est
primordial de respecter l’ordre qui suit :
Chapitre IV Implémentation du logiciel

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

V.1 Génération d’instances :

Avant de tester notre algorithme, on se doit de générer un certain nombre


d’instances ; ces instances doivent différer les unes des autres pour avoir une meilleure
vue et analyse des résultats obtenus par l’algorithme. Les instances générées seront
différentes par la taille, le rapport entre le nombre de dépôts et le nombre de station
m
( ), et le type d’instance.
n
Toutes les instances générées auront en commun l’intervalle [min, max] où min
est la cardinalité minimum de l’ensemble des dépôts possibles de leurs rattacher une
station donnée et max pour la cardinalité maximum. Donc toutes les stations générées
auront la possibilité de se rattacher à un nombre de dépôts tiré au hasard entre [min,
max].
En ce qui concerne le type d’instance nous considérons deux :

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.

Nous avons réalisé un programme avec une interface graphique permettant de


générer des instances et de chercher la solution optimale de l’instance générée en
utilisant le solveur de séparation et évaluation fourni par MATLAB dans Optimization
toolbox.

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

Pour tester la performance de cet algorithme on va générer 8 instances de notre


problème T1, T2,………, T8 avec un taux m/n=0.05, 0.1 d’ou pour chaque type cinq
tailles m×n= 5×100,8×160 10×200,10×100, 10×200. Ainsi que min=2 et max=5 et le
taux de réduction =0.6.
Deux indicateurs seront utilisés :
Le pourcentage d’erreur C%= (C-Copt /Copt) ×100 où C la valeur du coût trouvé
par l’algorithme et Copt le coût a l’optimum.
5
Le pourcentage d’erreur moyenne Cmoy%=  CP % / 5 où Cp% n’est que le
p1

pourcentage lors du pème essai.


Le temps moyen Tmoy utilisé pour arriver à la meilleure solution.

V.2 Calculs 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

réparation max =2.

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

Coût (Pourcentage d’erreur %) de 5 essais


Problème m n Copt Minimum Moyenne Maximum Tmoy
(Type) (%) (%) (%)
TA.1 (1) 5 100 1748 1748(0%) 1748 (0%) 1748 (0%) 6.45
TA.2 (2) 5 100 6946 6946(0%) 6948.6 (0.032%) 6952 (0.08%) 26.57
TA.3 (1) 10 100 1766 1766(0%) 1766(0%) 1766 (0%) 26.38
TA.4 (2) 10 100 7338 7340 7342.2(0.05%) 7344 (0.08%) 56
(0.02%)
TA.5 (1) 8 160 2838 2838(0%) 2838(0%) 2838 (0%) 47.42
TA.6 (2) 8 160 11222 11222(0%) 11222.6 (0.026%) 11224 91.61
(0.017%)
TA.7 (1) 10 200 3534 3534(0%) 3535,6 (0.022%) 3537 (0.084%) 68.05
TA.8 (2) 10 200 13926 13926(0%) 13926.6 (0.021%) 13928 23.45
(0.014%)

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.

L’objet de notre étude était d’élaborer une nouvelle affectation de stations


services aux dépôts pour l’entreprise nationale NAFTAL. Cette étude est une première
étape d’optimisation qui ouvre une porte à un projet futur ; celui du re-
dimensionnement des districts.

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 :

 Une modélisation mathématique du problème.


 Le recours à des heuristiques de recherche locale.
 L’optimisation à travers un algorithme génétique.

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.

Néanmoins, on est loin de prétendre que la solution proposée est optimale, du


fait que la méthode soit une méthode approchée.

En fin, nous souhaitons que ce présent mémoire sera bénéfique pour tous
lecteurs.
Bibliographies :

[1]N.Aouadi &f.Tebbane, Optimisation de la gestion et de la distribution des


contenants de gaz industriels (E.N.G.I),
Mémoire Fin d’Etudes R.O –U.S.T.H.B.1999

[2]Hao, Galinier, Habib,Méthaheuristiques pour l’optimisation


combinatoire et l’affectation sous contraintes,Revue d’Intelligence Artificielle.
www.info.univ-angers.fr/pub/hao/papers/RIA.pdf

[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

[4]Jean-Marc Alliot, Nicolas Durand,Algorithmes génétiques,


www.recherche.enac.fr/opti/GA/FAG/ag.pdf.

[5]A.Kaufman,Méthode et modèles de la Recherche Opérationnelle,


Edition DUNOD,1970

[6] S. Khuri and T. Chiu,Heuristic algorithms for the terminal assignment


problem,in Proc.ACM Symp. Applied Computing, 1997,
pp. 247–251

[7]Marc Sevaux,Métaheuristiques Stratégies pour l'optimisation


de la production de biens et de services.
web.univ-ubs.fr/lester/~sevaux/ Publications/hdr-sevaux-slides.pdf

[8]S. Martello and P. Toth. An algorithm for thegeneralized assignment problem.


Operational Research,1981,589–603

[9] Martin Savelsbergh, A branch-and-price algorithm for the generalized assignment


problem, Operations Research 45, 1997, 831-841.

[10]M.Sakarovitch,Optimisation combinatoire,E.N.S.I.M.A.G,1983

[11]Sancho Salcedo-Sanz and Xin Yao,A Hybrid Hopfield Network-Genetic


Algorithm
Approach for the Terminal Assignment Problem,IEEE TRANSACTIONS ON
SYSTEMS, MAN, AND CYBERNETICS—PART B: CYBERNETICS, VOL. 34,
NO. 6,Dec 2004,2343-2353.

[12]M.Yagiura, T.Ibaraki, F.Glover, An Ejection Chain Approach for the Generalized


Assignment Problem ».
In:«INFORMS journal of computing,vol 16 No.2, 2004, Pp 45-67.