A large-scale flexible job shop scheduling method and system

By optimizing scheduling through a multi-agent ant colony algorithm, the problems of low computational efficiency and low resource utilization in the scheduling problem of large-scale flexible job workshops are solved, and a more efficient scheduling scheme is achieved.

CN115222198BActive Publication Date: 2026-07-07SUZHOU TIANHUI IND INTERNET CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SUZHOU TIANHUI IND INTERNET CO LTD
Filing Date
2022-05-31
Publication Date
2026-07-07

AI Technical Summary

Technical Problem

Existing technologies suffer from low computational speed, inconvenient convergence criteria, and insufficient local search when solving large-scale flexible job shop scheduling problems, making it difficult to effectively solve large-scale FJSP problems.

Method used

The multi-agent ant colony algorithm is adopted to create job agents, machine agents and inventory agents by acquiring relevant information of the work workshop. The algorithm uses disjunctive graph and pheromone mechanism to make negotiation decisions and optimize the scheduling solution. The algorithm uses pheromone feedback mechanism and heuristic function of multi-agent ant colony algorithm to iteratively optimize the scheduling scheme.

Benefits of technology

It improves scheduling efficiency in large-scale job clusters, reduces minimum completion time and computation time, and increases machine utilization, making it suitable for large-scale job scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115222198B_ABST
    Figure CN115222198B_ABST
Patent Text Reader

Abstract

The application discloses a large-scale flexible job shop scheduling method and system, acquires job shop related information; creates job agents, machine agents and inventory agents according to the job shop related information based on a multi-agent ant colony algorithm, initializes multi-agent ant colony algorithm parameters and pheromone initial values; constructs a disjunctive graph in the form of a directed graph according to the job shop related information, sequentially traverses the disjunctive graph, and job agents, machine agents and inventory agents generate scheduling solutions according to an agent negotiation protocol and update pheromones; after multiple iterations, it is judged whether a new optimal solution is generated, if the iteration number exceeds the preset number of rounds, the current optimal solution is output, and the final job shop scheduling scheme is obtained. Advantage: the shortest completion time, machine utilization rate and calculation time required by the multi-agent ant colony algorithm have obvious advantages compared with the prior art, and are more suitable for large-scale job scheduling problems.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method and system for scheduling large-scale flexible workshops, belonging to the field of workshop scheduling technology. Background Technology

[0002] The Flexible Job-shop Scheduling Problem (FJSP) is an extension of the Job-shop Scheduling Problem (JSP) in Flexible Manufacturing Systems (FMS), and it is highly NP-hard. FJSP allows any machine to handle a job from a set of selectable machines, and it requires consideration of various types of flexibility, including nonlinear alternative processes for the product, selectable machines for the job, and variable processing sequences. Therefore, considering the flexibility of FJSP helps improve scheduling performance.

[0003] In recent years, an increasing number of researchers have focused on improving the performance of Functional Job Scheduling (FJSP) in industrial processes, and several exact and approximate solution algorithms have been proposed for solving FJSP. Santos et al. proposed a dynamic programming (DP) method based on Bellman equations to solve the shop floor scheduling problem. Eremeev et al. established a mixed-integer linear programming model based on continuous-time representation for NP-hard scheduling problems, using different rule conditions to schedule multiprocessor jobs. Gran et al. analyzed the production plan and processing steps of machines in FJSP and established a mixed-integer goal programming (MIGP) model to solve FJSP. This model uses minimizing the maximum completion time and total processing time as its objective function, and proposes an optimal production job shop floor scheduling strategy based on this. Demir et al. proposed a method using a genetic algorithm (GA) to solve FJSP with overlapping operations. In this method, sub-batch jobs are directly moved from one machine to the next for processing without waiting for the previous machine to process the entire batch. Gabel et al. proposed a reinforcement learning (RL) method based on distributed policy search, interpreting FJSP as a sequential decision problem with independent learning agents. Chen et al., addressing issues such as random job arrivals and machine failures in the dynamic job shop scheduling problem, proposed a Q-learning-based RL method. This method, based on Variable Neighborhood Search (VNS), introduces a reward mechanism during the learning process of calculating the quality of selected parameters.

[0004] Existing technologies for solving large-scale FJSPs suffer from problems such as low computation speed, inconvenient convergence criterion setting, and insufficient local search as the job size increases. Summary of the Invention

[0005] The technical problem to be solved by the present invention is to overcome the defects of the prior art and provide a method and system for scheduling large-scale flexible workshops.

[0006] To address the aforementioned technical problems, this invention provides a method for scheduling large-scale flexible job shops, comprising:

[0007] Obtain relevant information about the work workshop, including: processing operation information, processing machine information, auxiliary resource inventory information, processing time of the processing operation on the corresponding processing machine, priority constraint relationship between processing operations, and the number of auxiliary resources required for the execution of the processing operation on the corresponding processing machine.

[0008] Based on the multi-agent ant colony algorithm, job agents, machine agents, and inventory agents are created according to relevant information of the job shop. The multi-agent ant colony algorithm parameters and initial pheromone values ​​are initialized. A disjunction graph is constructed in the form of a directed graph based on the priority constraints between processing jobs. The disjunction graph is traversed sequentially, and the job agents, machine agents, and inventory agents generate scheduling solutions and update pheromones according to the agent negotiation protocol. The algorithm iterates repeatedly, compares the optimal solutions in each round, and selects the scheduling solution with the shortest completion time as the optimal solution for all rounds of iteration. After multiple rounds of iteration, the algorithm terminates if a new better solution is generated according to the algorithm termination condition. If the number of iterations exceeds the preset number of rounds, the algorithm terminates, outputs the current optimal solution, and obtains the final job shop scheduling scheme.

[0009] Furthermore, the decision-making process of the machine agent includes:

[0010] The calculation using formula (5) shows that in the t-th iteration, the k-th ant is in task O. i Select machine M j probability

[0011]

[0012] in, This indicates that in the t-th iteration, from job O... i Select machine M at this location j The pheromone concentration is initially set to a pre-defined constant τ0. This indicates that in the t-th iteration, from job O... i Select machine M at this location j The heuristic function is calculated as shown in formula (6); Let represent the set of bidding applications sent by the job agent in the t-th iteration; α is the pheromone factor, and β is the heuristic function factor;

[0013] Homework O i Select machine M j The heuristic function is calculated as shown in formula (6).

[0014]

[0015] in, To select machine M for the k-th ant in the t-th iteration. j Final completion time Compared with the current maximum completion time The difference is calculated as shown in formula (7).

[0016] It is the current All The mean is calculated as shown in formula (8).

[0017]

[0018]

[0019] In the t-th iteration, each ant selects a machine for the processing job, where the k-th ant is job O. i When selecting a machine, it is necessary to refer to the announcement (5). Calculate assignment O i The cumulative probability distribution of the probability of selecting a machine is used, and then a "roulette wheel" selection method is used to select the machine. A random number σ∈(0,1) is set. If:

[0020]

[0021] Then the k-th ant in the t-th iteration is task O. i Select the machine corresponding to the (u+1)th selection probability, where 1≤u≤U, and U is the cumulative probability number. Each machine selects only one operation to be processed.

[0022] Furthermore, the decision-making process of the job agent includes:

[0023] Identify the operations to be processed, and generate a bidding application based on the operations to be processed, broadcasting it to the machine agent. When the work agent receives a bid from the machine agent, it sends the auxiliary resource requirement to the inventory agent. Under the condition that the inventory is sufficient, only one bid is selected as the bidding result, and the inventory agent is notified to lock the auxiliary resource requirement for the operation. The bidding result is to give priority to the bid with the earliest completion time when the inventory requirement is sufficient.

[0024] Furthermore, the decision-making process of the inventory agent includes:

[0025] Receive the auxiliary resource requirement from the job agent, determine whether the remaining auxiliary resources are sufficient to meet the requirement, and if so, notify the job agent to lock the auxiliary resource requirement for the job request and then update the remaining auxiliary resources; otherwise, notify the job agent to prepare the next bidding application for the job.

[0026] The method for updating the remaining amount of auxiliary resources is as follows:

[0027]

[0028] Among them, Rest_R k For the i-th processing operation O i The remaining amount of the k-th auxiliary resource before processing begins, B k The total amount B of the kth type k , This indicates that the start time is earlier than the i-th processing operation O. i The demand for the k-th auxiliary resource for all processing operations, i, j = 1, ..., m; k = 1, ..., v, where m represents the total number of operations and v represents the total number of auxiliary resource categories.

[0029] Furthermore, the pheromone update process includes: updating the pheromone using equation (17).

[0030]

[0031] Where, τ ij (t) represents the pheromone in the t-th iteration, τ ij (t-1) represents the pheromone in the (t-1)th iteration, k represents the kth ant in the multi-agent ant colony algorithm, K is the total number of ants, and τ min τ represents the lower limit of pheromone concentration. max This indicates the upper limit of pheromone concentration, and ρ represents the evaporation rate; Let 'k' be the increment left on the path that ant k leaves after it releases pheromones once during the t-th iteration.

[0032]

[0033] Among them, f k q(t) represents the fitness value of the solution generated by the k-th ant in the t-th iteration. k (t) represents the fitness value f k (t) is the rank of all K fitness values, where 1 ≤ q. k (t)≤K, PATH k (t) represents the path of all jobs generated by ant k after completing the t-th iteration;

[0034]

[0035] in, This represents the maximum completion time corresponding to the solution generated by the k-th ant in t iterations; Let represent the minimum maximum completion time corresponding to the solutions generated by all K ants in the t-th iteration, as shown in formula (16);

[0036]

[0037] In the t-th iteration, if job O i It is not possible to use the j-th machine M j Up processing, then A ij =0, if the job and machine are not connected in the disjunction diagram, then there is no pheromone, represented as N / A; if job O i Can be achieved on the j-th machine M j Up processing, then A ij =1, the operation and the machine are connected by an edge in the disjunctive graph, and the pheromone is τ. ij (t), A ij =1 indicates the i-th processing operation O i With the j-th machine M j There is a corresponding relationship, A ij =0 indicates the i-th processing operation O i With the j-th machine M j There is no corresponding relationship.

[0038] A large-scale flexible job shop scheduling system includes:

[0039] The acquisition module is used to acquire relevant information about the work workshop. The relevant information about the work workshop includes: processing operation information, processing machine information, auxiliary resource inventory information, processing time of processing operations on the corresponding processing machine, priority constraint relationship between processing operations, and the number of auxiliary resources required for the execution of processing operations on the corresponding processing machine.

[0040] The processing module is used to create job agents, machine agents, and inventory agents based on the multi-agent ant colony algorithm and relevant information about the job shop; initialize the multi-agent ant colony algorithm parameters and initial pheromone values; construct a disjunctive graph in the form of a directed graph based on the priority constraints between processing jobs; traverse the disjunctive graph sequentially; the job agents, machine agents, and inventory agents generate scheduling solutions and update pheromones according to the agent negotiation protocol; it iterates repeatedly, compares the optimal solution in each round, and selects the scheduling solution with the shortest completion time as the optimal solution for all rounds of iteration; after multiple rounds of iteration, it determines whether a new better solution has been generated according to the algorithm termination condition; if the number of iterations exceeds the preset number of rounds, the algorithm terminates, outputs the current optimal solution, and obtains the final job shop scheduling scheme.

[0041] A computer-readable storage medium storing one or more programs, said one or more programs including instructions that, when executed by a computing device, cause the computing device to perform any of the methods described.

[0042] A computing device, comprising,

[0043] One or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods described.

[0044] The beneficial effects achieved by this invention are as follows:

[0045] The multi-agent ant colony algorithm proposed in this invention is suitable for workshop scheduling in large-scale job clusters. It executes selected APS data (Advanced Planning and Scheduling), which can be divided into two phases: AP and AS. AP typically handles medium- to long-term planning (granularity can be monthly / weekly), while AS handles short-term planning (granularity can be daily / hourly / minute / second). It can obtain a Gantt chart of the optimal scheduling sequence, assigning all pending jobs to available processing machines. With increasing job numbers, the multi-agent ant colony algorithm shows significant advantages over existing technologies in terms of minimum completion time, machine utilization, and computation time, making it more suitable for large-scale job scheduling problems. Attached Figure Description

[0046] Figure 1 This is a framework diagram of the multi-agent ant colony algorithm;

[0047] Figure 2 This is a flowchart of the multi-agent ant colony algorithm;

[0048] Figure 3This is a schematic diagram of the extended contract network protocol negotiation process. Detailed Implementation

[0049] The present invention will be further described below with reference to the accompanying drawings. The following embodiments are only used to more clearly illustrate the technical solution of the present invention, and should not be used to limit the scope of protection of the present invention.

[0050] This invention provides a method for scheduling large-scale flexible job shops, comprising:

[0051] Obtain relevant information about the work workshop, including: processing operation information, processing machine information, auxiliary resource inventory information, processing time of the processing operation on the corresponding processing machine, priority constraint relationship between processing operations, and the number of auxiliary resources required for the execution of the processing operation on the corresponding processing machine.

[0052] Based on the multi-agent ant colony algorithm, job agents, machine agents, and inventory agents are created according to relevant information of the job shop. The multi-agent ant colony algorithm parameters and initial pheromone values ​​are initialized. A disjunctive graph is constructed in the form of a directed graph based on the priority constraints between processing jobs. The disjunctive graph is traversed sequentially, and the job agents, machine agents, and inventory agents generate scheduling solutions and update pheromones according to the agent negotiation protocol. The algorithm iterates repeatedly, comparing the optimal solutions in each round, and selecting the scheduling solution with the shortest completion time as the optimal solution for all rounds of iteration. After multiple rounds of iteration, the algorithm terminates if a new better solution is generated according to the algorithm termination condition. If the number of iterations exceeds the preset number of rounds, the algorithm terminates, outputs the current optimal solution, and obtains the final job shop scheduling scheme.

[0053] In the Flexible Job Shop Scheduling Problem (FJSP), job shop-related information is represented as a seven-tuple:

[0054] F=(O,M,B,T,P,A,R) (1)

[0055] in,

[0056] (1) O = {O1, O2, ..., O} m} represents the set of outsourcing jobs, where m is the total number of jobs;

[0057] (2) M = {M1, M2, ..., M} n} represents the set of optional processing machines, where n is the total number of machines;

[0058] (3) B = {B1, B2, ..., B} v} represents the available quantity of each type of auxiliary resource, where v is the number of auxiliary resource types;

[0059] (4)T={T ij}, i = 1, ..., m; j = 1, ..., n, where T ij Indicates assignment O i In machine M j Processing time;

[0060] (5) P is an m*m matrix representing the priority constraints between tasks. ij =1 indicates assignment O i Need to be done in assignment O j Processing completed previously;

[0061] (6) A={A ij Let |i = 1, ..., m; j = 1, ..., n} represent the correspondence between jobs and available processing machines.

[0062] (7) R = {R1, R2, ..., R} v} represents each auxiliary resource required for each job to be executed on an optional processing machine. Wherein, Indicates assignment O i In machine M j The number of the k-th type of auxiliary resources required for execution.

[0063] The solution S to the FJSP problem is a set of job processing scheduling sequences, defined as follows:

[0064] S={(SM i ST i | i = 1, ..., m; SM i =1,...,n} (2)

[0065] Among them, SM i Indicates assignment O i The final selected processing machine number, ST i Indicates assignment O i The start time of processing must be specified, and the given constraints must be met:

[0066] (1) Each machine can only process one job at a time, that is, for machine M k Any two assignments O i and O j The processing time period meets the requirements. and

[0067] (2) For P ij =1,

[0068] (3) Once a machine starts processing a task, it cannot be interrupted;

[0069] (4) Homework O i In machine M j The number of k-th auxiliary resources required for execution It cannot exceed the remaining amount of the k-th type of auxiliary resource (Rest_R). k ),Right now

[0070] The goal of FJSP is to optimize the job processing schedule sequence using limited resources, including processing machines and several auxiliary resources such as raw materials, cutting tools, and fixtures.

[0071] This invention uses the maximum completion time (CT) as a metric for the efficiency of the scheduling sequence, with the optimal solution S... * The scheduling sequence that minimizes the Final Completion Time (FCT) is:

[0072]

[0073] Among them, CT i Indicates assignment O i The completion time, and

[0074]

[0075] Where k = 1, 2, ..., n; C1 = {k|P ki =1};C2={k|SM k =SM i And ST k <ST i}

[0076] To achieve the above objectives, this invention constructs an optimization method based on the multi-agent ant colony algorithm, MACO, to improve computational efficiency.

[0077] Figure 1 The framework of the MACO algorithm is demonstrated. This algorithm employs a fully distributed master-slave architecture combined with a multi-agent system. The MACO algorithm sets up a colony of K Slave Agents (SAs) and a Master Agent responsible for collecting solutions generated by each SA and updating pheromones. Job Agents (JAs), Machine Agents (MAs), and Inventory Agents (IAs) determine the job processing sequence and corresponding processing machines through a negotiation process. Each SA controls a group of agent negotiation processes. All SAs share pheromone information, which guides their decision-making during the negotiation process.

[0078] like Figure 2 As shown, the MACO algorithm flow is as follows: the algorithm termination condition variable parameter r is set to record the number of iterations. Initially, r = 0, and the maximum number of consecutive iterations is set to R when no better solution is found.

[0079] The MACO algorithm obtains a solution through a negotiation process between agents. It embeds the characteristics of the inventory agent decision-making process into the MAS decision model. The negotiation between agents is iteratively conducted using the Extended Contract Net Protocol (ECNP). During the negotiation process, each agent makes probabilistic decisions based on preferences. The pheromone volatility and accumulation characteristics of ACO are used as a feedback mechanism to achieve iterative optimization. The agent negotiation process includes negotiation between job agents, machine agents, and inventory agents, such as... Figure 3 The ECNP negotiation process between agents was demonstrated.

[0080] The steps of the MACO algorithm are as follows:

[0081] Step 1. Create various agents, initialize algorithm parameters and pheromone trajectories;

[0082] Step 2. Each ant traverses the parsed graph in turn. The job agent, machine agent, and inventory agent generate a scheduling solution and update the pheromone according to the agent negotiation protocol.

[0083] Step 3. Iterate repeatedly, compare the optimal solution in each round, and select the scheduling solution with the shortest completion time as the optimal solution for all rounds of iteration.

[0084] Step 4. After multiple iterations, determine whether a new better solution has been generated based on the algorithm's termination condition. If r≥R, the algorithm terminates and outputs the current optimal solution.

[0085] Machine agent decision-making process:

[0086] The calculation using formula (5) shows that in the t-th iteration, the k-th ant is in task O. i Select machine M j probability

[0087]

[0088] in, This indicates that in the t-th iteration, from job O... i Select machine M at this location j The pheromone concentration is initially set to a pre-defined constant τ0. This indicates that in the t-th iteration, from job O... i Select machine M at this location jThe heuristic function is calculated as shown in formula (6); Let represent the set of bidding applications sent by the job agent in the t-th iteration; α is the pheromone factor, and β is the heuristic function factor;

[0089] Homework O i Select machine M j The heuristic function is calculated as shown in formula (6).

[0090]

[0091] in, To select machine M for the k-th ant in the t-th iteration. j Final completion time Compared with the current maximum completion time The difference is calculated as shown in formula (7).

[0092] It is the current All The mean is calculated as shown in formula (8).

[0093]

[0094]

[0095] For example: In the t-th iteration, the current decision task O needs to be made. i Choose which machine to use for production, O i The available machines are {M j1 M j2 M j3 There are three machines, j1, j2, and j3, each with its own machine number. The probability of selecting each machine is calculated using formula (5). The selection process is shown in the figure below. In the t-th iteration, the current ant has already made a decision on O. i The next step is to decide on the machine selected in the previous task. i The maximum completion time for the selected machine is currently [time]. Homework O i The optional processing machine is {M} j1 M j2 M j3 Therefore, the set of machines participating in the bidding is RFB = {M}. j1 M j2 M j3 Homework O i After modifying the selection of one of the machines jk, k∈{1,2,3}, the maximum completion time becomes Homework O i In machine {M j1M j2 M j3 The processing times on} are respectively

[0096] In the t-th iteration, each ant selects a machine for the processing job, where the k-th ant is job O. i When selecting a machine, it is necessary to refer to the announcement (5). That is, assignment O i The probability of choosing different machines is calculated for job O. i The cumulative probability distribution of the probability of selecting a machine is used, and then a "roulette wheel" selection method is used to select the machine. A random number σ∈(0,1) is set. If:

[0097]

[0098] Then the k-th ant in the t-th iteration is task O. i Select the machine corresponding to the (u+1)th selection probability, where 1≤u≤U, and U is the cumulative probability number; each machine selects only one operation to be processed.

[0099] Job agent decision-making process:

[0100] Identify the operations to be processed, and generate a bidding application based on the operations to be processed, broadcasting it to the machine agent. When the work agent receives a bid from the machine agent, it sends the auxiliary resource requirement to the inventory agent. Under the condition that the inventory is sufficient, only one bid is selected as the bidding result, and the inventory agent is notified to lock the auxiliary resource requirement for the operation. The bidding result is to give priority to the bid with the earliest completion time when the inventory requirement is sufficient.

[0101] The specific process is described as follows:

[0102] A machine can only select one job to process at a time. If multiple jobs are running simultaneously... i1 O i2 , ..., O in (in≥2) In the preceding process, the same machine M was selected based on probability. j At this time, machine M j A decision needs to be made to ultimately select one of the assignments O during the term. i Let i ∈ {i1, i2, ..., in}, and let i be the final bidding result. Here, we select the task with the shortest completion time, and the calculation method is as shown in formula (10).

[0103]

[0104] in, Indicates assignment Oi In the t-th iteration, the k-th ant selects machine M. j The completion time is min{}, which represents the minimum value.

[0105] If there is no job competition on the same machine (i.e., only one job has selected that machine),

[0106] Then the production will be directly scheduled to be carried out on that machine.

[0107] Inventory agency decision-making process:

[0108] The inventory agent receives the auxiliary resource requirement (RD) from the JA and determines whether the remaining auxiliary resource quantity (Rest_R) can satisfy the RD. If it can, the agent notifies the JA to make an offer, locks the RD for the job request, and then updates the remaining auxiliary resource quantity; otherwise, the agent notifies the JA to prepare the job for the next RFB.

[0109] The method for updating the remaining auxiliary resources is as shown in the announcement (11):

[0110]

[0111] Where i, j = 1, ..., m; k = 1, ..., v. That is, the total amount B of the k-th type. k Subtract the start time earlier than O i The demand for the k-th auxiliary resource for all processing operations is called operation O. i Remaining amount of the k-th auxiliary resource (Rest_R) before processing begins k .

[0112] Pheromones feedback mechanism:

[0113] In Algorithm Coding (ACO), pheromones, as a feedback mechanism, play a crucial role in improving algorithm performance. Through iterative evaporation and accumulation, pheromones record information about the optimization process, thus helping subsequent ant colonies find better solutions. Based on this idea, this invention introduces this characteristic of ACO into the decision-making process of machine agents, making the agent negotiation process more probabilistic and iterative, thereby improving the performance of scheduling problems.

[0114] In the t-th iteration, if job O i It is not possible to use the j-th machine M j Up processing, then A ij =0, if the job and machine are not connected in the disjunction diagram, then there is no pheromone, represented as N / A; if job O i Can be achieved on the j-th machine M j Up processing, then A ij =1, the operation and the machine are connected by an edge in the disjunctive graph, and the pheromone is τ. ij (t);

[0115] For the initial state t = 0, τ ij (t) = τ0, therefore:

[0116]

[0117] Where τ0 represents the initial value of the pheromone, A ij =1 indicates the i-th processing operation O i With the j-th machine M j There is a corresponding relationship; A ij =0 indicates the i-th processing operation O i With the j-th machine M j There is no corresponding relationship; N / A indicates that it is not applicable;

[0118] After completing the t-th iteration, ant k generates a solution that includes the paths of all jobs, denoted as PATH. k (t) represents,

[0119]

[0120] After completing the t-th iteration, ant k releases pheromones once, leaving an increment of 0.5 on its path. pheromones, The calculation method is as shown in formula (14);

[0121]

[0122] Where K is the total number of ants, f k (t) represents the fitness value of the solution generated by the k-th ant in the t-th iteration, which is calculated as shown in formula (15); q k (t) represents the fitness value f k (t) is the rank of all K fitness values, where 1 ≤ q. k (t)≤K,τ max This indicates the upper limit of pheromone concentration, and ρ represents the evaporation rate;

[0123]

[0124] in, This represents the maximum completion time corresponding to the solution generated by the k-th ant in t iterations; Let represent the minimum maximum completion time corresponding to the solutions generated by all K ants in the t-th iteration, as shown in formula (16);

[0125]

[0126] After the t-th iteration is completed, assignment O iWith machine M j Connected edges (O) i M j The pheromone concentration on the ant is the pheromone concentration after the (t-1)th iteration plus the cumulative increment of pheromone left by all K ants, while subtracting the pheromone evaporation in the tth iteration. The pheromone is then updated according to formula (17), i.e.

[0127]

[0128] Where, τ min This indicates the lower limit of pheromone concentration.

[0129] Accordingly, the present invention also provides a large-scale flexible job shop scheduling system, comprising:

[0130] The acquisition module is used to acquire relevant information about the work workshop. The relevant information about the work workshop includes: processing operation information, processing machine information, auxiliary resource inventory information, processing time of processing operations on the corresponding processing machine, priority constraint relationship between processing operations, and the number of auxiliary resources required for the execution of processing operations on the corresponding processing machine.

[0131] The processing module is used to create job agents, machine agents, and inventory agents based on the multi-agent ant colony algorithm and relevant information about the job shop; initialize the multi-agent ant colony algorithm parameters and initial pheromone values; construct a disjunctive graph in the form of a directed graph based on the priority constraints between processing jobs; traverse the disjunctive graph sequentially; the job agents, machine agents, and inventory agents generate scheduling solutions and update pheromones according to the agent negotiation protocol; it iterates repeatedly, compares the optimal solution in each round, and selects the scheduling solution with the shortest completion time as the optimal solution for all rounds of iteration; after multiple rounds of iteration, it determines whether a new better solution has been generated according to the algorithm termination condition; if the number of iterations exceeds the preset number of rounds, the algorithm terminates, outputs the current optimal solution, and obtains the final job shop scheduling scheme.

[0132] Accordingly, the present invention also provides a computer-readable storage medium for storing one or more programs, characterized in that the one or more programs include instructions that, when executed by a computing device, cause the computing device to perform any of the methods described.

[0133] Accordingly, the present invention also provides a computing device, characterized in that it includes,

[0134] One or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing any of the methods described.

[0135] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0136] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0137] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0138] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0139] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the technical principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A method for scheduling large-scale flexible workshops, characterized in that, include: Obtain relevant information about the work workshop, including: processing operation information, processing machine information, auxiliary resource inventory information, processing time of the processing operation on the corresponding processing machine, priority constraint relationship between processing operations, and the number of auxiliary resources required for the execution of the processing operation on the corresponding processing machine. Based on the multi-agent ant colony algorithm, job agents, machine agents, and inventory agents are created according to relevant information of the job shop. The multi-agent ant colony algorithm parameters and initial pheromone values ​​are initialized. A disjunction graph is constructed in the form of a directed graph based on the priority constraints between processing jobs. The disjunction graph is traversed sequentially. The job agents, machine agents, and inventory agents generate scheduling solutions and update pheromones according to the agent negotiation protocol. The algorithm iterates repeatedly, compares the optimal solutions in each round, and selects the scheduling solution with the shortest completion time as the optimal solution for all rounds of iteration. After multiple rounds of iteration, the algorithm terminates if a new better solution is generated according to the algorithm termination condition. If the number of iterations exceeds the preset number of rounds, the algorithm terminates, outputs the current optimal solution, and obtains the final job shop scheduling scheme. The pheromone update process includes: updating the pheromone using formula (17), (17); in, Denotes the pheromone in the t-th iteration. Let K represent the pheromone in the (t-1)th iteration, k represent the k-th ant in the multi-agent ant colony algorithm, and K be the total number of ants. This indicates the lower limit of pheromone concentration. This indicates the upper limit of pheromone concentration. Indicates the evaporation rate; Let 'k' be the increment left on the path that ant k leaves after it releases pheromones once during the t-th iteration. (14); in, This represents the fitness value of the solution generated by the k-th ant in the t-th iteration. Represents fitness value The ranking among all K fitness values, and , This represents the path of all jobs generated by ant k after completing the t-th iteration; (15); in, This represents the maximum completion time corresponding to the solution generated by the k-th ant in t iterations; Let represent the minimum maximum completion time corresponding to the solutions generated by all K ants in the t-th iteration, as shown in formula (16); (16); In the t-th iteration, if the job Cannot be on the j-th machine Upward processing, If the job and the machine are not connected in the analysis diagram, then there is no pheromone, represented as N / A; if the job Can in the j-th machine Upward processing, The graph shows an edge connecting the task and the machine, and the pheromone is... , =1 indicates the i-th processing operation With the j-th machine There is a corresponding relationship. =0 indicates the i-th processing operation With the j-th machine There is no corresponding relationship.

2. The large-scale flexible workshop scheduling method according to claim 1, characterized in that, The decision-making process of the machine agent includes: The calculation of the k-th ant's performance in the t-th iteration is performed using formula (5). Select machine probability ; (5); in, This indicates that in the t-th iteration, from the job Select machine The pheromone concentration is initially set to a pre-defined constant. ; In the t-th iteration, the task is... Select machine The heuristic function is calculated as shown in formula (6); Let represent the set of bidding applications sent by the job agent in the t-th iteration; α is the pheromone factor, and β is the heuristic function factor; Operation Select machine The heuristic function is calculated as shown in formula (6). (6); in, Select a machine for the k-th ant in the t-th iteration. Final completion time Compared with the current maximum completion time The difference is calculated as shown in formula (7). It is the current All The mean is calculated as shown in formula (8). (7); (8); In the t-th iteration, each ant selects a machine for the processing job, where the k-th ant is the job... When selecting a machine, it is necessary to refer to the announcement (5). , , , Calculate the homework The cumulative probability distribution of the probability of selecting a machine is used, and then a "roulette wheel" selection method is used to select the machine, setting a random number. ,like: (9); Then the k-th ant in the t-th iteration is the assignment. Choose the machine corresponding to the (u+1)th selection probability, where, , To accumulate the probability count, each machine selects only one operation to be processed.

3. The large-scale flexible workshop scheduling method according to claim 1, characterized in that, The decision-making process of the job agent includes: Identify the operations to be processed, and generate a bidding application based on the operations to be processed, broadcasting it to the machine agent. When the work agent receives a bid from the machine agent, it sends the auxiliary resource requirement to the inventory agent. Under the condition that the inventory is sufficient, only one bid is selected as the bidding result, and the inventory agent is notified to lock the auxiliary resource requirement for the operation. The bidding result is to give priority to the bid with the earliest completion time when the inventory requirement is sufficient.

4. The large-scale flexible workshop scheduling method according to claim 1, characterized in that, The decision-making process of the inventory agent includes: Receive the auxiliary resource requirement from the job agent, determine whether the remaining auxiliary resources are sufficient to meet the requirement, and if so, notify the job agent to lock the auxiliary resource requirement for the job request and then update the remaining auxiliary resources; otherwise, notify the job agent to prepare the next bidding application for the job. The method for updating the remaining amount of auxiliary resources is as follows: (11); in, For the i-th processing operation Before processing begins The remaining amount of various auxiliary resources For the first Total number of species , This indicates that the start time is earlier than the i-th processing operation. The first of all processing operations The demand for various auxiliary resources ,in, This indicates the total number of assignments. This indicates the total number of auxiliary resource categories.

5. A large-scale flexible workshop scheduling system, characterized in that, include: The acquisition module is used to acquire relevant information about the work workshop. The relevant information about the work workshop includes: processing operation information, processing machine information, auxiliary resource inventory information, processing time of processing operations on the corresponding processing machine, priority constraint relationship between processing operations, and the number of auxiliary resources required for the execution of processing operations on the corresponding processing machine. The processing module is used to create job agents, machine agents, and inventory agents based on the multi-agent ant colony algorithm and relevant information about the job shop; initialize the multi-agent ant colony algorithm parameters and initial pheromone values; construct a disjunctive graph in the form of a directed graph based on the priority constraints between processing jobs; traverse the disjunctive graph sequentially; the job agents, machine agents, and inventory agents generate scheduling solutions and update pheromones according to the agent negotiation protocol; it iterates repeatedly, compares the optimal solutions in each round, and selects the scheduling solution with the shortest completion time as the optimal solution for all rounds of iteration; after multiple rounds of iteration, it determines whether a new better solution has been generated according to the algorithm termination condition; if the number of iterations exceeds the preset number of rounds, the algorithm terminates, outputs the current optimal solution, and obtains the final job shop scheduling scheme. The pheromone update process includes: updating the pheromone using formula (17), (17); in, Denotes the pheromone in the t-th iteration. Let K represent the pheromone in the (t-1)th iteration, k represent the k-th ant in the multi-agent ant colony algorithm, and K be the total number of ants. This indicates the lower limit of pheromone concentration. This indicates the upper limit of pheromone concentration. Indicates the evaporation rate; Let 'k' be the increment left on the path that ant k leaves after it releases pheromones once during the t-th iteration. (14); in, This represents the fitness value of the solution generated by the k-th ant in the t-th iteration. Represents fitness value The ranking among all K fitness values, and , This represents the path of all jobs generated by ant k after completing the t-th iteration; (15); in, This represents the maximum completion time corresponding to the solution generated by the k-th ant in t iterations; Let represent the minimum maximum completion time corresponding to the solutions generated by all K ants in the t-th iteration, as shown in formula (16); (16); In the t-th iteration, if the job Cannot be on the j-th machine Upward processing, If the job and the machine are not connected in the analysis diagram, then there is no pheromone, represented as N / A; if the job Can in the j-th machine Upward processing, The graph shows an edge connecting the task and the machine, and the pheromone is... , =1 indicates the i-th processing operation With the j-th machine There is a corresponding relationship. =0 indicates the i-th processing operation With the j-th machine There is no corresponding relationship.

6. A computer-readable storage medium for storing one or more programs, characterized in that, The one or more programs include instructions that, when executed by a computing device, cause the computing device to perform any of the methods according to claims 1 to 4.

7. A computing device, characterized in that, include, One or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods according to claims 1 to 4.