WO2024022054A1 - 柔性作业车间生产调度方法及装置 - Google Patents

柔性作业车间生产调度方法及装置 Download PDF

Info

Publication number
WO2024022054A1
WO2024022054A1 PCT/CN2023/105813 CN2023105813W WO2024022054A1 WO 2024022054 A1 WO2024022054 A1 WO 2024022054A1 CN 2023105813 W CN2023105813 W CN 2023105813W WO 2024022054 A1 WO2024022054 A1 WO 2024022054A1
Authority
WO
WIPO (PCT)
Prior art keywords
population
production
coding sequence
workpiece
production scheduling
Prior art date
Application number
PCT/CN2023/105813
Other languages
English (en)
French (fr)
Inventor
郝吉芳
杨卓士
Original Assignee
京东方科技集团股份有限公司
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 京东方科技集团股份有限公司 filed Critical 京东方科技集团股份有限公司
Publication of WO2024022054A1 publication Critical patent/WO2024022054A1/zh

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32252Scheduling production, machining, job shop
    • 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

Definitions

  • the present disclosure relates to the field of industrial manufacturing technology, and in particular to a flexible job shop production scheduling method and device, electronic equipment, and computer-readable storage media.
  • JSP Job-shop Scheduling Problem
  • FJSP Flexible Job-shop Scheduling Problem
  • the present disclosure provides a flexible job shop production scheduling method and device, electronic equipment, and computer-readable storage media.
  • the present disclosure provides a flexible job shop production scheduling method.
  • the flexible job shop production scheduling method includes:
  • the population includes multiple production scheduling plans, and the production scheduling plans represent a scheduling sequence of the workpieces to be produced;
  • the population is iteratively updated based on a preset target iteration algorithm, and the target production scheduling plan is determined according to the iterative process.
  • the production scheduling method before iteratively updating the population based on the preset target iterative algorithm, the production scheduling method further includes: for each production scheduling plan in the population, obtain the The fitness value corresponding to the production scheduling plan, the fitness value represents the production completion time corresponding to the production scheduling plan;
  • the preset target iterative algorithm iteratively updates the population, and determines the target production scheduling plan according to the iterative process, including:
  • the target production scheduling plan is determined based on the optimal solution obtained during the iterative process.
  • the production scheduling method further includes:
  • the target iterative algorithm includes the first particle swarm algorithm
  • the workpiece information includes the type of workpiece to be produced, the number of workpieces for each workpiece, the total number of processes for each workpiece, and the number of workpieces corresponding to each production stage.
  • the number of stage processes and the batch size of mass production; the initialized population generated based on the workpiece information to be produced includes:
  • each type code in the type coding sequence is coded and expanded to obtain a first extended coding sequence; each element in the first extended coding sequence represents the corresponding workpiece type and the corresponding In the production stage, the number of production stages is the ratio of the total number of processes to the number of stage processes;
  • the weight coding sequence includes a weight code corresponding to the elements of the second extended coding sequence in order, and the speed list Including speeds corresponding sequentially to elements corresponding to the second extended coding sequence;
  • Each element in the second extended coding sequence corresponding to the population particles is coded and expanded according to the number of workpieces and the number of stage processes of each type of workpiece to obtain a third extended coding sequence corresponding to the population particles;
  • Each element in the three extended coding sequences represents the workpiece number of a workpiece and a corresponding stage process in the production stage, and the third extended coding sequence represents a production scheduling scheme.
  • the iterative update of the population according to the fitness value based on the target iterative algorithm includes:
  • the sorting of the corresponding elements in the third extended coding sequence corresponding to the population particles is adjusted to update the corresponding production scheduling plan.
  • the target iterative algorithm includes a genetic algorithm
  • the workpiece information includes the type of workpiece to be produced, the number of workpieces for each workpiece, and the batch size of mass production; the initialization is generated according to the workpiece information to be produced.
  • species including:
  • each type of chromosome coding sequence Decodes each type of chromosome coding sequence according to the number of workpieces of each type of workpiece to obtain the individual chromosome decoding sequence corresponding to each type of chromosome coding sequence.
  • Each element in the individual chromosome decoding sequence represents the number of each workpiece of the corresponding workpiece type.
  • the workpiece number, decoded sequence of each individual chromosome represents a production scheduling scheme.
  • the iterative update of the population according to the fitness value based on the target iterative algorithm includes:
  • each individual chromosome decoding sequence in the population regenerate the corresponding type chromosome coding sequence according to the reverse order of decoding from the individual chromosome decoding sequence;
  • genetic operations are performed on the type of chromosome coding sequence in the population to update the type of chromosome coding sequence in the population.
  • the updated chromosome coding sequence of each type in the population is decoded to obtain the individual chromosome decoding sequence corresponding to the updated chromosome coding sequence of each type.
  • the target iterative algorithm includes a second particle swarm algorithm
  • the workpiece information includes the number of workpieces to be produced and the number of processes for each workpiece
  • the initialized population is generated according to the workpiece information to be produced, including :
  • each production scheduling plan corresponds to a population particle
  • the iterative update of the population according to the fitness value based on the target iterative algorithm includes:
  • each group of population particles including one main population particle and at least one slave population particle;
  • the optimal solution within the group of each group of population particles is determined.
  • the optimal solution within the group is the population particle corresponding to the minimum value among the fitness values of all population particles in the corresponding group.
  • the position of the main population particle is the position of the population particle corresponding to the optimal solution in the group;
  • the fitness value corresponding to the optimal solution within the group of each group of population particles determine the current global optimal solution of the population, and the current global optimal solution is the optimal solution within the group corresponding to the minimum fitness value;
  • the position and velocity of each population particle in each group of population particles are updated based on the optimal solution within the group and the current global optimal solution of the population.
  • the method further includes:
  • the inert population particles are removed from the population, and a corresponding number of new population particles are added to the population.
  • determining the inert population particles in the population based on the historical speed and historical position of each population particle in the population includes:
  • the population particles are determined to be the inert population particles.
  • the present disclosure provides a flexible job shop production scheduling device.
  • the flexible job shop production scheduling device includes:
  • An initialization unit configured to generate an initialized population based on information about workpieces to be produced, where the population includes multiple production scheduling plans, and the production scheduling plans represent a production sequence of the workpieces to be produced;
  • An update iteration unit is used to iteratively update the population based on a preset target iteration algorithm, and determine the target production scheduling plan according to the iterative process.
  • the production scheduling device further includes: an acquisition unit;
  • the obtaining unit is configured to obtain an adaptation value corresponding to the production scheduling plan for each production scheduling plan in the population, where the fitness value represents the production completion time corresponding to the production scheduling plan;
  • the update iteration unit includes: an update subunit, which is used to iteratively update the population according to the fitness value based on the target iterative algorithm; a target determination subunit, which is used to determine the optimal solution based on the optimal solution obtained during the iteration process.
  • Target production scheduling plan is used to determine the optimal solution based on the optimal solution obtained during the iteration process.
  • the present disclosure provides an electronic device, which includes:
  • the memory stores one or more computer programs that can be executed by the at least one processor, and the one or more computer programs are executed by the at least one processor, so that the at least one processor can execute the above-mentioned production scheduling method.
  • the present disclosure provides a computer-readable storage medium on which a computer program is stored, and the computer program implements the above-mentioned production scheduling method when executed by a processor.
  • Figure 1 is a schematic flow chart of a flexible job shop production scheduling method provided by an embodiment of the present disclosure
  • Figure 2 is a schematic flow chart of another flexible job shop production scheduling method provided by an embodiment of the present disclosure.
  • FIG. 3 is a schematic flow chart of a specific implementation of step S11 in Figure 2;
  • Figure 4 is a schematic flow chart of a specific implementation of step S13 in Figure 2;
  • FIG. 5 is a schematic flow chart of another specific implementation of step S11 in Figure 2;
  • FIG. 6 is a schematic flow chart of another specific implementation of step S13 in Figure 2;
  • FIG. 7 is a schematic flow chart of another specific implementation of step S11 in Figure 2;
  • FIG 8 is a schematic flow chart of another specific implementation of step S13 in Figure 2;
  • Figure 9 is a schematic diagram of the production completion time changes of the production scheduling plan during the iterative update process using the target iteration algorithm in an embodiment of the present disclosure
  • Figure 10 is a schematic structural diagram of a flexible job shop production scheduling device provided by an embodiment of the present disclosure.
  • Figure 11 is a schematic structural diagram of another flexible job shop production scheduling device provided by an embodiment of the present disclosure.
  • Figure 12 is a block diagram of an electronic device provided by an embodiment of the present disclosure.
  • Figure 1 is a schematic flow chart of a flexible job shop production scheduling method provided by an embodiment of the present disclosure. As shown in Figure 1, the production scheduling method includes: steps S01 to S02.
  • Step S01 Generate an initialized population based on the workpiece information to be produced.
  • the population includes multiple production scheduling plans, and the production scheduling plan represents a scheduling sequence of the workpieces to be produced;
  • Step S02 Iteratively update the population based on the preset target iteration algorithm, and determine the target production scheduling plan according to the iterative process.
  • the production scheduling scheme in the population is iterated and the optimal solution is solved based on the target iterative algorithm to obtain the target production scheduling scheme.
  • the target production scheduling scheme can be used to guide the factory to formulate production plans. It can not only Improve the utilization rate of production equipment, and can effectively complete the processing tasks of corresponding workpieces in the shortest time, maximizing the satisfaction of workpiece production and delivery plans.
  • Figure 2 is a schematic flow chart of another flexible job shop production scheduling method provided by an embodiment of the present disclosure. As shown in 2, the production scheduling method includes:
  • Step S11 Generate an initialized population based on the workpiece information to be produced.
  • the population includes multiple production scheduling plans, and the production scheduling plan represents a scheduling sequence of the workpieces to be produced.
  • Step S12 For each production scheduling plan in the population, obtain the fitness value corresponding to the production scheduling plan.
  • the fitness value represents the production completion time corresponding to the production scheduling plan.
  • the production completion time refers to the time consumed from the start of production and processing to the completion of production when using production equipment to produce and process the workpieces to be produced according to the production scheduling plan.
  • the above-mentioned step of iteratively updating the population based on a preset target iterative algorithm and determining the target production scheduling plan according to the iterative process may further include: step S13 and step S15.
  • Step S13 Based on the target iterative algorithm, iteratively update the population according to the fitness value.
  • Step S15 Determine the target production scheduling plan based on the optimal solution obtained during the iterative process.
  • the production scheduling method further includes: step S14.
  • Step S14 Determine whether the current iteration round exceeds the iteration round threshold. If so, jump to step S15; otherwise, return to step S12.
  • the iteration round threshold can be set according to actual needs. For example, the iteration round threshold can be set to 100.
  • the population is iteratively updated by obtaining the fitness value of each production scheduling plan in the population, and the optimal solution in the iterative process is determined based on the fitness value during the iterative process to determine the population.
  • the optimal target production scheduling plan can be used to guide factories to formulate production plans. It can not only improve the utilization rate of production equipment, but also effectively complete the processing tasks of corresponding workpieces in the shortest time, maximizing the satisfaction of workpiece production delivery. plan.
  • the target iterative algorithm includes a first particle swarm algorithm, and the first particle swarm algorithm is used for production scheduling.
  • the workpiece information to be produced includes the type of workpiece to be produced, the number of workpieces for each workpiece, and the total number of each workpiece.
  • Figure 3 is a flow chart of a specific implementation of step S11 in Figure 2. As shown in Figure 3, in some embodiments, in step S11, generating an initialized population based on the workpiece information to be produced may further include: Step S111a to step S115a.
  • Step S111a Determine the type code of each workpiece according to the ratio of the number of workpieces and the batch size of each workpiece to obtain a type code sequence.
  • the number of type codes corresponding to each workpiece is determined based on the ratio of the number of workpieces to the batch size of each workpiece, and the type code of each workpiece is determined based on the number of type codes corresponding to each workpiece, thereby obtaining the type coding sequence, type coding sequence Contains the type code corresponding to each workpiece.
  • the type code corresponding to each workpiece is set continuously in order from small to large, and the smallest code in the type code of the latter type of workpiece is continued. The largest number among the category codes for artifacts of the previous category.
  • the number of type codes corresponding to the type of workpiece is the ratio of the number of workpieces to be produced to the batch size of the type of workpiece; in this type
  • the number of type codes corresponding to the type of workpiece is the number of workpieces to be produced for the type of workpiece divided by the batch size (batch), rounded to an integer, and then added by 1.
  • the number of workpieces required for the three categories of workpieces are X, Y, and Z respectively.
  • the total number of processes required for the production of each workpiece of category A is The total number of processes required for the production of each workpiece of category P and B is Q, the total number of processes required for the production of each workpiece of category C is N, and the three categories of A, B, and C All workpieces satisfy that each T process is a production stage, that is, the number of stage processes corresponding to each production stage is T, and the number of production stages of each workpiece for each workpiece is the ratio of the corresponding total process number to the number of stage processes, and the batch size
  • the production batch size (batch) is M.
  • type B workpieces and type C workpieces are type-coded.
  • the type coding sequence is [0,1,2,3].
  • element 0 in this type coding sequence represents workpieces No. 0-29 of type A workpieces
  • element 1 represents workpieces No. 30-49 of type A workpieces
  • Element 2 represents workpieces No. 0-29 of Class B workpieces
  • element 3 represents workpieces No. 0-29, and so on.
  • Step S112a Expand each category code in the category coding sequence according to the number of production stages of each workpiece to obtain a first extended coding sequence.
  • Each element in the first extended coding sequence represents the corresponding workpiece type and the corresponding production stage.
  • the maximum number of production stages is determined according to the number of production stages of each workpiece; the type coding sequence is repeated the maximum number of production stages times to obtain a new type coding sequence; the same elements appear in the new type coding sequence
  • each element is expanded into a binary array to obtain the first extended encoding sequence.
  • the first extended coding sequence each element is a binary array, the first number in each binary array represents the corresponding workpiece type, and the second number represents the corresponding production stage.
  • the category coding sequence obtained in the previous step is [0,1,2,3], then repeat it twice to obtain a new category coding sequence: [0,1,2,3,0,1,2,3], according to The order in which the same elements appear in the new type encoding sequence is expanded into a binary array to obtain the first extended encoding sequence.
  • the first “0” is expanded to (0, 1)
  • the second “0” is expanded to (0, 2)
  • the first “1” is expanded to (1, 1)
  • (0, 1) represents the first batch of type A workpieces
  • the first production stage of the workpiece (1,1) represents the first production stage of the second batch of workpieces of type A
  • (2,1) represents the first production stage of the first batch of workpieces of type B production stages
  • (0, 2) represents the second production stage of the first batch of workpieces of type A, and so on.
  • the number of production stages reflected in the coding sequence of this type of workpiece may be greater than its actual number of production stages, so in subsequent During production and processing, just set the production time of the redundant production stages in the coding of this type of workpiece to 0.
  • each type code corresponding to each workpiece in the type coding sequence is repeated the number of production stages of the corresponding type of workpiece to obtain a new type coding sequence; the first extension is obtained Coding sequence; according to the order in which the same elements appear in the new type coding sequence, expand each element into a binary array to obtain the first extended coding sequence.
  • each element is a binary array, the first number in each binary array represents the corresponding workpiece type, and the second number represents the corresponding production stage.
  • the first “0” is expanded to (0, 1)
  • the second “ 0” is expanded to (0, 2)
  • the first “1” is expanded to (1, 1), and so on, obtaining the first extended coding sequence: [(0, 1), (1, 1), (0 ,2),(1,2),(2,1),(2,2),(3,1)].
  • (0, 1) represents the first production stage of the first batch of workpieces of type A
  • (1, 1) represents the first production stage of the second batch of workpieces of type A
  • (0, 2) represents the second production stage of the first batch of workpieces of type A
  • (2,1) represents the first production stage of the first batch of workpieces of type B, and so on.
  • Step S113a Adjust the ordering of elements in the first extended coding sequence to generate multiple second extended coding sequences with different element orders. Each population particle corresponds to one second extended coding sequence.
  • step S113a multiple first extended coding sequences are copied, and the ordering of elements in each first extended coding sequence is adjusted to obtain multiple second extended coding sequences.
  • the ordering of elements of the multiple second extended coding sequences are mutually exclusive. Are not the same.
  • the elements corresponding to the same type of workpieces and the same batch of workpieces are sorted in the order of the corresponding production stages, corresponding to the same type of workpieces and the same batch.
  • the other elements can correspond to different batches of workpieces of the same type, or can also be elements corresponding to other types of workpieces. For example, element (0,1) needs to be sorted before element (0,2), and element (1,1) can be sorted between elements (0,1) and (0,2).
  • the first extended coding sequence is: By adjusting the ordering of elements according to the above rules, multiple second extended coding sequences are obtained.
  • the multiple second extended coding sequences are respectively: [(0, 1), (1, 1), (0, 2), (1, 2), (2, 1), (2, 2), (3, 1), (3, 2)], [(1, 1), (0, 1), (1, 2), (0, 2), (2, 1), (3, 1), (2, 2), (3, 2)], [(0, 1), (2, 1), (2, 2), (1, 1), (0, 2), (1, 2), (3, 1), (3, 2)].
  • Step S114a For each population particle of the population, generate a weight coding sequence and speed list corresponding to the population particle.
  • the weight coding sequence includes weight codes corresponding to elements of the second extended coding sequence in one-to-one order, and the speed list includes speeds corresponding to elements of the second extended coding sequence in one-to-one order.
  • the initial weight coding sequence and speed list can be generated randomly, and the lengths of the weight coding sequence and the speed list are both the length of the second extended coding sequence in the corresponding population particles.
  • the initial weight coding sequence may be an arithmetic sequence with 0 as the starting element, the length being the length of the corresponding second extended coding sequence, and the difference between adjacent elements being 1, for example, [0, 1, 2, 3, 4, 5, 6, 7], where each element represents the weight coding of the corresponding element in the second extended coding sequence.
  • the initial speed list its length is the length of the corresponding second extended coding sequence, in which the value of each element is a random value between the negative maximum speed -v_max and the positive maximum speed v_max.
  • the maximum speed v_max is set to 3
  • the initial speed list can be configured as [-1,0,1,2,2.5,-0.1,........,-2,3], where each element represents the second The speed at which corresponding elements in an encoding sequence are expanded.
  • Step S115a Code and expand each element in the second extended coding sequence corresponding to the population particles according to the number of workpieces and the number of stage processes of each type of workpiece, to obtain a third extended coding sequence corresponding to the population particles.
  • each element in the third extended coding sequence represents the workpiece number of a workpiece and a corresponding stage process in the production stage, and the third extended coding sequence represents a production scheduling plan.
  • a second extended coding sequence obtained according to the above encoding method is [(0,1), (1,1), (0,2), (1,2)],
  • (0,1) represents the first production stage of the first type of workpiece
  • (0,2) represents the second production stage of the first type of workpiece
  • (1,1) represents The first production stage of the second type of workpiece
  • (1,2) represents the second production stage of the second type of workpiece.
  • the elements (0, 1) and (0, 2) in the second extended coding sequence are expanded according to the number of workpieces 3 and the number of stage processes required to produce the second type of workpiece 3, Expand elements (1, 1) and (1, 2) in the second extended coding sequence respectively.
  • first number the workpieces that need to be produced such as 0 and 1, which represent the 0th workpiece and the 1st workpiece respectively;
  • the processes are numbered, such as 1, 2, and 3, which respectively represent the first stage process, the second stage process and the third stage process of the first production stage;
  • the second stage process of the production stage The processes are numbered, such as 3, 4, and 5, which respectively represent the first stage process, the second stage process and the third stage process of the second production stage; based on the workpieces to be produced in the first type of workpieces mentioned above
  • the workpiece number and stage process number are used to expand the corresponding elements in the second extended coding sequence.
  • the element (0, 1) is expanded to [(0, 1), (0, 2), (0, 3), ( 1, 1), (1, 2), (1, 3)], extending element (0, 2) to [(0, 3), (0, 4), (0, 5), (1, 3 ), (1, 4), (1, 5)], where in the expanded binary array of each element, the first number represents the workpiece number, and the second number represents the stage process number.
  • the stage processes of the first production stage are numbered, such as 1, 2, and 3, which respectively represent the first stage process, the second stage process, and the third stage process of the first production stage;
  • the stage processes of the second production stage are numbered, such as 3, 4, and 5, which respectively represent the first stage process, the second stage process, and the third stage process of the second production stage; based on the above-mentioned second type of workpiece
  • the workpiece number and stage process number of the workpiece to be produced in the second extended coding sequence are expanded, for example, the element (1, 1) is expanded to [(2, 1), (2, 2), (2,3), (3,1), (3,2), (3,3), (4,1), (4,2), (4,3)], change the element (1,2) Expanded to [(2,3), (2,4), (2,5)
  • each third extended coding sequence represents a production scheduling plan, and the ordering of elements in the third extended coding sequence represents the production sequence of the corresponding workpiece.
  • the workpieces and processes to be produced are encoded through the encoding method of steps S111a to S115a, and finally the third extended coding sequence obtained by encoding is used as a production scheduling plan for production and processing, which can effectively ensure that for For the production of a batch of workpieces of the same type, the production equipment does not need to be switched, which avoids the cross-production of different types of workpieces, ensures the saturation of batch production and production equipment usage, and effectively avoids mixed production and idle production equipment. , improve equipment utilization and shorten the maximum completion time.
  • Figure 4 is a flow diagram of a specific implementation of step S13 in Figure 2.
  • the workpiece and process to be produced are coded based on the coding method of steps S111a to S115a, according to the A particle swarm algorithm updates and evolves each population particle.
  • the population is iteratively updated according to the fitness value, which may further include: steps S131a to S134a.
  • S131a Determine the current global optimal solution of the population based on the fitness value corresponding to each population particle.
  • the current global optimal solution of the population is the current global optimal population particle.
  • the current global optimal solution of the population is determined based on the minimum value of the fitness values corresponding to multiple population particles in the population.
  • the current global optimal solution of the population is the current global optimal population particle, that is, multiple populations The population particle corresponding to the minimum value among the fitness values corresponding to the particle.
  • the current individual optimal solution of the population particle is determined based on the minimum value of the fitness value of the population particle in the historical iteration rounds and the fitness value in the current round.
  • the second extended coding sequence of the current population particles is [(0, 1), (0, 2), (1, 1)], and its weight coding sequence is [1, 2, 3].
  • the current global maximum The second extended coding sequence of the optimal population particles is [(1, 1), (0, 1), (0, 2)], and its weight coding sequence is [1, 2, 3].
  • the corresponding weight code of the extended coding sequence element (0, 1) in the current population particle is 1, and the corresponding weight code in the optimal population particle is 2; the extended coding sequence element (0, 2) is coded in the current population particle The corresponding weight code is 2, and the corresponding weight code in the optimal population particle is 3; the corresponding weight code of the extended coding sequence element (1, 1) in the current population particle is 3, and the corresponding weight in the optimal population particle is Encoded as 1.
  • the second extended coding sequence of the current population particles is [(0, 1), (0, 2), (1, 1)]
  • the original weight coding sequence is [1, 2, 3]
  • the second extended coding sequence of the optimal population particles is [(1, 1), (0, 1), (0, 2)]
  • its weight coding sequence is [1, 2, 3], which is calculated according to the above step S142a
  • the new weight coding sequence is [-2,1,1], where, in the new weight coding sequence, the extended coding sequence element corresponding to "-2" is (1, 1), and the first "1" corresponds to The extended coding sequence element is (0, 1), and the extended coding sequence element corresponding to the second "1" is (0, 2).
  • the second extension corresponding to the population particles is adjusted.
  • the corresponding elements in the coding sequence are sorted to obtain a new second extended coding sequence: [(1, 1), (0, 1), (0, 2)]. It can be seen that the population particles are moving in the direction of the optimal population particles.
  • workpieces of the same type need to be produced sequentially in the order of production stages and cannot be reversed. Therefore, in the adjusted second extended coding sequence, for elements corresponding to workpieces of the same type, when there is a corresponding production stage in the second When the element is located before the element corresponding to the previous production stage, the ordering of the elements that will cause the production stage to be reversed is adjusted so that the elements corresponding to the same type of workpiece are sorted according to the order of the production stage.
  • the adjusted second extended coding sequence is [(0,2),(1,1),(0,1),(1,2)], where (0,2) is ranked in (0,1 ) will result in reverse order production in the production stage, so the adjusted second extended coding sequence is further adjusted to [(0,0), (1,0), (0,1), (1,1)].
  • the elements in the third coding sequence are extended codes for the elements in the corresponding second extended coding sequence. Therefore, each element of the second extended coding sequence is the same as the corresponding element in the third coding sequence. The elements have a corresponding relationship. Therefore, when the sorting of the elements in the second extended coding sequence is updated, the sorting of the corresponding elements in the corresponding third extended coding sequence also needs to be adjusted. According to the second extended coding corresponding to the adjusted population particles The sorting of elements in the sequence is adjusted to the sorting of corresponding elements in the third extended coding sequence corresponding to the population particles to update the corresponding production scheduling plan.
  • the target iterative algorithm includes a genetic algorithm, and the genetic algorithm is used for production scheduling.
  • the workpiece information includes the type of workpiece to be produced, the number of workpieces for each workpiece, and the batch size of mass production.
  • Figure 5 is a schematic flowchart of another specific implementation of step S11 in Figure 2. As shown in Figure 5, in some embodiments, in step S11, an initialized population is generated according to the workpiece information to be produced, which may further include : Step S111b ⁇ Step S112b.
  • Step S111b Perform chromosome coding according to the type of workpiece to be produced to obtain multiple types of chromosome coding sequences.
  • each element represents the chromosome coding of a type of artifact.
  • Step S112b Decode each type of chromosome coding sequence according to the number of workpieces of each type of workpiece, and obtain the individual chromosome decoding sequence corresponding to each type of chromosome coding sequence.
  • each element in the individual chromosome decoding sequence represents the workpiece number of each workpiece corresponding to the workpiece type, and each individual chromosome decoding sequence represents a production scheduling plan.
  • type A workpieces The workpiece numbers of two workpieces of type B can be configured as 0 and 1, the workpiece numbers of three workpieces of type B workpieces can be configured as: 2, 3, and 4, and the workpiece numbers of four workpieces of type C workpieces can be configured as: 5. , 6, 7, 8.
  • the workpiece numbers of the two workpieces of type D workpiece can be configured as: 9, 10.
  • the corresponding individual chromosome coding sequence can be obtained by decoding the type chromosome coding [0,1,2,3]: [ 0,1,2,3,4,5,6,7,8,9,10], decode the species chromosome coding [3,0,2,1] and obtain the corresponding individual chromosome coding sequence: [9, 10,0,1,5,6,7,8,2,3,4].
  • each element represents the workpiece number of a workpiece of the corresponding workpiece type.
  • Each individual chromosome decoding sequence represents a production scheduling plan. The ordering of elements in the individual chromosome decoding sequence represents the production order of the corresponding workpiece. .
  • the same category of workpieces are encoded and decoded in batches to obtain the category chromosome coding sequence and the individual chromosome coding sequence.
  • Each element in the category chromosome coding sequence represents a For each batch of workpieces of a type in mass production, genetic operations such as selection, crossover, and mutation in subsequent genetic algorithms are all performed on the type chromosome coding sequence. This ensures that the same operations are performed on the batch of workpieces of this type. Consistency is guaranteed.
  • the individual chromosome coding sequence is based on the type chromosome coding sequence and is obtained by decoding the workpiece quantity and workpiece number of each type of workpiece.
  • the decoded individual chromosome coding sequence is used for subsequent distribution and production of production equipment.
  • the completion time of the last produced workpiece in the batch of workpieces of this type is regarded as the completion time of this batch of workpieces of this type, and the type coding sequence is carried out based on the completion time of each batch of workpieces of each type of workpiece. Genetic operation is put back into production, and the optimal solution is obtained based on genetic algorithm.
  • Figure 6 is a schematic flowchart of another specific implementation of step S13 in Figure 2.
  • the population is iteratively updated according to the fitness value, which may further include: steps S131b to step S133b.
  • Step S131b For each individual chromosome decoding sequence in the population, regenerate the corresponding type chromosome coding sequence from the individual chromosome decoding sequence in the reverse order of decoding.
  • the individual chromosome coding sequence is: [0,1,2,3,4,5,6,7,8,9,10], then process it in the reverse order of the decoding in step S112a to obtain the corresponding type chromosome coding sequence: [ 0,1,2,3].
  • Step S132b Based on the fitness value corresponding to each type of chromosome coding sequence in the population, perform a genetic operation on the type chromosome coding sequence in the population to update the type chromosome coding sequence in the population.
  • genetic operations include selection, crossover, and mutation.
  • the selection operation refers to selecting excellent individuals from the current population with a certain probability to form a new population to reproduce individuals in the next generation population.
  • the probability of an individual being selected is related to the fitness value. The higher the fitness value of the individual. , the greater the probability of being selected.
  • the crossover operation refers to randomly selecting two individuals from the population, and passing the excellent characteristics of the parent string to the child string through the exchange and combination of the two chromosome codes, thereby producing new excellent individuals.
  • Mutation operation refers to replacing the gene values at certain loci in the species chromosome coding sequence with other alleles of the locus, thereby forming a new individual.
  • Step S133b Decode each type of chromosome coding sequence in the updated population to obtain the individual chromosome decoding sequence corresponding to the updated each type of chromosome coding sequence.
  • step S133b please refer to the description of step S112b above, and will not be described again here.
  • the target iterative algorithm includes a second particle swarm algorithm, and the second particle swarm algorithm is used for production scheduling.
  • the workpiece information to be produced includes the number of workpieces to be produced and the number of processes for each workpiece.
  • the FJSP problem can be described as : Arrange n workpieces to be produced and processed on m production equipment. Each workpiece contains s sequentially executed processes. The processing time of each process on the production equipment is known, and a production scheduling plan is developed for these workpieces. The goal is to optimize the maximum makespan, that is, to minimize the total processing time of all operations for all workpieces.
  • Constraint 1 Each process is processed on designated production equipment, and processing can only begin after the previous process is completed.
  • Constraint 2 One production equipment can only process one workpiece at a certain time.
  • Constraint 3 Each workpiece can only be processed once on one production equipment.
  • Constraint 4 The process sequence and processing time of each workpiece are known and do not change with the change of processing sequence.
  • FIG. 7 is a schematic flowchart of another specific implementation of step S11 in Figure 2.
  • an initialized population is generated according to the workpiece information to be produced, which may further include : Step S111c ⁇ Step S112c.
  • Step S111c Generate multiple production scheduling plans based on the number of workpieces to be produced and the number of process steps for each workpiece, and each production scheduling plan corresponds to one population particle.
  • the population is randomly initialized, and multiple production scheduling plans are generated based on the number of workpieces to be produced and the number of processes for each workpiece.
  • Each production scheduling plan corresponds to a population particle. For example, there are 5 workpieces A, B, C, D, and E. Each workpiece has 3 processes.
  • Each production schedule represents the processing sequence of each process of the 5 workpieces.
  • a production schedule is BADCEABDCEBADEC. , where the number of occurrences of each workpiece indicates the process. For example, the first occurrence of B indicates the first process of workpiece B, and the second occurrence of B indicates the second process of workpiece B.
  • Step S112c Randomly initialize the inertia weight, position and speed parameters corresponding to each population particle.
  • FIG 8 is a schematic flowchart of another specific implementation of step S13 in Figure 2.
  • iteratively updating the population based on the fitness value may further include: steps S131c ⁇ Step S134c.
  • Step S131c Divide multiple population particles in the population into multiple groups of population particles according to the order of corresponding fitness values from small to large.
  • Each group of population particles includes one main population particle and at least one slave population particle.
  • the population has 50 population particles.
  • the 50 population particles are divided into 5 groups in order. Each group contains 10 population particles.
  • One population particle is randomly selected as the master population particle, and the other population particles are slave population particles.
  • Step S132c Determine the optimal solution within each group of population particles based on the fitness value corresponding to each population particle in each group of population particles.
  • the optimal solution within the group is the population particle corresponding to the minimum value of the fitness values of all population particles in the corresponding group
  • the position of the main population particle is the position of the population particle corresponding to the optimal solution within the group.
  • Step S133c Determine the current global optimal solution of the population based on the fitness value corresponding to the optimal solution within the group of each group of population particles.
  • the current global optimal solution is the optimal solution within the group corresponding to the minimum fitness value.
  • Step S134c For each group of population particles, update the position and speed of each population particle in each group of population particles based on the optimal solution within the group and the current global optimal solution of the population.
  • the position and speed of the particles are multi-dimensional vectors, and the value of each dimension is updated according to the position update formula and the speed update formula.
  • the speed update formula is:
  • the position update formula is:
  • V k id represents the d-dimensional component of the velocity of the i-th main population particle i in the k-th iteration round
  • x k id represents the d position of the i-th main population particle i in the k-th iteration round.
  • c 1 and c 2 are acceleration constants, used to adjust the maximum learning step size; r 1 and r 2 are two random functions, whose value range is [0,1], used to increase search randomness; w represents Inertia weight, which is a non-negative number, is used to adjust the search range of the solution space; pbest id represents the best position experienced by the i-th group of main population particles i, that is, the best solution in the current group and the historical group in the i-th group The position of the optimal solution in the inner optimal solution; gbest id represents the best position that the population has experienced, that is, the position of the current global optimal solution of the population.
  • the population particles are divided into multiple groups, and each group selects one master population particle and the others are slave population particles. Even if the master population particles of one group fall into the local optimal solution, the particles of the other groups will The main population particles can still continue to search, which can effectively avoid the failure of the algorithm to obtain the global optimal solution due to the algorithm falling into the local optimal solution, and effectively improve the phenomenon of the algorithm falling into the local optimal solution.
  • the production scheduling method when the population is iteratively updated based on the update method of steps S131c to S134c, after iteratively updating the population according to the fitness value based on the target iterative algorithm, the production scheduling method further includes: according to the population The historical velocity and historical position of each population particle in the population determine the inert population in the population. Particles; remove inert population particles from the population and add a corresponding number of new population particles to the population.
  • the initialization method of the new population particles can refer to the above step S111c, which will not be discussed here. Repeat.
  • determining the inert population particles in the population based on the historical speed and historical position of each population particle in the population includes: when the changes in the multiple historical velocities of the population particles are less than the first threshold, and the multiple histories of the population particles When the change in position is less than the second threshold, the population particles are determined to be inert population particles.
  • the first threshold and the second threshold can be set according to actual needs, and the embodiments of the present disclosure do not impose special restrictions on this.
  • the changes in the multiple historical velocities of the population particles are greater than or equal to the first threshold, or the changes in the multiple historical positions of the population particles are greater than or equal to the second threshold, it is determined that the population particles are not inert population particles.
  • the convergence speed of the algorithm can be effectively accelerated.
  • step S12 for each production scheduling plan in the population, obtaining the fitness value corresponding to the production scheduling plan may further include: selecting the corresponding production equipment to perform workpiece production and processing according to the production scheduling plan, and obtaining the production Completion time; based on the preset fitness value function, obtain the fitness value corresponding to the production scheduling plan according to the production completion time.
  • the preset fitness value function can be determined based on the actually adopted particle swarm algorithm or genetic algorithm, and the fitness value corresponding to the production scheduling plan can be obtained based on the fitness value function.
  • selecting corresponding production equipment to perform workpiece production and processing according to the production scheduling plan may further include: selecting the corresponding workpiece for each workpiece to be produced in the production scheduling plan based on the last completion time of each production equipment in the production equipment set.
  • Production equipment performs workpiece processing and production; obtains equipment maintenance information, and when the selected production equipment is determined to be in a maintenance state based on the equipment maintenance information, adjust the last completion time of the production equipment in the maintenance state to the maintenance end time, and reset Return to the step of selecting the corresponding production equipment for workpiece processing and production for each workpiece to be produced in the production scheduling plan based on the last completion time of each production equipment in the production equipment set.
  • the production equipment corresponding to the last completion time with the longest distance from the start of processing that is, the earliest idle production equipment in the production equipment cluster.
  • each workpiece to be produced selects the corresponding production equipment for workpiece processing and production, so as to re-select the production equipment for production and processing based on the last completion time of each production equipment in the updated production equipment set. If the selected production equipment is not in maintenance status during the production period, the production equipment will be used directly for production.
  • the production and processing information of the production scheduling plan is recorded and updated. information and device status information.
  • a judgment is made as to whether it is in maintenance time to determine all production equipment under maintenance during the production period, and adjust the last completion time of these production equipment to their maintenance end time. In this way, according to the principle of shortest time allocation, the selection of production equipment will no longer select the production equipment in the maintenance state.
  • the equipment maintenance status is judged and the production equipment is selected through the equipment status information, making the entire production scheduling more consistent with the real workshop scheduling. scene, more practical.
  • the production of workpieces will go through multiple processes and will exhibit certain cycle characteristics.
  • the same process can be reused for multiple production processes of workpieces.
  • Production equipment for production and processing For example, each type of workpiece to be produced meets the requirements that every 3 processes are a production stage, that is, the number of stage processes corresponding to each production stage is 3. Assuming that the production of a type of workpiece requires 6 processes, then the 1st /2/3 processes and 4/5/6 processes can be produced using the same production equipment.
  • step S15 the target optimal solution is determined based on the minimum value of the fitness value corresponding to the global optimal solution generated in each iteration round, and the target optimal solution is the global optimal solution corresponding to the minimum fitness value. solution, and the production scheduling plan corresponding to the target optimal solution is used as the target production scheduling plan.
  • the target production scheduling plan is output, and the production and processing information during production and processing based on the target production scheduling plan is recorded.
  • the production and processing information includes the production equipment, start processing time, and end processing time corresponding to each workpiece and each process.
  • the target production scheduling plan and corresponding production and processing information can be used to guide the factory to formulate production plans, which can not only improve the utilization rate of production equipment, but also effectively complete the processing tasks of corresponding workpieces in the shortest time and maximize the workpiece production delivery plan.
  • Table 1 shows the production sequence in an exemplary initialized production scheduling scheme
  • Table 2 shows the production of each workpiece in each stage of each production stage in an exemplary production scheduling scheme.
  • Time usage shows an exemplary equipment maintenance status record of different types of production equipment.
  • Figure 9 shows the changes in production completion time of the production scheduling plan in the iterative update process using the target iteration algorithm in an embodiment of the present disclosure. Schematic diagram, in the actual application scenario, as shown in Figure 9, the abscissa represents the iteration round, and the ordinate represents the production completion time of the production scheduling plan.
  • the target iterative algorithm of the present disclosure is used to iteratively update the production scheduling plan, and based on the equipment status shown in Table 3, appropriate production equipment is selected to produce according to the production scheduling plan.
  • the production scheduling time is greatly shortened to 20100 seconds, that is, 5.6 hours, that is, the production scheduling method of the embodiment of the present disclosure can effectively shorten the production completion time required by the production scheduling plan, and effectively improve the production efficiency.
  • Figure 10 is a schematic structural diagram of a flexible job shop production scheduling device provided by an embodiment of the present disclosure.
  • the production scheduling device 200 includes an initialization unit 201 and an update iteration unit 202.
  • the initialization unit 201 is used to generate an initialized population based on the information of the workpieces to be produced.
  • the population includes multiple production scheduling plans, and the production scheduling plans represent a production sequence of the workpieces to be produced.
  • the update iteration unit 202 is used to iteratively update the population based on a preset target iteration algorithm, and determine the target production scheduling plan according to the iterative process.
  • FIG. 11 is a schematic structural diagram of another flexible job shop production scheduling device provided by an embodiment of the present disclosure. As shown in FIG. 11 , the production scheduling device 200 further includes an acquisition unit 203 .
  • the acquisition unit 203 is used to obtain the fitness value corresponding to the production scheduling scheme for each production scheduling scheme in the population, and the fitness value represents the production completion time corresponding to the production scheduling scheme.
  • the update iteration unit 202 includes: an update subunit 2021 and a target determination subunit 2022. Among them, the update subunit 2021 is used to iteratively update the population according to the fitness value based on the target iterative algorithm; the target determiner Unit 2022 is used to determine the target production scheduling plan based on the optimal solution obtained during the iterative process.
  • the update iteration unit 202 also includes: a judgment sub-unit 2023.
  • the judgment subunit 2023 is used to: after the update subunit 2021 iteratively updates the population, judge whether the current iteration round exceeds the iteration round threshold; when the current iteration round does not exceed the iteration round threshold, trigger the acquisition unit 203 Execute the step of obtaining the fitness value corresponding to the production scheduling plan for each production scheduling plan in the population; when the current iteration round exceeds the iteration round threshold, trigger the target determination subunit 2022 to execute the optimal solution obtained during the iteration process Steps to determine target production schedule.
  • the flexible job shop production scheduling device 200 provided by the embodiment of the present disclosure is used to implement the production scheduling method provided by any of the above embodiments.
  • Figure 12 is a block diagram of an electronic device provided by an embodiment of the present disclosure.
  • an embodiment of the present disclosure provides an electronic device, which includes: at least one processor 301; at least one memory 302, and one or more I/O interfaces 303, connected between the processor 301 and the memory 302 among them, the memory 302 stores one or more computer programs that can be executed by at least one processor 301, and the one or more computer programs are executed by at least one processor 301, so that at least one processor 301 can execute the above-mentioned Production scheduling methods.
  • Embodiments of the present disclosure also provide a computer-readable storage medium on which a computer program is stored, wherein the computer program implements the above-mentioned production scheduling method when executed by a processor.
  • Computer-readable storage media may be volatile or non-volatile computer-readable storage media.
  • Embodiments of the present disclosure also provide a computer program product, including computer readable code, or a non-volatile computer readable storage medium carrying the computer readable code.
  • computer readable code When the computer readable code is stored in a processor of an electronic device, When running, the processor in the electronic device executes the above production scheduling method.
  • computer storage media includes volatile and non-volatile media implemented in any method or technology for storage of information such as computer readable program instructions, data structures, program modules or other data. lossless, removable and non-removable media.
  • Computer storage media include, but are not limited to, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM), static random access memory (SRAM), flash memory or other memory technology, portable Compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical disk storage, magnetic cassette, tape, magnetic disk storage or other magnetic storage device, or or any other medium that can be used to store the desired information and that can be accessed by a computer.
  • communication media typically embodies computer readable program instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery medium.
  • Computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to various computing/processing devices, or to an external computer or external storage device over a network, such as the Internet, a local area network, a wide area network, and/or a wireless network.
  • the network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers.
  • a network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage on a computer-readable storage medium in the respective computing/processing device .
  • Computer program instructions for performing operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or instructions in one or more programming languages.
  • the computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server implement.
  • the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (such as an Internet service provider through the Internet). connect).
  • LAN local area network
  • WAN wide area network
  • an external computer such as an Internet service provider through the Internet. connect
  • an electronic circuit such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA)
  • the electronic circuit can Computer readable program instructions are executed to implement various aspects of the disclosure.
  • the computer program product described here may be implemented specifically through hardware, software, or a combination thereof.
  • the computer program product is embodied as a computer storage medium.
  • the computer program product is embodied as a software product, such as a Software Development Kit (SDK), etc. wait.
  • SDK Software Development Kit
  • These computer-readable program instructions may be provided to a processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, thereby producing a machine, such that when executed by the processor of the computer or other programmable data processing apparatus, these computer-readable program instructions , resulting in an apparatus that implements the functions/actions specified in one or more blocks in the flowchart and/or block diagram.
  • These computer-readable program instructions can also be stored in a computer-readable storage medium. These instructions cause the computer, programmable data processing device and/or other equipment to work in a specific manner. Therefore, the computer-readable medium storing the instructions includes An article of manufacture that includes instructions that implement aspects of the functions/acts specified in one or more blocks of the flowcharts and/or block diagrams.
  • Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other equipment, causing a series of operating steps to be performed on the computer, other programmable data processing apparatus, or other equipment to produce a computer-implemented process , thereby causing instructions executed on a computer, other programmable data processing apparatus, or other equipment to implement the functions/actions specified in one or more blocks in the flowcharts and/or block diagrams.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions that embody one or more elements for implementing the specified logical function(s).
  • Executable instructions may occur out of the order noted in the figures. For example, two consecutive blocks may actually execute substantially in parallel, or they may sometimes execute in the reverse order, depending on the functionality involved.
  • each block of the block diagram and/or flowchart illustration, and combinations of blocks in the block diagram and/or flowchart illustration can be implemented by special purpose hardware-based systems that perform the specified functions or acts. , or can be implemented using a combination of specialized hardware and computer instructions.
  • Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should be interpreted in a general illustrative sense only and not for purpose of limitation. In some instances, it will be apparent to those skilled in the art that features, characteristics and/or elements described in connection with a particular embodiment may be used alone, or may be used in conjunction with other embodiments, unless expressly stated otherwise. Features and/or components are used in combination. Accordingly, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the scope of the present disclosure as set forth in the appended claims.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • General Factory Administration (AREA)

Abstract

一种柔性作业车间生产调度方法及装置、电子设备、计算机可读存储介质,该方法包括:根据待生产的工件信息产生初始化的种群,种群包括多个生产调度方案,生产调度方案表征待生产的工件的一种排产顺序(S01);基于预设的目标迭代算法对种群进行迭代更新,并根据迭代过程确定目标生产调度方案(S02)。

Description

柔性作业车间生产调度方法及装置 技术领域
本公开涉及工业制造技术领域,特别涉及一种柔性作业车间生产调度方法及装置、电子设备、计算机可读存储介质。
背景技术
在工业制造流程规划和管理领域中,最困难的问题之一是作业车间调度问题(Job-shop Scheduling Problem,JSP),该问题中,一组机器需处理一组工件,每个工件需经历一系列具有先后顺序约束的工序形成,每个工序只需要一台机器,机器一直可用,可以一次处理一个操作而不会中断。决策内容包括如何对机器上的工序进行排序,以优化给定的性能指标。JSP的典型性能指标是生产完工时间(makespan),即完成所有工作所需的时间。
柔性作业车间调度问题(Flexible Job-shop Scheduling Problem,FJSP)是经典JSP的拓展,该问题中每个工序允许在一组可用机器中的任何一个上进行处理。FJSP比传统的JSP更难,因为它引入了除了排序之外的另一个决策内容,即作业路径,确定作业路径意味着为每个工序决定使用哪台机器处理它。
发明内容
本公开提供了一种柔性作业车间生产调度方法及装置、电子设备、计算机可读存储介质。
根据本公开的第一方面,本公开提供一种柔性作业车间生产调度方法,该柔性作业车间生产调度方法包括:
根据待生产的工件信息产生初始化的种群,所述种群包括多个生产调度方案,所述生产调度方案表征待生产的工件的一种排产顺序;
基于预设的目标迭代算法对所述种群进行迭代更新,并根据迭代过程确定目标生产调度方案。
在一些实施例中,在所述基于预设的目标迭代算法对所述种群进行迭代更新之前,所述生产调度方法还包括:针对所述种群中的每个所述生产调度方案,获取所述生产调度方案对应的适应值,所述适应值表征所述生产调度方案对应的生产完工时间;
所述基于预设的目标迭代算法对所述种群进行迭代更新,并根据迭代过程确定目标生产调度方案,包括:
基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新;
根据迭代过程中得到的最优解确定目标生产调度方案。
在一些实施例中,在每次迭代更新之后,所述生产调度方法还包括:
判断当前迭代轮次是否超过迭代轮次阈值;
在当前迭代轮次未超过迭代轮次阈值时,返回所述针对所述种群中的每个生产调度方案,获取所述生产调度方案对应的适应值的步骤;
在当前迭代轮次超过迭代轮次阈值时,跳转至执行所述根据迭代过程中得到的最优解确定目标生产调度方案的步骤。
在一些实施例中,所述目标迭代算法包括第一粒子群算法,所述工件信息包括待生产的工件种类、每种工件的工件数量、每种工件的总工序数量、每个生产阶段对应的阶段工序数量、批量生产的批次大小;所述根据待生产的工件信息产生初始化的种群,包括:
根据每种工件的工件数量和所述批次大小的比值确定每种工件的种类编码,以得到种类编码序列;
根据每种工件的生产阶段数量对所述种类编码序列中的每个种类编码进行编码扩展,得到第一扩展编码序列;所述第一扩展编码序列中每个元素表征对应的工件种类以及对应的生产阶段,所述生产阶段数量为所述总工序数量与阶段工序数量的比值;
对所述第一扩展编码序列中的元素排序进行调整,生成多个元素排序不同的第二扩展编码序列,每个种群粒子对应一个第二扩展编码序列;
针对种群的每个种群粒子,生成所述种群粒子对应的权重编码序列和速度列表,所述权重编码序列包括与对应第二扩展编码序列的元素按序一一对应的权重编码,所述速度列表包括与对应第二扩展编码序列的元素按序一一对应的速度;
根据每种工件的工件数量和阶段工序数量对所述种群粒子对应的所述第二扩展编码序列中的每个元素进行编码扩展,得到所述种群粒子对应的第三扩展编码序列;所述第三扩展编码序列中每个元素表征一个工件的工件编号以及对应的生产阶段中的一个阶段工序,所述第三扩展编码序列表征一种生产调度方案。
在一些实施例中,所述基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新,包括:
根据每个所述种群粒子对应的所述适应值,确定所述种群的当前全局最优解,所述种群的当前全局最优解为当前全局最优种群粒子;
针对每个种群粒子,根据所述种群的当前全局最优解对应的权重编码序列和所述种群粒子对应的权重编码序列,更新所述种群粒子对应的权重编码序列;
根据更新后的所述种群粒子对应的权重编码序列,调整所述种群粒子对应的第二扩展编码序列中对应元素的排序;
根据调整后的所述种群粒子对应的第二扩展编码序列,调整所述种群粒子对应的所述第三扩展编码序列中对应元素的排序,以更新对应的生产调度方案。
在一些实施例中,所述目标迭代算法包括遗传算法,所述工件信息包括待生产的工件种类、每种工件的工件数量、批量生产的批次大小;所述根据待生产的工件信息产生初始化的种群,包括:
根据待生产的工件种类进行染色体编码,得到多个种类染色体编码序列;
根据每种工件的工件数量对每个种类染色体编码序列进行解码,得到每个种类染色体编码序列对应的个体染色体解码序列,所述个体染色体解码序列中每个元素表征对应工件种类的每个工件的工件编号,每个所述个体染色体解码序列表征一种生产调度方案。
在一些实施例中,所述基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新,包括:
针对所述种群中的每个个体染色体解码序列,将所述个体染色体解码序列按照解码的倒序重新生成对应的种类染色体编码序列;
基于所述种群中的每个所述种类染色体编码序列对应的所述适应值,对所述种群中的所述种类染色体编码序列进行遗传操作,以更新所述种群中的所述种类染色体编码序列;
对更新后的所述种群中的每个种类染色体编码序列进行解码,得到更新后的每个种类染色体编码序列对应的个体染色体解码序列。
在一些实施例中,所述目标迭代算法包括第二粒子群算法,所述工件信息包括待生产的工件数量、每个工件的工序数量;所述根据待生产的工件信息产生初始化的种群,包括:
根据待生产的工件数量、每个工件的工序数量,生成多个生产调度方案,每个生产调度方案对应一个种群粒子;
随机初始化每个种群粒子对应的惯性权重、位置和速度参数。
在一些实施例中,所述基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新,包括:
按照对应的所述适应值从小到大的排列顺序,将所述种群中的多个种群粒子划分为多组种群粒子,每组种群粒子包括一个主种群粒子和至少一个从种群粒子;
根据每组种群粒子中每个种群粒子对应的适应值,确定每组种群粒子的组内最优解,组内最优解为对应组内所有种群粒子的适应值中最小值对应的种群粒子,所述主种群粒子的位置为组内最优解对应的种群粒子的位置;
根据每组种群粒子的组内最优解所对应的适应值,确定所述种群的当前全局最优解,当前全局最优解为对应最小适应值的组内最优解;
针对每组种群粒子,根据组内最优解和所述种群的当前全局最优解,更新每组种群粒子中每个种群粒子的位置和速度。
在一些实施例中,在所述基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新之后,所述方法还包括:
根据所述种群中每个所述种群粒子的历史速度和历史位置,确定所述种群中的惰性种群粒子;
将所述惰性种群粒子从所述种群中剔除,并增加相应数量的新的种群粒子至所述种群中。
在一些实施例中,所述根据所述种群中每个所述种群粒子的历史速度和历史位置,确定所述种群中的惰性种群粒子,包括:
当所述种群粒子的多个历史速度的变化量小于第一阈值,且所述种群粒子的多个历史位置的变化量小于第二阈值时,则确定所述种群粒子为所述惰性种群粒子。
根据本公开的第二方面,本公开提供一种柔性作业车间生产调度装置,该柔性作业车间生产调度装置包括:
初始化单元,用于根据待生产的工件信息产生初始化的种群,所述种群包括多个生产调度方案,所述生产调度方案表征待生产的工件的一种排产顺序;
更新迭代单元,用于基于预设的目标迭代算法对所述种群进行迭代更新,并根据迭代过程确定目标生产调度方案。
在一些实施例中,所述生产调度装置还包括:获取单元;
所述获取单元,用于针对所述种群中的每个所述生产调度方案,获取所述生产调度方案对应的适应值,所述适应值表征所述生产调度方案对应的生产完工时间;
所述更新迭代单元包括:更新子单元,用于基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新;目标确定子单元,用于根据迭代过程中得到的最优解确定目标生产调度方案。
根据本公开的第三方面,本公开提供一种电子设备,该电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的生产调度方法。
根据本公开的第四方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现上述的生产调度方法。
附图说明
附图用来提供对本公开的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种柔性作业车间生产调度方法的流程示意图;
图2为本公开实施例提供的另一种柔性作业车间生产调度方法的流程示意图;
图3为图2中步骤S11的一种具体实施方式的流程示意图;
图4为图2中步骤S13的一种具体实施方式的流程示意图;
图5为图2中步骤S11的另一种具体实施方式的流程示意图;
图6为图2中步骤S13的另一种具体实施方式的流程示意图;
图7为图2中步骤S11的另一种具体实施方式的流程示意图;
图8为图2中步骤S13的另一种具体实施方式的流程示意图;
图9为一种本公开实施例中利用目标迭代算法迭代更新过程中生产调度方案的生产完工时间变化示意图;
图10为本公开实施例提供的一种柔性作业车间生产调度装置的结构示意图;
图11为本公开实施例提供的另一种柔性作业车间生产调度装置的结构示意图;
图12为本公开实施例提供的一种电子设备的框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
图1为本公开实施例提供的一种柔性作业车间生产调度方法的流程示意图,如图1所示,该生产调度方法包括:步骤S01~步骤S02。
步骤S01、根据待生产的工件信息产生初始化的种群,种群包括多个生产调度方案,生产调度方案表征待生产的工件的一种排产顺序;
步骤S02、基于预设的目标迭代算法对种群进行迭代更新,并根据迭代过程确定目标生产调度方案。
根据本公开实施例提供的生产调度方法,基于目标迭代算法对种群中的生产调度方案进行迭代和求解最优解,得到目标生产调度方案,目标生产调度方案可用于指导工厂制定生产计划,不仅可以提高生产设备利用率,而且能够有效在最短的时间内完成相应工件的加工任务,最大化满足工件生产交付计划。
图2为本公开实施例提供的另一种柔性作业车间生产调度方法的流程示意图,如图 2所示,该生产调度方法包括:
步骤S11、根据待生产的工件信息产生初始化的种群,种群包括多个生产调度方案,生产调度方案表征待生产的工件的一种排产顺序。
步骤S12、针对种群中的每个生产调度方案,获取生产调度方案对应的适应值,适应值表征生产调度方案对应的生产完工时间。
其中,生产完工时间是指利用生产设备按照生产调度方案对待生产的工件进行生产加工时,从开始生产加工至生产完工所消耗的时间。
如图2所示,上述基于预设的目标迭代算法对所述种群进行迭代更新,并根据迭代过程确定目标生产调度方案的步骤可以进一步包括:步骤S13和步骤S15。
步骤S13、基于目标迭代算法,根据适应值对种群进行迭代更新。
步骤S15、根据迭代过程中得到的最优解确定目标生产调度方案。
在一些实施例中,如图2所示,在每次迭代更新之后,即在步骤S13之后,该生产调度方法还包括:步骤S14。
步骤S14、判断当前迭代轮次是否超过迭代轮次阈值,若是,则跳转至执行步骤S15,否则返回步骤S12。
在当前迭代轮次未超过迭代轮次阈值时,对于更新后的种群,返回针对种群中的每个生产调度方案,获取生产调度方案对应的适应值的步骤。在当前迭代轮次超过迭代轮次阈值时,跳转至执行根据迭代过程中得到的最优解确定目标生产调度方案的步骤。其中,迭代轮次阈值可以根据实际需要进行设置,例如迭代轮次阈值可以设置为100。
根据本公开实施例提供的生产调度方法,通过获取种群中每个生产调度方案的适应值,进行种群的迭代更新,在迭代过程中基于适应值进行确定迭代过程中的最优解,以确定种群中最优的目标生产调度方案,目标生产调度方案可用于指导工厂制定生产计划,不仅可以提高生产设备利用率,而且能够有效在最短的时间内完成相应工件的加工任务,最大化满足工件生产交付计划。
在一些实施例中,目标迭代算法包括第一粒子群算法,采用第一粒子群算法进行生产调度,待生产的工件信息包括待生产的工件种类、每种工件的工件数量、每种工件的总工序数量、每个生产阶段对应的阶段工序数量、批量生产的批次大小。图3为图2中步骤S11的一种具体实施方式的流程示意图,如图3所示,在一些实施例中,在步骤S11中,根据待生产的工件信息产生初始化的种群,可以进一步包括:步骤S111a~步骤S115a。
步骤S111a、根据每种工件的工件数量和批次大小的比值确定每种工件的种类编码,以得到种类编码序列。
根据每种工件的工件数量和批次大小的比值确定每种工件对应的种类编码数量,并根据每种工件对应的种类编码数量确定每种工件的种类编码,从而获得种类编码序列,种类编码序列包含每种工件对应的种类编码,在种类编码序列中,每种工件对应的种类编码按照从小到大顺序依次连续设置,且后一个类别工件的种类编码中的最小编码接续 前一个类别工件的种类编码中的最大编码。
对于每种工件,在该种类工件的工件数量与批次大小的比值为整数时,则该种类工件对应的种类编码数量为该种类工件需要生产的工件数量与批次大小的比值;在该种类工件的工件数量与批次大小的比值为非整数时,则该种类工件对应的种类编码数量为该种类工件需要生产的工件数量与批次大小(batch)相除取整后加1。
假设需要生产三种类别的工件A、B、C,该三种类别工件所需生产的工件数量分别为X、Y、Z,A类别工件的每个工件的生产所需经历的总工序数量为P,B类别工件的每个工件的生产所需经历的总工序数量为Q,C类别工件的每个工件的生产所需经历的总工序数量为N,且A、B、C三种类别的工件均满足每T道工序为一个生产阶段,即每个生产阶段对应的阶段工序数量为T,每种工件的每个工件的生产阶段数量为对应的总工序数量与阶段工序数量的比值,批量生产的批次大小(batch)为M。
对于A类工件,A类工件的种类编码数量为:X//M+1,即A类工件需要生产的工件数量与批次大小(batch)相除取整后加1,例如,X=50,M=30,则A类工件的种类编码数量为50//30+1=2,则A类工件的种类编码可以配置为[0,1],其中0表示A类工件的第一批次工件,1表示A类工件的第二批次工件,每一批次工件的数量为M=30。
基于与A类工件相同的编码方式,对B类工件和C类工件进行种类编码,例如,B类工件的工件数量为Y=30,M=30,则B类工件的种类编码数量为Y/M=30/30=1,相应的种类编码可以配置为[2];C类工件的工件数量为Z=30,M=30,则C类工件的种类编码数量为Z/M=30/30=1,相应的种类编码可以配置为[3]。最后根据A类工件的种类编码、B类工件的种类编码、C类工件的种类编码,得到种类编码序列为[0,1,2,3]。
按照如上规则生成种类编码序列并记录其中每个元素与工件种类、工件数量的对应关系,并根据实际情况记录每个编码对应的工件编号起始点与结束点。以上述种类编码序列[0,1,2,3]为例,该种类编码序列中元素0代表A类工件的第0-29号工件,元素1表示A类工件的第30-49号工件,元素2表示B类工件的第0-29号工件,元素3为0-29号工件,以此类推。
步骤S112a、根据每种工件的生产阶段数量对种类编码序列中的每个种类编码进行编码扩展,得到第一扩展编码序列,第一扩展编码序列中每个元素表征对应的工件种类以及对应的生产阶段。
在一些实施例中,根据每种工件的生产阶段数量,确定最大生产阶段数量;将种类编码序列重复该最大生产阶段数量次,得到新的种类编码序列;按照新的种类编码序列中相同元素出现的次序,将每个元素扩展为二元数组,得到第一扩展编码序列。在第一扩展编码序列中,每个元素为一个二元数组,每个二元数组中第一个数表示对应的工件种类,第二个数表示对应的生产阶段。
以上述A、B、C三种工件的工件信息为例,取三种工件的工件数量P、Q、N中最大值与阶段工序数量T相除,获得最大生产阶段数量,若P、Q、N中最大值不是T的倍数,则将该最大值与T的比值向上取整,得到最大生产阶段数量。如:P/Q/N=5/4/3, T=3,则最大生产阶段数量为5//3+1=2。将上一步生成的种类序列编码序列重复2次,获得新的种类编码序列。如:上一步获得的种类编码序列为[0,1,2,3],则重复2次获得新的种类编码序列:[0,1,2,3,0,1,2,3],按照新的种类编码序列中相同元素出现的次序,将每个元素扩展为二元数组,得到第一扩展编码序列,如将第一个“0”扩展为(0,1),第二个“0”扩展为(0,2),第一个“1”扩展为(1,1),依此类推,获得第一扩展编码序列:[(0,1),(1,1),(2,1),(3,1),(0,2),(1,2),(2,2),(3,2)],其中(0,1)表示A种类工件的第一个批次工件的第1个生产阶段,(1,1)表示A种类工件的第二个批次工件的第1个生产阶段,(2,1)表示B种类工件的第一个批次工件的第1个生产阶段,(0,2)表示A种类工件的第一个批次工件的第2个生产阶段,依此类推。
当基于最大生产阶段数量进行编码扩展时,对于生产阶段数量小于最大生产阶段数量的工件种类,该种类工件的在编码序列中体现的生产阶段数量可能大于其实际的生产阶段数量,因此在后续的生产加工中,将该种类工件的编码中多余的生产阶段的生产时间置为0即可。
在一些实施例中,根据每种工件的生产阶段数量,将种类编码序列中每种工件对应的每个种类编码重复对应种类工件的生产阶段数量次,获得新的种类编码序列;得到第一扩展编码序列;按照新的种类编码序列中相同元素出现的次序,将每个元素扩展为二元数组,得到第一扩展编码序列。在第一扩展编码序列中,每个元素为一个二元数组,每个二元数组中第一个数表示对应的工件种类,第二个数表示对应的生产阶段。
以上述A、B、C三种工件的工件信息为例,假设:P/Q/N=5/4/3,则A种类工件的生产阶段数量为5//3+1=2,B种类工件的生产阶段数量为4//3+1=2,C种类工件的生产阶段数量为3/3=1,上一步获得的种类编码序列为[0,1,2,3],其中0和1为A种类工件对应的种类编码,2为B种类工件对应的种类编码,3为C种类工件对应种类编码,则将种类编码序列[0,1,2,3]中“0”和“1”分别重复2次,将“2”重复2次,“3”保持为1个,得到新的种类编码序列:[0,1,0,1,2,2,3]。按照新的种类编码序列中相同元素出现的次序,将每个元素扩展为二元数组,得到第一扩展编码序列,如将第一个“0”扩展为(0,1),第二个“0”扩展为(0,2),第一个“1”扩展为(1,1),依此类推,获得第一扩展编码序列:[(0,1),(1,1),(0,2),(1,2),(2,1),(2,2),(3,1)]。其中(0,1)表示A种类工件的第一个批次工件的第1个生产阶段,(1,1)表示A种类工件的第二个批次工件的第1个生产阶段,(0,2)表示A种类工件的第一个批次工件的第2个生产阶段,(2,1)表示B种类工件的第一个批次工件的第1个生产阶段,依此类推。
步骤S113a、对第一扩展编码序列中的元素排序进行调整,生成多个元素排序不同的第二扩展编码序列,每个种群粒子对应一个第二扩展编码序列。
在步骤S113a中,复制多个第一扩展编码序列,将每个第一扩展编码序列中的元素排序进行调整,从而得到多个第二扩展编码序列,多个第二扩展编码序列的元素排序互 不相同。
同时,为了确保同种类工件同一批次工件的有序生产,在第二扩展编码序列中,对应同种类工件同一批次工件的元素按照对应生产阶段的次序顺序排序,对应同种类工件同一批次工件的元素中任意相邻两个元素中间可以存在其他元素,其他元素可以是对应同种类工件不同批次工件,也可以是对应其他种类工件的元素。例如元素(0,1)需要排序在元素(0,2)之前,元素(1,1)可以排在元素(0,1)和(0,2)之间。
示例性的,第一扩展编码序列为:,通过按照上述规则调整元素的排序,得到多个第二扩展编码序列,多个第二扩展编码序列分别为:[(0,1),(1,1),(0,2),(1,2),(2,1),(2,2),(3,1),(3,2)],[(1,1),(0,1),(1,2),(0,2),(2,1),(3,1),(2,2),(3,2)],[(0,1),(2,1),(2,2),(1,1),(0,2),(1,2),(3,1),(3,2)]。
步骤S114a、针对种群的每个种群粒子,生成种群粒子对应的权重编码序列和速度列表。
其中,权重编码序列包括与对应第二扩展编码序列的元素按序一一对应的权重编码,速度列表包括与对应第二扩展编码序列的元素按序一一对应的速度。
在一些实施例中,初始的权重编码序列和速度列表可以随机生成,权重编码序列和速度列表的长度均为对应的种群粒子中第二扩展编码序列的长度。
示例性的,初始的权重编码序列可以为以0为起始元素,长度为对应的第二扩展编码序列的长度,相邻元素间差为1的等差序列,例如[0,1,2,3,4,5,6,7],其中每个元素表示第二扩展编码序列中对应的元素的权重编码。
对于初始的速度列表,其长度为对应的第二扩展编码序列的长度,其中每个元素的取值是在负最大速度-v_max和正最大速度v_max间的随机值。如:最大速度v_max设置为3,则初始的速度列表可配置为[-1,0,1,2,2.5,-0.1,……..,-2,3],其中每个元素表示第二扩展编码序列中对应的元素的速度。
步骤S115a、根据每种工件的工件数量和阶段工序数量对种群粒子对应的第二扩展编码序列中的每个元素进行编码扩展,得到种群粒子对应的第三扩展编码序列。
其中,第三扩展编码序列中每个元素表征一个工件的工件编号以及对应的生产阶段中的一个阶段工序,第三扩展编码序列表征一种生产调度方案。
示例性的,假设有两种工件,一种工件需生产的工件数量为2,另一种工件需生产的工件数量为3,批次大小为3,两种工件的生产阶段数量均为2,每一个生产阶段的阶段工序数量为3,按照上述编码方式得到的一个第二扩展编码序列为[(0,1),(1,1),(0,2),(1,2)],该第二扩展编码序列中,(0,1)表示第一个种类工件的第1个生产阶段,(0,2)表示第一个种类工件的第2个生产阶段,(1,1)表示第二个种类工件的第1个生产阶段,(1,2)表示第二个种类工件的第2个生产阶段,按照第一种类工件所需生产的工件数量2和阶段工序数量3,分别对第二扩展编码序列中元素(0,1)和(0,2)进行扩展,按照第二种类工件所需生产的工件数量3和阶段工序数量3, 分别对第二扩展编码序列中元素(1,1)和(1,2)进行扩展。
对于第一种类工件,首先对第一种类工件所需生产的工件进行编号,如0、1,分别表示第0个工件和第1个工件;对第一种类工件的第一个生产阶段的阶段工序进行编号,如1、2、3,分别表示第一个生产阶段的第一个阶段工序、第二个阶段工序和第三个阶段工序;对第一种类工件的第二个生产阶段的阶段工序进行编号,如3、4、5,分别表示第二个生产阶段的第一个阶段工序、第二个阶段工序和第三个阶段工序;基于上述第一种类工件中所需生产的工件的工件编号和阶段工序编号,对第二扩展编码序列中相应的元素进行扩展,如将元素(0,1)扩展为[(0,1),(0,2),(0,3),(1,1),(1,2),(1,3)],将元素(0,2)扩展为[(0,3),(0,4),(0,5),(1,3),(1,4),(1,5)],其中,扩展后的每个元素的二元数组中,第一个数表示工件编号,第二个数表示阶段工序编号。
对于第二种类工件,首先对第二种类工件所需生产的工件进行编号,如2、3、4,分别表示第1个工件、第2个工件和第3个工件;对第二种类工件的第一个生产阶段的阶段工序进行编号,如1、2、3,分别表示第一个生产阶段的第一个阶段工序、第二个阶段工序和第三个阶段工序;对第二种类工件的第二个生产阶段的阶段工序进行编号,如3、4、5,分别表示第二个生产阶段的第一个阶段工序、第二个阶段工序和第三个阶段工序;基于上述第二种类工件中所需生产的工件的工件编号和阶段工序编号,对第二扩展编码序列中相应的元素进行扩展,如将元素(1,1)扩展为[(2,1),(2,2),(2,3),(3,1),(3,2),(3,3),(4,1),(4,2),(4,3)],将元素(1,2)扩展为[(2,3),(2,4),(2,5),(3,3),(3,4),(3,5),(4,3),(4,4),(4,5)],其中,扩展后的每个元素的二元数组中,第一个数表示工件编号,第二个数表示阶段工序编号。
在第三扩展编码序列中,对应同一工件、同一生产阶段的元素按照阶段工序顺序依次排序。每个第三扩展编码序列表征一种生产调度方案,第三扩展编码序列中元素的排序代表对应工件的排产顺序。
在一些实施例中,通过上述步骤S111a~步骤S115a的编码方式进行对待生产的工件和工序进行编码,最终基于编码得到的第三扩展编码序列作为一个生产调度方案进行生产加工,能够有效确保了对于同种类工件的一个批次工件的生产,生产设备不需要进行切换,避免了不同种类工件的交叉生产,保证了批量生产及生产设备使用的饱和度,有效避免了混合生产及生产设备空闲的情况,提高了设备利用率,缩短了最大完工时间。
图4为图2中步骤S13的一种具体实施方式的流程示意图,在一些实施例中,在基于上述步骤S111a~步骤S115a的编码方式进行对待生产的工件和工序进行编码的情况下,根据第一粒子群算法对每个种群粒子进行更新进化,如图4所示,在步骤S13中,基于目标迭代算法,根据适应值对种群进行迭代更新,可以进一步包括:步骤S131a~步骤S134a。
S131a、根据每个种群粒子对应的适应值,确定种群的当前全局最优解,种群的当前全局最优解为当前全局最优种群粒子。
在当前迭代轮次,根据种群中多个种群粒子对应的适应值中的最小值,确定种群的当前全局最优解,种群的当前全局最优解为当前全局最优种群粒子,即多个种群粒子对应的适应值中的最小值对应的种群粒子。
在一些实施例中,对于每个种群粒子,根据该种群粒子在历史迭代轮次中的适应值和在当前轮次的适应值中的最小值,确定该种群粒子的当前个体最优解。
S132a、针对每个种群粒子,根据种群的当前全局最优解对应的权重编码序列和种群粒子对应的权重编码序列,更新种群粒子对应的权重编码序列。
将当前全局最优解对应的权重编码序列和种群粒子对应的权重编码序列中对应相同扩展编码序列元素的权重编码进行减法运算,得到新的权重编码,新的权重编码按照从小到大顺序排序,得到一个新的权重编码序列。
示例性的,当前种群粒子的第二扩展编码序列为[(0,1),(0,2),(1,1)],其权重编码序列为[1,2,3],当前全局最优种群粒子的第二扩展编码序列为[(1,1),(0,1),(0,2)],其权重编码序列为[1,2,3]。可知,扩展编码序列元素(0,1)在当前种群粒子中对应的权重编码为1,在最优种群粒子中对应的权重编码为2;扩展编码序列元素(0,2)在当前种群粒子中对应的权重编码为2,在最优种群粒子中对应的权重编码为3;扩展编码序列元素(1,1)在当前种群粒子中对应的权重编码为3,在最优种群粒子中对应的权重编码为1。将最优种群粒子的权重编码以对应相同扩展编码序列元素的方式减去当前种群粒子的权重编码,则对应相同扩展编码序列元素的权重编码相减的结果为[2-1,3-2,1-3]=[1,1,-2],按照从小到大顺序的排序结果为[-2,1,1],即新的权重编码序列为[-2,1,1],其中,在新的权重编码序列中,“-2”对应的扩展编码序列元素为(1,1),第一个“1”对应的扩展编码序列元素为(0,1),第二个“1”对应的扩展编码序列元素为(0,2)。
S133a、根据更新后的种群粒子对应的权重编码序列,调整种群粒子对应的第二扩展编码序列中对应元素的排序。
基于新的权重编码序列中权重编码的排序,调整种群粒子对应的第二扩展编码序列中对应元素的排序,得到种群粒子对应的新的第二扩展编码序列。
示例性的,当前种群粒子的第二扩展编码序列为[(0,1),(0,2),(1,1)],原权重编码序列为[1,2,3],当前全局最优种群粒子的第二扩展编码序列为[(1,1),(0,1),(0,2)],其权重编码序列为[1,2,3],根据上述步骤S142a计算得到的新的权重编码序列为[-2,1,1],其中,在新的权重编码序列中,“-2”对应的扩展编码序列元素为(1,1),第一个“1”对应的扩展编码序列元素为(0,1),第二个“1”对应的扩展编码序列元素为(0,2),基于新的权重编码序列中权重编码的排序,调整种群粒子对应的第二扩展编码序列中对应元素的排序,得到新的第二扩展编码序列:[(1,1),(0,1),(0,2)],可见种群粒子朝着最优种群粒子方向进行运动。
在一些实施例中,对于相同种类工件,需要按照生产阶段顺序依次生产,不能倒序,因此,在调整后的第二扩展编码序列中,对于对应相同种类工件的元素,当存在对应后一个生产阶段的元素位于对应前一个生产阶段的元素之前的情况时,对将导致生产阶段倒序的元素的排序进行调整,以使对应相同种类工件的元素,按照生产阶段顺序排序。例如,调整后的第二扩展编码序列为[(0,2),(1,1),(0,1),(1,2)],其中(0,2),排在(0,1)之前,将导致生产阶段倒序生产,故进一步将该调整后的第二扩展编码序列调整为[(0,0),(1,0),(0,1),(1,1)]。
在一些实施例中,还需要根据种群粒子的当前个体最优解和种群的当前全局最优解,更新种群粒子速度,以更新相应第二扩展编码序列对应的速度列表。
S134a、根据调整后的种群粒子对应的第二扩展编码序列,调整种群粒子对应的第三扩展编码序列中对应元素的排序,以更新对应的生产调度方案。
根据上述步骤S115a的描述,可知,第三编码序列中的元素是对对应的第二扩展编码序列中的元素的扩展编码,因此第二扩展编码序列每个元素与对应的第三编码序列中的元素具有对应关系,故,当第二扩展编码序列中的元素的排序更新时,对应的第三扩展编码序列中相应元素的排序也需要进行调整,根据调整后的种群粒子对应的第二扩展编码序列中元素的排序,调整种群粒子对应的第三扩展编码序列中对应元素的排序,以更新对应的生产调度方案。
在更新种群后,如果当前迭代轮次未超过迭代轮次阈值,则进入下一个迭代轮次,返回执行步骤S12。
在一些实施例中,目标迭代算法包括遗传算法,采用遗传算法进行生产调度,工件信息包括待生产的工件种类、每种工件的工件数量、批量生产的批次大小。图5为图2中步骤S11的另一种具体实施方式的流程示意图,如图5所示,在一些实施例中,在步骤S11中,根据待生产的工件信息产生初始化的种群,可以进一步包括:步骤S111b~步骤S112b。
步骤S111b、根据待生产的工件种类进行染色体编码,得到多个种类染色体编码序列。
示例性的,本次需要要生产A、B、C、D四种类别工件,则种类染色体编码的长度为4,对该四种工件进行染色体编码,如A:0,B:1,C:2,D:3,基于此可以获得多个元素排序不同的种类染色体编码序列,如[0,1,2,3],[3,0,1,2]等,不同种类染色体编码序列中元素的排序不同,即存在至少一个种类工件对应的编码元素的排序不同,种类染色体编码序列中,每个元素表示一个种类工件的染色体编码。
步骤S112b、根据每种工件的工件数量对每个种类染色体编码序列进行解码,得到每个种类染色体编码序列对应的个体染色体解码序列。
其中,个体染色体解码序列中每个元素表征对应工件种类的每个工件的工件编号,每个个体染色体解码序列表征一种生产调度方案。
假设A、B、C、D四种类别工件分别需要生产2、3、4、2个工件,例如A种类工 件的2个工件的工件编号可配置为0、1,B种类工件的3个工件的工件编号可配置为:2、3、4,C种类工件的4个工件的工件编号可配置为:5、6、7、8,D种类工件的2个工件的工件编号可配置为:9、10,对种类染色体编码[0,1,2,3]进行解码可以得到对应的个体染色体编码序列:[0,1,2,3,4,5,6,7,8,9,10],对种类染色体编码[3,0,2,1]进行解码,得到对应的个体染色体编码序列:[9,10,0,1,5,6,7,8,2,3,4]。在个体染色体编码序列中,每个元素表示对应的工件种类的一个工件的工件编号,每个个体染色体解码序列表征一种生产调度方案,个体染色体解码序列中元素的排序代表对应工件的排产顺序。
通过上述步骤S111b~步骤S112b的遗传算法编解码方式,将同种类别的工件进行批量化编码和解码,得到种类染色体编码序列和个体染色体编码序列,种类染色体编码序列中每一个元素代表的是一个种类工件在批量生产中的每一批工件,后续遗传算法中选择、交叉、变异等遗传操作均是针对种类染色体编码序列进行操作,这样保证了该种类的该批次工件均进行相同的操作,保证了一致性。而个体染色体编码序列是基于种类染色体编码序列,通过每种类别工件的工件数量和工件编号进行解码得到的,解码后得到的个体染色体编码序列用于进行后续生产设备的分配和生产。生产后将该种类工件的该批次工件中最后生产的工件的完工时间作为该种类工件的该批次工件的完工时间,并根据每个种类工件的每批工件的完工时间对种类编码序列进行遗传操作,再重新投入生产,基于遗传算法求解得到最优解。如此,既满足了最小化生产时间又满足了批量生产同一种工件的需求,避免了同一种工件的交叉生产,能够有效确保了对于同种类工件的一个批次工件的生产,生产设备不需要进行切换,保证了批量生产及生产设备使用的饱和度,有效避免了混合生产及生产设备空闲的情况,提高了设备利用率,缩短了最大完工时间。
图6为图2中步骤S13的另一种具体实施方式的流程示意图,在一些实施例中,在基于上述步骤S111b~步骤S112的编码方式进行遗传算法的遍解码的情况下,如图6所示,在步骤S13中,基于目标迭代算法,根据适应值对种群进行迭代更新,可以进一步包括:步骤S131b~步骤S133b。
步骤S131b、针对种群中的每个个体染色体解码序列,将个体染色体解码序列按照解码的倒序重新生成对应的种类染色体编码序列。
如个体染色体编码序列:[0,1,2,3,4,5,6,7,8,9,10],则按照步骤S112a中解码的倒序进行处理,得到对应的种类染色体编码序列:[0,1,2,3]。
步骤S132b、基于种群中的每个种类染色体编码序列对应的适应值,对种群中的种类染色体编码序列进行遗传操作,以更新种群中的种类染色体编码序列。
其中,遗传操作包括选择、交叉、变异。
在遗传算法中,选择操作是指从当前种群中以一定概率选择优良个体组成新的种群,以繁殖得到下一代种群中的个体,个体被选中的概率与适应值相关,个体的适应值越高,被选中的概率越大。
交叉操作是指从种群中随机选择两个个体,通过两个染色体编码的交换组合,把父串的优秀特征遗传给子串,从而产生新的优秀个体。
变异操作是指将种类染色体编码序列中的某些基因座上的基因值用该基因座的其它等位基因来替换,从而形成一个新的个体。
当前种群在经过选择操作、交叉操作、变异操作后,得到下一代种群。
步骤S133b、对更新后的种群中的每个种类染色体编码序列进行解码,得到更新后的每个种类染色体编码序列对应的个体染色体解码序列。
关于步骤S133b的描述可参见上述步骤S112b的描述,此处不再赘述。
在一些实施例中,目标迭代算法包括第二粒子群算法,采用第二粒子群算法进行生产调度,待生产的工件信息包括待生产的工件数量、每个工件的工序数量,FJSP问题可以描述为:安排n个工件在m台生产设备上生产加工,每个工件包含s道顺序执行的工序,已知每个工件的每道工序在生产设备上的加工时间,对这些工件制定生产调度方案,目标是最优化最大完工时间,即完成所有工件的所有工序的总加工时间最短。
在初始化种群之前,构建生产调度约束条件:
约束条件1:每道工序在指定的生产设备上加工,且必须在其前一道工序加工完成后才能开始加工。
约束条件2:某一时刻1台生产设备只能加工1个工件。
约束条件3:每个工件只能在1台生产设备上加工1次。
约束条件4:各工件的工序顺序和加工时间已知,不随加工排序的改变而改变。
图7为图2中步骤S11的另一种具体实施方式的流程示意图,如图7所示,在一些实施例中,在步骤S11中,根据待生产的工件信息产生初始化的种群,可以进一步包括:步骤S111c~步骤S112c。
步骤S111c、根据待生产的工件数量、每个工件的工序数量,生成多个生产调度方案,每个生产调度方案对应一个种群粒子。
随机初始化种群,根据待生产的工件数量、每个工件的工序数量,生成多个生产调度方案,每个生产调度方案对应一个种群粒子。示例性的,有5个工件A、B、C、D、E,每个工件有3道工序,每个生产调度方案表征该5个工件每道工序的加工顺序,如一个生产调度方案为BADCEABDCEBADEC,其中,每个工件第几次出现表示第几道工序,如B第一次出现表示工件B的第一道工序,第二次出现表示工件B的第二道工序。
在初始化种群之前,可以先设定迭代轮次阈值,以及每次迭代的种群粒子数量,例如设定迭代轮次阈值为100,每次迭代的种群粒子数量为50。
步骤S112c、随机初始化每个种群粒子对应的惯性权重、位置和速度参数。
图8为图2中步骤S13的另一种具体实施方式的流程示意图,在一些实施例中,在采用粒子群算法,基于上述步骤S111c~步骤S112c进行初始化种群的情况下,参见图8,在步骤S13中,基于适应值对种群进行迭代更新,可以进一步包括:步骤S131c~ 步骤S134c。
步骤S131c、按照对应的适应值从小到大的排列顺序,将种群中的多个种群粒子划分为多组种群粒子,每组种群粒子包括一个主种群粒子和至少一个从种群粒子。
例如,种群有50个种群粒子,按照当前迭代轮次中每个种群粒子对应的适应值从小到大顺序,将50个种群粒子依次划分为5组,每组包含10个种群粒子,每组内随机选取一个种群粒子为主(master)种群粒子,其他种群粒子为从(slave)种群粒子,第i组的主种群粒子标识为主种群粒子i,i=1,2,…,10。
步骤S132c、根据每组种群粒子中每个种群粒子对应的适应值,确定每组种群粒子的组内最优解。
其中,组内最优解为对应组内所有种群粒子的适应值中最小值对应的种群粒子,主种群粒子的位置为组内最优解对应的种群粒子的位置。
步骤S133c、根据每组种群粒子的组内最优解所对应的适应值,确定种群的当前全局最优解,当前全局最优解为对应最小适应值的组内最优解。
步骤S134c、针对每组种群粒子,根据组内最优解和种群的当前全局最优解,更新每组种群粒子中每个种群粒子的位置和速度。
其中,粒子的位置和速度为多维向量,每个维度的值根据位置更新公式和速度更新公式进行更新。
其中,速度更新公式为:
位置更新公式为:
其中,Vk id表示第k次迭代轮次中第i组的主种群粒子i的速度的d维分量,xk id表示第k次迭代轮次中第i组主种群粒子i的位置的d维分量;c1、c2为加速常数,用于调节学习最大步长;r1、r2为两个随机函数,其取值范围[0,1],用于增加搜索随机性;w表示惯性权重,其为非负数,用于调节对解空间的搜索范围;pbestid表示第i组主种群粒子i经历过的最好的位置,即第i组中当前组内最优解和历史组内最优解中的最优解的位置;gbestid表示种群所经历过的最好位置,即种群的当前全局最优解的位置。
在一些实施例中,在种群迭代更新过程中,将种群粒子分成多组,每组选择一个主种群粒子,其他为从种群粒子,即使一组的主种群粒子陷入局部最优解,其他组的主种群粒子仍可以继续搜寻,从而可以有效避免因算法陷入局部最优解而不能有效获得全局最优解,有效改善算法陷入局部最优解的现象。
在一些实施例中,在基于上述步骤S131c~步骤S134c的更新方式进行种群迭代更新的情况下,在基于目标迭代算法,根据适应值对种群进行迭代更新之后,该生产调度方法还包括:根据种群中每个种群粒子的历史速度和历史位置,确定种群中的惰性种群 粒子;将惰性种群粒子从种群中剔除,并增加相应数量的新的种群粒子至种群中。
由于惰性种群粒子对算法收敛的作用较小,反而占用计算资源,因此需要剔除,剔除后,添加同等数量的新的种群粒子,新的种群粒子的初始化方式可参考上述步骤S111c,此处不再赘述。
具体地,根据种群中每个种群粒子的历史速度和历史位置,确定种群中的惰性种群粒子,包括:当种群粒子的多个历史速度的变化量小于第一阈值,且种群粒子的多个历史位置的变化量小于第二阈值时,则确定种群粒子为惰性种群粒子。其中,第一阈值和第二阈值可以根据实际需要设定,本公开实施例对此不作特殊限制。
当种群粒子的多个历史速度的变化量大于或等于第一阈值,或者种群粒子的多个历史位置的变化量大于或等于第二阈值时,则确定种群粒子不是惰性种群粒子。
在一些实施例中,通过剔除种群中惰性种群粒子,可以有效加快算法收敛速度。
在一些实施例中,在步骤S12中,针对种群中的每个生产调度方案,获取生产调度方案对应的适应值,可以进一步包括:选取相应生产设备依据生产调度方案进行工件生产加工,并获取生产完工时间;基于预设的适应值函数,根据生产完工时间获取生产调度方案对应的适应值。
其中,可以根据实际所采用的粒子群算法或遗传算法,确定预设的适应值函数,并根据适应值函数获取生产调度方案对应的适应值。
在一些实施例中,选取相应生产设备依据生产调度方案进行工件生产加工,可以进一步包括:根据生产设备集中各生产设备的上一次完工时间,为生产调度方案中每个待生产的工件选取相应的生产设备进行工件加工生产;获取设备维护信息,当根据设备维护信息确定选取的生产设备处于维护状态时,将生产设备集中处于维护状态的生产设备的上一次完工时间调整为维护结束时间,并重新返回根据生产设备集中各生产设备的上一次完工时间,为生产调度方案中每个待生产的工件选取相应的生产设备进行工件加工生产的步骤。
根据生产设备集中各生产设备的上一次完工时间,基于最短用时分配原则,寻找与本次开始加工时间距离最长的上一次完工时间所对应的生产设备,即生产设备集中最早空闲的生产设备,并选取该生产设备进行工件的生产加工。例如,此时应该生产工件0,但可用生产设备有两台,则选择这两台设备中与本次开始加工时间距离最长的上一次完工时间所对应的生产设备进行生产加工。
当根据设备状态信息确定选取的生产设备正在进行维护,则将选取的生产设备的上一次完工时间设置为维护结束时间,并重新返回根据生产设备集中各生产设备的上一次完工时间,为生产调度方案中每个待生产的工件选取相应的生产设备进行工件加工生产的步骤,以重新根据更新后生产设备集中各生产设备的上一次完工时间,重新选取生产设备进行生产加工。如果选择的生产设备在生产时段没有处于维护状态,则直接使用该生产设备进行生产。
在基于生产调度方案进行生产加工结束后,记录和更新生产调度方案的生产加工信 息和设备状态信息。
在一些实施例中,在选取生产设备进行生产加工时进行是否在维护时间的判断,以确定生产时段所有在维护的生产设备,并将这些生产设备的上一次完工时间调整为其维护结束时间,这样根据最短用时分配原则,生产设备的选取就不会再选中处于维护状态中的生产设备,通过设备状态信息进行设备维护状态的判断和生产设备的选取,使得整个生产调度更加贴合真实车间调度场景,实用性更强。
在一些实施例中,在实际的车间调度生产中,工件的生产会经过多道工序,且会呈现一定的循环特性,在选取生产设备时,也可以针对工件的多个生产工序,重复利用相同的生产设备进行生产加工。例如,待生产的每种类别的工件均满足每3道工序为一个生产阶段,即每个生产阶段对应的阶段工序数量为3,假设一个种类的工件的生产需要经历6道工序,则第1/2/3道工序与第4/5/6道工序可使用相同的生产设备进行生产。
在本公开实施例中,当当前迭代轮次超过迭代轮次阈值或全局最优解的位置满足最小界限时,停止算法迭代。
在本公开实施例中,在步骤S15中,根据每个迭代轮次产生的全局最优解对应的适应值的最小值确定目标最优解,目标最优解为最小适应值对应的全局最优解,将目标最优解对应的生产调度方案作为目标生产调度方案。
至此,输出目标生产调度方案,同时记录基于目标生产调度方案进行生产加工时的生产加工信息,生产加工信息包含每个工件每道工序对应的生产设备、开始加工时间、结束加工时间。该目标生产调度方案和对应的生产加工信息可用于指导工厂制定生产计划,不仅可以提高生产设备利用率,而且能够有效在最短的时间内完成相应工件的加工任务,最大化满足工件生产交付计划。
表1示出了一种示例性的初始化的生产调度方案中的排产顺序,表2示出了一种示例性的生产调度方案中每种工件在每个生产阶段的每个阶段工序的生产用时情况,表3示出了一种示例性的不同生产设备种类的设备维护状态记录情况,图9为一种本公开实施例中利用目标迭代算法迭代更新过程中生产调度方案的生产完工时间变化示意图,在实际应用场景中,如图9所示,横坐标表示迭代轮次,纵坐标表示生产调度方案的生产完工时间,经对比,在相同投产计划下,原始生产调度方案排产所需时间为三天,利用本公开的目标迭代算法进行生产调度方案的迭代更新,并基于表3所示设备状态选取合适的生产设备按照生产调度方案进行生产,经算法迭代更新后排产时间大大缩短为20100秒,即5.6小时,即本公开实施例的生产调度方法,能够有效缩短生产调度方案所需的生产完工时间,有效提高了生产效率。
表1

表2
表3

可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
图10为本公开实施例提供的一种柔性作业车间生产调度装置的结构示意图,如图10所示,该生产调度装置200包括:初始化单元201和更新迭代单元202。
初始化单元201,用于根据待生产的工件信息产生初始化的种群,种群包括多个生产调度方案,生产调度方案表征待生产的工件的一种排产顺序。
更新迭代单元202,用于基于预设的目标迭代算法对种群进行迭代更新,并根据迭代过程确定目标生产调度方案。
图11为本公开实施例提供的另一种柔性作业车间生产调度装置的结构示意图,如图11所示,生产调度装置200还包括:获取单元203。
获取单元203用于针对种群中的每个生产调度方案,获取生产调度方案对应的适应值,适应值表征所述生产调度方案对应的生产完工时间。
更新迭代单元202包括:更新子单元2021和目标确定子单元2022。其中,更新子单元2021用于基于目标迭代算法,根据适应值对所述种群进行迭代更新;目标确定子 单元2022,用于根据迭代过程中得到的最优解确定目标生产调度方案。
在一些实施例中,如图11所示,更新迭代单元202还包括:判断子单元2023。其中,判断子单元2023用于:在更新子单元2021对种群进行迭代更新之后,判断当前迭代轮次是否超过迭代轮次阈值;在当前迭代轮次未超过迭代轮次阈值时,触发获取单元203执行针对种群中的每个生产调度方案,获取生产调度方案对应的适应值的步骤;在当前迭代轮次超过迭代轮次阈值时,触发目标确定子单元2022执行根据迭代过程中得到的最优解确定目标生产调度方案的步骤。
本公开实施例所提供的柔性作业车间生产调度装置200,用于实现上述任一实施例提供的生产调度方法,具体相关描述可参见上述任一实施例的生产调度方法中的描述,此处不再赘述。
图12为本公开实施例提供的一种电子设备的框图。
参照图12,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器301;至少一个存储器302,以及一个或多个I/O接口303,连接在处理器301与存储器302之间;其中,存储器302存储有可被至少一个处理器301执行的一个或多个计算机程序,一个或多个计算机程序被至少一个处理器301执行,以使至少一个处理器301能够执行上述的生产调度方法。
本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述的生产调度方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述生产调度方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读存储介质上,计算机可读存储介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。
如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读程序指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、闪存或其他存储器技术、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或 者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读程序指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里所描述的计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

Claims (15)

  1. 一种柔性作业车间生产调度方法,其特征在于,包括:
    根据待生产的工件信息产生初始化的种群,所述种群包括多个生产调度方案,所述生产调度方案表征待生产的工件的一种排产顺序;
    基于预设的目标迭代算法对所述种群进行迭代更新,并根据迭代过程确定目标生产调度方案。
  2. 根据权利要求1所述的生产调度方法,其特征在于,在所述基于预设的目标迭代算法对所述种群进行迭代更新之前,所述方法还包括:针对所述种群中的每个所述生产调度方案,获取所述生产调度方案对应的适应值,所述适应值表征所述生产调度方案对应的生产完工时间;
    所述基于预设的目标迭代算法对所述种群进行迭代更新,并根据迭代过程确定目标生产调度方案,包括:
    基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新;
    根据迭代过程中得到的最优解确定目标生产调度方案。
  3. 根据权利要求2所述的生产调度方法,其特征在于,在每次迭代更新之后,所述方法还包括:
    判断当前迭代轮次是否超过迭代轮次阈值;
    在当前迭代轮次未超过迭代轮次阈值时,返回所述针对所述种群中的每个生产调度方案,获取所述生产调度方案对应的适应值的步骤;
    在当前迭代轮次超过所述迭代轮次阈值时,跳转至执行所述根据迭代过程中得到的最优解确定目标生产调度方案的步骤。
  4. 根据权利要求2所述的生产调度方法,其特征在于,所述目标迭代算法包括第一粒子群算法,所述工件信息包括待生产的工件种类、每种工件的工件数量、每种工件的总工序数量、每个生产阶段对应的阶段工序数量、批量生产的批次大小;所述根据待生产的工件信息产生初始化的种群,包括:
    根据每种工件的工件数量和所述批次大小的比值确定每种工件的种类编码,以得到种类编码序列;
    根据每种工件的生产阶段数量对所述种类编码序列中的每个种类编码进行编码扩展,得到第一扩展编码序列;所述第一扩展编码序列中每个元素表征对应的工件种类以及对应的生产阶段,所述生产阶段数量为所述总工序数量与阶段工序数量的比值;
    对所述第一扩展编码序列中的元素排序进行调整,生成多个元素排序不同的第二扩展编码序列,每个种群粒子对应一个第二扩展编码序列;
    针对种群的每个种群粒子,生成所述种群粒子对应的权重编码序列和速度列表,所述权重编码序列包括与对应第二扩展编码序列的元素按序一一对应的权重编码,所述速度列表包括与对应第二扩展编码序列的元素按序一一对应的速度;
    根据每种工件的工件数量和阶段工序数量对所述种群粒子对应的所述第二扩展编码序列中的每个元素进行编码扩展,得到所述种群粒子对应的第三扩展编码序列;所述第三扩展编码序列中每个元素表征一个工件的工件编号以及对应的生产阶段中的一个阶段工序,所述第三扩展编码序列表征一种生产调度方案。
  5. 根据权利要求4所述的生产调度方法,其特征在于,所述基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新,包括:
    根据每个所述种群粒子对应的所述适应值,确定所述种群的当前全局最优解,所述种群的当前全局最优解为当前全局最优种群粒子;
    针对每个种群粒子,根据所述种群的当前全局最优解对应的权重编码序列和所述种群粒子对应的权重编码序列,更新所述种群粒子对应的权重编码序列;
    根据更新后的所述种群粒子对应的权重编码序列,调整所述种群粒子对应的第二扩展编码序列中对应元素的排序;
    根据调整后的所述种群粒子对应的第二扩展编码序列,调整所述种群粒子对应的所述第三扩展编码序列中对应元素的排序,以更新对应的生产调度方案。
  6. 根据权利要求2所述的生产调度方法,其特征在于,所述目标迭代算法包括遗传算法,所述工件信息包括待生产的工件种类、每种工件的工件数量、批量生产的批次大小;所述根据待生产的工件信息产生初始化的种群,包括:
    根据待生产的工件种类进行染色体编码,得到多个种类染色体编码序列;
    根据每种工件的工件数量对每个种类染色体编码序列进行解码,得到每个种类染色体编码序列对应的个体染色体解码序列,所述个体染色体解码序列中每个元素表征对应工件种类的每个工件的工件编号,每个所述个体染色体解码序列表征一种生产调度方案。
  7. 根据权利要求6所述的生产调度方法,其特征在于,所述基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新,包括:
    针对所述种群中的每个个体染色体解码序列,将所述个体染色体解码序列按照解码的倒序重新生成对应的种类染色体编码序列;
    基于所述种群中的每个所述种类染色体编码序列对应的所述适应值,对所述种群中的所述种类染色体编码序列进行遗传操作,以更新所述种群中的所述种类染色体编码序列;
    对更新后的所述种群中的每个种类染色体编码序列进行解码,得到更新后的每个种 类染色体编码序列对应的个体染色体解码序列。
  8. 根据权利要求2所述的生产调度方法,其特征在于,所述目标迭代算法包括第二粒子群算法,所述工件信息包括待生产的工件数量、每个工件的工序数量;所述根据待生产的工件信息产生初始化的种群,包括:
    根据待生产的工件数量、每个工件的工序数量,生成多个生产调度方案,每个生产调度方案对应一个种群粒子;
    随机初始化每个种群粒子对应的惯性权重、位置和速度参数。
  9. 根据权利要求8所述的生产调度方法,其特征在于,所述基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新,包括:
    按照对应的所述适应值从小到大的排列顺序,将所述种群中的多个种群粒子划分为多组种群粒子,每组种群粒子包括一个主种群粒子和至少一个从种群粒子;
    根据每组种群粒子中每个种群粒子对应的适应值,确定每组种群粒子的组内最优解,组内最优解为对应组内所有种群粒子的适应值中最小值对应的种群粒子,所述主种群粒子的位置为组内最优解对应的种群粒子的位置;
    根据每组种群粒子的组内最优解所对应的适应值,确定所述种群的当前全局最优解,当前全局最优解为对应最小适应值的组内最优解;
    针对每组种群粒子,根据组内最优解和所述种群的当前全局最优解,更新每组种群粒子中每个种群粒子的位置和速度。
  10. 根据权利要求9所述的生产调度方法,其特征在于,在所述基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新之后,所述方法还包括:
    根据所述种群中每个所述种群粒子的历史速度和历史位置,确定所述种群中的惰性种群粒子;
    将所述惰性种群粒子从所述种群中剔除,并增加相应数量的新的种群粒子至所述种群中。
  11. 根据权利要求10所述的生产调度方法,其特征在于,所述根据所述种群中每个所述种群粒子的历史速度和历史位置,确定所述种群中的惰性种群粒子,包括:
    当所述种群粒子的多个历史速度的变化量小于第一阈值,且所述种群粒子的多个历史位置的变化量小于第二阈值时,则确定所述种群粒子为所述惰性种群粒子。
  12. 一种柔性作业车间生产调度装置,其特征在于,包括:
    初始化单元,用于根据待生产的工件信息产生初始化的种群,所述种群包括多个生产调度方案,所述生产调度方案表征待生产的工件的一种排产顺序;
    更新迭代单元,用于基于预设的目标迭代算法对所述种群进行迭代更新,并根据迭代过程确定目标生产调度方案。
  13. 根据权利要求12所述的生产调度装置,其特征在于,所述生产调度装置还包括:获取单元;
    所述获取单元,用于针对所述种群中的每个生产调度方案,获取所述生产调度方案对应的适应值,所述适应值表征所述生产调度方案对应的生产完工时间;
    所述更新迭代单元包括:
    更新子单元,用于基于所述目标迭代算法,根据所述适应值对所述种群进行迭代更新;
    目标确定子单元,用于根据迭代过程中得到的最优解确定目标生产调度方案。
  14. 一种电子设备,其特征在于,包括:
    至少一个处理器;以及
    与所述至少一个处理器通信连接的存储器;其中,
    所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-11中任一项所述的生产调度方法。
  15. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-11中任一项所述的生产调度方法。
PCT/CN2023/105813 2022-07-29 2023-07-05 柔性作业车间生产调度方法及装置 WO2024022054A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210906147.1 2022-07-29
CN202210906147.1A CN115032959A (zh) 2022-07-29 2022-07-29 柔性作业车间生产调度方法及装置

Publications (1)

Publication Number Publication Date
WO2024022054A1 true WO2024022054A1 (zh) 2024-02-01

Family

ID=83130947

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/105813 WO2024022054A1 (zh) 2022-07-29 2023-07-05 柔性作业车间生产调度方法及装置

Country Status (2)

Country Link
CN (1) CN115032959A (zh)
WO (1) WO2024022054A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115032959A (zh) * 2022-07-29 2022-09-09 京东方科技集团股份有限公司 柔性作业车间生产调度方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239301A1 (en) * 2006-04-06 2007-10-11 Orzell Robert A A method for resource allocation and re-grouping recognizing competing priorities which vary by date
CN106611275A (zh) * 2016-05-10 2017-05-03 四川用联信息技术有限公司 针对作业车间生产问题的排产算法
CN107807623A (zh) * 2017-11-24 2018-03-16 大连理工大学 柔性机加生产线的动态排产方法、系统及在高铁动车零部件组柔性机加生产线中的应用
CN111123869A (zh) * 2019-12-24 2020-05-08 北京理工大学 一种基于工人操作经验的柔性作业车间调度方法及装置
CN112561225A (zh) * 2020-09-30 2021-03-26 北京工业大学 一种基于标杆协同进化算法的柔性作业车间调度方法
CN112561177A (zh) * 2020-12-21 2021-03-26 厦门大学 一种产线均衡优化调度管理平台
CN115032959A (zh) * 2022-07-29 2022-09-09 京东方科技集团股份有限公司 柔性作业车间生产调度方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239301A1 (en) * 2006-04-06 2007-10-11 Orzell Robert A A method for resource allocation and re-grouping recognizing competing priorities which vary by date
CN106611275A (zh) * 2016-05-10 2017-05-03 四川用联信息技术有限公司 针对作业车间生产问题的排产算法
CN107807623A (zh) * 2017-11-24 2018-03-16 大连理工大学 柔性机加生产线的动态排产方法、系统及在高铁动车零部件组柔性机加生产线中的应用
CN111123869A (zh) * 2019-12-24 2020-05-08 北京理工大学 一种基于工人操作经验的柔性作业车间调度方法及装置
CN112561225A (zh) * 2020-09-30 2021-03-26 北京工业大学 一种基于标杆协同进化算法的柔性作业车间调度方法
CN112561177A (zh) * 2020-12-21 2021-03-26 厦门大学 一种产线均衡优化调度管理平台
CN115032959A (zh) * 2022-07-29 2022-09-09 京东方科技集团股份有限公司 柔性作业车间生产调度方法及装置

Also Published As

Publication number Publication date
CN115032959A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
US20210335639A1 (en) Scheduling method and device for batch processing machine
CN107168267B (zh) 基于改进粒子群与启发式策略的生产排产方法及系统
US20210373888A1 (en) Multi-objective optimization method and system for master production plan of casting parallel workshops
WO2024022054A1 (zh) 柔性作业车间生产调度方法及装置
CN110533301B (zh) 一种基于动态约束矩阵的粒子群调度方法
CN110008023B (zh) 基于遗传算法的云计算系统预算约束随机任务调度方法
CN113128839B (zh) 面向高端装备分布式制造与多模式运输的协同调度方法
CN113033895A (zh) 一种多源多点路径规划方法、设备及存储介质
CN109445386A (zh) 一种基于onba的云制造任务最短生产时间调度方法
Janardhanan et al. Artificial bee colony algorithms for two-sided assembly line worker assignment and balancing problem
CN110414569A (zh) 聚类实现方法及装置
WO2022166851A1 (zh) 量子计算机操作系统、量子计算机及可读存储介质
CN115271163A (zh) 一种基于策略梯度的超启发算法的车辆路径优化方法
CN114462772A (zh) 半导体制造排产方法、系统以及计算机可读存储介质
Gao et al. Flexible integrated scheduling algorithm based on remaining work probability selection coding
Rifai et al. Multi-operator hybrid genetic algorithm-simulated annealing for reentrant permutation flow-shop scheduling
CN109343966B (zh) 一种无人节点的集群组织方法及装置
Esfahanizadeh et al. Stream iterative distributed coded computing for learning applications in heterogeneous systems
CN114462770A (zh) 半导体生产排程方法、系统以及计算机可读存储介质
CN113220437B (zh) 一种工作流多目标调度方法及装置
WO2022160752A1 (zh) 一种运筹优化方法、装置和计算设备
CN115933568A (zh) 一种多目标分布式混合流水车间调度方法
CN114707808A (zh) 一种基于动态根节点工序集的逆序设备网络综合调度方法
CN115271357A (zh) 一种基于混合离散粒子群算法的机器人装配线平衡方法
CN114415615A (zh) 不确定需求下混流装配线平衡分配方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23845267

Country of ref document: EP

Kind code of ref document: A1