CN110909787B - Method and system for optimizing multi-target batch scheduling based on cluster evolution algorithm - Google Patents

Method and system for optimizing multi-target batch scheduling based on cluster evolution algorithm Download PDF

Info

Publication number
CN110909787B
CN110909787B CN201911133581.5A CN201911133581A CN110909787B CN 110909787 B CN110909787 B CN 110909787B CN 201911133581 A CN201911133581 A CN 201911133581A CN 110909787 B CN110909787 B CN 110909787B
Authority
CN
China
Prior art keywords
population
batch
individuals
current
machine
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.)
Active
Application number
CN201911133581.5A
Other languages
Chinese (zh)
Other versions
CN110909787A (en
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.)
Anhui University
Original Assignee
Anhui 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 Anhui University filed Critical Anhui University
Priority to CN201911133581.5A priority Critical patent/CN110909787B/en
Publication of CN110909787A publication Critical patent/CN110909787A/en
Application granted granted Critical
Publication of CN110909787B publication Critical patent/CN110909787B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Abstract

The invention provides a method for optimizing multi-objective batch scheduling based on a cluster-based evolutionary algorithm, which comprises the following steps of S1: initializing a population scale N, a maximum iteration number MaxItation, a recombination pairing probability S, a population P, a pareto solution set A and an iteration number t=1; s2: calculating a population target value by using a decoding rule and local optimization; s3: clustering the target values; s4: performing cross mutation on the population P based on the clustering result to generate a child population Q, and calculating a target value of the child population Q; s5: updating the set A, executing selection operation to update the population P, and updating the recombination pairing probability S based on the updated population P; s6: if t < maxItation, t=t+1, jump to S2, otherwise set A is output. The invention also provides a system for multi-target batch scheduling, and the method and the system for multi-target batch scheduling optimization based on the clustering-based evolutionary algorithm provided by the invention have the advantages that: a reliable solution is provided for the batch scheduling problem in the production process.

Description

Method and system for optimizing multi-target batch scheduling based on cluster evolution algorithm
Technical Field
The invention relates to the technical field of batch scheduling optimization, in particular to a method and a system for multi-objective batch scheduling optimization based on a clustering-based evolutionary algorithm.
Background
The scheduling plays an important role in actual production and manufacture, and no matter how resources are allocated, the scheduling is not needed, because the reasonable scheduling can meet the demand targets of people. At present, the method has practical scheduling application in the aspects of steel production, integrated production, cloud computing, medical industry, textile industry and the like. One type of scheduling problem is called a batch processor scheduling problem, which is originally generated in the final production process of semiconductor chips, unlike a classical scheduling problem, a plurality of workpieces can be processed simultaneously on one machine, and the workpieces also have batch decisions, so that the processing sequence of batches is also required to be studied sometimes. The existing batch scheduling problems are basically NP-difficult combined optimization problems, the combination optimization problems are usually solved by adopting a meta-heuristic algorithm, and the solving method is closely related to the specific problems.
With the proposal of the concept of green manufacturing, the current environmental protection and energy consumption become two problems which are necessary to be considered in the production and manufacturing process, and the batch scheduling problem is closely related to the actual production and manufacturing, so that in the research process of the batch scheduling problem, besides the research of the traditional target value, the energy consumption naturally becomes a new research target value and becomes the hot content of the research. For manufacturing enterprises, the reduction of energy consumption not only protects the environment, but also reduces the manufacturing cost of the enterprises to a certain extent, which is a win-win situation. It is thus of great practical importance to study conventional standards and to consider the reduction of energy consumption. The most direct energy consumption is the power consumption of the machine at present, and the unit electricity price is changed in different time periods, and the processing and idle power of the machine are different, so that the energy consumption can be reduced by reasonably arranging the processing sequence of the machine in batches.
The batch scheduling research considering the electricity price cost is less than the research of the traditional target value, and under the batch scheduling problems of the difference of machine speed and the dimension attribute of the workpiece, the work of reducing the electricity price cost is less, and the situation is definitely existing in the actual production process, so the method is worthy of further research.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a batch scheduling optimization method comprising a self-adaptive clustering and evolutionary algorithm, so that the working time and electricity price cost of a batch scheduling scheme are considered; and realizing multi-objective optimization.
The invention solves the technical problems through the following technical scheme:
a method for optimizing multi-objective batch scheduling based on a cluster evolution algorithm,
s1: initializing a population scale N, a maximum iteration number MaxItation and a recombination pairing probability S; initializing a population P and a pareto solution set A based on the processed workpiece, wherein individuals of the population P and the set A represent a workpiece sequence, and the initialization iteration times t=1;
s2: executing a decoding rule on the population P to obtain scheduling schemes of all individuals, adjusting each scheduling scheme through local optimization, and calculating target values of the scheduling schemes;
S3: clustering the target value of the population P by utilizing the self-adaptive clustering;
s4: selecting a crossed variant object for individuals in the population P based on the clustering result to generate a child population Q, and calculating a target value of the child population Q by using a decoding rule and local optimization;
s5: using Parector individuals of the parent population P and the offspring population Q to update the set A, executing selection operation on the parent population P and the offspring population Q to update the population P, and updating the recombination pairing probability S based on the updated population P;
s6: if t < maxItation, t=t+1, jump to S2, otherwise set A is output.
Preferably, the method for initializing the population P in S1 is as follows: and (3) respectively arranging according to the ascending order, the descending order and the ascending order of the arrival time of the processing time to obtain three individual workpiece sequences, and randomly generating the workpiece sequences of the rest individuals.
Preferably, any population x= { X is determined in S2 and S4 using the decoding rule described n |n∈[1,N]Individuals X in } n The corresponding workpiece sequence is converted into a scheduling scheme X' n The specific method comprises the following steps:
step i: initializing n=1, scheduling scheme set
Figure BDA0002277619330000021
Step ii: sequentially combining X n The work pieces in the batch which can accommodate the work pieces and has the smallest residual capacity are put into the batch, if no batch meeting the conditions exists, a new batch is created to put the current work pieces until all the work pieces are distributed;
Step iii: arranging all batches in ascending order according to the arrival time of the batches;
step iv: distributing the current batch to the machine with the earliest finishing time, and selecting the machine with the fastest processing speed if a plurality of machines meet the conditions;
step v: returning to step iv until all batches have been allocated to the machine, the current individual X n Corresponding scheduling scheme X' n Adding a set X';
step vi: if N < N, let n=n+1, return to step ii, otherwise output set X';
where the capacity of the new lot is equal to the machine capacity MC.
Preferably, the method for locally optimizing and adjusting the scheduling scheme and calculating the target value in S2 and S4 is as follows:
step I: inputting a scheduling scheme set X', obtaining the total number m of machines and the electricity price EP (t) in a time period t, and initializing n=1 and i=1;
step II: acquiring a current scheduling scheme X' n Upper machine M i Lot number |M of (2) i Initializing k= |m i |;
Step III: when k= |m i I, and meet
PW i ×EP(CT ki +1)+SW i ×EP(ST ki +1)-PW i ×EP(ST ki +1). Ltoreq.0 or CT ki <ST (k+1)i At the time, let ST ki =ST ki +1,CT ki =CT ki +1;
When k is not equal to |M i I, and meet
PW i ×EP(CT ki +1)+SW i ×EP(ST ki +1)-PW i ×EP(ST ki +1)-SW ki ×EP(CT ki +1). Ltoreq.0 or CT ki <ST (k+1)i At the time, let ST ki =ST ki +1,CT ki =CT ki +1;
Wherein PW (pseudo wire) i For machine i processing power, SW i For idle power of machine i, CT ki For the completion time of the kth batch on machine i, ST ki A start processing time for a kth lot on machine i;
CT ki =ST ki +PT ki
ST ki =max{RT ki ,CT (k-1)i }
Wherein PT ki The processing time of the kth batch on machine i is equal to the maximum processing time of all workpieces in the batch and the machineThe ratio of the processing speeds of the machines, i.e.
Figure BDA0002277619330000031
r j For the processing time of the workpiece j, B ki For the kth lot on machine i, v i The machining speed of the machine i;
RT ki for the k-th batch on machine i, which is equal to the maximum arrival time of all the workpieces in the batch, i.e
RT ki =max{p j |j∈B ki }
p j The arrival time of the workpiece j;
step IV: when k is greater than 1, let k=k-1, return to step III;
step V: if i < m, let i=i+1, return to step II, otherwise calculate the current scheduling scheme X' n Target value of (a), i.e. maximum finishing time C max And total electricity price cost TEC;
C max =max{CT ki |i∈[1,m]}
Figure BDA0002277619330000041
current scheduling scheme X' n Corresponding target value x n Adding the target value set x;
step VI: if N < N, let n=n+1, return to step II, otherwise output target value set x.
Preferably, the method for adaptively clustering the target values in S3 is as follows:
step A: acquiring the current iteration times t and a target value set x;
and (B) step (B): if t=1 ormod (T, T) =0, jumping to the step C for coarse clustering, otherwise jumping to the step D for updating the clustering result;
step C: inputting the target value set into a canopy algorithm to obtain the clustering number K and each class C k ,k∈[1,K]Centroid point m of (2) k
Step D: based on the current centroid point, single clustering is carried out by using a K-means algorithm, and class C is updated k Centroid point m of (2) k
Where mod (T, T) represents the remainder of T/T, and coarse cluster period T is the global variable set in S1.
Preferably, the method for determining a subject for a crossover variant described in S4 is as follows:
step a: acquiring a set p= { P of the population P n |n∈[1,N]Cluster result c= { C for target value set P of population P } k |k∈[1,K]-a }; applying the clustering result C of the target value set P to the population P, and enabling n=1;
step b: if rand (). Ltoreq.S, go to step c, otherwise jump to step d, where rand () represents a random number;
step c: from the current individual P n Class C to which it belongs k Is selected at random for another individual P n′ Performing cross mutation operation to obtain a child sequence Q n Adding into a population Q;
step d: never including the current individual P n Arbitrary class C of (C) k Is selected at random for another individual P n′ Performing cross mutation operation to obtain a child sequence Q n Adding into a population Q;
step e: if N < N, let n=n+1, return to step b, otherwise output population Q.
Preferably, the specific method of cross mutation described in S4 comprises: generating a child sequence through two-point crossover and performing mutation operation on the child sequence through two-point crossover;
The specific method for generating the child sequence through two-point crossover is as follows:
step (1): obtaining parent P n And P n′ Is defined as Q respectively n And Q n′ The sequence length is M;
step (2): if rand (). Gtoreq.pc, then Q n =P n ,Q n′ =P n′ The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, executing the step (3);
step (3): randomly generating twoCrossing points m 1 ,m 2 And 1 < m 1 <m 2 < M for Q n Reserve P n Workpiece sequences at two ends of the intersection point, and workpieces between the intersection points are arranged at P according to corresponding workpieces n′ For Q n′ Reserve P n′ Workpiece sequences between crossing points, the workpieces at both ends of the crossing points being at P according to the corresponding workpieces n Is arranged in sequence;
the method for carrying out mutation operation on the sub-code sequence comprises the following steps:
step (1): extraction of current offspring individuals Q n
Step (2): if rand (). Gtoreq pm, then Q n Unchanged, otherwise, randomly generating two variation points, exchanging Q n Corresponding to the two change points;
wherein pc is the crossover probability, pm is the mutation probability, and both are global variables preset in S1.
Preferably, the method for updating the set a in S5 is as follows: extracting pareto individuals of the parent population P and the offspring population Q in sequence,
when (when)
Figure BDA0002277619330000051
When the current pareto individual is added into the set A;
when (when)
Figure BDA0002277619330000052
If the current pareto individual dominates the partial solutions in the set A, removing the dominated solutions in the set A, and storing the dominated solutions into the current pareto individual; if the solutions in the current pareto individual and the set A are not mutually dominant, the current pareto individual is stored in the set A, and if the current pareto individual is dominant by all the solutions in the set A, no operation is performed; repeating the above operation until the pareto individuals in the parent population P and the offspring population Q are extracted;
The criteria for evaluating whether an individual is innervated is to employ a pareto innervation relationship defined as follows:
F(w)=(f 1 (w),f 2 (w),...,f r (w) If and only if
Figure BDA0002277619330000053
And is also provided with
Figure BDA0002277619330000054
When we call w dominate u, where C max And TEC are respectively equal to f 1 (w) and f 2 (w), i.e
F(w)=(C max ,TEC)
Pareto individuals are one or more solutions that are not dominated by other individuals throughout the population.
Preferably, the method for updating the population P in S5 is to select the individuals of the updated population P from the current population P and the offspring population Q by using the selection operation of the classical NSGA-II algorithm;
the method for updating the recombination pairing probability S comprises the following steps:
defining a new solution contribution value (t) generated by executing the cross mutation operation in the step S4 in the t-th iteration process as follows:
Figure BDA0002277619330000055
wherein g 1 (t) represents the number of individuals, g, in the updated population P, obtained by cross-mutation using the method of step c 2 (t) represents the number of individuals in the updated population P obtained by cross-mutation using the method of step d;
the recombination pairing probability S is updated once every L generations, and the method is that
Figure BDA0002277619330000061
Wherein t is the current iteration number, and the probability update cumulative algebra L is the global variable preset in S1.
The invention also provides a system for optimizing multi-objective batch scheduling based on the evolutionary algorithm of clustering, which comprises
An initialization module: initializing a population scale N, the maximum iteration number MaxItation and the recombination pairing probability S, initializing a population P and an initialization pareto solution set A based on a processed workpiece, wherein individuals of the population P and the set A represent workpiece sequences, and the initialization iteration number t=1;
and a scheduling optimization module: executing a decoding rule on the population P to obtain scheduling schemes of all individuals, adjusting each scheduling scheme through local optimization and calculating a target value;
and a clustering module: clustering the target value of the population P by utilizing the self-adaptive clustering;
and a progeny evolution module: selecting a crossed variant object for individuals in the population P based on the clustering result to generate a child population Q, and calculating a target value of the child population Q by using a decoding rule and local optimization;
and a data updating module: using Parector individuals of the parent population P and the offspring population Q to update the set A, executing selection operation on the parent population P and the offspring population Q to update the population P, and updating the recombination pairing probability S based on the updated population P;
and an iteration output module: if t < MaxItation, t=t+1, returning to the scheduling optimization module, otherwise outputting the set A.
The method and the system for carrying out multi-target batch scheduling optimization based on the cluster-based evolutionary algorithm have the advantages that: the method has the advantages that the distribution information of the population is extracted through self-adaptive clustering, the recombination of the population is guided based on the information and the recombination mating probability, the recombination mating probability can be dynamically adjusted according to the historical information, the diversity of population evolution is increased, various batch scheduling schemes can be provided for evaluation and selection, the size information of machines and workpieces is considered, and a reliable solution is provided for batch scheduling problems in the production process.
Drawings
FIG. 1 is a graph showing the distribution of solutions of the CBEA algorithm and the comparative algorithm provided in the example 300-3-1-8;
FIG. 2 is a graph showing the distribution of solutions of the CBEA algorithm and the comparative algorithm provided in the example 200-5-1-3;
FIG. 3 is a graph showing the distribution of solutions of the CBEA algorithm and the comparative algorithm on the samples 100-5-s-9 according to the embodiment of the present invention.
Detailed Description
The present invention will be further described in detail below with reference to specific embodiments and with reference to the accompanying drawings, in order to make the objects, technical solutions and advantages of the present invention more apparent.
When the embodiment explains the scheme, partial local variables with the same form exist, and when the variables with the same form conflict at different positions, the definition of the local algorithm where the variables with the same form exist is used as the reference; the specific steps are distinguished in different ways for convenience of distinction, it should be understood that the different expressions are merely for distinguishing between different steps, whether in an overall algorithm or a partial algorithm, and are not intended to limit the order between steps.
The problem to be solved in the present application is a dual-objective batch scheduling problem, that is, minimizing the maximum finishing time and the total electricity price cost, while the multi-objective batch scheduling problem is essentially equivalent to a discrete multi-objective optimization problem, the solution on the continuous problem cannot be directly applied, and it is well known that the evolutionary algorithm is commonly used to solve the multi-objective optimization problem, and the effect is ideal, and at the same time, many solutions are generated in the iterative process of the evolutionary algorithm, and the solutions themselves hide some information related to the problem, so we want to be able to mine the hidden information and apply the hidden information to the algorithm through a certain strategy. Therefore, an evolutionary algorithm is adopted, and an adaptive clustering strategy is combined, so that a new cluster-based evolutionary algorithm, which is called as a CBEA algorithm, is obtained, the problem of double-target batch scheduling is solved, and before the algorithm is explained, a problem model aimed by the algorithm is simplified, and the basic rule of the batch scheduling problem is described as follows:
(1) Each workpiece j has three properties: time of arrival p j Processing time r j And size s j Each machine i has four attributes: machine capacity MC, machine speed v i Processing power PW i And idle power SW i
(2) Define the collection of lots as B, where at machine iThe B th lot of the upper process is denoted as B bi The method comprises the steps of carrying out a first treatment on the surface of the Batch B bi Processing time PT of (2) bi Equal to the ratio of the maximum processing time of all the workpieces in the batch to the processing speed of the machine in which it is located, i.e.
Figure BDA0002277619330000071
Time of arrival RT bi Equal to the maximum arrival time of all workpieces in the batch, i.e. RT bi =max{r j |j∈B bi -a }; the maximum capacity of the batch is the capacity MC of the machine, while the sum of all the workpiece sizes in the batch must not exceed the machine capacity, i.e.>
Figure BDA0002277619330000072
(3) When a lot is distributed to a machine, a start processing time ST of the lot bi Equal to the maximum of the arrival time of the batch and the completion time of the last batch, i.e. ST bi =max{RT bi ,CT (b-1)i -a }; time of completion CT bi Equal to the sum of the start machining time and the machining time, i.e. CT bi =ST bi +PT bi
(4) Each workpiece can only be placed in one batch and only in one machine; the batch does not allow any operations to be performed on it during processing;
(5) Optimization objective is to minimize maximum finishing time C max And total electricity price cost TEC.
The embodiment provides a method for optimizing multi-objective batch scheduling based on a cluster-based evolutionary algorithm, which comprises the following steps:
S1: based on experience initialization population scale N, maximum iteration times MaxItation and recombination pairing probability S, based on processing workpiece initialization population P, the individuals of population P represent workpiece sequences, the method for initializing population P comprises the steps of generating workpiece sequences by special heuristic rules, wherein the method at least comprises three individuals arranged according to processing time ascending order, descending order and arrival time ascending order; the remaining individuals use a second initialization method, random order generation.
Initializing pareto solution set a, i.e. setting a as an empty set, and initializing iteration times t=1.
S2: performing a decoding rule on the population P to obtain scheduling schemes of all individuals, adjusting each scheduling scheme through local optimization, and then calculating a target value of the adjusted scheduling scheme;
decoding rules: the decoding rule is to select any group x= { X n |n∈[1,N]Individuals X in } n The corresponding workpiece sequence is converted into a batch scheme, and the batches are distributed to different machines, thereby obtaining a scheduling scheme X n The specific method is as follows:
step i: initializing n=1, scheduling scheme set
Figure BDA0002277619330000081
Step ii: sequentially combining X n The work pieces in the batch which can accommodate the work pieces and has the smallest residual capacity are put into the batch, if no batch meeting the conditions exists, a new batch is created to put the current work pieces until all the work pieces are distributed;
Step iii: arranging all batches in ascending order according to the arrival time of the batches;
step iv: distributing the current batch to the machine with the earliest finishing time, and selecting the machine with the fastest processing speed if a plurality of machines meet the conditions;
step v: returning to step iv until all batches have been allocated to the machine, the current individual X n Corresponding scheduling scheme X' n Adding a set X';
step vi: if N is less than N, let n=n+1, return to step ii, otherwise output the scheduling scheme set X';
where the capacity of the new lot is equal to the machine capacity MC.
Local optimization: the method for adjusting the scheduling scheme and calculating the target value of the scheduling scheme through local optimization comprises the following steps:
step I: inputting a scheduling scheme set X', obtaining the number m of machines and the electricity price EP (t) in a time period t, and initializing n=1 and i=1;
step II: acquiring a current scheduling scheme X' n Machine M of (2) i Quantity of lots |M i I, initialize k= |m i |;
Step III: since the unit electricity prices are different in different time periods, the maximum finishing time C is within a reasonable time range max Under the condition of no change, the aim of reducing the TEC can be achieved by adjusting the processing sequence of batches on the machine. The specific operation is that the current batch is sequentially moved backwards according to unit time within the period of time that the current batch is finished and the next batch is started to process until the electricity price cost can be reduced, and the specific method is as follows:
When k= |m i I, and meet
PW i ×EP(CT ki +1)+SW i ×EP(ST ki +1)-PW i ×EP(ST ki +1). Ltoreq.0 or CT ki <ST (k+1)i At the time, let ST ki =ST ki +1,CT ki =CT ki +1;
When k is not equal to |M i I, and meet
PW i ×EP(CT ki +1)+SW i ×EP(ST ki +1)-PW i ×EP(ST ki +1)-SW ki ×EP(CT ki +1). Ltoreq.0 or CT ki <ST (k+1)i At the time, let ST ki =ST ki +1,CT ki =CT ki +1;
Wherein PW (pseudo wire) i For machine i processing power, SW i For idle power of machine i, CT ki For the completion time of the kth batch on machine i, ST ki A start processing time for a kth lot on machine i;
CT ki =ST ki +PT ki
ST ki =max{RT ki ,CT (k-1)i }
wherein PT ki For the k-th batch on machine i, which is equal to the ratio of the maximum processing time of all the workpieces in the batch to the processing speed of the machine in which it is located, i.e
Figure BDA0002277619330000091
r j For the processing time of the workpiece j, B ki For the kth lot on machine i, v i The machining speed of the machine i;
RT ki for the k-th batch on machine i, which is equal to the maximum arrival time of all the workpieces in the batch, i.e
RT ki =max{p j |j∈B ki }
p j The arrival time of the workpiece j;
step IV: when k is greater than 1, let k=k-1, return to step III;
step V: if i < m, let i=i+1, return to step II, otherwise calculate the current scheduling scheme X' n Target value of (a), i.e. maximum finishing time C max And total electricity price cost TEC;
C max =max{CT ki |i∈[1,m]}
Figure BDA0002277619330000101
current scheduling scheme X' n Corresponding target value x n Adding the target value set x;
step VI: if N < N, let n=n+1, return to step II, otherwise output target value set x.
Specifically, in step S2, when the population P is operated, the population P needs to be assigned to the set X, i.e., x=p, and after decoding and local optimization to form a scheduling scheme, the scheduling scheme X ' and the target value X of the set X are assigned to the population P, i.e., P ' =x ', p=x.
S3: clustering the target value of the population P by utilizing the self-adaptive clustering; the following is given as a general set of target values x= { x n |n∈[1,N]A method of adaptive clustering is described;
step A: obtaining the current iteration times t and a target value set x= { x n |n∈[1,N]};
And (B) step (B): if t=1 ormod (T, T) =0, jumping to the step C for coarse clustering, otherwise jumping to the step D for updating the clustering result;
wherein mod (T, T) represents the remainder of T/T; i.e. performing coarse clustering once every iteration T times, and clustering by using a K-means algorithm at the rest, wherein the coarse clustering period T is an empirical value, and the preferred embodiment initializes T=10 in S1;
step C: inputting the target value set into a Canopy algorithm to obtain the number K of clusters and each class C k ,k∈[1,K]Centroid point m of (2) k
This step is to call the Canopy algorithm existing in the prior art, and for ease of understanding, a specific procedure is given here:
a) The method comprises the following steps Set target value x= { x n |n∈[1,N]Store in List and initialize k=0;
b) The method comprises the following steps Randomly selecting a point x from a List i And calculate other points x in the List n To point x i Euclidean distance d;
c) The method comprises the following steps All d < T 1 Generates a new canopy k ={x n |dis(x n ,x i ) < T1}, dis (a, b) represents the Euclidean distance between a and b, let K=K+1, and then remove d < T from List 2 Is a point of (2);
d) The method comprises the following steps Judging whether the List is empty or not, and idling e); otherwise, turning to b);
e) The method comprises the following steps For each canopy k (k=1, 2,., K), calculate its centroid point
Figure BDA0002277619330000111
In the present embodiment, the parameter T is only calculated 1 And T 2 The values of (2) are defined, the rest are default values; wherein T is 1 =2T 2 ,T 2 Is the average of the euclidean distances between all individuals in the target value set x.
Step D: based on the current centroid point, single clustering is carried out by using a K-means algorithm, and class C is updated k Centroid point m of (2) k
Also, this is a method of invoking the K-means algorithm of the prior art, which is:
a) The method comprises the following steps Will x n (n=1, 2,) N is assigned to class C k Wherein
Figure BDA0002277619330000112
argmin represents the position corresponding to the minimum value, dis (x n ,m j ) Is x n And m j Euclidean distance between them;
b) The method comprises the following steps For each class C k Updating centroid points thereof
Figure BDA0002277619330000113
When clustering a set P of target values of a population P, the set P needs to be assigned to the set x, i.e. x=p.
Most clustering algorithms generally need to specify the corresponding classification number in advance, and the clustering result has a certain relation with the classification number specified in advance, but sometimes the classification number is not well determined in advance, which obviously affects the performance of the clustering algorithm. It is desirable that the number of cluster classifications be dynamically adjusted based on the current population, and that this dynamic adjustment be as accurate as possible and that the process be less complex. Thus, the target value of the population is clustered by adopting a Canopy+K-means algorithm, and firstly, the K-means algorithm is a classical clustering algorithm based on division, but has some disadvantages: 1. the selection of the initial centroid point has blindness and randomness; 2. the clustering number needs to be determined in advance, and the Canopy algorithm is a coarse clustering algorithm, namely the optimal clustering number can be simply and rapidly given, but the accurate clustering result cannot be given, so that the two algorithms can be combined with each other to make up for the shortages. In addition, each clustering process can be converged after a large number of iterative operations are required, which inevitably increases time consumption, and in order to reduce the time consumption, the iterative process of the clustering algorithm is integrated into the evolutionary process, namely, the clustering algorithm can gradually mine the distribution information while searching the evolutionary algorithm. In short, the Canopy algorithm can give a more reasonable initial centroid point, eliminate the dependence of the K-means algorithm on priori knowledge, and then cluster target values of the population by the K-means algorithm based on the initial centroid point according to the current iteration condition, so that an accurate clustering result is obtained.
It should be noted that, as iterative evolution proceeds, the whole population is likely to be distributed into one class by the Canopy algorithm, which affects the execution of heterogeneous intersections in subsequent intersection variations, and for this problem, a person skilled in the art may modify the algorithm appropriately, increase the judgment conditions for the number of clusters, force the population into at least two classes when Canopy only obtains one cluster set, and because the whole population can be distributed into one cluster, the standard of forced classification at this time has no requirement, and can be randomly or according to a specific rule, only need to pay attention to ensure that the number of individuals between different classes does not have great differences.
S4: selecting a crossed variant object for individuals in the population P based on the clustering result to generate a child population Q, and calculating a target value of the child population Q by using a decoding rule and local optimization;
the method for determining the cross mutation object comprises the following steps:
step a: acquiring a set p= { P of the population P n |n∈[1,N]Cluster result c= { C for target value set P of population P } k |k∈[1,K]-a }; applying the clustering result C of the target value set P to the population P, and enabling n=1;
step b: if rand (). Ltoreq.S, go to step c, otherwise jump to step d, where rand () represents a random number;
Step c: from the current individual P n Class C to which it belongs k Is selected at random for another individual P n′ Performing cross mutation operation to obtain a child sequence Q n Adding into a population Q;
step d: never including the current individual P n Arbitrary class C of (C) k Is selected at random for another individual P n′ Performing cross mutation operation to obtain a child sequence Q n Adding into a population Q;
step e: if N < N, let n=n+1, return to step b, otherwise output population Q, i.e. the offspring population of current population P.
The local development capacity of the population is enhanced through mating among the same types, the global exploration capacity of the population is promoted through mating among different types, and two mating modes are alternately used through dynamically adjusted recombination pairing probability, so that the balance between development and exploration is ensured as much as possible, and the diversity of the population is improved.
The embodiment also provides a system for performing multi-objective batch scheduling optimization based on the clustering-based evolutionary algorithm, which comprises
An initialization module: initializing a population scale N, the maximum iteration number MaxItation and the recombination pairing probability S, initializing a population P and an initialization pareto solution set A based on a processed workpiece, wherein individuals of the population P and the set A represent workpiece sequences, and the initialization iteration number t=1;
And a scheduling optimization module: executing a decoding rule on the population P to obtain scheduling schemes of all individuals, adjusting each scheduling scheme through local optimization and calculating a target value;
and a clustering module: clustering the target value of the population P by utilizing the self-adaptive clustering;
and a progeny evolution module: selecting a crossed variant object for individuals in the population P based on the clustering result to generate a child population Q, and calculating a target value of the child population Q by using a decoding rule and local optimization;
and a data updating module: using Parector individuals of the parent population P and the offspring population Q to update the set A, executing selection operation on the parent population P and the offspring population Q to update the population P, and updating the recombination pairing probability S based on the updated population P;
and an iteration output module: if t < MaxItation, t=t+1, returning to the scheduling optimization module, otherwise outputting the set A.
The specific working method and principle of the above modules are the same as the batch scheduling optimization method.
Cross variation: because the algorithm solves the combination optimization problem and adopts the coding mode based on the workpiece sequence, the common cross variation mode on the continuous optimization problem cannot be directly applied to the existing problem.
The method for producing a child sequence by cross mutation provided in this example comprises: generating a child sequence through two-point crossover and performing mutation operation on the child sequence through two-point crossover;
The specific method for generating the child sequence through two-point crossover is as follows:
step (1): obtaining parent P n And P n′ Is defined as Q respectively n And Q n′ The sequence length is M;
step (2): if rand (). Gtoreq.pc, then Q n =P n ,Q n′ =P n′ The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, executing the step (3);
wherein pc is the crossover probability, and pc is preset in S1 to make it unchanged in the whole iteration process, i.e. the crossover probability pc is a global variable.
Step (3): randomly generating two crossing points m 1 ,m 2 And 1 < m 1 <m 2 < M for Q n Reserve P n Workpiece sequences at two ends of the intersection point, and workpieces between the intersection points are arranged at P according to corresponding workpieces n′ For Q n′ Reserve P n′ Workpiece sequences between crossing points, the workpieces at both ends of the crossing points being at P according to the corresponding workpieces n Is arranged in sequence;
Figure BDA0002277619330000131
table 1: cross operation schematic table
Taking two sequences of 10 workpieces shown in table 1 as examples, wherein the two sequences are parent1 (2,3,5,6,8,1,9,7,4,10) and parent2 (7,8,1,3,5,2,10,4,9,6) respectively, randomly generated cross point positions are 4 and 8 respectively, for child1, workpiece sequences at two ends of the parent1 cross point are reserved, and workpiece sequences between child1 cross points are arranged according to the sequence of the rest workpieces in parent 2; similarly, for child2, the workpiece sequences between the parent2 crossing points are reserved, and the workpiece sequences at the two ends of the child2 crossing points are arranged according to the sequence of the rest workpieces in parent 1.
The method for carrying out mutation operation on the sub-code sequence comprises the following steps:
step (a)(1): extraction of current offspring individuals Q n
Step (2): if rand (). Gtoreq pm, then Q n Unchanged, otherwise, randomly generating two variation points, exchanging Q n The workpiece corresponding to the two variation points in (1), wherein pm is the variation probability and is also the global variable preset in S1.
Figure BDA0002277619330000141
Table 2: mutation operation schematic table
As shown in Table 2, for the child1 sequences obtained in Table 1, the randomly generated swap positions are 3 and 8, a new child1 sequence shown in the lower part of the table is obtained, the sequence is saved in the child population, and then the cross mutation operation is continuously performed on the next parent individual until all individuals of the population P generate child individuals subjected to the cross mutation operation.
After the cross mutation generates a child population Q, decoding rules and local optimization are needed to be executed on the child population Q to obtain a target value of the child population, the specific method is described above, but Q is needed to be assigned to X before starting, and a result corresponding to the set X is assigned to the set Q after finishing; reference is made to the assignment process of the population P.
S5: updating the pareto solution set A by utilizing pareto individuals of the parent population P and the child population Q, performing selection operation on the parent population P and the child population Q to update the population P, and updating the recombination pairing probability S based on the updated population P;
The method for updating the set A comprises the following steps: extracting pareto individuals of the parent population P and the offspring population Q in sequence,
when (when)
Figure BDA0002277619330000142
When the current pareto individual is added into the set A;
when (when)
Figure BDA0002277619330000143
When the current pareto individual branch isPartial solutions in the matching set A are removed, and the solutions which are subjected to the control in the matching set A are stored in the current pareto individual; if the solutions in the current pareto individual and the set A are not mutually dominant, the current pareto individual is stored in the set A, and if the current pareto individual is dominant by all the solutions in the set A, no operation is performed; repeating the above operation until the pareto individuals in the parent population P and the offspring population Q are extracted;
the criteria for evaluating whether an individual is innervated is to employ a pareto innervation relationship defined as follows:
F(w)=(f 1 (w),f 2 (w),...,f r (w)) if and only if
Figure BDA0002277619330000144
And is also provided with
Figure BDA0002277619330000145
When we call w dominate u. In this example, F (w) = (C max ,TEC),C max And TEC is equivalent to f 1 (w) and f 2 (w), r= 2,w is the individual solution in the population. In addition, pareto individuals not subject to other solutions in the entire population will typically be multiple.
Based on the above method for updating the set a, if the individuals in the set a are dominated by any pareto individuals, all the dominated individuals are deleted, so that a part of known better individuals or individuals corresponding to the scheduling scheme currently used may be put into the set a during the initialization of the set a, and in this embodiment, in order to reduce the complexity of data processing, the set a is preset as an empty set in step S1.
The method for updating the population P adopts the selection operation of a classical NSGA-II algorithm to select the individuals of the updated population P from the current population P and the offspring population Q; the selection operation comprises non-dominant sorting and congestion distance calculation;
the method for updating the recombination pairing probability S comprises the following steps:
defining a new solution contribution value (t) generated by executing the cross mutation operation in the step S4 in the t-th iteration process as follows:
Figure BDA0002277619330000151
wherein g 1 (t) represents the number of individuals, g, in the updated population P, obtained by cross-mutation using the method of step c 2 (t) represents the number of individuals in the updated population P obtained by cross-mutation using the method of step d;
the recombination pairing probability S is updated once every L generations, and the method is that
Figure BDA0002277619330000152
/>
Wherein t is the current iteration number, and the probability update accumulated algebra L is a global variable preset in S1; in order to prevent the searching of the algorithm from being biased towards exploration or development, the introduced constraint condition forces to define the recombination pairing probability, namely, the recombination pairing probability is set to 0.8 when the accumulated new solution contribution degree of the L generation is not more than 0.2L, and the recombination pairing probability is set to 0.2 when the accumulated new solution contribution degree of the L generation is not less than 0.8L.
S6: if t < maxItation, t=t+1, jump to S2, otherwise set A is output.
And in the iteration period, returning to S2 again to perform the next iteration after the new population P is obtained until the preset iteration times MaxItation is reached, and obtaining a pareto solution set A, namely a set of optimal individuals.
Simulation experiment
The performance of the CBEA algorithm provided by this example will be tested by comparison with algorithms related to the prior art, the comparison algorithms being NSGA-II (reference may be made to K Deb, A Pratap, S Agarwal, et al A Fast and Elitist Multi objective Genetic Algorithm: NSGA-II [ J ]. IEEE Transactions on Evolutionary Computation,2002,6 (2): 182-197), MODE (reference may be made to S C Zhou, LXLin, N Du, et al A Multi-objective differenti al evolution algorithm for parallel batch processing machine scheduling considering electrici ty consumption cost [ J ]. Computers and Operations Research,2018, 96:55-68.), APMO (reference may be made to H Zhang, X J Zhang, S M Song, et al an affinity propagation-based multiobjective evolutionary algorithm for selecting optimal aiming points of missiles [ J ]. Soft Computing,2017, 21:3013-3031), the manner of decoding the workpiece sequences for all algorithms being consistent with the methods provided by the above examples, all test examples being randomly generated, the different test examples being based on differences between the workpiece and the machine information, see Table 3.
Factors of Value range Number of values
Workpiece size h 100、200、300 3
Workpiece size s j U[1,15]、U[15,35] 2
Workpiece arrival time r j U[1,LB] 1
Workpiece processing time p j U[8,48] 1
Number of machines m 3、5 2
Machine capacity MC 40 1
Machining power PW 2*v*v 5
Machine idle power SW 1 1
Machine speed v 1、1.5、2、2.5、3 5
Table 3: testing of calculation information
LB in the range of arrival time values of the workpieces in Table 3 is calculated as follows:
LB=ρZ
wherein ρ is a coefficient, ρ=0.1 is set in the experiment provided in the present embodiment, and z represents the sum of all workpiece processing times in the present calculation example; specific reference is made to P Damodaran, M C Velez-gallego. Heuristics for makespan min imization on parallel batch processing machines with unequal job ready times [ J ]. Int J Adv Manuf Technol,2010,49:1119-1128.
In addition, different machines have speed difference, and when the number of the machines is 3, the speeds of 3 machines are 1, 2 and 3 respectively; most of the machines were 5, the machine speeds were 1, 1.5, 2, 2.5, 3, respectively.
Based on the workpiece sizes given in table 3, 6 test cases were randomly generated, each containing 10 test cases, and then tested in an environment of different machine numbers, i.e., a total of 12 test cases. The total electricity price cost relates to electricity price standards, and the electricity price function when Beijing is selected as the standard after the reference of part of documents, and the specific function formula is as follows:
Figure BDA0002277619330000161
The four algorithms for comparison all need to define partial parameters, and the parameters possibly influence the performance of the algorithm, so the fairness of the comparison experiment can be influenced, in order to reduce the influence of the parameters on the performance of the algorithm as much as possible, the experiment parameters in the literature are adopted for the MODE and the APMO algorithms, the NSGA-II algorithm parameters are consistent with the CBEA algorithm parameters provided by the application, and the specific parameters refer to the table 4.
CBEA MODDE NSGA-II APMO
Population size N100 Population size N100 Population size N100 Population size N100
Iteration number MaxItation 500 Iteration number maxItation 500 Iteration number maxItation 500 Iteration number maxItation 500
The crossover probability pc is 0.9 The crossover probability pc is 0.9 The crossover probability pc is 0.9 DE control parameter CF 0.5
Variation probability pm 0.2 Variation probability pm 0.1 Variation probability pm 0.2 DE control parameter CR 1
Initial recombination pairing probability S0.3 Initial mating probability beta of 0.5
Probability update cumulative algebra L10 History length HL 15
Coarse clustering period T10 Maximum iteration number of clustering of 50
The clustering result is kept unchanged for 5 times
Damping coefficient 0.5
Table 4: algorithm parameters
In addition, all algorithms are realized by C++ under a windows10 system and run under a visual studio 2017 integrated development environment, the hardware is a Corei 5.40 GHz processor, the memory is 16GB, and the test cases under each type are run 10 times.
In order to measure the quality of the algorithm, three different indexes are adopted to evaluate the performance of the algorithm, namely the scale, coverage rate and super-volume index of the pareto solution set;
1) Scale of pareto solution set a; for a multi-objective optimization algorithm, more than one solution is obtained, and the more pareto solutions are obtained, the more choices can be provided for a decision maker, and the better the diversity of the algorithm is;
2) Coverage rate; the method is firstly proposed by the document E Ziegler, L Thiele. Multi-objective Evolutionary Algorithms: A C omparative Case Study and the Strength Pareto Approach [ J ]. IEEE Transaction on Evolution ary Computation,1999,3 (4): 257-271. The formula is as follows:
Figure BDA0002277619330000171
c (E, F) represents how many proportions of solutions in solution set F are dominated by solutions in solution set E. The larger the C (E, F) value, the more solutions in the solution set F are dominated by the solutions of the solution set E, i.e. the algorithm for obtaining the solution set E is superior to the algorithm for obtaining the solution set F, wherein C (E, F) E [0,1]. In addition, this index is asymmetric, i.e. C (E, F) +.c (F, E).
3) An ultra-volume index; the method is a commonly used evaluation index of a multi-target evolutionary algorithm, is used for evaluating the approximation degree of the pareto solution set obtained by the algorithm approaching the real pareto front, and is actually used for measuring the convergence of the algorithm, the larger the super-volume value of the pareto solution set of the algorithm is, the better the convergence of the algorithm is, the closer the super-volume value of the algorithm is to the real pareto front, but the calculation of the super-volume value also needs a reference point, the dimension of the reference point is equal to the number of targets required by the problem, and the reference point is set as
Figure BDA0002277619330000172
Wherein->
Figure BDA0002277619330000173
Representing the maximum C in the total pareto solutions obtained by all algorithms over all examples max Value, Z TEC Represents the maximum TEC value in the overall pareto solution.
The results of the simulation tests are shown in tables 5 to 8, wherein the composition of the test example type is the number of work pieces-the number of machines-the size of work pieces, wherein the total number of work pieces is divided into 100, 200, 300, the number of machines is 3 or 5, the size of work pieces is divided into two types of large l and small s, for example, 100-3-l represents 100 work pieces, 3 machines, large-size work pieces, and the other example representations can be understood similarly.
Types of calculation examples CBEA MODDE NSGA-II APMO
100-3-s 2.428E+07 2.412E+07 2.375E+07 2.310E+07
100-5-s 2.400E+07 2.387E+07 2.356E+07 2.309E+07
200-3-s 1.549E+07 1.501E+07 1.419E+07 1.317E+07
200-5-s 1.505E+07 1.471E+07 1.406E+07 1.351E+07
300-3-s 8.434E+06 7.970E+06 6.894E+06 5.906E+06
300-5-s 8.045E+06 7.761E+06 7.033E+06 6.576E+06
100-3-l 1.679E+07 1.680E+07 1.666E+07 1.643E+07
100-5-l 1.915E+07 1.910E+07 1.877E+07 1.859E+07
200-3-l 5.501E+06 5.407E+06 5.272E+06 4.855E+06
200-5-l 8.239E+06 8.005E+06 7.612E+06 7.234E+06
300-3-l 4.627E+05 4.082E+05 3.380E+05 1.832E+05
300-5-l 1.892E+06 1.622E+06 1.281E+06 9.576E+05
avg 1.229E+07 1.206E+07 1.162E+07 1.113E+07
Table 5: super-volume index value
As can be seen from Table 5, the CBEA algorithm provided in this example is superior to the other three algorithms except for the 100-3-1 example; the CBEA algorithm is also optimal from the average super-volume index value, NSGA-II, MODDE, APMO, in turn. Further analysis can find that as the number of workpieces increases, the difference between the hypervolume index value obtained by the CBEA algorithm and the hypervolume index value obtained by other algorithms is larger and larger, and the phenomenon exists in both large workpieces and small workpieces, so that the convergence of the CBEA algorithm is better than that of a comparison algorithm. As for the example 100-3-l, the effect is not optimal, probably because the workpiece size is large, the number of machines and workpieces is small, the workpiece size is large, and the batch has at most two workpieces, so that the batch result obtained by each algorithm is practically poor, the number of machines is small, the sequence of processing on the machines can be different, and finally, the effect is not optimal in the example.
Types of calculation examples CBEA MODDE NSGA-II APMO
100-3-s 8.4 7.2 10 10.6
100-5-s 8 6.2 8.3 8.2
200-3-s 7.7 11.2 11 10.2
200-5-s 7.4 6.5 6.9 9.2
300-3-s 8.4 16.2 11.7 11
300-5-s 6.5 8.7 8.2 9.7
100-3-l 13.9 13.9 12.9 6.9
100-5-l 9.8 9.8 7.7 9.2
200-3-l 17.6 13.3 13.2 6.2
200-5-l 10.6 9.2 10.2 8.8
300-3-l 16.9 9.5 11.3 5.3
300-5-l 12.3 9.3 10.8 9.1
avg 10.6 10.1 10.2 8.7
Table 6: pareto solution set scale
According to table 6, it can be found that for the pareto solution set scale, the CBEA algorithm provided in this embodiment has a significantly smaller effect than the super-volume index value, especially on small-sized workpieces, the proposed algorithm does not dominate, and the 3 algorithms compared respectively dominate several sets of test examples. But its effect is exhibited on large-sized workpieces, with the most average pareto solutions obtained on 6 sets of test examples for large-sized workpieces. The average pareto solution obtained by the algorithm CBEA is the most from the whole test example, so that the diversity of the algorithm is guaranteed to a certain extent, and in addition, the algorithm has room for improvement on small-size workpieces.
Figure BDA0002277619330000191
Table 7: coverage index value of CEBA algorithm and comparison algorithm
Figure BDA0002277619330000192
Table 8: coverage index value between comparison algorithms
Referring to Table 7, it can be found that the C value of CBEA is substantially above 0.98 for NSGA-II, the C value of APMO algorithm is 1, and the C value of MODE algorithm is also above 0.9 except for 100-3-1, which means that the CBEA algorithm provided by this embodiment can cover most solutions of the comparison algorithm, and the C values of the three algorithms NSGA-II, APMO and MODE compared in the reverse calculation are substantially 0 or close to 0 for CBEA, so the solution in the pareto solution set A obtained by the CBEA algorithm provided by this embodiment is significantly better than the comparison algorithm, and in addition, on the 100-3-l test example, neither C (CBEA, MODE) nor C (MODE, CBEA) is too good, which means that the solution obtained by the CBEA is not advantageous in the 100-3-l, so the index value calculated by the 100-3-l example is not good; specific reasons have been previously analyzed in detail. Further observation of the coverage relationship between the algorithms in Table 8 may reveal that the MODE algorithm is superior to NSGA-II and APMO for the problems faced by this example, where NSGA-II is better than APMO and APMO is the worst.
FIGS. 1-3 show partial pareto front plots of the CBEA and the comparative algorithm, from which it can also be seen that the CBEA algorithm provided in this example is significantly better than the comparative algorithm, with FIG. 1 being taken as an example, and 8 in the example 300-3-l-8 representing the 8 th test example result at the 300-3-1 set of examples.

Claims (9)

1. The method for optimizing multi-target batch scheduling based on the clustering evolution algorithm is characterized by comprising the following steps of:
s1: initializing a population scale N, a maximum iteration number MaxItation and a recombination pairing probability S; initializing a population P and a pareto solution set A based on the processed workpiece, wherein individuals of the population P and the set A represent a workpiece sequence, and the initialization iteration times t=1;
s2: executing a decoding rule on the population P to obtain scheduling schemes of all individuals, adjusting each scheduling scheme through local optimization, and calculating a target value of the adjusted scheduling scheme;
s3: clustering the target value of the population P by utilizing the self-adaptive clustering;
s4: selecting a crossed variant object for individuals in the population P based on the clustering result to generate a child population Q, and calculating a target value of the child population Q by using a decoding rule and local optimization;
s5: using Parector individuals of the parent population P and the offspring population Q to update the set A, executing selection operation on the parent population P and the offspring population Q to update the population P, and updating the recombination pairing probability S based on the updated population P;
S6: if t < maxItation, t=t+1, jump to S2, otherwise output set A;
wherein, in the step S2 and the step S4, the arbitrary population x= { X is determined by using the decoding rule n |n∈[1,N]Individuals X in } n The corresponding workpiece sequence is converted into a scheduling scheme X' n The specific method comprises the following steps:
step i: initializing n=1, scheduling scheme set
Figure FDA0004053473700000011
Step ii: sequentially combining X n The work pieces in the batch which can accommodate the work pieces and has the smallest residual capacity are put into the batch, if no batch meeting the conditions exists, a new batch is created to put the current work pieces until all the work pieces are distributed;
step iii: arranging all batches in ascending order according to the arrival time of the batches;
step iv: distributing the current batch to the machine with the earliest finishing time, and selecting the machine with the fastest processing speed if a plurality of machines meet the conditions;
step v: returning to step iv until all batches have been allocated to the machine, the current individual X n Corresponding scheduling scheme X' n Adding a set X';
step vi: if N < N, let n=n+1, return to step ii, otherwise output set X';
where the capacity of the new lot is equal to the machine capacity MC.
2. The method for multi-objective batch scheduling optimization based on the cluster-based evolutionary algorithm of claim 1, wherein: the method for initializing the population P in the step S1 is as follows: and (3) respectively arranging according to the ascending order, the descending order and the ascending order of the arrival time of the processing time to obtain three individual workpiece sequences, and randomly generating the workpiece sequences of the rest individuals.
3. The method for multi-objective batch scheduling optimization based on the cluster-based evolutionary algorithm of claim 1, wherein: the method for locally optimizing and adjusting the scheduling scheme and calculating the target value of the optimized scheduling scheme in S2 and S4 comprises the following steps:
step I: inputting a scheduling scheme set X', obtaining the total number m of machines and the electricity price EP (t) in a time period t, and initializing n=1 and i=1;
step II: acquiring a current scheduling scheme X' n Machine M of (2) i Quantity of lots |M i I, initialize k= |m i |;
Step III: when k= |m i I, and meet
PW i ×EP(CT ki +1)+SW i ×EP(ST ki +1)-PW i ×EP(ST ki +1). Ltoreq.0 or CT ki <ST (k+1)i At the time, let ST ki =ST ki +1,CT ki =CT ki +1;
When k is not equal to |M i I, and meet
PW i ×EP(CT ki +1)+SW i ×EP(ST ki +1)-PW i ×EP(ST ki +1)-SW ki ×EP(CT ki +1). Ltoreq.0 or CT ki <ST (k+1)i In the time-course of which the first and second contact surfaces,
let ST ki =ST ki +1,CT ki =CT ki +1;
Wherein PW (pseudo wire) i For machine i processing power, SW i For idle power of machine i, CT ki For the completion time of the kth batch on machine i, ST ki A start processing time for a kth lot on machine i;
CT ki =ST ki +PT ki
ST ki =max{RT ki ,CT (k-1)i }
wherein PT ki For the k-th batch on machine i, which is equal to the ratio of the maximum processing time of all the workpieces in the batch to the processing speed of the machine in which it is located, i.e
Figure FDA0004053473700000021
r j For the processing time of the workpiece j, B ki For the kth lot on machine i, v i The machining speed of the machine i;
RT ki for the k-th batch on machine i, which is equal to the maximum arrival time of all the workpieces in the batch, i.e
RT ki =max{p j |j∈B ki }
p j The arrival time of the workpiece j;
step IV: when k >1, let k=k-1, return to step III;
step V: if i<m, let i=i+1, return to step II, otherwise calculate the current scheduling scheme X' n Target value of (a), i.e. maximum finishing time C max And total electricity price cost TEC;
C max =max{CT ki |i∈[1,m]}
Figure FDA0004053473700000031
current scheduling scheme X' n Corresponding target value x n Adding the target value set x;
step VI: if N < N, let n=n+1, return to step II, otherwise output target value set x.
4. A method for multi-objective batch scheduling optimization based on a cluster-based evolutionary algorithm as claimed in claim 3, wherein: the method for adaptively clustering the target values in the S3 is as follows:
step A: acquiring the current iteration times t and a target value set x;
and (B) step (B): if t=1 ormod (T, T) =0, jumping to the step C for coarse clustering, otherwise jumping to the step D for updating the clustering result;
step C: inputting the target value set into Can anopy algorithm is used for obtaining the clustering number K and each class C k ,k∈[1,K]Centroid point m of (2) k
Step D: based on the current centroid point, single clustering is carried out by using a K-means algorithm, and class C is updated k Centroid point m of (2) k
Where mod (T, T) represents the remainder of T/T, and coarse cluster period T is the global variable set in S1.
5. The method for multi-objective batch scheduling optimization based on the cluster-based evolutionary algorithm of claim 4, wherein: the method for determining the object for the crossed variant individuals in the step S4 comprises the following steps:
step a: acquiring a set p= { P of the population P n |n∈[1,N]Cluster result c= { C for target value set P of population P } k |k∈[1,K]-a }; applying the clustering result C of the target value set P to the population P, and enabling n=1;
step b: if rand (). Ltoreq.S, go to step c, otherwise jump to step d, where rand () represents a random number;
step c: from the current individual P n Class C to which it belongs k Is selected at random for another individual P n′ Performing cross mutation operation to obtain a child sequence Q n Adding into a population Q;
step d: never including the current individual P n Arbitrary class C of (C) k Is selected at random for another individual P n′ Performing cross mutation operation to obtain a child sequence Q n Adding into a population Q;
step e: if N < N, let n=n+1, return to step b, otherwise output population Q.
6. The method for multi-objective batch scheduling optimization based on the cluster-based evolutionary algorithm of claim 5, wherein: the specific method for cross mutation in S4 comprises the following steps: generating a child sequence through two-point crossover and performing mutation operation on the child sequence through two-point crossover;
The specific method for generating the child sequence through two-point crossover is as follows:
step (1): obtaining parent P n And P n′ Is defined as Q respectively n And Q n′ The sequence length is M;
step (2): if rand (). Gtoreq.pc, then Q n =P n ,Q n′ =P n′ The method comprises the steps of carrying out a first treatment on the surface of the Otherwise, executing the step (3);
step (3): randomly generating two crossing points m 1 ,m 2 And 1<m 1 <m 2 <M for Q n Reserve P n Workpiece sequences at two ends of the intersection point, and workpieces between the intersection points are arranged at P according to corresponding workpieces n′ For Q n′ Reserve P n′ Workpiece sequences between crossing points, the workpieces at both ends of the crossing points being at P according to the corresponding workpieces n Is arranged in sequence;
the method for carrying out mutation operation on the sub-code sequence comprises the following steps:
step (1): extraction of current offspring individuals Q n
Step (2): if rand (). Gtoreq pm, then Q n Unchanged, otherwise, randomly generating two variation points, exchanging Q n Corresponding to the two change points;
wherein pc is the crossover probability, pm is the mutation probability, and both are global variables preset in S1.
7. The method for multi-objective batch scheduling optimization based on the cluster-based evolutionary algorithm of claim 6, wherein: the method for updating the set A in the S5 is as follows: extracting pareto individuals of the parent population P and the offspring population Q in sequence,
When (when)
Figure FDA0004053473700000041
When the current pareto individual is added into the set A;
when (when)
Figure FDA0004053473700000042
At the time, if the current pareto individual dominates the partial solution in set A, then removeThe dominant solution in A is stored in the current pareto individual; if the solutions in the current pareto individual and the set A are not mutually dominant, the current pareto individual is stored in the set A, and if the current pareto individual is dominant by all the solutions in the set A, no operation is performed; repeating the above operation until the pareto individuals in the parent population P and the offspring population Q are extracted;
the criteria for evaluating whether an individual is innervated is to employ a pareto innervation relationship defined as follows:
F(w)=(f 1 (w),f 2 (w),...,f r (w)) if and only if
Figure FDA0004053473700000043
f l (w)≤f l (u), and->
Figure FDA0004053473700000044
f q (w)≤f q In (u), we call w dominate u, where C max And TEC are respectively equal to f 1 (w) and f2 (w), i.e
F(w)=(C max ,TEC)
Pareto individuals are one or more solutions that are not dominated by other individuals throughout the population.
8. The method for multi-objective batch scheduling optimization based on the cluster-based evolutionary algorithm of claim 7, wherein: the method for updating the population P in the S5 is that the selection operation of the classical NSGA-II algorithm is adopted to select the individuals of the updated population P from the current population P and the offspring population Q;
the method for updating the recombination pairing probability S comprises the following steps:
Defining a new solution contribution value (t) generated by executing the cross mutation operation in the step S4 in the t-th iteration process as follows:
Figure FDA0004053473700000051
wherein g 1 (t) represents the number of individuals, g, in the updated population P, obtained by cross-mutation using the method of step c 2 (t) represents the number of individuals in the updated population P obtained by cross-mutation using the method of step d;
the recombination pairing probability S is updated once every L generations, and the method is that
Figure FDA0004053473700000052
Wherein t is the current iteration number, and the probability update cumulative algebra L is the global variable preset in S1.
9. A system for performing multi-objective batch scheduling optimization based on a cluster-based evolutionary algorithm is characterized in that: comprising
An initialization module: initializing a population scale N, the maximum iteration number MaxItation and the recombination pairing probability S, initializing a population P and an initialization pareto solution set A based on a processed workpiece, wherein individuals of the population P and the set A represent workpiece sequences, and the initialization iteration number t=1;
and a scheduling optimization module: executing a decoding rule on the population P to obtain scheduling schemes of all individuals, adjusting each scheduling scheme through local optimization and calculating a target value;
and a clustering module: clustering the target value of the population P by utilizing the self-adaptive clustering;
and a progeny evolution module: selecting a crossed variant object for individuals in the population P based on the clustering result to generate a child population Q, and calculating a target value of the child population Q by using a decoding rule and local optimization;
And a data updating module: using Parector individuals of the parent population P and the offspring population Q to update the set A, executing selection operation on the parent population P and the offspring population Q to update the population P, and updating the recombination pairing probability S based on the updated population P;
and an iteration output module: if t < MaxItation, t=t+1, returning to the scheduling optimization module, otherwise outputting a set A;
wherein the scheduling optimization module and the childThe generation evolution module uses the decoding rule to make any population X= { X n |n∈[1,N]Individuals X in } n The corresponding workpiece sequence is converted into a scheduling scheme X' n The specific method comprises the following steps:
step i: initializing n=1, scheduling scheme set
Figure FDA0004053473700000061
Step ii: sequentially combining X n The work pieces in the batch which can accommodate the work pieces and has the smallest residual capacity are put into the batch, if no batch meeting the conditions exists, a new batch is created to put the current work pieces until all the work pieces are distributed;
step iii: arranging all batches in ascending order according to the arrival time of the batches;
step iv: distributing the current batch to the machine with the earliest finishing time, and selecting the machine with the fastest processing speed if a plurality of machines meet the conditions;
step v: returning to step iv until all batches have been allocated to the machine, the current individual X n Corresponding scheduling scheme X' n Adding a set X';
step vi: if N < N, let n=n+1, return to step ii, otherwise output set X';
where the capacity of the new lot is equal to the machine capacity MC.
CN201911133581.5A 2019-11-18 2019-11-18 Method and system for optimizing multi-target batch scheduling based on cluster evolution algorithm Active CN110909787B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911133581.5A CN110909787B (en) 2019-11-18 2019-11-18 Method and system for optimizing multi-target batch scheduling based on cluster evolution algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911133581.5A CN110909787B (en) 2019-11-18 2019-11-18 Method and system for optimizing multi-target batch scheduling based on cluster evolution algorithm

Publications (2)

Publication Number Publication Date
CN110909787A CN110909787A (en) 2020-03-24
CN110909787B true CN110909787B (en) 2023-05-12

Family

ID=69817964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911133581.5A Active CN110909787B (en) 2019-11-18 2019-11-18 Method and system for optimizing multi-target batch scheduling based on cluster evolution algorithm

Country Status (1)

Country Link
CN (1) CN110909787B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112270353B (en) * 2020-10-26 2022-11-01 西安邮电大学 Clustering method for multi-target group evolution software module
CN113535798A (en) * 2020-12-17 2021-10-22 夏红梅 Network training method based on big data mining and digital content center
CN113220437B (en) * 2021-06-01 2022-11-01 西北工业大学 Workflow multi-target scheduling method and device
CN114327859A (en) * 2021-11-18 2022-04-12 西安电子科技大学 Source model cluster selection method for cloud computing environment large-scale problem agent optimization
CN115662498B (en) * 2022-12-29 2023-03-10 天津大学 Biological metabolic pathway design method based on improved multi-objective evolutionary algorithm
CN117829552A (en) * 2024-03-04 2024-04-05 北京理工大学 Robust optimization method, device and equipment based on Ru production scheduling

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122844A (en) * 2017-03-15 2017-09-01 深圳大学 A kind of Multipurpose Optimal Method and system being combined based on index and direction vector
CN107506956B (en) * 2017-06-12 2018-06-15 合肥工业大学 Based on improvement particle cluster algorithm supply chain production and transport coordinated dispatching method and system
CN107301473B (en) * 2017-06-12 2018-06-15 合肥工业大学 Similar parallel machine based on improved adaptive GA-IAGA batch dispatching method and system

Also Published As

Publication number Publication date
CN110909787A (en) 2020-03-24

Similar Documents

Publication Publication Date Title
CN110909787B (en) Method and system for optimizing multi-target batch scheduling based on cluster evolution algorithm
CN110389819B (en) Method and system for scheduling calculation intensive batch processing tasks
US8862627B2 (en) Systems and methods for auto-adaptive control over converged results for multi-dimensional optimization
CN111507641A (en) Batch processing equipment scheduling method and device
US8560472B2 (en) Systems and methods for supporting restricted search in high-dimensional spaces
CN106527381B (en) A kind of fast evaluation method towards parallel batch processing machine dynamic dispatching
US20170169353A1 (en) Systems and Methods for Multi-Objective Evolutionary Algorithms with Soft Constraints
CN110188785A (en) A kind of data clusters analysis method based on genetic algorithm
CN101901425A (en) Flexible job shop scheduling method based on multi-species coevolution
CN104572297A (en) Hadoop job scheduling method based on genetic algorithm
CN112685138B (en) Multi-workflow scheduling method based on multi-population hybrid intelligent optimization in cloud environment
CN113569483A (en) Method for solving multi-target flexible job shop scheduling based on artificial bee colony algorithm
CN115759552A (en) Multi-agent architecture-based real-time scheduling method for intelligent factory
CN112926837B (en) Method for solving job shop scheduling problem based on data-driven improved genetic algorithm
CN112528524A (en) Balanced and optimized scheduling method for mixed-flow assembly line
CN115511148A (en) Tobacco line order sorting optimization method and system based on FCM clustering
CN112783210B (en) Multi-target control parameter optimization method of unmanned aerial vehicle cluster control system
CN115438877A (en) Multi-objective distributed flexible workshop scheduling optimization method based on gray wolf algorithm
CN115392616A (en) Knowledge mining and genetic algorithm combined multi-target discrete workshop scheduling method
CN115115447A (en) Hyper-parameter optimization method and device of credit wind control model
CN114819558A (en) Dual-target scheduling optimization method for distributed mixed flow shop
CN112529143A (en) Target neighbor learning particle swarm optimization method
Sasaki et al. Portfolio optimization by fuzzy interactive genetic algorithm
Korablyov et al. Dendritic Artificial Immune Network Model for Computing.
CN110442619A (en) Search result ordering method, device, electronic equipment and storage medium

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
GR01 Patent grant
GR01 Patent grant