Scheduling method of ship segmented storage yard based on genetic simulated annealing algorithm
By combining genetic simulation annealing algorithm and heuristic rules, the ship segmented yard scheduling is optimized, and the problem of poor scheduling timeliness in the existing technology is solved, and more efficient resource utilization and scheduling efficiency is achieved.
Patent Information
- Application Number
- CN202411615696.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-13
- Publication Date
- 2025-02-28
AI Technical Summary
The prior art has poor timeliness in ship segmented yard scheduling, making it difficult to quickly adjust segmented plans, resulting in low resource utilization efficiency.
The ship segmented yard scheduling method based on genetic simulation annealing algorithm and heuristic rules is adopted to generate initial populations through genetic algorithms, and further searches are conducted in combination with simulated annealing algorithm. The scheduling sequence is optimized using heuristic rules to improve scheduling efficiency.
It realizes the selection of better stacking positions for ship segments in a short time, improves the timeliness of ship segmented yard scheduling and resource utilization efficiency, and reduces the dependence on dispatcher experience.
Smart Images

Figure CN119539394A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the field of ship block yard scheduling, and in particular relates to a ship block yard scheduling method based on a genetic simulated annealing algorithm and a heuristic rule. Background Art
[0002] Affected by various factors, the time for ship sections to enter and leave the yard cannot be carried out according to the plan. Especially in the production process of marine engineering products, the section plan changes frequently, and the section yard scheduling plan needs to be constantly adjusted. At present, the shipyard relies on the dispatcher to modify the scheduling plan. Although the dispatcher can flexibly handle various special situations, its timeliness is poor. Site resources are very important resources for shipyards, so a ship section yard scheduling algorithm is needed to optimize the ship section yard scheduling process.
[0003] Genetic algorithm is an intelligent heuristic algorithm, which is widely used in solving various optimization problems. Its initial population is relatively large, and through selection, crossover, and mutation operations in the search process, the search range in the solution space is relatively large, and it can generally obtain a good global optimal solution, but its convergence speed is often slow. Simulated annealing algorithm is also an intelligent heuristic algorithm, which has the characteristics of fast convergence speed, but the simulated annealing algorithm is more dependent on the initial solution, and the final solution is easy to fall into the local optimal solution space. By combining the genetic algorithm with the simulated annealing algorithm, the genetic simulated annealing algorithm is obtained, thereby comprehensively utilizing the advantages of the two intelligent heuristic algorithms, while retaining the global search characteristics of the genetic algorithm, the convergence speed of the algorithm is improved.
[0004] In view of this, this application is proposed. Summary of the invention
[0005] A method for scheduling ship block yards based on genetic simulated annealing algorithm and heuristic rules is provided to optimize the scheduling process of ship block yards, change the current working mode of shipyards that relies on the manual experience of dispatchers to schedule ship block yards, and improve the timeliness of ship block yard scheduling.
[0006] The present invention is achieved through the following technical solutions:
[0007] A scheduling method for ship block yard based on genetic simulated annealing algorithm comprises the following steps:
[0008] Step 1: Obtain the ship sections that need to leave the factory on the day, and record them as the departure sections;
[0009] Step 2: Remove the ship sections that need to be shipped from the yard;
[0010] Step 3: Obtain the ship sections that need to enter the port on that day, and record them as the entry sections;
[0011] Step 4: Initialize the parameters of the genetic algorithm, wherein the parameters include the population size, the number of traversals, and the mutation rate;
[0012] Step 5: Generate a population based on a genetic algorithm;
[0013] Step 6: Use heuristic rules to traverse all scheduling sequences of the population to obtain the target location set and cost set corresponding to each scheduling sequence;
[0014] Step 7: Take the cost set as the fitness value set of the individual, and take the individual with the smallest fitness value as the first optimal solution;
[0015] Step 8: Using the first optimal solution as the initial solution of the simulated annealing algorithm;
[0016] Step 9, further search using the simulated annealing algorithm to obtain the second optimal solution; select the solution with the smallest cost between the first optimal solution and the second optimal solution as the optimal solution of this cycle; if the optimal solution of this cycle is greater than the optimal solution of the previous cycle, save the optimal solution of this cycle and jump to step 13; if the optimal solution of this cycle is less than the optimal solution of the previous cycle, jump to step 10;
[0017] Step 10: Generate a new population by using the selection, crossover and mutation operations of the genetic algorithm;
[0018] Step 11, determine whether the number of traversals reaches the maximum value; if so, jump to step 12; if not, jump to step 6;
[0019] Step 12: Take the optimal solution of this cycle as the optimal solution and save it;
[0020] Step 13, end.
[0021] Furthermore, the heuristic rules in step 6 include:
[0022] (1) The principle of exiting the market first and entering the market later;
[0023] (2) The principle of least path in blocking segments;
[0024] (3) Principle of compact placement in sections;
[0025] (4) When entering the yard in stages, choose the closest yard;
[0026] (5) The principle of minimizing the impact of the entry segment on the subsequent exit of other segments in the yard;
[0027] (6) The principle of starting with the sides and then the middle when entering the game in sections.
[0028] Furthermore, in step 6, all scheduling sequences of the population are traversed using heuristic rules, and the target location set and cost set corresponding to each scheduling sequence are obtained, including:
[0029] Step 6.1, sort the yards in order from near to far according to the distance to the entry segment, and store them in the yard list;
[0030] Step 6.2, traverse in order, taking a single yard in the yard list as the target yard for the approach segment;
[0031] Step 6.3, in the target yard, according to the heuristic rule, obtain all possible target positions where the entry segment can be placed; if there is no possible target position, jump to step 6.2; if there is a possible target position, obtain the number of the target yard and all target positions, obtain the target position set corresponding to the target yard, and jump to step 6.4;
[0032] Step 6.4: According to the cost evaluation method, the cost of reaching all possible target locations in the entry segment is evaluated to obtain the cost set corresponding to the target yard.
[0033] Furthermore, the step 6 also includes:
[0034] Step 6.5: If, during the cost evaluation process, all possible target locations in the target location set cost set cannot be placed in the entry segment, jump to step 6.2.
[0035] Furthermore, the step 6 also includes:
[0036] Step 6.6: If all the yards cannot be used to place the entry segment, the system returns that there is no yard where the entry segment can be placed.
[0037] Furthermore, the cost assessment method in step 6.4 includes:
[0038] Step 6.4.1, initialization parameters: a segment to be brought into the yard, the yard to be brought into, the segments already in the yard to be brought into, and the target position of the segment to be brought into the yard;
[0039] Step 6.4.2: Check whether the entry segment is inside the yard when it is at the target position; if not, return; if it is inside the yard, jump to step 6.4.3;
[0040] Step 6.4.3: Check whether the incoming segment overlaps with other segments in the yard when it is at the target position; if so, return; if not, jump to step 6.4.4;
[0041] Step 6.4.4, calculate the compactness value of the approaching segment at the target position in the yard, recorded as fCompactRate;
[0042] Step 6.4.5, calculate the impact of the approaching segment on the subsequent exit of other segments in the yard: check the number of obstacle segments that will be added to the exit of other segments in the yard after the approaching segment enters the target position, recorded as nSeqObs;
[0043] Step 6.4.6, calculate the number of collisions between the approach segment and other segments during the process of reaching the target position, recorded as nObs;
[0044] Step 6.4.7. Calculate the cost of reaching the target location by the approach segment using the following formula, denoted as fCost:
[0045] fCost=(nObs+nSeqObs)*BLOCK_OBS_COST+fCompactRate
[0046] Among them, BLOCK_OBS_COST is a constant.
[0047] Furthermore, the compactness in step 6.4.4 is the sum of the distances between the approaching segment and other segments entering the yard.
[0048] Furthermore, the compactness value when calculating the target position of the approach segment in the yard in step 6.4.4 includes:
[0049] Step 6.4.4.1, initialize the parameters of the section to be brought into the yard and the yard to be entered by the section to be brought into the yard;
[0050] Step 6.4.4.2, obtain all the existing segments in the yard that the approaching segment is about to enter;
[0051] Step 6.4.4.3. Calculate the sum of the distances between the approach segment and other segments as the compactness value.
[0052] Furthermore, in step 9, the simulated annealing algorithm is used to further search and obtain the second optimal solution including:
[0053] Step 9.1, initialize the initial temperature, cooling rate and final temperature of the simulated annealing algorithm;
[0054] Step 9.2: Randomly select two chromosomes from the initial solution and exchange their values to obtain a new solution;
[0055] Step 9.3, evaluate the new solution; obtain the order of the entry segments according to the new solution, and calculate the cost based on the heuristic rule, and use it as the evaluation value of the new solution;
[0056] Step 9.4: If the evaluation value of the new solution is better than the initial solution, the initial solution is updated with the new solution;
[0057] Step 9.5, calculate the current temperature value; current temperature = initial temperature * cooling rate;
[0058] Step 9.6: If the current temperature is greater than the final temperature, jump to step 9.2; otherwise, jump to step 9.7;
[0059] Step 9.7, return the initial solution obtained by the simulated annealing algorithm and the fitness value;
[0060] Step 9.8: Take the initial solution with the smallest fitness value as the second optimal solution.
[0061] Compared with the prior art, the present invention has the following advantages:
[0062] According to the actual situation of ship segment yard scheduling, the present invention formulates heuristic rules for ship segments to enter and leave the yard, and selects a better stacking position for the segments that need to enter the yard in a shorter calculation time. The genetic simulated annealing algorithm that combines the genetic algorithm with the simulated annealing algorithm overcomes the shortcomings of the simulated annealing algorithm in local space search, and achieves the effect of both searching in the global solution space and quickly converging. Based on the genetic simulated annealing algorithm, the entry process of the ship segments is optimized to obtain a better order for the ship segments to enter the yard. The algorithm realizes the search and optimization of the ship segment yard scheduling plan, which can improve the work efficiency of the dispatcher and reduce the requirements for the dispatcher's experience in the ship segment yard scheduling process. BRIEF DESCRIPTION OF THE DRAWINGS
[0063] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0064] Figure 1 is a flowchart of the scheduling method of this embodiment;
[0065] Figure 2 It is the possible placement of the incoming segment relative to the existing segments. DETAILED DESCRIPTION
[0066] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0067] After the ship segments are processed in the workshop, they need to be moved to the yard by trailers. Some segments in the yard also need to be moved out of the yard to the workshop or dock. For the n segments that need to enter the yard on the same day, it is necessary to calculate a better scheduling plan for entering the yard. The existing technology often uses the following steps to optimize the scheduling plan:
[0068] (1) Initial parameters. The parameters include: all the yards in the shipyard, the time when all the sections enter and leave the yard, and all the sections already in the yard.
[0069] (2) Constraints. Any position in the yard can only be occupied by one segment at a time.
[0070] (3) Scheduling cost evaluation: A heuristic algorithm is used to generate target locations for all approach segments according to the scheduling plan, and the cost of reaching the target location by the approach segment is evaluated.
[0071] (4) The goal of optimizing the scheduling plan. Calculate the optimal scheduling plan, move the sections that need to enter the yard that day into the yard according to the scheduling plan, and minimize the cost during the movement.
[0072] Obviously, for n segments that need to enter the market on the same day, there are n possible combinations, so it is a typical NP-hard problem.
[0073] In this regard, the present invention uses a genetic simulated annealing algorithm to search all combination schemes, uses a heuristic rule-based method to evaluate the scheduling scheme, and selects the scheduling scheme with the minimum cost value as the better scheduling scheme.
[0074] Figure 1 FIG. 2 shows a schematic diagram of the scheduling method of this embodiment. Figure 1 As shown, this embodiment provides a scheduling method for ship segment yard based on genetic simulated annealing algorithm, comprising the following steps:
[0075] Step 1: Obtain the ship sections that need to leave the factory on the day, and record them as the departure sections;
[0076] Step 2: Remove the ship sections that need to be shipped from the yard;
[0077] Step 3: Obtain the ship sections that need to enter the port on that day, and record them as the entry sections;
[0078] Step 4: Initialize the parameters of the genetic algorithm, wherein the parameters include the population size, the number of traversals, and the mutation rate;
[0079] Step 5: Generate a population based on a genetic algorithm;
[0080] Step 6: Use heuristic rules to traverse all scheduling sequences of the population to obtain the target location set and cost set corresponding to each scheduling sequence;
[0081] Step 7: Take the cost set as the fitness value set of the individual, and take the individual with the smallest fitness value as the first optimal solution;
[0082] Step 8: Using the first optimal solution as the initial solution of the simulated annealing algorithm;
[0083] Step 9, further search using the simulated annealing algorithm to obtain the second optimal solution; select the solution with the smallest cost between the first optimal solution and the second optimal solution as the optimal solution of this cycle; if the optimal solution of this cycle is greater than the optimal solution of the previous cycle, save the optimal solution of this cycle and jump to step 13; if the optimal solution of this cycle is less than the optimal solution of the previous cycle, jump to step 10;
[0084] Step 10: Generate a new population by using the selection, crossover and mutation operations of the genetic algorithm;
[0085] Step 11, determine whether the number of traversals reaches the maximum value; if so, jump to step 12; if not, jump to step 6;
[0086] Step 12: Take the optimal solution of this cycle as the optimal solution and save it;
[0087] Step 13, end.
[0088] Among them, the heuristic rules include:
[0089] (1) The principle of exiting the market first and entering the market later;
[0090] According to the principle of exiting first and entering later, the ship sections that need to leave are processed first to release the yard resources occupied by the ship sections that need to leave, and then the ship sections that need to enter are processed.
[0091] (2) The principle of least path in blocking segments;
[0092] When determining the path for transporting the segments, the path with the least obstructed segments is selected to move the outbound segments and / or the inbound segments.
[0093] Specifically, a segment will collide with other segments during its movement. To obtain the path with the least amount of obstruction to the moving segment, it is necessary to count the number of collisions between the segment and other segments when the segment moves to a specified position.
[0094] In this embodiment, a method for quickly calculating the number of collisions between a moving segment and other segments is used. The method first roughly calculates the number of collisions between a moving segment and other segments, and then uses a precise calculation based on a visual graph method. The rough calculation method is fast but not precise enough, while the precise calculation method is slow but relatively precise. Combining these two methods, the calculation algorithm for the number of collisions between a moving segment and other segments is obtained as follows.
[0095] a. Initialization parameters, including the length and width of the moving segment (w, h), the target position and other attributes, and other segments of the yard and their related attributes.
[0096] b. Expand the other segments of the yard. Expand w along the X-axis and h along the Y-axis.
[0097] c. Roughly calculate the number of collisions (nObs) between the segment and other segments when it reaches the target location, and preliminarily determine whether there is a passable path.
[0098] The method for roughly calculating the number of collisions between a segment and other segments is as follows. At the target position of the moving segment, shoot 4 rays along the positive direction of the X axis (+X), the negative direction of the X axis (-X), the positive direction of the Y axis (+Y), and the negative direction of the Y axis (-Y), a total of 4 directions. Find out whether the 4 rays intersect with other segments after expansion. Select the direction with the least intersecting segments as the exit direction, and the number of collisions in this exit direction is used as the roughly calculated number of collisions between the moving segment and other segments (nObs).
[0099] d. If nObs>0, use the visualization method to accurately determine whether there is a traversable path from any point outside the yard as the starting point. If a path from the starting point to the target location is found, it means that there is a connected path, otherwise it means that there is no connected path. If there is a traversable path, reset nObs to 0 and return.
[0100] (3) Principle of compact placement in sections;
[0101] When the incoming sections enter the yard, they should be placed as compactly as possible around other sections already in the yard.
[0102] Specifically, according to the principle of compact placement of the incoming segments, the incoming segments should be placed around the existing segments in the yard. The rules for finding all possible placement positions of the incoming segments in the present invention are as follows.
[0103] (A) If the current yard is not segmented, the current yard is described by contour lines. For each point on the contour line, the segment is placed at the lower left, lower right, upper right, and upper left positions of each point as possible placement positions. Calculate the center point of the contour line as a possible placement position. Add all possible placement positions to the list and return. If the current yard is segmented, go to (B).
[0104] (B) For each existing segment in the yard, obtain the rectangular bounding box of the segment.
[0105] (C) Select four possible placement positions along the vertices and edges of the bounding box, which are:
[0106] a) The position near the lower left point is placed to the lower right along the lower edge of the bounding box;
[0107] b) The position near the upper right point is placed to the lower right along the right line segment of the bounding box;
[0108] c) The position near the upper right point is placed toward the upper left along the upper line segment of the bounding box;
[0109] d) The position near the upper left point is placed toward the lower left along the left line segment of the bounding box.
[0110] If there is already a segment A in the yard and the incoming segment is B, then the four possible placement positions of B relative to A are as follows: Figure 2 As shown, there is a fixed gap between the approaching segment and the existing segment, which can generally be set to a constant value (eg, about 1.5 m), so that a passage for people to pass can be left between the segments.
[0111] In this embodiment, the compactness value is used to measure the degree of compact placement of the segments. The compactness value is equal to the sum of the distances between the entry segment and other segments entering the yard. Obviously, the larger the compactness value, the more dispersed, and the smaller the compactness value, the more compact.
[0112] s1. Initialization parameters include: the segment to be brought into the yard, and the yard the segment to be brought into.
[0113] s2. Get all the segments that currently exist in the storage yard that the segment is about to enter.
[0114] s3. Calculate the sum of the distances between the approach segment and other segments as the compactness value.
[0115] (4) When entering the yard in stages, choose the closest yard;
[0116] When entering the yard in sections, the yard that is closer to the current position of the section should be selected as the yard to be entered.
[0117] (5) The principle of minimizing the impact of the entry segment on the subsequent exit of other segments in the yard;
[0118] After the approaching segment enters the target position of a certain yard, it will affect the exit of other segments in the yard, and increase the number of obstacle segments encountered by subsequent segments when exiting. The target position selected by the approaching segment should minimize the impact on the subsequent exit of other segments in the yard.
[0119] Specifically, the approaching segment may hinder the subsequent exit of other segments in the yard. The algorithm steps for calculating the impact of the target position selected by the approaching segment on the subsequent exit of other segments in the yard are as follows.
[0120] (a) Take a segment M in the yard where the incoming segment is located and use segment M as the segment to be moved out at the planned time.
[0121] (b) Removing from the stockpile the segments that have left the stockpile before moving segment M.
[0122] (c) Calculate the number of collisions nBefore of segment M removed from the yard when no incoming segment enters.
[0123] (d) Place the approach segment I into the stockyard and treat the approach segment as a segment of the stockyard. Calculate the number of collisions nAfter of segment M removed from the stockyard after the approach segment I enters the stockyard.
[0124] (e) If the number of collisions increases after the approach segment I is placed in the yard, that is, (nAfter>nBefore), it means that the placement of the approach segment I in the yard affects the movement of the subsequent segment M, and the increase in the number of collisions is (nAfter-nBefore).
[0125] For each segment in the yard where the incoming segment is located, repeat the above steps (a) to (e), and accumulate the increased number of collisions when all segments exit the yard, so as to obtain the increase in the number of collisions caused by the incoming segment to the subsequent exit of other segments in the yard.
[0126] (6) The principle of starting with the sides and then the middle when entering the game in sections.
[0127] When executing the exit task, the exit segments placed on both sides of the yard are moved out first, and then the segments placed in the middle of the yard are moved out.
[0128] Specifically, the principle of first the two sides and then the middle is adopted when the segments appear on the stage. This can reduce the obstruction of the middle segment when the segments appear on the stage. This principle needs to be considered when generating the sequence of the segments appearing. The implementation method is as follows.
[0129] a. For all segments that need to be played on that day.
[0130] b. Traverse all the exit segments. For any exit segment, if it will collide with other exit segments during the exit process, the exit order of the segment will be arranged behind the segment that collides, so that other segments will be given priority.
[0131] c. Finally, the order in which all exit segments leave the yard is obtained.
[0132] It should be noted that the sites and objects involved in the ship segment yard scheduling process include: the yard, the ship segment, and obstacles in the yard (such as buildings, trees, etc.). In this embodiment, these objects are represented in the computer using geometric methods.
[0133] Preferably, the ship segment is represented by a rectangle in the computer. The ship segment is projected two-dimensionally on a plane, and the minimum rectangular bounding box of the two-dimensional projection is used to represent the ship segment. In this way, the size of the ship segment can be described by length and width, and the position of the ship segment is described by the position of the center point of the ship segment and the rotation angle relative to the center point.
[0134] The yard is represented in the computer using two-dimensional polygonal contour lines, and the polygon can be represented by a set of vertices.
[0135] Obstacles are represented by polygons. The obstacles are projected two-dimensionally on the plane, and the contour lines of the two-dimensional projection are used to represent the obstacles. The contour lines are expressed by polygons.
[0136] Preferably, in step 6, all scheduling sequences of the population are traversed using heuristic rules, and the target position set and cost set corresponding to each scheduling sequence are obtained, including:
[0137] Step 6.1, sort the yards in order from near to far according to the distance to the entry segment, and store them in the yard list;
[0138] Step 6.2, traverse in order, taking a single yard in the yard list as the target yard for the approach segment;
[0139] Step 6.3, in the target yard, according to the heuristic rule, obtain all possible target positions where the entry segment can be placed; if there is no possible target position, jump to step 6.2; if there is a possible target position, obtain the number of the target yard and all target positions, obtain the target position set corresponding to the target yard, and jump to step 6.4;
[0140] Step 6.4: According to the cost evaluation method, the cost of reaching all possible target locations in the entry segment is evaluated to obtain the cost set corresponding to the target yard.
[0141] Step 6.5: If, during the cost evaluation process, all possible target locations in the target location set cost set cannot be placed in the entry segment, jump to step 6.2.
[0142] Step 6.6: If all the yards cannot be used to place the entry segment, the system returns that there is no yard where the entry segment can be placed.
[0143] Among them, the cost assessment method in step 6.4 includes:
[0144] Step 6.4.1, initialization parameters: a segment to be brought into the yard, the yard to be brought into, the segments already in the yard to be brought into, and the target position of the segment to be brought into the yard;
[0145] Step 6.4.2: Check whether the entry segment is inside the yard when it is at the target position; if not, return; if it is inside the yard, jump to step 6.4.3;
[0146] Step 6.4.3: Check whether the incoming segment overlaps with other segments in the yard when it is at the target position; if so, return; if not, jump to step 6.4.4;
[0147] Step 6.4.4, calculate the compactness value of the approaching segment at the target position in the yard, recorded as fCompactRate;
[0148] Step 6.4.5, calculate the impact of the approaching segment on the subsequent exit of other segments in the yard: check the number of obstacle segments that will be added to the exit of other segments in the yard after the approaching segment enters the target position, recorded as nSeqObs;
[0149] Step 6.4.6, calculate the number of collisions between the approach segment and other segments during the process of reaching the target position, recorded as nObs;
[0150] Step 6.4.7. Calculate the cost of reaching the target location by the approach segment using the following formula, denoted as fCost:
[0151] fCost=(nObs+nSeqObs)*BLOCK_OBS_COST+fCompactRate
[0152] Among them, BLOCK_OBS_COST is a constant.
[0153] Furthermore, the compactness in step 6.4.4 is the sum of the distances between the approaching segment and other segments entering the yard.
[0154] Furthermore, the compactness value when calculating the target position of the approach segment in the yard in step 6.4.4 includes:
[0155] Step 6.4.4.1, initialize the parameters of the section to be brought into the yard and the yard to be entered by the section to be brought into the yard;
[0156] Step 6.4.4.2, obtain all the existing segments in the yard that the approaching segment is about to enter;
[0157] Step 6.4.4.3. Calculate the sum of the distances between the approach segment and other segments as the compactness value.
[0158] Furthermore, in step 9, the simulated annealing algorithm is used to further search and obtain the second optimal solution including:
[0159] Step 9.1, initialize the initial temperature, cooling rate and final temperature of the simulated annealing algorithm;
[0160] Step 9.2: Randomly select two chromosomes from the initial solution and exchange their values to obtain a new solution;
[0161] Step 9.3, evaluate the new solution; obtain the order of the entry segments according to the new solution, and calculate the cost based on the heuristic rule, and use it as the evaluation value of the new solution;
[0162] Step 9.4: If the evaluation value of the new solution is better than the initial solution, the initial solution is updated with the new solution;
[0163] Step 9.5, calculate the current temperature value; current temperature = initial temperature * cooling rate;
[0164] Step 9.6: If the current temperature is greater than the final temperature, jump to step 9.2; otherwise, jump to step 9.7;
[0165] Step 9.7, return the initial solution obtained by the simulated annealing algorithm and the fitness value;
[0166] Step 9.8: Take the initial solution with the smallest fitness value as the second optimal solution.
[0167] The "equal" or "same" or "equal" disclosed in the present invention must take into account the parameter distribution of the project, and the error distribution is within ±10%; the definition of "parallel" of two line segments or two straight lines is that the angle between the two line segments or two straight lines is less than or equal to 10 degrees; the definition of "perpendicular" of two line segments or two straight lines is that the angle between the two line segments or two straight lines is within the range of [80, 100] degrees; the definition of "phase mismatch" also needs to take into account the parameter distribution of the project, and the error distribution of the degree of mismatch is within ±10%. In addition, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also includes other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. Without more constraints, an element defined by the phrase "comprising a ..." does not exclude the existence of other identical elements in the process, method, article or apparatus comprising the element.
[0168] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0169] The above description of the disclosed embodiments enables one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A scheduling method for ship block yard based on genetic simulated annealing algorithm, characterized in that: The following steps are involved: Step 1: Obtain the ship sections that need to leave the factory on the day, and record them as the departure sections; Step 2: Remove the ship sections that need to be shipped from the yard; Step 3: Obtain the ship sections that need to enter the port on that day, and record them as the entry sections; Step 4: Initialize the parameters of the genetic algorithm, wherein the parameters include the population size, the number of traversals, and the mutation rate; Step 5: Generate a population based on a genetic algorithm; Step 6: Use heuristic rules to traverse all scheduling sequences of the population to obtain the target location set and cost set corresponding to each scheduling sequence; Step 7: Take the cost set as the fitness value set of the individual, and take the individual with the smallest fitness value as the first optimal solution; Step 8: Using the first optimal solution as the initial solution of the simulated annealing algorithm; Step 9, further search using the simulated annealing algorithm to obtain the second optimal solution; select the solution with the smallest cost between the first optimal solution and the second optimal solution as the optimal solution of this cycle; if the optimal solution of this cycle is greater than the optimal solution of the previous cycle, save the optimal solution of this cycle and jump to step 13; if the optimal solution of this cycle is less than the optimal solution of the previous cycle, jump to step 10; Step 10: Generate a new population by using the selection, crossover and mutation operations of the genetic algorithm; Step 11, determine whether the number of traversals reaches the maximum value; if so, jump to step 12; if not, jump to step 6; Step 12: Take the optimal solution of this cycle as the optimal solution and save it; Step 13, end.
2. The scheduling method according to claim 1, characterized in that: The heuristic rules in step 6 include: (1) The principle of exiting the market first and entering the market later; (2) The principle of least path in blocking segments; (3) Principle of compact placement in sections; (4) When entering the yard in stages, choose the closest yard; (5) The principle of minimizing the impact of the entry segment on the subsequent exit of other segments in the yard; (6) The principle of starting with the sides and then the middle when entering the game in sections.
3. The scheduling method according to claim 1, characterized in that: In step 6, all scheduling sequences of the population are traversed using heuristic rules, and the target location set and cost set corresponding to each scheduling sequence are obtained, including: Step 6.1, sort the yards in order from near to far according to the distance to the entry segment, and store them in the yard list; Step 6.2, traverse in order, taking a single yard in the yard list as the target yard for the approach segment; Step 6.3, in the target yard, according to the heuristic rule, obtain all possible target positions where the entry segment can be placed; if there is no possible target position, jump to step 6.2; if there is a possible target position, obtain the number of the target yard and all target positions, obtain the target position set corresponding to the target yard, and jump to step 6.4; Step 6.4: According to the cost evaluation method, the cost of reaching all possible target locations in the entry segment is evaluated to obtain the cost set corresponding to the target yard.
4. The scheduling method according to claim 3, characterized in that: The step 6 also includes: Step 6.5: If, during the cost evaluation process, all possible target locations in the target location set cost set cannot be placed in the entry segment, jump to step 6.
2.
5. The scheduling method according to claim 4, characterized in that: The step 6 also includes: Step 6.6: If all the yards cannot be used to place the entry segment, the system returns that there is no yard where the entry segment can be placed.
6. The scheduling method according to any one of claims 3 to 5, characterized in that: The cost assessment methods in step 6.4 include: Step 6.4.1, initialization parameters: a segment to be brought into the yard, the yard to be brought into, the segments already in the yard to be brought into, and the target position of the segment to be brought into the yard; Step 6.4.2: Check whether the entry segment is inside the yard when it is at the target position; if not, return; if it is inside the yard, jump to step 6.4.3; Step 6.4.3: Check whether the incoming segment overlaps with other segments in the yard when it is at the target position; if so, return; if not, jump to step 6.4.4; Step 6.4.4, calculate the compactness value of the approaching segment at the target position in the yard, recorded as fCompactRate; Step 6.4.5, calculate the impact of the approaching segment on the subsequent exit of other segments in the yard: check the number of obstacle segments that will be added to the exit of other segments in the yard after the approaching segment enters the target position, recorded as nSeqObs; Step 6.4.6, calculate the number of collisions between the approach segment and other segments during the process of reaching the target position, recorded as nObs; Step 6.4.
7. Calculate the cost of reaching the target location by the approach segment using the following formula, denoted as fCost: fCost=(nObs+nSeqObs)*BLOCK_OBS_COST+fCompactRate Among them, BLOCK_OBS_COST is a constant.
7. The scheduling method according to claim 6, characterized in that: The compactness in step 6.4.4 is the sum of the distances between the approaching segment and other segments entering the yard.
8. The scheduling method according to claim 7, characterized in that: The compactness values used in calculating the target position of the approach segment in the yard in step 6.4.4 include: Step 6.4.4.1, initialize the parameters of the section to be brought into the yard and the yard to be entered by the section to be brought into the yard; Step 6.4.4.2, obtain all the existing segments in the yard that the approaching segment is about to enter; Step 6.4.4.
3. Calculate the sum of the distances between the approach segment and other segments as the compactness value.
9. The scheduling method according to claim 1, characterized in that: In step 9, the simulated annealing algorithm is used to further search and obtain the second optimal solution including: Step 9.1, initialize the initial temperature, cooling rate and final temperature of the simulated annealing algorithm; Step 9.2: Randomly select two chromosomes from the initial solution and exchange their values to obtain a new solution; Step 9.3, evaluate the new solution; obtain the order of the entry segments according to the new solution, and calculate the cost based on the heuristic rule, and use it as the evaluation value of the new solution; Step 9.4: If the evaluation value of the new solution is better than the initial solution, the initial solution is updated with the new solution; Step 9.5, calculate the current temperature value; current temperature = initial temperature * cooling rate; Step 9.6: If the current temperature is greater than the final temperature, jump to step 9.2; otherwise, jump to step 9.7; Step 9.7, return the initial solution obtained by the simulated annealing algorithm and the fitness value; Step 9.8: Take the initial solution with the smallest fitness value as the second optimal solution.
Citation Information
Cited By
Dynamic intelligent scheduling method and system for ship segmented transfer
CN122175213A