Scheduling method for railway center station storage yard equipment of sea-railway combined transportation container terminal
By constructing a dual-objective hybrid integer planning model and designing a search algorithm, the complexity and cost of scheduling of yard equipment at the railway center station of the sea-rail intermodal container terminal is solved, and efficient scheduling of ARMG operation tasks is achieved.
Patent Information
- Application Number
- CN202510091925.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2025-02-25
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The scheduling complexity and operating costs of railway central station yard equipment in the sea-rail intermodal container terminal are high, and there is little research on this in the existing technology.
A two-objective hybrid integer programming model is built to minimize the maximum completion time of automated track crane (ARMG) job tasks and minimize the amount of ARMG calls, and a random search algorithm and an adaptive large neighborhood search algorithm are designed to solve the scheduling problem.
By optimizing the scheduling of ARMG job tasks, the maximum job completion time and ARMG call volume are reduced, and the efficiency and cost-effectiveness of yard equipment scheduling are improved.
Smart Images

Figure CN119515022A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of intelligent dispatching of storage yard equipment, and in particular to a method for dispatching storage yard equipment of a railway central station of a sea-rail combined transport container terminal. Background Art
[0002] As the volume of sea-rail transport increases year by year, more and more ports have begun to pay attention to and expand the construction and development of their sea-rail transport business. At present, the railway center station and the terminal yard are separated in most sea-rail transport ports. However, this configuration will inevitably increase the operating cost and transit time of sea-rail transport. In order to solve the above problems, the newly built sea-rail transport ports have begun to adopt the "water-rail" operation mode, bringing the railway line into the port, the railway center station yard is adjacent to the terminal yard, and the train directly enters the port area to load and unload containers to the railway center station yard. The railway center station yard plays an important role as a buffer, forming a good connection between railway and water transportation, saving logistics time and cost. However, there is currently little research on the equipment scheduling of the railway center station in the container terminal.
[0003] At present, the general process of loading and unloading operations of ARMG (Automated Rail Mounted Crane) in the railway central station yard of the container terminal is as follows: Figure 1 As shown in the figure, the operation activities mainly include: (1) ARMG loads and unloads containers on trains; (2) ARMG loads and unloads containers on IGVs (Intelligent Guided Vehicles). The container flow flows between the railway center station yard, trains, IGVs, ships and the yard in front of the terminal. For the railway center station yard in the sea-rail intermodal container terminal, ARMG not only operates container trains, but also needs to operate intelligent guided vehicles (IGVs) coming from the front of the terminal or the terminal yard. In the railway center station yard, multiple ARMGs travel on the same track and work together on incoming trains and IGVs. When dispatching multiple ARMGs to load and unload assigned container operation tasks, it is necessary to avoid mutual interference in their operation processes, and the dispatching process introduces IGVs, which have high flexibility and are more convenient in terms of configuration quantity and speed, but also bring certain difficulties and complexity to the dispatching of railway center station yard equipment. Summary of the invention
[0004] The technical problem to be solved by the present invention is to provide a method for dispatching yard equipment at a railway central station of a sea-rail transport container terminal to optimize the dispatching of yard equipment.
[0005] The present invention is implemented as follows: a method for dispatching equipment at a railway central station yard of a sea-rail transport container terminal, the method comprising: Step S1, constructing a dual-objective mixed integer programming model that minimizes the maximum completion time of all tasks of the ARMG job and minimizes the amount of ARMG calls; Step S2: Encode the relative order of the ARMG tasks and the corresponding code values in a sequential encoding manner to represent the solution space of the problem; Step S3, using a random search algorithm to find a feasible solution to the problem; Step S4: Design an adaptive large neighborhood search algorithm to find an approximate optimal solution to the problem and obtain an optimal scheduling solution. Furthermore, the construction conditions of the planning model include: When ARMG operates containers in the railway center yard, the container turning activity is not considered; The number and travel speed of IGVs are known; The horizontal moving speed of the ARMG trolley remains unchanged; The operation time of ARMG grabbing the container is equal to the operation time of releasing the container; The hoisting trolley does not move during the movement of the ARMG trolley carrying the container; The loading and unloading tasks of the same carriage in a train follow the priority rule of "unloading first and loading later".
[0006] Furthermore, the specific function of the dual-objective mixed integer programming model is expressed as follows: Objective function 1: , the objective function 1 represents minimizing the maximum completion time of all tasks of the ARMG job, represents the end time of ARMG operation container task i, and I represents the set of ARMG loading / unloading operation container tasks; Objective function 2: , the objective function 2 represents the minimum ARMG call amount, S represents the ARMG set in the box area, indexed by s, A decision variable indicating ARMG enablement. When the value is 1, it means that ARMG s is enabled, and when the value is 0, it means that ARMG s is not enabled.
[0007] Furthermore, the constraints of the objective function specifically include:
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016] Among them, the time nodes of trains entering and leaving the railway central station are expressed as , Indicates the start time of ARMG operation container task i, Indicates the end time of ARMG operation container task i, represents the set of container tasks for loading / unloading trains, , represents the moving time of ARMG from the end position of the virtual start task to the starting position of task i, A collection of container tasks and virtual start tasks representing loading / unloading operations, Indicates a virtual start task. It means that from the virtual start task to task i, there must be an ARMG operating task i. A collection of container tasks and virtual end tasks representing loading / unloading operations, Indicates the virtual end of the task. It means that from task i to the virtual end task, there must be an ARMG job task F. 1 indicates that container task i is assigned to ARMG s for operation, otherwise it is 0. When it is 1, it means ARMG s-1 is enabled, otherwise it is 0. When it is 1, it means ARMGs+1 is enabled, otherwise it is 0. represents the start time of ARMG job container task j, represents the moving time of ARMG from the end position of container task i to the start position of container task j, represents a predefined positive number, , When it is 1, it means that ARMG s starts working on container task j immediately after completing container task i, otherwise it is 0. represents the operation time of ARMG loading / unloading container task i, P represents the priority of ARMG when operating the train, that is, when a carriage needs to unload and load containers, ARMG should first unload the container currently loaded in the carriage and then operate the container to be loaded in the carriage. represents the set of IGV transport tasks and virtual end tasks, When it is 1, it means that the IGV starts to transport container task i immediately after completing container task O, otherwise it is 0. V represents the set of IGVs that provide transportation services, indexed by v. represents the set of IGV transport tasks and virtual start tasks, When it is 1, it means that after the IGV completes the container transportation task i, it will immediately start transporting the container task F. represents the start time of IGV transport container task j, represents the start time of IGV transport container task i, represents the end time of IGV transport container task i, represents the moving time of the IGV from the end position of container task i to the start position of container task j, When it is 1, it means that the IGV starts to transport container task j immediately after completing container task i, otherwise it is 0. It represents the set of container tasks that require IGV to participate in transportation. represents the operation time of IGV transport container task i, When it is 1, it indicates conflicting tasks. Container task i is ARMG-assigned before container task j, otherwise it is 0. C represents the set of tasks that may conflict when adjacent ARMG tasks are assigned. It means that if a certain ARMG operates container task i and another ARMG operates container task j at the same time, the two ARMGs will interfere with each other. represents the intermediate time of grabbing or releasing container task j when ARMG performs conflicting tasks, represents the minimum time interval between ARMG job container tasks i and j, Represents a collection of loading and unloading tasks and virtual end tasks of ARMGs.
[0017] Further, the step S2 is specifically: using a sequential coding method to encode the relative order of the ARMG job tasks, which is called an ARMG job sequence, to represent the solution space of the problem, wherein the code value represents the task number and the position of the value represents the task job sequence, and the specific process is as follows: First, the number of ARMGs is given in advance; Then, set the relative order and assigned encoding for the ARMG job tasks respectively.
[0018] Furthermore, a fixed number of iterations is set in the random search algorithm of step S3, and a new ARMG job sequence is randomly generated in each iteration. The specific steps of the random search algorithm are as follows: Step S31, input data:
[0019] Step S32, initialization data: maximum number of iterations ; Set the number of ARMGs to m=2; Initialize the minimum score And corresponding ; Step S33: If , then execute step S34, otherwise execute step S310; Step S34: Set the number of iterations n, where the initial value of n is 1, and the score of the nth code ; Step S35: When , execute step S36, otherwise execute step 39; Step S36: randomly generate a code Z and calculate the score of this code ; Step S37: ; Step S38: If , then and , go to step S34; otherwise, go directly to step S34; Step S39, , jump to step S33; Step S310: Determine the best score , the number of ARMGs enabled is , according to the optimal sequence calculate , and determined by coding , output .
[0020] Furthermore, the encoding decoding algorithm is used to score the encoding, and the scoring value is expressed as follows: ,in, is the number of ARMGs enabled, is the completion time of the ARMG task, Fixed penalty time for enabling an ARMG.
[0021] Furthermore, for a given initial ARMG job sequence, an adaptive large neighborhood search algorithm is designed to adjust the job sequence. The neighborhood transformation is adaptively realized by setting the neighborhood search operator. Based on a given coding evaluation method, a new sequence with a better target value is generated. The ARMG job sequence is iteratively optimized and the completion time and its scheduling schedule are returned. The specific steps of the adaptive large neighborhood search algorithm are as follows: Step S41, input data:
[0022] Set the algorithm parameters: The number of solutions generated per iteration ; Maximum number of iterations ; Maximum number of iterations before the optimal value remains unchanged ; Step S42, initialize data, set the ARMG number , and initialize the optimal score And the corresponding sequence ; Step S43: Determine whether , if yes, execute step S44, otherwise, execute step S49; Step S44: Use the optimal sequence generated by RSA as the initial solution , and calculate its score ; Step S45: Set the number of iterations n=1, and the score of the mth code in the nth iteration and sequence ; Step S46: If , then determine the domain search operator list, search Neighborhood generation New Code , for each Calculated using random search algorithm Rating ; Otherwise, jump to step S48; Step S47: Determine the best score and , update the value of n: , return to step S46; Step S48: Jump to step S43; Step S49: Determine the optimal score And the number of ARMG , according to the optimal sequence calculate , can be determined according to the coding , output .
[0023] Furthermore, the neighborhood search operator list in step S46 includes: single point reinsertion, fragment reinsertion, local reversal, two point exchange, first and last fragment exchange, and regeneration. The specific operations of the above operators are as follows: The operation process of the single-point reinsertion is as follows: selecting a task in the encoding, randomly generating a new position, and inserting the task into the new position; The operation process of reinserting the segment is as follows: selecting a segment in the encoding, determining an insertion position in the remaining encoding segments, inserting the segment into the new position, and the order of tasks in the segment remains unchanged; The local reversal operation process is: select a segment from the code, reverse the tasks in the segment, and reinsert the segment into the original position; The operation process of the two-point exchange is: select two tasks in the segment and exchange the positions of the two tasks; The operation process of exchanging the first and last segments is as follows: selecting two segments with random first and last lengths and exchanging the positions of the two segments; The regeneration operation process is: randomly generate a new code; The stopping conditions of the adaptive large neighborhood search algorithm include two types: first, setting the maximum number of iterations , when the number of algorithm iterations reaches this value, the algorithm stops returning the output result; second, set the maximum number of iterations without changing the optimal value When the number of iterations during which the optimal value remains unchanged reaches this value, the algorithm stops and returns the output result.
[0024] The present invention has the following advantages: by constructing a mixed integer programming model with dual objectives of minimizing the maximum completion time of ARMG task and minimizing the number of ARMG activation for the "automated rail crane-train-IGV" collaborative optimization problem, and designing two algorithms to quickly solve such problems, among which the designed adaptive large neighborhood search algorithm can quickly solve examples of various sizes, and has good optimality in solving the problem. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] The present invention will be further described below in conjunction with embodiments with reference to the accompanying drawings.
[0026] Figure 1 Schematic diagram of ARMG loading / unloading trains and IGVs in the existing sea-rail intermodal railway central station yard.
[0027] Figure 2 The present invention is a flowchart for executing a method for dispatching yard equipment of a railway central station of a sea-rail transport container terminal.
[0028] Figure 3 Schematic diagram of the algorithm coding decomposition method of the present invention.
[0029] Figure 4 is the ARMG operation process corresponding to the solution result of Experiment 1: Figure 4 (a) is a schematic diagram of the operation process corresponding to the CPLEX solution result, and Figure 4 (b) is a schematic diagram of the operation process corresponding to the solution result of the decoding method of the encoding of the present invention. In Figure 4, U: the numerical value represents unloading (unload): task number, L: the numerical value represents loading (load): task number, the horizontal axis represents the position of ARMG, and the vertical axis represents the target value; Figure 5 shows the joint operation process of ARMG and IGV corresponding to the solution results of Experiment 1: Figure 5 (a) shows the joint operation process corresponding to the solution results of CPLEX, and Figure 5 (b) shows the joint operation process corresponding to the solution results of the decoding method of the encoding of the present invention. The numerical segments in Figure 5 represent the task numbers. DETAILED DESCRIPTION
[0030] The embodiment of the present application solves the existing yard equipment scheduling problem by providing a method for scheduling yard equipment at a railway center station of a sea-rail transport container terminal.
[0031] The technical solution in the embodiment of this application has the following general idea: In order to solve the equipment scheduling problem of the railway center station yard of the sea-rail transport container terminal, the present invention studies the collaborative optimization problem of "automated rail crane-train-IGV" in the railway center station yard of the container terminal under the sea-rail transport mode, and constructs a mixed integer programming model with the dual objectives of minimizing the maximum completion time of the automated rail crane (Automated Rail-Mounted Gantry Crane, ARMG) operation task and minimizing the number of ARMG activations. The ARMG scheduling problem is regarded as an extension of the vehicle routing problem. In order to solve the medium and large-scale examples of this problem, this patent will propose a heuristic method that can be solved quickly. First, according to the decision content of the problem, an algorithm code is designed to represent the solution space of the problem; then, a random search algorithm (Random Search Algorithm, RSA) is proposed to quickly solve the feasible solution of the problem; finally, an adaptive large neighborhood search algorithm (Adaptive Large Neighborhood Search, ALNS) is designed to solve the approximate optimal solution of the problem.
[0032] In order to better understand the above technical solution, the technical solution of the present invention will be described in detail below in conjunction with the accompanying drawings and specific implementation methods.
[0033] See also Figure 2 As shown, the present invention provides a method for dispatching equipment in a railway central station yard of a sea-rail transport container terminal, the method comprising: Step S1, constructing a dual-objective mixed integer programming model that minimizes the maximum completion time of all tasks of the ARMG job and minimizes the amount of ARMG calls; Step S2: Encode the relative order of the ARMG tasks and the corresponding code values in a sequential encoding manner to represent the solution space of the problem; Step S3, using a random search algorithm to find a feasible solution to the problem; Step S4: Design an adaptive large neighborhood search algorithm to find an approximate optimal solution to the problem and obtain an optimal scheduling solution. Preferably, the construction conditions of the planning model include: When ARMG operates containers in the railway center yard, the container turning activity is not considered; The number and travel speed of IGVs are known; The horizontal moving speed of the ARMG trolley remains unchanged; The operation time of ARMG grabbing the container is equal to the operation time of releasing the container; The hoisting trolley does not move during the movement of the ARMG trolley carrying the container; The loading and unloading tasks of the same carriage in a train follow the priority rule of "unloading first and loading later".
[0034] The method of the present invention is suitable for the China-Europe express train with the number of carriages of the inbound train not exceeding 50 and the best effect when the task scale of loading and unloading containers does not exceed 100.
[0035] Preferably, the specific function of the dual-objective mixed integer programming model is expressed as follows:
[0036] Said is objective function 1, which is used to minimize the maximum completion time of all tasks in the ARMG job. represents the end time of ARMG operation container task i, I represents the ARMG loading / unloading operation container task set; is the objective function 2, which is used to represent the minimum ARMG call amount, S represents the ARMG set in the box area, indexed by s, A decision variable indicating ARMG enablement. When the value is 1, it means that ARMG s is enabled, and when the value is 0, it means that ARMG s is not enabled.
[0037] Preferably, the constraints of the objective function specifically include:
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046] Among them, the time nodes of trains entering and leaving the railway central station are expressed as , Indicates the start time of ARMG operation container task i, Indicates the end time of ARMG operation container task i, represents the set of container tasks for loading / unloading trains, , represents the moving time of ARMG from the end position of the virtual start task to the starting position of task i, A collection of container tasks and virtual start tasks representing loading / unloading operations, Indicates a virtual start task. It means that from the virtual start task to task i, there must be an ARMG operating task i. A collection of container tasks and virtual end tasks representing loading / unloading operations, Indicates the virtual end of the task. It means that from task i to the virtual end task, there must be an ARMG job task F. 1 indicates that container task i is assigned to ARMG s for operation, otherwise it is 0. When it is 1, it means ARMG s-1 is enabled, otherwise it is 0. When it is 1, it means ARMGs+1 is enabled, otherwise it is 0. represents the start time of ARMG job container task j, represents the moving time of ARMG from the end position of container task i to the start position of container task j, represents a predefined positive number, , When it is 1, it means that ARMG s starts working on container task j immediately after completing container task i, otherwise it is 0. represents the operation time of ARMG loading / unloading container task i, P represents the priority of ARMG when operating the train, that is, when a carriage needs to unload and load containers, ARMG should first unload the container currently loaded in the carriage and then operate the container to be loaded in the carriage. represents the set of IGV transport tasks and virtual end tasks, When it is 1, it means that the IGV starts to transport container task i immediately after completing container task O, otherwise it is 0. V represents the set of IGVs that provide transportation services, indexed by v. represents the set of IGV transport tasks and virtual start tasks, When it is 1, it means that after the IGV completes the container transportation task i, it will immediately start transporting the container task F. represents the start time of IGV transport container task j, represents the start time of IGV transport container task i, represents the end time of IGV transport container task i, represents the moving time of the IGV from the end position of container task i to the start position of container task j, When it is 1, it means that the IGV starts to transport container task j immediately after completing container task i, otherwise it is 0. It represents the set of container tasks that require IGV to participate in transportation. represents the operation time of IGV transport container task i, When it is 1, it indicates conflicting tasks. Container task i is ARMG-assigned before container task j, otherwise it is 0. C represents the set of tasks that may conflict when adjacent ARMG tasks are assigned. It means that if a certain ARMG operates container task i and another ARMG operates container task j at the same time, the two ARMGs will interfere with each other. represents the intermediate time of grabbing or releasing container task j when ARMG performs conflicting tasks, represents the minimum time interval between ARMG job container tasks i and j, Represents a collection of loading and unloading tasks and virtual end tasks of ARMGs.
[0047] Operation train time window constraints: Constraint (3) indicates that the ARMG can start the loading / unloading process only after the incoming train stops; Constraint (4) indicates that the ARMG assigned to the train needs to complete all loading and unloading tasks before the train departs ( ). The constraints for ARMG loading / unloading trains include: Constraint (5) is used to limit the start time of the initial task of the ARMG operation, where ; Constraints (6) and (7) respectively indicate that the ARMG that allocates the job starts at a virtual start task and ends at a virtual end task; Constraint (8) can ensure that each task is operated by an ARMG; Constraint (9) indicates that only the ARMG allocated to this train can operate its loading / unloading container task; Constraint (10) indicates that there is no unallocated ARMG between the ARMGs allocated to this train to interfere with their operations; When the ARMGs operate tasks i and j consecutively, constraint (11) is used to determine the relationship between the completion time of the ARMG operation of task i and the start time of the ARMG operation of task j; Constraint (12) is used to determine the relationship between the start time and completion time of the ARMG operation task i; In order to constrain the requirement of unloading first and loading later for the tasks in the same carriage in the train, constraint (13) ensures that the loading task j is started only after the unloading task i is completed.
[0048] The constraints of IGV transporting containers include: constraints (14) and (15) limit the number of IGVs used in the transportation process; when IGV transports tasks i and j continuously, constraint (16) is used to ensure the relationship between the completion time of IGV transporting task i and the start time of task j; constraint (17) is used to determine the relationship between the start time and completion time of IGV transporting task i; constraint (18) is used to determine the order in which any two tasks i and j are operated by ARMG.
[0049] According to the task type of the ARMG job, the intermediate nodes of each task's operation time are calculated respectively. Constraint (19) can be used to avoid mutual interference between adjacent ARMG jobs. Constraint (20) is used to limit the operation task ARMG flow balance; constraint (21) is used to ensure the transport task The IGV flow balance. Constraints (22) and (23) limit the range of variables.
[0050] Preferably, step S2 is specifically: using a sequential coding method to encode the relative order of the ARMG job tasks, which is called an ARMG job sequence, to represent the solution space of the problem, wherein the code value represents the task number and the position of the value represents the task job sequence, and the specific process is as follows: First, the number of ARMGs is given in advance; Then, set the relative order and assigned encoding for the ARMG job tasks respectively.
[0051] like Figure 3As shown in the figure, a coding example with 10 tasks and 2 ARMGs is shown, and how to decompose the code to get the job sequence of each ARMG is given. Code part 1 represents the relative order of ARMG job tasks, where the code value represents the task number and its position represents the relative order of the task job; code part 2 represents the ATMG job task allocation, where the code represents the number of allocated tasks (the value range is 0 to According to the given number of ARMGs, the length of the coding part 2 can then be used. Figure 3 The encoding method shown sets the encoding.
[0052] Preferably, a fixed number of iterations is set in the random search algorithm of step S3, and a new ARMG job sequence is randomly generated in each iteration. The specific steps of the random search algorithm are as follows: Step S31, input data:
[0053] Step S32, initialization data: maximum number of iterations ; Set the number of ARMGs to m=2; Initialize the minimum score And corresponding , Used to record the code with the smallest score; Step S33: If , then execute step S34, otherwise execute step S310; Step S34: Set the number of iterations n, where the initial value of n is 1, and the score of the nth code ; Step S35: When , execute step S36, otherwise execute step 39; Step S36: randomly generate a code Z and calculate the score of this code ; Step S37: ; Step S38: If , then and , go to step S34; otherwise, go directly to step S34; Step S39, , jump to step S33; Step S310: Determine the best score , the number of ARMGs enabled is , according to the optimal sequence calculate , and determined by coding , output m is the number of ARMG enabled. Indicates the optimal number of ARMG enabled, Indicates the number of ARMG enabled in this ) is the encoding corresponding to the optimal score value under .
[0054] Preferably, the encoding decoding algorithm is used to score the encoding, and the scoring value is expressed as follows: ,in, is the number of ARMGs enabled, is the completion time of the ARMG task, Fixed penalty time for enabling an ARMG.
[0055] Preferably, step S4 is specifically as follows: for a given initial ARMG job sequence, an adaptive large neighborhood search algorithm is designed to adjust the job sequence, neighborhood transformation is adaptively implemented by setting a neighborhood search operator, a new sequence with a better target value is generated based on a given coding evaluation method, the ARMG job sequence is iteratively optimized and the completion time and its scheduling schedule are returned. The specific steps of the adaptive large neighborhood search algorithm are as follows: Step S41, input data:
[0056] Set the algorithm parameters: The number of solutions generated per iteration ; Maximum number of iterations ; Maximum number of iterations before the optimal value remains unchanged ; Step S42, initialize data, set the ARMG number , and initialize the optimal score And the corresponding sequence ; Step S43: Determine whether , if yes, execute step S44, otherwise, execute step S49; Step S44: Use the optimal sequence generated by RSA As an initial solution , and calculate its score ; Step S45: Set the number of iterations n=1, and the score of the mth code in the nth iteration and sequence ; Step S46: If , then determine the domain search operator list, search Neighborhood generation New Code , for each Calculated using random search algorithm Rating ; Otherwise, jump to step S48; Step S47: Determine the best score and , update the value of n: , return to step S46; Step S48: Jump to step S43; Step S49: Determine the optimal score And the number of ARMG , according to the optimal sequence calculate , can be determined according to the coding , output .
[0057] The above scoring calculation method is consistent with the scoring method of the code in the random search algorithm, and both are implemented using the code decoding algorithm. The specific algorithm is as follows: Input data:
[0058] Initialization parameters: Job task location number ; Virtual start time of the task ; Determine the number of ARMGs enabled based on code Z ; According to the encoding and ARMG The job assignment generates the corresponding job subsequence ; when The following loop is executed: Determine the insertion task ; Calculate the earliest start time and completion time of ARMG job tasks respectively and the earliest start and completion time of the IGV transport task ; ; End of loop Determine the score for the assignment sequence , and the operation time node , , and ; like , then update And calculate , Indicates enabling a fixed penalty time for an ARMG, and then returns ; otherwise this encoding is not feasible.
[0059] Preferably, the neighborhood search operator list in step S46 includes: (A) single point reinsertion; (B) fragment reinsertion; (C) local reversal; (D) two point exchange; (E) first and last fragment exchange; (F) regeneration. These operators are components of the algorithm and are used to generate new solutions (neighborhoods). The specific operations of the above operators are as follows: The operation process of the single-point reinsertion is as follows: selecting a task in the encoding, randomly generating a new position, and inserting the task into the new position; The operation process of reinserting the segment is as follows: selecting a segment in the encoding, determining an insertion position in the remaining encoding segments, inserting the segment into the new position, and the order of tasks in the segment remains unchanged; The local reversal operation process is: select a segment from the code, reverse the tasks in the segment, and reinsert the segment into the original position; The operation process of the two-point exchange is: select two tasks in the segment and exchange the positions of the two tasks; The operation process of exchanging the first and last segments is as follows: selecting two segments with random first and last lengths and exchanging the positions of the two segments; The regeneration operation process is: randomly generate a new code; The stopping conditions of the adaptive large neighborhood search algorithm include two types: first, setting the maximum number of iterations , when the number of algorithm iterations reaches this value, the algorithm stops returning the output result; second, set the maximum number of iterations without changing the optimal value When the number of iterations during which the optimal value remains unchanged reaches this value, the algorithm stops and returns the output result.
[0060] All relevant symbols involved in the above algorithm are explained as follows: S represents the set of ARMGs in the bin, indexed by s; V represents the set of IGVs that provide transportation services, indexed by v represents the set of container tasks for transfer between trains and railway central station yards, indexed by i and j; represents the set of container tasks for transfer between IGV and railway central station yard, indexed by i and j; represents the set of container tasks transferred between trains and IGVs, indexed by i and j; represents the set of container tasks for loading / unloading trains, ; It represents the set of container tasks that require IGV to participate in transportation. ; I represents the ARMG container loading / unloading task set, ; A collection of container tasks and virtual start tasks representing loading / unloading operations, Indicates a virtual start task. Similarly, you can define ; A collection of container tasks and virtual end tasks representing loading / unloading operations, Indicates a virtual end task. Similarly, you can define ; C represents a set of tasks that may conflict with adjacent ARMG tasks. It means that if a certain ARMG operates container task i and another ARMG operates container task j at the same time, the two ARMGs will interfere with each other; P represents the priority of ARMG when operating a train, that is, when a carriage needs to unload and load containers, ARMG should first unload the container currently loaded in the carriage and then operate the container to be loaded in the carriage; To avoid the task The intermediate time node is selected to avoid conflicts. When its value is 0, it is the intermediate time of the node in the box area, and when it is 1, it is the intermediate time of the train compartment. To avoid the task The intermediate time node selected to avoid conflicts between the starting and ending positions. When the value is 0, it refers to the intermediate time of the starting position, and when it is 1, it refers to the intermediate time of the ending position. represents the position coordinates of task i in the direction of the yard; Indicates the operation time of ARMG grabbing / releasing containers in the container area; Indicates the operation time of ARMG grabbing / releasing containers at the train; represents the operation time of ARMG loading / unloading container task i; represents the minimum time interval between container tasks i and j of the ARMG operation; represents the moving time of ARMG from the end position of container task i to the start position of container task j; It represents the moving time of the spreader trolley during ARMG loading / unloading container task i; represents the operation time of IGV transport container task i; represents the moving time of the IGV from the end position of container task i to the start position of container task j; Indicates the time node when the train enters and leaves the railway central station; represents a sufficiently large positive number, .
[0061] Decision variables: When it is 1, it means ARMG s is enabled, otherwise it is 0; It is 1 if container task i is assigned to ARMG s for operation, otherwise it is 0; When it is 1, it means that ARMG s starts working on container task j immediately after completing container task i, otherwise it is 0; When it is 1, it indicates conflicting tasks. In the case where container task i is ARMG-operated before container task j, it is 0 otherwise; When it is 1, it means that the IGV starts to transport container task j immediately after completing container task i, otherwise it is 0; represents the start time of ARMG operation container task i, which is a real number variable; represents the end time of ARMG operation container task i, which is a real number variable; represents the start time of IGV transport container task i, which is a real number variable; represents the end time of IGV transport container task i, which is a real number variable; It represents the middle time of grabbing or releasing container task i when the ARMG task conflicts, which is a real number variable.
[0062] In order to evaluate the effectiveness of the model established and the algorithm designed in this patent, the following two experiments were conducted. The technical parameters of ARMG are shown in Table 1, and Table 2 gives the initial parameter settings of the algorithm ALNS.
[0063]
[0064]
[0065] The experimental process is as follows: Experiment 1. Verify the feasibility of the model and algorithm Since the CPLEX solver can only handle the case of a small number of tasks and can obtain an exact solution, the CPLEX solver is used for comparison. The specific steps of this experiment are: 1) Set the number of IGV and container tasks to , solve the input parameters according to the generated data; 2) convert the multi-objective model into a single-objective model by introducing a penalty coefficient, and then call the CPLEX solver to solve the model. The running time is limited to 1200 seconds; 3) Solve the model and return the result, set the number of ARMGs according to the model result, and run the decoding algorithm to solve the randomly given code and return the result.
[0066] Experiment 2. Comparison of model solution and the computational performance of algorithms RSA and ALNS The specific steps of this experiment are: 1) Set the number of tasks to 10, 12, ..., 50, 60, ..., 160 to generate corresponding examples; 2) The number of iterations of the algorithm RSA ; 3) The algorithm parameters are set according to Table 2, and other parameters are set according to Table 1; 4) For each case, the CPLEX solver is called to solve the model, and the algorithms RSA and ALNS are run to return the results respectively.
[0067] The results are analyzed as follows: In Experiment 1, the objective function value obtained by calling CPLEX solver to solve the model according to the given example is 1202.05 seconds, and the corresponding ARMG operation process is shown in Figure 4(a); according to the model results, the number of ARMGs is determined to be 4, and the decoding algorithm is used to solve the randomly generated code to obtain the objective function value corresponding to the given example of 1495.56 seconds, and the corresponding ARMG operation process is shown in Figure 4(b). From the results in Figure 4, it can be seen that there is no conflict when each ARMG is operating the task, and there is no interference between multiple ARMGs operating the task. Figure 5 shows the joint operation process of ARMG and IGV corresponding to the results obtained by the above two methods. From Figure 5, it can be seen that the containers can be seamlessly handed over between ARMG and IGV, and there is no conflict when IGV transports the container task. Therefore, the proposed model and decoding algorithm are feasible and can be used to formulate the scheduling plan for the yard equipment of the railway center station of the sea-rail intermodal container terminal. The decoding algorithm will be used to evaluate the encoding in Experiment 2.
[0068]
[0069] In Experiment 2, the model was solved by CPLEX and the optimality and computation time of the algorithms RSA and ALNS were compared. The experimental results are shown in Table 3. , and Represent the objective function values of CPLEX, RSA and ALNS respectively, Indicates the solution time. First, the model has excellent computational performance in small-scale examples. For example, in examples with no more than 12 tasks, CPLEX can obtain results quickly within a limited time; in examples with the number of tasks ranging from 13 to 15, CPLEX can only obtain feasible solutions. Secondly, the algorithm RSA can quickly solve examples of various sizes, and its optimality for solving small and medium-sized examples is good. Finally, the algorithm ALNS can solve examples of various sizes. ALNS takes a long time to solve large-scale examples. For example, the algorithm ALNS can quickly solve examples with no more than 60 tasks, but when the number of tasks exceeds 70, the computational time used by this algorithm increases rapidly, but the target value obtained is small. The total number of loading and unloading tasks for a single train at the railway central station in the port usually does not exceed 100. Overall, the algorithm ALNS is more effective.
[0070] The present invention studies the problem of how to schedule multiple ARMGs in the railway center station yard of the sea-rail transport container terminal to simultaneously load / unload inbound trains and IGVs in the terminal, and establishes a dual-objective model to minimize the maximum completion time of the task and the number of ARMG calls. According to the decision content and constraints of the model, a random search algorithm and an adaptive large neighborhood search algorithm are designed to quickly solve large-scale examples of the problem. The feasibility and effectiveness of the model and algorithm are verified through experiments, and the optimality and calculation time of the model and algorithm are compared. The experimental results show that the constructed model can effectively solve small and medium-scale examples of the "automated rail crane-train-IGV" collaborative scheduling problem; the proposed algorithm can quickly solve this problem, and the designed adaptive large neighborhood search algorithm can quickly solve examples of various sizes, and the optimality of solving the problem is good.
[0071] Although the specific implementation modes of the present invention are described above, those skilled in the art should understand that the specific implementation modes described are only illustrative and are not intended to limit the scope of the present invention. Equivalent modifications and changes made by those skilled in the art in accordance with the spirit of the present invention should be included in the scope of protection of the claims of the present invention.
Claims
1. A method for dispatching equipment at a railway center station of a sea-rail transport container terminal, characterized in that: The method comprises: Step S1, constructing a dual-objective mixed integer programming model that minimizes the maximum completion time of all tasks of the ARMG job and minimizes the amount of ARMG calls; The specific function of the dual-objective mixed integer programming model is expressed as follows: Objective function 1: , the objective function 1 represents minimizing the maximum completion time of all tasks of the ARMG job, represents the end time of ARMG operation container task i, and I represents the set of ARMG loading / unloading operation container tasks; Objective function 2: , the objective function 2 represents the minimum ARMG call amount, S represents the ARMG set in the box area, indexed by s, The decision variable representing ARMG activation, when the value is 1, it means that ARMG s is activated, and when the value is 0, it means that ARMG s is not activated; Step S2: Encode the relative order of the ARMG tasks and the corresponding code values in a sequential coding manner to represent the solution space of the problem; Step S3, using a random search algorithm to find a feasible solution to the problem; Step S4: Design an adaptive large neighborhood search algorithm to find an approximate optimal solution to the problem and obtain an optimal scheduling solution.
2. A method for dispatching equipment at a railway center station of a sea-rail transport container terminal according to claim 1, characterized in that: The construction conditions of the planning model include: When ARMG operates containers in the railway center yard, the container turning activity is not considered; The number and travel speed of IGVs are known; The horizontal moving speed of the ARMG trolley remains unchanged; The operation time of ARMG grabbing the container is equal to the operation time of releasing the container; The hoisting trolley does not move during the movement of the ARMG trolley carrying the container; The loading and unloading tasks of the same carriage in a train follow the priority rule of "unloading first and loading later".
3. The method for dispatching equipment at a railway center station of a sea-rail transport container terminal according to claim 1, characterized in that: The constraints of the objective function specifically include: Among them, the time nodes of trains entering and leaving the railway central station are expressed as , Indicates the start time of ARMG operation container task i, Indicates the end time of ARMG operation container task i, represents the set of container tasks for loading / unloading trains, , represents the moving time of ARMG from the end position of the virtual start task to the starting position of task i, A collection of container tasks and virtual start tasks representing loading / unloading operations, Indicates a virtual start task. It means that from the virtual start task to task i, there must be an ARMG operating task i. A collection of container tasks and virtual end tasks representing loading / unloading operations, Indicates the virtual end of the task. It means that from task i to the virtual end task, there must be an ARMG job task F. 1 indicates that container task i is assigned to ARMG s for operation, otherwise it is 0. When it is 1, it means ARMG s-1 is enabled, otherwise it is 0. When it is 1, it means ARMG s+1 is enabled, otherwise it is 0. represents the start time of ARMG job container task j, represents the moving time of ARMG from the end position of container task i to the start position of container task j, represents a predefined positive number, , When it is 1, it means that ARMG s starts working on container task j immediately after completing container task i, otherwise it is 0. represents the operation time of ARMG loading / unloading container task i, P represents the priority of ARMG when operating the train, that is, when a carriage needs to unload and load containers, ARMG should first unload the container currently loaded in the carriage and then operate the container to be loaded in the carriage. Represents the set of IGV transport tasks and virtual end tasks, When it is 1, it means that the IGV starts to transport container task i immediately after completing container task O, otherwise it is 0. V represents the set of IGVs that provide transportation services, indexed by v. represents the set of IGV transport tasks and virtual start tasks, When it is 1, it means that after the IGV completes the container transportation task i, it will immediately start transporting the container task F. represents the start time of IGV transport container task j, represents the start time of IGV transport container task i, represents the end time of IGV transport container task i, represents the moving time of the IGV from the end position of container task i to the start position of container task j, When it is 1, it means that the IGV starts to transport container task j immediately after completing container task i, otherwise it is 0. It represents the set of container tasks that require IGV to participate in transportation. represents the operation time of IGV transport container task i, When it is 1, it indicates conflicting tasks. Container task i is ARMG-assigned before container task j, otherwise it is 0. C represents the set of tasks that may conflict when adjacent ARMG tasks are assigned. It means that if a certain ARMG operates container task i and another ARMG operates container task j at the same time, the two ARMGs will interfere with each other. represents the intermediate time of grabbing or releasing container task j when ARMG performs conflicting tasks, represents the minimum time interval between ARMG job container tasks i and j, Represents a collection of loading and unloading tasks and virtual end tasks of ARMGs.
4. The method for dispatching equipment at a railway center station of a sea-rail transport container terminal according to claim 1, characterized in that: The step S2 is specifically: using a sequential coding method to encode the relative order of the ARMG job tasks, which is called an ARMG job sequence, to represent the solution space of the problem, wherein the code value represents the task number and the position of the value represents the task job order, and the specific process is as follows: First, the number of ARMGs is given in advance; Then, set the relative order and assigned encoding for the ARMG job tasks respectively.
5. The method for dispatching equipment at a railway center station of a sea-rail transport container terminal according to claim 1, characterized in that: A fixed number of iterations is set in the random search algorithm of step S3, and a new ARMG job sequence is randomly generated in each iteration. The specific steps of the random search algorithm are as follows: Step S31, input data: Step S32, initialization data: maximum number of iterations ; Set the number of ARMGs to m=2; initialize the minimum score And corresponding ; Step S33: If , then execute step S34, otherwise execute step S310; Step S34: Set the number of iterations n, where the initial value of n is 1, and the score of the nth code ; Step S35: When , execute step S36, otherwise execute step 39; Step S36: randomly generate a code Z and calculate the score of this code ; Step S37: ; Step S38: If , then and , go to step S34; Otherwise, go directly to step S34; Step S39, , jump to step S33; Step S310: Determine the best score , the number of ARMGs enabled is , according to the optimal sequence calculate , and determined by coding , output .
6. A method for dispatching equipment at a railway center station of a sea-rail transport container terminal according to claim 5, characterized in that: The encoding decoding algorithm is used to score the encoding, and the scoring value is expressed as follows: ,in, is the number of ARMGs enabled, is the completion time of the ARMG task, Fixed penalty time for enabling an ARMG.
7. A method for dispatching equipment at a railway central station of a sea-rail transport container terminal according to claim 1, characterized in that: The step S4 is specifically as follows: for a given initial ARMG job sequence, an adaptive large neighborhood search algorithm is designed to adjust the job sequence, a neighborhood transformation is adaptively implemented by setting a neighborhood search operator, a new sequence with a better target value is generated based on a given coding evaluation method, the ARMG job sequence is iteratively optimized and the completion time and its scheduling schedule are returned. The specific steps of the adaptive large neighborhood search algorithm are as follows: Step S41, input data: Set the algorithm parameters: The number of solutions generated per iteration ; Maximum number of iterations ; Maximum number of iterations before the optimal value remains unchanged ; Step S42, initialize data, set the ARMG number , and initialize the optimal score And the corresponding sequence ; Step S43: Determine whether , if yes, execute step S44, otherwise, execute step S49; Step S44: Use the optimal sequence generated by RSA as the initial solution , and calculate its score ; Step S45: Set the number of iterations n=1, and the score of the mth code in the nth iteration and sequence ; Step S46: If , then determine the domain search operator list, search Neighborhood generation New Code , for each Calculated using random search algorithm Rating ; Otherwise, jump to step S48; Step S47: Determine the best score and , update the value of n: , return to step S46; Step S48: Jump to step S43; Step S49: Determine the optimal score And the number of ARMG , according to the optimal sequence calculate , determined by coding , output .
8. A method for dispatching equipment at a railway center station of a sea-rail transport container terminal according to claim 7, characterized in that: The neighborhood search operator list in step S46 includes: single point reinsertion, fragment reinsertion, local reversal, two point exchange, first and last fragment exchange, and regeneration. The specific operations of the above operators are as follows: The operation process of the single-point reinsertion is as follows: selecting a task in the code, randomly generating a new position, and inserting the task into the new position; The operation process of reinserting the segment is as follows: selecting a segment in the encoding, determining an insertion position in the remaining encoding segments, inserting the segment into the new position, and the order of tasks in the segment remains unchanged; The local reversal operation process is: select a segment from the code, reverse the tasks in the segment, and reinsert the segment into the original position; The operation process of the two-point exchange is: select two tasks in the segment and exchange the positions of the two tasks; The operation process of exchanging the first and last segments is as follows: selecting two segments with random first and last lengths and exchanging the positions of the two segments; The regeneration operation process is: randomly generate a new code; The stopping conditions of the adaptive large neighborhood search algorithm include two types: first, setting the maximum number of iterations , when the number of algorithm iterations reaches this value, the algorithm stops returning the output result; second, set the maximum number of iterations without changing the optimal value When the number of iterations during which the optimal value remains unchanged reaches this value, the algorithm stops and returns the output result.
Citation Information
Patent Citations
Automatic container port multi-agent collaborative optimization operation method
CN115983746A
Multi-step multi-line ship lock scheduling scheme optimization method based on decomposition framework
CN116070827A
Flexible job shop scheduling method and device for manipulator carrying
CN117649079A
Scheduling method, device and equipment for intelligent guide trolley of large-scale automatic wharf
CN118071124A
Method for dispatching a transporter of a portcontainer terminal
KR1020020061293A
