Scheduling method and system for minimizing total service completion time in cloud manufacturing environment

The JFMS-ACO algorithm is used to optimize the scheduling of dyeing tasks in a cloud manufacturing environment, solving the total service completion time problem on differential-speed parallel batch processing machines, achieving efficient resource utilization and improved customer satisfaction, and simplifying transportation route planning.

CN119758927BActive Publication Date: 2025-10-10ANHUI NORMAL UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411948340.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-10-10
Estimated Expiration
2044-12-27

AI Technical Summary

Technical Problem

In a cloud manufacturing environment, the scheduling problem of minimizing the total service completion time on differentially-speeded parallel batch processing machines is addressed. In particular, in the textile industry's fabric dyeing process, how to efficiently allocate and schedule dyeing tasks to reduce idle resource waste and improve production efficiency is a key issue.

Method used

The JFMS-ACO algorithm is adopted to optimize the scheduling scheme by initializing pheromones and heuristic information, combining selection-job-rules, selection-batch-machine-rules and local optimization strategies, designing strategies for task selection, batch selection and job set generation, and further improving the quality of the scheduling scheme through local optimization methods of job exchange and batch exchange.

Benefits of technology

It effectively improves the efficiency of generating scheduling plans, reduces the total service completion time of dyeing tasks, improves resource utilization and customer satisfaction, simplifies the complexity of transportation route planning, and realizes efficient cross-enterprise collaborative scheduling of dyeing tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119758927B_ABST
    Figure CN119758927B_ABST
Patent Text Reader

Abstract

The application discloses a scheduling method and system for minimizing total service completion time in a cloud manufacturing environment, the method comprising: initializing pheromone; selecting a job set from the current batch job set as a to-be-added job set; according to the pheromone τ jbm and heuristic information, a selected-job-rule algorithm is used to jointly select a job from the to-be-added job set; based on the selected job and the current batch, a selected-batch-machine-rule algorithm is used to select an optimal batch processing from the available batches of all machines; a selected-next-batch strategy is used to select a candidate batch; the candidate batch is added to the current job set; the above steps are repeated until all jobs are completed production and delivery, and a scheduling scheme is obtained; an optimization algorithm is applied to optimize the scheduling scheme; and then, according to the optimized scheduling scheme, the pheromone is updated to minimize the total service completion time of all jobs. Through the cooperation of production and delivery, the application achieves efficient production of jobs and reduces the waste of idle resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of cloud manufacturing technology, and in particular to a scheduling method and system for minimizing total service completion time in a cloud manufacturing environment. Background Art

[0002] Textile manufacturing companies are characterized by simple production management and a relatively dispersed layout. The cloud manufacturing service system, based on a regional platform, leverages idle resources in dispersed locations and flexibly matches supply and demand to achieve efficient cross-enterprise resource collaboration. It comprises cloud clients, cloud providers, and cloud operators. This cloud manufacturing service model can help textile and apparel companies achieve more intelligent production processes, thereby improving production efficiency and reducing labor costs.

[0003] Fabric dyeing is a key process in the textile industry, and includes both batch dyeing and continuous dyeing. Compared to continuous dyeing, batch dyeing can dye multiple fabrics at once within the weight capacity of the dyeing machine. When multiple customers submit a batch of dyeing service tasks to the platform, the platform assigns them to different companies for dyeing production based on the company's production status, technical standards, and geographical location. After the dyeing production task is completed, it will be delivered to the customer after a certain period of transportation. Among them, the specifications of the dyeing machines and the process standards adopted by different companies vary, resulting in different efficiency in completing the task.

[0004] Therefore, this paper studies the scheduling problem of processing a set of tasks (jobs) from different customers with varying weights (sizes), arrival dates, and processing times on dyeing machines (parallel batch processors) with varying machine capacities and processing rates in a cloud manufacturing environment, minimizing the sum of the service completion times for all tasks (jobs). By synergizing production and delivery, we aim to achieve efficient production and reduce the waste of idle resources. Summary of the Invention

[0005] The technical problem to be solved by the present invention is to solve the scheduling problem of minimizing the total service completion time on differential and differential-speed parallel batch processing machines in a cloud manufacturing environment.

[0006] In order to solve the above technical problems, the present invention provides the following technical solutions:

[0007] A scheduling method for minimizing total service completion time in a cloud manufacturing environment, comprising:

[0008] S10, initialize pheromone τ jx ;

[0009] S20, from the current batch job collection Select a job set as the job set to be processed JS; according to the pheromone τ jbmand heuristic information η jbm , using the selection-job-rule algorithm, jointly select a job J from the set of jobs to be processed JS x ;

[0010] S30, based on the selected job J x and the current batch B yz , using the selection-batch-machine-rule algorithm to select an optimal batch processing J from the available batches of all machines x ;

[0011] S40, using the select-next-batch strategy, select a candidate batch B' yz ;

[0012] S50, the candidate batch B' yz Add to current job collection middle;

[0013] S60, repeating steps S20 to S50 until all jobs have completed production and delivery, and obtaining a scheduling plan;

[0014] S70, applying an optimization algorithm to optimize the scheduling plan;

[0015] S80, then update the pheromone τjx according to the optimized scheduling plan to minimize the sum of the service completion time of all jobs.

[0016] In one embodiment of the present invention, two operations J j and J x The expected degree of being arranged in the same batch is taken as the pheromone τ jx ;Wang J j After adding the batch, the mean value of the job pheromone in the batch is used to represent the job J j Pheromone τ in batches jbm ; Among them, pheromone τ jbm Obtained by the following formula:

[0017]

[0018] In the formula, |B bm |Indicates batch B bm The number of jobs in

[0019] And, the heuristic information η jbm It is defined as the following formula:

[0020]

[0021] Where, ReLU(x)=max(0,x);

[0022] Where rdj 、rd x Represented as job J j 、J x Arrival date, ST bm Expressed as the start time of the batch, PT bm Expressed as batch processing time, pt j Indicated as Wang J j Processing time, v m Expressed as the machine processing speed, and Represented as job J j and J x On a batch processing machine M m Delivery duration after processing.

[0023] In one embodiment of the present invention, a job J is selected from the set of jobs to be processed JS. x ,include:

[0024] S21, the heuristic information η jbm Compared with the average level, the heuristic information η jbm Jobs with values ​​below average, forming a job set JS η ;

[0025] S22, normalized pheromone τ jbm and heuristic information η jbm ;

[0026] Among them, the normalized pheromone τ jbm , through the following formula: Where, Represented as job J x Join Batch B bm the maximum and minimum pheromones of the jobs in the latter batch;

[0027] Normalized heuristic information η jbm , by: Where, Represented as job J x Join Batch B bm the maximum and minimum heuristic information of jobs in the subsequent batch;

[0028] S33, according to the normalized pheromone τ jbm and heuristic information η jbm , get job J j In the current batch B yz The probability of being selected is p jbm ;

[0029] Among them, the probability pjbm , obtained by the following formula:

[0030]

[0031] Where, τ' jbm Expressed as the normalized τ jbm ,η′ jbm Expressed as the normalized η jbm , τ xbm Represented as job-based J x The pheromone, η xbm Represented as job-based J x Heuristic information;

[0032] S34, calculate the cumulative probability p jbm , according to the cumulative probability of selection, apply the roulette method, and select the job set JS η Select Job J x .

[0033] In one embodiment of the present invention, a selection-batch-machine-rule algorithm is used to select a most suitable processing unit from the available batches of all machines. x ,include:

[0034] Assumption Assignment J j In temporary batch B bm and other batch B xo When, calculate the machine M m and Machine M o Change in completion time of unprocessed work|UAJ m |(CT′ b,m -CT b,m ) and |UAJ o |(CT′ x,o -CT x,o );

[0035] Calculate the difference between the two completion time changes, denoted as Δ1;

[0036] Recalculate Homework J j On machine M m and Machine M o The degree of change in delivery time

[0037] The degree of change in delivery time is recorded as Δ2;

[0038] Compare Δ1 and Δ2. If Δ1 is less than Δ2, then job J j In temporary batch B bm Compared with other batches B xo Otherwise, continue to compare with other batches B xo, in order to select the best;

[0039] Among them, |UAJ m |and|UAJ o | respectively represent the m and M o The number of jobs to be processed; CT b,m , CT x,o and CT′ b,m , CT′ x,o Represents job J j From B bm Switch to B xo B in the middle and front bm 、B xo completion time; Respectively represented as Wang J j On machine M m 、M o Up to customer k j delivery time.

[0040] In one embodiment of the present invention, when screening candidate batch B' yz Before, first establish a candidate job set; the candidate job set includes the candidate job set and candidate job set

[0041] Candidate job set Defined as ensuring that each selected job can be processed in the current batch; then the candidate job set have: Where s j Expressed as size, CA bm Expressed as the batch capacity, CA m It represents the machine capacity and J represents the job set;

[0042] Candidate job set In the candidate job set On this basis, the definition of the candidate job set jobs will not extend the completion time of the existing batch after adding them to the batch, then the candidate job set have: Where rd j Indicates the arrival date of the job, ST bm Indicates the start time of the batch, pt j Expressed as the processing time of the job, CT bm Expressed as the completion time of the batch.

[0043] In one embodiment of the present invention, a candidate batch B' is selected using the select-next-batch strategy.yz ,include:

[0044] Assume that the optimal batch in step S30 is B bm , and batch B bm Ability to generate non-empty job collections;

[0045] Randomly select a machine from the machine set and check the status of the last batch on the selected machine to determine whether the batch is capable of accepting new jobs.

[0046] If the last batch is full or no batch exists on the selected machine, a newly created empty batch is selected as the next batch for processing; otherwise, the last batch of the machine is selected.

[0047] In one embodiment of the present invention, the optimization scheduling scheme includes local optimization based on job exchange; wherein the local optimization based on job exchange includes:

[0048] S711, fixed one job From the processing of the job Select a job from a machine in the machine set As jobs to be exchanged;

[0049] S712, to meet the job and homework The capacity of the machine is constrained;

[0050] The capacity of the machine is constrained as:

[0051] as well as,

[0052] Where, Represented as jobs The size, Represented as jobs The capacity of the machine where the corresponding batch is located; Represented as jobs The capacity of the corresponding batch;

[0053] S713, limited operation and homework The selection range is to ensure that the completion time of the batch after the exchange will not be greater than the original start processing time of the adjacent batch;

[0054] The limiting conditions are:

[0055] as well as,

[0056] Where, After the job is swapped, the original job The completion time of the batch, After the job exchange, the original job The completion time of the batch, Represented as a job The start processing time of the batch immediately adjacent to the original batch, Represented as a job The start processing time of the batch immediately adjacent to the original batch;

[0057] S714: If the change in the completion time of all jobs in the two batches is less than 0 after the job swap, and is less than the change in the delivery time of the two jobs, then swap the jobs. and homework Exchange and update the two jobs after the exchange and homework The batch in which it is located, and the processing status of each subsequent batch;

[0058] The job exchange conditions are:

[0059]

[0060] Where, Represented as jobs The batch, Represented as jobs The completion time of the batch, Represented as a job Delivery from machine m1 to customer The delivery duration, Represented as a job Delivery from machine m2 to customer delivery duration, Represented as a job Deliver from machine m2 to The delivery duration, Represented as a job Delivery from machine m1 to customer Duration of delivery;

[0061] S715: Otherwise, select a job in a machine from the machine set as the job to be exchanged, and repeat steps S712 to S714 until an exchangeable job is obtained.

[0062] In one embodiment of the present invention, the optimization scheduling scheme includes local optimization based on batch exchange; wherein the local optimization based on batch exchange includes:

[0063] S721, select two batches Will As a batch to be exchanged;

[0064] S722, batch Perform machine capacity restriction: fix the exchange of batches to a set of machines with the same machine capacity;

[0065] S723, restricted batch The selection range is such that the exchange of two batches will not increase the start processing time of the adjacent batches;

[0066] The restrictions are:

[0067] as well as,

[0068]

[0069] In the formula, it is expressed as, Represented as batch The processing speed of the machine, Represented as batch Arrival date, Represented as machine m1 The completion time of the previous batch, Represented as machine m1 The start time of the next batch, Represented as machine m2 The completion time of the previous batch, Represented as machine m2 The start time of the next batch, Expressed as batch processing time;

[0070] S724: If the sum of the service completion times of all jobs in the two batches after the batch swap is less than the sum of the service completion times of all jobs in the two batches before the swap, the batch Hepi Exchange and update the processing status of these two batches, and each batch thereafter;

[0071] Batch exchange conditions are:

[0072] Δ3<0; and

[0073]

[0074] Where, They are respectively represented as machines m1 and m2 delivered to customer k corresponding to job j j Time spent;

[0075] S725, otherwise, select a batch in a machine from the machine set with the same machine capacity, and repeat steps S722 to S724 until an exchangeable batch is obtained.

[0076] In one embodiment of the present invention, the pheromone τ is updated jx The formula is as follows:

[0077]

[0078] Where 1-ρ represents the retention rate of pheromone, ρ represents the learning rate of ants to problem knowledge, TS max (t), TS min (t) represents the maximum and minimum values ​​of TS of the population from the first generation to the tth generation, respectively; TS(t) represents the sum of the service completion time of all jobs in the tth generation; n represents the number of jobs.

[0079] The present invention further provides a scheduling system for minimizing total service completion time in a cloud manufacturing environment, and the scheduling method for minimizing total service completion time in a cloud manufacturing environment described above is applied, including:

[0080] Initialization module, used to initialize pheromone τ jx ;

[0081] Filter job module, used to select from the current batch job collection Select a job set as the job set to be processed JS; according to the pheromone τ jbm and heuristic information η jbm , using the selection-job-rule algorithm, jointly select a job J from the set of jobs to be processed JS x ;

[0082] Filter batch module, used to select jobs based on J x and the current batch B yz , using the selection-batch-machine-rule algorithm to select an optimal batch processing J from the available batches of all machines x ;

[0083] The candidate batch screening module is used to select a candidate batch B' using the select-next-batch strategy yz ;

[0084] Batch fusion module, used to combine candidate batch B' yz Add to current job collection middle;

[0085] The scheduling plan module is used to repeat the steps from the initialization module to the batch fusion module until all jobs are produced and delivered, and a scheduling plan is obtained;

[0086] Optimization module, used to apply optimization algorithms to optimize scheduling solutions;

[0087] Update module, used to update pheromone τ according to the optimized scheduling plan jx , to minimize the sum of service completion times of all jobs.

[0088] Compared with existing technologies, the proposed algorithm innovatively combines information about production and delivery issues in scheduling solution construction, designing strategies based on task selection, batch selection, and job set generation, effectively improving the efficiency of scheduling solution generation. Furthermore, through local optimization methods for job and batch exchange, the quality of scheduling solutions is further improved, reducing the total service completion time of dyeing tasks.

[0089] This invention utilizes a batch scheduling method for variable-speed batch machines to effectively address scheduling complexity associated with differences in equipment performance and process standards across different companies in dyeing tasks. By considering the combined impact of customer satisfaction and task completion time, the method optimizes dyeing task completion time, helping to improve customer satisfaction while simplifying transportation route planning.

[0090] Compared to traditional dyeing task scheduling methods, this invention leverages a cloud manufacturing service system to achieve efficient, coordinated scheduling of dyeing tasks across enterprises. This method fully utilizes dispersed dyeing machine resources, optimizes supply and demand matching, and improves resource utilization, significantly reducing production costs and improving the efficiency of dyeing task completion.

[0091] Compared to traditional scheduling algorithms, the proposed improved ant colony algorithm can more comprehensively analyze the matching relationship between tasks and machines, fully utilize the dyeing machine's load capacity, and achieve flexible allocation of tasks to different customers. This method not only improves the overall scheduling efficiency of dyeing tasks, but also provides new ideas for the intelligent scheduling of complex manufacturing systems. BRIEF DESCRIPTION OF THE DRAWINGS

[0092] Figure 1 This is a flowchart of a scheduling method for minimizing total service completion time in a cloud manufacturing environment according to an embodiment of the present invention.

[0093] Figure 2 This is a block diagram of a scheduling system for minimizing total service completion time in a cloud manufacturing environment according to an embodiment of the present invention. DETAILED DESCRIPTION

[0094] To facilitate those skilled in the art to understand the technical solution of the present invention, the technical solution of the present invention is further described with reference to the accompanying drawings.

[0095] The terms "first" and "second" are used for descriptive purposes only and should not be understood to indicate or imply relative importance or implicitly specify the number of the technical features indicated. Therefore, a feature specified as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, "plurality" means two or more, unless otherwise specifically defined.

[0096] Before explaining this scheduling method, we first explain the problem description, parameter definitions, and the assumptions based on the scheduling problem to facilitate understanding.

[0097] In one embodiment of the present invention, since the manufacturing resources involved in the sharing come from different companies, these companies typically have their own execution standards, resulting in inevitable differences in manufacturing resources. Therefore, the present invention studies the scheduling problem of processing a set of tasks (jobs) from different customers with different weights (sizes), arrival dates, and processing times on dyeing machines (parallel batch processors) with different machine capacities and processing rates in a cloud manufacturing environment to minimize the sum of the service completion times of all tasks (jobs). Through the coordination of production and delivery, the goal is to achieve efficient production and reduce the waste of idle resources.

[0098] In this embodiment, the scheduling problem can be expressed using the three-parameter notation as Where Qm represents a parallel machine with different speeds, and p-batch represents batch processing, i.e., multiple jobs can be processed simultaneously in a batch. Specifically, given a job set J = {J1, ..., J n} and a set of machines M = {M1, ..., M f}. Where n is the number of jobs and f is the number of machines. Job j (J j ) contains the attributes of arrival date rd j , processing time pt j , size s j And the initiating customer k j . Machine m(M m ) contains attributes such as machine capacity CA m , machine processing speed v m and M m To customer k j Delivery duration For a job j in J, it is on a batch machine M in M m After processing, delivery duration Deliver to the initiating customer k j The total time it takes to complete the delivery of the job. Among them, the service completion time of job j is recorded as SC j.

[0099] In this embodiment, the scheduling problem of the present invention is based on the following assumptions: (1) The attribute information of the job and the machine is known in advance. (2) Since the capacity of the idle resources varies, each job J j Processing can only be performed on a certain number of machines. These machines are grouped into a set and recorded as MS j ={M m |s j ≤CA m , m∈M}. (3) Assume that the idle resources have one different type of machine, denoted by M=M 1 U…∪M h U…∪M l , and their machine capacities are sorted in non-decreasing order, denoted as CA 1 ,…,CA h ,…,CA l At this time, according to the capacity of the machine, J can be divided into l job subsets J = J1∪…∪J h ∪…∪J l , where J h ={J j |CA h ≤s j ≤CA h+1 , j∈J}. (4) After all jobs are grouped into batches, the number of batches on each machine can be determined. The number of batches is at most the number of workpieces. (5) Once batch B bm Once the processing starts, it cannot be interrupted, nor can other operations be added or deleted before the processing is completed. (6) Batch capacity CA bm is the sum of the sizes of all jobs in the batch, i.e. (7) Batch processing time PT bm and arrival date RD bm It is determined by the job with the longest processing time and the latest arrival date within the batch, i.e. (8) The start time of a batch is determined by its arrival time and the completion time of the previous batch, i.e. ST bm =max{CT b-1m , RD bm}. Batch completion time CT bm It is determined by its starting time and processing time, that is, CT bm =ST bm +PT bm In batch B bm The completion time ct of each job j is j All CT bm(9) The service completion time of a job is composed of the job's completion time and the duration from the machine to the customer who initiates the job.(10) The optimization objective of this problem is to minimize the total service completion time of all jobs, i.e.

[0100] In this embodiment, the above is some description of the scheduling problem of the present application, and the following describes the algorithm used by the present application to solve the problem. Ant colony algorithm is based on the pheromone released by ants in the process of finding food path to guide the subsequent ants to find the shortest path to food. In solving optimization problems, each artificial ant represents a potential solution, which searches in the solution space and exchanges knowledge information of the problem through pheromone to find the optimal solution together. For the ant colony algorithm for solving the non-cloud manufacturing scheduling problem, the algorithm is generally to determine a machine and establish an empty batch on the machine, then add jobs to the batch until the capacity constraint of the batch is not met, repeat the above process until all jobs are processed. However, considering that the above ant colony algorithm does not fully consider the relationship between the machine and the customer to which the job belongs, the present application proposes a JFMS-ACO algorithm (Job-First Machine-Second Ant Colony Optimization Algorithm), which adopts the "job first and machine second" way to construct the scheduling scheme, and the specific scheduling scheme is as follows.

[0101] Please refer to Figure 1 The present application provides a scheduling method for minimizing the total service completion time in a cloud manufacturing environment, comprising:

[0102] S10, initializing pheromone τ jx .

[0103] In this embodiment, in the ant colony optimization algorithm, pheromone is a kind of virtual chemical substance used by ants to mark the path and indicate the selection probability of the path. In the JFMS-ACO algorithm, the pheromone τ jx represents the expected degree of two jobs J j and J x being arranged in the same batch. The high and low of the pheromone reflects the priority of combining a specific job in the same batch. Through the continuous iteration of the ant colony, the higher the pheromone concentration between the two jobs means that the two jobs are more likely to be placed in the same batch in the past optimal scheme.

[0104] S20, selecting a job set from the current batch job set JS as the to-be-added job set JS; according to the pheromone τ jbm and the heuristic information η jbm, using the selection-job-rule algorithm, jointly select a job J from the set of jobs to be processed JS x .

[0105] In one embodiment of the present invention, considering that the number of jobs in a batch is dynamic, job J j Join Batch B bm Then, the mean value of the job pheromone in the batch is used to represent the job j In batch B bm Pheromone τ jbm , as follows. It is worth noting that if B bm There is no work in , then τ jbm is 0.

[0106] Among them, pheromone τ jbm Obtained by the following formula:

[0107]

[0108] In the formula, |B bm |denoted as B bm The number of jobs in .

[0109] In one embodiment of the present invention, heuristic information is information based on empirical rules or specific rules that is used to guide and optimize the decision-making process. It provides a fast and efficient selection path when dealing with decisions in complex or uncertain environments, with the goal of evaluating and selecting the best job and optimizing the overall scheduling solution. In the JFMS-ACO algorithm, the heuristic information η jbm Two key dimensions are considered. (1) The first dimension is the arrival date of the job. The algorithm gives priority to jobs with shorter arrival dates. The purpose is to reduce the arrival date of the entire batch, thereby indirectly reducing the total completion time of the batch. Prioritizing the processing of jobs with shorter arrival dates reduces the arrival date of the batch, thereby reducing the completion time of the entire batch, and ultimately speeding up the start processing time of subsequent batches, which helps to improve the efficiency of the overall production process. (2) The second dimension is the service completion time of the job. The algorithm tends to select jobs that are closer to the current batch processing time, have less impact on the batch start processing time, and have a shorter delivery duration, so as to improve the processing efficiency of the batch and minimize the delivery duration of the job, thereby reducing the service completion time of the job.

[0110] Considering the large difference in the numerical ranges of these two dimensions, the values ​​corresponding to the two dimensions are normalized to balance the influence of the two dimensions in the scheduling decision. jbm It is defined as the following formula:

[0111]

[0112] Where, ReLU(x)=max(0,x);

[0113] Where rd j 、rd x Represented as job J j 、J x Arrival date, ST bm Expressed as the start time of the batch, PT bm Expressed as batch processing time, pt j Indicated as Wang J j Processing time, v m Expressed as the machine processing speed, and Represented as job J j and Homework J x , on a batch processing machine M m Delivery duration after processing.

[0114] In one embodiment of the present invention, in the process of constructing a solution using the JFMS-ACO algorithm, the Select-Job-Rule algorithm (Select_Job_Rule algorithm) is about how to effectively use pheromones and heuristic information to guide the decision-making of ants. In order to effectively select suitable workpieces, before normalization, the Select_Job_Rule algorithm reduces the difference between the minimum and maximum values ​​by screening out jobs with heuristic information values ​​below the average level (before normalization, the smaller the heuristic information corresponding to the job, the more likely it is to be selected). By limiting the selection range to jobs with heuristic information values ​​below the average level, the algorithm can evaluate the relative advantages of each job in a more balanced manner, avoid bias caused by excessively high heuristic information values, and reduce the range of jobs involved in pheromone calculations. Specifically, from the set of jobs to be processed JS, a job J is jointly selected. x ,include:

[0115] S21, the heuristic information η jbm Compared with the average level, the heuristic information η jbm Jobs with values ​​below average, forming a job set JS η .

[0116] S22, normalized pheromone τ jbm and heuristic information η jbm .

[0117] Among them, the normalized pheromone τ jbm , through the following formula: Where, Represented as job J x Join Batch B bmThe maximum and minimum pheromones of the jobs in the latter batch.

[0118] Normalized heuristic information η jbm , by: Where, Represented as job J x Join Batch B bm The maximum and minimum heuristic information of jobs in the subsequent batch.

[0119] S33, according to the normalized pheromone τ jbm and heuristic information η jbm , get job J j In the current batch B yz The probability of being selected is p jbm .

[0120] Among them, the probability p jbm , obtained by the following formula:

[0121]

[0122] Where, τ' jbm Expressed as the normalized τ jbm ,η′ jbm Expressed as the normalized η jbm , τ xbm Represented as job-based J x The pheromone, η xbm Represented as job-based J x Heuristic information.

[0123] S34, calculate the cumulative probability p jbm , according to the cumulative probability of selection, apply the roulette method, and select the job set Js η Select Job J x .

[0124] In the embodiment, the roulette method is not improved in this embodiment, and in this embodiment, the probability p jbm The larger the value, the more likely the roulette wheel method is to screen out the probability p. jbm Big, corresponding homework J x They will definitely be screened out.

[0125] S30, based on the selected job J x and the current batch B yz , using the selection-batch-machine-rule algorithm to select an optimal batch processing J from the available batches of all machines x .

[0126] In the embodiment, in the JFMS-ACO algorithm, the selection of the batch for the job in the machine is a key link for constructing the scheduling scheme, and is directly related to the processing efficiency and the delivery time of the job. The core idea of the Select_Batch_On_Machines_Rule algorithm is to determine which batch on a machine is most suitable for meeting the processing requirement of the job. The algorithm process starts from selecting a job and temporarily allocating the job to a batch. Then, the batches on all machines capable of processing the job are evaluated, and the most suitable batch is selected according to specific standards.

[0127] In the embodiment, the evaluation standards after the job switches the processing machine mainly consider two aspects: one is the change degree of the batch processing state (the change amount of the completion time of all workpieces after the job switches from the temporary batch to other batches), and the other is the change degree of the delivery time (the change amount of the delivery time of the job after the job switches from the temporary batch to other batches). Obviously, for the production and delivery integration stage, when the change degree of the batch processing state is less than the change degree of the delivery time after the job switches from the temporary batch B bm to other batches B xo , the job is more likely to be better in the other batches than in the temporary batch. On this premise, for the production stage, after the job switches from the temporary batch to other batches, there are two situations for the change degree of the batch processing state: the first is that the change degree of the batch processing state is better than that of the job in the temporary batch; and the second is that the change degree of the batch processing state is not better than that of the job in the temporary batch. For the second situation, since the construction of the batch is dynamically changed, the processing degree of the job cannot be directly determined. Therefore, in this paper, the potential influence of the job on the unprocessed jobs in B bm and B xo is used to indirectly evaluate which batch is better for processing. Specifically, for the job J j in B bm and B xo , the change amounts of the completion times of the unprocessed jobs on the machines M m and M o are calculated, respectively, as |UAJ m |(CT′ b,m -CT b,m ) and |UAJ o |(CT′ x,o -CT x,o ), and the difference between the two is taken as the evaluation basis for the second situation.

[0128] In an embodiment of the application, specifically, the Select_Batch_On_Machines_Rule algorithm is used to select a most suitable batch for processing J x from all available batches of the machines, which includes:

[0129] s31, assuming that the job Jj In temporary batch B bm and other batch B xo When, calculate the machine M m and Machine M o Change in completion time of unprocessed work|UAJ m |(CT′ b,m -CT b,m ) and |UAJ o |(CT′ x,o -CT x,o ).

[0130] S32, calculate the difference between the two completion time changes, recorded as Δ1.

[0131] S33, recalculate job J j On machine M m and Machine M o The degree of change in delivery time

[0132] S34, record the degree of change in delivery time as Δ2.

[0133] S35, compare Δ1 and Δ2, if Δ1 is less than Δ2, then operation J j In temporary batch B bm Compared with other batches B xo Otherwise, continue to compare with other batches B xo , to select the best one.

[0134] Among them, |UAJ m |and|UAJ o | respectively represent the m and M o The number of jobs to be processed; CT b,m , CT x,o and CT′ b,m , CT′ x,o Represents job J j From B bm Switch to B xo B in the middle and front bm 、B xo completion time; Respectively represented as Wang J j On machine M m 、M o Up to customer k j delivery time.

[0135] In one embodiment of the present application, the Select_Batch_On_Machines_Rule algorithm not only focuses on the immediate processing needs of jobs, but also considers the potential impact on future processing delivery, thus maximizing the efficiency of the entire production delivery flow. In addition, in the step of machine selection, the algorithm effectively reduces the scale of computation by comparing only the existing batches that the current job can be processed and the temporarily assigned batches.

[0136] S40, using the select-next-batch strategy, a candidate batch B' is selected yz .

[0137] In one embodiment of the present application, before screening the candidate batch B' yz , a candidate job set is first established. Due to the characteristics of the parallel batch machine scheduling problem, the jobs selected to join the current batch must consider the remaining capacity of the batch. In view of this key constraint, the present application sets a candidate job set This set contains all jobs that meet the size limit of the remaining capacity of the current batch, ensuring that each selected job can be processed in the current batch.

[0138] The candidate job set has: In the formula, s j represents the size, CA bm represents the capacity of the batch, CA m represents the machine capacity, and J represents the job set.

[0139] In the JFMS-ACO algorithm, the jobs selected to join the current batch are from the job set, so the time when these jobs are delivered to the customer can be known in advance. Therefore, this part focuses on the impact of the processing status of the job on the batch, and on the basis of , the set of candidate jobs is designed according to the definition of the problem The jobs in this job set will not prolong the completion time of the existing batch after joining the batch, so that when constructing the scheduling scheme, the potential negative effects can be minimized, thus more efficiently optimizing the entire production flow.

[0140] The candidate job set has: In the formula, rd j represents the arrival date of the job, ST bm represents the start time of the batch, pt j represents the processing time of the job, CT bm represents the completion time of the batch.

[0141] In this embodiment, the candidate job set data set used as the strategy of selecting the next batch, candidate job set assignable to the previous batch job set

[0142] In an embodiment of the present application, after a job is processed in the batch selected by the select-batch-machine-rule algorithm, it is necessary to determine whether the batch can be used as the batch of jobs to be added in the next round. The batch of jobs to be added in the next round must be able to generate a non-empty job set according to the batch, because the composition of the job set is the basis for determining job selection and constructing a batch set. Therefore, the strategy of selecting the next batch is used in this paper to determine the batch of jobs to be added next time, and a job set is generated based on the batch. The core of the algorithm is to determine whether the current batch in which the job is located has space to accommodate unprocessed jobs. If the current batch is full, it means that no new job can be added, and the batch used for adding jobs in the next time needs to be selected. At this time, the algorithm uses a random selection mechanism, that is, a machine is randomly selected to determine the batch. The specific steps are to first check the state of the last batch on the selected machine to determine whether it has the ability to accept new jobs. At this time, if the last batch is full or there is no batch on the selected machine, a newly created empty batch is selected as the batch used for adding jobs in the next time; otherwise, the last batch of the machine is selected.

[0143] In an embodiment of the present application, using the strategy of selecting the next batch, a candidate batch B' yz is selected, which includes:

[0144] Suppose that the optimal batch in step S30 is B bm , and the batch B bm can generate a non-empty job set.

[0145] A machine is randomly selected from the machine set, and the state of the last batch on the selected machine is checked to determine whether the batch has the ability to accept new jobs.

[0146] If the last batch is full or there is no batch on the selected machine, a newly created empty batch is selected as the batch used for adding jobs in the next time; otherwise, the last batch of the machine is selected.

[0147] S50, the candidate batch B' yz is added to the current job set .

[0148] S60, steps S20-S50 are repeated until all jobs are completed and delivered to obtain a scheduling scheme.

[0149] In one embodiment of the present invention, the scheduling scheme S can be understood as a solution whose goal is to minimize the total service completion time. In the present invention, the JFMS-ACO algorithm uses a 3×n vector to encode the solution to the scheduling problem of minimizing the total service completion time on differentially-speeded parallel batch processing machines in a cloud manufacturing environment. The first layer of the vector represents the job number, which is initially numbered from 1 to n; the second layer represents the machine number where the job is located, which is initially set to 0; the third layer represents the batch number where the job is located, which is also set to 0. At the same time, the delivery duration from the machine to the customer can be inferred from the information of the first and second layers. In order to explain the meaning of each column in the solution vector, take the values ​​of the third column as 3, 2, and 1 as an example. At this time, the column indicates that the third job is processed in the first batch on the second machine, and after Delivered to customer k2. When each layer of the 3×n vector is assigned a value, it means that n jobs are scheduled to be processed in batches on the machine and then delivered to the customer who submitted the task after a delivery duration. At this time, a complete solution is obtained.

[0150] S70, applying an optimization algorithm to optimize the scheduling plan.

[0151] In one embodiment of the present invention, job swapping and batch swapping are two common local optimization strategies designed to modify the scheduling solution on a small scale to further improve the solution quality. While scheduling solutions can be optimized using random traversal, this approach is time-consuming. Based on the fundamental principles of job swapping and batch swapping, and taking into account the unique properties of cloud manufacturing batch scheduling, the present invention designs the SJLO and SBLO algorithms, respectively, to further optimize the scheduling solution obtained by the JFMS-ACO algorithm. The following sections detail the processes of the SJLO and SBLO algorithms, respectively.

[0152] In one embodiment of the present invention, a local optimization (SJLO) algorithm based on job exchange improves the quality of the scheduling solution by exchanging two jobs. Specifically, after fixing a job, a job on a machine is selected from the set of machines that can process the job as the job to be exchanged. Secondly, it is determined that the capacity constraints of the machine where the job is located can still be met after the two jobs are exchanged. Next, the selection range of the two jobs is restricted to ensure that the completion time of the batch after the exchange is not greater than the original start processing time of the adjacent batch. Finally, if the change in the completion time of all jobs in the two batches after the job exchange is less than 0 and less than the change in the delivery time of the two jobs, then exchanging the two jobs will inevitably improve the quality of the solution. Because the local optimization (SJLO) algorithm based on job exchange only needs to evaluate the changes in the job status of the two batches after the job exchange, it avoids the need to evaluate the processing status changes of the jobs in the two batches after each exchange attempt, thereby improving the execution efficiency of the local optimization.

[0153] In an embodiment of the invention, the local optimization based on job exchange includes:

[0154] S711, fixing a job From the set of machines that can process the job Select a job in a machine as the job to be exchanged.

[0155] S712, subject to the constraints of the capacity of the job And the machine where the job is located.

[0156] The constraint of the capacity of the machine is:

[0157] And,

[0158] In the formula, Respectively, the size of the job , Respectively, the capacity of the machine where the job Corresponding batch is located; Respectively, the capacity of the job Corresponding batch;

[0159] S713, limit the selection range of the job And the job To ensure that the completion time of the exchanged batch will not be greater than the original start processing time of the immediately adjacent batch.

[0160] The limiting condition is:

[0161]

[0162] In the formula, Indicates the completion time of the batch where the original job is located after the job exchange, Indicates the completion time of the batch where the original job is located after the job exchange, Indicates the start processing time of the immediately adjacent batch of the original batch of the job , Indicates the start processing time of the immediately adjacent batch of the original batch of the job .

[0163] S714, if the change amount of the completion time of all jobs in the two batches after the job exchange is less than 0, and less than the change amount of the delivery time of the two jobs, then exchange the job And the job , and update the two jobs And the job ​The batch in which it is located, and the processing status of each subsequent batch.

[0164] The job exchange conditions are:

[0165]

[0166] Where, Represented as jobs The batch, Represented as jobs The completion time of the batch, Represented as a job Delivery from machine m1 to customer The delivery duration, Represented as a job Delivery from machine m2 to customer The delivery duration, Represented as a job Deliver from machine m2 to The delivery duration, Represented as a job Delivery from machine m1 to customer delivery duration.

[0167] S715: Otherwise, select a job in a machine from the machine set as the job to be exchanged, and repeat steps S712 to S714 until an exchangeable job is obtained.

[0168] In one embodiment of the present invention, a batch-exchange-based local optimization (SBLO) algorithm aims to improve scheduling solutions in a relatively short time by exchanging batches. Specifically, given the capacity constraints of the machines involved in the problem studied in this invention, arbitrarily exchanging batches could cause the batch size to exceed the machine capacity constraints. Therefore, batch exchange is fixed to machines with the same capacity to avoid creating infeasible scheduling solutions. Secondly, based on the definition of batch start processing time, the selection range of two batches is restricted so that exchanging the two batches does not increase the start processing time of the adjacent batches. In this case, the difference between the sum of the service completion times of all jobs in the two batches before and after the exchange is simply calculated to determine whether the batch exchange will improve the solution quality. Finally, if the sum of the service completion times of all jobs in the two batches after the exchange is less than the sum of the service completion times of all jobs in the two batches before the exchange, then exchanging the two batches will inevitably improve the solution quality. Similar to the job-exchange-based local optimization (SBLO) algorithm, only the state changes of the two batches after the batch exchange need to be evaluated, avoiding the need to evaluate the processing state changes of the two batches after each exchange attempt. This improves the solution quality while increasing optimization efficiency.

[0169] In one embodiment of the present invention, local optimization based on batch exchange includes:

[0170] S721, select two batches Will As a batch to be exchanged.

[0171] S722, batch Perform machine capacity limitation: fix the exchange of batches to a set of machines with the same machine capacity.

[0172] S723, restricted batch The selection range is such that the exchange of two batches will not increase the start processing time of the adjacent batches.

[0173] The restrictions are:

[0174] as well as,

[0175]

[0176] In the formula, it is expressed as, Represented as batch The processing speed of the machine, Represented as batch Arrival date, Represented as machine m1 The completion time of the previous batch, Represented as machine m1 The start time of the next batch, Represented as machine m2 The completion time of the previous batch, Represented as machine m2 The start time of the next batch, Expressed as batch processing time.

[0177] S724: If the sum of the service completion times of all jobs in the two batches after the batch swap is less than the sum of the service completion times of all jobs in the two batches before the swap, the batch Hepi Exchange and update the processing status of these two batches, and each batch thereafter.

[0178] Batch exchange conditions are:

[0179] Δ3<0; and

[0180]

[0181] Where, They are respectively represented as machines m1 and m2 delivered to customer k corresponding to job j j Time spent.

[0182] S725, otherwise, select a batch in a machine from the machine set with the same machine capacity, and repeat steps S722 to S724 until an exchangeable batch is obtained.

[0183] In one embodiment of the present invention, the two optimization methods can be optimized in a selective manner or in combination. When optimizing in combination, the SJLO algorithm and the SBLO algorithm are executed in series, and one is executed after the other, and the two can be executed in no particular order.

[0184] S80, then update the pheromone τ according to the optimized scheduling plan jx , to minimize the sum of service completion times of all jobs.

[0185] In one embodiment of the present invention, the JFMS-ACO algorithm selects the best solution so far to update the ant colony's pheromone trail. At the same time, each path in the ant colony's pheromone trail will volatilize some pheromones, and the pheromone trail on the current best path will be partially strengthened. jk (t+1) is defined as follows:

[0186]

[0187] Where 1-ρ represents the retention rate of pheromone, ρ represents the learning rate of ants to problem knowledge, TS max (t), TS min (t) represents the maximum and minimum values ​​of TS of the population from the first generation to the tth generation, respectively; TS(t) represents the sum of the service completion time of all jobs in the tth generation; n represents the number of jobs.

[0188] In this embodiment, It represents the increment of pheromone trace associated with TS. This value is adaptively adjusted to keep the increment of pheromone trace at τ with the target value of the scheduling scheme of different ants in each generation of the ant colony. min and τ max In between, it prevents the unreasonable growth of pheromone trails, thereby maintaining the effectiveness of pheromone trails in the long term.

[0189] See also Figure 2 As shown, the present invention provides a scheduling system for minimizing the total service completion time in a cloud manufacturing environment, and applies the scheduling method for minimizing the total service completion time in the cloud manufacturing environment described above, including:

[0190] Initialization module, used to initialize pheromone τ jx .

[0191] Filter job module, used to select from the current batch job collection Select a job set as the job set to be processed JS; according to the pheromone τ jbm and heuristic information η jbm , using the selection-job-rule algorithm, jointly select a job J from the set of jobs to be processed JS x .

[0192] Filter batch module, used to select jobs based on J x and the current batch B yz , using the selection-batch-machine-rule algorithm to select an optimal batch processing J from the available batches of all machines x .

[0193] The candidate batch screening module is used to select a candidate batch B' using the select-next-batch strategy yz .

[0194] Batch fusion module, used to combine candidate batch B' yz Add to current job collection middle.

[0195] The scheduling plan module is used to repeat the steps from the initialization module to the batch fusion module until all jobs are produced and delivered, and a scheduling plan is obtained.

[0196] The optimization module is used to apply optimization algorithms to optimize scheduling solutions.

[0197] Update module, used to update pheromone τ according to the optimized scheduling plan jx , to minimize the sum of service completion times of all jobs.

[0198] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above and that the invention can be embodied in other specific forms without departing from the spirit or essential characteristics of the invention. Therefore, the embodiments should be considered in all respects as illustrative and non-restrictive, and the scope of the invention is defined by the appended claims rather than the foregoing description. It is intended that all variations within the meaning and range of equivalents of the claims be embraced herein, and any reference signs in the claims should not be construed as limiting the claims to which they relate.

[0199] The above-mentioned embodiments merely represent the implementation methods of the invention. The protection scope of the present invention is not limited to the above-mentioned embodiments. For those skilled in the art, several variations and improvements can be made without departing from the concept of the present invention, which all fall within the protection scope of the present invention.

Claims

1. A scheduling method for minimizing total service completion time in a cloud manufacturing environment, characterized in that: include: S10, initialize pheromone τ jx ; S20, from the current batch job collection Select a job set as the job set to be processed JS; according to the pheromone τ jbm and heuristic information η jbm , using the selection-job-rule algorithm, jointly select a job J from the set of jobs to be processed JS x ; Among them, the heuristic information η jbm It is defined as the following formula: Where ReLU(x)=max(0,x); Where rd j 、rd x Represented as job J j 、J x Arrival date, ST bm Expressed as the start time of the batch, PT bm Expressed as batch processing time, pt j Represented as job J j Processing time, v m Expressed as the machine processing speed, and Represented as job J j and Homework J x , on a batch processing machine M m Delivery duration after processing, B bm Expressed as batch; S30, based on the selected job J x and the current batch B yz , using the selection-batch-machine-rule algorithm to select an optimal batch processing J from the available batches of all machines x ; S40, using the select-next-batch strategy, select a candidate batch B' yz ; S50, the candidate batch B' yz Add to current job collection middle; S60, repeating steps S20 to S50 until all jobs have completed production and delivery, and obtaining a scheduling plan; S70, applying an optimization algorithm to optimize the scheduling plan; S80, then update the pheromone τ according to the optimized scheduling plan jx , to minimize the sum of service completion time of all jobs; The optimization scheduling scheme includes local optimization based on batch exchange; wherein the local optimization based on batch exchange includes: S721, select two batches Will As a batch to be exchanged; S722, batch Perform machine capacity restriction: fix the exchange of batches to a set of machines with the same machine capacity; S723, restricted batch The selection range is such that the exchange of two batches will not increase the start processing time of the adjacent batches; The restrictions are: as well as, Where, Represented as batch The processing speed of the machine, Represented as batch Arrival date, Represented as machine m1 The completion time of the previous batch, Represented as machine m1 The start time of the next batch, Represented as machine m2 The completion time of the previous batch, Represented as machine m2 The start time of the next batch, Expressed as batch processing time; S724: If the sum of the service completion times of all jobs in the two batches after the batch swap is less than the sum of the service completion times of all jobs in the two batches before the swap, the batch Hepi Exchange and update the processing status of these two batches, and each batch thereafter; Batch exchange conditions are: Δ3<0; and Where, They are respectively represented as machines m1 and m2 delivered to customer k corresponding to job j j Time spent; S725, otherwise, select a batch in a machine from the machine set with the same machine capacity, and repeat steps S722 to S724 until an exchangeable batch is obtained.

2. The scheduling method for minimizing total service completion time in a cloud manufacturing environment according to claim 1, characterized in that: Put two jobs J j and J x The expected degree of being arranged in the same batch is taken as the pheromone τ jx ;Write homework J j After adding the batch, the mean value of the job pheromone in the batch is used to represent job J j Pheromone τ in batches jbm ; Among them, pheromone τ jbm Obtained by the following formula: j, x∈JS.

3. The scheduling method for minimizing total service completion time in a cloud manufacturing environment according to claim 2, characterized in that: From the set of jobs to be processed JS, select a job J x ,include: S21, the heuristic information η jbm Compared with the average level, the heuristic information η jbm Jobs with values ​​below average, forming a job set JS η ; S22, normalized pheromone τ jbm and heuristic information η jbm ; Among them, the normalized pheromone τ jbm , through the following formula: Where, Represented as job J x Join Batch B bm the maximum and minimum pheromones of the jobs in the latter batch; Normalized heuristic information η jbm , by: Where, Represented as job J x Join Batch B bm the maximum and minimum heuristic information of jobs in the subsequent batch; S33, according to the normalized pheromone τ jbm and heuristic information η jbm , get job J j In the current batch B yz The probability of being selected is p jbm ; Among them, the probability p jbm , obtained by the following formula: Where, τ' jbm Expressed as the normalized τ jbm ,η' jbm Expressed as the normalized η jbm , τ xbm Represented as job-based J x The pheromone, η xbm Represented as job-based x Heuristic information; S34, calculate the cumulative probability p jbm , according to the cumulative probability of selection, apply the roulette method, and select the job set JS η Select Job J x .

4. The scheduling method for minimizing total service completion time in a cloud manufacturing environment according to claim 1, characterized in that: Use the selection-batch-machine-rule algorithm to select the most suitable processing J from the available batches of all machines x ,include: Assumption Assignment J j In temporary batch B bm and other batch B xo When, calculate the machine M m and Machine M o Change in completion time of unprocessed work|UAJ m |(CT′ b,m -CT b,m ) and |UAJ o |(CT′ x,o -CT x,o ); Calculate the difference between the two completion time changes, denoted as Δ1; Recalculate Homework J j On machine M m and Machine M o The degree of change in delivery time The degree of change in delivery time is recorded as Δ2; Compare Δ1 and Δ2. If Δ1 is less than Δ2, then job J j In temporary batch B bm Compared with other batches B xo Otherwise, continue to compare with other batches B xo , in order to select the best; Among them, |UAJ m |and|UAJ o | respectively represent the m and M o The number of jobs to be processed; CT b,m , CT x,o and CT′ b,m , CT′ x,o Represents job J j From B bm Switch to B xo B in the middle and front bm 、B xo completion time; Represents job J j On machine M m 、M o Up to customer k j delivery time.

5. The scheduling method for minimizing total service completion time in a cloud manufacturing environment according to claim 1, characterized in that: In screening candidate batch B' yz Before, first establish a candidate job set; the candidate job set includes the candidate job set and candidate job set Candidate job set Defined as ensuring that each selected job can be processed in the current batch; then the candidate job set have: Where s j Expressed as size, CA bm Expressed as the batch capacity, CA m It represents the machine capacity and J represents the job set; Candidate job set In the candidate job set On this basis, the definition of the candidate job set jobs will not extend the completion time of the existing batch after adding them to the batch, then the candidate job set have: Where rd j Indicates the arrival date of the job, ST bm Indicates the start time of the batch, pt j Expressed as the processing time of the job, CT bm Expressed as the completion time of the batch.

6. The scheduling method for minimizing total service completion time in a cloud manufacturing environment according to claim 5, characterized in that: Using the select-next-batch strategy, select a candidate batch B' yz ,include: Assume that the optimal batch in step S30 is B bm , and batch B bm Ability to generate non-empty job collections; Randomly select a machine from the machine set and check the status of the last batch on the selected machine to determine whether the batch is capable of accepting new jobs. If the last batch is full or no batch exists on the selected machine, a newly created empty batch is selected as the next batch for processing; otherwise, the last batch of the machine is selected.

7. The scheduling method for minimizing total service completion time in a cloud manufacturing environment according to claim 1, characterized in that: Optimize the scheduling scheme, including local optimization based on job exchange; the local optimization based on job exchange includes: S711, fixed one job From the processing of the job Select a job from a machine in the machine set As jobs to be exchanged; S712, to meet the job and homework The capacity of the machine is constrained; The capacity of the machine is constrained as follows: as well as, Where, Represented as jobs The size, Represented as jobs The capacity of the machine where the corresponding batch is located; Represented as jobs The capacity of the corresponding batch; S713, limited operation and homework The selection range is to ensure that the completion time of the batch after the exchange will not be greater than the original start processing time of the adjacent batch; The limiting conditions are: as well as, Where, After the job is swapped, the original job The completion time of the batch, After the job exchange, the original job The completion time of the batch, Represented as a job The start processing time of the batch immediately adjacent to the original batch, Represented as a job The start processing time of the batch immediately adjacent to the original batch; S714: If the change in the completion time of all jobs in the two batches is less than 0 after the job swap, and is less than the change in the delivery time of the two jobs, then swap the jobs. and homework Exchange and update the two jobs after the exchange and homework The batch in which it is located, and the processing status of each subsequent batch; The job exchange conditions are: as well as, Where, Represented as jobs The batch, Represented as jobs The completion time of the batch, Represented as a job Delivery from machine m1 to customer delivery duration, Represented as a job Delivery from machine m2 to customer delivery duration, Represented as a job Deliver from machine m2 to delivery duration, Represented as a job Delivery from machine m1 to customer Duration of delivery; S715: Otherwise, select a job in a machine from the machine set as the job to be exchanged, and repeat steps S712 to S714 until an exchangeable job is obtained.

8. The scheduling method for minimizing total service completion time in a cloud manufacturing environment according to claim 1, characterized in that: Update pheromone τ jx The formula is as follows: Where 1-ρ represents the retention rate of pheromone, ρ represents the learning rate of ants to problem knowledge, TS max (t), TS min (t) represents the maximum and minimum values ​​of TS of the population from the first generation to the tth generation, respectively; TS(t) represents the sum of the service completion time of all jobs in the tth generation; n represents the number of jobs.

9. A scheduling system for minimizing total service completion time in a cloud manufacturing environment, characterized by: The scheduling method for minimizing the total service completion time in a cloud manufacturing environment according to any one of claims 1 to 8 comprises: Initialization module, used to initialize pheromone τ jx ; Filter job module, used to select from the current batch job collection Select a job set as the job set to be processed JS; according to the pheromone τ jbm and heuristic information η jbm , using the selection-job-rule algorithm, jointly select a job J from the set of jobs to be processed JS x ; Filter batch module, used to select jobs based on J x and the current batch B yz , using the selection-batch-machine-rule algorithm to select an optimal batch processing J from the available batches of all machines x ; The candidate batch screening module is used to select a candidate batch B' using the select-next-batch strategy yz ; Batch fusion module, used to combine candidate batch B' yz Add to current job collection middle; The scheduling plan module is used to repeat the steps from the initialization module to the batch fusion module until all jobs are produced and delivered, and a scheduling plan is obtained; Optimization module, used to apply optimization algorithms to optimize scheduling solutions; Update module, used to update pheromone τ according to the optimized scheduling plan jx , to minimize the sum of service completion times of all jobs.

Citation Information

Patent Citations

  • Batch scheduling method based on dual-pheromone ant colony algorithm

    CN110909858A

  • Batch scheduling method and system of hybrid genetic algorithm and ant colony algorithm

    CN116822894A