Rescue ship assignment method and device based on combinatorial optimization algorithm in storm surge scene
By adopting a rescue ship assignment method based on a combination optimization algorithm in the storm surge scenario, the rescue weight of the trapped people is dynamically determined and the ship allocation plan is generated using the improved Hungarian algorithm, the problem of rescue delay in the existing technology is solved and efficient and targeted rescue operations are achieved.
Patent Information
- Application Number
- CN202510033629.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-09
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2045-01-09
AI Technical Summary
The existing technology ignores the severity of the disaster, humanized needs or resource balance in the storm surge scenario, and has shortcomings in dynamic changes and potential risk prediction, resulting in delays in rescue in some areas.
The rescue ship assignment method based on a combination optimization algorithm is adopted to obtain and update the information of trapped people and the status of ships in real time, and the rescue weight of each trapped person is dynamically determined, and a real-time ship allocation plan is generated using the improved Hungarian algorithm to ensure that the ship capacity limit and rescue priority are fully considered.
It has improved the pertinence and direction of rescue of trapped people in storm surge scenarios, made full use of limited rescue resources, and ensured the effectiveness, comprehensive coverage and timeliness of rescue operations.
Smart Images

Figure CN120069252A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of disaster rescue scheduling, and in particular to a rescue ship assignment method based on a combinatorial optimization algorithm in a storm surge scenario, a rescue ship assignment device based on a combinatorial optimization algorithm in a storm surge scenario, an electronic device, and a computer-readable medium. Background Art
[0002] 1. Prior Art (1) Shortest Path Algorithm The application of the shortest path algorithm in rescue is of profound significance, especially in disaster emergency management. Disaster rescue often faces challenges such as time urgency, limited resources, and complex environments, while the shortest path algorithm can effectively improve rescue efficiency and resource utilization. Specifically, the resources available in a disaster scenario (such as vehicles, rescue personnel) are usually limited. The shortest path algorithm can help allocate these resources reasonably, by reducing the vehicle driving distance and the number of transports, avoiding waste of resources, and concentrating precious resources where they are most needed. Some research has combined the shortest path algorithm based on time weights and the grouping clustering method. Ratings are given to rescue teams and rescue tasks to ensure the rationality of task urgency and rescue resource allocation. Then, clustering is performed based on location data, and a rescue plan is formulated with the shortest path as the goal. This can achieve efficient allocation of rescue resources, dispatch rescue teams to the nearest and most needed locations to the rescue points, minimizing the journey and time consumption. On the other hand, after a disaster occurs, through efficient rescue path planning, materials and services can be delivered faster and more precisely, alleviating the short-term difficulties in the affected areas. Fast and accurate rescue also means reducing secondary problems generated during the disaster, such as material backlogs, delivery delays, etc., thus saving time and costs for post-disaster reconstruction. For example, the shortest path algorithm is used in the flood control rescue material transportation scheduling method. By establishing an optimization model for transport capacity scheduling, it is ensured that the average time for material transportation to reach each rescue point is minimized and the number of transports is minimized. This optimization not only shortens the rescue time but also reduces the consumption of transport resources.
[0003] (2) Resource Scheduling Method Resource scheduling in emergency rescue mainly refers to the reasonable organization and coordinated arrangement of various rescue forces and materials, including the scheduling of personnel resources, material resources, etc. In terms of personnel resource scheduling strategies, the coordination and cooperation of various departments, units, and personnel are crucial. It is necessary to establish a unified command system, clarify the responsibilities and authorities of commanders at all levels, and ensure consistent command and unified actions. Secondly, according to the disaster situation and rescue needs, various professional rescue teams and personnel should be reasonably mobilized to ensure the optimal utilization of human resources. Material resource scheduling is an important link in disaster rescue. On the basis of timely understanding and counting the reserve situation of various rescue materials, a perfect material reserve and scheduling system should be established to ensure timely supply in case of emergency. Secondly, rescue materials should be reasonably allocated according to different disaster types and scales. At present, in practical applications, the empirical scheduling method is mostly adopted. Scheduling is carried out with the help of simple and visualized tools, such as using signs to show the vehicle operation dynamics on a scheduling board or a schematic diagram of the transportation network, and arranging the vehicle driving routes. Empirical scheduling mainly relies on the experience and intuition of dispatchers to make decisions. This method is relatively common when the technical means are relatively backward. Through years of work experience accumulation, dispatchers have a relatively in-depth understanding and judgment of scheduling strategies in various situations. However, in the face of complex and uncertain situations, this method often appears to be inflexible and inefficient. Introducing advanced technical means and data analysis methods for the scheduling of rescue scenarios has become a new trend. There are many algorithms for solving resource scheduling. Exact algorithms can obtain exact optimal solutions when solving small-scale problems, but as the problem scale increases, the time complexity of the algorithm will grow exponentially. Therefore, in recent years, a large number of scholars have shifted their attention to the research and application of intelligent algorithms, such as genetic algorithms, simulated annealing algorithms, tabu search, and ant colony algorithms, etc. A large number of studies also show that these algorithms can obtain relatively good solutions at a relatively fast speed.
[0004] 2. Disadvantages of the existing technology: (1) Path selection Most current technologies focus on finding the shortest path or the optimal path through a certain algorithm. These algorithms may ignore the severity of the disaster situation, humanized needs, or resource balance in rescue, and there are deficiencies in dynamic change and potential risk prediction. In multi-point rescue tasks, the algorithm may over-optimize a single path while ignoring the balance of global resource allocation and the differences among trapped individuals, resulting in delays in rescue in some areas.
[0005] (2) Resource allocation There are few algorithms for discussing the scheduling and decision-making of rescuing trapped people by boats in the scenario of storm tide inundation areas. Current technologies mainly focus on the scheduling strategies of emergency materials, ignoring the individual complexity, variability, and spatial distribution differences of the rescue targets in specific scenarios. Summary of the invention
[0006] In view of the above problems, the present invention is proposed to provide a rescue ship assignment method based on a combinatorial optimization algorithm in a storm surge scenario and a corresponding rescue ship assignment device based on a combinatorial optimization algorithm in a storm surge scenario, an electronic device, and a computer-readable medium, which can overcome the above problems or at least partially solve the above problems.
[0007] The present invention discloses a rescue ship assignment method based on a combinatorial optimization algorithm in a storm surge scenario, and the method includes: Obtain the information of trapped persons and the information of ships, and update the information of ships that are not fully loaded in real time; wherein, when a ship reaches its maximum passenger capacity, it temporarily withdraws from the allocation of rescue tasks and rejoins the allocation of rescue tasks after completing the rescue tasks; Determine the real-time rescue weights of each trapped person according to the information of trapped persons and the information of ships that are not fully loaded; the rescue weight is the priority for each ship to be assigned to rescue a certain trapped person; Generate a real-time ship allocation plan by using an improved Hungarian algorithm according to the real-time rescue weights of each trapped person; Repeat the above steps until all the trapped persons corresponding to the information of trapped persons are rescued.
[0008] Optionally, The information of trapped persons includes the number of trapped persons, the age, real-time health value, and water depth of each trapped person; the real-time health value is based on the initial health value and decreases with time according to the change of water depth; The information of ships includes the number of ships and the distance between each ship and each trapped person.
[0009] Optionally, determining the real-time rescue weights of each trapped person according to the information of trapped persons and the information of ships that are not fully loaded includes: Determine the initial priority for each trapped person to be rescued according to the real-time health value and age of each trapped person; Perform a weighted sum of the initial priority for each trapped person to be rescued and the distance between each ship and each trapped person according to the weight factor to obtain the real-time rescue weight of each trapped person; the weight factor is used to adjust the relative importance of the distance between each ship and each trapped person and the initial priority for each trapped person to be rescued.
[0010] Optionally, generating a real-time ship allocation plan by using an improved Hungarian algorithm according to the real-time rescue weights of each trapped person includes: Construct a complete bipartite graph of equal scale. The vertex set of the complete bipartite graph contains a set of vessels and a set of trapped persons. Each edge in the edge set of the complete bipartite graph is associated with the real-time rescue weight of a trapped person. The set of vessels and the set of trapped persons are constructed respectively according to the number of trapped persons and the number of vessels. Among them, when the number of vessels is not equal to the number of trapped persons, virtual vertices are added to make the two quantities equal. The rescue weights of virtual vertices, rescued trapped persons, and trapped persons who do not need rescue are zero. Set initial labels for all vertices and set matching conditions to find the maximum weighted matching in the complete bipartite graph. The matching condition is that for all edges, the sum of the labels of the vessel vertex and the trapped person vertex is greater than or equal to the real-time rescue weight of the edge. At the same time, it is satisfied that each vessel and each trapped person are matched at most once. The maximum weighted matching is the one with the largest number of matched edges and the largest sum of the weights of the matched edges. Gradually improve the matching by finding augmenting paths and updating vertex labels until all vessels find matches or the algorithm terminates when no augmenting path can be found, obtaining a matching set. The matching set contains all the matched edges, and the matching of each edge represents a certain vessel being assigned to a specific trapped person.
[0011] Optionally, gradually improve the matching by finding augmenting paths and updating vertex labels until all vessels find matches or the algorithm terminates when no augmenting path can be found, obtaining a matching set, including: Starting from the unmatched vertices, use the depth-first search or breadth-first search algorithm to explore the possible augmenting paths in the complete bipartite graph. An augmenting path is a path in the current matching where both the starting point and the ending point are unmatched vertices, and the edges on the path are alternating matching edges and non-matching edges. If an augmenting path is found, update the matching set by swapping the matching edges and non-matching edges to increase the number of matching edges. If no augmenting path is found, construct an alternating tree and update the labels of the vertices according to the vertex information of the alternating tree and a preset label adjustment amount. After each successful finding and application of an augmenting path, or after the vertex labels are updated, re-execute the search for augmenting paths. Continuously iterate the above steps until all vessels find matches or the algorithm terminates when no augmenting path can be found, obtaining a matching set.
[0012] The present invention also discloses a rescue vessel assignment device based on a combinatorial optimization algorithm in a storm surge scenario. The device includes: A personnel and vessel information acquisition and update module, used to acquire information on trapped persons and vessels and update the information on vessels that are not fully loaded in real time. Among them, when a vessel reaches its maximum passenger capacity, it temporarily withdraws from the rescue task assignment and rejoins the rescue task assignment after completing the rescue task. A real-time rescue weight determination module, which is used to determine the real-time rescue weights of each trapped person according to the trapped person information and the information of the non-full boats; the rescue weight is the priority for each boat to be assigned to rescue a certain trapped person. A real-time boat allocation plan generation module, which is used to generate a real-time boat allocation plan according to the real-time rescue weights of each trapped person by using an improved Hungarian algorithm. A repeated execution module, which is used to repeat the above steps until all the trapped persons corresponding to the trapped person information are rescued.
[0013] Optionally, The trapped person information includes the number of trapped persons, the age, real-time health value, and water depth of each trapped person; the real-time health value is based on the initial health value and decreases with time according to the change of water depth. The boat information includes the number of boats and the distance between each boat and each trapped person.
[0014] Optionally, the real-time rescue weight determination module includes: An initial priority determination sub-module, which is used to determine the initial priority for each trapped person to be rescued according to the real-time health value and age of each trapped person. A real-time rescue weight determination sub-module, which is used to perform a weighted sum of the initial priority for each trapped person to be rescued and the distance between each boat and each trapped person according to the weight factor to obtain the real-time rescue weight of each trapped person; the weight factor is used to adjust the relative importance of the distance between each boat and each trapped person and the initial priority for each trapped person to be rescued.
[0015] Optionally, the real-time boat allocation plan generation module includes: A complete bipartite graph construction sub-module, which is used to construct a complete bipartite graph of equal scale. The vertex set of the complete bipartite graph contains the boat set and the trapped person set, and each edge in the edge set of the complete bipartite graph is assigned the real-time rescue weight of the trapped person; the boat set and the trapped person set are constructed according to the number of trapped persons and the number of boats respectively. When the number of boats is not equal to the number of trapped persons, virtual vertices are added to make the two numbers equal; the rescue weights of virtual vertices, trapped persons who have been rescued, and trapped persons who do not need to be rescued are zero. A matching condition and labeling setting sub-module, which is used to set initial labels for all vertices and set the matching condition to find the maximum weighted matching in the complete bipartite graph; the matching condition is that for all edges, the sum of the labels of the boat vertex and the trapped person vertex is greater than or equal to the real-time rescue weight of the edge; at the same time, it satisfies that each boat and each trapped person can be matched at most once; the maximum weighted matching is the one with the largest number of matched edges and the largest sum of the weights of the matched edges. An augmenting path search sub-module is used to gradually improve the matching by finding augmenting paths and updating vertex labels until all vessels find a match or the algorithm terminates when no augmenting path can be found, and a matching set is obtained; the matching set contains all the matching edges, and the match of each edge represents a certain vessel assigned to a specific trapped person.
[0016] Optionally, the augmenting path search sub-module includes: A first augmenting path search unit is used to start from an unmatched vertex and explore possible augmenting paths in the complete bipartite graph using a depth-first search or breadth-first search algorithm; an augmenting path refers to a path in the current matching where both the starting point and the ending point are unmatched vertices, and the edges on the path are alternating matching edges and non-matching edges; A matching set update unit is used to, if an augmenting path is found, update the matching set by swapping matching edges and non-matching edges to increase the number of matching edges; A vertex label update unit is used to, if no augmenting path is found, construct an alternating tree and update the labels of the vertices according to the vertex information of the alternating tree and a preset label adjustment amount; A second augmenting path search unit is used to re-execute the search for augmenting paths after each successful finding and application of an augmenting path, or after the vertex label update; A repeating execution unit is used to continuously iterate the above steps until all vessels find a match or the algorithm terminates when no augmenting path can be found, and a matching set is obtained.
[0017] The present invention also discloses an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory complete communication with each other through the communication bus; The memory is used to store a computer program; When the processor executes the program stored on the memory, it implements the rescue vessel assignment method based on the combinatorial optimization algorithm in the storm surge scenario as described in the present invention.
[0018] The present invention also discloses one or more computer-readable media, on which instructions are stored, and when executed by one or more processors, cause the processors to execute the rescue vessel assignment method based on the combinatorial optimization algorithm in the storm surge scenario as described in the present invention.
[0019] The present invention has the following advantages: The rescue ship assignment method based on the combinatorial optimization algorithm under the storm surge scenario of the present invention obtains and updates the information of the trapped persons and the status of the ships in real time, ensuring that the ship temporarily withdraws from the task assignment once it reaches the maximum passenger capacity and rejoins after completing the current rescue, thus maintaining an efficient scheduling cycle. On this basis, combining the personal attributes of the trapped persons and their positional relationships, the rescue weights of each trapped person are dynamically determined to reflect the urgency and rescue priorities of different individuals. An improved Hungarian algorithm is used to dynamically generate an optimal ship allocation plan on the basis of fully considering the ship capacity limit, according to the real-time rescue weights of the trapped persons. Each generated allocation plan is calculated in real time according to the latest rescue weights and the available situation of the ships, ensuring the effectiveness and timeliness of the plan. As the trapped persons are gradually rescued, the above process is continuously repeated until all the trapped persons in need are rescued. The present invention ensures the effectiveness, full coverage and timeliness of the rescue operation. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 FIG. is a flowchart of the steps of a rescue ship assignment method based on a combinatorial optimization algorithm under a storm surge scenario provided by an embodiment of the present invention; Figure 2 FIG. is a structural block diagram of a rescue ship assignment device based on a combinatorial optimization algorithm under a storm surge scenario provided by an embodiment of the present invention; Figure 3 FIG. is a block diagram of an electronic device provided by an embodiment of the present invention; Figure 4 FIG. is a schematic diagram of a computer-readable medium provided by an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0021] In order to make the above objects, features and advantages of the present invention more obvious and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0022] Referring to Figure 1 , a flowchart of the steps of a rescue ship assignment method based on a combinatorial optimization algorithm under a storm surge scenario provided by an embodiment of the present invention is shown, which may specifically include the following steps: Step 101, obtain the information of the trapped persons and the ships, and update the information of the ships that are not fully loaded in real time; wherein, when the ship reaches the maximum passenger capacity, it temporarily withdraws from the assignment of the rescue task and rejoins the assignment of the rescue task after completing the rescue task; Step 102, determine the real-time rescue weights of each trapped person according to the information of the trapped persons and the information of the ships that are not fully loaded; the rescue weight is the priority for each ship to be assigned to rescue a certain trapped person; Step 103, generate a real-time ship allocation plan by using an improved Hungarian algorithm according to the real-time rescue weights of each trapped person; Step 104: Repeat the above steps until all the trapped persons corresponding to the trapped person information are rescued.
[0023] In a storm surge event, it is crucial to ensure that trapped persons can receive timely and effective rescue. The present invention provides a rescue ship assignment method based on a combinatorial optimization algorithm. It aims to construct a method for determining the rescue weight of trapped persons by considering the personal attributes and positional relationships of the trapped persons in the storm surge scenario and combining the characteristics of the scenario itself. It realizes the comprehensive consideration of factors such as the positions of different ships, the priorities of the trapped persons, and the rescue capabilities, and solves the problem of how to allocate rescue tasks to a certain number of ships when using ships as means of transportation in the storm surge flooding scenario in the face of multiple rescue targets with different weights.
[0024] The standard Hungarian algorithm, as a typical combinatorial optimization algorithm, is mainly used to solve the standard assignment problem, that is, the number of elements in two related sets should be equal. However, in the storm surge scenario, the number of ships and the number of trapped persons often do not match. The present invention makes improvements by adding virtual weights. In addition, when a trapped person has been rescued or does not need rescue for other reasons, the element can be retained in the set, and the weight of the edge where the ship points to this person is modified to a minimum threshold for improvement, so as to flexibly respond to possible subsequent rescue needs.
[0025] Specifically, this method first obtains and updates the trapped person information, ship information, and status in real time, ensuring that once a ship reaches its maximum passenger capacity, it temporarily withdraws from the task assignment and rejoins after completing the current rescue, thus maintaining an efficient scheduling loop. On this basis, by combining the personal attributes of the trapped persons and their positional relationships, the rescue weights of each trapped person are dynamically determined, which can improve the pertinence and directivity of the rescue of trapped persons in the storm surge scenario to a certain extent and contribute to achieving the purpose of making full use of limited rescue resources.
[0026] To generate the optimal ship allocation plan, the present invention adopts an improved Hungarian algorithm to handle the multi-rescue target optimization problem and fully considers the capacity limit of the ships. Each generated allocation plan is calculated in real time according to the latest rescue weights and the available situation of the ships, ensuring the effectiveness and timeliness of the plan. As the trapped persons are gradually rescued, the system continuously repeats the above process until all the trapped persons in need are rescued. The present invention ensures the effectiveness, full coverage, and timeliness of the rescue operation.
[0027] In an embodiment of the present invention, The trapped person information includes the number of trapped persons, the age, real-time health value, and water depth of each trapped person; the real-time health value is based on the initial health value and decreases over time according to the change in water depth; The vessel information includes the number of vessels and the distance between each vessel and each trapped person.
[0028] In one embodiment of the present invention, based on the trapped person information and the information of non-full vessels, determining the real-time rescue weight of each trapped person includes: Determining the initial priority of rescue for each trapped person according to the real-time health value and age of each trapped person; According to the weight factor, performing a weighted sum of the initial priority of rescue for each trapped person and the distance between each vessel and each trapped person to obtain the real-time rescue weight of each trapped person; the weight factor is used to adjust the relative importance of the distance between each vessel and each trapped person and the initial priority of rescue for each trapped person.
[0029] In one embodiment of the present invention, according to the real-time rescue weight of each trapped person, generating a real-time vessel allocation plan by using an improved Hungarian algorithm includes: Constructing a complete bipartite graph of equal scale, where the vertex set of the complete bipartite graph includes a vessel set and a trapped person set, and each edge in the edge set of the complete bipartite graph is associated with the real-time rescue weight of a trapped person; the vessel set and the trapped person set are constructed respectively according to the number of trapped persons and the number of vessels. When the number of vessels is not equal to the number of trapped persons, the number of both sides is made equal by adding virtual vertices; the rescue weights of virtual vertices, trapped persons who have been rescued, and trapped persons who do not need rescue are zero; Setting initial labels for all vertices and setting matching conditions to find a maximum weighted matching in the complete bipartite graph; the matching conditions are that for all edges, the sum of the labels of the vessel vertex and the trapped person vertex is greater than or equal to the real-time rescue weight of the edge; at the same time, each vessel and each trapped person can be matched at most once; the maximum weighted matching is the one with the largest number of matched edges and the largest sum of the weights of the matched edges; Gradually improving the matching by finding an augmenting path and updating the vertex labels until all vessels find a match or the algorithm terminates when no augmenting path can be found, obtaining a matching set; the matching set includes all matched edges, and the matching of each edge represents a certain vessel being assigned to a specific trapped person.
[0030] In one embodiment of the present invention, gradually improving the matching by finding an augmenting path and updating the vertex labels until all vessels find a match or the algorithm terminates when no augmenting path can be found, obtaining a matching set, includes: Starting from the un-matched vertices, explore the possible augmenting paths in the complete bipartite graph using the depth-first search or breadth-first search algorithm; an augmenting path refers to a path in the current matching where both the starting point and the ending point are un-matched vertices, and the edges on the path are alternating matching edges and non-matching edges; If an augmenting path is found, update the matching set by swapping the matching edges and non-matching edges to increase the number of matching edges; If no augmenting path is found, construct an alternating tree and update the labels of the vertices based on the vertex information of the alternating tree and the preset label adjustment amount; After each successful finding and application of an augmenting path, or after the vertex labels are updated, re-perform the search for augmenting paths; Continuously iterate the above steps until all ships find a match, or when no augmenting path can be found, the algorithm terminates and the matching set is obtained.
[0031] 1. Determine the rescue weight of the trapped persons In a storm surge scenario, the persons trapped in the flooded area are often not concentrated in one place but are scattered. Persons have information such as age , weight , health value ( ), water depth , etc. And the health value of the persons will continuously decrease in the water. Assume the initial health value is , the deduction rate is a function of the water depth , and the health value decreases over time . Thus, it can be obtained that:
[0032] Set an integer priority for the persons based on the above information : ; ; ; For other cases .
[0033] Next, perform normalization. Denote the number of ships as , the number of trapped persons as , the priority as , and calculate the relative distance next. Let the distance between ship and a certain trapped person be , and assume the maximum value of the distances between ship and the trapped persons is , then each distance can be normalized as:
[0034] Normalize the priority: The priority is a finite integer range ( ), and it can be directly divided by the maximum priority:
[0035] In this way, both the distance and the priority are mapped into the interval [0, 1] and are on the same order of magnitude.
[0036] The next step is to perform scale transformation. Appropriate scale transformation of the distance can make it closer to the magnitude of the priority:
[0037] In this way, for larger distances, the values will be shrunk to a smaller range and be closer to the values of the priority. Then perform weighted summation to combine the distance and the priority. Set a weight ( ) to adjust the relative importance of the two and form a comprehensive rescue index :
[0038] 2. Solve the optimal rescue scheduling plan Assume that a trapped person can only be rescued by one ship at the same time, and the ship has a maximum passenger capacity , but it can only rescue one trapped person at a certain moment. Let be the set of ships, defined as , where . Let be the set of trapped persons, defined as , where .
[0039] When encountering , it is necessary to construct a complete bipartite graph of the same scale. If (the number of ships is less than the number of trapped persons), add in virtual vertices , denoted as . If (the number of ships is more than the number of trapped persons), add in virtual vertices , denoted as . If , let .
[0040] Weight Indicates a vessel That is assigned to rescue trapped persons Of priority, where , And . The greater the weight, the higher the priority. In a weighted bipartite graph , Vertex set , and ; Edge set , each edge With weight ; , if Or Is a virtual vertex, or Has been rescued or Does not need rescue.
[0041] The goal is to find a matching such that: (1) The number of edges in the matching is maximized, i.e., the maximum matching; (2) The sum of the weights of the matching is maximized.
[0042] Introduce the following variables. Matching variable , indicating whether the vessel Is assigned to the trapped person :
[0043] Vertex label And , representing the labels of the vessel vertex and the trapped person vertex respectively. The initial labels are:
[0044] The goal is to maximize the total weight of the matching:
[0045] Subject to the following constraints at the same time: (1) Each vessel can match at most one trapped person at a certain moment:
[0046] (2) Each trapped person can match at most one vessel:
[0047] (3) The edges in the matching must satisfy the label condition, i.e.:
[0048] An augmenting path refers to a path in the current matching where both the starting point and the ending point are unmatched vertices, and its edges are alternating between matching edges and non - matching edges. Finding an augmenting path can increase the number of matching edges. Denote the current matching set as , then an augmenting path is a path that satisfies the following conditions : The starting point of the path is an unmatched vertex; The edges on the path alternate between and .
[0049] By searching for an augmenting path, a new matching path can be found, and the number of matching edges can be increased by 1 through this path. By finding augmenting paths and updating vertex labels, the matching is gradually improved until a maximum weighted matching is found.
[0050] Step 1: Search for an augmenting path (1) Start from an unmatched vertex and search for an augmenting path. Use depth - first search (DFS) or breadth - first search (BFS) to explore and find an augmenting path .
[0051] (2) If an augmenting path is found, the matching set can be updated by swapping matching edges and non - matching edges .
[0052] (3) If no augmenting path is found, go to Step 2.
[0053] Step 2: Update labels (1) If no augmenting path is found starting from , the vertex labels and need to be adjusted to expand the search space for augmenting paths. Starting from , by walking through alternating paths of unmatched, matched, unmatched... some left vertices can be reached. Extracting these paths can obtain a tree, which is called an alternating tree. Define the left / right part vertices on the alternating tree as the point sets , and the points not on the alternating tree are defined similarly as .
[0054] (2) Define a label adjustment amount :
[0055] (3) Update vertex labels:
[0056]
[0057] (4) Repeat step 1.
[0058] Step 3: Termination Condition When all vessels have found a match or no augmenting path can be found, the algorithm terminates. If the matching edges involve virtual vertices or virtual edges (with weight 0), these edges are ignored.
[0059] Finally, the matching set contains all the matching edges , and the matching of each edge represents a vessel being assigned to a trapped person . The matching scheme is the maximum weighted matching such that:
[0060] reaches the maximum value.
[0061] At this time, set . If the number of people on vessel reaches the maximum carrying capacity , then remove the element from the set , otherwise, recalculate the rescue weight of the trapped person and solve the optimal rescue scheduling scheme. After the vessel that reaches the maximum carrying capacity completes the rescue, rejoin it to the set . When , the rescue is completed.
[0062] The present invention has the following advantages: (1) The present invention comprehensively considers the characteristic information of the spatial distribution heterogeneity, physical condition and age difference of trapped individuals, and reduces and determines the rescue weight of individuals based on this information. To a certain extent, it can improve the pertinence and directivity of the rescue of trapped people in the storm surge scenario, and helps to achieve the purpose of making full use of limited rescue resources.
[0063] (2) Starting from the characteristics of individuals and rescue tasks, the present invention considers the constraint of vessel capacity, and calculates the optimal vessel scheduling scheme through an improved Hungarian algorithm by integrating various factors, which helps to improve the effectiveness of the rescue in the storm surge scenario.
[0064] It should be noted that for the method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the embodiments of the present invention are not limited by the described action sequence, because according to the embodiments of the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential for the embodiments of the present invention.
[0065] Reference Figure 2 , a structural block diagram of a rescue ship assignment device based on a combinatorial optimization algorithm in a storm surge scenario provided in an embodiment of the present invention is shown, which may specifically include the following modules: The personnel and ship information acquisition and update module 201 is used to acquire the information of the trapped personnel and the ship information, and update the information of the ships that are not fully loaded in real time; among them, when the ship reaches the maximum passenger capacity, it temporarily withdraws from the rescue task assignment and rejoins the rescue task assignment after completing the rescue task; The real-time rescue weight determination module 202 is used to determine the real-time rescue weights of the trapped personnel according to the information of the trapped personnel and the information of the ships that are not fully loaded; the rescue weight is the priority of each ship being assigned to rescue a trapped person; The real-time ship allocation plan generation module 203 is used to generate a real-time ship allocation plan by using an improved Hungarian algorithm according to the real-time rescue weights of the trapped personnel; The repeated execution module 204 is used to repeat the above steps until all the trapped personnel corresponding to the trapped personnel information are rescued.
[0066] Optionally, The trapped personnel information includes the number of trapped personnel, the age, real-time health value, and water depth of each trapped person; the real-time health value is based on the initial health value and decreases with time according to the change of water depth; The ship information includes the number of ships and the distance between each ship and each trapped person.
[0067] Optionally, the real-time rescue weight determination module includes: The initial priority determination sub-module is used to determine the initial priority of each trapped person being rescued according to the real-time health value and age of each trapped person; The real-time rescue weight determination sub-module is used to perform weighted summation on the initial priority of each trapped person being rescued and the distance between each ship and each trapped person according to the weight factor to obtain the real-time rescue weight of each trapped person; the weight factor is used to adjust the relative importance of the distance between each ship and each trapped person and the initial priority of each trapped person being rescued.
[0068] Optionally, the real-time ship allocation plan generation module includes: The complete bipartite graph construction sub-module is used to construct a complete bipartite graph of equal scale. The vertex set of the complete bipartite graph contains the ship set and the trapped person set, and each edge in the edge set of the complete bipartite graph is associated with the real-time rescue weight of the trapped person; the ship set and the trapped person set are constructed according to the number of trapped personnel and the number of ships respectively. Among them, when the number of ships is not equal to the number of trapped personnel, virtual vertices are added to make the two numbers equal; the rescue weights of virtual vertices, trapped personnel who have been rescued, and trapped personnel who do not need rescue are zero; A matching condition and label setting sub-module, which is used to set initial labels for all vertices and set matching conditions to find the maximum weighted matching in a complete bipartite graph; the matching condition is that for all edges, the sum of the labels of the ship vertex and the trapped person vertex is greater than or equal to the real-time rescue weight of the edge; at the same time, each ship and each trapped person are matched at most once; the maximum weighted matching is the maximum number of matching edges and the maximum sum of the weights of the matching edges; An augmenting path search sub-module, which is used to gradually improve the matching by finding augmenting paths and updating vertex labels until all ships find matches or the algorithm terminates when no augmenting path can be found, and a matching set is obtained; the matching set contains all matching edges, and the matching of each edge represents a certain ship assigned to a specific trapped person.
[0069] Optionally, the augmenting path search sub-module includes: A first augmenting path search unit, which is used to start from unmatched vertices and explore possible augmenting paths in the complete bipartite graph by using depth-first search or breadth-first search algorithms; an augmenting path refers to a path in the current matching where both the starting point and the ending point are unmatched vertices, and the edges on the path are alternating matching edges and non-matching edges; A matching set update unit, which is used to update the matching set by swapping matching edges and non-matching edges if an augmenting path is found to increase the number of matching edges; A vertex label update unit, which is used to construct an alternating tree and update the labels of vertices according to the vertex information of the alternating tree and a preset label adjustment amount if no augmenting path is found; A second augmenting path search unit, which is used to re-execute the search for augmenting paths after each successful finding and application of an augmenting path or after vertex label updates; A repeated execution unit, which is used to continuously iterate the above steps until all ships find matches or the algorithm terminates when no augmenting path can be found, and a matching set is obtained.
[0070] For the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for related parts, refer to the partial description of the method embodiment.
[0071] In addition, the embodiment of the present invention also provides an electronic device, as Figure 3 shown, including a processor 301, a communication interface 302, a memory 303, and a communication bus 304, where the processor 301, the communication interface 302, and the memory 303 communicate with each other through the communication bus 304, the memory 303 is used to store a computer program; The processor 301, when executing the program stored in the memory 303, implements the rescue ship assignment method based on the combinatorial optimization algorithm in the storm surge scenario as described in the above embodiments.
[0072] The communication bus mentioned in the above terminal may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of representation, only a thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0073] The communication interface is used for communication between the above terminal and other devices.
[0074] The memory may include a Random Access Memory (RAM), and may also include a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located far from the aforementioned processor.
[0075] The above-mentioned processor may be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0076] As Figure 4 shown, in another embodiment provided by the present invention, there is also provided a computer-readable storage medium 401. Instructions are stored in this computer-readable storage medium. When it runs on a computer, it causes the computer to execute the rescue ship assignment method based on the combinatorial optimization algorithm in the storm surge scenario as described in the above embodiments.
[0077] In another embodiment provided by the present invention, there is also provided a computer program product including instructions. When it runs on a computer, it causes the computer to execute the rescue ship assignment method based on the combinatorial optimization algorithm in the storm surge scenario described in the above embodiment.
[0078] In the above embodiment, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present invention are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device such as a server or a data center integrating one or more available media. The available medium can be a magnetic medium (such as a floppy disk, a hard disk, a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)).
[0079] It should be noted that in this document, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including", or any other variation thereof is 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 other elements not explicitly listed, or elements inherent to such process, method, article, or device. Without further limitation, an element defined by the statement "including a..." does not exclude the existence of additional identical elements in the process, method, article, or device including the element.
[0080] Each embodiment in this specification is described in a related manner. For the same or similar parts among the embodiments, reference can be made to each other. Each embodiment focuses on the differences from other embodiments. In particular, for the apparatus embodiments, since they are basically similar to the method embodiments, the description is relatively simple, and for the related parts, reference can be made to the corresponding descriptions in the method embodiments.
[0081] The above are only the preferred embodiments of the present invention, and are not intended to limit the protection scope of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present invention are all included in the protection scope of the present invention.
Claims
1. A rescue ship assignment method based on a combinatorial optimization algorithm in a storm surge scenario, characterized in that: The method comprises: Obtain information about trapped persons and vessels, and update information about partially loaded vessels in real time; when a vessel reaches its maximum capacity, it will temporarily withdraw from the allocation of rescue missions, and rejoin the allocation of rescue missions after completing the rescue mission; According to the information of trapped persons and the information of underloaded ships, the real-time rescue weight of each trapped person is determined; the rescue weight is the priority of each ship to be assigned to rescue a certain trapped person; According to the real-time rescue weight of each trapped person, the improved Hungarian algorithm is used to generate a real-time ship allocation plan; Repeat the above steps until all trapped persons corresponding to the trapped person information are rescued.
2. The method according to claim 1, characterized in that The trapped person information includes the number of trapped persons, the age, real-time health value, and water depth of each trapped person; the real-time health value is based on the initial health value and decreases over time according to the change of water depth; The ship information includes the number of ships and the distance between each ship and each trapped person.
3. The method according to claim 2, characterized in that According to the information of trapped persons and the information of underloaded vessels, the real-time rescue weight of each trapped person is determined, including: Determine the initial priority of each trapped person to be rescued according to the real-time health value and age of each trapped person; According to the weight factor, the initial priority of each trapped person to be rescued and the distance between each ship and each trapped person are weighted and summed to obtain the real-time rescue weight of each trapped person; the weight factor is used to adjust the relative importance of the distance between each ship and each trapped person and the initial priority of each trapped person to be rescued.
4. The method according to claim 1, characterized in that: According to the real-time rescue weight of each trapped person, the improved Hungarian algorithm is used to generate a real-time ship allocation plan, including: Construct a complete bipartite graph of equal size. The vertex set of the complete bipartite graph includes a set of ships and a set of trapped persons. Each edge in the edge set of the complete bipartite graph has a real-time rescue weight for the trapped persons. The set of ships and the set of trapped persons are constructed according to the number of trapped persons and the number of ships, respectively. When the number of ships is not equal to the number of trapped persons, virtual vertices are added to make the numbers of both sides equal. The rescue weights of virtual vertices, trapped persons who have been rescued, and trapped persons who do not need rescue are zero. Set initial labels for all vertices and set matching conditions to find the weighted maximum matching in the complete bipartite graph; the matching condition is that for all edges, the sum of the labels of the ship vertices and the trapped person vertices is greater than or equal to the real-time rescue weight of the edge; at the same time, each ship and each trapped person is matched at most once; the weighted maximum matching is the one with the largest number of matched edges and the largest sum of the weights of the matched edges; The matching is gradually improved by finding augmenting paths and updating vertex labels until all ships are matched, or when no augmenting paths can be found, the algorithm terminates and a matching set is obtained; the matching set contains all matching edges, and the matching of each edge represents the assignment of a certain ship to a specific trapped person.
5. The method according to claim 4, characterized in that The matching is gradually improved by finding augmenting paths and updating vertex labels until all ships are matched, or when no augmenting paths can be found, the algorithm terminates and a matching set is obtained, including: Starting from the unmatched vertex, use the depth-first search or breadth-first search algorithm to explore the possible augmenting paths in the complete bipartite graph; an augmenting path refers to a path whose starting point and end point are both unmatched vertices in the current matching, and the edges on the path are alternating matching edges and non-matching edges; If an augmenting path is found, the matching set is updated by exchanging matching edges and non-matching edges to increase the number of matching edges; If no augmenting path is found, an interlaced tree is constructed, and the vertex labels are updated according to the vertex information of the interlaced tree and the preset label adjustment amount; After each successful augmenting path is found and applied, or after the vertex labels are updated, the augmenting path search is re-executed; Continue to iterate the above steps until all ships are matched, or no augmenting path can be found, the algorithm terminates and a matching set is obtained.
6. A rescue boat dispatching device based on a combined optimization algorithm in a storm surge scenario, characterized in that: The device comprises: The personnel and vessel information acquisition and update module is used to obtain the trapped personnel and vessel information, and update the underloaded vessel information in real time; when the vessel reaches the maximum manned capacity, it temporarily withdraws from the rescue mission allocation, and rejoins the rescue mission allocation after completing the rescue mission; The real-time rescue weight determination module is used to determine the real-time rescue weight of each trapped person according to the trapped person information and the underloaded vessel information; the rescue weight is the priority of each vessel to be assigned to rescue a certain trapped person; A real-time ship allocation plan generation module is used to generate a real-time ship allocation plan using an improved Hungarian algorithm according to the real-time rescue weight of each trapped person; The repeat execution module is used to repeat the above steps until all trapped persons corresponding to the trapped person information are rescued.
7. The device according to claim 6, characterized in that The trapped person information includes the number of trapped persons, the age, real-time health value, and water depth of each trapped person; the real-time health value is based on the initial health value and decreases over time according to the change of water depth; The ship information includes the number of ships and the distance between each ship and each trapped person.
8. The device according to claim 7, characterized in that The real-time rescue weight determination module includes: The initial priority determination submodule is used to determine the initial priority of each trapped person to be rescued according to the real-time life value and age of each trapped person; The real-time rescue weight determination submodule is used to perform weighted summation of the initial priority of each trapped person to be rescued and the distance between each ship and each trapped person according to the weight factor to obtain the real-time rescue weight of each trapped person; the weight factor is used to adjust the distance between each ship and each trapped person and the relative importance of the initial priority of each trapped person to be rescued.
9. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; The memory is used to store computer programs; The processor is used to implement the rescue ship assignment method based on the combinatorial optimization algorithm in the storm surge scenario as described in any one of claims 1 to 5 when executing the program stored in the memory.
10. One or more computer-readable media having instructions stored thereon, which, when executed by one or more processors, enable the processors to execute the rescue ship assignment method based on a combinatorial optimization algorithm in a storm surge scenario as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Vehicle transportation scheduling method for flood prevention rescue materials in disaster relief
CN110619431A
Gridding neighborhood-based marine ship effective rescue search method
CN112069371A
Emergency resource scheduling method based on ant colony algorithm and multi-objective function model
CN112288152A
Ship damage management personnel network scheduling method based on shortest rescue time
CN115952960A
Material distribution method and device, electronic equipment and storage medium
CN118014322A