Hybrid assembly line workshop scheduling method based on artificial bee colony algorithm

Through the hybrid assembly line workshop scheduling method based on the artificial bee colony algorithm, the problem of low scheduling efficiency of the hybrid assembly line operation workshop with parallel machines is solved, and the production efficiency is improved and annual output is increased.

CN119918855APending Publication Date: 2025-05-02HARBIN SHIP BOILER TURBINE RESEARCH INSTITUTE
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411929877.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-26
Publication Date
2025-05-02

AI Technical Summary

Technical Problem

The prior art is difficult to effectively schedule a hybrid assembly line operation workshop with parallel machines, resulting in low production efficiency.

Method used

The mixed assembly line workshop scheduling method based on artificial bee colony algorithm is adopted to optimize workshop scheduling through steps such as encoding and decoding, initializing population, fitness function, generating neighborhood solution, hiring bees, following bees and detecting bees.

Benefits of technology

The production efficiency of the workshop is improved, the production scheduling is optimized, and the production time of raw materials production in different batches is reduced, thereby increasing annual output.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119918855A_ABST
    Figure CN119918855A_ABST
Patent Text Reader

Abstract

The invention discloses a hybrid assembly line workshop scheduling method based on an artificial bee colony algorithm, and relates to a hybrid assembly line workshop scheduling method. The invention aims to solve the scheduling problem of the hybrid assembly line job shop with the parallel machine. The method comprises the following steps: step 1, giving constraint conditions meeting production requirements; step 2, data modeling; step 3, artificial bee colony algorithm; the method specifically comprises the following steps: step 301, encoding and decoding; step 302, initializing a population; step 303, obtaining a fitness function; step 304, generating a neighborhood solution; step 305, employing bees, following bees and investigation bees; and 306, setting parameters. The invention belongs to the technical field of workshop scheduling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a hybrid assembly line workshop scheduling method, belonging to the technical field of workshop scheduling. Background Art

[0002] For the Chinese medicine industry, there may be 12 extraction tanks, 6 double-effect tanks, 3 alcohol precipitation tanks, and 3 single-effect tanks in the workshop. All 12 extraction tanks can perform extraction operations on various raw materials, 6 double-effect tanks can concentrate the extracted liquid medicine, and 3 alcohol precipitation tanks can precipitate the concentrated liquid medicine. This method in which multiple devices can process the same process of the operation is called a production method with parallel machines, and it is also a mixed assembly line workshop. The system description of this mixed assembly line workshop is: one process corresponds to multiple equipment, and the time for each equipment to complete the process is different. Under the limited equipment time, the workshop adopts reasonable scheduling to improve production efficiency. This mixed assembly line workshop is the workshop where most Chinese medicine extraction automatic control applications are applied, so it is very important to solve the scheduling problem of this mixed assembly line workshop with parallel machines. This method can greatly optimize production scheduling, increase the annual output of Chinese medicine workshops, respond to the intelligent manufacturing of Industry 4.0, and is the first step in the intelligent Chinese medicine production process. Summary of the invention

[0003] The present invention solves the problem of hybrid assembly line workshop scheduling with parallel machines, and further proposes a hybrid assembly line workshop scheduling method based on artificial bee colony algorithm.

[0004] The technical solution adopted by the present invention to solve the above-mentioned problem is: the specific steps of the present invention include:

[0005] Step 1: Give constraints that meet production requirements;

[0006] Step 2: Data modeling;

[0007] Step 3: Artificial bee colony algorithm; specifically including:

[0008] Step 301, encoding and decoding;

[0009] Step 302, initializing the population;

[0010] Step 303, fitness function;

[0011] Step 304: Generate a neighborhood solution;

[0012] Step 305: employing bees, following bees and scout bees;

[0013] Step 306: Set parameters.

[0014] Furthermore, the constraints in step 1 include:

[0015] (1) Each device corresponds to only one process;

[0016] (2) The equipment corresponding to each process is fixed;

[0017] (3) Each type of equipment shall not be used more than once in the production of each raw material;

[0018] (4) The order of using equipment for each raw material can be different;

[0019] (5) Any operation has no priority for preemptive processing and must be subject to production sequence scheduling;

[0020] (6) No new jobs can be added during the processing of the job, and the processing of the job cannot be temporarily cancelled;

[0021] (7) Each operation can start the next stage only after the current stage is completed;

[0022] (8) One batch of each raw material can be processed using one piece of equipment in each process;

[0023] (9) The production scheduling sequence of different batches of the same raw material does not affect each other.

[0024] Furthermore, the data modeling in step 2 specifically includes:

[0025] One batch of each raw material can be processed with one piece of equipment in each process;

[0026] There are K kinds of raw materials, each of which needs to produce S i batches, N represents the S corresponding to k kinds of raw materials k The workload of each batch of work, each raw material corresponds to a batch S i The size is determined by inventory and market demand;

[0027]

[0028] Formula ① indicates that the workload of the entire scheduling is the sum of the batches of each raw material to be produced, and there are N tasks in total;

[0029] M represents the number of equipment, h represents the maximum number of work stages required for each operation, and h i It indicates the number of machines in each section, that is, the i-th section has h i parallel machines;

[0030]

[0031] Formula ② indicates that the number of equipment in the entire scheduling is the sum of the number of parallel machines in each section;

[0032] Note:i,j,k Whether the jth process of the i-th job is processed on the k-th equipment, t i,j,k It is expressed as the production time of the jth process of the i-th raw material on the kth equipment, ST i,j,k It is represented as the production start time of the jth process of the i-th job on the k-th equipment, ET i,j,k It is expressed as the production start time of the jth process of the i-th job on the k-th equipment, and has the following formula:

[0033] ET i,j,k =ST i,j,k +t i,j,k ③,

[0034]

[0035] Formula ③ indicates that the end time of the jth process of each ith job on the kth device is the start time of the jth process of this job on the kth device plus the production time of the jth process of this job on the kth device, so as to meet the constraint conditions: no new jobs are added during the job processing, and the processing of the job cannot be temporarily cancelled; Formula ④ indicates that when the jth process of the ith job is produced on the kth device, P i,j,k =1, otherwise, if the jth process of the i-th job is not produced on the k-th equipment, then P i,j,k =0; each type of equipment is used no more than once in the production of each raw material, and the following formula is used:

[0036]

[0037] Formula ⑤ represents the h of the jth process in the production of the i-th job. j Only one of the parallel machines is used for processing and production to meet the constraints: each type of equipment is used no more than once for each raw material, and one batch of each raw material can be processed by one equipment in each process;

[0038] Remember i,j,k The production completion time of the kth equipment in the jth section at the current moment when the current job i is completed; there is the following formula:

[0039] g i,j,k <ST i′,j,k ⑥,

[0040] ST i,j,k +t i,j,k =ET i,j,k <ST i′,j,k ⑦,

[0041] ST i,j,k +t i,j,k=ET i,j,k ≤ST i,(j+1),k′ ⑧,

[0042] Formulas ⑥ and ⑦ indicate that the start time of the next job of the same device in the current stage must be greater than the end time of the previous job to ensure that the constraint conditions are met: each device cannot process two jobs at the same time;

[0043] Formula ⑧ indicates that the processing start time of this job in the next stage must be less than the end time of this job in this stage to ensure that the constraint condition is met: each job cannot be processed on two devices at the same time'

[0044] The scheduling is to perform the extraction stage first and then the concentration stage. According to the above formula, the modeling results are as follows: the end time of work 2 in stage 1, i.e., on equipment 3, is less than the start time of work 3 in stage 1, i.e., on equipment 3; the end time of work 2 in stage 1, i.e., on equipment 3, is less than the start time of work 2 in the next stage, i.e., the start time of work 2 in stage 2 on equipment 7;

[0045] The objective function is as follows:

[0046]

[0047] Formula ⑨ indicates that at the last moment, that is, after all devices complete the last scheduled job, the production end time of the device with the largest production end time is the scheduling solution. The objective function of the flexible operation mixed assembly line problem with parallel machines is to minimize the time consumption of the device with the largest production end time when all M devices have completed production.

[0048] Furthermore, step 301 specifically includes:

[0049] Link batches to inventory. When inventory is sufficient, reduce the batch size corresponding to this type of raw material. When inventory is insufficient, increase the batch size corresponding to this type of raw material to meet market demand and production needs.

[0050] Using K kinds of raw materials, each raw material needs to produce S i batches, N represents the S corresponding to k kinds of raw materials k The workload of each batch of work corresponds to l h Parallel Devices h >2, there are m devices for encoding m = h × l h : Use N workloads to build solutions on M devices, set each solution to a sequence of certain numbers as a chromosome, and a part of each chromosome as a gene segment for easy description; the number of genes on each chromosome is set to N, and each chromosome is composed of S iThe gene composition is {1,2,…,k}, so each raw material i is divided into S i The number of i in the sequence is S i and merge the sequences of i=1,2,…,k into a sequence {1,1,1,2,2,3,…,k,k,k,k}, and repeatedly exchange the numbers corresponding to two random numbers to form a random sequence;

[0051] Using K kinds of raw materials, each raw material needs to produce S i batches, N represents the S corresponding to k kinds of raw materials k Decode the workload of each batch of work: Assume that the scheduling of the flexible mixed workshop with parallel machines is k=3, S1=1, S2=2, S3=3, and the three raw materials are numbered 1-3 respectively. Each number from 1 to 3 is repeated S1=1 times, number 2 is repeated S2=2 times, and number 3 is repeated S3=3 times as a chromosome and recorded as chain random(); Assume j=random(i), i represents the number of the job to be scheduled j represents the jth job of the ith scheduled task; assuming random(6) = {1,3,3,2,2,1}, the scheduled jobs are judged from left to right. If random(1) = 1, it means the first job to be scheduled is the first raw material, and if b[2] = 3, it means the second job to be scheduled is the third raw material. Similarly, when b[5] is scheduled, the number of i in b[1] to b[4] is the number of completed batches of raw material i. Therefore, if random(6) = {1,3,3,2,2,1}, the first job is to complete the first batch of the first raw material, the second job is to complete the first batch of the third raw material, the third job is to complete the second batch of the third raw material, the fourth job is to complete the first batch of the second raw material, the fifth job is to complete the second batch of the second raw material, and the sixth job is to complete the second batch of the first raw material, thus ending production.

[0052] Furthermore, step 302 specifically includes:

[0053] Randomly generate The sequence of a gene is regarded as a honey source, and l such sequences are randomly generated to form an initial population, that is, each honey source represents an individual, that is, each honey source is a feasible scheduling solution for a flexible operation mixed assembly line workshop with parallel machines;

[0054] According to the coding sequence {1,1,1,2,2,3,...,k,k,k,k}, it is represented as j=random(i). The scheduling method is i from 1 to Sequential scheduling, j∈{1,2,...,k}, i is the current scheduling progress, j is each raw material, and the batch number of this work is the number of this raw material in the sequence before the current process.

[0055] Furthermore, step 303 specifically includes:

[0056] According to the encoding method, the order is scheduled from front to right, and the scheduling method is i from 1 to Sequential scheduling, for each scheduling arrangement, first sort the time when each device in the corresponding section chain of each section ends the current work, select the device with the least time and arrange it for this device, and compare the end time of the device with the end time of other sections of the current work, and use the larger end time as the start time of this work, and find this device in the equipment chain machinelist, update the key parameters of its maschine class in the equipment chain: update the end time of the current work of this device, update the job chain of this device, add the newly scheduled work to the job chain of this device, and update the Process chain of this work product class in the job chain productlist to add a stage() class, so that this class contains the production information of this work: on which device the current work is produced, production time, production start time, and production end time; for each section of the production, repeat the above design arrangement until all sections of all jobs are arranged. At this time, the end time value of each machine class in machinelist is the final end time of the current scheduling of each device, sort machinelist by time value, and transform the time value of the device with the largest time value as the fitness value for evaluation.

[0057] Furthermore, step 304 specifically includes:

[0058] Neighborhood search method Method1# randomly changes the order of any two unequal values ​​in the random() sequence, i.e. the honey source sequence, to change the working order of each job in each work section and then generate a neighborhood solution; the probability of designing neighborhood search method Method1# is P1;

[0059] Neighborhood search method Method2# randomly selects a work section, randomly selects a point on the honey source, and swaps its production order with that of another adjacent raw material to change the production order of two adjacent raw materials on this work section; the probability of this neighborhood search is P2.

[0060] The beneficial effects of the present invention are as follows: the present invention conducts workshop scheduling optimization research on a flexible hybrid workshop with parallel machines. According to the constraints, the work sections corresponding to each device remain unchanged, each work is only processed once in one work section, each device cannot process two works at the same time, and each work is not processed on two devices at the same time. The hybrid assembly line workshop with parallel machines is described and mathematically modeled, and the defect of searching for solutions in a single direction in the genetic algorithm in the previous chapter is improved. The relative global optimal solution is searched from all directions, and two methods for finding neighborhood values ​​are proposed. Finally, the problem is solved by designing an artificial bee colony algorithm to obtain a better scheduling solution; the present invention can better connect the market, inventory and production. The scheduling problem of the flexible hybrid assembly line workshop with parallel machines is solved by the artificial bee colony algorithm to find a better scheduling. The optimal scheduling is used as a production guide to optimize production scheduling, facilitate production, reduce the production time of different batches of raw materials, and thus increase annual output; the present invention can obtain subsequent resource utilization maximization efficiency suggestions for improving production efficiency based on the optimal solution data analysis of the algorithm to meet the optimal production. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] Figure 1 It is a schematic diagram of a hybrid assembly line workshop with parallel machines;

[0062] Figure 2 This is the design diagram of the artificial bee colony algorithm. DETAILED DESCRIPTION

[0063] Specific implementation method 1: Figure 1 and Figure 2 As shown, a hybrid assembly line workshop scheduling method based on artificial bee colony algorithm, the specific steps include:

[0064] Step 1: Give constraints that meet production requirements; the constraints include:

[0065] (1) Each device corresponds to only one process;

[0066] (2) The equipment corresponding to each process is fixed;

[0067] (3) Each type of equipment shall not be used more than once in the production of each raw material;

[0068] (4) The order of using equipment for each raw material can be different;

[0069] (5) Any operation has no priority for preemptive processing and must be subject to production sequence scheduling;

[0070] (6) No new jobs can be added during the processing of the job, and the processing of the job cannot be temporarily cancelled;

[0071] (7) Each operation can start the next stage only after the current stage is completed;

[0072] (8) One batch of each raw material can be processed using one piece of equipment in each process;

[0073] (9) The production scheduling sequence of different batches of the same raw material does not affect each other;

[0074] Step 2: Data modeling; specifically includes:

[0075] One batch of each raw material can be processed with one piece of equipment in each process;

[0076] There are K kinds of raw materials, each of which needs to produce S i batches, N represents the S corresponding to k kinds of raw materials k The workload of each batch of work, each raw material corresponds to a batch S i The size is determined by inventory and market demand;

[0077]

[0078] Formula ① indicates that the workload of the entire scheduling is the sum of the batches of each raw material to be produced, and there are N tasks in total;

[0079] M represents the number of equipment, h represents the maximum number of work stages required for each operation, and h i It indicates the number of machines in each section, that is, the i-th section has h i parallel machines;

[0080]

[0081] Formula ② indicates that the number of equipment in the entire scheduling is the sum of the number of parallel machines in each section;

[0082] Note: i,j,k Whether the jth process of the i-th job is processed on the k-th equipment, t i,j,k It is expressed as the production time of the jth process of the i-th raw material on the kth equipment, ST i,j,k It is represented as the production start time of the jth process of the i-th job on the k-th equipment, ET i,j,k It is expressed as the production start time of the jth process of the i-th job on the k-th equipment, and has the following formula:

[0083] ET i,j,k =ST i,j,k +t i,j,k ③,

[0084]

[0085] Formula ③ indicates that the end time of the jth process of each ith job on the kth device is the start time of the jth process of this job on the kth device plus the production time of the jth process of this job on the kth device, so as to meet the constraint conditions: no new jobs are added during the job processing, and the processing of the job cannot be temporarily cancelled; Formula ④ indicates that when the jth process of the ith job is produced on the kth device, P i,j,k =1, otherwise, if the jth process of the i-th job is not produced on the k-th equipment, then P i,j,k =0; each type of equipment is used no more than once in the production of each raw material, and the following formula is used:

[0086]

[0087] Formula ⑤ represents the h of the jth process in the production of the i-th job. j Only one of the parallel machines is used for processing and production to meet the constraints: each type of equipment is used no more than once for each raw material, and one batch of each raw material can be processed by one equipment in each process;

[0088] Remember i,j,k The production completion time of the kth equipment in the jth section at the current moment when the current job i is completed; there is the following formula:

[0089] g i,j,k <ST i′,j,k ⑥,

[0090] ST i,j,k +t i,j,k =ET i,j,k <ST i′,j,k ⑦,

[0091] ST i,j,k +t i,j,k =ET i,j,k ≤ST i,(j+1),k′ ⑧,

[0092] Formulas ⑥ and ⑦ indicate that the start time of the next job of the same device in the current stage must be greater than the end time of the previous job to ensure that the constraint conditions are met: each device cannot process two jobs at the same time;

[0093] Formula ⑧ indicates that the processing start time of this job in the next stage must be less than the end time of this job in this stage to ensure that the constraint condition is met: each job cannot be processed on two devices at the same time'

[0094] The scheduling is to perform the extraction stage first and then the concentration stage. According to the above formula, the modeling results are as follows: the end time of work 2 in stage 1, i.e., on equipment 3, is less than the start time of work 3 in stage 1, i.e., on equipment 3; the end time of work 2 in stage 1, i.e., on equipment 3, is less than the start time of work 2 in the next stage, i.e., the start time of work 2 in stage 2 on equipment 7;

[0095] The objective function is as follows:

[0096]

[0097] Formula 9 indicates that at the last moment, that is, after all devices complete the last scheduled job, the production end time of the device with the largest production end time is the scheduling solution. The objective function of the flexible operation mixed assembly line problem with parallel machines is to minimize the time consumption of the device with the largest production end time when all M devices have finished production.

[0098] Step 3: Artificial bee colony algorithm; specifically including:

[0099] Step 301, encoding and decoding; specifically includes:

[0100] Link batches to inventory. When inventory is sufficient, reduce the batch size corresponding to this type of raw material. When inventory is insufficient, increase the batch size corresponding to this type of raw material to meet market demand and production needs.

[0101] Using K kinds of raw materials, each raw material needs to produce S i batches, N represents the S corresponding to k kinds of raw materials k The workload of each batch of work corresponds to l h Parallel Devices h >2, there are m devices for encoding m = h × l h : Use N workloads to build solutions on M devices, set each solution to a sequence of certain numbers as a chromosome, and a part of each chromosome as a gene segment for easy description; the number of genes on each chromosome is set to N, and each chromosome is composed of S i The gene composition is {1,2,…,k}, so each raw material i is divided into S i The number of i in the sequence is S i and merge the sequences of i=1, 2, …, k into a sequence {1, 1, 1, 2, 2, 3, …, k, k, k, k}, and repeatedly exchange the numbers corresponding to two random numbers to form a random sequence;

[0102] Using K kinds of raw materials, each raw material needs to produce S ibatches, N represents the S corresponding to k kinds of raw materials k Decode the workload of each batch of work: Assume that the scheduling of the flexible mixed workshop with parallel machines is k=3, S1=1, S2=2, S3=3, and the three raw materials are numbered 1-3 respectively. Each number from 1 to 3 is repeated S1=1 times, number 2 is repeated S2=2 times, and number 3 is repeated S3=3 times as a chromosome and recorded as chain random(); Assume j=random(i), i represents the number of the job to be scheduled j represents the jth job of the ith scheduled task; assuming random(6) = {1,3,3,2,2,1}, the scheduled jobs are judged from left to right. If random(1) = 1, it means that the first job to be scheduled is the first raw material, and if b[2] = 3, it means that the second job to be scheduled is the third raw material. Similarly, when b[5] is scheduled, the number of i in b[1] to b[4] is the number of completed batches of raw material i. Therefore, if random(6) = {1,3,3,2,2,1}, the first job is to complete the first batch of the first raw material, the second job is to complete the first batch of the third raw material, the third job is to complete the second batch of the third raw material, the fourth job is to complete the first batch of the second raw material, the fifth job is to complete the second batch of the second raw material, and the sixth job is to complete the second batch of the first raw material, and the production is finished.

[0103] Step 302: Initialize the population; specifically includes:

[0104] Randomly generate The sequence of a gene is regarded as a honey source, and l such sequences are randomly generated to form an initial population, that is, each honey source represents an individual, that is, each honey source is a feasible scheduling solution for a flexible operation mixed assembly line workshop with parallel machines;

[0105] According to the coding sequence {1,1,1,2,2,3,...,k,k,k,k}, it is represented as j=random(i). The scheduling method is i from 1 to Sequential scheduling, j∈{1,2,...,k}, i is the current scheduling progress, j is each raw material, and the batch number of this work is the number of this raw material in the sequence before the current process;

[0106] Step 303: fitness function; specifically including:

[0107] According to the encoding method, the order is scheduled from front to right, and the scheduling method is i from 1 to Sequential scheduling, for each scheduling arrangement, first sort the time when each device in the corresponding section chain of each section ends the current work, select the device with the least time and arrange it for this device, and compare the end time of this device with the end time of other sections of the current work, and take the larger end time as the start time of this work, and find this device in the equipment chain machinelist, update the key parameters of its maschine class in the equipment chain: update the end time of the current work of this device, update the job chain of this device, add the newly scheduled work to the job chain of this device, and update the Process chain of this work product class in the job chain productlist to add a stage() class, so that this class contains the production information of this work: which device is the current work produced, the production time, the production start time, and the production end time; for each section of the production, repeat the above design arrangement until all sections of all jobs are arranged. At this time, the end time value of each machine class in machinelist is the final end time of the current scheduling of each device, sort the machinelist by time value, and transform the time value of the device with the largest time value as the fitness value for evaluation;

[0108] Step 304: Generate a neighborhood solution; specifically including:

[0109] Neighborhood search method Method1# randomly changes the order of any two unequal values ​​in the random() sequence, i.e. the honey source sequence, to change the working order of each task in each work section and then generate a neighborhood solution; the probability of designing neighborhood search method Method1# is P1;

[0110] Neighborhood search method Method2#Randomly select a section, randomly select a point on the honey source, and swap the production order of the work with another adjacent raw material to change the production order of the two adjacent raw materials on this section; the probability of this neighborhood search is P2;

[0111] Step 305, employed bees, follower bees and scout bees; specifically, in the artificial bee colony algorithm, each employed bee corresponds to a nectar source, and searches for a neighborhood solution near the nectar source according to the neighborhood search method Method1# and the neighborhood search method Method2#. When the fitness value of the neighborhood solution found by the greedy algorithm, i.e., the employed bee is greater than the fitness value of the corresponding nectar source, the original nectar source value is discarded and the nectar source value is replaced by the new employed bee value. Otherwise, the neighborhood solution is discarded;

[0112] Similarly, the follower bee searches for neighborhood solutions near the nectar source using the neighborhood search method Method1# and the neighborhood search method Method2#, and selects the nectar source in proportion based on the fitness value. When the fitness value of the greedy algorithm is greater than the fitness value of the corresponding nectar source, the original nectar source value is discarded and replaced by the new follower bee value. Otherwise, the neighborhood solution is discarded.

[0113] In the artificial bee colony algorithm, scout bees are introduced to prevent the algorithm from falling into the local optimum. Each nectar source has a trail value, which means that the nectar source is still retained in the population after trail iterations. When the trail value reaches the limit value, which means that it has fallen into the local optimum, a scout bee is generated to jump out of the local optimum. A new production scheduling sequence is generated, and the fitness is calculated based on this sequence to replace the nectar source whose trail value has reached the limit.

[0114] Step 306: Setting parameters; specifically including:

[0115] The number of nectar sources in the population, the number of iterations, the probability P1 that the neighborhood solution generates Method1#, the probability 1-P1 that the neighborhood solution generates Method2#, and the limit that generates scout bees when the trail value in each nectar source reaches the limit all affect the quality of the algorithm's optimal solution. For the artificial bee colony algorithm used, if the number of nectar sources in the population is large, it will take too long for the workshop scheduling to find a scheduling solution, which greatly reduces the efficiency of the algorithm. On the contrary, if the number of nectar sources is too small, after generating employed bees, follower bees, and scout bees, a relatively good optimal solution may not be found. The number of iterations can be obtained in the same way. If the number of iterations is large, it will take too long for the workshop scheduling to find a scheduling solution, which greatly reduces the efficiency of the algorithm. On the contrary, if the number of iterations is too small, after generating employed bees, follower bees, and scout bees, a relatively good optimal solution may not be found.

[0116] The P1 parameter is the key parameter for finding neighborhood solutions. If the P1 value is too large, it is more likely that Method1# will be used to generate neighborhood solutions when the fitness is large. In this way, the production order of the two raw materials is changed in each work section. In this way, the scheduling order is changed more frequently, and the value of the generated neighborhood solution is less likely to become a nectar source through greedy selection, thus losing the meaning of employed bees and follower bees. Similarly, if the P1 value is too small and the fitness value is small, it is more likely that Method2# will be used to generate a neighborhood solution. In this way, the production order of the two raw materials is changed only in a single work section. The fitness value of the neighborhood solution corresponding to this method is smaller than the fitness value of the original nectar source, and cannot meet the requirements of employed bees and follower bees for neighborhood solutions. It is impossible to randomly distribute nectar sources in the population in all directions. The purpose of the artificial bee colony algorithm to find the optimal solution in all directions has been achieved, and the diversity of nectar sources in the population has been realized. Therefore, when applying the artificial bee colony algorithm to solve the hybrid pipeline problem with parallel machines, it is necessary to consider the number of nectar sources in the population, the number of iterations, the probability P1 of the neighborhood solution generating Method1#, and the probability 1-P1 of the neighborhood solution generating Method2#, so as to improve the efficiency of the algorithm and find the relatively optimal value that satisfies the algorithm.

[0117] The Limit value is the key data for generating scout bees. When the number of iterations of each nectar source in the population reaches the limit, it is judged that it has reached the local optimum, and scout bees are generated to jump out of the local optimum. When the Limit value is too large, the algorithm is prone to fall into the local optimum, affecting the algorithm solution. On the contrary, when the Limit value is too small, the possibility of the number of iterations of the nectar source reaching the limit value is greatly increased, and the algorithm is more likely to abandon the nectar source with a better gene arrangement, affecting the optimal solution of the algorithm.

[0118] Among them, in step 303, assuming that there are 4 kinds of raw materials, each raw material corresponds to 10 batches, there are 40 jobs, and there are 4 sections in total: the extraction section contains 12 parallel machines, the double-effect section contains 6 parallel machines, the alcohol precipitation section contains 6 parallel machines, and the single-effect section contains 3 parallel machines. The specific steps for solving the fitness value are as follows:

[0119] Step 1: Divide the equipment into various section chains according to the section: TQlist, SXlist, CClist, DXlist;

[0120] Step 2: Determine which job to process based on random();

[0121] Step 3: Find this job productlist[0] in the job chain productlist;

[0122] Step 4: Select the work section according to the constraints between the work sections. For example: extract the work section;

[0123] Step 5: Sort the work section chain, such as the extracted work section TQlist, by the end time of the current work;

[0124] Step 6: Select TQlist[0] with the shortest current end time and find this device in machinelist[0];

[0125] Step 7: Add the name of this job, productlist[0].name, to machinelist[0].job;

[0126] Step 8: Create a new stage class to store the parameters of this job scheduling, store maschinelist[0].gonghao as stage.Machine to record the equipment number of this job scheduling, and store the processing time of the raw material on the equipment as stage.time;

[0127] Step 9: Compare the values ​​of TQlist[0].time and productlist[0].time. If TQlist[0].time>productlist[0].time, store the start processing time of this job schedule as stage.StartTime=TQlist[0].time. Otherwise, store the start processing time of this job schedule as stage.StartTime=productlist[0].time.

[0128] Step 10: According to the end time of production, the sum of the start processing time and the production time is stage.Endtime = stage.StartTime + stage.time, and update this work productlist[0].time and the end current working time of this equipment machinelist[0].time to stage.Endtime;

[0129] Step 11: Store this scheduling stage class in the process of this job productlist[0].process. It can be seen that the number of stages in productlist[0].process is the number of stages completed by this job;

[0130] Step 12: Update the new section chain example TQlist according to the new machinelist, and repeat step 2 until all sections of all jobs have been arranged;

[0131] Step 13: Sort machinelist by end time, select machinelist

[27] with a large time value, and use 1 / machinelist

[27] .time as the fitness value for evaluating the scheduling algorithm.

[0132] Example: Assume that there are 2 kinds of raw materials, each raw material corresponds to 3 batches and 4 equipment, corresponding to 2 extraction section parallel machines and 2 dual-effect section parallel machines respectively. The production sequence is required to be extraction section > dual-effect section. The production scheduling sequence, i.e. the honey source sequence, is 121212. Assume that the working time of each raw material on any one equipment is its number value.

[0133] Table 4.1 summarizes some of the results of scheduling based on the above encoding methods

[0134] Table 4.1 Scheduling results diagram

[0135]

[0136] Since it is assumed that the working time of each raw material on any device is the same as its serial number, we have t ljk = 1. Since the production order is required to be extraction section > dual-effect section, the extraction section is arranged according to the nectar source sequence. The nectar source sequence is 121212, so random() = 121212. For the convenience of design, the job of raw material 1 batch 1 is recorded as m11, that is, the name of the job product.name = m11

[0137] i=1, the work progress of TQ1 and TQ2 are both 0, that is, TQlist[0].time=TQlist[1].time. random(0)=1, so this job arranges raw material 1 to be processed on TQ1 equipment, so m11 is added to machinelist[0].job. Since the work progress time of productlist.name[m11] is 0, the production start time of this job stage class is 0, the production end time is 1, the production time is 1, and the production equipment is TQ1. This stage is added to the progress process of productlist.name[m11], and the process time of maschinelist[0] is updated, and productlist.name[m11] is 1.

[0138] i = 2, the progress of TQ1 is 1, and the progress of TQ2 is 0, that is, TQlist[0].time > TQlist[1].time. random(1) = 2, so this work arranges to process raw material 2 on the TQ2 equipment. Therefore, m21 is added to machinelist[1].job. Since the progress time of prouductlist.name[m21] is 0, the start time of the production of this work stage class is 0, the end time of production is 2, the production time is 2, the production equipment is TQ2. This stage is added to the progress process of prouductlist.name[m21], and the process time of machinelist[1] and prouductlist.name[m21] is updated to 2.

[0139] i = 3, the progress of TQ1 is 1, and the progress of TQ2 is 2, that is, TQlist[0].time < TQlist[1].time. random(1) = 1, so this work arranges to process raw material 1 on the TQ1 equipment. Therefore, m12 is added to machinelist[0].job. Since the progress time of prouductlist.name[m12] is 0, the start time of the production of this work stage class is 1, the end time of production is 2, the production time is 1, the production equipment is TQ1. This stage is added to the progress process of prouductlist.name[m12], and the process time of machinelist[0] and prouductlist.name[m12] is updated to 2. The same can be obtained when I = 4, 5, 6.

[0140] After the arrangement of the extraction section is completed in the scheduling, the scheduling of the double-effect section is arranged.

[0141] i=1, the work progress of SX1 and SX2 are both 0, that is, SXlist[0].time=SXlist[1].time. random(0)=1, so this job arranges raw material 1 to be processed on the SX1 equipment, so m11 is added to machinelist[2].job. Since the work progress time of productlist.name[m11] is 1, productlist.name[m11].time>SXlist[0].time, the production start time of this job stage class is productlist.name[m11].time, that is, 1, the production end time is 2, the production time is 1, and the production equipment is SX1. This stage is added to the progress process of productlist.name[m11]. At this time, productlist.name[m11].process contains two stages, indicating that m11 has completed two sections of processing, and machinelist[2] is updated, and the process time of productlist.name[m11] is 2.

[0142] i=2, the work progress of SX1 is 2, and the work progress of SX2 is 0, that is, SXlist[0].time>SXlist[1].time. random(1)=2, so this job arranges raw material 2 to be processed on the SX2 equipment, so m21 is added to machinelist[3].job. Since the work progress time of prouductlist.name[m21] is 2, prouductlist.name[m21].time>SXlist[1].time, the production start time of this job stage class is prouductlist.name[m21].time, that is, 2, the production end time is 4, the production time is 2, and the production equipment is SX2. This stage is added to the progress process of prouductlist.name[m21]. At this time, prouductlist.name[m21].process contains two stages, indicating that m21 has completed two stages of processing, and machinelist[3] is updated, and the process time of prouductlist.name[m21] is 4. The same is true when I=3,4,5,6. The names of the tasks completed by each device after all scheduling and the end time values ​​are shown in the table above.

[0143] Among them, in step 302, a work section arrangement of each job corresponds to a Stage() class, which corresponds to 4 key parameters: the name of the equipment that this arrangement is processed on, the start processing time of this arrangement, the processing time of this arrangement, and the end processing time of this arrangement. EndTime. Each job corresponds to a product() class, which contains 5 key parameters: the name of this job, the number of the raw material corresponding to this job, the number of the raw material production batch corresponding to this job, the end time of the current processing of this job, and the process arrangements that have completed this work, where process is a chain set of arranged Stages. All equipment constitutes MachineList, in which each equipment corresponds to a Machine() class, which contains 4 key parameters: the work section corresponding to this equipment, the number of this equipment itself, the time when this equipment ends the current work, and the name of the job that this equipment has processed. Based on the above, each honey source in the population corresponds to a feasible solution sequence random, a job chain productlist containing N product classes, a machine chain machinelist containing M maschine classes, a fitness value fitness, and a honey source that has been retained in the population after trail iterations. Each employed bee corresponds to a honey source, so in the process of initializing the population, the parameter values ​​of each employed bee and the honey source are made the same.

[0144] The above is only a preferred embodiment of the present invention and does not limit the present invention in any form. Although the present invention has been disclosed as a preferred embodiment as above, it is not used to limit the present invention. Any technician familiar with this profession can make some changes or modify the technical contents disclosed above into equivalent embodiments without departing from the scope of the technical solution of the present invention. However, any simple modification, equivalent replacement and improvement made to the above embodiments without departing from the content of the technical solution of the present invention, based on the technical essence of the present invention, within the spirit and principles of the present invention, still fall within the protection scope of the technical solution of the present invention.

Claims

1. A hybrid assembly line workshop scheduling method based on artificial bee colony algorithm, characterized in that: The specific steps include: Step 1: Give constraints that meet production requirements; Step 2: Data modeling; Step 3: Artificial bee colony algorithm; specifically including: Step 301, encoding and decoding; Step 302, initializing the population; Step 303, fitness function; Step 304: Generate a neighborhood solution; Step 305: employing bees, following bees and scout bees; Step 306: Set parameters.

2. The hybrid assembly line workshop scheduling method based on artificial bee colony algorithm according to claim 1 is characterized in that: The constraints in step 1 include: (1) Each device corresponds to only one process; (2) The equipment corresponding to each process is fixed; (3) Each type of equipment shall not be used more than once in the production of each raw material; (4) The order of using equipment for each raw material can be different; (5) Any operation has no priority for preemptive processing and must be subject to production sequence scheduling; (6) No new jobs can be added during the processing of the job, and the processing of the job cannot be temporarily cancelled; (7) Each operation can start the next stage only after the current stage is completed; (8) One batch of each raw material can be processed using one piece of equipment in each process; (9) The production scheduling sequence of different batches of the same raw material does not affect each other.

3. The hybrid assembly line workshop scheduling method based on artificial bee colony algorithm according to claim 1 is characterized in that: Data modeling in step 2 specifically includes: One batch of each raw material can be processed with one piece of equipment in each process; There are K kinds of raw materials, each of which needs to produce S i batches, N represents the S corresponding to k kinds of raw materials k The workload of each batch of work, each raw material corresponds to a batch S i The size is determined by inventory and market demand; Formula ① indicates that the workload of the entire scheduling is the sum of the batches of each raw material to be produced, and there are N tasks in total; M represents the number of equipment, h represents the maximum number of work stages required for each operation, and h i It indicates the number of machines in each section, that is, the i-th section has h i parallel machines; Formula ② indicates that the number of equipment in the entire scheduling is the sum of the number of parallel machines in each section; Note: i,j,k Whether the jth process of the i-th job is processed on the k-th equipment, t i,j,k It is expressed as the production time of the jth process of the i-th raw material on the kth equipment, ST i,j,k It is represented as the production start time of the jth process of the i-th job on the k-th equipment, ET i,j,k It is expressed as the production start time of the jth process of the i-th job on the k-th equipment, and has the following formula: ET i,j,k =ST i,j,k +t i,j,k ③, Formula ③ indicates that the end time of the jth process of each ith job on the kth device is the start time of the jth process of this job on the kth device plus the production time of the jth process of this job on the kth device, so as to meet the constraint conditions: no new jobs are added during the job processing, and the processing of the job cannot be temporarily cancelled; Formula ④ indicates that when the jth process of the ith job is produced on the kth device, P i,j,k =1, otherwise, if the jth process of the i-th job is not produced on the k-th equipment, then P i,j,k =0; each type of equipment is used no more than once in the production of each raw material, and the following formula is used: Formula ⑤ represents the h of the jth process in the production of the i-th job. j Only one of the parallel machines is used for processing and production to meet the constraints: each type of equipment is used no more than once for each raw material, and one batch of each raw material can be processed by one equipment in each process; Remember i,j,k The production completion time of the kth equipment in the jth section at the current moment when the current job i is completed; there is the following formula: g i,j,k <ST i′,j,k ⑥, ST i,j,k +t i,j,k =ET i,j,k <ST i′,j,k ⑦, ST i,j,k +t i,j,k =ET i,j,k ≤ST i,(j+1),k′ ⑧, Formulas ⑥ and ⑦ indicate that the start time of the next job of the same device in the current stage must be greater than the end time of the previous job to ensure that the constraint conditions are met: each device cannot process two jobs at the same time; Formula ⑧ indicates that the processing start time of this job in the next stage must be less than the end time of this job in this stage to ensure that the constraint condition is met: each job cannot be processed on two devices at the same time' The scheduling is to perform the extraction stage first and then the concentration stage. According to the above formula, the modeling results are as follows: the end time of work 2 in stage 1, i.e., on equipment 3, is less than the start time of work 3 in stage 1, i.e., on equipment 3; the end time of work 2 in stage 1, i.e., on equipment 3, is less than the start time of work 2 in the next stage, i.e., the start time of work 2 in stage 2 on equipment 7; The objective function is as follows: Formula ⑨ indicates that at the last moment, that is, after all devices complete the last scheduled job, the production end time of the device with the largest production end time is the scheduling solution. The objective function of the flexible operation mixed assembly line problem with parallel machines is to minimize the time consumption of the device with the largest production end time when all M devices have completed production.

4. The hybrid assembly line workshop scheduling method based on artificial bee colony algorithm according to claim 1 is characterized in that: Step 301 specifically includes: Link batches to inventory. When inventory is sufficient, reduce the batch size corresponding to this type of raw material. When inventory is insufficient, increase the batch size corresponding to this type of raw material to meet market demand and production needs. Using K kinds of raw materials, each raw material needs to produce S i batches, N represents the S corresponding to k kinds of raw materials k The workload of each batch of work corresponds to l h Parallel Devices h >2, there are m devices for encoding m = h × l h : Use N workloads to build solutions on M devices, set each solution to a sequence of certain numbers as a chromosome, and a part of each chromosome as a gene segment for easy description; the number of genes on each chromosome is set to N, and each chromosome is composed of S i The gene composition is {1,2,…,k}, so each raw material i is divided into S i The number of i in the sequence is S i and merge the sequences of i=1,2,…,k into a sequence {1,1,1,2,2,3,…,k,k,k,k}, and repeatedly exchange the numbers corresponding to two random numbers to form a random sequence; Using K kinds of raw materials, each raw material needs to produce S i batches, N represents the S corresponding to k kinds of raw materials k Decode the workload of each batch of work: Assume that the scheduling of the flexible mixed workshop with parallel machines is k=3, S1=1, S2=2, S3=3, and the three raw materials are numbered 1-3 respectively. Each number from 1 to 3 is repeated S1=1 times, number 2 is repeated S2=2 times, and number 3 is repeated S3=3 times as a chromosome and recorded as chain random(); Assume j=random(i), i represents the number of the job to be scheduled j represents the jth job of the ith scheduled task; assuming random(6) = {1,3,3,2,2,1}, the scheduled jobs are judged from left to right. If random(1) = 1, it means the first job to be scheduled is the first raw material, and if b[2] = 3, it means the second job to be scheduled is the third raw material. Similarly, when b[5] is scheduled, the number of i in b[1] to b[4] is the number of completed batches of raw material i. Therefore, if random(6) = {1,3,3,2,2,1}, the first job is to complete the first batch of the first raw material, the second job is to complete the first batch of the third raw material, the third job is to complete the second batch of the third raw material, the fourth job is to complete the first batch of the second raw material, the fifth job is to complete the second batch of the second raw material, and the sixth job is to complete the second batch of the first raw material, thus ending production.

5. The hybrid assembly line workshop scheduling method based on artificial bee colony algorithm according to claim 1 is characterized in that: Step 302 specifically includes: Randomly generate The sequence of a gene is regarded as a honey source, and l such sequences are randomly generated to form an initial population, that is, each honey source represents an individual, that is, each honey source is a feasible scheduling solution for a flexible operation mixed assembly line workshop with parallel machines; According to the coding sequence {1,1,1,2,2,3,...,k,k,k,k}, it is represented as j=random(i). The scheduling method is i from 1 to Sequential scheduling, j∈{1,2,...,k}, i is the current scheduling progress, j is each raw material, and the batch number of this work is the number of this raw material in the sequence before the current process.

6. The hybrid assembly line workshop scheduling method based on artificial bee colony algorithm according to claim 1 is characterized in that: Step 303 specifically includes: According to the encoding method, the order is scheduled from front to right, and the scheduling method is i from 1 to Sequential scheduling, for each scheduling arrangement, first sort the time when each device in the corresponding section chain of each section ends the current work, select the device with the least time and arrange it for this device, and compare the end time of the device with the end time of other sections of the current work, and use the larger end time as the start time of this work, and find this device in the equipment chain machinelist, update the key parameters of its maschine class in the equipment chain: update the end time of the current work of this device, update the job chain of this device, add the newly scheduled work to the job chain of this device, and update the Process chain of this work product class in the job chain productlist to add a stage() class, so that this class contains the production information of this work: on which device the current work is produced, production time, production start time, and production end time; for each section of the production, repeat the above design arrangement until all sections of all jobs are arranged. At this time, the end time value of each machine class in machinelist is the final end time of the current scheduling of each device, sort machinelist by time value, and transform the time value of the device with the largest time value as the fitness value for evaluation.

7. The hybrid assembly line workshop scheduling method based on artificial bee colony algorithm according to claim 1 is characterized in that: Step 304 specifically includes: Neighborhood search method Method1# randomly changes the order of any two unequal values ​​in the random() sequence, i.e. the honey source sequence, to change the working order of each task in each work section and then generate a neighborhood solution; the probability of designing neighborhood search method Method1# is P1; Neighborhood search method Method2# randomly selects a work section, randomly selects a point on the honey source, and swaps its production order with that of another adjacent raw material to change the production order of two adjacent raw materials on this work section; the probability of this neighborhood search is P2.