A method for judging feasibility of a co-rail multi-rail crane task sequence

By constructing a 'beta-time' polygonal line and using fast rejection and straddle experiments, combined with multiple heuristic rules to determine the feasibility of shared-track multi-rail crane task sequences, the problem of rail crane interference in flexible range scheduling was solved, and scheduling efficiency was improved.

CN115564231BActive Publication Date: 2026-03-31WUHAN UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-30
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

In the flexible range scheduling of shared-rail multi-rail gantry cranes, how to efficiently determine the feasibility of task sequences and avoid interference between rail gantry cranes is crucial.

Method used

Rapid rejection and crossover experiments are used to determine the intersection of the 'beta-time' polylines generated by the task sequence. Feasibility is determined by combining multiple heuristic rules, including task allocation, polyline construction, safety distance processing, and line segment intersection determination.

Benefits of technology

The computational workload for assessing the feasibility of task sequences was reduced, the efficiency of solving the flexible range operation scheduling of multi-rail cranes was improved, and the feasibility of task sequences was ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115564231B_ABST
    Figure CN115564231B_ABST
Patent Text Reader

Abstract

The application discloses a kind of feasibility determination methods of co-rail multi-track crane task sequence, this method is by constructing "be position-time" broken line, extracts and single task related part, using fast repulsion experiment and cross experiment is assigned to the intersection determination of "be position-time" broken line of each co-rail track crane of track crane, to be assigned to the interference condition of each co-rail track crane of track crane is more quickly obtained.Combining the redistribution of interference condition and re-determination of multiple heuristic rules, the feasibility determination of task sequence is finally obtained.The present application can greatly reduce the calculation amount of task sequence feasibility determination based on geometric calculation and multiple heuristic rules, and improve the solution efficiency of co-rail multi-track crane flexible range operation scheduling.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of rail-mounted gantry crane task scheduling technology, specifically relating to a method for determining the feasibility of a multi-railway gantry crane task sequence. Background Technology

[0002] Rail-mounted gantry cranes are crucial container handling machinery, and their efficiency in container handling directly impacts the overall production efficiency of terminals or railway hubs. For simultaneous operations of multiple rail-mounted gantry cranes sharing a common rail system, two common scheduling schemes are fixed-range scheduling and flexible-range scheduling. Fixed-range scheduling limits the movement range of each gantry crane, resulting in a relatively fixed task allocation. The scheduling process primarily considers the task execution sequence of each gantry crane, but it lacks flexibility and cannot adapt well to complex task environments. Flexible-range scheduling, on the other hand, does not limit the operating range of each gantry crane. It reduces the overall operating efficiency of multiple gantry cranes by using different task allocation methods and task execution sequences, offering greater flexibility and higher efficiency compared to fixed-range scheduling.

[0003] Flexible range scheduling requires computers to solve for the optimal or near-optimal task execution sequence to achieve efficient scheduling. Since flexible range scheduling does not restrict the operating range of the rail-mounted gantry cranes, infeasible solutions may arise during the computer solution process, meaning the rail-mounted gantry cranes may not meet safety distance requirements, leading to interference.

[0004] In conclusion, how to efficiently determine the feasibility of a common rail gantry crane mission sequence is an urgent problem to be solved. Summary of the Invention

[0005] The main objective of this invention is to provide a method for determining the feasibility of a multi-rail crane task sequence, thereby reducing the computational load and improving the efficiency of the feasibility determination.

[0006] To solve the above-mentioned technical problems, the present invention adopts the following technical solution: a feasibility judgment method for a multi-track crane task sequence, which uses rapid rejection test and straddle test to perform intersection judgment on the "beta-time" broken line generated by the task sequence to confirm the feasibility of the task sequence, and increases the accuracy of feasibility judgment through multiple heuristic rules. Specifically, it includes the following steps:

[0007] S1. Based on the container loading and unloading task sequence, the operating parameters of each common rail gantry crane, and the heuristic rules for task allocation, assign individual tasks to a rail gantry crane in the yard in sequence.

[0008] S2. Based on the assigned tasks and operating parameters of each rail gantry crane, construct a "position-time" broken line for each rail gantry crane, represented by a time series and a trolley position series;

[0009] S3. Extract the line related to this allocation from the "position-time" line graph of each rail gantry, and perform translation processing on the line graph of the allocated rail gantry considering the safety distance;

[0010] S4. Split each broken line into an independent set of line segments. Perform a rapid rejection experiment and a straddle experiment on the independent line segment set of the assigned rail gantry crane and the independent line segment sets of other rail gantry cranes to determine the intersection between the broken lines. If the broken lines intersect, i.e., rail gantry crane interference occurs, change the heuristic rule and return to S1 to re-evaluate the same task. If, for a certain task in the sequence, an intersection still occurs after all heuristic rules have been evaluated, then the task sequence is determined to be infeasible. If a task does not cause the broken line of the assigned rail gantry crane to intersect with any other rail gantry crane sharing the same rail, return to S1 to evaluate the next task.

[0011] Further, the container loading and unloading task sequence in step S1 consists of a set of starting points and target points for the container loading and unloading tasks. The starting position and target position both include three types of position information: container position, rank position, and container height. The task sequence is represented as {T1, T2, T3, ..., Tn}, where Ti represents the i-th container loading and unloading task, Ti = {bayi1, ranki1, heighti1, bayi2, ranki2, heighti2}, where bayi1 represents the starting container position of the i-th task, ranki1 represents the starting rank position of the i-th task, heighti1 represents the starting container height of the i-th task, bayi2 represents the target container position of the i-th task, ranki2 represents the target rank position of the i-th task, and heighti2 represents the target container height of the i-th task.

[0012] Furthermore, in step S1, the operating parameters of each common rail gantry crane specifically include: the initial position of the gantry crane trolley, the initial position of the trolley, the initial position of the spreader, the gantry crane trolley travel speed, the trolley travel speed, the spreader lifting speed, the required safety distance, and the predetermined lifting height.

[0013] Furthermore, in step S1, the heuristic rules for task allocation include: the shortest empty run time priority rule, the earliest arrival time priority rule, the shortest total processing time priority rule, and the earliest processing completion time priority rule.

[0014] Furthermore, among them,

[0015] The shortest empty run time priority rule means: calculate the time taken for each rail gantry crane that meets the current task position constraint to start from its completed task end position (i.e., the position after completing all assigned tasks) until the trolley and the gantry crane reach the current task start position, and then assign the current task to the rail gantry crane with the shortest time.

[0016] The earliest arrival time priority rule means: calculate the time when each rail gantry crane that meets the current task position constraint starts from the end position of its completed task and arrives at the start position of the current task, and then assign the current task to the rail gantry crane with the earliest arrival time.

[0017] The shortest total processing time priority rule means: calculate the time taken for each rail gantry crane that meets the current task position constraint to start from the end position of its completed task until the trolley, gantry crane and spreader all complete the current task, and then assign the task to the rail gantry crane with the shortest processing time.

[0018] The earliest completion time priority rule means: calculate the time when each rail gantry crane that meets the task position constraints starts from its last completed task position and continues until the trolley, gantry crane and spreader all complete the current task. Then, assign the task to the rail gantry crane with the earliest completion time.

[0019] Furthermore, in step S2, the process of constructing the "bay-time" broken line is as follows:

[0020] S21. Obtain the position sequence, time sequence, and current task information of the rail-mounted gantry crane; let the position sequence of the gantry crane be b, the time sequence be t, and the current task be Ti = {bayi1, ranki1, heighti1, bayi2, ranki2, heighti2}. If the rail-mounted gantry crane has not been assigned a task, then its b = {bay0}, t = {0}, where bay0 is the initial position of the rail-mounted gantry crane;

[0021] S22. If task Ti is assigned to this rail-mounted gantry crane, calculate the no-load time of this task, i.e., the time t1 when the rail-mounted gantry crane trolley moves from its completed task end position to the current task start position bayi1. Add the current task start position bayi1 to the end of b, and add t1 to the end of t; calculate the time t2 when the rail-mounted gantry crane trolley moves from its completed task end position to the current task start position ranki1, and the spreader descends from the initial predetermined lifting height to the current task start box heighti1 and rises back to the predetermined lifting height. Add bayi1 to the end of b, and add t2 to the end of t; calculate the time t2 when the rail-mounted gantry crane trolley moves from the current task start position ranki1. When bayi1 reaches the current mission target bayi2 at time t3, add the current mission target bayi2 to the end of b, and add t3 to the end of t. Calculate the time t4 after the rail gantry crane trolley moves from the current mission starting position ranki1 to the current mission target position ranki2, and the spreader descends from the initial predetermined lifting height to the current mission target box heighti2 and rises back to the predetermined lifting height. Add bayi2 to the end of b, and add t4 to the end of t. Based on the obtained b and t sequences, the correspondence between the time of key time nodes and the position of the gantry crane can be obtained, which can represent the "bayi-time" broken line of the rail gantry crane.

[0022] Furthermore, step S3 specifically consists of the following steps:

[0023] S31. Extract the line segment L1 related to this task from the "position-time" line of the assigned rail gantry;

[0024] S32. Extract the line L2' from the "position-time" broken line L2 of other rail gantry cranes that need to make interference judgment with the rail gantry crane assigned the task, and the broken line L2' that coincides with the broken line L1 in time;

[0025] S33. Add or subtract a required safety distance to each element in the trolley position sequence corresponding to the L1 polyline. When interfering with the rail gantry crane whose absolute position is greater than that of the assigned rail gantry crane, the safety distance should be added; otherwise, it should be subtracted to form a new “position-time” polyline L1'.

[0026] Furthermore, step S4 specifically consists of the following steps:

[0027] S41. Divide the polylines L1' and L2' into multiple independent line segments, denoted as L1' = {l1_1, l1_2, l1_3, ..., lm_i} and L2' = {l2_1, l2_2, l2_3, ..., ln_i}, where lm_i = {x1, y1, x2, y2}. In the set, x1 and x2 represent the x-coordinates of the two endpoints of the line segment, and y1 and y2 represent the y-coordinates of the two endpoints of the line segment. The line segment lm_i is the line segment connecting the point (x1, y1) and the point (x2, y2), and ln_i is the same.

[0028] S42. Determine whether lm_i and ln_i satisfy the fast repulsion experiment. If they do, proceed to S43. If they do not, it proves that the two line segments will not intersect. Return to S42 to judge the next line segment until all permutations of the line segments in L1' and L2' are judged.

[0029] S43. Determine whether any line segment in lm_i and ln_i satisfies the straddle experiment. If it does, prove that the two line segments intersect, that is, prove that L1' and L2' intersect. The assignment of this task will cause the track cranes corresponding to L1 and L2 to interfere.

[0030] S44. If the task allocation causes interference, change the heuristic rule and return to S1 to re-evaluate the same task; if interference still occurs after trying all heuristic rules for a task in the sequence, the task sequence is deemed infeasible. If the task allocation does not cause interference, return to S41 to evaluate the assigned rail-mounted gantry crane with the other rail-mounted gantry cranes; if no interference occurs when evaluating with the other rail-mounted gantry cranes sharing the same rail, return to S1 to evaluate the next task; if no interference occurs in any task in the task sequence, the task sequence is feasible.

[0031] Furthermore, the rapid repulsion experiment in S42 specifically refers to: establishing two rectangles with the two line segments as diagonals respectively, and determining whether the two rectangles intersect;

[0032] Let the two line segments be l1_1 = {x1, y1, x2, y2} and l2_1 = {x3, y3, x4, y4}. The two rectangles formed by using the two line segments as diagonals intersect when the two line segments satisfy the following formula:

[0033] x2≥x3

[0034] x4≥x1

[0035] max(y1, y2)≥min(y3, y4)

[0036] max(y3, y4) ≥ min(y1, y2)

[0037] If the two rectangles do not intersect, it means that the two line segments cannot intersect. If the two rectangles intersect, further straddle experiments are needed.

[0038] Furthermore, the straddling experiment in S43 specifically refers to: through coordinate calculations, confirming whether one line segment crosses the other, that is, whether there exists a point on the first line segment that lies on the second. When both line segments simultaneously satisfy the following formula, it indicates that the two line segments straddle:

[0039] ((x1-x3)*(y4-y3)-(x4-x3)*(y1-y3))*((x4-x3)*(y2-y3)-(y4-y3)*(x2-x3))≥0

[0040] ((x3-x1)*(y2-y1)-(x2-x1)*(y3-y1))*((x2-x1)*(y4-y1)-(y2-y1)*(x4-x1))≥0.

[0041] The beneficial effects of this invention are:

[0042] This invention discloses a method for feasibility assessment of multi-railway crane task sequences. This method constructs a "benchmark-time" polygonal line, extracts the portion relevant to a single task, and uses rapid exclusion and straddle experiments to determine the intersection of the "benchmark-time" polygonal lines of the assigned rail crane and each shared rail crane, thereby quickly determining the interference situation between the assigned rail crane and each shared rail crane. Combining multiple heuristic rules, the interference situation is reassigned and reassessed, ultimately yielding a feasibility assessment of the task sequence. This invention, based on geometric calculation and multiple heuristic rules for task sequence feasibility assessment, can reduce the computational load of task sequence feasibility assessment and improve the solution efficiency of flexible range operation scheduling for multi-railway cranes. Attached Figure Description

[0043] The present invention will be further described below with reference to the accompanying drawings and embodiments. In the accompanying drawings:

[0044] Figure 1 A flowchart illustrating the feasibility assessment method for a common-rail multi-track crane task sequence provided by the present invention;

[0045] Figure 2 This is a schematic diagram of the container loading and unloading handling task sequence of the present invention;

[0046] Figure 3 This is a schematic diagram of an embodiment of the relationship between the starting position of the assigned task and the final position of each common rail crane after completing its task in this invention.

[0047] Figure 4 This is a schematic diagram of an embodiment of the "bay-time" polygonal line as an image representation of the present invention;

[0048] Figure 5 This is a schematic diagram of an embodiment of the "Baidu position-time" polyline processing used as an image representation in the interference judgment process of this invention;

[0049] Figure 6 This is a schematic diagram of the two-fold rapid repulsion experiment and the straddling experiment of the present invention;

[0050] Figure 7 This is a schematic diagram of an embodiment of the two "bay-time" broken line segmentation used as an image representation in this invention;

[0051] Figure 8 This is a schematic diagram of an embodiment of two “bay-time” line segments used as an image representation in this invention. Specific implementation methods

[0052] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0053] This invention provides a method for determining the feasibility of a multi-rail crane task sequence. Figure 1 The present invention provides a flowchart illustrating a method for determining the feasibility of a multi-rail crane task sequence, the main steps of which include:

[0054] S1. Based on the container loading and unloading task sequence, the operating parameters of each common rail gantry crane, and the heuristic rules for task allocation, assign individual tasks to a rail gantry crane in the yard in sequence.

[0055] S2. Based on the assigned tasks and operating parameters of each rail gantry crane, construct a "position-time" broken line for each rail gantry crane, represented by a time series and a trolley position series;

[0056] S3. Extract the line related to this allocation from the "position-time" line graph of each rail gantry, and perform translation processing on the line graph of the allocated rail gantry considering the safety distance;

[0057] S4. Split each polyline into an independent set of line segments. Perform rapid repulsion and straddle experiments on the independent line segment set of the assigned rail-mounted gantry crane and the independent line segment sets of other rail-mounted gantry cranes to determine the intersection between the polylines. If a polyline intersection occurs, indicating rail-mounted gantry crane interference, change the heuristic rule and return to S1 to re-evaluate the same task. If, for a task in the sequence, an intersection still occurs after all heuristic rules have been evaluated, the task sequence is deemed infeasible. If a task does not cause the assigned rail-mounted gantry crane to intersect with any other shared-rail rail-mounted gantry crane's polyline, return to S1 to evaluate the next task.

[0058] The task sequence in step S1 consists of a set of starting and ending points for container loading and unloading tasks, such as... Figure 2 As shown, both the starting and target positions include three types of positional information: container position, rank, and container height. Let a task sequence be {T1, T2, T3, ..., Tn}, where Ti represents the i-th container loading and unloading task, and Ti = {bayi1, ranki1, heighti1, bayi2, ranki2, heighti2}. bayi1 represents the starting container position of the i-th task, ranki1 represents the starting rank of the i-th task, heighti1 represents the starting container height of the i-th task, bayi2 represents the target container position of the i-th task, ranki2 represents the target rank of the i-th task, and heighti2 represents the target container height of the i-th task. For example, T2 = {1, 5, 3, 2, 6, 4} means that the content of the second task in the task sequence is to move the container at position 1, rank 5, and container height 3 to position 2, rank 6, and container height 4.

[0059] In step S1, the specific operating parameters of each common rail gantry crane include: the initial position of the gantry crane trolley, the initial position of the trolley, the initial position of the spreader, the gantry crane trolley travel speed, the trolley travel speed, the lifting speed, the required safety distance, and the predetermined lifting height.

[0060] In step S1, the heuristic rules for task allocation are: shortest empty run time priority rule, earliest arrival time priority rule, shortest total processing time priority rule, and earliest completion time priority rule. The shortest empty run time priority rule means: calculate the time taken for each rail-mounted gantry crane that meets the task position constraints to start from its completed task end position (i.e., the position after completing all assigned tasks) until the trolley and crane both reach the current task start position, and assign the current task to the rail-mounted gantry crane with the shortest time. The earliest arrival time priority rule means: calculate the time taken for each rail-mounted gantry crane that meets the task position constraints to start from its completed task end position until the trolley and crane both reach the current task start position, and assign the current task to the rail-mounted gantry crane with the earliest arrival time. The shortest total processing time priority rule means: calculate the time taken for each rail-mounted gantry crane that meets the task position constraints to start from its completed task end position until the trolley, crane, and spreader all complete the currently assigned task, and assign the current task to the rail-mounted gantry crane with the shortest time. The earliest completion time priority rule means: calculate the time taken for each rail-mounted gantry crane that meets the task position constraints to start from its completed task end position until the trolley, crane, and spreader all complete the currently assigned task, and assign the task to the rail-mounted gantry crane with the earliest completion time.

[0061] The task allocation mentioned in step S1 is specifically as follows:

[0062] By relating the starting position of the currently assigned task to the ending position of each rail-mounted gantry crane's completed task, a preliminary constraint is established on the task allocation. The ending position of the completed task refers to the position of the rail-mounted gantry crane after completing its assigned task. Assume there are three rail-mounted gantry cranes sharing a common rail in the yard, and the trolley positions of the ending positions of rail-mounted gantry cranes 1, 2, and 3 are P1, P2, and P3, respectively. Figure 3 As shown; if the starting bit of the task to be assigned is located to the left of P1, such as Figure 3 If A is selected, the task will be assigned to track gantry crane 1 and then proceed to step S2; if the starting position of the task to be assigned is located to the right of P3, then... Figure 3 If B is selected, the task will be assigned to the No. 3 track gantry crane and then proceed to step S2; if the starting position of the task to be assigned is between P1 and P2 or between P2 and P3, the steps are as follows: Figure 3 In steps C and D, the orbital slings on both sides of the starting position of the task are marked as candidates and further allocated using a heuristic task allocation rule. After allocation, step S2 is performed.

[0063] In step S2, taking one of the rail-mounted gantry cranes as an example, the process of constructing the "position-time" broken line is as follows:

[0064] S21. Obtain the position sequence, time sequence, and current task information of the rail gantry crane; Let the position sequence of the rail gantry crane be b={bay0}, the time sequence be t={0}, and the current task be T1={bay11,rank11,height11,bay12,rank12,height12}.

[0065] S22. If task T1 is assigned to this rail-mounted gantry crane, calculate the no-load time of this task, i.e., the time t1 when the rail-mounted gantry crane moves from its completed task end position to the current task start position bay11, add the current task start position bay11 to the end of b, and add t1 to the end of t; calculate the time t2 when the rail-mounted gantry crane moves from its completed task end position to the current task start position rank11, and the spreader descends from the initial predetermined lifting height to the current task start box height height11 and rises back to the predetermined lifting height, add bay11 to the end of b, and add t2 to the end of t; calculate the time t3 when the rail-mounted gantry crane moves from the current task start position bay11 to the current task target position bay12, and add... Add the current task target bay12 to the end of b, and add t3 to the end of t; calculate the time t4 when the gantry crane trolley descends from the initial predetermined lifting height to the current task target box height12 and rises back to the predetermined lifting height after moving from the current task starting position rank11 to the current task target position rank12, and adds bay12 to the end of b and t4 to the end of t. At this time, b = {bay0, bay11, bay11, bay12, bay12}, t = {0, t1, t2, t3, t4}. Based on the obtained b and t sequences, the correspondence between the time of key time nodes and the position of the gantry crane can be obtained. This can be used to represent the "bay-time" broken line of the gantry crane, such as... Figure 4 As shown.

[0066] Step S3 consists of the following steps:

[0067] S31. Extract the line segment L1 related to this task from the "position-time" line of the assigned rail gantry;

[0068] S32. Extract the "position-time" polyline (let one of them be L2) from other rail gantry cranes that need to be interfered with by the assigned task, and find the polyline that coincides with polyline L1 in time (let the extracted one be L2'). Combined with... Figure 5 As a specific embodiment, when the rail-mounted gantry 3 and the rail-mounted gantry 2 assigned to the task make an interference judgment, the broken line L2' that needs to be extracted from the rail-mounted gantry 3 is "A3-B3", and when the rail-mounted gantry 1 and the rail-mounted gantry 2 assigned to the task make an interference judgment, the broken line L2' that needs to be extracted from the rail-mounted gantry 1 is "A1-B1".

[0069] S33. Add or subtract a required safety distance to each element in the trolley position sequence corresponding to the L1 polyline (a safety distance must be added when interfering with a rail gantry crane whose absolute position is greater than the assigned rail gantry crane, and subtracted otherwise), to form a new "position-time" polyline L1', such as... Figure 5The “A2'-B2'” broken line (when judging with rail crane 3) / “A2"-B2"” broken line (when judging with rail crane 1);

[0070] Step S4 consists of the following steps:

[0071] S41. Divide the polylines L1' and L2' described in S3 into multiple independent line segments, denoted as L1' = {l1_1, l1_2, l1_3, ..., lm_i} and L2' = {l2_1, l2_2, l2_3, ..., ln_i}, where lm_i = {x1, y1, x2, y2}. In the set, x1 and x2 represent the x-coordinates of the two endpoints of the line segment, and y1 and y2 represent the y-coordinates of the two endpoints of the line segment. The line segment lm_i is the line segment connecting point (x1, y1) and point (x2, y2), and ln_i is the same.

[0072] S42. Determine whether lm_i and ln_i satisfy the fast repulsion experiment. If they do, proceed to S43. If they do not, it proves that the two line segments will not intersect. Return to S42 to judge the next line segment until all permutations of the line segments in L1' and L2' are judged.

[0073] S43. Determine whether any line segment in lm_i and ln_i satisfies the straddle experiment. If it does, prove that the two line segments intersect, that is, prove that L1' and L2' intersect. The assignment of this task will cause the track cranes corresponding to L1 and L2 to interfere.

[0074] S44. If the task allocation causes interference, change the heuristic rule and return to S1 to re-evaluate the same task; if interference still occurs after trying all heuristic rules for a task in the sequence, the task sequence is deemed infeasible. If the task allocation does not cause interference, return to S41 to evaluate the assigned rail-mounted gantry crane with the other rail-mounted gantry cranes; if no interference occurs when evaluating with the other rail-mounted gantry cranes sharing the same rail, return to S1 to evaluate the next task. If no interference occurs in the task sequence, the task sequence is feasible.

[0075] As a specific example Figure 6 For example, the implementation of step S41, which displays the image, is as follows: Figure 7 As shown, S42 and S43 determine the intersection of line segments by... Figure 7 The line segments l1_2 and l2_3 are explained, and they serve as an implementation of the image, for example. Figure 8 As shown.

[0076] It can be seen that, Figure 8 The coordinates of the two line segments satisfy the formula for the intersection of the rapid repulsion experiment:

[0077] x2≥x3

[0078] x4≥x1

[0079] max(y1, y2)≥min(y3, y4)

[0080] max(y3, y4) ≥ min(y1, y2)

[0081] Therefore, further experiments are needed to determine whether the two line segments cross each other:

[0082] ((x1-x3)*(y4-y3)-(x4-x3)*(y1-y3))*((x4-x3)*(y2-y3)-(y4-y3)*(x2-x3))≥0

[0083] ((x3-x1)*(y2-y1)-(x2-x1)*(y3-y1))*((x2-x1)*(y4-y1)-(y2-y1)*(x4-x1))≥0

[0084] because Figure 8 The coordinates of the two line segments satisfy the above-mentioned straddle experiment formula, therefore it is determined that the two line segments intersect, meaning that the assignment of this task will cause interference between track gantry cranes 2 and 3. Therefore, it is necessary to change the heuristic rule for assignment and return to S1 to reassign the task assigned in this case.

[0085] The above embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. It should be understood that those skilled in the art can make improvements or modifications based on the above description, and all such improvements and modifications should fall within the protection scope of the appended claims.

Claims

1. A method for judging feasibility of a co-rail multi-rail crane task sequence, characterized in that, The intersection of the "bay-time" broken line of the task sequence is determined by using the quick repulsion test and the cross standing experiment to confirm the feasibility of the task sequence, and the accuracy of the feasibility determination is increased by using multiple heuristic rules, and the specific steps include the following steps: S1. According to the container loading and unloading task sequence, the operation parameters of each common rail track, and the heuristic rules of task allocation, a single task is allocated to a certain track in the yard in sequence; S2. According to the allocated tasks and operation parameters of each track, the "bay-time" broken line of each track is represented in time sequence and car position sequence; the process of constructing the "bay-time" broken line is as follows: S21. Obtain the position sequence, time sequence and current task information of the track; the car position sequence of the track is b, the time sequence is t, and the current task is Ti={ bayi1, ranki1, heighti1, bayi2, ranki2, heighti2}; if the track has not been allocated a task, its b={bay0}, t={0}, wherein bay0 is the initial position of the track; S22. If the task Ti is allocated to the track, the empty running time of the task is calculated, that is, the time t1 of the track car running from the completed task end position to the current task starting bay bayi1, the current task starting bay bayi1 is added to the end of b, and t1 is added to the end of t; The time t2 of the track car running from the completed task end position to the current task starting position ranki1, the hoist descending from the initial predetermined lifting height to the current task starting height heighti1 and rising back to the predetermined lifting height, the current task starting bay bayi1 is added to the end of b, and t2 is added to the end of t; the time t3 of the track car running from the current task starting bay bayi1 to the current task target bay bayi2, the current task target bay bayi2 is added to the end of b, and t3 is added to the end of t; The time t4 of the track car running from the current task starting position ranki1 to the current task target position ranki2, the hoist descending from the initial predetermined lifting height to the current task target height heighti2 and rising back to the predetermined lifting height, the current task target bay bayi2 is added to the end of b, and t4 is added to the end of t; according to the obtained b and t sequence, the corresponding relationship between the time of the key time node and the car position is obtained, thereby representing the "bay-time" broken line of the track; S3. Extract the broken line related to the current allocation from the "bay-time" broken line of each track, and perform translation processing on the broken line of the allocated track considering the safety distance; S4. Splitting each fold line into an independent line segment set, performing a fast repulsion experiment and a cross-standing experiment on the independent line segment set of the assigned track crane and the independent line segment set of the remaining track cranes, and determining the intersection between the fold lines; if the fold lines intersect, i.e., the track cranes interfere, then a heuristic rule is replaced and the same task is judged again in S1; if the intersection still occurs after all heuristic rules are judged for a certain task in the sequence, then the task sequence is determined to be infeasible; if a certain task does not cause the fold lines of the assigned track crane and the remaining track cranes to intersect, then S1 is returned to judge the next task.

2. The method of claim 1, wherein, The container handling task sequence in the step S1 is composed of a set of starting points and target points of the container handling tasks, wherein the starting points and the target points include bay, rank and height position information, and the task sequence is represented as {T1, T2, T3, …, Tn}. Wherein, Ti represents the ith container handling task, Ti = {bayi1, ranki1, heighti1, bayi2, ranki2, heighti2}, bayi1 represents the starting bay of the container of the ith task, ranki1 represents the starting rank of the container of the ith task, heighti1 represents the starting height of the container of the ith task, bayi2 represents the target bay of the container of the ith task, ranki2 represents the target rank of the container of the ith task, and heighti2 represents the target height of the container of the ith task.

3. The method of claim 1, wherein, In the step S1, the operation parameters of each track crane include the initial position of the track crane trolley, the initial position of the trolley, the initial position of the spreader, the running speed of the track crane trolley, the running speed of the trolley, the lifting speed of the spreader, the required safety distance, and the predetermined lifting height.

4. The method of claim 1, wherein, In the step S1, the heuristic rules for task allocation include the shortest empty travel time priority rule, the earliest arrival time priority rule, the shortest total processing time priority rule, and the earliest processing completion time priority rule.

5. The method of claim 4, wherein, Wherein, The shortest empty travel time priority rule means that the time length used by each track crane that meets the position constraint of the current task from the position where the track crane completes all the assigned tasks to the position where the trolley and the car reach the starting position of the current task is calculated, and the current task is allocated to the track crane with the shortest time length; The earliest arrival time priority rule means that the time point at which each track crane that meets the position constraint of the current task reaches the starting position of the current task from the position where the track crane completes all the assigned tasks is calculated, and the current task is allocated to the track crane with the earliest arrival time point; The shortest total processing time priority rule means that the time length used by each track crane that meets the position constraint of the current task from the position where the track crane completes all the assigned tasks to the position where the trolley, the car and the spreader complete the current task is calculated, and the current task is allocated to the track crane with the shortest time length; The earliest processing completion time priority rule means: calculating the time point at which each track crane which meets the task position constraint starts from the end position of its completed task until the completion of the current task of the trolley, the car and the spreader, and assigning the task to the track crane which completes the task at the earliest time point.

6. The method of claim 1, wherein, The step S3 specifically consists of the following steps: S31. extracting the L1 part of the "position-time" broken line of the assigned track crane which is related to the task; S32. extracting the L2 part of the "position-time" broken line of the other track crane which needs to be interfered with the assigned track crane; S33. adding or subtracting a required safety distance to each element in the trolley position sequence corresponding to the L1 broken line, and adding the safety distance when the interference judgment of the track crane is performed with the track crane whose absolute position is greater than the assigned track crane, and subtracting the safety distance otherwise, to form a new "position-time" broken line L1'.

7. The method of claim 6, wherein the method further comprises: The step S4 specifically consists of the following steps: S41. respectively splitting the broken lines L1' and L2' into a plurality of independent line segments, denoted as L1'={l1_1, l1_2, l1_3, …, lm_i}, L2'={l2_1, l2_2, l2_3, …, ln_i}, where lm_i={x1, y1, x2, y2}, the x1 and x2 in the set respectively represent the x coordinates of the two end points of the line segment, and the y1 and y2 respectively represent the y coordinates of the two end points of the line segment, the line segment lm_i is a line segment connecting the point (x1, y1) and the point (x2, y2), and ln_i is the same; S42. judging whether the lm_i and the ln_i satisfy the quick repulsion experiment, if yes, proceeding to S43, if not, proving that the two line segments will not intersect, returning to S42 to judge the next line segment until the full permutation judgment of the line segments in L1' and L2' is completed; S43. judging whether any line segment in the lm_i and the ln_i satisfies the cross-standing experiment, if yes, proving that the two line segments intersect, i.e. proving that L1' intersects with L2', and the assignment of the task will cause the interference of the track cranes corresponding to L1 and L2; S44. if the assignment of the task causes the interference, replacing the heuristic rule and returning to S1 to judge the same task again; if all heuristic rules are tried for a task in the sequence and the interference still occurs, judging that the task sequence is not feasible; if the assignment of the task does not cause the interference, returning to S41 to judge the assigned track crane and the other track cranes; if no interference occurs with the other track cranes, returning to S1 to judge the next task; if no interference occurs for all tasks in the task sequence, the task sequence is feasible.

8. The method of claim 7, wherein, The quick repulsion experiment in S42 specifically means: establishing two rectangles with the two line segments as diagonals respectively, and judging whether the two rectangles intersect; Supposing that the two line segments are l1_1={x1, y1, x2, y2} and l2_1={x3, y3, x4, y4}, when the two line segments satisfy the following formula, it is indicated that the two rectangles established with the two line segments as diagonals intersect: x2 ≥ x3 x4 ≥ x1 max(y1, y2) ≥ min(y3, y4) max(y3, y4) ≥ min(y1, y2) If there is no intersection between the two rectangles, it means that the two line segments cannot intersect, and if the two rectangles intersect, further cross-standing experiments need to be performed.

9. The method of claim 7, wherein the method further comprises: The cross-standing experiment in the S43 specifically refers to confirming, through coordinate operation, whether one line segment crosses the other line segment, i.e., there is a point on the line segment that is on the other line segment. When both line segments satisfy the following formula, it means that the two line segments cross-standing: ((x1- x3) (y4 - y3) - (x4 - x3) (y1 - y3)) ((x4 - x3) (y2 - y3) - (y4- y3) (x2 - x3)) ≥ 0 ((x3- x1) (y2 - y1) - (x2 - x1) (y3 - y1)) ((x2 - x1) (y4 - y1) - (y2- y1) (x4 - x1)) ≥ 0.

Citation Information

Patent Citations

  • Railway center station rail-mounted container crane collaborative optimization scheduling method

    CN113326987A

  • Method and system for efficiently dispatching service vehicles

    US7788121B1