Research on intelligent workshop resource
scheduling method based on improved NSGA-II
algorithm
Minghai Yuan *, Yadong Li, Lizhi Zhang, Fengque Pei
Elaboré Par : Amine belhadj
hamed
Helmi akermi
1
Objectif
• Le modèle de planification des ressources de l’atelier de
fabrication intelligent a été établi dans le but de minimiser le
temps d’achèvement maximum, retard, charge de la machine et la
consommation d’énergie
2
Analyse le problème
• Le problème de planification d’atelier dans un environnement de fabrication
intelligent peut être décrit comme
• Chaque pièce Ni (i = 1,2,…,n) contient une ou plusieurs opérations, Oij
représente la j-ème opération de la pièce Ni, et chaque opération Oij peut
être traitée par l’une des machines optionnelles Mij {M1, M2, ,Mm}.
• les hypothèses de contrainte suivantes doivent être satisfaites :
La même
machine ne peut
traiter qu’une
seule pièce en
même temps
La même
pièce ne peut
être usinée
que par une
seule machine
en même
temps
Chaque machine et
chaque pièce à la
même priorité
Le temps de
déplacement de
chaque processus
entre les machines
de traitement est de
0
Le temps où la
machine commence
à traiter la pièce est
le temps de
démarrage, et le
temps où la machine
termine la dernière
opération est le
temps d’arrêt.
4
Notation
• Ji : Le nombre total de processus pour la pièce Ni
• CTie : Traitement des pièces Ni
• CTijs : Heure de début du traitement d’Oij
• CTije : Heure de fin de traitement d’Oij
• DTie : Date de livraison de la pièce Ni
• Ctijk : Temps pour la machine Mk de traiter Oij
• Xijk : 0–1 variable, qui indique si Oij est traité sur la machine k-th, si elle est 1, alors
elle est, sinon elle est 0
• P1 : Puissance fixe de l’atelier
• W2 : Consommation d’énergie du transfert de pièce une fois
• Dcon : Nombre total de transferts de pièces
• pmr : Puissance à vide de la machine-outil
• pmw : Puissance d’usinage de la machine-outil
• Tmr : Temps sans charge de la machine-outil Temps de traitement de la machine-outil
5
• f1 est le temps d’exécution maximum
• f2 est le délai total de la machine-outil
• f3 est la charge totale de la machine-outil
• f4 est la consommation d’énergie de traitement
• Eqs (6) 7) indiquer que la même pièce doit être traitée dans un
certain ordre et que chaque machine ne peut traiter qu’une seule
pièce en même temps
• Eq (8) montre que la même pièce ne peut être traitée que par une
seule machine en même temps.
7
Algorithme de planification des ateliers de travail
basé sur l’amélioration de la NSGA-II
• Algorithme d’optimisation
• L'algorithme génétique est un algorithme d'optimisation intelligent qui s'appuie sur
l'évolution naturelle et le mécanisme de sélection. Il a une forte capacité d’optimisation
globale.
• Mécanisme de probabilité est utilisé pour itérer au hasard
• Dans cet article, l’algorithme NSGA-II amélioré est utilisé pour résoudre le problème de
planification d’atelier de fabrication intelligent.
8
Population initialisation
• une méthode de codage à couches multiples fondée sur le nombre
réel est adoptée. chaque chromosome représente une solution
réalisable du problème à optimiser
NIND P_number G_number deux fois
P_number plus
G_number
La taille de la
population
le nombre total
d’opérations pour
toutes les pièces à
traiter
le nombre de
fonctions objectives
la longueur du
chromosome initial
10
Population initialisation
• Le premier P_number des opérations chromosomiques est généré au hasard, et le second
P_number des machines de traitement est sélectionné au hasard dans l’ensemble des
machines optionnelles
• Le gène de fonction objectif de gauche à droite représente le temps d’achèvement
maximal, le délai total, la charge totale de la machine et la consommation totale d’énergie.
11
Classement rapide non désigné et
surpeuplé
le grade de Pareto de chaque individu est déterminé en fonction du nombre
de chaque individu dominé dans une population et de l’ensemble des
individus dominés par l’individu.
le degré de surpopulation est introduit dans l’algorithme, qui représente la
densité d’autres individus autour d’un certain individu dans le même niveau
non dominant.
les valeurs de la fonction d’objectif sont triées par ordre croissant
12
Sélection
• Deux individus sont choisis au hasard dans la population pour une opération
génétique, et les individus ayant un niveau de classement supérieur sont
préférés (dans cet algorithme, le niveau de classement 1 est le plus élevé)
• le degré de surpopulation est le même, l’une des personnes est sélectionnée
au hasard.
13
opérations de croisement et mutation
• Pour mieux montrer le processus opérationnel. certains chromosomes de 8* 8 (8 pièces et 8
machines) sont sélectionnés ci-dessous pour illustrer la méthode du croisement et de la
mutation, dans laquelle le gène de fonction objectif n’est pas répertorié
A. Opération de croisement
• Utilise une méthode de croisement hybride basée sur le processus de la pièce et le
croisement de la machine est adoptée.
• La fonction rand est utilisée pour générer le nombre aléatoire r(r [0, 1])
Si r <0,5, le croisement basé sur le processus est adopté
sinon le croisement basé sur la machine est utilisé
14
Croissement basé sur pièce
• Les pièces 1, 4 et 7 sont un groupe, le gène machine correspondant dans le chromosome
parent 1 reste inchangé
• les pièces 2, 3, 5, 6 et 8 sont un groupe et le gène machine correspondant dans le
chromosome parent 2 est inséré successivement dans le locus de gène restant du
chromosome parent 1
• les deux opérations contrairement au chromosome parent 2.
15
Croissement basé sur machine
• la machine de traitement correspondant au numéro 1 sur le chromosome parent 1 est
croisée.
• Les machines de traitement de l’O42 dans les deux chromosomes parents sont croisées,
c’est-à-dire que l’O42 dans le chromosome parent 1 est traité par M4, et l’O42 dans le
chromosome parent 2 est traité par M7.
16
Opération de mutation
• La fonction randperm(P_number,cal) est utilisée pour générer aléatoirement des positions
de mutation chromosomique, cal représente le nombre de mutations génétiques
chromosomiques.
• La machine de traitement de l’O21 dans le chromosome parent 1 est M4, et une autre
machine dans le jeu de machines est sélectionnée au hasard pour le traitement pendant la
mutation.
17
Stratégie de préservation de l’élitisme
Pour améliorer la convergence de l’algorithme génétique.
les parents et les enfants sont fusionnés pour former la population totale de
Popt
les individus ayant un grade élevé et un degré de surpeuplement élevé dans
la population de Popt sont sélectionnés en fonction du classement de
surpeuplement et de jeûne.
effectue une optimisation locale en rejetant les nouveaux individus issus de
la population.
18
Détermination de la solution optimale
• Le procédé (AHP) est adopté pour déterminer le poids de chaque indice et
choisir la solution optimale.
1. Construire une matrice réciproque positive
19
• Pour aji =1∕aij est déterminé par tableau suivant
• Par exemple, Le temps maximum d’achèvement est comparé à la charge
totale d’équipement. Si le premier est beaucoup plus important que le
second, alors a12=5, a21=1/5. Chaque indicateur est comparé aux autres
indicateurs
20
contrôle de cohérence
• Normaliser chaque vecteur de colonne de la matrice wij = aij /Σm i=1 aij
• Somme wij en lignes pour obtenir wi =Σmj =1 wij
• Normaliser wi en wi = wi/Σm i=1 wi , w = (w1, w2, ,wm)T est le vecteur propre
• Calculer λ = 1∕m (Σm i=1 (Aw)/ wi))
21
le ratio de cohérence est CR = CI/ RI.
Lorsque CR<0,1, cela signifie que la
matrice réciproque positive A a
passé le contrôle de cohérence,
sinon la matrice réciproque positive
A doit être correctement modifiée.
Lorsque la matrice réciproque
positive A passe le test de
cohérence, le vecteur propre w =
(w1, w2, wm)T est le vecteur de
poids requis.
22
évaluation
globale
les données de l’ensemble de
solutions optimales sont normalisées
selon l’équation (9). pour obtenir la
matrice B, où B= (target_ pij)q* 4,
target_pij représente les données de
la colonne jth et la i ème ligne de la
solution optimale définie après la
normalisation.
Le schéma de programmation
correspondant à la valeur minimale
min(C)dans la matrice d’évaluation
complète C = Bw = Σ4j =1target_
pijwj est le schéma optimal.
23
simulation et analyse
• Matlab 2016b est utilisé pour résoudre l’algorithme multi-objectif NSGA-II
dans cet article. La plateforme matérielle est Intel(R) Core(TM) i5–8400
CPU à 2,80 GHz, RAM 16 Go.
• la taille initiale de la population NIND est de 200, le nombre maximal
d’itérations GEN est de 50, la probabilité de croisement Pc est de 0,8↦ 0,4
et la probabilité de mutation Pv est de 0,1 ↦0,02
• l’élitisme préservant la stratégie nombre de parent/progéniture 40% ↦ 10%,
La consommation d’énergie du transfert de pièce une fois W2 est de 0,3, La
puissance fixe de l’atelier P2 est de 35.
24
simulation et analyse
Selon le tableau 4 de la
relation matricielle, le poids
du temps d’exécution
maximal, le retard total, la
charge totale de l’équipement
et l’énergie consommation est
w=(0,5694,0,2546,0,1100,0,0
66)T, et CR=0,0217<0,1, ce
qui répond aux exigences de
cohérence
25
Test de référence
Notre exemple est un problème
d’ordonnancement 8 x 8 partiellement
flexible
• Le tableau 5 présente les résultats
comparatifs du temps de traitement le plus
court (SPT), de l’algorithme génétique (GA),
de l’algorithme génétique contrôlé par le
modèle assigné qui est généré par l’approche
de localisation (AL), Algorithme génétique
contrôlé avec approche par localisation
(AL+CGA), algorithme PSO+SA et
algorithme NSGA-II amélioré proposé
•l’algorithme NSGA-II amélioré peut obtenir
de bons résultats pour une planification
intelligente des ateliers de fabrication, qui
vérifie l’efficacité et la supériorité de
l’algorithme proposé
26
Simulation
le tableau montre le temps de libération, le
processus de fonctionnement de la pièce, la
date de livraison et le temps de traitement de
10 pièces. Le numéro dans la colonne de
temps de traitement indique le temps de
traitement, le symbole "-" indique que
l’opération pièce ne peut pas être traitée par
la machine Mk. le temps de traitement de
l’entreprise suivant sont les temps de réglage
précis après avoir compensé la différence. Le
numéro dans la colonne date de livraison
indique la date de livraison exigée par le
client, le symbole "-" signifie que la pièce à
usiner doit être traitée dès que possible, et il
n’y a pas de délai requis.
27
• Le tableau montre la puissance de traitement et la puissance sans
charge de la machine de traitement.
28
Diagramme de
GANTT
Il ressort diagramme de GANTT
que le temps d’exécution maximum
est de 70 min, le délai total est de 0
min, la charge totale de
l’équipement est de 416 min et la
consommation d’énergie est de
135,67Kw/h. 4,1 = 17 signifie que le
temps de traitement de l’O41 est de
17 min
29
Conclusion
• Cet article a examiné le problème de la planification des ressources de
l’atelier dans un environnement de fabrication intelligent.
• réduire le temps maximum d’achèvement, le délai total, la charge totale et la
consommation totale d’énergie
• L’algorithme NSGA-II a été amélioré, et une fonction d’évaluation basée
sur le classement et les niveaux de congestion a été créée. Le mécanisme de
concurrence a été introduit pour sélectionner d’excellentes personnes, et les
méthodes d’intersection et les mutations aléatoires ont été utilisés en
fonction du processus et de l’équipement pour générer La nouvelle
génération de la population
• La supériorité et l’efficacité de l’algorithme amélioré ont été vérifiées en
testant les cas standard et les problèmes de traitement réels.
30