CN117875669A - Generalized job shop scheduling method based on improved NSGA-III - Google Patents

Generalized job shop scheduling method based on improved NSGA-III Download PDF

Info

Publication number
CN117875669A
CN117875669A CN202410141376.8A CN202410141376A CN117875669A CN 117875669 A CN117875669 A CN 117875669A CN 202410141376 A CN202410141376 A CN 202410141376A CN 117875669 A CN117875669 A CN 117875669A
Authority
CN
China
Prior art keywords
procedure
machine
working
population
reference point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410141376.8A
Other languages
Chinese (zh)
Inventor
吕盛坪
赵贺杰
邹建民
宁韬涛
庄剑威
梁泰然
黎焯辉
张凯彬
陈健宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China Agricultural University
Original Assignee
South China Agricultural University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China Agricultural University filed Critical South China Agricultural University
Priority to CN202410141376.8A priority Critical patent/CN117875669A/en
Publication of CN117875669A publication Critical patent/CN117875669A/en
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses a generalized job shop scheduling method based on an improved NSGA-III. The method comprises the steps of constructing a mathematical model; determining constraint conditions of the mathematical model; setting coding and decoding based on improved NSGA-III, and then coding a procedure and a machine; carrying out population initialization by a mixed selection mechanism and a reference point preferred strategy; chromosome cross mutation is carried out on the population to generate a new generation population; non-dominant ranking is carried out on the population of the new generation, and then offspring are optimized based on a reference point preferred strategy; judging whether the preferred offspring individuals meet the termination condition, and returning to the step of generating a new generation population by cross variation if the preferred offspring individuals do not meet the termination condition; according to the decoding method based on the improved NSGA-III, the process code and the machine code are decoded, and then the relevant process and machine scheduling Gantt chart is output. The invention can carry out efficient scheduling on the high-dimensional multi-target generalized job shop under the forced same-machine operation condition.

Description

Generalized job shop scheduling method based on improved NSGA-III
Technical Field
The invention belongs to the technical field of production management, and particularly relates to a generalized job shop scheduling method based on an improved NSGA-III.
Background
Intelligent shop scheduling is a core decision for intelligent manufacturing management and is the basis of intelligent manufacturing systems. Forced on-machine operation is a key technology for current actual workshop demands and future development requirements of intelligent workshop scheduling.
At present, corresponding workpieces in part of workshops need to be forcedly matched for same-machine operation, such as combined machining of die matching parts and combined detection of different units of the same type of products in an electronic product detection workshop, so that the working procedures of all the workpiece parts form forcedly same-machine operation coupling. The problem of high-dimensional multi-objective generalized job shop scheduling with forced on-machine operation is widely existed but currently studied very little, and job shop scheduling (Job Shop Scheduling Problem, JSP) which is one of the problems of classical shop scheduling is widely existed in typical discrete manufacturing industries such as automobiles, electronics, shipbuilding and the like, and the generalized job shop scheduling with forced on-machine operation is also widely existed in various discrete manufacturing industries.
Taking electronic product detection as an example, workshops design a total process route for prototype of the same kind of products, divide the prototype into different groups, and serially finish detection of each procedure by each grouping prototype according to the sub-route designated by the total process route, but part of detection prototypes need group-crossing combination detection, such as vibration test, drop impact test, dust test, mold matching piece combination processing, electronic product joint detection and the like, bring about constraint of forced same-machine operation, break the constraint that the same machine can not process different workpieces at the same time in operation workshops, form forced same-machine operation coupling, and the comprehensive workshop production practically considers how to optimize multi-objective scheduling with forced same-machine operation, so that the technical scheme for solving the problem is lacking in the prior art.
Disclosure of Invention
In order to overcome one or more defects and shortcomings in the prior art, the invention aims to provide a generalized job shop scheduling method based on an improved NSGA-III, which can perform efficient scheduling on a high-dimensional multi-target generalized job shop under the forced same-machine operation condition.
In order to achieve the above purpose, the present invention adopts the following technical scheme:
a generalized job shop scheduling method based on an improved NSGA-III comprises the following steps:
s1, constructing a mathematical model of high-dimensional multi-target generalized job shop scheduling with forced same-machine operation;
s2, determining constraint conditions of the constructed mathematical model;
s3, setting coding and decoding based on improved NSGA-III aiming at the constraint of forced operation of the same machine, and then coding a procedure and a machine;
s4, carrying out population initialization based on a mixed selection mechanism fused by the improved NSGA-III and a reference point preferred strategy;
s5, carrying out genetic operation based on the improved NSGA-III under the constraint of forced same machine operation, and carrying out chromosome cross mutation on the population to generate a new generation population;
s6, non-dominant sorting is carried out on the population of the new generation, and then offspring are optimized based on a reference point preferred strategy;
S7, judging whether the preferred offspring individuals meet the termination condition, namely whether the optimal offspring individuals reach the maximum iteration number of the population, if so, executing the next step, otherwise, returning to the step of generating a new generation of population by cross variation;
s8, according to the decoding mode based on the improved NSGA-III, the related process and machine scheduling Gantt chart is output after the process codes and the machine codes are decoded.
Preferably, the mathematical model is constructed according to four targets of maximum working time, total load of the machine, total delay and total energy consumption and based on a mixed integer programming method;
setting mathematical symbols in the mathematical model includes: i, h represents the workpiece sequence number, i, h e {1,2, …, N }; j, g represents the sequence number, j, g E {1,2, …, N i -a }; k represents the machine number, k e {1,2, …, M }; n represents the total number of workpieces; m represents the total number of machines; n (N) i Representing the total number of processes of the workpiece i; i, H represents the serial number of the corresponding workpiece set of the combination procedure; j, G represents the sequence number of the corresponding procedure set of the combined procedure; u represents an infinite real number; o (O) ij A j-th step of indicating a workpiece i; o (O) IJ Indicating the combined procedure, O IJ ={O ij ,O hg ,O pq ,...,O yz };JS IJ Indicating the combined procedure O IJ Corresponding to the workpiece set; OS (operating System) IJ Indicating the combined procedure O IJ Corresponding to the working procedure set; t (T) IJK (T ijk ) Indicating procedure O IJ (O ij ) The working time on machine k; t (T) i Indicating the delivery time of the workpiece i; MS (MS) k Representing the start-up time of machine k; ME (ME) k Representing the start-up time of machine k; p (P) k Representing the operating power of machine k;representing the idle power of machine k; p (P) g Representing the plant fixed power; e (E) t Representing the transfer energy consumption of a single working procedure of a workpiece; c (C) i Indicating the finishing time of the workpiece i; s is S IJ (S ij ) Indicating procedure O IJ (O ij ) Is set to be a starting operation time of the machine; e (E) IJ (E ij ) Indicating procedure O IJ (O ij ) Is a working time of ending; e (E) busy Representing total energy consumption of machine operation time; e (E) idle Representing the total energy consumption of the machine in dead time; e (E) tran Representing total transfer energy consumption of the workpiece; e (E) innate Representing the inherent energy consumption of a workshop; x is X IJk (X ijk ) Indicating procedure O IJ (O ij ) On machine k, the job is 1, otherwise 0; y is Y IJHG Indicating procedure O IJ Prior to O HG 1 in operation, otherwise 0; z is Z i(j-1)k Indicating procedure O ij Immediately preceding Process O i(j-1) On machine k the job is 1, and vice versa is 0.
Further, the step of constructing the mathematical model based on the mixed integer programming method comprises the following steps:
s11, constructing an objective function f representing the minimized maximum finishing time 1 The following formula is shown:
f 1 =C max ={maxC i },i∈{1,2,…,N};
s12, constructing an objective function f representing the minimized total machine load ML 2 The following formula is shown:
s13, constructing an objective function f representing the minimized total delay TD 3 The following formula is shown:
s14, constructing an objective function f representing the minimized total energy consumption TE 4 Since the total energy consumption TE is mainly determined by the operating state of the machine, the total energy consumption E busy Total energy consumption in idle state E idle Total transfer energy consumption E of work piece tran And inherent energy consumption E of workshop innate Four-part composition, objective function f of minimized total energy consumption TE 4 The following formula is shown:
f 4 =TE=min(E busy +E idle +E tran +E innate ),
E busy the total energy consumed for all machines to work on a workpiece is calculated as follows:
E idle for the total energy consumption for all machine standby states, i.e. idle operation, it is calculated as follows:
E tran the total energy consumption for the transfer of the workpiece is calculated as follows:
E innate for the public energy consumption of the workshop, the method is calculated as follows:
E innate =PgC max
further, the constraint condition of the mathematical model is as follows:
wherein, formula (1) ensures that the working procedure is not interrupted, formula (2) ensures that the finishing time of any workpiece does not exceed the maximum finishing time, formula (3) ensures that the starting working time of the current working procedure is not less than the finishing working time of the working procedure (or the working procedure set immediately before the working procedure), formula (4) ensures that the starting working time of any working procedure is not more than the finishing working time of the working procedure, formula (5) ensures that any working procedure only works once on a machine, formula (6) ensures that the starting working time of any working procedure is not negative, the working and the finishing working time are more than 0, and formula (7) ensures that one machine can only work in one working procedure at the same time.
Further, the way to improve NSGA-III coding is:
the set code is composed of two layers of integer sequences, wherein the upper layer is a sequence OPlan representing a process code sequence, the lower layer is a sequence MPlan representing a corresponding machine code sequence, the machine set is {1, 2..the M }, and each gene of the process code is processed by a corresponding process O corresponding to a corresponding workpiece ij Process O is shown ij The subscript of (2) is workplace i e {1,2, …, N } and its occurrence j e {1,2, …, N } i The arrangement of the genes of one process code represents a chromosome in the modified NSGA-III, the number of the combined process of the forced homologous operation is represented by N+f, f is less than or equal to c, f represents the frequency of the combined process in the process code, and c represents the total number of the combined processes.
Further, the method for improving NSGA-III decoding adopts plug-in greedy decoding under the constraint of forced on-machine operation, and comprises the following steps:
s31, setting a matrix MP= { MP [1], MP [2],. The matrix MP [ M ] }, a matrix JP= { JP [1], JP [2],. The matrix MP [ N ] }, all elements in MP and JP are initialized to 0, and setting the time for starting the first process to be t=1;
s32, obtaining a procedure code sequence OPlan [ t ]]Work piece numbers corresponding to the ONs of more than or equal to 1 and less than or equal to t and determining the corresponding working procedures O of the work pieces IJ Obtaining each procedure O in the machine code sequence MPlan IJ Corresponding machine number k, and obtaining procedure O IJ Working time T on machine number k IJk Then calculate process O ij Maximum value A of work time immediately before completion of process IJ =max{E i(j-1) },O ij ∈O IJ
S33, inspection Process O IJ Idle time interval t_s, t_e of machine k]T_s is the lower interval limit, and t_e is the upper interval limit;
if max (as IJ ,t_s)+T IJk ≤i_e,O ij ∈O IJ Then there is S IJ =max(as IJ ,t_s)、E IJ =S IJ +T IJk At this time, if (S IJ =t_s)∧(E IJ T_e), delete the interval t_s, t_e]If (S) IJ =t_s)∧(E IJ <t_e), update [ t_s, t_e ]]=[E IJ ,t_e]If (t_s)<S IJ )∧(E IJ =t_e), update [ t_s, t_e ]]=[t_s,S IJ ]If (t_s)<S IJ )∧(E IJ <t_e), update [ t_s, t_e ]]=[t_s,S IJ ]And inserts a new [ t_s ', t_e ]']=[E IJ ,t_e]、JP[i]=E IJ ,i∈I;
If max (as) IJ ,t_s)+T IJk ≤i_e,O ij ∈O IJ ThenE IJ =S IJ +T IJk At this time, if as IJ >MP′[k]Then newly add the idle time interval i_s, i_e on machine k]=[MP[k],as IJ ],MP[k]=E IJ ,JP[i]=E IJ ,i∈I;
And S34, executing t=t+1, if t is less than ON, returning to the execution of the step S32, otherwise, ending the decoding step.
Further, the process of initializing the population comprises the following steps:
s41, initializing individuals to generate an initial population;
s42, the mixed selection mechanism and the reference point preferred strategy are fused to screen the population.
Further, the process of generating the initial population includes:
s411, respectively generating a new empty process code sequence OPlan, a machine code sequence MPlan and a working time sequence TPlan;
S412, if the OPlan length of the process code sequence is equal toStep S415 is performed, otherwise, all processes O unrelated to the forced on-machine operation process are selected ij Inserting i into any position of the sequence OPlan;
s413, if the combination procedure O of the same machine operation is forced IJ When the precursor combination procedure is not adopted, the corresponding codes N+f, f is less than or equal to c are randomly inserted into the procedure code sequence OPlan, otherwise, the combination procedure O is adopted IJ The corresponding codes n+1, n+2, n+c are inserted into any feasible position of the sequence OPlan in sequence;
s414, sequentially judging the combination procedure O in the current procedure code sequence OPlan IJ I is E I whether a precursor combination procedure exists;
when the workpiece i has no precursor combination procedure, the combination procedure O is found IJ Position L in the process code sequence OPlan c
If combined procedure O IJ ={O pq ,O yz (p, y represent the corresponding workpiece number, q, z represent the corresponding process number), q-1 p, z-1 y are randomly inserted into position L in the process code sequence OPlan c Previous position, N p -q+1 p, N y -z+1 y are randomly inserted into position L in the sequence OPlan c Later, for the assembly process O with multiple workpieces IJ ={O ij ,O hg ,O pq ,...,O yz Sequentially combining procedure O IJ The step code sequence OPlan is inserted into each step according to the corresponding workpiece number in the same way as described in the previous section;
if combined procedure O IJ If the workpiece has a precursor combination procedure, the combination procedure O is directly found out IJ Precursor assembly procedure O of (2) I′J′ For precursor combinationsProcedure O I′J′ ={O ij ,O hg Procedure O of combination IJ ={O iq ,O yz And j<q, there is a precursor combination step O I′J′ Combining procedure O IJ The position L of each of the sequence OPlan c1 、L c2 And L is c1 <L c2 At this time, j-1 i, g-1 h, and z-1 y are randomly inserted into the positions L in the sequence OPlan c1 、L c2 Previously, q-j-1 i were randomly inserted into position L in the sequence OPlan c1 、L c2 Between, N is h G+1 h, N i -q+1 i, N y -z+1 y are randomly inserted into the position L in the sequence OPlan c1 、L c2 Thereafter, for the multi-workpiece assembly process O IJ ={O ij ,O hg ,O pq ,...,O yz Sequentially combining procedure O IJ The step code sequence OPlan is inserted into each step according to the corresponding workpiece number in the same way as described in the previous section;
s415, for a combination procedure O in a procedure code sequence OPlan IJ The corresponding optional machine set is determined, and the process is as follows: setting a random number r=rand (0, 1), if r<0.05, selecting a machine in the set of selectable machines that minimizes the current load, if r <And 0.1, selecting a machine with the smallest working time in the optional machine set, otherwise, randomly selecting from the optional machine set, then forming a machine code sequence MPlan, and determining working time of each working procedure to generate a working time sequence TPlan.
Further, the process of screening the population comprises:
s421, generating a population consisting of 2 XPS individuals by using three strategies of Global Selection (GS), local Selection (LS) and Random Selection (RS), and setting a set for storing Pareto front individuals asWherein PS represents population size;
s422, according to the plug-in greedy decoding mode set in the step S3, obtaining a feasible scheduling scheme and calculating four individual corresponding steps in the step S1Objective function f 1 、f 2 、f 3 、f 4 Is classified into individual classes based on the non-dominant ranking of the population based on the values of the four objective functions, and Pareto front sets (F 1 ,F 2 ,F 3 ,...F l ) Where F represents the Pareto-leading-edge individual, and the F subscript represents the number of Pareto-leading-edge individuals, a lower level (F 1 ,F 2 ,...,F l ) The collection is sequentially stored in R until |R| is not less than PS, R is output if |R|=PS, then screening of the initial population is finished, otherwise R=F is set 1 ∪F 2 ,...,∪F l-1 Then, the next step S423 is performed;
s423, creating a reference point: defining a reference point z= (z) on a four-dimensional hyperplane 1 ,z 2 ,z 3 ,z 4 ) Constructing a combination of three dimensions X, wherein X is {0/H,1/H,., (H+2)/H }, H is the number of segments on each target, and the number of reference points Z contained in a reference point set Z on a four-dimensional hyperplane is the number of combinationsFor each coordinate value x ij E X, let X ij =x ij - (j-1)/H for each coordinate value z ij ∈Z、x ij E X, each reference point z is acquired in four target directions (C max ML, TD, TE) coordinate values: z i1 =x i1 -0、z i2 =x i2 -x i1 、z i3 =x i3 -x i2 、z i4 =1-x i3
S424, performing adaptive normalization to reduce the influence of different dimension of each target: determining the intercept of the hyperplane on four target coordinate systems, correspondingly normalizing to four target functions f corresponding to individuals in the population 1 、f 2 、f 3 、f 4 Divided by the intercept of the hyperplane on the four target coordinate systems, is calculated as follows:
wherein a represents an intercept;
s425, creating a mapping relation between population individuals and reference points: constructing each reference point and originThe rays in the population are obtained, the cosine distance between each individual and each reference point ray is solved for the standardized four objective functions, the reference point pi (R) with the minimum distance between each individual in the population is obtained, the R epsilon R is calculated, and the distance d (R) between each individual and the reference point pi (R) is calculated;
s426, using a manner of niche preservation operation, optimizing individuals from the population: setting k=1; screening a low-level Pareto front set in the reference point set Z (F 1 ,F 2 ,...,F l ) The reference point set J with fewer occurrence times in the front edge of the pattern is obtained by randomly selecting the reference point J' from the reference point set J and obtaining the low-level Pareto front edge F l An individual set Ind closest to the reference point j j′ ={r:π(r)=j′,r∈F l -a }; if it isAnd reference point j' is at the low level Pareto front set (F 1 ,F 2 ,...,F l ) The occurrence frequency of the reference point in the front edge of (2) is 0, then Ind is j′ Is selected d (r.epsilon.R) t ) Minimum individual ind, R t =R t U.Ind, when the reference point j' is in the low-level Pareto front set (F 1 ,F 2 ,...,F l ) The occurrence frequency of the reference point in the front edge of (a) is not 0, then Ind is j′ In the optional individuals ind, R t =R t U.Ind, then set k=k+1, Z=Z/j', then return execution to obtain the individual set Ind j′ ={r:π(r)=j′,r∈F l The step of proceeding to the next individual preference until the individual preference for the population is completed; if->Then set z=z/j', k=k+1, then return to executing the acquisition individual set Ind j′ ={r:π(r)=j′,r∈F l The step of proceeding to the next individual preference until the individual preference for the population is completed.
Further, the process based on improving chromosomal cross-variation of NSGA-III includes:
s51, crossing the process codes: first, a work piece set J of a combination procedure is constructed 1 Corresponding workpiece set J without combined procedure 2 The method comprises the steps of carrying out a first treatment on the surface of the Duplicating parent P 1 Is included in J 1 Work-to-child C of (C) 1 Parent P 2 Is included in J 2 Work-to-child C of (C) 2 And the position of the workpiece is reserved; duplicating parent P 2 Is included in J 2 Work-to-child C of (C) 1 Parent P 1 Is included in J 1 Work-to-child C of (C) 2 And preserving the order of the workpieces;
s52, crossing machine codes: changing only the working machines used in the working steps, selecting all working steps into a set B at a set crossing rate, and at P 1 、P 2 Find out the working machines corresponding to the same procedure in the set B, and then make P 1 、P 2 The corresponding processes in the set B are interchanged in the working machines to generate a child C 1 '、C 2 ';
S53, performing mutation on the process codes after the crossing: the working machine selected in the process is unchanged during mutation, P is divided into c+1 sections by taking a combined process as a dividing point, the number c 'of sections with the gene length larger than or equal to 2 in the process code is found, r=rand (c') is calculated, then the r section with the gene length larger than or equal to 2 in the process code is selected for mutation, two position points in the r section are randomly selected, and the process O in two positions is performed ij 、O i′j′ Exchanging, and respectively acquiring all process sets O of the workpieces i and i' of the r-th section in P i 、O i′ Determination of O i 、O i′ Corresponding machine set M in P i 、M i′ Collect machines M i 、M i′ Sequentially distributing the machines in the (a) to corresponding processes of workpieces i and i' in the (r) th section respectively to generate a child C;
S54, performing mutation on the crossed machine codes: one position on the chromosome after crossing is randomly selected, and another machine different from the current machine is randomly selected from the selectable machine set.
Compared with the prior art, the invention has the following advantages and beneficial effects:
the method solves the problem that the algorithm in the prior art cannot be directly applied to solving the scheduling problem of the high-dimensional multi-target generalized job shop with the forced operation of the same machine, and realizes the function of efficiently scheduling the high-dimensional multi-target generalized job shop under the condition of the forced operation of the same machine.
Drawings
FIG. 1 is a flow chart of a generalized job shop scheduling method based on an improved NSGA-III of the present invention;
FIG. 2 is a diagram showing an example of the coding of a modified NSGA-III;
FIG. 3 is an exemplary diagram of a process code crossover operation process;
FIG. 4 is a diagram illustrating an example of the process code of FIG. 3 before and after mutation;
fig. 5 is a graph of the scheduled gater of fig. 1 with final output using a scenario.
Detailed Description
The present invention will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present invention more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
It should be noted that the positional or positional relationship indicated by the terms such as "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc. are based on the positional or positional relationship shown in the drawings, are merely for convenience of describing the present disclosure and simplifying the description, and do not indicate or imply that the apparatus or element in question must have a specific orientation, be constructed and operated in a specific orientation, and thus should not be construed as limiting the present disclosure.
Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance. Likewise, the terms "a," "an," or "the" and similar terms do not denote a limitation of quantity, but rather denote the presence of at least one. The word "comprising" or "comprises", and the like, means that elements or items appearing before the word are encompassed by the element or item recited after the word and equivalents thereof, and that other elements or items are not excluded. The terms "electrically connected" or "connected" and the like are not limited to physical or mechanical electrical connection, but may include electrical connection, whether direct or indirect.
Examples
As shown in fig. 1. The generalized job shop scheduling method based on the improved NSGA-III provided by the embodiment comprises the following steps:
s1, constructing a mathematical model of high-dimensional multi-target generalized job shop scheduling with forced same-machine operation;
the mathematical model is constructed based on a mixed integer programming method according to four targets of maximum working time, total load of the machine, total delay and total energy consumption;
the high-dimensional multi-target generalized job shop scheduling problem with forced on-machine operation is described as follows: given N pieces {1,2,., N } are operated on M pieces of machines {1,2,., M } each piece contains a plurality of working procedures, each working procedure has a plurality of machines which can be selected, and the operation time of each working procedure depends on the selected machine, at least one machine is required to allow a plurality of working procedures of different kinds of work pieces to form a combined working procedure and simultaneously complete the operation on the machine, the problem is solved by determining the sequential operation sequence of each working procedure of all the work pieces, the used machines and the operation time under the condition of meeting the machine availability, the working procedure sequence and the forced same machine operation constraint condition so as to obtain the optimization of four scheduling indexes of maximum finishing time, total load of the machines, total delay and total energy consumption, and reduce the conflict of the four different targets;
The scheduling problem of a high-dimensional multi-target generalized job shop with forced same-machine operation needs to meet the following conditions:
1. all machines are available at zero time, all workpieces can be operated on the machines at zero time, and different workpieces have the same priority;
2. the same work piece procedure determines the operation sequence according to the process route, and only one work piece can be processed at the same time;
3. only one process or a combined process can be processed at the same time by the same machine;
4. the time of auxiliary operations such as clamping, dismounting, tool changing and carrying is considered to be within the rated range of working procedure working hours;
5. starting the working procedure or the combined working procedure on the selected machine, and only considering whether the current machine is available and whether the precursor working procedure of the working procedure or the combined working procedure is finished, wherein the material alignment sleeve, the auxiliary tool and the like are prepared before the machine works;
6. the working procedure or the combined working procedure ensures continuous operation of the machine during operation, and the working procedure or the combined working procedure is not interrupted during operation;
the meaning of the mathematical symbols involved in setting the mathematical model is shown in the following table:
TABLE 1 mathematical symbol meanings
The step of constructing the mathematical model based on the mixed integer programming method comprises the following steps:
s11, constructing a maximum finishing time C representing minimization max Is the objective function f of (2) 1 The following formula is shown:
f 1 =C max ={maxC i },i∈{1,2,…,N};
s12, constructing an objective function f representing the minimized total machine load ML 2 The following formula is shown:
s13, constructing an objective function f representing the minimized total delay TD 3 The following formula is shown:
s14, constructing an objective function f representing the minimized total energy consumption TE 4 Since the total energy consumption TE is mainly determined by the operating state of the machine, the total energy consumption E busy Total energy consumption in idle state E idle Total transfer energy consumption E of work piece tran And inherent energy consumption E of workshop innate Four-part composition, objective function f of minimized total energy consumption TE 4 The following formula is shown:
f 4 =TE=min(E busy +E idle +E tran +E innate ),
E busy the total energy consumed for all machines to work on a workpiece is calculated as follows:
E idle for the total energy consumption for all machine standby states, i.e. idle operation, it is calculated as follows:
E tran the total energy consumption for the transfer of the workpiece is calculated as follows:
E innate for the public energy consumption of the workshop, the method is calculated as follows:
E innate =PgC max
s2, determining constraint conditions of the mathematical model constructed in the step S1;
the constraints of the mathematical model are shown in the following formula:
wherein, the formula (1) ensures that the working procedure is not interrupted, the formula (2) ensures that the finishing time of any workpiece does not exceed the maximum finishing time, the formula (3) ensures that the starting working time of the current working procedure is not less than the finishing working time of the working procedure (or the working procedure set immediately before the working procedure), the formula (4) ensures that the starting working time of any working procedure is not more than the finishing working time of the working procedure, the formula (5) ensures that any working procedure only works once on a machine, the formula (6) ensures that the starting working time of any working procedure is not negative, the working and the finishing working time are more than 0, and the formula (7) ensures that one machine can only work in one working procedure at the same time;
S3, setting coding and decoding based on improved NSGA-III aiming at the constraint of forced operation of the same machine, and then coding a procedure and a machine; the improved NSGA-III is a genetic algorithm, and the coding and decoding modes of the improved NSGA-III are not completely the same as those of the original NSGA-III genetic algorithm;
the way to improve NSGA-III coding is: considering that two problems of process sequencing and machine selection need to be solved, the set code consists of two layers of integer sequences, wherein the upper layer is a sequence for representing a process code (marked as OPlan), the lower layer is a sequence for representing a corresponding machine code (marked as MPlan and the machine set is {1, 2..the M }), and the process code is a process O corresponding to each gene in the modified NSGA-III by a corresponding workpiece ij Process O is shown ij The subscript of (2) is workplace i e {1,2, …, N } and its occurrence j e {1,2, …, N } i A sequence code gene arrangement indicates a chromosome in an improved NSGA-III, the combination sequence number of forced same-machine operation is represented by N+f, f is less than or equal to c, f indicates the frequency of combination sequence in the sequence code, and c indicates the total combination sequence number; in connection with the example of one coding scheme shown in FIG. 2, the tools 1-6 in FIG. 2 are related to the processes 1-10, but only 8 genes are involved in the corresponding coding, because of O 12 And O 22 Is a combined procedure, O 32 And O 42 Are combination steps, and are numbered 7 and 8 respectively;
the method for improving NSGA-III decoding adopts plug-in greedy decoding under the constraint of forced on-machine operation, and comprises the following steps:
s31, setting a matrix MP= { MP [1], MP [2],. The matrix MP [ M ] }, a matrix JP= { JP [1], JP [2],. The matrix MP [ N ] }, all elements in MP and JP are initialized to 0, and setting the time for starting the first process to be t=1;
s32, obtaining a procedure code sequence OPlan [ t ]]Work piece numbers corresponding to the ONs of more than or equal to 1 and less than or equal to t and determining the corresponding working procedures O of the work pieces IJ Obtaining each procedure O in the machine code sequence MPlan IJ Corresponding machine number k, and obtaining procedure O IJ Working time T on machine number k IJk Then calculate process O ij Is a knot of the immediately preceding working procedureMaximum value of beam working time A IJ =max{E i(j-1) },O ij ∈O IJ
S33, inspection Process O IJ Idle time interval t_s, t_e of machine k]T_s is the lower interval limit, and t_e is the upper interval limit;
if max (as IJ ,t_s)+T IJk ≤i_e,O ij ∈O IJ Then there is S IJ =max(as IJ ,t_s)、E IJ =S IJ +T IJk At this time, if (S IJ =t_s)∧(E IJ T_e), delete the interval t_s, t_e]If (S) IJ =t_s)∧(E IJ <t_e), update [ t_s, t_e ]]=[E IJ ,t_e]If (t_s)<S IJ )∧(E IJ =t_e), update [ t_s, t_e ]]=[t_s,S IJ ]If (t_s)<S IJ )∧(E IJ <t_e), update [ t_s, t_e ] ]=[t_s,S IJ ]And inserts a new [ t_s ', t_e ]']=[E IJ ,t_e]、JP[i]=E IJ ,i∈I;
If max (as) IJ ,t_s)+T IJk ≤i_e,O ij ∈O IJ ThenE IJ =S IJ +T IJk At this time, if as IJ >MP′[k]Then newly add the idle time interval i_s, i_e on machine k]=[MP[k],as IJ ],MP[k]=E IJ ,JP[i]=E IJ ,i∈I;
S34, executing t=t+1, if t is less than ON, returning to executing the step S32, otherwise ending the decoding step;
s4, carrying out population initialization based on a mixed selection mechanism fused by the improved NSGA-III and a reference point preferred strategy; the method is characterized by improving a fusion mixing selection mechanism and a reference point selection strategy of NSGA-III, which are used for simultaneously improving the uniformity and individual diversity of population distribution at the Pareto front, generating an initial population by adopting three strategies of Global Selection (GS), local Selection (LS) and Random Selection (RS) aiming at machine coding mixing, and is not completely the same as the original initialization mode of NSGA-III genetic algorithm;
the process of population initialization comprises:
s41, initializing individuals to generate an initial population, wherein the process comprises the following steps:
s411, respectively generating a new empty process code sequence OPlan, a machine code sequence MPlan and a working time sequence TPlan;
s412, if the OPlan length of the process code sequence is equal toStep S415 is performed, otherwise, all processes O unrelated to the forced on-machine operation process are selected ij Inserting i into any position of the sequence OPlan;
S413, if the combination procedure O of the same machine operation is forced IJ When the precursor combination procedure is not adopted, the corresponding codes N+f, f is less than or equal to c are randomly inserted into the procedure code sequence OPlan, otherwise, the combination procedure O is adopted IJ The corresponding code of the precursor combination procedure is before the combination procedure O IJ The corresponding codes n+1, n+2, are inserted in sequence into any feasible position of the sequence code sequence OPlan;
s414, sequentially judging the combination procedure O in the current procedure code sequence OPlan IJ I is E I whether a precursor combination procedure exists;
when the workpiece i has no precursor combination procedure, the combination procedure O is found IJ Position L in the process code sequence OPlan c
If combined procedure O IJ ={O pq ,O yz (p, y represent the corresponding workpiece number, q, z represent the corresponding process number), q-1 p, z-1 y are randomly inserted into position L in the process code sequence OPlan c Previous position, N p -q+1 p, N y -z+1 y are randomly inserted into position L in the sequence OPlan c Later, for the assembly process O with multiple workpieces IJ ={O ij ,O hg ,O pq ,...,O yz Sequentially combining procedure O IJ Each step of the process is inserted with a process code in the same manner as described in the previous paragraph according to the corresponding workpiece numberThe sequence OPlan;
if combined procedure O IJ If the workpiece has a precursor combination procedure, the combination procedure O is directly found out IJ Precursor assembly procedure O of (2) I′J′ For the precursor assembly process O I′J′ ={O ij ,O hg Procedure O of combination IJ ={O iq ,O yz And j<q, there is a precursor combination step O I′J′ Combining procedure O IJ The position L of each of the sequence OPlan c1 、L c2 And L is c1 <L c2 At this time, j-1 i, g-1 h, and z-1 y are randomly inserted into the positions L in the sequence OPlan c1 、L c2 Previously, q-j-1 i were randomly inserted into position L in the sequence OPlan c1 、L c2 Between, N is h G+1 h, N i -q+1 i, N y -z+1 y are randomly inserted into the position L in the sequence OPlan c1 、L c2 Thereafter, for the multi-workpiece assembly process O IJ ={O ij ,O hg ,O pq ,...,O yz Sequentially combining procedure O IJ The step code sequence OPlan is inserted into each step according to the corresponding workpiece number in the same way as described in the previous section;
s415, for a combination procedure O in a procedure code sequence OPlan IJ The corresponding optional machine set is determined, and the process is as follows: setting a random number r=rand (0, 1), if r<0.05, selecting a machine in the set of selectable machines that minimizes the current load, if r<0.1, selecting a machine with the smallest working time in the selectable machine set, or else, randomly selecting from the selectable machine set, then forming a machine coding sequence MPlan, and determining working time of each working procedure so as to generate a working time sequence TPlan;
s42, fusing a mixed selection mechanism and a reference point preferred strategy to screen the population, wherein the process comprises the following steps:
S421, generating a population consisting of 2 XPS individuals by using three strategies of Global Selection (GS), local Selection (LS) and Random Selection (RS), and setting a set for storing Pareto front individuals asWherein PS represents population size;
s422, according to the plug-in greedy decoding mode set in the step S3, a feasible scheduling scheme is obtained and four objective functions f in the step S1 corresponding to the individual are calculated 1 、f 2 、f 3 、f 4 Is classified into individual classes based on the non-dominant ranking of the population based on the values of the four objective functions, and Pareto front sets (F 1 ,F 2 ,F 3 ,...F l ) Where F represents the Pareto-leading-edge individual, and the F subscript represents the number of Pareto-leading-edge individuals, a lower level (F 1 ,F 2 ,...,F l ) The collection is sequentially stored in R until |R| is not less than PS, R is output if |R|=PS, then screening of the initial population is finished, otherwise R=F is set 1 ∪F 2 ,...,∪F l-1 Then, the next step S423 is performed;
s423, creating a reference point: defining a reference point z= (z) on a four-dimensional hyperplane 1 ,z 2 ,z 3 ,z 4 ) A combination of three dimensions X is constructed, X e {0/H,1/H, (h+2)/H }, H being the number of segments on each object, the embodiment preferably sets H to 5, where the set of reference points Z on the four-dimensional hyperplane contains the number of reference points Z as(/>For the number of combinations), for each coordinate value x ij E X, let X ij =x ij - (j-1)/H and h=5, for each coordinate value z ij ∈Z、x ij E X, each reference point z is obtained in the four objective function directions (C max ML, TD, TE) coordinate values: z i1 =x i1 -0、z i2 =x i2 -x i1 、z i3 =x i3 -x i2 、z i4 =1-x i3
S424, performing self-adaptive standardization to reduce different dimension of each targetInfluence: determining the intercept of the hyperplane on four target coordinate systems, correspondingly normalizing to four target functions f corresponding to individuals in the population 1 、f 2 、f 3 、f 4 Divided by the intercept of the hyperplane on the four target coordinate systems, is calculated as follows:
wherein a represents an intercept;
s425, creating a mapping relation between population individuals and reference points: constructing each reference point and originThe rays in the population are obtained, the cosine distance between each individual and each reference point ray is solved for the standardized four objective functions, the reference point pi (R) with the minimum distance between each individual in the population is obtained, the R epsilon R is calculated, and the distance d (R) between each individual and the reference point pi (R) is calculated;
s426, using a manner of niche preservation operation, optimizing individuals from the population: setting k=1; screening a low-level Pareto front set in the reference point set Z (F 1 ,F 2 ,...,F l ) The reference point set J with fewer occurrence times in the front edge of the pattern is obtained by randomly selecting the reference point J' from the reference point set J and obtaining the low-level Pareto front edge F l An individual set Ind closest to the reference point j j′ ={r:π(r)=j′,r∈F l -a }; if it isAnd reference point j' is at the low level Pareto front set (F 1 ,F 2 ,...,F l ) The occurrence frequency of the reference point in the front edge of (2) is 0, then Ind is j′ Is selected d (r.epsilon.R) t ) Minimum individual ind, R t =R t U.Ind, when the reference point j' is in the low-level Pareto front set (F 1 ,F 2 ,...,F l ) The occurrence frequency of the reference point in the front edge of (a) is not 0, then Ind is j′ Optional individuals ind,R t =R t U.Ind, then set k=k+1, Z=Z/j', then return execution to obtain the individual set Ind j′ ={r:π(r)=j′,r∈F l The step of proceeding to the next individual preference until the individual preference for the population is completed; if->Then set z=z/j', k=k+1, then return to executing the acquisition individual set Ind j′ ={r:π(r)=j′,r∈F l The step of proceeding to the next individual preference until the individual preference for the population is completed;
s5, carrying out genetic operation based on the improved NSGA-III under the constraint of forced same machine operation, and carrying out chromosome cross mutation on the population to generate a new generation population; improving the operation of the chromosome cross mutation of NSGA-III, which is not identical to the original chromosome cross mutation of NSGA-III genetic algorithm;
in connection with one example of the chromosomal cross-variation shown in fig. 3 and 4, the process of improving the chromosomal cross-variation of NSGA-III comprises:
S51, crossing the process codes: considering the constraint of forced on-machine operation, the original IPOX crossover cannot meet the procedure code crossover operation of the high-dimensional multi-target generalized job shop scheduling with forced on-machine operation, so that the IPOX is expanded to ensure that individuals generated by iterative updating population all meet the constraint requirement of the forced on-machine operation;
the method comprises the following steps: first, a work piece set J of a combination procedure is constructed 1 Corresponding workpiece set J without combined procedure 2 The method comprises the steps of carrying out a first treatment on the surface of the Duplicating parent P 1 Is included in J 1 Work-to-child C of (C) 1 Parent P 2 Is included in J 2 Work-to-child C of (C) 2 And the position of the workpiece is reserved; duplicating parent P 2 Is included in J 2 Work-to-child C of (C) 1 Parent P 1 Is included in J 1 Work-to-child C of (C) 2 And preserving the order of the workpieces;
s52, crossing machine codes: to increase the diversity of the population, only the working machines used in the working procedures are changed, and all working procedures are usedThe set crossover rate is selected to enter set B, at P 1 、P 2 Find out the working machines corresponding to the same procedure in the set B, and then make P 1 、P 2 The corresponding processes in the set B are interchanged in the working machines to generate a child C 1 '、C 2 ';
S53, performing mutation on the process codes after the crossing: the working machine selected in the process is unchanged during mutation, P is divided into c+1 sections by taking a combined process as a dividing point, the number c 'of sections with the gene length larger than or equal to 2 in the process code is found, r=rand (c') is calculated, then the r section with the gene length larger than or equal to 2 in the process code is selected for mutation, two position points in the r section are randomly selected, and the process O in two positions is performed ij 、O i′k′ Exchanging, and respectively acquiring all process sets O of the workpieces i and i' of the r-th section in P i 、O i′ Determination of O i 、O i′ Corresponding machine set M in P i 、M i′ Collect machines M i 、M i′ Sequentially distributing the machines in the (a) to corresponding processes of workpieces i and i' in the (r) th section respectively to generate a child C;
s54, performing mutation on the crossed machine codes: randomly selecting a location on the crossed chromosome, randomly selecting another machine from the set of selectable machines that is different from the current one;
generating a new generation population after the cross mutation operation;
s6, non-dominant sorting is carried out on the population of the new generation, and then offspring are optimized based on a reference point preferred strategy; in this embodiment, the non-dominant ranking and reference point preference policy of step S6 are preferably performed, and the same operations as steps S422, S423, S424, S425, and S426 are sequentially performed;
s7, judging whether the offspring individuals optimized in the step S6 meet the termination condition, namely whether the maximum iteration times of the population are reached, if yes, executing the step S8, otherwise, returning to sequentially executing the steps S5 and S6, and returning to the step S7;
and S8, after the maximum iteration number of the population is reached, decoding the process codes and the machine codes according to the decoding mode of the step S3, outputting a multi-objective optimization result, and giving out a scheduling Gantt chart of related processes and machines to finish the scheduling optimization of the generalized job shop.
As one of cases of the usage scenario of the present embodiment: three product examples of an unmanned plane, a vehicle-mounted navigator and a mobile phone in an electronic product detection workshop are used, wherein the unmanned plane, the vehicle-mounted navigator and the mobile phone are respectively divided into 4 groups, 7 groups and 7 groups (each group is regarded as a workpiece), corresponding process routes are respectively designed for the workpieces, and the specific process routes and product detection information are shown in the following table 2:
table 2 corresponding inspection process information for each product group workpiece
/>
The forced operation procedure of the unmanned aerial vehicle is an alternating salt spray test of the workpieces 1 and 2, the forced operation procedure of the vehicle-mounted navigator and the mobile phone is a drop impact test of the workpieces 1 and 2 and a dust test of the workpieces 3 and 4 after the workpieces are grouped, the workshop fixed power in an electronic product detection workshop is 43kW, and the power information of the machine is shown in the following table 3:
table 3 power information of machine
/>
The resulting scheduled Gantt chart for this usage scenario is shown in FIG. 5.
In a preferred mode of this embodiment, all the corresponding steps of the method are programmed by MatlabR2018b software and run on a computer configured as a 64-bit Windows 10 operating system, an Intel (R) Core (TM) i5-7300HQ CPU@2.50GHz processor and a 12G RAM, where the population size PS of the modified NSGA-III, the maximum iteration number IterMax are set to 100, 80, respectively, and the crossover rate and mutation rate of the modified NSGA-III are set to 0.8 and 0.2, respectively.
Compared with the prior art, the embodiment has the beneficial effects that:
the method solves the problem that the algorithm in the prior art cannot be directly applied to solving the scheduling problem of the high-dimensional multi-target generalized job shop with the forced operation of the same machine, and realizes the function of efficiently scheduling the high-dimensional multi-target generalized job shop under the condition of the forced operation of the same machine.
The above examples are preferred embodiments of the present invention, but the embodiments of the present invention are not limited to the above examples, and any other changes, modifications, substitutions, combinations, and simplifications that do not depart from the spirit and principle of the present invention should be made in the equivalent manner, and the embodiments are included in the protection scope of the present invention.

Claims (10)

1. The generalized job shop scheduling method based on the improved NSGA-III is characterized by comprising the following steps:
s1, constructing a mathematical model of high-dimensional multi-target generalized job shop scheduling with forced same-machine operation;
s2, determining constraint conditions of the constructed mathematical model;
s3, setting coding and decoding based on improved NSGA-III aiming at the constraint of forced operation of the same machine, and then coding a procedure and a machine;
s4, carrying out population initialization based on a mixed selection mechanism fused by the improved NSGA-III and a reference point preferred strategy;
S5, carrying out genetic operation based on the improved NSGA-III under the constraint of forced same machine operation, and carrying out chromosome cross mutation on the population to generate a new generation population;
s6, non-dominant sorting is carried out on the population of the new generation, and then offspring are optimized based on a reference point preferred strategy;
s7, judging whether the preferred offspring individuals meet the termination condition, namely whether the optimal offspring individuals reach the maximum iteration number of the population, if so, executing the next step, otherwise, returning to the step of generating a new generation of population by cross variation;
s8, according to the decoding mode based on the improved NSGA-III, the related process and machine scheduling Gantt chart is output after the process codes and the machine codes are decoded.
2. The generalized job shop scheduling method based on the modified NSGA-III according to claim 1, wherein the mathematical model is constructed based on mixed integer programming based on four goals of maximum run-out time, total machine load, total delay, total energy consumption;
setting mathematical symbols in the mathematical model includes: i, h represents the workpiece sequence number, i, h e {1, 2., N }; j, g represents the process number, j, g e {1,2,., N ] i -a }; k represents the machine number, k e {1,2,., M }; n represents the total number of workpieces; m represents the total number of machines; n (N) i Representing the total number of processes of the workpiece i; i, H represents the serial number of the corresponding workpiece set of the combination procedure; j, G represents the sequence number of the corresponding procedure set of the combined procedure; u represents an infinite real number; o (O) ij A j-th step of indicating a workpiece i; o (O) IJ Indicating the combined procedure, O IJ ={O ij ,O hg ,O pq ,...,O yz };JS IJ Indicating the combined procedure O IJ Corresponding to the workpiece set; OS (operating System) IJ Indicating the combined procedure O IJ Corresponding to the working procedure set; t (T) IJK (T ijk ) Indicating procedure O IJ (O ij ) The working time on machine k; t (T) i Indicating the delivery time of the workpiece i; MS (MS) k Representing the start-up time of machine k; ME (ME) k Representing the start-up time of machine k; p (P) k Representing the operating power of machine k;representing the idle power of machine k; p (P) g Representing the plant fixed power; e (E) t Representing the transfer energy consumption of a single working procedure of a workpiece; c (C) i Indicating the finishing time of the workpiece i; s is S IJ (S ij ) Indicating procedure O IJ (O ij ) Is set to be a starting operation time of the machine; e (E) IJ (E ij ) Indicating procedure O IJ (O ij ) Is a working time of ending; e (E) busy Representing total energy consumption of machine operation time; e (E) idle Representing the total energy consumption of the machine in dead time; e (E) tran Representing total transfer energy consumption of the workpiece; e (E) innate Representing the inherent energy consumption of a workshop; x is X IJk (X ijk ) Indicating procedure O IJ (O ij ) On machine k, the job is 1, otherwise 0; y is Y IJHG Indicating procedure O IJ Prior to O HG 1 in operation, otherwise 0; z is Z i(j-1)k Indicating procedure O ij Immediately preceding Process O i(j-1) On machine k the job is 1, and vice versa is 0.
3. The generalized job shop scheduling method according to claim 2, wherein the step of constructing the mathematical model based on the mixed integer programming method includes:
s11, constructing an objective function f representing the minimized maximum finishing time 1 The following formula is shown:
f 1 =C max ={maxC i },i∈{1,2,...,N};
s12, constructing an objective function f representing the minimized total machine load ML 2 The following formula is shown:
s13, constructing an objective function f representing the minimized total delay TD 3 The following formula is shown:
s14, constructing an objective function f representing the minimized total energy consumption TE 4 Since the total energy consumption TE is mainly determined by the operating state of the machine, the total energy consumption E busy Total energy consumption in idle stateE idle Total transfer energy consumption E of work piece tran And inherent energy consumption E of workshop innate Four-part composition, objective function f of minimized total energy consumption TE 4 The following formula is shown:
f 4 =TE=min(E busy +E idle +E tran +E innate ),
E busy the total energy consumed for all machines to work on a workpiece is calculated as follows:
E idle for the total energy consumption for all machine standby states, i.e. idle operation, it is calculated as follows:
E tran the total energy consumption for the transfer of the workpiece is calculated as follows:
E innate for the public energy consumption of the workshop, the method is calculated as follows:
E innate =P g C max
4. a generalized job shop scheduling method according to claim 3, wherein the constraints of the mathematical model are as follows:
Wherein, formula (1) ensures that the working procedure is not interrupted, formula (2) ensures that the finishing time of any workpiece does not exceed the maximum finishing time, formula (3) ensures that the starting working time of the current working procedure is not less than the finishing working time of the working procedure (or the working procedure set immediately before the working procedure), formula (4) ensures that the starting working time of any working procedure is not more than the finishing working time of the working procedure, formula (5) ensures that any working procedure only works once on a machine, formula (6) ensures that the starting working time of any working procedure is not negative, the working and the finishing working time are more than 0, and formula (7) ensures that one machine can only work in one working procedure at the same time.
5. The generalized job shop scheduling method according to claim 4, wherein the modified NSGA-III coding is performed by:
the set code is composed of two layers of integer sequences, and the upper layer is the code for representing the procedureSequence OPlan, next layer is sequence MPlan representing the corresponding machine code sequence, machine set {1,2,..once., M }, procedure O corresponding to each gene of procedure code with the corresponding work piece ij Process O is shown ij The subscript of (1) is work piece i e {1, 2., N and frequency of occurrence j e {1, 2., N i The arrangement of the genes of one process code represents a chromosome in the modified NSGA-III, the number of the combined process of the forced homologous operation is represented by N+f, f is less than or equal to c, f represents the frequency of the combined process in the process code, and c represents the total number of the combined processes.
6. The modified NSGA-III based generalized job shop scheduling method of claim 5, wherein the modified NSGA-III decoding is performed by a plug-in greedy decoding under a forced on-machine job constraint, comprising the steps of:
s31, setting a matrix MP= { MP [1], MP [2],. The matrix MP [ M ] }, a matrix JP= { JP [1], JP [2],. The matrix MP [ N ] }, all elements in MP and JP are initialized to 0, and setting the time for starting the first process to be t=1;
s32, obtaining a procedure code sequence OPlan [ t ]]Work piece numbers corresponding to the ONs of more than or equal to 1 and less than or equal to t and determining the corresponding working procedures O of the work pieces IJ Obtaining each procedure O in the machine code sequence MPlan IJ Corresponding machine number k, and obtaining procedure O IJ Working time T on machine number k IJk Then calculate process O ij Maximum value A of work time immediately before completion of process IJ =max{E i(j-1) },O ij ∈O IJ
S33, inspection Process O IJ Idle time interval t_s, t_e of machine k]T_s is the lower interval limit, and t_e is the upper interval limit;
if max (as IJ ,t_s)+T IJk ≤i_e,O ij ∈O IJ Then there is S IJ =max(as IJ ,t_s)、E IJ =S IJ +T IJk At this time, if (S IJ =t_s)∧(E IJ =t_e), delete the regionM [ t_s, t_e ]]If (S) IJ =t_s)∧(E IJ < t_e), update [ t_s, t_e ] ]=[E IJ ,t_e]If (t_s < S) IJ )∧(E IJ =t_e), update [ t_s, t_e ]]=[t_s,S IJ ]If (t_s < S) IJ )∧(E IJ < t_e), update [ t_s, t_e ]]=[t_s,S IJ ]And inserts a new [ t_s ', t_e ]']=[E IJ ,t_e]、JP[i]=E IJ ,i∈I;
If max (as) IJ ,t_s)+T IJk ≤i_e,O ij ∈O IJ ThenE IJ =S IJ +T IJk At this time, if as IJ >MP′[k]Then newly add the idle time interval i_s, i_e on machine k]=[MP[k],as IJ ],MP[k]=E IJ ,JP[i]=E IJ ,i∈I;
S34, executing t=t+l, if t < ON, returning to execute step S32, otherwise ending the decoding step.
7. The modified NSGA-III based generalized job shop scheduling method according to claim 6, wherein the process of population initialization comprises:
s41, initializing individuals to generate an initial population;
s42, the mixed selection mechanism and the reference point preferred strategy are fused to screen the population.
8. The modified NSGA-III based generalized job shop scheduling method as set forth in claim 7, wherein the process of generating the initial population includes:
s411, respectively generating a new empty process code sequence OPlan, a machine code sequence MPlan and a working time sequence TPlan;
s412, if the OPlan length of the process code sequence is equal toStep S415 is performed, otherwise, all processes O unrelated to the forced on-machine operation process are selected ij Inserting i into any position of the sequence OPlan;
s413, if the combination procedure O of the same machine operation is forced IJ When the precursor combination procedure is not adopted, the corresponding codes N+f, f is less than or equal to c are randomly inserted into the procedure code sequence OPlan, otherwise, the combination procedure O is adopted IJ The corresponding code of the precursor combination procedure is before the combination procedure O IJ The corresponding codes n+1, n+2, are inserted in sequence into any feasible position of the sequence code sequence OPlan;
s414, sequentially judging the combination procedure O in the current procedure code sequence OPlan IJ I is E I whether a precursor combination procedure exists;
when the workpiece i has no precursor combination procedure, the combination procedure O is found IJ Position L in the process code sequence OPlan c
If combined procedure O IJ ={O pq ,O yz (p, y represent the corresponding workpiece number, q, z represent the corresponding process number), q-1 p, z-1 y are randomly inserted into position L in the process code sequence OPlan c Previous position, N p -q+1 p, N y -z+1 y are randomly inserted into position L in the sequence OPlan c Later, for the assembly process O with multiple workpieces IJ ={O ij ,O hg ,O pq ,...,O yz Sequentially combining procedure O IJ The step code sequence OPlan is inserted into each step according to the corresponding workpiece number in the same way as described in the previous section;
if combining procedure 0 IJ If the workpiece has a precursor combination procedure, the combination procedure O is directly found out IJ Precursor assembly procedure O of (2) I′J′ For the precursor assembly process O I′J′ ={O ij ,O hg Procedure 0 of combination IJ ={O iq ,O yz J < q, with precursor combination procedure O I′J′ Combining procedure O IJ The position L of each of the sequence OPlan c1 、L c2 And L is c1 <L c2 At this time, j-1 i, g-1 h, and z-1 y are randomly inserted into the positions L in the sequence OPlan c1 、L c2 Previously, q-j-1 i were randomly inserted into position L in the sequence OPlan c1 、L c2 Between, N is h G+1 h, N i -q+1 i, N y -z+1 y are randomly inserted into the position L in the sequence OPlan c1 、L c2 Thereafter, for the multi-workpiece assembly process O IJ ={O ij ,O hg ,O pq ,...,O yz Sequentially combining procedure 0 IJ The step code sequence OPlan is inserted into each step according to the corresponding workpiece number in the same way as described in the previous section;
s415, for a combination procedure O in a procedure code sequence OPlan IJ The corresponding optional machine set is determined, and the process is as follows: setting a random number r=rand (0, 1), selecting a machine with the smallest current load in the optional machine set if r is smaller than 0.05, selecting a machine with the smallest operation time in the optional machine set if r is smaller than 0.1, otherwise, randomly selecting the machine from the optional machine set, forming a machine coding sequence MPlan, and determining operation time of each working procedure to generate an operation time sequence TPlan.
9. The modified NSGA-III based generalized job shop scheduling method according to claim 8, wherein the process of screening the population comprises:
s421, generating a population consisting of 2 XPS individuals by using three strategies of Global Selection (GS), local Selection (LS) and Random Selection (RS), and setting a set for storing Pareto front individuals asWherein PS represents population size;
s422, according to the plug-in greedy decoding mode set in the step S3, a feasible scheduling scheme is obtained and four objective functions f in the step S1 corresponding to the individual are calculated 1 、f 2 、f 3 、f 4 According to the values of four objective functionsNon-dominant ranking of populations to rank individuals, outputting Pareto front sets of each rank (F 1 ,F 2 ,F 3 ,...F l ) Where F represents the Pareto-leading-edge individual, and the F subscript represents the number of Pareto-leading-edge individuals, a lower level (F 1 ,F 2 ,...,F l ) The collection is sequentially stored in R until |R| is not less than PS, R is output if |R|=PS, then screening of the initial population is finished, otherwise R=F is set 1 ∪F 2 ,...,∪F l-1 Then, the next step S423 is performed;
s423, creating a reference point: defining a reference point z= (z) on a four-dimensional hyperplane 1 ,z 2 ,z 3 ,z 4 ) Constructing a combination of three dimensions X, wherein X is {0/H,1/H,., (H+2)/H }, H is the number of segments on each target, and the number of reference points Z contained in a reference point set Z on a four-dimensional hyperplane is the number of combinations For each coordinate value x ij E X, let X ij =x ij - (j-1)/H for each coordinate value z ij ∈Z、x ij E X, each reference point z is acquired in four target directions (C max ML, TD, TE) coordinate values: z i1 =x i1 -0、z i2 =x i2 -x i1 、z i3 =x i3 -x i2 、z i4 =1-x i3
S424, performing adaptive normalization to reduce the influence of different dimension of each target: determining the intercept of the hyperplane on four target coordinate systems, correspondingly normalizing to four target functions f corresponding to individuals in the population 1 、f 2 、f 3 、f 4 Divided by the intercept of the hyperplane on the four target coordinate systems, is calculated as follows:
wherein a represents an intercept;
s425, creating a mapping relation between population individuals and reference points: constructing each reference point and originThe rays in the population are obtained, the cosine distance between each individual and each reference point ray is solved for the standardized four objective functions, the reference point pi (R) with the minimum distance between each individual in the population is obtained, the R epsilon R is calculated, and the distance d (R) between each individual and the reference point pi (R) is calculated;
s426, using a manner of niche preservation operation, optimizing individuals from the population: setting k=1; screening a low-level Pareto front set in the reference point set Z (F 1 ,F 2 ,...,F l ) The reference point set J with fewer occurrence times in the front edge of the pattern is obtained by randomly selecting the reference point J' from the reference point set J and obtaining the low-level Pareto front edge F l An individual set Ind closest to the reference point j j′ ={r:π(r)=j′,r∈F l -a }; if it isAnd reference point j' is at the low level Pareto front set (F 1 ,F 2 ,...,F l ) The occurrence frequency of the reference point in the front edge of (2) is 0, then Ind is j′ Is selected d (r.epsilon.R) t ) Minimum individual ind, R t =R t U.Ind, when the reference point j' is in the low-level Pareto front set (F 1 ,F 2 ,...,F l ) The occurrence frequency of the reference point in the front edge of (a) is not 0, then Ind is j′ In the optional individuals ind, R t =R t U.Ind, then set k=k+1, Z=Z/j', then return execution to obtain the individual set Ind j′ ={r:π(r)=k′,r∈F l The step of proceeding to the next individual preference until the individual preference for the population is completed; if->Then set z=z/j', k=k+1, then return to executing the acquisition of the individual setInd j′ ={r:π(r)=j′,r∈F l The step of proceeding to the next individual preference until the individual preference for the population is completed.
10. The modified NSGA-III based generalized job shop scheduling method according to claim 9, wherein the modified NSGA-III based chromosomal cross-variation process comprises:
s51, crossing the process codes: first, a work piece set J of a combination procedure is constructed 1 Corresponding workpiece set J without combined procedure 2 The method comprises the steps of carrying out a first treatment on the surface of the Duplicating parent P 1 Is included in J 1 Work-to-child C of (C) 1 Parent P 2 Is included in J 2 Work-to-child C of (C) 2 And the position of the workpiece is reserved; duplicating parent P 2 Is included in J 2 Work-to-child C of (C) 1 Parent P 1 Is included in J 1 Work-to-child C of (C) 2 And preserving the order of the workpieces;
s52, crossing machine codes: changing only the working machines used in the working steps, selecting all working steps into a set B at a set crossing rate, and at P 1 、P 2 Find out the working machines corresponding to the same procedure in the set B, and then make P 1 、P 2 The corresponding processes in the set B are interchanged in the working machines to generate a child C 1 ′、C 2 ′;
S53, performing mutation on the process codes after the crossing: the working machine selected in the process is unchanged during mutation, P is divided into c+1 sections by taking a combined process as a dividing point, the number c 'of sections with the gene length larger than or equal to 2 in the process code is found, r=rand (c') is calculated, then the r section with the gene length larger than or equal to 2 in the process code is selected for mutation, two position points in the r section are randomly selected, and the process O in two positions is performed ij 、O i′j′ Exchanging, and respectively acquiring all process sets O of the workpieces i and i' of the r-th section in P i 、O i′ Determination of O i 、O i′ Corresponding machine set M in P i 、M i′ Collect machines M i 、M i′ The machines in (a) are respectively distributed in turnGenerating a child C for corresponding working procedures of the workpieces i and i' of the r section;
s54, performing mutation on the crossed machine codes: one position on the chromosome after crossing is randomly selected, and another machine different from the current machine is randomly selected from the selectable machine set.
CN202410141376.8A 2024-01-31 2024-01-31 Generalized job shop scheduling method based on improved NSGA-III Pending CN117875669A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410141376.8A CN117875669A (en) 2024-01-31 2024-01-31 Generalized job shop scheduling method based on improved NSGA-III

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410141376.8A CN117875669A (en) 2024-01-31 2024-01-31 Generalized job shop scheduling method based on improved NSGA-III

Publications (1)

Publication Number Publication Date
CN117875669A true CN117875669A (en) 2024-04-12

Family

ID=90592044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410141376.8A Pending CN117875669A (en) 2024-01-31 2024-01-31 Generalized job shop scheduling method based on improved NSGA-III

Country Status (1)

Country Link
CN (1) CN117875669A (en)

Similar Documents

Publication Publication Date Title
CN111242503B (en) Multi-target flexible job shop scheduling method based on two-layer genetic algorithm
CN113034026B (en) Q-learning and GA-based multi-target flexible job shop scheduling self-learning method
Rohaninejad et al. A hybrid multi-objective genetic algorithm based on the ELECTRE method for a capacitated flexible job shop scheduling problem
Jiang et al. Energy-efficient scheduling of flexible job shops with complex processes: A case study for the aerospace industry complex components in China
CN111382915B (en) Flexible job shop scheduling method for co-fusion AGVs
CN112381273B (en) Multi-target job shop energy-saving optimization method based on U-NSGA-III algorithm
CN112561194A (en) Production and logistics integrated scheduling method and system for hybrid flow shop
CN111290283A (en) Additive manufacturing single machine scheduling method for selective laser melting process
CN112766659A (en) Distributed hybrid flow shop scheduling method, medium and system
Zhang et al. Effective genetic approach for optimizing advanced planning and scheduling in flexible manufacturing system
CN117555305B (en) NSGAII-based multi-target variable sub-batch flexible workshop job scheduling method
CN115169798A (en) Distributed flexible job shop scheduling method and system with preparation time
Hendizadeh et al. Bi-criteria scheduling of a flowshop manufacturing cell with sequence dependent setup times
CN111652392B (en) Low-carbon efficient disassembly line balance optimization method for waste mobile terminal
CN117875669A (en) Generalized job shop scheduling method based on improved NSGA-III
CN115936342A (en) Flexible job workshop batch scheduling method based on multi-objective algorithm
CN115456268A (en) Guide roller manufacturing resource optimal allocation method, device, equipment and medium
CN116070826A (en) Scheduling method for parallel machine of spraying operation of wagon body
Zhipeng et al. Small-world optimization algorithm and its application in a sequencing problem of painted body storage in a car company
CN115700647A (en) Workshop flexible operation scheduling method based on tabu search genetic algorithm
US20080051922A1 (en) Intelligent 3D fixture design method
CN118068785A (en) Generalized job shop scheduling method based on improved whale optimization algorithm
Erbao et al. A differential evolution & genetic algorithm for vehicle routing problem with simultaneous delivery and pick-up and time windows
CN116974245A (en) Inconsistent batch flow flexible job shop scheduling method and system
CN116976228B (en) Method for planning task of double-side dismantling line of retired electromechanical product

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination