Scheduling method and system for minimizing total service completion time in cloud manufacturing environment
By proposing a scheduling method in the cloud manufacturing environment, using pheromone and heuristic information to optimize jobs and batch selection, the scheduling problem of minimizing the total service completion time on differentially differentially-speed parallel batch machines in the cloud manufacturing environment is solved, and efficient resource utilization and low-cost production are achieved.
Patent Information
- Application Number
- CN202411948340.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2044-12-27
AI Technical Summary
In a cloud manufacturing environment, the scheduling problem of how to minimize the total service completion time on a differentially differential-speed parallel batch machine.
A scheduling method is proposed to minimize the total service completion time in the cloud manufacturing environment. By initializing pheromone, selecting jobs and batches, optimizing the scheduling scheme, and updating pheromones, to achieve optimal job scheduling.
It effectively improves the generation efficiency and quality of the scheduling plan, reduces the total service completion time of the dyeing task, improves resource utilization and reduces production costs.
Smart Images

Figure CN119758927A_ABST
Abstract
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 enterprises have the characteristics of single production management and scattered layout. The cloud manufacturing service system is based on building a regional platform, making use of idle resources in scattered locations, and realizing efficient cross-enterprise collaboration of resources through flexible matching of supply and demand. It is composed of cloud customers, cloud suppliers and cloud operators. The cloud manufacturing service model can help textile and garment enterprises realize a more intelligent production process, thereby improving production efficiency and reducing labor costs.
[0003] Fabric dyeing is a key process in the textile industry, including batch dyeing and continuous dyeing. Compared with continuous dyeing, batch dyeing can dye multiple fabrics in batches at a time within the weight capacity of the dyeing machine. When multiple customers initiate a batch of dyeing service tasks to the platform, the platform will assign 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 dyeing machines of different companies and the process standards adopted by the companies are different, resulting in different efficiencies in completing tasks for different companies.
[0004] Therefore, this paper studies the scheduling problem of processing a group of tasks (jobs) from different customers with different weights (sizes), arrival dates, and processing times on dyeing machines (parallel batch processing machines) 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 purpose of achieving efficient production of operations and reducing the waste of idle resources can be achieved. Summary of the invention
[0005] The technical problem to be solved by the present invention is to solve the problem of minimizing the total service completion time scheduling on differential speed parallel batch processors 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, initialization of pheromone τ jx ;
[0009] S20, from the current batch job collection Select a set of jobs as the set of jobs 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 a scheduling plan is obtained;
[0014] S70, applying an optimization algorithm to optimize the scheduling scheme;
[0015] S80, based on the optimized scheduling scheme, update the pheromone τjx 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 job J j Pheromone Tau in Batch 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 Defined as the following formula:
[0020]
[0021] Where ReLU(x)=max(0,x);
[0022] In the formula, 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 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 The assignments below the average value form a assignment set JS η ;
[0025] S22, normalized pheromone τ jbm and heuristic information η jbm ;
[0026] Among them, the normalized pheromone τ jbm , through the following formula: In the formula, 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: In the formula, Represented as job J x Join Batch B bm The maximum and minimum heuristic information of the jobs in the later 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] In the formula, τ' jbm Expressed as the normalized τ jbm ,η′ jbm It is expressed as the normalized η jbm , τ xbm Represented as based on job J x The pheromone, η xbm Represented as based on job 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 J from the available batches of all machines. x ,include:
[0034] Assumption Assignment J j In the temporary batch B bm and other batch B xo When, the machine M is calculated separately m and machine M o Change in completion time of unprocessed jobs | 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 the 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 Respectively represent the job J j From B bm Switch to B xo B in the middle bm , B xo completion time; Respectively represent 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 that, first establish a candidate job set; the candidate job set includes the candidate job set and the 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: In the formula, s j Expressed as size, CA bm Expressed as the batch capacity, CA m It is represented by the machine capacity and J is the set of jobs;
[0042] Candidate Job Set In the candidate job set Based on this, the definition of the candidate job set is that the jobs added to the batch will not extend the completion time of the existing batch, so the candidate job set have: In the formula, rd j Represents the arrival date of the job, ST bm Expressed as 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 a 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; 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, fix one job From the processing of this job Select a job from a machine in the set of machines 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] In the formula, 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] In the formula, Indicates that after job exchange, in the original job The completion time of the batch, After the job is swapped, 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 and less than the change in the delivery time of the two jobs after the job exchange, then the job and homework Exchange and update the two jobs after the exchange and homework The batch it is in, and the processing status of each subsequent batch;
[0058] The job exchange conditions are:
[0059]
[0060] In the formula, 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 Duration of delivery, Represented as a job Delivered from machine m2 to Duration of delivery, 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 limitation: fix the batch exchange 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, Represented as batch processing time;
[0070] S724: If the sum of the service completion times of all jobs in the two batches after the batch exchange is less than the sum of the service completion times of all jobs in the two batches before the exchange, the batches are exchanged. and batch 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] In the formula, 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] In the formula, 1-ρ represents the retention rate of pheromone, ρ represents the learning rate of ants on problem knowledge, and TS max (t), TS min (t) represent the maximum and minimum values of TS of the population from the first generation to the tth generation, 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 also provides a scheduling system for minimizing the total service completion time in a cloud manufacturing environment, and the scheduling method for minimizing the total service completion time in the 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 set of jobs as the set of jobs 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 for selecting 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] The optimization module is 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 the prior art, the beneficial effects of the present invention are as follows: the algorithm proposed by the present invention innovatively combines the information of production and delivery problems in the construction of scheduling solutions, designs strategies based on task selection, batch selection and job set generation, and effectively improves the efficiency of scheduling solution generation. In addition, through the local optimization method of job exchange and batch exchange, the quality of the scheduling solution is further improved, and the total service completion time of the dyeing task is reduced.
[0089] The present invention effectively copes with the scheduling complexity caused by the differences in equipment performance and process standards between different enterprises in dyeing tasks through the batch scheduling method of the variable-speed batch processor. By considering the comprehensive impact of customer satisfaction and task completion time, the service completion time of the dyeing task is optimized, which helps to improve customer satisfaction with the service and simplifies the complexity of transportation route planning.
[0090] Compared with the traditional dyeing task scheduling method, the present invention realizes efficient collaborative scheduling of dyeing tasks across enterprises by introducing the cloud manufacturing service system. This method can make full use of the dispersed dyeing machine resources, optimize the supply and demand matching, and improve the resource utilization rate, thereby significantly reducing the production cost of the enterprise and improving the completion efficiency of the dyeing task.
[0091] Compared with the traditional scheduling algorithm, the proposed improved ant colony algorithm can more comprehensively analyze the matching relationship between tasks and machines, make full use of the carrying capacity of the dyeing machine, and realize the flexible allocation of tasks for different customers. This method not only improves the overall scheduling efficiency of dyeing tasks, but also provides a new idea for the intelligent scheduling of complex manufacturing systems. BRIEF DESCRIPTION OF THE DRAWINGS
[0092] Figure 1 This is a flow chart 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 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] In order 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 in conjunction with the accompanying drawings of the specification.
[0095] The terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0096] Before explaining this scheduling method, we first explain the problem description, parameter definition, and assumptions based on the scheduling problem to facilitate understanding.
[0097] In one embodiment of the present invention, since the manufacturing resources involved in sharing come from different enterprises, these enterprises usually have their own execution standards, which inevitably lead to differences in manufacturing resources. Therefore, the present invention studies the scheduling problem of processing a group of tasks (jobs) from different customers with different weights (sizes), arrival dates, and processing times on dyeing machines (parallel batch processing machines) 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 purpose of efficient production of operations and reducing the waste of idle resources can be achieved.
[0098] In this embodiment, the scheduling problem can be expressed by the three-parameter notation method as follows: Where Qm represents a parallel machine with different speeds, and p-batch represents batch processing, i.e., multiple jobs can be processed simultaneously in one 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 in set J (J j ) contains the attributes of arrival date rd j , processing time pt j , size 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 processing machine M in M. m After processing, delivery duration Deliver to the initiating customer k j The delivery of completed jobs. The sum of service completion time for all jobs 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 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 , …, C.A. h , …, C.A. 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 of a batch begins, it cannot be interrupted, and other operations cannot 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, that is, (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, that is, (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 , R.D. bm}. Batch completion time CT bm It is determined by its start 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 completion time of the job and the duration from the machine to the customer who initiated the job. (10) The optimization goal of this problem is to minimize the sum of the service completion times of all jobs, that is,
[0100] In this embodiment, the above are some descriptions of the scheduling problem of the present invention. The following is an explanation of the algorithm used by the present invention to solve the problem. The ant colony algorithm is based on the pheromone released by ants in the process of finding food paths to guide the subsequent ants to find the shortest path to the food. When solving the optimization problem, each artificial ant represents a potential solution. They search in the solution space and exchange knowledge information of the problem through pheromones to jointly find the optimal solution. For the ant colony algorithm that solves the non-cloud manufacturing scheduling problem, this type of algorithm usually determines a machine and establishes an empty batch on it, and then continuously adds jobs to the batch until the capacity constraint of the batch is not met, and repeats the above process until all jobs are processed. However, considering that the above ant colony algorithm fails to fully consider the relationship between the machine and the customer to whom the job belongs, a JFMS-ACO algorithm (Job-First Machine-Second Ant Colony Optimization Algorithm) is proposed, which adopts the "job first and machine later" method to construct a scheduling plan. The specific scheduling plan is as follows.
[0101] See also Figure 1 As shown, the present invention provides a scheduling method for minimizing the total service completion time in a cloud manufacturing environment, comprising:
[0102] S10, initialization of pheromone τ jx .
[0103] In this embodiment, in the ant colony optimization algorithm, pheromone is used as a virtual chemical substance by ants to mark the path, indicating the selection probability of the path. jx Represents two jobs J j and J x The expectation of being arranged in the same batch. The level of this pheromone reflects the priority of combining specific jobs in the same batch. Through the continuous iteration of the ant colony, the higher the pheromone concentration between two jobs, the more likely it is that these two jobs were in the same batch in the previous optimal solution, and they are more likely to be placed in the same batch.
[0104] S20, from the current batch job collection Select a set of jobs as the set of jobs 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 .
[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 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 speeds 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 batch processing efficiency 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 scheduling decisions. jbm Defined as the following formula:
[0111]
[0112] Where ReLU(x)=max(0,x);
[0113] In the formula, 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 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 more balancedly evaluate the relative advantages of each job, 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 The assignments below the average value form a assignment set JS η .
[0116] S22, normalized pheromone τ jbm and heuristic information η jbm .
[0117] Among them, the normalized pheromone τ jbm , through the following formula: In the formula, 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: In the formula, Represented as job J x Join Batch B bm The maximum and minimum heuristic information of the jobs in the post 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] In the formula, τ' jbm Expressed as the normalized τ jbm ,η′ jbm It is expressed as the normalized η jbm , τ xbm Represented as based on job J x The pheromone, η xbm Represented as based on job 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 it out, but it does not necessarily mean that 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 this embodiment, in the JFMS-ACO algorithm, selecting a batch on a machine for a job is a key step in constructing a scheduling solution, which is directly related to the processing efficiency and delivery time of the job. The core idea of the Select_Batch_On_Machines_Rule algorithm is to determine which batch on a certain machine is most suitable to meet the processing needs of the job. The algorithm process starts by selecting a job and temporarily assigning it to a batch. After that, the batches on all machines that can process the job are evaluated and the most suitable batch is selected according to specific criteria.
[0127] In this embodiment, the evaluation criteria after the job switches the processing machine mainly considers two aspects: one is the degree of change in batch processing status (the change in the completion time of all workpieces after the job switches from the temporary batch to other batches), and the other is the degree of change in delivery time (the change in 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, the job switches from the temporary batch B to the temporary batch B. bm Switch to another batch B xo After that, when the degree of change of the batch processing status is less than the degree of change of the delivery time, it is possible that it will be better than the temporary batch in other batches. Under this premise, for the production stage, after the job switches from the temporary batch to other batches, there are two situations in which the degree of change of the batch processing status is better than the job in the temporary batch; the second is that the degree of change of the batch processing status is not better than the job in the temporary batch. For the second situation, since the construction of the batch is dynamically changing, it is impossible to directly judge the quality of the processing degree of the job. Therefore, this paper uses the job in B bm and B xo The potential impact of each of the unprocessed jobs on each batch can be used to indirectly evaluate which batch they are better processed in. Specifically, job J j In B bm and B xo When, the machine M is calculated separately m and M o Change in completion time of unprocessed jobs | 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 one embodiment of the present invention, specifically, a selection-batch-machine-rule algorithm is used to select a most suitable processing J from the available batches of all machines. x ,include:
[0129] s31, assuming that the assignment Jj In the temporary batch B bm and other batch B xo When, the machine M is calculated separately m and Machine M o Change in completion time of unprocessed jobs | 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 the 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 Respectively represent the job J j From B bm Switch to B xo B in the middle bm , B xo completion time; Respectively represent Wang J j On machine M m 、M o Up to customer k j delivery time.
[0135] In one embodiment of the present invention, the Select_Batch_On_Machines_Rule algorithm not only focuses on the immediate processing requirements of the job, but also considers its possible impact on the future processing delivery process, thereby maximizing the efficiency of the entire production delivery process. In addition, in the machine selection step, the algorithm effectively reduces the calculation scale by only comparing the existing batches that can be processed by the current job and the temporarily allocated batches.
[0136] S40, using the select-next-batch strategy, select a candidate batch B' yz .
[0137] In one embodiment of the present invention, when screening candidate batch B' yz Before that, we first establish a candidate job set. Due to the characteristics of the parallel batch processor scheduling problem, the selection of jobs to be added to the current batch must consider the remaining capacity of the batch. In view of this key constraint, the present invention sets a candidate job set This set contains all jobs that fit within the remaining capacity of the current batch in size, ensuring that each selected job can be processed in the current batch.
[0138] The candidate job set have: In the formula, s j Expressed as size, CA bm Expressed as the batch capacity, CA m Denotes the machine capacity and J denotes the job set.
[0139] In the JFMS-ACO algorithm, jobs to be added to the current batch are selected from the job set, so the time when these jobs are delivered to customers can be known in advance. Therefore, this part focuses on the impact of the processing status of the job on the batch. Based on the definition of the problem, a set of candidate jobs is designed The addition of jobs of this job set to a batch will not extend the completion time of the existing batch, so that potential negative effects can be minimized when building a scheduling plan, thereby optimizing the entire production process more efficiently.
[0140] The candidate job set have: In the formula, rd j Represents the arrival date of the job, ST bm Expressed as 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.
[0141] In this embodiment, the candidate job set A dataset used as a strategy for selecting the next batch, a set of candidate jobs Can be assigned to the previous batch of jobs
[0142] In one embodiment of the present invention, after a job is processed in a batch selected in the selection-batch-machine-rule algorithm, it is necessary to determine whether the batch can be used as a batch for a new round of jobs to be processed. Among them, the batch used as a new round of jobs to be processed must be able to generate a non-empty job set based on the batch, because the composition of the job set is the basis for determining the job selection and building the batch set. Therefore, this paper adopts the strategy of selection-next-batch to determine the batch of jobs to be processed next time, and generates a job set based on the batch. The core of the algorithm is to determine whether the current batch where the job is located has space to accommodate unprocessed jobs. If the current batch is full, it means that no new jobs can be added, and it is necessary to select the batch for the next processing job. At this time, the algorithm adopts a random selection mechanism, that is, randomly selects a machine to determine this batch. The specific steps are to first check the status of the last batch on the selected machine to determine whether it is capable of accepting 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 for the next processing job; otherwise, the last batch of the machine is selected.
[0143] In one embodiment of the present invention, a candidate batch B' is selected using a select-next-batch strategy. yz ,include:
[0144] Assume that the optimal batch in step S30 is B bm , and batch B bm Ability to generate a non-empty collection of jobs.
[0145] 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.
[0146] 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.
[0147] S50, the candidate batch B' yz Add to current job collection middle.
[0148] S60, repeat steps S20 to S50 until all jobs have completed production and delivery, and obtain a scheduling plan.
[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 parallel batch processors 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 example where the values of the third column are 3, 2, and 1 respectively. At this time, the column indicates that the third job is processed in the first batch on the second machine and is processed. Delivered to customer k2. When each layer of the 3×n vector is assigned a value, it means that n jobs are arranged to be processed in the batch of 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 solution.
[0151] In one embodiment of the present invention, job exchange and batch exchange are two common local optimization strategies, which aim to modify the scheduling scheme in a small range to further improve the quality of the solution. Although the scheduling scheme can be optimized by random traversal, it takes a long time. Based on the basic principles of job exchange and batch exchange, the present invention combines the problem properties unique to the cloud manufacturing batch scheduling problem, and designs the SJLO algorithm and the SBLO algorithm to further optimize the scheduling scheme obtained by the JFMS-ACO algorithm. The following sections respectively elaborate on the processes of the SJLO algorithm and the SBLO algorithm.
[0152] In one embodiment of the present invention, the local optimization SJLO algorithm based on job exchange improves the quality of the scheduling solution by exchanging two jobs. Specifically, first, after fixing a job, select a job in a machine from the set of machines that can process the job as the job to be exchanged. Secondly, determine that after the two jobs are exchanged, the capacity constraints of the machines where the jobs are located can still be met. Then, limit the selection range of the two jobs to ensure that the completion time of the batch after the exchange will not be greater than the original start processing time of each 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. Since the local optimization SJLO algorithm based on job exchange only needs to evaluate the changes in the job status in the two batches after the job exchange, it avoids the need to evaluate the changes in the processing status of the jobs in the batch after the two batches each time the exchange is attempted, thereby improving the execution efficiency of local optimization.
[0153] In one embodiment of the invention, local optimization based on job exchange includes:
[0154] S711, fix one job From the processing of this job Select a job from a machine in the set of machines As jobs to be exchanged.
[0155] S712, to meet the job and homework The capacity of the machine is constrained.
[0156] The capacity of the machine is constrained as:
[0157] as well as,
[0158] In the formula, 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;
[0159] S713, limited operation and homework The selection range is to ensure that the completion time of the batch after exchange will not be greater than the original start processing time of the adjacent batches.
[0160] The limiting conditions are:
[0161]
[0162] In the formula, Indicates that after job exchange, in the original job The completion time of the batch, After the job is swapped, 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.
[0163] S714: If the change in the completion time of all jobs in the two batches is less than 0 and less than the change in the delivery time of the two jobs after the job exchange, then the job and homework Exchange and update the two jobs after the exchange and homework The batch it is in, and the processing status of each subsequent batch.
[0164] The job exchange conditions are:
[0165]
[0166] In the formula, Represented as jobs The batch, Represented as jobs The completion time of the batch, Represented as a job Delivery from machine m1 to customer Duration of delivery, Represented as a job Delivery from machine m2 to customer Duration of delivery, Represented as a job Delivered from machine m2 to Duration of delivery, 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 local optimization SBLO algorithm based on batch exchange is used to exchange batches in order to improve the scheduling scheme in a shorter time. Specifically, considering that the machine involved in the problem studied by the present invention has capacity constraints, if the batches are exchanged arbitrarily, the batch size may exceed the constraint of the machine capacity. Therefore, the exchange of batches is fixed to the set of machines with the same machine capacity to avoid generating an infeasible scheduling scheme. Secondly, according to the definition of the start processing time of the batch, the selection range of the two batches is limited so that the start processing time of the adjacent batches will not be increased after the two batches are exchanged. At this time, it is only necessary to calculate the difference between the sum of the service completion time of all jobs in the two batches before and after the exchange to determine whether the batch exchange will improve the quality of the solution. Finally, if the sum of the service completion time of all jobs in the two batches after the exchange is less than the sum of the service completion time of all jobs in the two batches before the exchange, then exchanging the two batches will inevitably improve the quality of the solution. Similar to the local optimization SJLO algorithm based on job exchange, it is only necessary to evaluate the changes in the states of the two batches after the batch exchange, avoiding the need to evaluate the changes in the processing states of the two batches after each exchange attempt, while improving the solution quality, the optimization efficiency is improved.
[0169] In one embodiment of the present invention, the 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 each adjacent batch.
[0173] The restrictions are:
[0174] as well as,
[0175]
[0176] In the formula, it is expressed as, Respectively expressed 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, Represented as batch processing time.
[0177] S724: If the sum of the service completion times of all jobs in the two batches after the batch exchange is less than the sum of the service completion times of all jobs in the two batches before the exchange, the batches are exchanged. and batch 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] In the formula, 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 by selecting one or the other, or by combining them. When optimizing by combining them, the SJLO algorithm and the SBLO algorithm are executed in series, and one is executed after the other is executed, and the two can be executed in any 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 of the ant colony so far to update the pheromone trail of the ant colony. At the same time, each path in the pheromone trail of the ant colony will volatilize some pheromones, and the pheromone trail on the current best path will be partially strengthened. Update of pheromone trail τ jk (t+1) is defined as follows:
[0186]
[0187] In the formula, 1-ρ represents the retention rate of pheromone, ρ represents the learning rate of ants on problem knowledge, and TS max (t), TS min (t) represent the maximum and minimum values of TS of the population from the first generation to the tth generation, 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, Represents the increment of the pheromone trace associated with TS. This value adaptively adjusts the increment of the pheromone trace with the target value of the scheduling plan of different ants in each generation of the ant colony to keep it at τ min and τ max In between, avoid the unreasonable growth of pheromone trails, and thus maintain 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 the scheduling method for minimizing the total service completion time in the cloud manufacturing environment described above is applied, including:
[0190] Initialization module, used to initialize pheromone τ jx .
[0191] Filter job module, used to select from the current batch job collection Select a set of jobs as the set of jobs 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 is obvious 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 present invention can be implemented in other specific forms without departing from the spirit or essential features of the present invention. Therefore, the embodiments should be regarded as exemplary and non-limiting from any point of view, and the scope of the present invention is defined by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims are included in the present invention, and any reference numerals in the claims should not be regarded as limiting the claims involved.
[0199] The above-described embodiments merely represent implementation methods of the invention. The protection scope of the present invention is not limited to the above-described embodiments. For those skilled in the art, several modifications and improvements may be made without departing from the concept of the present invention, which all belong to 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, initialization of pheromone τ jx ; S20, from the current batch job collection Select a set of jobs as the set of jobs 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 ; 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 a scheduling plan is obtained; S70, applying an optimization algorithm to optimize the scheduling scheme; S80, then update the pheromone τ according to the optimized scheduling plan jx , to minimize the sum of service completion times of all jobs.
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 ; Will work J j After adding the batch, the mean value of the job pheromone in the batch is used to represent job J j Pheromone Tau in Batch jbm ; Among them, pheromone τ jbm Obtained by the following formula: In the formula, |B bm |Indicates batch B bm The number of jobs in And, the heuristic information η jbm Defined as the following formula: Where ReLU(x)=max(0,x); In the formula, 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 machine processing speed, and Represented as job J j and Homework J x , on a batch processing machine M m Delivery duration after processing.
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 The assignments below the average value form a assignment set JS η ; S22, normalized pheromone τ jbm and heuristic information η jbm ; Among them, the normalized pheromone τ jbm , through the following formula: In the formula, 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: In the formula, Respectively, they are represented as job j x Join Batch B bm The maximum and minimum heuristic information of the jobs in the later 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: In the formula, τ' jbm Expressed as the normalized τ jbm , η' jbm Expressed as the normalized η jbm , τ xbm Represented as based on job J x The pheromone, η xbm Represented as based on job J 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 process J from the available batches of all machines x ,include: Assumption Assignment J j In the temporary batch B bm and other batch B xo When, the machine M is calculated separately m and machine M o Change in completion time of unprocessed jobs | 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 the 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 Respectively represent the job J j From B bm Switch to B xo B in the middle bm , B xo completion time; Respectively represent the 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 that, first establish a candidate job set; the candidate job set includes the candidate job set and the 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: In the formula, s j Expressed as size, CA bm Expressed as the batch capacity, CA m It is represented by the machine capacity and J is the set of jobs; Candidate Job Set In the candidate job set Based on this, the definition of the candidate job set is that the jobs added to the batch will not extend the completion time of the existing batch, so the candidate job set have: In the formula, rd j Represents the arrival date of the job, ST bm Expressed as 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; 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: Optimizing the scheduling scheme, including local optimization based on job exchange; wherein the local optimization based on job exchange includes: S711, fix one job From the processing of this job Select a job from a machine in the set of machines 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: as well as, In the formula, 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, In the formula, Indicates that after job exchange, in the original job The completion time of the batch, After the job is swapped, 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 and less than the change in the delivery time of the two jobs after the job exchange, then the job and homework Exchange and update the two jobs after the exchange and homework The batch it is in, and the processing status of each subsequent batch; The job exchange conditions are: as well as, In the formula, 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 Duration of delivery, Represented as a job Delivered from machine m2 to Duration of delivery, 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: Optimizing the scheduling scheme, including 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 limitation: fix the batch exchange 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, In the formula, it is expressed as, Respectively expressed as batch The processing speed of the machine, Respectively expressed 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, Represented as batch Processing time; S724: If the sum of the service completion times of all jobs in the two batches after the batch exchange is less than the sum of the service completion times of all jobs in the two batches before the exchange, the batches are exchanged. and batch Exchange and update the processing status of these two batches, and each batch thereafter; The batch exchange conditions are: Δ3<0; and In the formula, 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.
9. 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: In the formula, 1-ρ represents the retention rate of pheromone, ρ represents the learning rate of ants on problem knowledge, and TS max (t), TS min (t) represent the maximum and minimum values of TS of the population from the first generation to the tth generation, TS(t) represents the sum of the service completion time of all jobs in the tth generation; n represents the number of jobs.
10. A scheduling system for minimizing total service completion time in a cloud manufacturing environment, characterized in that: The scheduling method for minimizing the total service completion time in a cloud manufacturing environment according to any one of claims 1 to 9 comprises: Initialization module, used to initialize pheromone τ jx ; Filter job module, used to select from the current batch job collection Select a set of jobs as the set of jobs 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; The optimization module is 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
Cross-operation unit scheduling method with batching machine
CN102938102A
Multi-objective workpiece scheduling algorithm based on ant colony algorithm
CN106970604A
Batch scheduling method based on dual-pheromone ant colony algorithm
CN110909858A
Multi-target workpiece batch scheduling method and device based on historical information guidance
CN111210125A
Batch scheduling method and system of hybrid genetic algorithm and ant colony algorithm
CN116822894A
Cited By
Differential batch production and distribution combined scheduling method based on heuristic algorithm and medium
CN122155192A