Plan creation support device and plan creation support method

The planning support device addresses large-scale set partitioning challenges by transforming set covering solutions into set partitioning solutions, ensuring efficient and cost-effective allocation plans through relaxed constraints and cluster creation.

JP2026053160APending Publication Date: 2026-03-25HITACHI LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2026-03-25

AI Technical Summary

Technical Problem

Conventional planning techniques for large-scale set partitioning problems, such as crew scheduling and distribution planning, struggle to find feasible solutions due to increasing problem sizes, making it difficult to create efficient and cost-effective allocation plans for personnel and operating equipment.

Method used

A planning support device that employs a relaxed solution acquisition process, constraint violation extraction, cluster creation, and optimal solution calculation to ensure adherence to strict constraints, allowing for the creation of reliable plans even with large-scale data.

Benefits of technology

Enables the reliable creation of optimal personnel and equipment allocation plans by transforming set covering solutions into set partitioning solutions, reducing total cost and ensuring adherence to operational constraints.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026053160000001_ABST
    Figure 2026053160000001_ABST
Patent Text Reader

Abstract

It helps ensure the creation of sound plans, even when dealing with large datasets. [Solution] A planning support device 10 extracts the constraint violation portion, which is the portion of the resource allocation that does not satisfy the first constraint condition, from the relaxed solution, which is the allocation of each resource to each task in a plan in which the multiple resources are allocated to the multiple tasks under a second constraint condition, which is a relaxed constraint condition, which is a first constraint condition, when creating a plan to allocate multiple resources to multiple tasks that are performed sequentially. From the constraint violation portion, a cluster is created, which is the portion in which the same resource is allocated to multiple consecutive tasks. Under a third constraint condition that ensures that the same resource is allocated to multiple consecutive tasks including the cluster, the optimal solution for the allocation in a plan in which multiple resources are allocated to the multiple tasks is calculated.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a planning support device and a planning support method.

Background Art

[0002] The set partitioning problem is one of the 0-1 integer programming problems with various practical applications such as the crew scheduling problem, the traveling salesman problem, or the distribution planning problem. On the other hand, the set partitioning problem is known to be NP-hard, and it is difficult to obtain a solution for large-scale problems.

[0003] The crew scheduling problem is a problem of determining a combination of allocation patterns in which operating equipment and personnel are always assigned to each flight, which is a component of the transportation plan, in public transportation such as airlines, buses, or railways where the transportation plan is determined in advance.

[0004] In public transportation, an allocation plan for personnel and operating equipment is created by skilled workers. In recent years, efficient planning has been desired to reduce costs and meet customer needs.

[0005] In formulating an allocation plan for personnel and operating equipment, a combination of allocation patterns is determined such that operating equipment and personnel are always assigned to each flight, which is a component of the transportation plan.

[0006] The allocation pattern is a pattern of flights that start from a base, pass through multiple flights, and finally return to the base, and it needs to satisfy various constraint conditions. For example, for personnel, there are various laws and regulations, company regulations, rest time and rest place within the time from leaving work to coming to work, and total restraint time, etc., and for operating equipment, there are inspections and cleaning, etc.

[0007] Although the combinations of allocation patterns that satisfy these constraint conditions become enormous, it is necessary to determine a combination of allocation patterns that satisfies the operating equipment and personnel required for the operation of all flights and minimizes the cost.

[0008] Methods for finding combinations of these assignment patterns include formulations such as set partitioning problems and set covering problems, as shown in Non-Patent Document 1. Both of these formulations are mathematical optimization methods for determining the assignment pattern of each flight given in a transportation plan. Known methods for finding solutions to set partitioning problems and set covering problems include column generation methods. In addition, methods for selecting from combinations of candidate solutions after enumerating them in advance include known methods such as branch and bound methods and methods using graph analysis as shown in Patent Document 1. It is known that with all of these methods, the problem size increases as the number of flights included in the transportation plan increases, making it impossible to obtain a solution, or taking an extremely long time to obtain a solution.

[0009] However, while the set partitioning problem uses the constraint that each flight is assigned only one piece of equipment and personnel when selecting a solution, the set covering problem uses the constraint that each flight is assigned one or more pieces of equipment and personnel. In other words, the set covering problem can be said to be a relaxation of the set partitioning problem, that is, a problem with looser constraints. Furthermore, as shown in Non-Patent Documents 2 and 3, when the cost matrix satisfies the triangle inequality, the solution to the set covering problem can be transformed into a solution to the set partitioning problem without increasing the total cost calculated by the objective function of the 0-1 integer programming problem. However, a method for transforming the solution to the set covering problem into a solution to the set partitioning problem while reducing the total cost is not generally known. [Prior art documents] [Patent Documents]

[0010] [Patent Document 1] Japanese Patent Publication No. 2022-145506 [Non-patent literature]

[0011] [Non-Patent Document 1] B. Gopalakrishnan, EL Johnson, “Airline Crew Scheduling: State-of-the-Art”, Annals of Operations Research, vol.140,2005,P.305-337 [Non-Patent Document 2] Odysseas CM Moschopoulos, “Set-partition versus set-cover formulations for column generation based solution methodologies for optimal crew scheduling in the airline industry”, 2018, Thesis for the Diploma of Mechanical Engineering, University of Thessaly Department of Mechanical Engineering Systems Optimization Laboratory. [Non-Patent Document 3] Mikio Kubo, Akihisa Tamura, and Tomoki Matsui, "Handbook of Applied Mathematical Programming (Popular Edition)", 2012, Asakura Shoten. [Overview of the project] [Problems that the invention aims to solve]

[0012] Conventional planning techniques often employ mathematical planning methods that use feasible plan components as solution candidates and search for the best possible combination (solution) from an infinite number of possible solution combinations. However, a problem with these conventional techniques is that as the operational planning data becomes large, the problem scale increases, making it impossible to obtain a feasible solution.

[0013] This invention has been made in view of these circumstances, and its purpose is to provide a planning support device and a planning support method that can reliably help create a good plan even when the target data is large in scale. [Means for solving the problem]

[0014] One aspect of the present invention for solving the above problems is a planning support device comprising: a storage device for storing a first constraint, which is a constraint on a resource, when creating a plan to assign each of a plurality of resources to one of a plurality of consecutive tasks; a relaxed solution acquisition process for obtaining a relaxed solution, which is the assignment of each resource to each task in a plan in which each of the plurality of tasks is assigned each of the plurality of tasks under a second constraint, which is a constraint less relaxed than the first constraint; a constraint violation portion extraction process for extracting a constraint violation portion from the acquired relaxed solution, which is the portion of the resource assignment to each resource in tasks in which the resource assignment does not satisfy the first constraint; a cluster creation process for creating a cluster from the extracted constraint violation portion, which is the portion of consecutive tasks in which the same resource is assigned to multiple consecutive tasks; a constraint creation process for creating a third constraint, which is a constraint that ensures the same resource is assigned to at least the cluster created; and an optimal solution calculation process for calculating an optimal solution, which is the assignment of each resource to each task in a plan in which each of the plurality of tasks is assigned each of the plurality of tasks under the created third constraint. [Effects of the Invention]

[0015] According to the present invention, it is possible to reliably create a good plan even when the target data is large in scale.

[0016] Other configurations and effects will be clarified by the following description of the embodiments. [Brief explanation of the drawing]

[0017] [Figure 1] This figure shows an example of the configuration of the planning support system according to Example 1. [Figure 2] This figure shows an example of the functional components of a planning support device. [Figure 3]It is a diagram showing an example of the hardware configuration included in the planning support device. [Figure 4] It is a diagram explaining the configuration of this air route and the flights used on this air route. [Figure 5] It is a flowchart explaining the outline of the planning support process performed by the planning support device according to Example 1. [Figure 6] It is a diagram showing an example of a tentative solution obtained by the first optimization calculation in Example 1. [Figure 7] It is a diagram showing an example of a solution (constraint violation part) that violates the constraint conditions in the tentative solution of Example 1. [Figure 8] It is a diagram showing an example of a transportation plan for flight operations including the constraint violation part. [Figure 9] It is a diagram showing an example of the optimal solution screen displayed on the user terminal in Example 1. [Figure 10] It is a flowchart explaining the details of the cluster creation process. [Figure 11] It is a flowchart explaining the details of the cluster identification process. [Figure 12] It is a diagram showing an example of a cluster created in Example 1. [Figure 13] It is a diagram showing an example of a transportation plan for flight operations including a cluster. [Figure 14] It is a diagram explaining the area to which the transportation route plan according to Example 2 is applied. [Figure 15] It is a diagram showing an example of a solution (constraint violation part) that violates the constraint conditions in the tentative solution of Example 2. [Figure 16] It is a diagram showing an example of a transportation route including the constraint violation part. [Figure 17] It is a diagram showing an example of a cluster created in Example 2. [Figure 18] It is a diagram showing an example of a transportation route including a cluster. [Figure 19] It is a diagram showing an example of the optimal solution screen displayed on the user terminal in Example 2. [Figure 20]This figure shows an example of a screen displaying the optimal solution corresponding to the path shown on the user terminal in Example 2. [Modes for carrying out the invention]

[0018] Hereinafter, one embodiment of the present invention will be described in detail with reference to the drawings. However, the present invention is not to be construed as being limited to the embodiments described below. It will be easily understood by those skilled in the art that the specific configuration can be modified without departing from the spirit or intent of the present invention. Furthermore, in the configurations described below, the same reference numerals are used in common between different drawings for the same parts or parts having similar functions, and redundant explanations may be omitted.

[0019] <Example 1> Figure 1 shows an example of the configuration of the planning support system 1 according to Embodiment 1. The planning support system 1 is composed of information processing devices for a planning support device 10 and a user terminal 20. The planning support device 10 and the user terminal 20 are connected via a wired or wireless communication network 5, such as the Internet, LAN (Local Area Network), WAN (Wide Area Network), or dedicated line.

[0020] The planning support system 1 according to Embodiment 1 assists in creating personnel allocation plans for air routes. In this embodiment, a personnel allocation plan refers to a plan that assigns each of several resources (in this case, personnel) to one of several consecutive tasks (in this case, travel between segments of an air route).

[0021] In this embodiment, "duty" refers to a unit of work consisting of a combination of the start time, start location, end time, and end location of a duty performed by a personnel member. A "work pattern" refers to a set of duties that constitute the work of the same personnel member. Each personnel member is assigned to one of several work patterns. Each personnel member is then required to perform each duty in their assigned work pattern while satisfying predetermined constraints related to the duty (maximum working hours, maximum duty time, etc.).

[0022] Here, we will briefly describe the planning support device 10 of this embodiment. First, in the first step, the planning support device 10 creates a large number of work patterns (movements in each section) for each person, and performs a first optimization calculation (a calculation to obtain a set covering solution) to identify a work pattern (solution candidate) from among the created work patterns that covers all the duties. Here, "covered" means that one of the work patterns (or the corresponding person) is assigned to that duty.

[0023] Next, in the second stage, the planning support device 10 creates a personnel allocation plan by performing a second optimization calculation (a calculation to obtain a set partitioning solution) to identify a solution (a combination of assignments for each person to each duty) from among the created candidate solutions, in which each person is assigned to a section as consecutive as possible and a predetermined evaluation value related to the assignment is optimized.

[0024] Known methods for enumerating candidate solutions that satisfy the above constraints include column generation methods. Similarly, known methods for selecting combinations of candidate solutions include branch-and-bound methods.

[0025] Hereafter, "problem" will be defined as the task of selecting an appropriate combination from an infinite number of possible solutions to create a personnel allocation plan, and "problem size" will be defined as the number of possible combinations that can be selected from the infinite number of possible solutions. The selected combination of possible solutions will be referred to as the "solution."

[0026] Figure 2 shows an example of the functional units of the planning support device 10. The planning support device 10 includes the following functional units: a constraint storage unit 11, a relaxed solution acquisition unit 12, a constraint violation portion extraction unit 13, a cluster creation unit 14, a constraint creation unit 15, and an optimal solution calculation unit 16.

[0027] The constraint memory unit 11 stores a first constraint, which is a strict constraint on a resource, when creating a plan (personnel allocation plan) to assign each of multiple resources (personnel) to one of multiple tasks (driving duties for each section) that are performed sequentially. In this embodiment, the first constraint is a set partition constraint, for example, the condition that one person is assigned to each section.

[0028] The relaxed solution acquisition unit 12 acquires a relaxed solution, which is the assignment of each resource to each task in a plan (personnel allocation plan) in which each of the multiple resources is assigned to one of the multiple tasks under a second constraint, which is a constraint that is relaxed compared to the first constraint. In this embodiment, the second constraint is a set coverage constraint, for example, the condition that one or more personnel are assigned to each section.

[0029] In this embodiment, the relaxed solution is calculated based on an equation or term representing the second constraint and a function representing an evaluation value of the assignment, with respect to a variable indicating whether or not each resource is assigned to each task.

[0030] The constraint violation extraction unit 13 extracts the portion of the relaxed solution obtained by the relaxed solution acquisition unit 12 that is allocated to each resource in a task where the resource allocation does not satisfy the first constraint condition (the constraint violation portion). In other words, the constraint violation portion is, for example, a section (task) where two personnel are assigned to work.

[0031] The cluster creation unit 14 creates clusters from the constraint violation parts extracted by the constraint violation part extraction unit 13, which are the parts of consecutive tasks where the same resource is assigned to multiple consecutive tasks. A cluster is a subset in the set cover problem.

[0032] More specifically, the cluster creation unit 14 creates a cluster of constraint violation parts extracted by the constraint violation part extraction unit 13, which are the parts of consecutive tasks where the same resource is assigned to multiple consecutive tasks, and which are the parts of the tasks that lower the evaluation value of the above function.

[0033] The constraint creation unit 15 creates a third constraint to ensure that the same resources are allocated to multiple consecutive tasks, including at least the cluster created above.

[0034] The optimal solution calculation unit 16 calculates the optimal solution, which is the allocation of each resource to each task in a plan (personnel allocation plan) in which each of the multiple tasks is allocated to one of the multiple tasks, under the third constraint conditions created by the constraint condition creation unit 15.

[0035] In this embodiment, the optimal solution calculation unit 16 calculates the optimal solution for optimizing the value of the function, which determines whether each resource is assigned to each task, based on an equation or term relating to the third constraint condition and a function representing the evaluation value of the assignment, relating to a variable that indicates whether each resource is assigned to each task.

[0036] Figure 3 shows an example of the hardware configuration of the planning support device 10. The planning support device 10 includes a computing device 31 such as a CPU (Central Processing Unit), a main memory device 32 such as RAM (Random Access Memory) or ROM (Read Only Memory), an auxiliary storage device 33 such as an HDD (Hard Disk Drive) or SSD (Solid State Drive), an input device 34 such as a keyboard, mouse, or touch panel, an output device 35 such as a display or touch panel, and a communication device 36 consisting of a NIC (Network Interface Card), wireless communication module, USB (Universal Serial Interface) module, or serial communication module.

[0037] The functions of the planning support device 10's functional unit, as described above, are realized by the arithmetic unit 31 of the planning support device 10 reading programs from the main memory 32 or auxiliary memory 33. Each program can be recorded and distributed, for example, on a portable or fixed recording medium. In addition, each program in each information processing device may be implemented, in whole or in part, using virtual information processing resources provided using virtualization technology, process space isolation technology, etc., such as a virtual server provided by a cloud system. Furthermore, all or part of these programs may be implemented by services provided by a cloud system via an API (Application Programming Interface), etc.

[0038] Next, we will explain the processes performed by the planning support device 10.

[0039] First, Figure 4 is a diagram illustrating the air route (hereinafter referred to as "this air route") and the configuration of flights used on this air route according to this embodiment. Reference numeral 41 in the figure is a diagram showing the daily flight schedule for each flight on this air route in chronological order. Reference numeral 42 in the figure is a diagram summarizing the departure and arrival airports for flights included in the flight schedule.

[0040] As shown in Figure 4, this air route has four airports as its departure and arrival points: Airport A, Airport B, Airport C, and Airport D. This air route has segments between Airport A and Airport B, between Airport B and Airport C, and between Airport C and Airport D. Each flight departs from and arrives at each of these segments. That is, each flight departs from a designated departure point, passes through zero or more transit points, and arrives at a designated destination. For example, flight 106 departs from Airport A, the departure point, arrives at Airport B, a transit point, departs from Airport B, arrives at Airport C, a transit point, and departs from Airport C, arrives at Airport D, the destination. Each crew member is assigned a work pattern to serve on all or part of any of these segments of the flight.

[0041] Next, Figure 5 is a flowchart illustrating the outline of the planning support process performed by the planning support device 10 according to Example 1. The planning support process is started, for example, when a predetermined instruction is input from the user terminal 20.

[0042] The planning support device 10 performs a first optimization calculation to obtain a relaxed solution, which is a provisional solution for the personnel allocation plan (step S1). One or more relaxed solutions may be obtained.

[0043] Specifically, the planning support device 10 identifies a work pattern (a work pattern that covers all duties) in which at least one person is assigned to every segment of every flight. For example, the planning support device 10 generates an objective function that has a term in which each person is assigned to each segment, and calculates the total cost, which is the evaluation value of the personnel allocation plan, and identifies a pattern of variable values ​​that optimizes (in this case minimizes) the value of this objective function.

[0044] In this embodiment, the objective function in the first optimization calculation is represented by Equation 1, and the constraints (second constraints) are represented by Equations 2 and 3. Other constraints may also be considered.

[0045]

number

[0046] Equation 1 is the objective function that represents the sum of costs (total cost) of the selected solution candidates from among all possible work patterns (whether each person is assigned to work for each section) included in the set J of assignments for all personnel to work (sections). Specifically, the coefficient Cj is the cost, which is an evaluation value representing the quality of the j-th solution candidate, and xj is a variable of 0 / 1. xj=1 if the j-th work pattern is adopted (assigned to work (section)), and xj=0 if it is not adopted. The cost Cj is the cost of the j-th solution candidate, i.e., the distance traveled.

[0047]

number

[0048] Equation 2 is a set coverage constraint. The coefficient Aij is a constant that takes the value Aij=1 if crew i is included in the candidate solution j, and Aij=0 otherwise. By imposing the constraint Equation 2 on all crew i, all crews can be covered by one or more personnel.

[0049]

number

[0050] The right-hand side m of equation 3 is the maximum number of personnel. Equation 3 represents the constraint on the maximum number of personnel in a given interval. When each selected candidate is assigned by one person, the constraint shown by equation 3 requires that the number of personnel in a given interval is less than or equal to the maximum number of personnel m.

[0051] (tentative solution) Here, Figure 6 shows an example of a provisional solution obtained by the first optimization calculation in Example 1. As shown in the figure, this provisional solution is a set of solutions for each section 62 of each flight 61 from departure to arrival (from the starting airport 63 where departure occurs to the ending airport 64 where landing occurs), where each personnel J is assigned or not 65 (assigned = 1, not assigned = 0). Each section 62 is assigned a corresponding identifier (crew index 66).

[0052] Next, as shown in Figure 5, the planning support device 10 loads the original problem that the second optimization calculation to obtain the set partition solution must satisfy.

[0053] In this embodiment, the original problem is an equation consisting of the set partitioning constraint represented by Equation 4 below, in addition to Equation 1 and Equation 3 described above, instead of Equation 2, and the constraint conditions considered during the first optimization calculation.

[0054]

number

[0055] Similar to equation 2, in equation 4, the coefficient Aij is a constant that takes the value Aij=1 if the candidate solution j includes the crew i, and Aij=0 otherwise. In other words, equation 4 is a constraint that represents a stricter constraint by replacing the inequality in equation 2 with an equality. By imposing the constraint of equation 4 on all i included in the problem, all crews can be covered by just one person.

[0056] Next, the planning support device 10 refers to the provisional solution obtained in step S1 and identifies the solution that violates the constraints of the original problem (the part that violates the constraints) (step S2).

[0057] In this embodiment, the planning support device 10 determines whether the constraint condition shown by Equation 4 is satisfied for each interval in the provisional solution (i.e., only one person is assigned to that interval). If it determines that the constraint condition shown by Equation 4 is not satisfied, the solution (assignment of each person) for that interval is considered to be in violation of the constraint.

[0058] (Constraint violation part) Figure 7 shows an example of a solution that violates the constraints in the provisional solution of Example 1 (the constraint-violating portion is enclosed in a thick border). Figure 8 shows an example of a flight plan that includes a portion that violates the constraints (the elements of the flight plan corresponding to the portion that violates the constraints are shown in bold).

[0059] As shown in these figures, for example, the solution for crew index n (the section from starting airport B to ending airport A in flight 105) (whether each person is assigned) is x1=1, x2=1, which is a constraint violation (symbol 71). The solution for crew index n+1 (the section from starting airport A to ending airport B in flight 106) (whether each person is assigned) is x1=1, x2=1, which is a constraint violation (symbol 72). The solution for crew index n+9 (the section from starting airport C to ending airport D in flight 108) is x1=1, x2=1, x3=1, which is a constraint violation (symbol 73).

[0060] Next, as shown in Figure 5, the planning support device 10 executes a cluster creation process S3 (step S3) to create a cluster (a portion of the constraint violation where the same personnel are assigned to multiple consecutive sections) based on the constraint violation portion identified in step S2. Details of the cluster creation process S3 will be described later.

[0061] Next, as shown in Figure 5, the planning support device 10 creates an optimization function that includes an objective function for calculating the optimal solution for assigning each person to each task, based on the cluster created in step S3 (step S4).

[0062] In this embodiment, the optimization function includes objective functions (Equations 1 and 3) and set partitioning conditions (Equation 4), as well as third constraint conditions (Equations 5 to 7) as shown below.

[0063]

number

[0064]

number

[0065]

number

[0066] Equation 5 is a linear expression representing one of the constraints on the continuity of assigning the same personnel within the same cluster (hereinafter also called the continuity constraint). This constraint (hereinafter referred to as the cluster constraint) ensures that the assignment of the same personnel to each task within the cluster is "available". In the example in Figure 7, the constraint is that the values ​​of all crew assignments within cluster interval 74 are all "1".

[0067] Equation 6 represents a continuity constraint that ensures the assignment of identical personnel within each cluster is identical for two adjacent clusters. This constraint (hereinafter referred to as the inter-cluster constraint) ensures that the assignment of identical personnel within two adjacent clusters is always "present".

[0068] Equation 7 represents the continuity constraint at the boundary between clusters as a linear expression. This constraint (hereinafter referred to as the cluster boundary constraint) ensures that the assignment of the same personnel within a given cluster and the assignment of the same personnel to a task adjacent to (continuous with) that cluster are both "available". In the example in Figure 7, the constraint is that the value of the crew assignment within cluster 74 and the value of the assignment for crew 75 immediately following cluster 74 are both "1".

[0069] Note that you may also use the number 8 instead of number 5, and the number 9 instead of number 6.

[0070]

number

[0071]

number

[0072] The terms for the third constraint shown in equations 5-9 calculate a penalty based on the degree to which the same personnel are not assigned to multiple consecutive tasks with the same assignment content. Note that equations 5-9 are just examples, and the strength of the penalty may vary depending on the type of constraint. For example, the strength of the penalty in the equation or term related to intra-cluster constraints may be stronger than the strength of the penalties in the equation or term related to inter-cluster constraints and intra- and extra-cluster constraints. In such cases, for example, the equation or term related to intra-cluster constraints may be made into an absolute constraint such as an inequality.

[0073] Furthermore, in this embodiment, an Ising model using adiabatic quantum computation (quantum annealing) may be used. Adiabatic quantum computation obtains a solution by transforming the problem so that the ground state of a certain physical system is the solution, and finding the ground state (Reference: E. Farhi, et al., "A quantum adiabatic evolution algorithm applied to random instances of an NP-complete problem", Science 292, 472 (2001)). Methods for solving the Ising model are publicly known and are disclosed, for example, in Japanese Patent Publication No. 2022-151199, Japanese Patent Publication No. 2022-116909, and Japanese Patent Publication No. 2024-017959.

[0074] In this embodiment, the equation for the Ising model is generally expressed by the following equation 10.

[0075]

number

[0076] Specifically, for example, it would be like the following number 11.

[0077]

number

[0078] In equation 11, the first term corresponds to the objective function in equation 1, and the second term corresponds to the inequality constraint in equation 3. λ in the second term is an auxiliary variable, and δ is expressed as in equation 12. The fourth term corresponds to the intra-cluster constraint in equation 8, the fifth term to the inter-cluster constraint in equation 9, and the sixth term to the intra- and extra-cluster constraint in equation 7.

[0079]

number

[0080] In the Ising model, too, the strength of each constraint can be adjusted by changing the values ​​of auxiliary variables. For example, to make the intra-cluster constraints stronger than the inter-cluster constraints, we can define the values ​​of λ' and λ'', which represent the magnitude of the penalty indicating the strength of the constraint violation, as shown in Equation 13 below. Similarly, we can make the inter-cluster constraints stronger than the intra-cluster constraints.

[0081]

number

[0082] Next, as shown in Figure 5, the planning support device 10 calculates the optimal solution of the optimization function determined in step S4 for each candidate solution of the relaxation solution and obtains the respective solution (whether or not each person is assigned to work in each section) (step S5). Then, the planning support device 10 displays the optimal solution obtained in step S5 on the screen of the user terminal 20 (step S6). The planning support device 10 may also display only the optimal solution related to the candidate solution for which the value of the objective function is optimal (for example, the minimum).

[0083] (Optimal solution) Figure 9 shows an example of the optimal solution screen displayed on the user terminal 20 in Embodiment 1. As shown in the figure, this screen displays whether each personnel J is assigned to each section 92 (from the departure airport 93 to the arrival airport 94) of each flight 91 (assigned = 1, not assigned = 0). Each section 92 is assigned a corresponding identifier (crew index 96).

[0084] As shown in the figure, this optimal solution, compared to the provisional solution mentioned above, assigns the same personnel to duty over as many consecutive sections as possible, and assigns only one personnel to each section (indicated by 97).

[0085] <Cluster creation process> Figure 10 is a flowchart illustrating the details of the cluster creation process S3. First, the planning support device 10 selects one of the candidate solutions (step S31). Specifically, the planning support device 10 obtains one of several solution patterns for the objective function obtained by the first optimization calculation (a combination of whether or not all personnel are assigned to each crew). For example, it obtains the entire provisional solution shown in Figure 6.

[0086] The planning support device 10 selects one personnel in the selected solution candidate and identifies all sets of closed route shifts (sections) (hereinafter referred to as blocks) within the section where multiple personnel are assigned (constraint violation section or overlapping node) where the selected personnel are assigned consecutively (consecutively in chronological order) and the departure point of the first section and the arrival point of the last section are the same (step S32). For example, in the example in Figure 6, this is the shift section 74 (B→A→B) related to personnel J=1 in the area of ​​symbols 71 and 72, which are constraint violation sections.

[0087] The planning support device 10 identifies N consecutive crews (start numbers i=1, 2, ..., N) that make up each block in chronological order, and executes a cluster identification process S33 to identify each cluster based on the identified crews. Details of the cluster identification process S33 will be described later.

[0088] The planning support device 10 repeats the above process for all personnel in all candidate solutions (step S34).

[0089] <Cluster Identification Process S33> Figure 11 is a flowchart illustrating the details of the cluster identification process S33. First, the planning support device 10 sets various variables (cluster serial number n, start number i) that represent elements (sections to which crew members are assigned) in the block to be processed (step S331).

[0090] The planning support device 10 executes the processes in steps S333 to S334 for each element j from the (i+1)th to the (i+N)th element in the block to be processed (S332).

[0091] In other words, the planning support device 10 determines whether the personnel allocation indicated by the group of elements from the i-th element to the j-th element will lower the evaluation of the objective function (S333). Specifically, the planning support device 10 determines whether the value (cost) of the objective function will not increase even if each term of the variables related to the i-th element to the j-th element in the objective function related to the first optimization calculation is deleted.

[0092] If the evaluation of the objective function is to be reduced (S333: Yes), the planning support device 10 executes the process in step S334. If the evaluation of the objective function is not to be reduced (S333: No), the planning support device 10 repeats the process in step S332 for the next element.

[0093] In step S334, the planning support device 10 registers the group of elements from the i-th element to the j-th element as a new cluster. Specifically, the planning support device 10 assigns the cluster number n, the cluster's start number i, and its end number j. Then, the planning support device 10 increments the cluster's serial number n (by adding 1). After that, the planning support device 10 repeats the process in step S332 for the next element.

[0094] When element j reaches the i+Nth position, the planning support device 10 executes the following step S335.

[0095] In other words, if the planning support device 10 cannot find a cluster in which the value of the objective function (cost) decreases during the processing of steps S332 to S334, it checks whether the i-th element is already registered in the cluster.

[0096] If the i-th element is already registered in the cluster (step S335: Yes), the cluster identification process S33 is terminated. If the i-th element is not registered in the cluster (step S335: No), the planning support device 10 executes the process in step S336.

[0097] In step S336, the planning support device 10 registers a cluster consisting only of the i-th element itself (step S336). Specifically, the planning support device 10 assigns the cluster number n, the cluster's start number i, and the cluster's end number i. Then, the planning support device 10 increments the cluster's serial number n (adds 1). This allows the registration of a nested state in which clusters exist within clusters.

[0098] (cluster) Here, Figure 12 shows an example of a cluster created in Example 1 (the areas enclosed by the same shading and thick border in each person's column are the same cluster). Figure 13 shows an example of a flight schedule including clusters (constraint violations are indicated by dotted circles around each cluster).

[0099] As shown in these figures, for example, personnel J=1 is assigned to a continuous closed route shift from index n to index n+1 (the section B→A→B), so a first cluster 1201 is created corresponding to these shifts.

[0100] Furthermore, for example, since personnel J=1 is assigned to a continuous closed route shift from index n+8 to index n+11 (the section B→C→D→C→B), a second cluster 1202 is created to correspond to these shifts. Within this second cluster 1202, personnel J=1 is assigned to a continuous closed route shift from index n+9 to index n+10 (the section C→D→C), so a third cluster 1203 is created to correspond to these shifts.

[0101] Furthermore, due to cluster constraints, for example, all crew assignment values ​​in the first cluster 1201 are set to "1".

[0102] Furthermore, due to constraints within and outside the cluster, for example, the crew assignment value in the first cluster 1201 and the crew assignment value in the crew assignment 1204 immediately following the first cluster 1201 are both "1".

[0103] Furthermore, due to inter-cluster constraints, for example, the crew assignment value 1206 in the second cluster 1202 and the crew assignment value 1207 in the third cluster 1203 are both set to "1".

[0104] As described above, the planning support device 10 of this embodiment obtains a relaxed solution (first optimization calculation) which is the assignment of each person to each task (section) in a plan in which each of the multiple personnel is assigned to one of the multiple crews (sections) under a constraint condition (second constraint condition) such as a partitioning constraint that is relaxed from a strict constraint (first constraint condition) such as a set partitioning constraint. From the obtained relaxed solution, it extracts the portion (constraint violation portion) of the assignment to each person in tasks (sections) where the personnel assignment does not satisfy the first constraint condition. From the extracted constraint violation portion, it creates a cluster of consecutive tasks in which the same person is assigned to multiple consecutive tasks. The planning support device 10 then creates a third constraint condition to ensure that the same resources are assigned to multiple consecutive tasks, including at least the created cluster. Under the created third constraint condition, it calculates an optimal solution (second optimization calculation) which is the assignment of each person to each task in a plan in which each of the multiple personnel is assigned to one of the multiple tasks (sections).

[0105] In other words, the planning support device 10 of this embodiment divides a relaxed solution (a solution that violates constraints) into multiple elements by creating clusters within the relaxed solution (a solution that violates constraints), sets constraint conditions (third constraint conditions) that require each variable (crew assignment) within the cluster to be as similar as possible in consecutive intervals, performs optimization calculations, and obtains a set partitioning solution (or a solution close to it). This makes it possible to reliably create good plans even when the target data is large in scale. For example, even for problem scales where it is difficult to obtain a set partitioning solution with conventional methods, it is possible to obtain a set partitioning solution (or a solution close to it) from a set covering solution while reducing the total cost while adhering to the constraints that the solution must satisfy (constraints of the original problem). In addition, by using constraints that require consecutive assignments, it becomes possible to create plans that feel less unnatural.

[0106] Furthermore, the relaxed solution in this embodiment is calculated based on an equation or term (Equations 2 and 3) representing the second constraint condition and a function (Equation 1) representing the evaluation value of the assignment with respect to a variable indicating whether or not each person is assigned to each task. The planning support device 10 then creates a cluster of tasks that are in the constraint violation portion, where the same person is assigned to multiple consecutive section tasks, and which are the parts of the tasks that reduce the evaluation value of the above function (the same applies to Equation 20).

[0107] By using these constraints (terms) and objective function, it is possible to reliably calculate the assignment of each personnel to each crew and the clusters.

[0108] Furthermore, the planning support device 10 of this embodiment calculates the optimal solution for whether or not each person is assigned to each task when optimizing the value of the function (Equation 1), based on the equation or term (Equations 5-7) relating to the third constraint condition and the function (Equation 1) representing the evaluation value of the assignment, relating to the variable indicating whether or not each person is assigned to each task (Equation 20 is similar).

[0109] By using these constraint equations (terms) and objective function, it is possible to reliably calculate the optimal assignment of each personnel to each duty.

[0110] Furthermore, the planning support device 10 of this embodiment creates the following as third constraints: intra-cluster constraints (ensure that the allocation of the same personnel to each task within a cluster is the same), intra-resource constraints (ensure that the allocation of personnel within a cluster is the same as the allocation of personnel to the adjacent crew (section) to that cluster), and inter-cluster constraints (ensure that the allocation of personnel within two adjacent clusters is the same).

[0111] By setting constraints such that assignments are the same across clusters, within clusters, and at the boundaries between clusters and outside clusters, each personnel is assigned to duties in as many consecutive sections as possible, resulting in an optimal assignment of each duty with less workload for each personnel.

[0112] Furthermore, the planning support device 10 of this embodiment calculates the optimal solution based on an equation or term (equations 5-9) that imposes a penalty according to the degree to which the same personnel are not assigned to multiple consecutive shifts with the same content, as an equation or term relating to the third constraint condition (equation 20 is similar).

[0113] In this way, by setting the third constraint as a penalty, the optimal solution can be calculated more reliably.

[0114] Furthermore, the planning support device 10 in this embodiment sets the penalty for the equations or terms related to the constraints inside and outside the cluster and the constraints between clusters to be stronger than the penalty for the equations or terms related to the constraints inside the cluster.

[0115] This allows for the optimal assignment of each personnel to each duty without disrupting the continuity of clusters where a continuity of duty assignments already exists.

[0116] <Example 2> The planning support system according to Example 2 assists in the creation of transportation route plans.

[0117] Figure 14 is a diagram illustrating the area to which the transportation route plan according to Example 2 is applied. The transportation route plan involves determining combinations of routes that use m identical transport vehicles to depart from a predetermined point (base), visit all (1-8) of multiple stopover locations (customers), and return to the base.

[0118] The configuration and functions of the planning support system in Example 2 are the same as in Example 1. Next, the processing of the planning support system in Example 2 will be described.

[0119] In Example 2, the same processing as in Example 1's plan creation support process is performed. First, in the first optimization calculation in step S1, for example, equation 14 shown below is used as the objective function, and equations 15 and 16 are used as the second constraint conditions.

[0120]

number

[0121]

number

[0122]

number

[0123] Equation 14 is the objective function representing the total cost. The coefficient Cr is the cost, which is an evaluation value representing the quality of the r-th route (each segment of travel along the path, i.e., between a base and a stopover, or between stopovers). xr is a 0 / 1 variable where xr=1 if the r-th route is adopted, and xr=0 if it is not adopted. Equation 14 is the sum of the costs of the selected candidate solutions from all solutions included in the set R of whether each route is adopted or not. In this example, the cost Cr is the total distance of the r-th route candidate.

[0124] Equation 15 is a set covering constraint. The coefficient Air is a constant that takes the value Air=1 if customer i is included in the route candidate r, and Air=0 otherwise. By imposing the constraint Equation 11 on all customers i, all customers can be covered by one or more transport vehicles.

[0125] Equation 16 is a constraint on the number of transport vehicles. The right-hand side m of equation 16 is the number of transport vehicles. The constraint of equation 16 requires that the number of transport vehicles in the solution is m.

[0126] Next, the original problem that the second optimization calculation must satisfy is, in addition to equations 14 and 16 mentioned above, equation 17 below, and the constraints considered in the first optimization calculation (third constraint).

[0127]

number

[0128] Equation 17 is a set partitioning constraint. Similar to equation 15, the coefficient Air is a constant such that Air=1 if customer i is included in candidate r, and Air=0 otherwise. In other words, equation 17 represents a stricter constraint than equation 15, replacing the inequality with an equality. By imposing the constraint of equation 17 on all customers i, all customers can be covered by exactly one customer.

[0129] In step S2, the planning support device 10 identifies the portion of the original problem that violates constraints from the provisional solution obtained in step S1, similar to the example in Example 1.

[0130] Figure 15 shows an example of a solution that violates the constraints in the provisional solution of Example 2 (the constraint-violating portion is enclosed in a thick border). Figure 16 shows an example of a transport route that includes a constraint violation (the route element corresponding to the constraint violation is shown in bold).

[0131] Next, the planning support device 10 creates clusters based on the constraint violations detected in step S2, similar to the first embodiment. That is, the planning support device 10 searches for elements from the (i+1)th to the (i+N)th element, relative to the i-th element in the extracted block. The planning support device 10 registers elements that, if deleted, would reduce costs into clusters. If no clusters that would reduce costs are found, the planning support device 10 registers a cluster consisting only of the i-th element, provided that the i-th element itself does not already belong to another cluster.

[0132] Here, Figure 17 shows an example of a cluster created in Example 2 (the areas enclosed by the same shading and thick border in each root column are the same cluster). Figure 18 shows an example of a transport route including clusters (constraint violations are indicated by dotted circles around each cluster).

[0133] Next, the planning support device 10 determines the optimization function based on the cluster obtained in step S3, similar to the example in Example 1 (step S4).

[0134] The optimization function(s) of Example 2 includes the objective function (Equation 14), the constraints (Equation 16), and the set partitioning conditions (third constraint) (Equation 17), as well as the following constraints (third constraints) (Equations 18 to 22).

[0135]

number

[0136]

number

[0137]

number

[0138]

number

[0139]

number

[0140] Equation 18 represents the increase in travel distance when one customer is removed from a cluster of customers.

[0141] Numbers 19-22 are examples showing the increase in travel distance when removing multiple customers from a cluster of customers.

[0142] Then, the planning support device 10 solves the optimization function determined in step S4, as in the first embodiment, and displays the solution on the screen of the user terminal 20 (step S6).

[0143] (Optimal solution) Figure 19 shows an example of the optimal solution screen displayed on the user terminal 20 in Example 2. Figure 20 shows an example of a screen displaying the optimal solution corresponding to the path shown on the user terminal 20 in Example 2.

[0144] As shown in these diagrams, the user terminal 20 screen displays a plan that ensures the fewest possible number of transport vehicles (for example, one) stop for each customer.

[0145] As described above, the planning support device 10 of this embodiment can reliably create a good plan even when the target data is large, in addition to addressing the delivery planning problem.

[0146] The present invention is not limited to the embodiments described above, and can be implemented using any components without departing from its essence. The embodiments and modifications described above are merely examples, and the present invention is not limited to these as long as the features of the invention are not impaired. Furthermore, although various embodiments and modifications have been described above, the present invention is not limited to these. Other embodiments conceivable within the scope of the technical idea of ​​the present invention are also included within the scope of the present invention.

[0147] For example, some of the hardware provided in each device of each embodiment may be provided in other devices.

[0148] Furthermore, each program of each device may be provided in other devices, a program may consist of multiple programs, or multiple programs may be integrated into a single program.

[0149] Furthermore, the present invention can be applied not only to the aircraft transport plan described in Example 1, but also to the transport plan for vehicles such as route buses, and to the allocation of personnel in various operations. For example, the present invention can be used when it becomes necessary to formulate a personnel allocation plan due to revisions to transport plans, etc. Alternatively, it can be used for simulations when revising work shifts due to changes in company regulations or laws, etc.

[0150] Furthermore, in each embodiment, the first optimization calculation is assumed to be a set cover problem and the second optimization calculation is assumed to be a set partition problem, but this does not preclude its application to other types of optimization problems or other decision problems.

[0151] Furthermore, the objective function and constraints described in each embodiment are merely examples. For instance, an objective function relating to evaluation values ​​other than cost or distance may be adopted. Also, for example, in each embodiment, the optimal case was defined as the case where the value of the objective function is at its minimum, but an objective function that defines the optimal case as the case where the value is at its maximum may also be used.

[0152] Furthermore, the order of penalty strengths for each third constraint (intra-cluster constraint, intra-cluster / extra-cluster constraint, inter-cluster constraint) described in each embodiment is merely an example, and different orders may be set. [Explanation of Symbols]

[0153] 10. Planning support device, 11. Constraint condition storage unit, 12. Relaxed solution acquisition unit, 13. Constraint violation portion extraction unit, 14. Cluster creation unit, 15. Constraint condition creation unit, 16. Optimal solution calculation unit

Claims

1. A storage device for storing a first constraint, which is a constraint on a resource, when creating a plan to assign each of several resources to one of several tasks performed sequentially, and A relaxed solution acquisition process that acquires a relaxed solution, which is the allocation of each resource to each task in a plan in which each of the multiple tasks is allocated to one of the multiple tasks under a second constraint, which is a constraint that is relaxed compared to the first constraint, A constraint violation extraction process extracts the portion of the relaxed solution obtained above that is the portion of the resource allocation in the business where the allocation of resources does not satisfy the first constraint, which is the constraint violation portion. A cluster creation process that creates a cluster of consecutive tasks from the extracted constraint violation portions, where the same resource is assigned to multiple consecutive tasks, A constraint creation process that creates a third constraint to ensure that the same resources are allocated to multiple consecutive tasks, including at least the cluster created above, An optimal solution calculation process calculates the optimal solution which is the allocation of each resource to each task in a plan in which each of the multiple tasks is allocated to one of the multiple tasks, under the third constraint conditions created above. A planning support device equipped with a computing unit that performs the following.

2. The aforementioned computing device is In the relaxation solution acquisition process, a relaxation solution is obtained that is calculated based on an expression or term representing the second constraint condition and a function representing the evaluation value of the assignment, with respect to a variable representing whether or not each resource is assigned to each task. In the cluster creation process described above, a cluster is created that consists of the portion of the extracted constraint violation portion that is part of a series of consecutive tasks where the same resource is assigned to multiple consecutive tasks, and which is the portion of the task that reduces the evaluation value of the function. The planning support device according to claim 1.

3. The aforementioned computing device is In the constraint creation process described above, at least one of the following constraints is created as the third constraint: an intra-cluster constraint that ensures the allocation of the same resource to each business within the created cluster is the same; an intra-cluster external constraint that ensures the allocation of the resource to a business adjacent to the created cluster is the same; and an inter-cluster constraint that ensures the allocation of the same resource to two adjacent clusters is the same. The planning support device according to claim 1.

4. The aforementioned computing device is In the aforementioned optimal solution calculation process, based on the formula or term relating to the created third constraint condition and a function representing the evaluation value of the assignment, which relates to a variable indicating whether or not each resource is assigned to each task, the optimal solution is calculated for whether or not each resource is assigned to each task when the value of the function is optimized. The planning support device according to claim 1.

5. The aforementioned computing device is In the aforementioned optimal solution calculation process, the optimal solution is calculated based on an expression or term relating to the created third constraint, which imposes a penalty corresponding to the degree to which the same resources are not allocated to the multiple consecutive tasks in the same manner. The planning support device according to claim 4.

6. The third constraint includes an intra-cluster constraint that ensures the allocation of the same resource to each business within the created cluster is the same, an intra-cluster external constraint that ensures the allocation of the resource to a business adjacent to the created cluster is the same, and an inter-cluster constraint that ensures the allocation of the same resource to two adjacent clusters is the same. The aforementioned computing device is In the aforementioned optimal solution calculation process, the penalty for the expression or term relating to the intra-cluster constraint is set to be stronger than the penalty for the expression or term relating to the intra-cluster and extra-cluster constraints. The planning support device according to claim 5.

7. A storage device for storing a first constraint condition, which is a constraint condition on the resources, when creating a plan such that one of the multiple resources is assigned to all of the multiple stopovers, by assigning each of the multiple resources to one of the multiple sections of travel on a route that departs from a predetermined point, passes through multiple stopovers, and returns to the predetermined point, and A relaxation solution acquisition process that acquires a relaxed solution which is the assignment of each resource to each interval movement in the plan, under a second constraint which is a constraint less restrictive than the first constraint, and assigns each of the multiple resources to one of the multiple interval movements. A constraint violation extraction process extracts the portion of the relaxed solution obtained above that is the portion of the allocation of resources to each resource in interval movement where the allocation of resources does not satisfy the first constraint condition, A cluster creation process that creates a cluster of the consecutive interval movements in which the same resource is assigned to multiple consecutive interval movements from the extracted constraint violation portions, A constraint creation process that creates a third constraint to ensure that the same resource is allocated to multiple consecutive intervals including the cluster created above, An optimal solution calculation process that calculates the optimal solution which is the allocation of each resource to each section movement in the plan, under the third constraint conditions created above, by assigning each of the multiple resources to one of the multiple section movements, A planning support device equipped with a computing unit that performs the following.

8. A method for supporting the creation of a plan, comprising a storage device for storing first constraint conditions which are constraint conditions on the resources, and an information processing device for storing a storage device for storing first constraint conditions which are constraint conditions on the resources, when creating a plan to assign each of the multiple resources to one of the multiple tasks which are performed sequentially, The aforementioned computing device A relaxed solution acquisition process that acquires a relaxed solution, which is the allocation of each resource to each task in a plan in which each of the multiple tasks is allocated to one of the multiple tasks under a second constraint, which is a constraint that is relaxed compared to the first constraint, A constraint violation extraction process extracts the portion of the relaxed solution obtained above that is the portion of the resource allocation in the business where the allocation of resources does not satisfy the first constraint, which is the constraint violation portion. A cluster creation process that creates a cluster of consecutive tasks from the extracted constraint violation portions, where the same resource is assigned to multiple consecutive tasks, A constraint creation process that creates a third constraint to ensure that the same resources are allocated to multiple consecutive tasks, including at least the cluster created above, An optimal solution calculation process calculates the optimal solution which is the allocation of each resource to each task in a plan in which each of the multiple tasks is allocated to one of the multiple tasks, under the third constraint conditions created above. A method for supporting the creation of a plan to execute this plan.

Citation Information

Patent Citations

  • Replan output device

    JP2022145506A