Information processing system

The information processing system addresses the challenge of large-scale combinatorial optimization problems by using an interaction model and CMOS annealing to generate subproblems, reducing problem size and calculation time through efficient allocation candidate generation and optimization.

JP2024171069APending Publication Date: 2024-12-11HITACHI LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023087943
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-05-29
Publication Date
2024-12-11

AI Technical Summary

Technical Problem

Conventional computer-based algorithms face challenges in formulating plans for complex combinatorial optimization problems like assignment and route determination due to the large number of solution candidates, making it difficult to find solutions within a realistic time frame.

Method used

An information processing system that utilizes an interaction model, such as the Ising model, and computation technology like CMOS annealing to reduce problem size and calculation time by generating candidates for subproblems using a sequence generation method and solving set partitioning and set covering problems.

Benefits of technology

The system effectively reduces problem size and calculation time by generating a reduced graph based on shared nodes, enabling efficient handling of complex constraints and optimizing allocation processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024171069000001_ABST
    Figure 2024171069000001_ABST
Patent Text Reader

Abstract

To provide an information processor that enables reduction in problem scale and calculation time.SOLUTION: An information processor includes: means of obtaining destination data, allocation data, a constraint, and a sharing condition; a graph generation unit that performs allocation from allocation data, which is a set of allocation targets, according to the constraint to allocation destination data, which is a set of allocation destination elements, and groups a part of the allocation according to the sharing condition to create a graph showing an allocation relation; a graph search unit that generates a plurality of allocation candidates by searching the graph showing the allocation relation; an optimization calculation unit that generates an optimization model and performs optimization processing on the allocation candidates to obtain optimized allocation; and an expansion unit that releases grouping included in the optimized allocation to obtain final allocation.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing system, and more particularly to an information processing system for reducing the problem scale of a combinatorial optimization problem. [Background technology]

[0002] Annealing methods have been attracting attention as a fast method for solving combinatorial optimization problems to improve the productivity of social systems. Real problems such as transportation, delivery, and route planning require the consideration of many complex constraints, and allocation problems such as work shift creation and personnel deployment are classified as NP-hard problems, and it is known that it is difficult to create plans at a speed that is practical using conventional computer-based algorithms. For this reason, there is a growing need for automation of allocation planning.

[0003] As a related art technique, for example, the technique described in Patent Document 1 below can be mentioned. An assignment problem processing system that performs assignment while suppressing solution candidates by limiting the planning scope to the re-planned portion through the use of a pre-processing unit that generates candidates for the assignment problem by re-planning a portion of the previously planned assignment based on input information and creating a candidate graph, and an optimization unit that selects candidates from the candidates generated in the pre-processing unit. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent Publication No. 2022-145506 Summary of the Invention [Problem to be solved by the invention]

[0005] Patent Document 1 describes a general set partitioning problem / set covering problem using an interaction model, and divides the optimization problem into a part that retains the original plan that was planned in advance and a part that is re-planned. By limiting a part of the plan to be re-planned, the scale of the problem is reduced, and allocation is made so as to retain as much of the original plan as possible based on the specified KPI.

[0006] With this technology, there is a concern that when creating a plan from scratch, the number of candidate solutions will become enormous, making it difficult for the optimization section to search for a solution in a realistic amount of time.

[0007] The present inventors have conducted extensive research and, based on the knowledge or concept that such re-planning can be solved by a computer as an "optimization problem," have come up with the following idea.

[0008] In other words, in order to quickly solve large-scale optimization problems in the real world, one possible method is to describe the problem using an "interaction model" such as the Ising model, and perform the calculations using a "computational technology dedicated to optimization problems" such as CMOS annealing. When re-planning using an interaction model, a promising method for efficiently handling complex constraints is to generate candidates for subproblems using a column generation method or the like, and then use a method for solving the set partitioning problem or set covering problem.

[0009] In view of the above, an object of the present invention is to provide an information processing device that enables a reduction in problem scale and calculation time. [Means for solving the problem]

[0010] In view of the above, the present invention is an information processing system characterized by comprising: a means for obtaining destination data, allocation data, constraint conditions, and shared conditions; a graph generation unit that performs allocation from allocation data, which is a set of allocation targets, in accordance with the constraint conditions to the destination data, which is a set of destination elements, and groups some of the allocations in accordance with the shared conditions to create a graph showing the allocation relationships; a graph search unit that generates a plurality of allocation candidates by searching the graph showing the allocation relationships; an optimization calculation unit that generates an optimization model, performs optimization processing on the allocation candidates to obtain an optimized allocation, and an expansion unit that releases the groupings included in the optimized allocation to obtain a final allocation. Effect of the Invention

[0011] According to the present invention, a contracted graph can be obtained by using nodes shared by shared conditions, which can result in a reduction in problem size and calculation time. [Brief description of the drawings]

[0012] [Figure 1] 1 is a diagram showing an example of the overall configuration of an information processing system according to an embodiment of the present invention. [Diagram 2] FIG. 1 is a diagram showing an example of the hardware configuration of a computer system to which the present invention can be applied. [Diagram 3] FIG. 2 is a diagram showing an example of a processing flow of an information processing system according to an embodiment of the present invention. [Figure 4A] FIG. 13 is a diagram showing an example of assignment destination data in a work shift creation example. [Figure 4B] FIG. 13 is a diagram showing an example of allocation data in a work shift creation example. [Diagram 5] FIG. 13 is a diagram showing an example of sharing conditions in a work shift creation example. [Figure 6] FIG. 13 is a diagram showing an example of constraint conditions in a work shift creation example. [Figure 7] FIG. 13 is a diagram showing detailed processing content of creating a shared node in processing step S12. [Figure 8] FIG. 13 is a diagram showing the specific processing content of processing step S122. [Figure 9]13 is a diagram showing an example of allocation candidate graph creation processing in processing step S20. [Figure 10A] FIG. 13 is a conceptual diagram of processing when processing step S120 is performed. [Figure 10B] FIG. 13 is a conceptual diagram of an intermediate stage of sharing determination processing in processing step S122. [Figure 10C] FIG. 13 is a diagram showing the state in which processing has progressed to task Y3 in processing step S122b. [Figure 10D] A figure showing the results of performing sharing judgment up to the final task Y9. [Figure 10E] A diagram showing the state in which a connection between nodes is made by referencing the skills possessed by the assigned node. [Figure 11] This diagram shows all possible three-day schedules for each worker. [Figure 12] FIG. 11 is a diagram showing an example of an optimization process result. [Figure 13A] FIG. 13 is a diagram showing the state in which all loop processing has been completed and KPI calculations have been performed for the allocation confirmation portion. [Figure 13B] FIG. 13 is a diagram showing the final allocation completion state. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] The embodiments of the present invention will be described in detail with reference to the drawings. However, the present invention should not be interpreted as being limited to the description of the embodiments shown below. It will be easily understood by those skilled in the art that the specific configuration can be changed without departing from the concept or purpose of the present invention.

[0014] In the configurations of the invention described below, the same parts or parts having similar functions are denoted by the same reference numerals in different drawings, and duplicated descriptions may be omitted.

[0015] When there are multiple elements having the same or similar functions, they may be described by using the same reference numerals with different subscripts. However, when there is no need to distinguish between multiple elements, the subscripts may be omitted.

[0016] In the following description, the term "storage" may refer to at least one of memory and persistent storage. The term "memory" refers to one or more memory devices, which is an example of one or more storage devices, and may typically be a primary storage device.

[0017] In the following description, a "processor" may refer to one or more processor devices. The at least one processor device may typically be a microprocessor device such as a CPU (Central Processing Unit).

[0018] Furthermore, in the following description, for the sake of convenience, it may be described that a software block mainly executes processing, but it should be noted that the actual processing is mainly executed by a processor. EXAMPLES

[0019] 1 shows an example of the overall configuration of an information processing system according to an embodiment of the present invention. The information processing system 10 receives allocation destination data D1, shared condition data D2, and constraint condition data D3 in an input database DBI, processes the information, and finally stores allocation data in an output database DBO. This information processing system can be called an allocation plan proposal output device.

[0020] 1 functionally represents the processing contents in the calculation unit of an information processing system 10 realized by a computer, and can be said to comprise a preprocessing unit 11, an optimization calculation unit 12, and a shared node expansion unit 13. Although not shown, the calculation unit further comprises a function as an input / output support unit that manages data processing.

[0021] The present invention will be described in detail below with reference to Fig. 1, but before that, the items on which the present invention is based will be summarized. These are items related to the computer system that constitutes the information processing system, and also items related to the optimization calculation unit 12 that can be diverted to realize the present invention. A computer system with a well-known configuration as exemplified in Fig. 2 can be applied, and the present invention is characterized by the configuration of the preprocessing unit 11, and the optimization calculation unit 12 can apply a known method, so the explanation of these parts will be summarized here.

[0022] First, matters relating to the computer system that constitutes the information processing system will be summarized.

[0023] First, the information processing system shown in Fig. 1 can be configured by one physical computer. Alternatively, each component of the information processing system may be realized by a separate physical computer. Furthermore, instead of a computer system having one or more physical computers, the information processing system may be another type of system, for example, a system realized on a group of physical computing resources (for example, a cloud platform) (for example, a cloud computing system).

[0024] The computer system may have the well-known configuration shown in Fig. 2. Fig. 2 is a diagram showing an example of the hardware configuration of the computer system. Note that part of the hardware configuration of the computer system may be formed on a cloud via communication or the like.

[0025] The information processing system 10 in FIG. 2 is configured by connecting a calculation unit 21, a ROM 22, a RAM 23, a HDD 24, an input / output device 26, a communication device 25, and the like, which are storage devices, via a bus 27.

[0026] According to Figure 2, an input support unit (not shown) is connected to an input interface (an operation input unit such as a keyboard or mouse, a communication unit such as a modem, etc.) of an external device such as a PC, receives information input by a user via the input interface, stores the received information in an input data storage unit (described later), and supplies it to a processing support unit.

[0027] In addition, the input / output support unit is connected to an output interface of an external device such as a PC (a display unit such as an LCD, a printing unit such as a printer, an external memory such as a HDD, a communication unit such as a modem, etc.), and can receive or visually view data on the rescheduled plan automatically prepared by the information processing system via this output interface.

[0028] The input / output support unit may include a hardware processor for carrying out the above-mentioned processes while communicating with an external device such as the above-mentioned PC.

[0029] Furthermore, the input / output support unit manages an input data storage unit that stores, as input data, information about the plan that was originally formulated (hereinafter referred to as the "original plan") and about accidents that have occurred, and an output data storage unit that stores, as output data, information about replanning proposals based on the original plan; details of this configuration and the information stored therein will be described later.

[0030] Next, well-known optimization techniques that can be applied to the present invention will be summarized.

[0031] Returning to Fig. 1, the optimization calculation unit 12 in the information processing system 10 uses a "computation technology dedicated to optimization problems" such as CMOS annealing in order to process the optimization problem of replanning at high speed. Here, the optimization problem refers to a problem of finding the values ​​of variables that minimize or maximize the cost, which is the evaluation value, under required constraints.

[0032] The dedicated computational technology for optimization problems is an ultra-fast dedicated simulator of interaction models described in the form of the following equations (1) to (4), such as the Ising model or Boltzmann machine.

[0033]

number

[0034]

number

[0035]

number

[0036]

number

[0037] In equations (1) to (4), x and h are column vectors, and J is a symmetric matrix. In equation (1), x is a variable. The type of variable x depends on the properties of the hardware, so it can be modeled appropriately to match the properties of the hardware. Note that the subscript T is a symbol that indicates a transposed matrix.

[0038] Furthermore, in equations (1) to (4), J and h are each a constant, and the range (magnitude) of these constants, whether J and h are integers or real numbers, and the like depend on the properties of the hardware, but are not particularly limited thereto, and in addition, are less relevant to the features of this embodiment.

[0039] In equations (1) to (4), A(ij) is a parameter of set covering, Cj is the levelized cost, Di is the number of assigned data included in the shared node, and xj is a decision variable for whether to adopt candidate j. S is an undetermined node, and t is a decision variable for which of the nodes included in s to select.

[0040] Generally, in computer-related technologies that are used solely to calculate optimization problems (hereinafter sometimes referred to as “computational technologies dedicated to optimization problems”), the optimal value of variable x is found by searching or reproducing on a computer the minimum energy state of the interaction model described in equation (1) (the value of x that minimizes H on the left-hand side of equation (1)).

[0041] In other words, the dedicated calculation technology for optimization problems performs calculations using input values ​​such as the interaction coefficient of the interaction model (the value corresponding to J in equation (1)) and the external field coefficient (the value corresponding to h in equation (1)), and then calculates and outputs the variable x that minimizes H.

[0042] Returning to FIG. 1, the optimization calculation unit 12 is an example of a parallel processing device (a device capable of parallel processing), and serves as an accelerator for solving the assignment problem by calculating the interaction model (e.g., the Ising model) as described above in equation (1).

[0043] The optimization calculation unit 12 is typically a hardware circuit such as an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or a Graphics Processing Unit (GPU).

[0044] The optimization calculation unit 12 may be realized by a CPU (Central Processing Unit) having one or more physical or virtual cores.

[0045] Alternatively, the optimization calculation unit 12 can be, for example, a semiconductor computer (for example, a CMOS annealing machine) that simulates the operation of an Ising model using a semiconductor circuit (for example, a CMOS (Complementary Metal Oxide Semiconductor) circuit). The optimization calculation unit may be realized by, for example, an algorithm (for example, momentum annealing) that runs on a GPU.

[0046] Furthermore, the optimization calculation unit 12 may use an annealing type quantum computer or a general-purpose quantum computer instead of a digital computer.

[0047] The above is a summary of the prerequisites for the present invention. Returning to FIG. 1, the specific processing content of the present invention will now be described.

[0048] To execute the information processing system in Fig. 1, input data is obtained from the input database DBI. The input data is node data (allocation destination data D1) of the allocation target group (people, objects, tasks, etc.), constraint conditions D3 imposed by the target allocation problem, and shared conditions D2 that specify conditions such as node attributes.

[0049] Using the input node data D1, shared conditions D2, and constraint conditions D3, a candidate graph is generated in the graph generation unit 11a of the pre-processing unit 11. Note that the present invention is characterized by the processing of the graph generation unit 11a of the pre-processing unit 11, and the processing content of this portion is shown in an enlarged manner.

[0050] In the enlarged processing portion shown, first, a process 11a2 is performed to start registering node data D1 input in a general format 11a1, and then a determination 11a3 is made as to whether or not a constraint condition D3 is satisfied.

[0051] Thereafter, for node data D1 that satisfies constraint condition D3, sharing condition determination section 11a4 performs sharing condition determination based on input sharing condition D2, and for those that match the sharing condition, grouping section 11a5 obtains information on an already existing shared node that matches the condition, and registers 11a6 the node as belonging to that shared node. If the node does not exist, registration 11a6 is performed as a new shared node.

[0052] After the above process is performed for all input nodes D1, connections are made between the nodes so that the constraint conditions are satisfied, a candidate graph is created, and node registration is completed (11a7).

[0053] Next, the graph search unit 11b of the preprocessing unit 11 performs a candidate search for the candidate graphs to generate candidates. The generated candidates are assigned costs according to the KPI and are registered in the candidate matrix cost registration unit 11c.

[0054] The optimization calculation unit 12 performs model generation and optimization calculation according to the candidates and costs generated in the previous stage. As mentioned above, the optimization method is not particularly limited in the present invention, and well-known methods can be applied.

[0055] In the shared node expansion unit 13, for the assigned shared node group, expansion processing is performed on those nodes that include two or more nodes in the shared node D2, so that the allocation target is uniquely assigned to each allocation destination. After performing the above processing, the result is output as allocation data.

[0056] Below, we will take work shift creation as an example of a specific case problem and explain it using the flowchart in Figure 3. On the right side of this flowchart, the processing scope of the graph generation unit 11a, graph search unit 11b, optimization calculation unit 12, and shared node expansion unit 13 of the preprocessing unit 11 is also shown as the functions that execute these processes.

[0057] In this flow, the graph generating unit 11a first inputs an allocation destination, allocation data D1, constraint conditions D3, and sharing conditions D2 in processing step S11.

[0058] An example of the assignment destination in the work shift creation example is shown in Fig. 4A, and an example of the assignment data is shown in Fig. 4B. Note that the work shift creation problem in this embodiment is a problem in which tasks are assigned to the target assignment destinations during the assignment period on each date.

[0059] The assignment data shown in Fig. 4A includes information on worker names D12 (three people: X, Y, and Z), possessed skills D13 (L, M, and N), and total overtime hours for the month D14 (initial value 0 here) as attribute information associated with data numbers D11 (X1, X2, and X3). The assignment data shown in Fig. 4B includes information on task names D16 (AI), dates D17 (5 / 1-5 / 3), required skills D18 (L, M, N, or none), and task hours D19 as attribute information associated with data numbers D15 (Y1-Y9).

[0060] According to Figure 4A, worker X1 has many skills and is highly likely to be able to handle many tasks. Also, according to Figure 4B, it is clear when, for how long, and what skills a person with is needed. If this were all there was to it, worker X1 would be sufficient to be assigned in most cases, but in reality, operational issues and matters that must be observed are set as constraints.

[0061] Fig. 6 shows an example of constraint condition D3, which is data including condition D31 and content D32. The constraint conditions in this case are two basic constraints of the assignment problem, namely, condition Z1 "one task can be assigned per day" and condition Z2 "all tasks are assigned equally," and condition Z3 "tasks are assigned to personnel who have the required skills."

[0062] 5 shows an example of sharing conditions D2, which are data including conditions D21, name D22, date D23, required skills D24, and working hours D25. Here, conditions are given for each of these. In this embodiment, condition S1 defines that name D22 and condition D21 are not used as sharing conditions, and that sharing is possible if date D23 and required skills D24 match.

[0063] In this embodiment, the condition is a perfect match, but it is also possible to specify a partial match or a time difference range depending on the problem. Multiple conditions may be specified so that they do not conflict at the same time or by assigning priorities. Conditions may also be imposed on the destination node (such as having the same skills).

[0064] The KPI used is the equalization of the total work time of each employee. The KPI corresponds to the objective function in equation (2).

[0065] 3, in this flow, the graph generating unit 11a next performs a process of creating a shared node using the input allocation destination, allocation data D1, constraint condition D3, and sharing condition D2 in processing step S12. Following this, in processing step S13, a process of creating an allocation candidate graph is performed.

[0066] Among these, the detailed processing contents of the shared node creation in processing step S12 are shown in Figures 7 and 8. In the case of the embodiment of the present invention, since work shift allocation is performed, first, in processing step S120 in Figure 7, the allocation destination data is registered as a node. As a result, the data number D11 (X1, X2, X3) in Figure 4A, the worker's name D12 (three people, X, Y, Z), possessed skills D13 (L, M, N), and total overtime hours for the month D14 (initial value 0 in this case) are registered, and thereafter, they are used as node information in the following processing.

[0067] In the process of FIG. 7, the combination of process step S121 and process step S123 indicates that the process of process step S122 is carried out to sequentially update the allocation data in FIG. 4B while carrying out sharing determination and grouping for all allocation data.

[0068] In the example of work shift allocation processing, the processing step S12 basically performs the following operations. The basic processing is as follows: for the task Y1 as the allocation data in Fig. 4B, first, referring to Fig. 4A, it is confirmed whether the worker X1 is available (shared) or not (non-shared), then it is confirmed whether the worker X2 is available, and then it is confirmed whether the worker X3 is available, and then for the task Y2, it is confirmed similarly whether the worker X1 is available, whether the worker X2 is available, and whether the worker X3 is available, and so on until the last task, determining the possibility of work for all combinations of the allocation data numbers (Y1-Y9) and the data numbers D11 (X1, X2, X3) of the allocation destination data.

[0069] However, the above basic process merely describes the pursuit of all combinations, and more specifically, the sharing determination and grouping are performed by executing the specific process of processing step S122 according to FIG.

[0070] In the processing of Figure 8, the combination of processing step S122a and processing step S122c indicates that the processing of processing step S122b is performed by sequentially updating the sharing conditions in Figure 5 while reviewing all combinations of tasks and workers, and performing sharing judgment and grouping.

[0071] In processing step S122b, it is determined whether the presented combination (YX) of task Y and worker X satisfies the sharing condition, and if it does not (No), the process proceeds from processing step S122c to processing step S122a, and the repeated processing continues.

[0072] If the sharing conditions are met (Yes), the process proceeds to process step S122d, where this assignment data i (task Y) is added to shared node S, and then the process proceeds to process step S122f, where the attributes of shared node s are changed.

[0073] In addition, in processing step S122c, once all combinations have been confirmed, a series of sharing determination results are registered as a sharing node.

[0074] In the example of work shift allocation processing, the following operations are performed in processing step S122b. First, in the sharing conditions of this example in Fig. 5, condition S1 is defined as "Sharing is possible if name D22 and condition D21 are not used as sharing conditions, and date D23 and required skill D24 match." Therefore, for example, when the combination of task and worker for the corresponding date is Y1-X1, the required skill matches and it is considered shared, and when it is Y1-X2, the required skill does not match and it is considered not shared. Note that since task Y2 does not require skills, any worker can be used, and as a result, it is determined to be shared.

[0075] The series of processes up to Fig. 8 will be illustrated and explained using a specific example. First, Fig. 10A is a conceptual diagram of the process when processing step S120 is performed. By registering the assignment destination data as nodes, all assignment destination nodes X1, X2, and X3 are prepared. These correspond to workers X, Y, and Z, and are shown together with the skills of each person. Incidentally, X1's skills are L, M, and N, X2's skill is N, and X3's skills are M and N.

[0076] Next, Fig. 10B is a conceptual diagram of an intermediate stage where the sharing determination process in processing step S122 in Fig. 7 and Fig. 8 has progressed halfway. In this example, the state is shown where the processing has progressed to tasks Y1 and Y2 out of the assignment data Y1, Y2, and Y3 dated 5 / 1 in Fig. 4B.

[0077] Here, first, task Y1, which requires skill M, is judged to be available for sharing because worker X1 who has skill M can work on it, and then task Y2, which does not require skill, is judged to be available for sharing by worker X2 other than worker X1 who has already been judged to be available for sharing, so this is an intermediate stage where it has been confirmed that task Y2 is assigned to worker X2. In the figure, the double circles for task A and task B indicate that they are tasks that satisfy the sharing conditions, and that they will be registered as two independent shared nodes. In other words, in this example, there are no shared nodes that satisfy the sharing conditions for either task, so two shared nodes are registered.

[0078] In contrast, when the processing advances to the last task Y3 among the assignment data Y1, Y2, and Y3 dated 5 / 1 in Fig. 4B, shared nodes that satisfy the sharing conditions are present. Fig. 10C shows the state where the processing advances to task Y3 in processing step S122b in Fig. 8.

[0079] In the state of Fig. 10C, the remaining tasks Y2 and Y3 of the allocation data for 5 / 1 are being processed. Since both tasks are requests from unqualified individuals, task Y2 is processed in the same way as task Y1, and when task Y3 is processed, it is found to have a sharing relationship defined by the sharing conditions in Fig. 5, so tasks Y2 and Y3 are grouped by adding it to shared node s in processing step S122e.

[0080] In the present invention, such cases are grouped together, and this grouping is treated as one shared node.

[0081] In addition, in the process of processing step S122f, the task hours of task Y2 are 8 hours and the task hours of task Y3 are 6 hours, but because they are treated as one set of information by grouping, the attribute (task hours) is updated to the intermediate value of 7 hours. In this embodiment, the average value is used, but the maximum value or minimum value may also be used.

[0082] 10D shows the results of performing the above determination up to the final task Y9. On the second day, two tasks are grouped, but on the third day, no grouping occurs.

[0083] According to this grouping process, the number of nodes for task Y that should be generated is 7, whereas originally 9. Therefore, the optimization process described later can be performed with a smaller number of nodes.

[0084] With this process, the requested tasks, which are the allocation data for the first and second days, should essentially be three sets of tasks for the three sets of workers (X1, X2, X3). However, due to the above grouping, the one-to-one relationship is broken, so in order to satisfy the constraints Z1 and Z2 in FIG. 6, in the set cover problem solving (optimization) part in step S14 in FIG. 3, each shared node needs to be included in the candidates selected for the number of tasks included in each group.

[0085] Fig. 10E shows a state in which connections between nodes are made by referring to the skills possessed by the destination nodes as a result of processing by the graph generation unit 11a, and summarizes possible routes for each of the destination nodes X1, X2, and X3. The connections between these nodes are made according to the constraints in Fig. 6, condition Z1 being "one task can be assigned per day" and condition Z3 being "tasks are assigned to personnel who possess the required skills". For example, worker X1, who is capable of all skills, can apply routes to any shared node on any day, but worker X2, who has only skill N, cannot take routes to tasks A and F, which require skill M.

[0086] Returning to Fig. 3, the graph search unit 11b executes graph search processing from processing step S14 to processing step S17. In processing step S14, the graph search is started, and in processing step S15, the three graphs in Fig. 10E are searched, and all routes are sequentially envisioned for the work that the destination node (and therefore each worker) can perform on the first day, the work that can be performed on the second day, and the work that can be performed on the third day.

[0087] As a result of the processing by the graph search unit 11b, Figure 11 is obtained. Figure 11 shows the time series of work plans for workers (X1, X2, X3) for each of three days. All possible schedules for each of the workers X1, X2, and X3 for three days are obtained as candidates.

[0088] In processing step S16 in Fig. 3, cost calculation is performed for all expected routes. In this embodiment, although cost examples are omitted, costs related to KPIs such as the leveling of working hours are calculated. In processing step S17, the graph search is terminated, and at the end, all combinations of tasks that this worker can take up to the third day have been created for each of the assignment destination nodes X1, X2, and X3, as shown in Fig. 11. In the example of Fig. 10E, 12 types of X1, 2 types of X2, and 8 types of X3 are generated, for a total of 22 types of candidates.

[0089] In Fig. 3, in processing step S18 of the optimization processing unit 12, an optimization model is generated. This is a model generated for performing allocation without excess or deficiency in the original problem during post-processing. Then, in processing step S19, the set covering problem is solved (optimized), and in the above example, optimization is performed using a total of 22 types of candidates. For this reason, at this time, the optimization processing unit 12 may be provided with selection candidate cases selected from the perspective of low cost (this may be determined by the user) as shown in equations (2) and (3).

[0090] Figure 12 shows an example of the final solution obtained by the optimization process when the number of shared nodes is reduced and the optimization is performed in a simplified format. For each shared node, the skill and work time are shown.

[0091] Fig. 9 is a flow diagram showing the processing contents of the allocation candidate graph creation processing in processing step S20 in Fig. 3. In this flow, processing steps S131 and S135 indicate that the processing steps S132, S133, and S134 therebetween are repeatedly executed while changing the shared node.

[0092] For example, in this case, first, task A for worker X1 on the first day is extracted from the allocation results in Figure 12, and since it consists of one node, the allocation is confirmed, then the shared node for tasks B and C on the first day that are assigned to X2 and X3 is extracted. At this time, since the number of nodes in the shared node is greater than 1, it is registered as an unassigned shared node. After this, the allocation of all seven shared nodes is confirmed.

[0093] Then, in process step S136, KPI calculation is performed for the assigned portion. This is a KPI check for the portion that is not grouped. Note that, since all tasks are assigned and confirmed on the third day, KPI calculation may be performed for the entire third day.

[0094] In processing step S137, the unallocated portion is also allocated, so that all seven portions have been allocated.

[0095] FIG. 13A shows the state where all loop processing has been completed and KPI calculations have been performed for the confirmed allocation portion. For example, for the shared portion of B and C grouped on the first day, C is assigned to X2 and B is assigned to X3. These groups are tasks that can be handled by either B or C, and basically it makes no difference who is in charge of which combination. For this reason, the deployment should be performed in a way that equalizes the total working hours over the three days as much as possible. In this case, this optimization calculation may be determined by formulating it as in equation (4).

[0096] FIG. 13B shows the final allocation completed, and shows that the final allocation has been determined so that, for example, worker X1 works on AEG on alternating days, worker X2 works on CDH on alternating days, and worker X3 works on BFI on alternating days.

[0097] The present invention, which has been described in detail above, is "an information processing system characterized by comprising: a means for obtaining destination data, allocation data, constraint conditions, and shared conditions; a graph generation unit that performs allocation from allocation data, which is a set of allocation targets, in accordance with the constraint conditions to the destination data, which is a set of destination elements, and groups some of the allocations in accordance with the shared conditions to create a graph showing the allocation relationships; a graph search unit that generates a plurality of allocation candidates by searching the graph showing the allocation relationships; an optimization calculation unit that generates an optimization model, performs optimization processing on the allocation candidates to obtain an optimized allocation, and an expansion unit that releases the groupings included in the optimized allocation to obtain a final allocation."

[0098] According to the embodiment of the present invention described above in detail, a contracted graph can be obtained by using nodes shared by shared conditions, which can result in a reduction in problem scale and calculation time. [Explanation of symbols]

[0099] 10: Information processing system 11: Pre-processing section 11a: Graph generation section 11b: Graph search section 11c: Candidate matrix cost memory unit 12: Optimization calculation section 13: Shared node expansion section

Claims

1. A means for obtaining the allocation destination data, the allocation data, the constraint conditions, and the sharing conditions; a graph generating unit that performs allocation from the allocation data, which is a set of allocation targets, to the allocation destination data, which is a set of allocation destination elements, in accordance with the constraint condition, and groups a part of the allocation in accordance with the sharing condition to create a graph showing the allocation relationship; a graph search unit that generates a plurality of allocation candidates by searching the graph indicating the allocation relationship; an optimization calculation unit that generates an optimization model and performs optimization processing on the allocation candidates to obtain an optimized allocation; An information processing system comprising: an expansion unit that releases the groupings included in the optimized allocation to obtain a final allocation.

2. 2. The information processing system according to claim 1, The information processing system is characterized in that the graph search unit performs KPI calculations on allocations that are not grouped.

3. 2. The information processing system according to claim 1, The information processing system is characterized in that the expansion unit performs KPI calculations for the grouped allocations.

4. 2. The information processing system according to claim 1, The information processing system is characterized in that the optimization calculation unit performs optimization calculations on a portion of the multiple allocations generated by the graph search unit.

5. 3. The information processing system according to claim 2, An information processing system characterized by assigning costs based on the KPI calculation.

Citation Information

Patent Citations

  • Replan output device

    JP2022145506A