A Method and System for Job Shop Scheduling Based on Multi-Capacity Mobile Robots
By constructing a workshop scheduling method for multi-capacity mobile robots and combining the ALNS algorithm with various optimization operators, the problem of low transportation efficiency of multi-capacity mobile robots in traditional workshop scheduling methods is solved. This achieves collaborative optimization of production tasks and material transportation, and improves production efficiency and the solution speed of scheduling schemes.
Patent Information
- Application Number
- CN202411694766.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-11-25
AI Technical Summary
Traditional workshop scheduling methods cannot meet the needs of high-capacity mobile robots to efficiently transport multiple materials and perform multiple tasks in parallel in complex environments, resulting in low production efficiency. Furthermore, existing algorithms are unable to cope with the increased scheduling complexity.
The workshop scheduling method based on multi-capacity mobile robots establishes a constraint model by constructing the coupling relationship between processing tasks and transportation tasks, and uses an improved ALNS algorithm for initialization and iterative optimization of the scheduling scheme. The scheduling scheme is further optimized by combining greedy algorithm, destruction operator, repair operator and local search algorithm.
It achieves collaborative optimization of processing and production tasks and material transportation tasks, improves production efficiency, reduces computing power requirements, and quickly obtains the optimal scheduling scheme.
Smart Images

Figure CN119536168B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of intelligent manufacturing technology, and more specifically, relates to a job shop scheduling method and system based on multi-capacity mobile robots. Background Technology
[0002] Shop floor scheduling technology is a crucial element in modern manufacturing. It helps companies improve production efficiency and enhance market competitiveness by optimizing production processes, increasing resource utilization, reducing production costs, and improving product quality. Furthermore, shop floor scheduling technology provides real-time data and analytical reports, offering decision support to management and enabling transparent management of the production process. With technological advancements, the role of shop floor scheduling technology in modern manufacturing will become increasingly important.
[0003] The execution of production tasks often depends on the timely delivery of materials, and the scheduling of transportation resources is also closely related to the progress of production tasks. In traditional shop floor scheduling methods, material transfer and production task execution are independent modules, lacking a collaborative optimization mechanism. This becomes a bottleneck in complex shop floor environments, affecting the overall production efficiency of the workshop. Furthermore, in traditional shop floor scheduling methods, AGVs can only transport one material at a time. However, modern mobile robots have larger storage space, enabling the simultaneous transport of multiple materials and the parallel execution of multiple tasks. This means that scheduling not only needs to consider how to optimize the allocation between machine tools and production tasks but also the efficient transport of materials between different processes and stations. This places higher demands on resource coordination and task scheduling. The increased complexity of scheduling further increases the demand for algorithms and data processing capabilities, making it difficult for traditional scheduling optimization methods to meet these new challenges. Summary of the Invention
[0004] In view of the above-mentioned defects or improvement needs of the existing technology, this application provides a job shop scheduling method and system based on multi-capacity mobile robots, which aims to solve the technical problem that the existing job shop scheduling methods cannot meet the needs of more efficient production tasks.
[0005] To achieve the above objectives, in a first aspect, this application provides a job shop scheduling method based on multi-capacity mobile robots, the method comprising the following steps:
[0006] S1. Describe the workshop scheduling scheme as the process of multi-capacity mobile robots performing transportation tasks;
[0007] S2. Collect relevant parameters of processing tasks, workshop layout, and multi-capacity mobile robots;
[0008] S3. Construct a constraint model based on the coupling relationship between processing tasks and transportation tasks, as well as the capacity limitations of multi-capacity mobile robots;
[0009] S4. Using the constraint model as the limitation of the scheduling scheme and the shortest scheduling time as the optimization objective, the scheduling scheme is initialized and iteratively optimized based on the ALNS algorithm to finally obtain the optimal scheduling scheme.
[0010] Preferably, step S1 specifically involves: binding each processing task in the workshop to a pair of transportation tasks, wherein the pair of transportation tasks is a loading task and an unloading task; and taking the execution order of all loading and unloading tasks, as well as the multi-capacity mobile robots that execute each loading and unloading task, as the scheduling scheme to be solved.
[0011] Preferably, a workpiece return task is added after the last processing task of each workpiece, and the workpiece return task is bound to a loading task and an unloading task.
[0012] Preferably, step S4, which initializes and iteratively optimizes the scheduling scheme based on the ALNS algorithm to obtain the optimal scheduling scheme, specifically includes the following sub-steps:
[0013] S41. Based on the greedy algorithm, each execution step of the scheduling scheme selects the transportation task with the shortest execution time and the multi-capacity mobile robot that performs the transportation task, thereby obtaining the initial scheduling scheme.
[0014] S42. Use various destruction and repair operators to destroy and repair the scheduling scheme, and continuously generate new scheduling schemes.
[0015] S43. Further improve the new scheduling scheme by using multiple local search algorithms;
[0016] S44. The simulated annealing method is used to determine whether to iterate the original scheduling scheme with a new scheduling scheme, and each operator is scored to select the most suitable operator to participate in the updating of the scheduling scheme, thus realizing the adaptive process.
[0017] S45. Determine whether the number of iterations has reached the set value. If yes, output the scheduling scheme obtained in this iteration. Otherwise, increment the number of iterations and jump to step S42.
[0018] Preferably, a two-segment coding scheme is used to describe each execution step in the scheduling scheme. The first segment of the coding describes the transportation task in each execution step, and the second segment of the coding describes the multi-capacity mobile robot that performs the transportation task.
[0019] Preferably, the destruction operator includes one or a combination of the following operators: random destruction operator, longest wait time destruction operator, longest completion time destruction operator, and Shaw destruction operator;
[0020] The repair operator includes one or a combination of the following operators: random insertion operator, depth-greedy insertion, and regret insertion operator;
[0021] The local search algorithm includes one or a combination of the following algorithms: vehicle swap search algorithm and DP task swap search algorithm.
[0022] Preferably, in step S3, the coupling relationship between the processing task and the transportation task specifically includes:
[0023] There is one and only one transportation task following each transportation task; there is one and only one transportation task preceding each transportation task; each transportation task is executed and can only be executed once; the execution order of all transportation tasks is unique.
[0024] There is one and only one processing task after each processing task; there is one and only one processing task before each processing task; each processing task is assigned to one processing machine tool.
[0025] Fix the initial transport task for each multi-capacity mobile robot; fix the initial transport task for each transport task, and transport tasks that are ordered sequentially will be assigned to the same initial transport task; assign a pair of transport tasks to the same initial transport task.
[0026] The workpiece processing task is performed after the corresponding unloading task; the multi-capacity mobile robot can only perform the next transportation task after completing the current transportation task; the task completion time is equal to the sum of the task start time and the task execution time. For processing tasks, the task execution time is the processing time, and for transportation tasks, the task execution time is the transportation time.
[0027] Loading tasks can only be executed after the workpiece being loaded has completed its processing task; unloading tasks can only be executed after the processing task at the front of the machine tool to be unloaded has been completed; loading tasks can only begin after the unloading task of the previous processing task has been completed, and unloading tasks can only begin after the corresponding loading task has been completed.
[0028] The scheduling time is the maximum value among the completion times of all unloading tasks.
[0029] Preferably, in S3, the capacity limitation of the multi-capacity mobile robot specifically includes: the capacity of the multi-capacity mobile robot increases by 1 after performing a loading task, and the capacity decreases by 1 after performing an unloading task; defining the maximum capacity of the multi-capacity mobile robot.
[0030] Secondly, this application provides a job shop scheduling system based on multi-capacity mobile robots, the system comprising the following parts:
[0031] The scheme description module is used to describe the workshop scheduling scheme as a transportation task process executed by multi-capacity mobile robots;
[0032] The parameter collection module is used to collect relevant parameters of processing tasks, workshop layout, and multi-capacity mobile robots;
[0033] The constraint building module is used to build constraint models based on the coupling relationship between processing and transportation tasks, as well as the capacity limitations of multi-capacity mobile robots.
[0034] The scheme iteration module is used to initialize and iteratively optimize the scheduling scheme based on the ALNS algorithm, with the constraint model as the constraint of the scheduling scheme and the shortest scheduling time as the optimization objective, and finally obtain the optimal scheduling scheme.
[0035] Thirdly, this application provides an electronic device, comprising: a memory for storing a program; and a processor for executing the program stored in the memory, wherein when the program stored in the memory is executed, the processor is configured to execute the method described in the first aspect or any possible implementation thereof.
[0036] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when run on a processor, causes the processor to perform the method described in the first aspect or any possible implementation thereof.
[0037] Fifthly, this application provides a computer program product that, when run on a processor, causes the processor to perform the method described in the first aspect or any possible implementation thereof.
[0038] Overall, the technical solutions conceived in this application have the following beneficial effects compared with the prior art:
[0039] (1) In the workshop production process, the processing and production tasks and the material transportation tasks are closely related and mutually influential. This application establishes a constraint model based on the actual coupling relationship between the processing and production tasks and the material transportation tasks to guide the iterative optimization of the production scheduling scheme. The resulting optimal scheduling scheme enables the processing and production tasks and the material transportation tasks to coordinate with each other and improve the overall production efficiency.
[0040] (2) In the optimization process of the production scheduling scheme of this application, a more complex multi-capacity mobile robot is considered as a transportation tool. The ability of the robot to transport multiple materials at one time and the changes in the transported materials with the production process are used as constraints to guide the iterative optimization of the production scheduling scheme. As a result, the scheduling scheme of this application achieves higher production efficiency.
[0041] (3) This application solves the iterative optimization model by using a customized ALNS algorithm, which quickly obtains the optimal scheduling solution set, reduces the computing power requirement, and solves the high solution difficulty caused by adding a variety of new constraints to the scheduling scheme optimization model.
[0042] (4) In the process of solving this application, the processing task is bound to the loading task and the unloading task, thereby reducing the difficulty of solving the scheduling scheme. Attached Figure Description
[0043] Figure 1 This is a flowchart of the job shop scheduling method provided in the embodiments of this application;
[0044] Figure 2 This is a flowchart of the ALNS algorithm provided in the embodiments of this application;
[0045] Figure 3 This is a schematic diagram of the task encoding method provided in the embodiments of this application;
[0046] Figure 4 This is a schematic diagram of the scheduling scheme initialization method provided in the embodiments of this application;
[0047] Figure 5 This is the destruction operator operation method provided in the embodiments of this application.
[0048] Figure 6 This is the repair operator operation method provided in the embodiments of this application.
[0049] Figure 7 This is the local search algorithm operation mode provided in the embodiments of this application.
[0050] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0051] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0052] The terms "first" and "second," etc., used in the specification and claims herein are used to distinguish different objects, not to describe a specific order of objects. For example, "first processing task" and "second processing task," etc., are used to distinguish different processing tasks, not to describe a specific order of processing tasks.
[0053] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0054] In the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more, for example, multiple materials means two or more materials, multiple tasks means two or more tasks, etc.
[0055] Next, the technical solutions provided in the embodiments of this application will be described.
[0056] like Figure 1 This is a flowchart of a job shop scheduling method based on multi-capacity robots provided in an embodiment of this application, which includes the following steps:
[0057] S1. Describe the workshop scheduling scheme as the process of multi-capacity mobile robots performing transportation tasks;
[0058] S2. Collect relevant parameters and variables for processing tasks, workshop layout, and multi-capacity mobile robots; and define the relevant parameters and variables.
[0059] S3. Construct a constraint model based on the coupling relationship between processing tasks and transportation tasks, as well as the capacity limitations of multi-capacity mobile robots;
[0060] S4. Using the constraint model as the limitation of the scheduling scheme and the shortest scheduling time as the optimization objective, the scheduling scheme is initialized and iteratively optimized based on the ALNS algorithm to finally obtain the optimal scheduling scheme.
[0061] In step S1 of this embodiment, the workshop scheduling scheme is first described:
[0062] In the workshop, there are n parts J = J1, J2, ..., Jn2 that need to be processed. n And m machine tools used to process parts, M = M1, M2, ..., M m Each part J i Both contain n i Steps Each process O ij The machining is carried out on a designated machine tool, and the machine tool cannot be interrupted during the machining process.
[0063] The transport of parts between machine tools via n r A multi-capacity mobile robot to achieve Each multi-capacity mobile robot has an onboard storage space and can carry a maximum of k parts during movement. Initially, all parts are placed in the container. The multi-capacity mobile robot starts from beside the container, picks up parts, and moves them across various machine tools. Finally, all processed parts are returned to the container, marking the end of processing. All processes are uniformly ordered; for example, T1 represents process O. 11 The processing task, T2 represents process O 12 The processing tasks, and so on, total n v There are 10 processing tasks. Each processing task is bound to a pair of transportation tasks, namely a loading task and an unloading task. Each task corresponds to a task point, and the set of all transportation tasks is defined as N = 1, 2, ..., 2n. v Among them, loading tasks Uninstall task Use q i This represents the capacity transformation at each point, where q represents the capacity transformation when i∈P. i =1, when i∈D q i =-1.
[0064] In step S2 of this embodiment, relevant parameters and variables of the processing task, workshop layout, and multi-capacity mobile robot are subsequently collected; and the relevant parameters and variables are defined.
[0065] In this embodiment, the workshop contains four machine tools and four sets of parts to be processed, each set containing five to six parts. The processing steps, machine tools, and processing times are shown in Table 1.
[0066] Table 1
[0067]
[0068]
[0069] A slash " / " indicates that this part does not require machining on this machine tool. The distances between the various machining machines are shown in Table 2.
[0070] Table 2
[0071] Layout 1 / 2 / 3 / 4 L / U <![CDATA[M1]]> <![CDATA[M2]]> <![CDATA[M3]]> <![CDATA[M4]]> L / U 0 / 0 / 0 / 0 6 / 4 / 2 / 4 8 / 6 / 4 / 8 10 / 8 / 10 / 10 12 / 6 / 12 / 14 <![CDATA[M1]]> 12 / 6 / 12 / 18 0 / 0 / 0 / 0 6 / 2 / 2 / 4 8 / 4 / 8 / 6 10 / 2 / 10 / 10 <![CDATA[M2]]> 10 / 8 / 10 / 20 6 / 12 / 12 / 14 0 / 0 / 0 / 0 6 / 2 / 6 / 8 8 / 4 / 8 / 6 <![CDATA[M3]]> 8 / 6 / 4 / 12 8 / 10 / 6 / 8 6 / 12 / 8 / 6 0 / 0 / 0 / 0 6 / 2 / 2 / 6 <![CDATA[M4]]> 6 / 4 / 2 / 14 10 / 8 / 4 / 14 8 / 10 / 6 / 12 6 / 12 / 12 / 6 0 / 0 / 0 / 0
[0072] Where L / U represents warehouse.
[0073] Define the parameters and variables:
[0074] J, the collection of all parts;
[0075] M, the collection of all machine tools;
[0076] V, the collection of all mobile robots;
[0077] n i Part J i The number of processes;
[0078] O, the collection of all processes;
[0079] T represents the set of all processing tasks.
[0080] P f The collection of the first processing tasks for all parts;
[0081] D e The collection of all workpiece return tasks;
[0082] n v The total number of tasks;
[0083] N, the set of all transportation tasks;
[0084] P, the set of all loading tasks;
[0085] D, the collection of all uninstallation tasks;
[0086] q i The capacity transformation after point i;
[0087] PT i The processing time of processing task i;
[0088] Transportation Task N i To transport task N j The delivery time;
[0089] SO i Processing task T i Start time;
[0090] ST j Transportation task L j Start time;
[0091] FO i Processing task T i End time;
[0092] FT j Transportation task L j End time;
[0093] x ij If the transportation task L i and transportation task L j Performed by the same mobile robot, and the transportation task L i It is a transportation task Lj The previous task, then x ij =1, otherwise x ij =0. x ii =0;
[0094] y ij If the processing task T i Processing and transportation tasks T j Processed on the same machine tool, and processing task T i It is the processing task T j The previous processing task, then y ij =1, otherwise y ij =0. y ii =0;
[0095] Q i This indicates that at the arrival point N i The load on the later mobile robot;
[0096] v i , indicating the connection with transportation point N i The first transport point for the mobile robot;
[0097] C max Maximum completion time.
[0098] In step S3 of this embodiment, the objective function is constructed:
[0099] minC max
[0100] Where min represents finding the minimum value.
[0101] In step S3 of this embodiment, a constraint model is constructed, which includes:
[0102] Each transport mission is followed by one and only one transport mission;
[0103]
[0104] Each transport mission has one and only one preceding transport mission;
[0105]
[0106] These transportation tasks were divided into n r The data is then assigned to each mobile robot, so that the mobile robot performs the assigned transportation task, ensuring that each transportation task is performed and can only be performed once.
[0107]
[0108] To avoid any overlap between two tasks, the execution order of all transportation tasks is unique;
[0109]
[0110] in, It is a universal quantifier, meaning for all; n r N represents all mobile robots participating in production scheduling; N∪2n+1 represents the 1st to the 2n+1st transportation task; N∪0 represents the 0th to the 2nth transportation task.
[0111] The constraint model also includes:
[0112] Each processing task is followed by one and only one processing task;
[0113]
[0114] Each processing task has one and only one preceding processing task;
[0115]
[0116] Each machining operation is assigned to a machining tool;
[0117]
[0118] Where T∪n+1 represents the 1st to the (n+1)th processing task; T∪0 represents the 0th to the nth processing task; and m represents the number of processing machine tools.
[0119] The constraint model also includes:
[0120] Fix the initial transport task for each multi-capacity mobile robot;
[0121]
[0122] Each transportation task is assigned a fixed starting transportation task, and transportation tasks that are ordered sequentially will be assigned to the same starting transportation task.
[0123]
[0124] Assign a pair of transport tasks to the same initial transport task;
[0125]
[0126] Wherein, VN represents a preset integer, which is greater than 1000.
[0127] The constraint model also includes:
[0128] The capacity of a multi-capacity mobile robot increases by 1 after performing a loading task and decreases by 1 after performing an unloading task.
[0129]
[0130] Define the maximum capacity of a multi-capacity mobile robot;
[0131]
[0132] Where max(,) and min(,) represent finding the maximum and minimum values, respectively; k represents the rated capacity of the multi-capacity mobile robot.
[0133] The constraint model also includes:
[0134] The workpiece processing task follows the corresponding unloading task;
[0135]
[0136] A high-capacity mobile robot can only perform the next transportation task after completing the current one.
[0137]
[0138] The task completion time is equal to the sum of the task start time and the task execution time. For processing tasks, the task execution time is the processing time, and for transportation tasks, the task execution time is the transportation time.
[0139]
[0140] The constraint model also includes:
[0141] Loading tasks can only be executed after the workpiece being loaded has completed its processing task, and unloading tasks can only be executed after there are no other workpieces on the unloading machine tool.
[0142]
[0143] The loading task can only begin after the unloading task of the previous processing task is completed, and the unloading task can only begin after the corresponding loading task is completed.
[0144]
[0145] The scheduling time is the maximum value among the completion times of all unloading tasks.
[0146]
[0147] like Figure 2 As shown, step S4 in this embodiment specifically includes the following sub-steps:
[0148] S41. Based on the greedy algorithm, each execution step of the scheduling scheme selects the transportation task with the shortest execution time and the multi-capacity mobile robot that performs the transportation task, thereby obtaining the initial scheduling scheme.
[0149] S42. Use various destruction and repair operators to destroy and repair the scheduling scheme, and continuously generate new scheduling schemes.
[0150] S43. Further improve the new scheduling scheme by using multiple local search algorithms;
[0151] S44. The simulated annealing method is used to determine whether to iterate the original scheduling scheme with a new scheduling scheme, and each operator is scored to select the most suitable operator to participate in the updating of the scheduling scheme, thus realizing the adaptive process.
[0152] S45. Determine whether the number of iterations has reached the set value. If yes, output the scheduling scheme obtained in this iteration. Otherwise, increment the number of iterations and jump to step S42.
[0153] To facilitate the optimization and iteration of the execution plan, each execution step in the scheduling plan is encoded before executing step 4. A two-segment encoding is used to describe each execution step in the scheduling plan. The first segment of the encoding describes the transportation task in each execution step, and the second segment of the encoding describes the multi-capacity mobile robot that performs the transportation task.
[0154] like Figure 3 As shown, the top left shows all the processing tasks for all parts in the production task. After the last processing task of each part, a workpiece return task is added. The processing tasks for part J1 are: O11, O12, O13, O14; the processing tasks for part J2 are: O21, O22, O23; and the processing tasks for part J3 are: O31, O32, O33, O34.
[0155] Each processing task in the workshop is bound to a pair of transportation tasks, namely a loading task and an unloading task: O11 is bound to P1 and D1; O12 is bound to P2 and D2, ..., O34 is bound to P11 and D11, and each transportation task is coded, resulting in a total of 22 codes, such as... Figure 3 As shown in the lower left corner.
[0156] A complete scheduling scheme is as follows: Figure 3 As shown on the right, all execution steps in the scheduling scheme are connected in a series, where each code represents an execution step. Based on the code, the specific task corresponding to the code and the mobile robot that performs the task are obtained.
[0157] After encoding the execution steps, proceed to step S41, where the scheduling scheme is initialized based on a greedy algorithm. The specific initialization process is as follows: Figure 4 As shown:
[0158] In the diagram, the first layer represents the optional tasks for the first step. There are six options in this layer. In each option, the black numbers represent the task number, and the red part represents the mobile robot number to be executed. The numbers between each option indicate the execution time. The time for all six optional tasks in the first step is 0, and mobile robot 1 is randomly selected to complete task 1.
[0159] After entering the second layer, according to the constraint model, there are 5 possible tasks. Choose the one that takes the least time, that is, choose mobile robot 1 to complete task 5.
[0160] After entering the third layer, according to the constraint model, there are 3 optional tasks. Choose the one that takes the least time, that is, choose mobile robot 2 to complete task 8.
[0161] After entering the fourth layer, according to the constraint model, there are 3 optional tasks. Choose the one that takes the least time, that is, choose mobile robot 1 to complete task 12.
[0162] After entering the fifth layer, according to the constraint model, there are four possible tasks. Choose the one that takes the least time, i.e., choose mobile robot 1 to complete task 2.
[0163] The initialization code is obtained by concatenating the five selected tasks, which are the five steps.
[0164] After the initialization encoding is completed, step S42 is executed, which uses a variety of destruction and repair operators to destroy and repair the scheduling scheme, and continuously generates new scheduling schemes.
[0165] The four destruction operators include the random destruction operator, the longest wait time destruction operator, the longest completion time destruction operator, and the Shaw destruction operator. The three repair operators include the random insertion operator, the depth-greedy insertion operator, and the regret insertion operator.
[0166] The random destruction operator is a random selection of D. num Destroy the node.
[0167] The longest wait time destruction operator is for nodes where the robot waits for a long time. The robot has arrived at the designated target location and needs to wait for a period of time to complete the task. Whether it is a P task or a D task, the task is considered to be completed only when the robot takes the part out of the machine tool or puts the part in. If the machine tool is in the processing state, the robot can only wait for the processing to be completed.
[0168] The longest completion time destroy operator targets nodes with long completion times for robots, deleting tasks with longer completion times to reduce the overall task duration.
[0169] The Shaw destruction operator removes and recombines similar tasks, calculates the similarity between two pairs of tasks, selects the pair with the highest similarity to destroy, and increases the probability of a better solution.
[0170] Figure 5 The specific form of disrupting the scheduling scheme using the destroy operator is shown, in which the destroy operator is used to randomly delete codes 8, 19, 3, and 14 in the scheduling scheme.
[0171] The random repair operator randomly inserts destroyed nodes into the original structure while ensuring constraints are maintained.
[0172] The deep greedy insertion operator tries each feasible node and inserts the node that minimizes the increase in completion time.
[0173] The regret insertion operator selects the pair of tasks with the highest regret value and then inserts them into the optimal region.
[0174] Figure 6 The specific form of responding to the scheduling scheme using the response operator is shown, in which the codes 8, 19, 3, and 14 are inserted back into the scheduling scheme.
[0175] After destruction and repair, a new scheduling scheme is obtained. Then, step S42 is executed to further improve the new scheduling scheme using a variety of local search algorithms.
[0176] Two local search algorithms are designed to further improve the newly generated solutions: vehicle swap search and DP task swap search.
[0177] The vehicle swap search involves swapping the tasks of two robots after they have been unloaded from a certain task, and calculating whether the processing time can be reduced under the constraints of the model.
[0178] DP task swap search involves swapping adjacent loading and unloading tasks on a robot to calculate whether it can reduce the overall processing time.
[0179] The specific form of the local search process is as follows: Figure 7 As shown, the search starts from the first node of the existing solution. If both local search conditions are met, the tasks are swapped.
[0180] Then, step S44 is executed, which uses the idea of simulated annealing to determine whether to use a new scheduling scheme to iterate the original scheduling scheme, and scores each operator to select the most suitable operator to participate in the updating of the scheduling scheme, thus realizing the adaptive process.
[0181] Then, step S45 is executed to determine whether the number of iterations has reached the set value. If so, the scheduling scheme obtained in this iteration is output; otherwise, the number of iterations is incremented and the process jumps to step S42.
[0182] This application also implements a job shop scheduling system based on multi-capacity mobile robots.
[0183] It should be understood that the above system is used to execute the methods in the above embodiments. The corresponding modules in the system are similar in implementation principle and technical effect to those described in the above methods. The working process of the system can be referred to the corresponding process in the above methods, and will not be repeated here.
[0184] Based on the methods in the above embodiments, this application provides an electronic device, such as... Figure 8 As shown, the electronic device may include a processor, a communications interface, a memory, and a communication bus, wherein the processor, communications interface, and memory communicate with each other via the communication bus. The processor can invoke logical instructions stored in the memory to execute the methods described in the above embodiments.
[0185] Furthermore, the logical instructions in the aforementioned memory can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application.
[0186] Based on the methods in the above embodiments, this application provides a computer-readable storage medium storing a computer program that, when run on a processor, causes the processor to execute the methods in the above embodiments.
[0187] Based on the methods in the above embodiments, this application provides a computer program product that, when run on a processor, causes the processor to execute the methods in the above embodiments.
[0188] It is understood that the processor in the embodiments of this application may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. A general-purpose processor may be a microprocessor or any conventional processor.
[0189] The method steps in the embodiments of this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disks, portable hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can reside in an ASIC.
[0190] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a storage medium or transmitted through the storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0191] It is understood that the various numerical designations used in the embodiments of this application are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application.
[0192] The above content is readily understood by those skilled in the art. The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A job shop scheduling method based on multi-capacity mobile robots, characterized in that, The method includes the following steps: S1. Describe the workshop scheduling scheme as the process of multi-capacity mobile robots performing transportation tasks; S2. Collect relevant parameters of processing tasks, workshop layout, and multi-capacity mobile robots; S3. Construct a constraint model based on the coupling relationship between processing tasks and transportation tasks, as well as the capacity limitations of multi-capacity mobile robots; S4. Using the constraint model as the limitation of the scheduling scheme and the shortest scheduling time as the optimization objective, the scheduling scheme is initialized and iteratively optimized based on the ALNS algorithm to finally obtain the optimal scheduling scheme; Step S4, which initializes and iteratively optimizes the scheduling scheme based on the ALNS algorithm to finally obtain the optimal scheduling scheme, specifically includes the following sub-steps: S41. Based on the greedy algorithm, each execution step of the scheduling scheme selects the transportation task with the shortest execution time and the multi-capacity mobile robot that performs the transportation task, thereby obtaining the initial scheduling scheme. S42. Use various destruction and repair operators to destroy and repair the scheduling scheme, and continuously generate new scheduling schemes. S43. Further improve the new scheduling scheme by using multiple local search algorithms; S44. The simulated annealing method is used to determine whether to iterate the original scheduling scheme with a new scheduling scheme, and each operator is scored to select the most suitable operator to participate in the updating of the scheduling scheme, thus realizing the adaptive process. S45. Determine whether the number of iterations has reached the set value. If yes, output the scheduling scheme obtained in this iteration. Otherwise, increment the number of iterations and jump to step S42.
2. The job shop scheduling method according to claim 1, characterized in that, Step S1 specifically involves: binding each processing task in the workshop to a pair of transportation tasks, wherein the pair of transportation tasks is a loading task and an unloading task; and taking the execution order of all loading and unloading tasks, as well as the multi-capacity mobile robots that execute each loading and unloading task, as the scheduling scheme to be solved.
3. The job shop scheduling method according to claim 2, characterized in that, After the last processing task of each workpiece, add a workpiece return task, and bind the workpiece return task to a loading task and an unloading task.
4. The job shop scheduling method according to claim 1, characterized in that, A two-segment coding scheme is used to describe each execution step in the scheduling scheme. The first segment of the coding describes the transportation task in each execution step, and the second segment of the coding describes the multi-capacity mobile robot that performs the transportation task.
5. The job shop scheduling method according to claim 1, characterized in that, The destruction operator includes one or a combination of the following operators: random destruction operator, longest wait time destruction operator, longest completion time destruction operator, and Shaw destruction operator; The repair operator includes one or a combination of the following operators: random insertion operator, depth-greedy insertion, and regret insertion operator; The local search algorithm includes one or a combination of the following algorithms: vehicle swap search algorithm and DP task swap search algorithm.
6. The job shop scheduling method according to claim 1, characterized in that, In S3, the coupling relationship between the processing task and the transportation task specifically includes: There is one and only one transportation task following each transportation task; there is one and only one transportation task preceding each transportation task; each transportation task is executed and can only be executed once; the execution order of all transportation tasks is unique. There is one and only one processing task after each processing task; there is one and only one processing task before each processing task; each processing task is assigned to one processing machine tool. Fix the initial transport task for each multi-capacity mobile robot; fix the initial transport task for each transport task, and transport tasks that are ordered sequentially will be assigned to the same initial transport task; assign a pair of transport tasks to the same initial transport task. The workpiece processing task is performed after the corresponding unloading task; the multi-capacity mobile robot can only perform the next transportation task after completing the current transportation task; the task completion time is equal to the sum of the task start time and the task execution time. For processing tasks, the task execution time is the processing time, and for transportation tasks, the task execution time is the transportation time. Loading tasks can only be executed after the workpiece being loaded has completed its processing task; unloading tasks can only be executed after the processing task at the front of the machine tool to be unloaded has been completed; loading tasks can only begin after the unloading task of the previous processing task has been completed, and unloading tasks can only begin after the corresponding loading task has been completed. The scheduling time is the maximum value among the completion times of all unloading tasks.
7. The job shop scheduling method according to claim 1, characterized in that, In S3, the capacity limit of the multi-capacity mobile robot specifically includes: the capacity of the multi-capacity mobile robot increases by 1 after performing a loading task and decreases by 1 after performing an unloading task; and the maximum capacity of the multi-capacity mobile robot is defined.
8. A job shop scheduling system based on multi-capacity mobile robots, characterized in that, The system is used to perform the method as described in any one of claims 1-7, comprising the following parts: The scheme description module is used to describe the workshop scheduling scheme as a transportation task process executed by multi-capacity mobile robots; The parameter collection module is used to collect relevant parameters of processing tasks, workshop layout, and multi-capacity mobile robots; The constraint building module is used to build constraint models based on the coupling relationship between processing and transportation tasks, as well as the capacity limitations of multi-capacity mobile robots. The scheme iteration module is used to initialize and iteratively optimize the scheduling scheme based on the ALNS algorithm, with the constraint model as the constraint of the scheduling scheme and the shortest scheduling time as the optimization objective, and finally obtain the optimal scheduling scheme.
9. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor for executing a program stored in the memory, wherein when the program stored in the memory is executed, the processor is configured to perform the method as described in any one of claims 1-7.
Citation Information
Patent Citations
Distributed factory production distribution integrated scheduling method and system
CN114594744A