Académique Documents
Professionnel Documents
Culture Documents
net/publication/320035622
CITATION READS
1 770
5 authors, including:
Some of the authors of this publication are also working on these related projects:
Conception et simulation d'une commande à retour d'effort pour fauteuil roulant électrique View project
I work on the PCBiod project within the LINEACT facility of CESI View project
All content following this page was uploaded by M'hammed Sahnoun on 26 September 2017.
1 Résumé
Dans cet article nous allons présenter la simulation et l’optimisation de la tournée des camions
pour la collecte des biodéchets conditionnés, cette problématique appartienne au processus de valo-
risation des biodéchets, pour la résoudre nous avons développé un simulateur à base d’un système
multi-agent qui permet de suivre le comportement du processus est de le visualiser. L’objectif d’op-
timisation de la tournée est de construire un plus court chemin pour effectuer une collecte rapide
et moins couteuse, plusieurs algorithmes sont utilisés pour construire des petits trajets, et surtout
différent métaheuristique peuvent être utilisés.
Nous allons présenter une heuristique que nous avons développé pour résoudre le problème de cette
tournée, puis nous montrons une métaheuristique (Algorithme Génétique) que nous avons aussi im-
plémenter pour comparer ses résultats avec l’heuristique.
2 Introduction
On appelle biodéchet conditionné un déchet de type organique (nourriture, plantes, huiles ..)
contenu dans un emballage. La valorisation de ce type de biodéchets est un processus complexe per-
mettant la récupération de biogaz et le recyclage des emballages vidés de leur contenu. Ce biogaz,
de nature renouvelable pourra être converti en électricité et chaleur, liquéfié, ou encore injecté dans
un réseau de gaz Fig.1. La chaine permettant la conversion des biodéchets conditionnés en biogaz est
composée de plusieurs terminaux jouant un rôle technologique bien précis.
Le déconditionneur, permettant de séparer la fraction organique de son emballage, doit être aisément
accessible depuis les gisements et de méthaniseurs comme le montre la Fig.1. Cette fraction orga-
nique doit être pasteurisée, puis méthanisée dans les 48h suivant sa pasteurisation. La disposition, les
volumes et les capacités de traitement de chaque unité impliques de fortes contraintes temporelles,
économiques et logistiques.
CONFERE’17/N ◦ 1
Mise en réseau
Chaleur
Unité d incinération
Récupération du Cogénération
méthane
Electricite
Nous avons donc développé un modèle basé sur un SMA permettant l’identification des compo-
santes du système, la définition de leur comportement ainsi que les relations entre ses éléments. Au
cours de l’évolution d’un SC, certains acteurs sont amenés à prendre des décisions dans différents
instants [8]. Ces décisions doivent être prises en tenant compte des informations connues à l’instant t,
mais également des impacts de ces décisions sur le système. d’un autre côté, les méthodes métaheu-
ristiques pour l’optimisation ont prouvé leur efficacité et connu de grandes avancées durant les deux
dernières décennies.[6]
L’optimisation nous aide à prendre les meilleures décisions [14] pour la gestion du transport des
déchets depuis les gisements vers le déconditionneur. Elle prend en compte les distances réelles pour
chaque trajet et minimise la tournée des camions.
Cet article est divisé sur quatre parties principales. Nous allons expliquer dans la première partie le
modèle de la simulation et son schéma avant d’éclaircir la simulation et le développement du simulateur
dans la deuxième partie, puis nous montrons dans une troisième partie le modèle mathématique
de l’optimisation dont nous avons mis les contraintes avec la fonction objective du problème de la
tournée, ensuite nous parlerons dans la troisième partie de l’optimisation et les trois méthodes que
l’on a développées, pour les comparer à la fin de cette partie. Enfin, nous terminons cet article avec
une petite conclusion.
CONFERE’17/N ◦ 2
3 Modélisation pour la simulation
Dans ce travail nous avons développé un modèle de simulation basé sur les SMAs pour représenter
le système de collecte de bio-déchets qui est considéré comme état un SC. Comme le montre la
Fig.2, ce système contient six classes d’agents avec des caractéristiques et comportement différent liés
les unes aux autres. L’agent gisements correspond aux endroits de collecte des biodéchets. L’agent
camion benne transporte les déchets depuis les gisements (interaction 1) vers le déconditionneur
(interaction 2). L’agent déconditionneur choisit ses points de collecte (interaction 3) ainsi que les
autre méthaniseur pouvant acheter sa soupe (interaction 5). L’agent hygiénisateur traite la soupe du
déconditionneur (interaction 4). Il l’envoie ensuite soit vers le méthaniseur sur site (interaction 7)
ou vers un autre méthaniseur (interaction 10) par le camion-citerne (interaction 8). L’agent camion-
citerne peut transporter la soupe non hygiénisée depuis le déconditionneur (interaction 6) vers un
hygiénisateur dans un autre site (interaction 9). Enfin, l’agent méthaniseur permet la digestion de
soupe pour récupérer le méthane.
8
1 2 10
6
4
Coût Énergie
4 Simulation
La simulation des SMA permet de suivre le comportement de notre SC durant une période don-
née. Il existe plusieurs outil de simulation qui permettent l’implémentation des systèmes multi-agents.
Pour notre étude nous avons utilisé NetLogo qui est un environnement de modélisation programmable
pour simuler des phénomènes naturels et sociaux. Il a été créé par Uri Wilensky en 1999 au Centre
for Connected Learning and Computer-Based Modeling.[15]
La programmation multi-agents permet de définir des variables globales (temps, distances entre
agents) et de créer des classes d’agents ayant chacun leurs propres attributs.
CONFERE’17/N ◦ 3
4.2 Matrice des distances et du temps de trajet
4.3 Développement
Dans cette partie nous allons expliquer la gestion des agents et leurs programmation. La Fig. 3
montre l’interface graphique de notre simulateur. On remarque à droite la carte de Normandie avec
les agents de notre système, à savoir les gisements, les méthaniseurs, les camions et les hygiénisateurs
dans le côté gauche on a les différents paramètres et commandes qui gèrent la simulation.
CONFERE’17/N ◦ 4
Figure 3 – Interface du simulateur pour le système de valorisation
et ceux qui permettent de régler les coûts (coût de prestation de biodéchets, coût de location de
camions-bennes, tarif de vente d’électricité .... etc.).
Init
CONFERE’17/N ◦ 5
La fonction Go est
GO
exécutée chaque pas de
simulation et tourne en
boucle sans fin dès le Camion Gisements Deconditionneur Hygiénisateur Méthaniseur
Camion-benne
attente
Nouvelle
Type cible Oui
cible ?
Cible
Decond Gise
atteinte?
Vider camion Remplir
camion
MAJ
variables
CONFERE’17/N ◦ 6
peuvent être utilisés pour la tournée de distribution de soupe.
V isite_gis(xi ) ≤ 3 (2)
V isite_gisi : Valeur qui définit le nombre de jours depuis la dernière visite de gisement xi .
— xi = 0, 1, ..., 290
xN = l’identifiant du déconditionneur sur notre plateforme de simulation.
Tel que : i = 0...N
N : Taille de vecteurs de tournée.
5.2 Objectifs
Le prix de la prestation de location de camion étant calculé à l’heure, l’objectif est de minimiser
le temps de tournée.
N
X −1
min(Z) = min( Coût × T emps(x(i)(i+1) )) (3)
i=0
Tel que :
T emps(x(i)(i+1) ) = durée(x(i)(i+1) ) × temps_charge(xi+1 )
Coût : Coût de location de camion par heure.
T emps(x(i)(i+1) ) : Temps total lié à la somme de durée(x(i)(i+1) ) et temps_charge(xi+1 ).
durée(x(i)(i+1) ) : Durée de trajet du point i vers le point i + 1
temps_charge(xi+1 ) : Temps de chargement ou déchargement de déchets.
CONFERE’17/N ◦ 7
6 Optimisation de la tournée du transport des camions benne
Afin de minimiser les coûts de la collecte, les camions font des tournées pour collecter des déchets à
partir de plusieurs gisement. Le simulateur doit donc définir la tournée avant chaque sortie du camion
(à partir du déconditionneur). Pour optimiser cette tournée de collecte nous avons utilisé une heuris-
tique qui construit une matrice définissant le trajet de chaque camion. Pour juger la performance de
notre heuristique, nous avons choisi de la comparer avec la métaheuristique de l’algorithme génétique.
Avant d’exécuter chaque méthode on sélectionne les gisements que doivent visiter les camions afin
de satisfaire la contrainte 2.
Les gisements font la mise à jour de cette variable chaque jour pour compter le jour de dernière
visite.
Avant de commencer chaque journée [etat_visite] sera mise à jour pour chaque gisement Fig.5.
Initialise etat_visite
des gisements Mise à jour
etat_visite
Sélectionner
Rejeter gisement Non etat_visite = 0 Oui etat_visite 3
gisement Ou
etat_visite++ Non Oui etat_visite = 0
Stok gisement
80%
Liste gisements
CONFERE’17/N ◦ 8
vecteur des cibles pour le camion. Le diagramme de la Fig.6 détaille le principe de l’algorithme de
cette heuristique. L’heuristique commence par la construction d’une matrice des gisements d’arrivé,
départ comme le montre la Fig 7. Á partir du point de départ, on sélectionne le point le plus proche
du point de départ. on varifie qu’il reste de la place dans le camion, s’il reste de la place. On élimine la
colonne du point d’arrivé et on le prend comme point de départ. On refait même l’opération jusqu’à
ce que la camion soit complètement remplis.
Initialise
i=1 V(i) = gisement Supprimer ligne i ++
Matrice des etat_visite = 1 Retourne V
Répéter plus proche et colonne de Camion plein
gisements
gisement
sélectionnés
Non
Figure 6 – Heuristique de tournée : cet algorithme prend à chaque fois une nouvelle cible pour le
camion jusqu’à la satisfaction des contraintes (la contrainte dans ce cas le remplissage du camion)
6.4.1 Croisement
Il existe plusieurs méthodes de croisement utiliser par différents chercheurs comme [[10], [13],
[7]]. Nous avons utilisé une méthode qui s’adapte mieux à notre système. Cette méthode utilisée par
[7] prend un point aléatoirement dans chaque parent, puis elle prend le début du premier parent et
CONFERE’17/N ◦ 9
Figure 8 – Opérateurs d’insertion, échange et inversion ([1])
rempli les autres case tel qu’elle ne prenne pas un point deux fois dans l’enfant. La Fig. 9 montre le
fonctionnement de cette méthode.
6.4.2 Mutation
Comme le croisement il y a beaucoup de techniques utilisées pour adapter l’algorithme génétique
au problème du transport. Les chercheurs ont tendance d’utiliser des heuristiques qui se ressemblent
comme (insertion, échange et inversion). Quelques taux de mutations communément employées en
algorithmique évolutionnaire peuvent être trouvés dans [[2] avec une Proba = 0.001, [4] avec une
Proba = 0.01 et [12] avec une Proba ∈ [0.005,0.01]].
Notre taux de mutation est de 0.03 pour chaque enfant.
Le principe d’heuristique de mutation programmer dans notre simulateur est l’échange qui est montré
dans la Fig. 8.
Non
Non
6.5 Hybridation
Le troisième algorithme utilisé pour la tournée est un hybridation entre l’heuristique et l’algorithme
génétique. L’idée est d’inserer la solution proposée par l’heuristique dans l’ensemble des solution
constituant la population initiale de l’algorithme génétique.
6.6 Résultat
Pour comparer les trois algorithmes de tournée nous avons lancé la simulation pour une durée
d’un mois, les trois simulations respectent les mêmes paramètres. Nous avons considéré une location
d’un camion pour 12 h/j à 580 euros plus 90 euros par heure supplémentaire. La Fig. 11 montre trois
graphes des coûts de tournés pour une même période de simulation.
CONFERE’17/N ◦ 10
Figure 11 – Coûts de tournés pour une durée de simulation d’un mois (de 16400 Ticks) : le graphe
à gauche montre le coût pour l’algorithme génétique, au milieu on a les résultat avec l’heuristique et
à droite l’algorithme hybride
On remarque que les meilleurs résultats obtenus sont avec la méthode hybride (63100 euros), puis
on trouve en deuxième position l’heuristique (64100 euros), les tournées avec l’algorithme génétique
sont moins optimisés par rapport aux deux autres (82300 euros).
Nous avons vérifié les vecteurs de tournée pour les deux méthodes (heuristique et hybride) afin de
constater que l’algorithme hybride garde les tournées de l’heuristique dans la majorité des cas, la
méthode hybride améliore le vecteur d’heuristique si on a 2 ou 3 point à visiter dans une tournée.
7 Conclusion
Les résultats montrent que les méthodes proposées sont efficace et que les résultats obtenus sont
réalistes. Nous avons lancé plusieurs simulations pour vérifier à chaque fois ces résultats, où nous
avons remarqué que les coûts entre l’hybride et l’heuristique sont proches par rapport à l’algorithme
génétique. Ceci peut être expliqué par le fait que l’algorithme hybride garde les solutions proposées
par l’heuristique la plus part du temps.
Puisque les camions citernes peuvent faire des tournées de distribution de soupes, nous avons utilisé
l’heuristique définir les tournés. Les résultats ont montré l’efficacité de notre heuristique par rapport
aux autres méthodes testé.
Remerciement
Cette étude a été réalisée dans le cadre du programme PCBioD, financé par la région Normandie
et piloté par NOV&ATECH que nous remercions. Nos remerciements se tournent également vers nos
partenaires Biomasse Normandie et l’ISEL nous ayant permis d’accéder aux informations essentielles
au développement du modèle.
Références
[1] Enrique Alba and Bernabé Dorronsoro. Solving the vehicle routing problem by using cellular
genetic algorithms. In European Conference on Evolutionary Computation in Combinatorial
CONFERE’17/N ◦ 11
Optimization, pages 11–20. Springer, 2004.
[2] Thomas Bäck. Self-adaptation in genetic algorithms. In Proceedings of the First European
Conference on Artificial Life, pages 263–271. MIT Press, 1992.
[3] Mohammed Dahane, M’hammed Sahnoun, Belgacem Bettayeb, David Baudry, and Hamza Boud-
har. Impact of spare parts remanufacturing on the operation and maintenance performance of
offshore wind turbines : a multi-agent approach. Journal of Intelligent Manufacturing, pages
1–19, 2015.
[4] John J Grefenstette. Optimization of control parameters for genetic algorithms. IEEE Transac-
tions on systems, man, and cybernetics, 16(1) :122–128, 1986.
[5] HAJ-RACHID Mais, Christelle Bloch, Wahiba Ramdane-Cherif, and Pascal Chatonnay. Diffé-
rentes opérateurs évolutionnaires de permutation : sélections, croisements et mutations. LABO-
RATOIRE D’INFORMATIQUE DE L’UNIVERSITE DE FRANCHE-COMTE, 2010.
[6] Tuncer Ören, Levent Yilmaz, and Nasser Ghasem-Aghaee. A systematic view of agent-supported
simulation past, present, and promising future. In Simulation and Modeling Methodologies, Tech-
nologies and Applications (SIMULTECH), 2014 International Conference on, pages 497–506.
IEEE, 2014.
[7] Marie-Claude Portmann. Genetic algorithms and scheduling : a state of the art and some propo-
sitions. In Proceedings of the Workshop on Production Planning and Control, pages i–xxiv, Mons
(Belgium), volume 9, 1996.
[8] Warren B Powell. The optimizing-simulator : Merging simulation and optimization using ap-
proximate dynamic programming. In Proceedings of the 37th conference on Winter simulation,
pages 96–109. Winter Simulation Conference, 2005.
[9] DT QGis. Quantum gis geographic information system. Open Source Geospatial Foundation
Project, 45, 2011.
[10] Eduardo Rodriguez-Tello, Jin-Kao Hao, and Jose Torres-Jimenez. A comparison of memetic
recombination operators for the minla problem. In Mexican International Conference on Artificial
Intelligence, pages 613–622. Springer, 2005.
[11] M’hammed Sahnoun, David Baudry, Navonil Mustafee, Anne Louis, Philip Andi Smart, Phil
Godsiff, and Belahcene Mazari. Modelling and simulation of operation and maintenance strategy
for offshore wind farms based on multi-agent system. Journal of Intelligent Manufacturing, pages
1–17, 2015.
[12] J David Schaffer, Richard A Caruana, Larry J Eshelman, and Rajarshi Das. A study of control
parameters affecting online performance of genetic algorithms for function optimization. In
Proceedings of the third international conference on Genetic algorithms, pages 51–60. Morgan
Kaufmann Publishers Inc., 1989.
[13] Marc Sevaux and Stéphane Dauzère-Pérès. Genetic algorithms to minimize the weighted number
of late jobs on a single machine. European journal of operational research, 151(2) :296–306, 2003.
[14] Damien Trentesaux. Distributed control of production systems. Engineering Applications of
Artificial Intelligence, 22(7) :971–978, 2009.
[15] Uri Wilensky and I Evanston. Netlogo : Center for connected learning and computer-based
modeling. Northwestern University, Evanston, IL, pages 49–52, 1999.
CONFERE’17/N ◦ 12