Job shop scheduling method and system based on multi-capacity mobile robot
By building a constraint model for workshop scheduling and using ALNS algorithm optimization, the problem of lack of collaborative optimization of material transmission and production task execution in traditional workshop scheduling methods is solved, and more efficient production scheduling and resource coordination are achieved.
Patent Information
- Application Number
- CN202411694766.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2025-02-28
- Estimated Expiration
- 2044-11-25
AI Technical Summary
In traditional workshop scheduling methods, the lack of a collaborative optimization mechanism for material transmission and production task execution, resulting in low production efficiency in complex workshop environments and it is difficult to cope with the complex needs of multi-capacity mobile robots in transportation and task execution.
By describing the operation workshop scheduling scheme as the process of multi-capacity mobile robot performing transportation tasks, collecting relevant parameters of processing tasks, workshop layout and multi-capacity mobile robots, building a constraint model, and using the ALNS algorithm to initialize and iteratively optimize the scheduling scheme to obtain the optimal scheduling scheme.
The coordinated optimization of processing and production tasks and material transportation tasks is realized, the overall production efficiency is improved, complex scheduling optimization models can be solved faster, and the requirements for computing power are reduced.
Smart Images

Figure CN119536168A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of intelligent manufacturing technology, and more specifically, to a job shop scheduling method and system based on a multi-capacity mobile robot. Background Art
[0002] Shop scheduling technology is an important part of modern manufacturing. It helps enterprises improve production efficiency and enhance market competitiveness by optimizing production processes, improving resource utilization, reducing production costs, and improving product quality. At the same time, shop scheduling technology can also provide real-time data and analysis reports to provide decision support for management and achieve transparent management of the production process. With the advancement of technology, the role of shop scheduling technology in modern manufacturing will become increasingly important.
[0003] The execution of production tasks often depends on whether materials are delivered in time, and the scheduling of transportation resources is also closely related to the progress of production tasks. In traditional workshop scheduling methods, material transmission and production task execution are independent modules, and there is a lack of collaborative optimization mechanism between the two. This will become a bottleneck in a complex workshop environment and affect the overall production efficiency of the production workshop. In addition, in traditional workshop scheduling methods, AGV can only transport a single material at a time, but modern mobile robots have larger storage space and can realize the simultaneous transportation of multiple materials and the parallel execution of multiple tasks, which means that scheduling not only needs to consider how to optimize the allocation between processing machines and production tasks, but also take into account the efficient transportation of materials between different processes and sites, which puts higher requirements on resource coordination and task scheduling. The increase in scheduling complexity has further increased the demand for algorithms and data processing capabilities, and traditional scheduling optimization methods are difficult to cope with these new challenges. Summary of the invention
[0004] In response to the above defects or improvement needs of the prior art, the present application provides a job shop scheduling method and system based on a multi-capacity mobile robot, which aims to solve the technical problem that the existing job shop scheduling method cannot meet the needs of more efficient production tasks.
[0005] To achieve the above objectives, in a first aspect, the present application provides a job shop scheduling method based on a multi-capacity mobile robot, the method comprising the following steps:
[0006] S1. Describe the job shop scheduling scheme as a process where multi-capacity mobile robots perform 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, and the capacity limit of the multi-capacity mobile robot;
[0009] S4. Taking the constraint model as the restriction of the scheduling plan and the shortest scheduling time as the optimization goal, the scheduling plan is initialized and iteratively optimized based on the ALNS algorithm to finally obtain the optimal scheduling plan.
[0010] Preferably, step S1 is specifically as follows: each processing task in the work shop is bound to a pair of transportation tasks, wherein the pair of transportation tasks are a loading task and an unloading task; the execution order of all loading tasks and unloading tasks, and a multi-capacity mobile robot that executes each loading task and unloading task are used as the scheduling solution 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, in step S4, the scheduling scheme is initialized and iteratively optimized based on the ALNS algorithm to finally obtain the optimal scheduling scheme, which specifically includes the following sub-steps:
[0013] S41, based on the greedy algorithm, for each execution step of the scheduling plan, a transport task with the shortest execution time and a multi-capacity mobile robot that executes the transport task are selected, thereby obtaining an initialization scheduling plan;
[0014] S42, using a variety of destruction operators and repair operators to destroy and repair the scheduling plan, and continuously generate new scheduling plans;
[0015] S43, using a variety of local search algorithms to further improve the new scheduling scheme;
[0016] S44, using the idea of simulated annealing to determine whether to use a new scheduling plan to iterate the original scheduling plan, and scoring each operator to select the most suitable operator to participate in the update of the scheduling plan, thereby realizing the adaptive process;
[0017] S45. Determine whether the number of iterations reaches the set value. If yes, output the scheduling plan obtained in this iteration. Otherwise, increase the number of iterations by one and jump to step S42.
[0018] Preferably, a two-segment code is used to describe each execution step in the scheduling scheme, the first segment of the code describes the transportation task in each execution step, and the second segment of the code describes the multi-capacity mobile robot that performs the transportation task.
[0019] Preferably, the destruction operator includes one of the following operators or a combination of multiple operators: a random destruction operator, a maximum waiting time destruction operator, a maximum completion time destruction operator and a shaw destruction operator;
[0020] The repair operator includes one or a combination of the following operators: random insertion operator, deep greedy insertion operator and regret insertion operator;
[0021] The local search algorithm includes one or a combination of the following algorithms: a vehicle exchange search algorithm and a DP task exchange search algorithm.
[0022] Preferably, in S3, the coupling relationship between the processing task and the transportation task specifically includes:
[0023] There is only one transport task after each transport task; there is only one transport task before each transport task; each transport task is executed and can only be executed once; the execution order of all transport tasks is unique;
[0024] There is only one processing task after each processing task; there is only one processing task before each processing task; each processing is assigned to a processing machine tool;
[0025] Fix the starting transport task of each multi-capacity mobile robot; fix the starting transport task for each transport task, and the transport tasks in the previous and next order will be assigned to the same starting transport task; assign a pair of transport tasks to the same starting transport task;
[0026] The workpiece processing task is 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 the processing task, the task execution time is the processing time, and for the transportation task, the task execution time is the transportation time.
[0027] The loading task can only be executed after the processing task of the loaded workpiece is completed, and the unloading task can only be executed after the processing task in the previous order on the machine tool to be unloaded is completed; the loading task can only be started after the unloading task of the previous processing task is completed, and the unloading task can only be started after the corresponding loading task is completed;
[0028] The scheduling time is the maximum value of the end time 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 is increased by 1 after performing a loading task, and the capacity is decreased by 1 after performing an unloading task; and the maximum capacity of the multi-capacity mobile robot is defined.
[0030] In a second aspect, the present application provides a job shop scheduling system based on a multi-capacity mobile robot, the system comprising the following parts:
[0031] A scheme description module is used to describe the job shop scheduling scheme as a transportation task process performed by a multi-capacity mobile robot;
[0032] Parameter collection module, used to collect relevant parameters of processing tasks, workshop layout and multi-capacity mobile robots;
[0033] A constraint building module is used to build a constraint model based on the coupling relationship between the processing task and the transportation task, as well as the capacity limit of the multi-capacity mobile robot;
[0034] The scheme iteration module is used to use the constraint model as the constraint of the scheduling scheme, take the shortest scheduling scheme time as the optimization goal, initialize and iteratively optimize the scheduling scheme based on the ALNS algorithm, and finally obtain the optimal scheduling scheme.
[0035] In a third aspect, the present application provides an electronic device, comprising: a memory for storing programs; a processor for executing the programs stored in the memory, when the program stored in the memory is executed, the processor is used to execute the method described in the first aspect or any possible implementation of the first aspect.
[0036] In a fourth aspect, the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method described in the first aspect or any possible implementation of the first aspect.
[0037] In a fifth aspect, the present application provides a computer program product. When the computer program product runs on a processor, the processor executes the method described in the first aspect or any possible implementation of the first aspect.
[0038] In general, the above technical solutions conceived by 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 influence each other. 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 plan. The optimal scheduling plan obtained thereby enables the processing and production tasks and the material transportation tasks to work together and improve the overall production efficiency.
[0040] (2) During the optimization process of the production scheduling scheme of the present application, a more complex multi-capacity mobile robot was considered as a transportation tool. Its ability to transport multiple materials at a time and the changes in the transported materials during the production process were taken as constraints and added into the constraint model to guide the iterative optimization of the production scheduling scheme. As a result, the scheduling scheme of the present application achieved higher production efficiency.
[0041] (3) This application solves the iterative optimization model through a customized ALNS algorithm, obtains the optimal scheduling solution set more quickly, reduces the requirements for computing power, and solves the high difficulty of solving the scheduling solution optimization model caused by adding multiple new constraints.
[0042] (4) In the solution process of this application, the processing tasks are bound to the loading tasks and the unloading tasks, thereby reducing the difficulty of solving the scheduling solution. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 is a flow chart of a job shop scheduling method provided by an embodiment of the present application;
[0044] Figure 2 is a flow chart of the ALNS algorithm provided in an embodiment of the present application;
[0045] Figure 3 It is a schematic diagram of the task encoding method provided in an embodiment of the present application;
[0046] Figure 4 It is a schematic diagram of a scheduling scheme initialization method provided in an embodiment of the present application;
[0047] Figure 5 This is the destruction operator operation method provided in the embodiment of the present application.
[0048] Figure 6 This is the repair operator operation method provided in the embodiment of the present application.
[0049] Figure 7 This is the operation mode of the local search algorithm provided in the embodiment of the present application.
[0050] Figure 8 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0051] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0052] The terms "first" and "second" in the specification and claims herein are used to distinguish different objects rather than to describe a specific order of the objects. For example, a first processing task and a second processing task are used to distinguish different processing tasks rather than to describe a specific order of the processing tasks.
[0053] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0054] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more than two. For example, multiple materials refer to two or more materials, etc.; multiple tasks refer to two or more tasks, etc.
[0055] Next, the technical solutions provided in the embodiments of the present application are introduced.
[0056] like Figure 1 : is a flowchart of a job shop scheduling method based on a multi-capacity robot provided in an embodiment of the present application, which includes the following steps:
[0057] S1. Describe the job shop scheduling scheme as a process where multi-capacity mobile robots perform transportation tasks;
[0058] S2. Collect relevant parameters and variables of processing tasks, workshop layout and multi-capacity mobile robots; and define relevant parameters and variables;
[0059] S3, construct a constraint model based on the coupling relationship between processing tasks and transportation tasks, and the capacity limit of the multi-capacity mobile robot;
[0060] S4. Taking the constraint model as the restriction of the scheduling plan and the shortest scheduling time as the optimization goal, the scheduling plan is initialized and iteratively optimized based on the ALNS algorithm to finally obtain the optimal scheduling plan.
[0061] In step S1 of this embodiment, the job shop scheduling scheme is first described:
[0062] In the workshop, there are n parts that need to be processed J = J1, J2, ..., J n and m machine tools used to process parts M=M1,M2,…,M m , each part J i All contain n i Process Each process O ij The processing is carried out on a determined machine tool, and the machine tool cannot be interrupted during the processing.
[0063] The transportation of parts between machine tools is done by r A multi-capacity mobile robot is used to realize Each multi-capacity mobile robot has an onboard storage location and can carry up to k parts during movement. At the initial moment, all parts are placed in the container. The multi-capacity mobile robot starts from the container, grabs the parts and runs on various machine tools. Finally, all the processed parts are placed back in the container and considered to be processed. All processes are sorted uniformly, for example, T1 represents process O 11 processing task, T2 represents process O 12 processing tasks, and so on, there are n v 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 , where the loading task Uninstall Tasks Use q i Represents the capacity transformation of each point. When i∈P, q i =1, when i∈D, q i =-1.
[0064] In step S2 of this embodiment, relevant parameters and variables of the processing tasks, workshop layout and multi-capacity mobile robots are subsequently collected; and the relevant parameters and variables are defined;
[0065] In this embodiment, the workshop contains four processing machines, a total of four sets of parts to be processed, each set contains five to six parts. The processing procedures, processing machines and the time taken for the procedures of the workpieces are shown in Table 1:
[0066] Table 1
[0067]
[0068]
[0069] “ / ” indicates that this part does not need to be processed on this processing machine. The distances between each processing machine 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] Among them, L / U stands for warehouse.
[0073] Define the parameters and variables:
[0074] J, the collection of all parts;
[0075] M, the set of all machine tools;
[0076] V, the set of all mobile robots;
[0077] n i , Part J i The number of processes;
[0078] O, the set of all processes;
[0079] T, the set of all processing tasks;
[0080] P f , the collection of the first processing tasks of all parts;
[0081] D e , the collection of all artifact return tasks;
[0082] n v , the number of all tasks;
[0083] N, the set of all transportation tasks;
[0084] P, the set of all loading tasks;
[0085] D, the set of all offload tasks;
[0086] q i , the capacity transformation after point i;
[0087] PT i , the processing time of processing task i;
[0088] Transport Mission N i To transport task N j transportation time;
[0089] SO i , processing task T i The start time of
[0090] ST j , transport task L j The start time of
[0091] FO i , processing task T i End time of
[0092] FT j , transport task L j End time of
[0093] x ij , if the transport task L i and transport task L j are performed by the same mobile robot, and the transport task L i is the transport 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 And transportation processing task T j Processing on the same machine tool, and the processing task T i is the processing task T j The previous processing task, then y ij =1, otherwise y ij =0.y ii =0;
[0095] Q i , indicating that at the arrival point N i Then move the robot's load;
[0096] v i , indicating that the transport point N i Same as the first transport point of the mobile robot;
[0097] C max , maximum completion time.
[0098] In step S3 of this embodiment, an objective function is constructed:
[0099] minC max
[0100] Among them, min means to find the minimum value.
[0101] In step S3 of this embodiment, a constraint model is constructed, and the constraint model includes:
[0102] Each transport task is followed by one and only one transport task;
[0103]
[0104] Each transport task has only one transport task before it;
[0105]
[0106] These transport tasks are divided into n r The string is assigned to each mobile robot, so that the mobile robot performs the assigned transportation task, ensuring that each transportation task is executed and can only be executed once;
[0107]
[0108] Avoid the possibility of overlap between two tasks, and the execution order of all transportation tasks is unique;
[0109]
[0110] in, is a universal quantifier, meaning for all; n r represents all mobile robots involved in production scheduling; N∪2n+1 represents the 1st to 2n+1th transportation tasks; N∪0 represents the 0th to 2nth transportation tasks.
[0111] The constraint model also includes:
[0112] There is only one processing task after each processing task;
[0113]
[0114] There is only one processing task before each processing task;
[0115]
[0116] Each process is assigned to a processing machine;
[0117]
[0118] Among them, T∪n+1 represents the 1st to n+1th processing tasks; T∪0 represents the 0th to nth processing tasks; m represents the number of processing machine tools.
[0119] The constraint model also includes:
[0120] The starting transport task of each multi-capacity mobile robot is fixed;
[0121]
[0122] A fixed starting transport task is assigned to each transport task, and the transport tasks in the previous and next order will be assigned to the same starting transport task;
[0123]
[0124] Assign a pair of transport tasks to the same starting transport task;
[0125]
[0126] Wherein, VN represents a preset integer, and the preset integer 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] Among them, max(,) and min(,) represent 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 is after the corresponding unloading task;
[0135]
[0136] The multi-capacity mobile robot can only perform the next transportation task after completing the current transportation task;
[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] The loading task can only be executed after the loading object workpiece has completed the processing task, and the unloading task can only be executed after there are no other workpieces on the unloading machine tool;
[0142]
[0143] The loading task can only be started after the unloading task of the previous processing task is completed, and the unloading task can only be started after the corresponding loading task is completed;
[0144]
[0145] The scheduling time is the maximum value of the end time of all unloading tasks.
[0146]
[0147] like Figure 2 As shown, step S4 of this embodiment specifically includes the following sub-steps:
[0148] S41, based on the greedy algorithm, for each execution step of the scheduling plan, a transport task with the shortest execution time and a multi-capacity mobile robot that executes the transport task are selected, thereby obtaining an initialization scheduling plan;
[0149] S42, using a variety of destruction operators and repair operators to destroy and repair the scheduling plan, and continuously generate new scheduling plans;
[0150] S43, using a variety of local search algorithms to further improve the new scheduling scheme;
[0151] S44, using the idea of simulated annealing to determine whether to use a new scheduling plan to iterate the original scheduling plan, and scoring each operator to select the most suitable operator to participate in the update of the scheduling plan, thereby realizing the adaptive process;
[0152] S45. Determine whether the number of iterations reaches the set value. If yes, output the scheduling plan obtained in this iteration. Otherwise, increase the number of iterations by one and jump to step S42.
[0153] In order to facilitate the optimization and iteration of the execution plan, before executing step 4, each execution step in the scheduling plan is encoded first, and 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 upper left is all the processing tasks of all parts in the production task. A workpiece return task is added after the last processing task of each part. The processing tasks of part J1 are: O11, O12, O13, O14; the processing tasks of part J2 are: O21, O22, O23; the processing tasks of part J3 are: O31, O32, O33, O34.
[0155] Bind each processing task in the job shop to a pair of transport tasks, which are loading and unloading tasks: O11 binds P1 and D1; O12 binds P2 and D2, ..., O34 binds P11 and D11, and encodes each transport task, a total of 22 codes are obtained, such as Figure 3 Shown below left.
[0156] The complete scheduling solution is as follows Figure 3 As shown on the right, all execution steps in the scheduling scheme are connected in a string, where each code represents an execution step, and the specific task corresponding to the code and the mobile robot that performs the task are obtained based on the code.
[0157] After encoding the execution steps, step S41 is performed to initialize the scheduling scheme based on the greedy algorithm. The specific initialization process is as follows: Figure 4 As shown:
[0158] In the figure, the first layer is the optional tasks of the first step. There are 6 choices in the first layer. In each choice, the black number represents the task number, and the red part represents the number of the mobile robot to be executed. The number between each choice represents the time required for execution. The time of the 6 optional tasks in the first step is 0. Mobile robot 1 is randomly selected to complete task 1.
[0159] After entering the second layer, according to the constraint model, there are 5 optional tasks, from which the option that takes the least time is selected, that is, mobile robot 1 is selected to complete task 5.
[0160] After entering the third layer, according to the constraint model, there are three optional tasks, from which the option that takes the least time is selected, that is, mobile robot 2 is selected to complete task 8.
[0161] After entering the fourth layer, according to the constraint model, there are three optional tasks, from which the option that takes the least time is selected, that is, mobile robot 1 is selected to complete task 12.
[0162] After entering the fifth layer, according to the constraint model, there are four optional tasks, from which the option that takes the least time is selected, that is, mobile robot 1 is selected to complete task 2.
[0163] The five layers of selected tasks, that is, the tasks performed by the five steps, are concatenated to obtain the initialization code.
[0164] After the initialization coding is completed, step S42 is executed to destroy and repair the scheduling scheme using a variety of destruction operators and repair operators to continuously generate new scheduling schemes;
[0165] The four destroy operators include random destroy operator, longest waiting time destroy operator, longest completion time destroy operator and shaw destroy operator. The three repair operators include random insertion operator, deep greedy insertion operator and regret insertion operator.
[0166] The random destruction operator is a random selection of D num Destroy the node.
[0167] The longest waiting time destroying operator is used for nodes where the robot has a long waiting time. After the robot reaches the designated target location, it 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 completed only when the robot takes out the parts from the machine tool or places the parts. 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 destruction operator targets nodes that take a long time for the robot to complete, deletes tasks that take a long time to complete, and reduces the overall task duration.
[0169] The Shaw destruction operator removes and recombines similar tasks, calculates the similarity between two pairs of tasks, selects the highest one to destroy, and increases the probability of a better solution.
[0170] Figure 5 The specific form of using the destruction operator to destroy the scheduling scheme is shown, where the destruction operator is used to randomly delete the codes 8, 19, 3, and 14 in the scheduling scheme.
[0171] The random repair operator randomly inserts the destroyed nodes into the original structure while ensuring the constraints.
[0172] The deep greedy insertion operator tries each feasible node and inserts the node that increases the completion time the least.
[0173] The regret insertion operator selects a pair of tasks with the largest regret value and then inserts them into the optimal region.
[0174] Figure 6 The specific form of using the reply operator to reply to the schedule is shown, where the codes 8, 19, 3, and 14 are inserted back into the schedule.
[0175] After destruction and repair, a new scheduling scheme is obtained, and then step S42 is executed to further improve the new scheduling scheme using multiple local search algorithms.
[0176] Two local search algorithms are designed to further improve the newly generated solutions; including vehicle swap search and DP task exchange search.
[0177] The vehicle interchange search interchanges all the tasks of two robots after unloading a certain task, and calculates whether the processing time can be reduced while meeting the constraint model.
[0178] The DP task exchange search exchanges adjacent loading and unloading tasks on a robot to calculate whether the overall processing time can be reduced.
[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, and if the two local search conditions are met, the tasks are swapped.
[0180] Then, step S44 is executed, using the simulated annealing idea to determine whether to use the new scheduling scheme to iterate the original scheduling scheme, and scoring each operator to select the most suitable operator to participate in the update of the scheduling scheme, thereby realizing the adaptive process;
[0181] Then, step S45 is executed to determine whether the number of iterations reaches the set value. If yes, the scheduling scheme obtained in this iteration is output. Otherwise, the number of iterations is increased by one and the process jumps to step S42.
[0182] The present application also implements a job shop scheduling system based on multi-capacity mobile robots.
[0183] It should be understood that the above-mentioned system is used to execute the methods in the above-mentioned embodiments. The implementation principles and technical effects of the corresponding modules in the system are similar to those described in the above-mentioned methods. The working process of the system can refer to the corresponding process in the above-mentioned method and will not be repeated here.
[0184] Based on the method in the above embodiment, the embodiment of the present 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, the communications interface, and the memory communicate with each other via the communication bus. The processor may call the logic instructions in the memory to execute the method in the above embodiment.
[0185] In addition, the logic instructions in the above-mentioned memory can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application.
[0186] Based on the method in the above embodiment, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program runs on a processor, the processor executes the method in the above embodiment.
[0187] Based on the method in the above embodiment, an embodiment of the present application provides a computer program product. When the computer program product runs on a processor, the processor executes the method in the above embodiment.
[0188] It is understood that the processor in the embodiments of the present application may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0189] The method steps in the embodiments of the present application can be implemented by hardware or by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules 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, mobile hard disks, CD-ROMs, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium 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 be located in an ASIC.
[0190] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part 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, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a storage medium or transmitted through the storage medium. The computer instructions may be transmitted from a website site, a computer, a server or a data center to another website site, a computer, a server or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The storage medium may be any available medium that a computer can access or a data storage device such as a server or a data center that includes one or more available media integrated. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid state disk (SSD)), etc.
[0191] It should be understood that the various numerical numbers involved in the embodiments of the present application are only used for the convenience of description and are not used to limit the scope of the embodiments of the present application.
[0192] The above content is easily understood by those skilled in the art. The above description is only a preferred embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present application should be included in the protection scope of the present application.
Claims
1. A job shop scheduling method based on multi-capacity mobile robots, characterized in that: The method comprises the following steps: S1. Describe the job shop scheduling scheme as a process where multi-capacity mobile robots perform 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, and the capacity limit of the multi-capacity mobile robot; S4. Taking the constraint model as the restriction of the scheduling plan and the shortest scheduling time as the optimization goal, the scheduling plan is initialized and iteratively optimized based on the ALNS algorithm to finally obtain the optimal scheduling plan.
2. The job shop scheduling method according to claim 1, characterized in that: The step S1 is specifically as follows: each processing task in the work shop is bound to a pair of transportation tasks, wherein the pair of transportation tasks are a loading task and an unloading task; the execution order of all loading tasks and unloading tasks, and a multi-capacity mobile robot that executes each loading task and unloading task are used as the scheduling solution to be solved.
3. The job shop scheduling method according to claim 2, characterized in that: 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.
4. The job shop scheduling method according to claim 1, characterized in that: In step S4, the scheduling scheme is initialized and iteratively optimized based on the ALNS algorithm to finally obtain the optimal scheduling scheme, which specifically includes the following sub-steps: S41, based on the greedy algorithm, for each execution step of the scheduling plan, a transport task with the shortest execution time and a multi-capacity mobile robot that executes the transport task are selected, thereby obtaining an initialization scheduling plan; S42, using a variety of destruction operators and repair operators to destroy and repair the scheduling plan, and continuously generate new scheduling plans; S43, using a variety of local search algorithms to further improve the new scheduling scheme; S44, using the idea of simulated annealing to determine whether to use a new scheduling plan to iterate the original scheduling plan, and scoring each operator to select the most suitable operator to participate in the update of the scheduling plan, thereby realizing the adaptive process; S45. Determine whether the number of iterations reaches the set value. If yes, output the scheduling plan obtained in this iteration. Otherwise, increase the number of iterations by one and jump to step S42.
5. The job shop scheduling method according to claim 1 or 4, characterized in that: A two-stage coding is used to describe each execution step in the scheduling scheme, wherein the first stage of coding describes the transportation task in each execution step, and the second stage of coding describes the multi-capacity mobile robot that executes the transportation task.
6. The job shop scheduling method according to claim 4, characterized in that: The destruction operator includes one of the following operators or a combination of multiple operators: a random destruction operator, a maximum waiting time destruction operator, a maximum completion time destruction operator and a shaw destruction operator; The repair operator includes one or a combination of the following operators: random insertion operator, deep greedy insertion operator and regret insertion operator; The local search algorithm includes one or a combination of the following algorithms: a vehicle exchange search algorithm and a DP task exchange search algorithm.
7. 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 only one transport task after each transport task; there is only one transport task before each transport task; each transport task is executed and can only be executed once; the execution order of all transport tasks is unique; There is only one processing task after each processing task; there is only one processing task before each processing task; each processing is assigned to a processing machine tool; Fix the starting transport task of each multi-capacity mobile robot; fix the starting transport task for each transport task, and the transport tasks in the previous and next order will be assigned to the same starting transport task; assign a pair of transport tasks to the same starting transport task; The workpiece processing task is 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 the processing task, the task execution time is the processing time, and for the transportation task, the task execution time is the transportation time. The loading task can only be executed after the processing task of the loaded workpiece is completed, and the unloading task can only be executed after the processing task in the previous order on the machine tool to be unloaded is completed; the loading task can only be started after the unloading task of the previous processing task is completed, and the unloading task can only be started after the corresponding loading task is completed; The scheduling time is the maximum value of the end time of all unloading tasks.
8. The job shop scheduling method according to claim 1, characterized in that: In S3, the capacity limitation of the multi-capacity mobile robot specifically includes: the capacity of the multi-capacity mobile robot is increased by 1 after performing a loading task, and the capacity is decreased by 1 after performing an unloading task; and the maximum capacity of the multi-capacity mobile robot is defined.
9. A job shop scheduling system based on multi-capacity mobile robots, characterized in that: The system comprises the following parts: A scheme description module is used to describe the job shop scheduling scheme as a transportation task process performed by a multi-capacity mobile robot; Parameter collection module, used to collect relevant parameters of processing tasks, workshop layout and multi-capacity mobile robots; A constraint building module is used to build a constraint model according to the coupling relationship between the processing task and the transportation task, and the capacity limit of the multi-capacity mobile robot; The scheme iteration module is used to use the constraint model as the constraint of the scheduling scheme, take the shortest scheduling scheme time as the optimization goal, initialize and iteratively optimize the scheduling scheme based on the ALNS algorithm, and finally obtain the optimal scheduling scheme.
10. An electronic device, characterized in that: include: Memory for storing computer programs; A processor, configured to execute the program stored in the memory. When the program stored in the memory is executed, the processor is configured to execute the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Distributed workshop scheduling optimization method and system with orders and robot carrying
CN111400868A
Integrated multi-AGV flexible job shop scheduling method and device, and medium
CN113671910A
Distributed factory production distribution integrated scheduling method and system
CN114594744A
Job-shop multi-target scheduling method with limited transportation capacity constraint
CN114707294A
Modeling method considering processing, transportation and assembly integrated scheduling
CN116736820A