Planning analysis method, and planning analysis system

The plan analysis method addresses the computational and knowledge barriers in explaining optimal plans by generating optimization patterns and calculating bounds, resulting in efficient and user-friendly analysis of optimal plans.

JP2025085485APending Publication Date: 2025-06-05HITACHI LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023199393
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-24
Publication Date
2025-06-05

AI Technical Summary

Technical Problem

Existing methods for explaining optimal plans, such as those using XAIP, require significant computational resources for sensitivity analysis, are difficult for general users to utilize without domain knowledge, and struggle with efficiently recalculating optimization results when input factors change.

Method used

A plan analysis method that generates optimization patterns by combining constraints, calculates upper and lower bounds based on evaluation indices, searches for feasible solutions, and determines the existence of optimal solutions without requiring prior domain knowledge.

Benefits of technology

Enables quick analysis of optimal plans with reduced computational costs, making it accessible to users without domain expertise and improving efficiency even when input factors change.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025085485000001_ABST
    Figure 2025085485000001_ABST
Patent Text Reader

Abstract

To provide a planning analysis method capable of promptly executing analysis of the optimal plan without requiring prior domain knowledge about the planning object.SOLUTION: The planning analysis method analyzes the optimal plan where an optimization target is optimized based on multiple constraints and evaluation metrics. The planning analysis system generates multiple optimization patterns by combining constraints for analysis. The planning analysis system calculates an upper bound when the upper bound and the condition based on the evaluation index, when the condition corresponding to the state of interest that a user is paying attention to in the optimal plan is satisfied, are not met on each of the optimization patterns, and a feasible solution of the optimization is searched for under the conditions. The planning analysis method determines whether an optimal solution exists under certain conditions based on the upper bound and the feasible solution.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a plan analysis method and a plan analysis system. [Background technology]

[0002] With the advancement of digitalization, all information is now digitized, and optimization engines and agent-based simulations are now being used for important life-changing decision-making, such as optimizing human resource allocation.

[0003] On the other hand, optimization engines only present solutions that maximize objective functions, and cannot present reasons for the placement of plan elements, such as "Why is Person A assigned to Workplace 1, even though he is more suitable for Workplace 2 than Workplace 1?" In business that has great social responsibility, it is important to present not only the optimization results, but also an explanation that satisfies the user.

[0004] In recent years, research into eXplainable AI Planning (XAIP), a technology that can explain the basis for decisions made in optimal planning, has progressed rapidly.

[0005] As a technology classified as XAIP, Non-Patent Document 1 proposes a method to clarify the contribution of attributes and constraints, which are input factors, to the establishment of a certain element of a plan, and to explain the main causes by focusing on that phenomenon.

[0006] However, in order to present the planning rationale, it is necessary to perform a sensitivity analysis in which the input factors are perturbed and the optimization problem is solved repeatedly, which requires a large computational cost and requires users to wait a long time to view the explanation.

[0007] In response to this, Non-Patent Document 1 proposes a method in which hierarchical relationships between input factors are input, and then the overall trend is quickly grasped in a higher hierarchy, and factors that are expected to have a high degree of contribution are analyzed in a lower hierarchy. This makes it possible to reduce the number of combinations of factors that are perturbed in each hierarchy, enabling efficient factor search.

[0008] In addition, Non-Patent Document 2 proposes a method of sampling combinations of perturbations. In calculating the contribution based on the Shapley value, the tendency that the influence of a single factor (main effect) also shows a large value as the contribution is utilized, thereby narrowing down the number of combinations required for calculation and obtaining a highly accurate approximate solution.

[0009] Furthermore, Patent Document 1 proposes a method for efficiently searching for a solution in branch-and-bound methods, which are mainstream in optimization calculations, by determining the degree of difficulty of the calculation when deciding which branch to search and dividing the problem according to the result.

[0010] In addition, Patent Document 2 proposes a method that makes it possible to shorten the search processing time and reduce the memory required for the search processing by using solution information that has already been detected. When solving the same optimization problem multiple times, it is possible to eliminate unnecessary searches by reusing solutions obtained in the past. [Prior art documents] [Patent documents]

[0011] [Patent Document 1] Patent Publication No. 2004-133802 [Patent Document 2] Patent Publication No. 7-319848 [Non-patent literature]

[0012] [Non-Patent Document 1] Y. Tsuchiya, M. Hamamoto, “Explanation Framework for Optimization-Based Scheduling: Evaluating Contributions of Constraints and Parameters by Shapley Values,” International Workshop on Human-Aware and Explainable Planning(HAXP), 2023. [Non-Patent Document 2] M. Scott Lundberg, Su-In Lee, “A Unified Approach to Interpreting Model Predictions,” In Proceedings of the 31st International Conference on Neural Information Processing Systems, 4768-4777, 2017. Summary of the Invention [Problem to be solved by the invention]

[0013] The techniques disclosed in Non-Patent Document 1 and Non-Patent Document 2 contribute to reducing the number of combinations of calculations in sensitivity analysis of input factors. However, the hierarchical structure of input factors in Non-Patent Document 1 requires prior domain knowledge in the optimization problem, and is difficult for general users without domain knowledge to utilize.

[0014] In addition, although the technology disclosed in Non-Patent Document 2 can efficiently obtain an approximate solution, it requires at least 1000 calculations for a combination of, for example, about 20 input factors. Since optimization problems often require several hours per calculation, it may be difficult to improve the efficiency of calculation of the planning basis by simply reducing the number of combinations.

[0015] Furthermore, the techniques described in Patent Documents 1 and 2 contribute to speeding up the calculation of each perturbation.

[0016] However, since the technology disclosed in Patent Document 1 is a method that is applied to general problem setting, there is room for further speed improvement in problem setting when calculating the planning basis.

[0017] In addition, the technology disclosed in Patent Document 2 is effective in performing repeated optimization calculations because it reuses past calculation results. However, the technology disclosed in Patent Document 2 has difficulty reusing past calculation results when the input factors are replaced and the problem setting itself changes.

[0018] The present invention has been made in consideration of the above circumstances, and has an object to quickly perform analysis of an optimal plan without requiring prior domain knowledge regarding the planning target. [Means for solving the problem]

[0019] According to one aspect of the present invention, there is provided a plan analysis method executed by a plan analysis system that analyzes an optimal plan in which an optimization object is optimized based on a plurality of constraints and evaluation indices, the plan analysis system having a processor and a memory, and characterized in that the processor generates a plurality of optimization patterns by combining the constraints to be analyzed, calculates, for each of the optimization patterns, an upper bound based on the evaluation index when a condition corresponding to a state of interest that a user is interested in in the optimal plan is satisfied, and an upper bound when the condition is not satisfied, searches for a feasible solution for the optimization under the conditions, and determines whether an optimal solution for the optimization exists under the conditions based on the upper bound and the feasible solution. Effect of the Invention

[0020] According to the present invention, analysis of optimal plans can be performed quickly without requiring prior domain knowledge about the planning object. [Brief description of the drawings]

[0021] [Figure 1] FIG. 1 is a diagram illustrating an example of a system configuration of a plan analysis system according to a first embodiment. [Diagram 2]1 is a block diagram showing an example of a functional configuration of a plan analysis system according to a first embodiment. [Diagram 3] FIG. 2 is a diagram illustrating an example of a data structure of a plan information master according to the first embodiment. [Figure 4] 4A to 4C are diagrams illustrating an example of a data structure of question data and search initial conditions according to the first embodiment. [Diagram 5] 4A to 4C are diagrams illustrating an example of the data structure of analysis target data and an optimization pattern according to the first embodiment. [Figure 6] FIG. 4 is a diagram showing an example of a data structure of an upper bound according to the first embodiment; [Figure 7] FIG. 2 is a diagram showing an example of a data structure of a feasible solution according to the first embodiment. [Figure 8] 4 is a diagram showing an example of the data structure of contribution degree calculation data and contribution degree data according to the first embodiment. FIG. [Figure 9] FIG. 13 is a diagram showing an example of a flowchart illustrating an explanation generation process based on an upper bound according to the first embodiment. [Figure 10] FIG. 4 is a diagram illustrating an overview of a condition determination based on an upper bound according to the first embodiment. [Figure 11] FIG. 2 is a diagram showing an example of an input / output screen according to the first embodiment. [Figure 12] FIG. 11 is a diagram illustrating an example of a system configuration of a plan analysis system that enables utilization of a tentative solution and generation of an approximate explanation according to a second embodiment. [Figure 13] FIG. 11 is a block diagram showing an example of a functional configuration of a plan analysis system according to a second embodiment. [Figure 14] FIG. 11 is a diagram showing an example of a data structure of a search end condition according to the second embodiment. [Figure 15] FIG. 11 is a diagram illustrating an example of a flowchart showing an explanation generation process based on an upper bound according to the second embodiment. [Figure 16] FIG. 11 is a diagram illustrating an example of a system configuration of a plan analysis system according to a third embodiment. [Figure 17] FIG. 11 is a block diagram showing an example of a functional configuration of a plan analysis system according to a third embodiment. [Figure 18]FIG. 13 is a diagram illustrating an example of a flowchart showing an explanation generation process according to the third embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0022] Hereinafter, embodiments of the technology disclosed in the present application will be described with reference to the drawings. However, these embodiments are merely examples for realizing the technology disclosed in the present application and do not limit the technical scope of the disclosure in the present application. It will be easily understood by those skilled in the art that the specific configuration can be changed and each embodiment and its modified example can be combined within a range that does not deviate from the technical idea or intent of the disclosure in the present application.

[0023] In the following embodiments, the same or similar configurations or functions are denoted by the same reference numerals, and duplicated descriptions are omitted. In addition, when describing elements of the same kind without distinguishing between them, common reference numerals among the reference numerals may be used, and when describing elements of the same kind with distinction between them, reference numerals may be used.

[0024] In the following embodiment, a personnel allocation plan for allocating personnel to appropriate workplaces will be described. However, the present invention is not limited to this, and can be widely applied to systems that create and update plans by combining various evaluation perspectives and constraint conditions in a complex manner, such as operation plans for transportation such as airplanes, buses, and trains, product manufacturing plans in factories, and supply chain simulations.

[0025] In the following embodiment, a maximization problem based on integer linear programming using a branch-and-bound method is given as an example. However, the present invention is not limited to this, and can be easily applied to a minimization problem by inverting the sign of the numerical value to be calculated, as long as the problem can be calculated by solving a relaxation problem, without depending on a specific optimization calculation procedure.

[0026] In the following embodiment, the optimization target is personnel such as employees and allocation slots such as workplaces, and an example is shown in which the main constraints that influenced the question from the user "Why was an employee assigned to a certain workplace?" are narrowed down. However, this is not limited to this, and the method can be applied not only to binary questions such as "A condition is satisfied or not satisfied," but also to questions in which multiple conditions are specified. Also, explanations can be given using input factors of attribute information as well as constraints.

[0027] In the following description, a "CPU (Central Processing Unit)" is an example of one or more processor devices. The at least one processor device is typically not limited to a CPU, and may be another type of processor device such as a GPU (Graphics Processing Unit). The at least one processor device may be a single core or a multi-core. The at least one processor device may be a processor core.

[0028] At least one processor device may be a circuit that is a collection of gate arrays written in a hardware description language that performs some or all of the processing. The circuit is a processor device in a broad sense, such as a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), or an application specific integrated circuit (ASIC).

[0029] In the following explanation, the processing may be mainly explained by the "yyy program." In this case, the program is executed by the CPU to realize a processing function called the "yyy functional unit," and is the main executing entity of the processing. The processing function may be realized by one or more computer programs being executed by a processor, or may be realized by one or more hardware circuits (e.g., FPGA or ASIC), or may be realized by a combination of these.

[0030] When a function is realized by executing a program by a processor, the defined processing is performed using a storage device and / or an interface device, etc., as appropriate, and therefore the function may be considered to be at least a part of the processor. Processing described using a functional unit as the subject may be considered to be processing performed by a processor or a device having the processor.

[0031] The program may be installed from a program source. The program source may be, for example, a program distribution computer or a computer-readable recording medium (for example, a non-transitory recording medium). The description of each function is an example, and multiple functions may be combined into one function, or one function may be divided into multiple functions. A "yyy function unit" may be called a "yyy unit".

[0032] In the following embodiments, various pieces of information may be described in a table format, but the data format of the information may be a format other than the table format (for example, CSV (Comma Separated Values) format, etc.).

[0033] [Embodiment 1] (Configuration of plan analysis system 1 according to embodiment 1) FIG. 1 is a diagram illustrating an example of a system configuration of a plan analysis system 1 according to the first embodiment.

[0034] The plan analysis system 1 includes a storage device 1001 , a processing device 1002 , an input device 1003 , and an output device 1004 .

[0035] The storage device 1001 is a general-purpose device that permanently stores data, such as a hard disk drive (HDD) or a solid state drive (SSD), and stores a plan information master 1010 and plan explanation information 1020. The storage device 1001 may exist on a cloud or an external server, and may be configured so that data can be referenced via a network.

[0036] The plan information master 1010 includes a plan 1011 drawn up by an optimization solver or simulation, constraint data 1012 storing information about constraints, evaluation index data 1013 indicating the KPI (Key Performance Indicator) of the plan, and attribute data 1014 relating to elements of the plan.

[0037] The plan explanation information 1020 includes an upper bound 1021 obtained by solving a relaxation problem of the optimization problem, a feasible solution 1022 obtained in the process of searching for a solution, a search initial condition 1023 based on a state (attention state) that the user focuses on, and question data 1024 regarding the plan from the user. The plan explanation information 1020 also includes analysis target data 1025 that is a candidate cause for the element of the question, an optimization pattern 1026 obtained by converting the attributes and constraints of the analysis target, and contribution calculation data 1027 obtained from the question and the result of the solution search. The plan explanation information 1020 also includes contribution data 1028 regarding the analysis target.

[0038] The processing device 1002 is a general-purpose computer including a processor such as a CPU and a memory. The processing device 1002 has a plan analysis unit 1030, an optimization pattern generation unit 1031, an upper bound calculation unit 1032, a solution search unit 1033, a condition determination unit 1034, a search initial condition generation unit 1035, a contribution degree calculation unit 1036, a screen output unit 1037, and a data input unit 1038. The processing device 1002 realizes these processing function units by executing programs stored in the memory.

[0039] The screen output unit 1037 converts the data stored in the plan information master 1010 and the plan explanation information 1020 into a format that can be displayed and outputs it to the display. The data input unit 1038 accepts and sets inputs of parameters and questions from the user.

[0040] The input device 1003 is, for example, a mouse, a keyboard, a touch panel, etc. The output device 1004 is, for example, a display, and displays information to a user via a screen output unit 1037. However, if there is no need for a human to check the evaluation result of the machine learning system (for example, if the evaluation result is directly passed to another system), the output device can be omitted.

[0041] FIG. 2 is a block diagram showing an example of a functional configuration of the plan analysis system 1 according to the first embodiment.

[0042] The plan analysis unit 1030 generates question data 1024 and analysis target data 1025 based on questions from a user for the plan 1011 extracted from the plan information master 1010. The optimization pattern generation unit 1031 converts the analysis target data 1025 into an optimization pattern 1026. The search initial condition generation unit 1035 outputs an upper bound and search initial conditions 1023 for a feasible solution from the question data 1024.

[0043] An upper bound calculation unit 1032 calculates an upper bound 1021 of the search initial conditions 1023 for a certain optimization pattern 1026 based on the plan information master 1010. A solution search unit 1033 searches for a feasible solution 1022 of each search initial condition 1023 for a certain optimization pattern 1026 based on the plan information master 1010.

[0044] A condition determination unit 1034 determines whether the condition of the state of interest includes an optimal solution based on the obtained upper bound 1021 and feasible solution 1022, and if so, outputs the result to contribution calculation data 1027. After elements of the contribution calculation data 1027 for all optimization patterns 1026 are obtained, a contribution calculation unit 1036 calculates contribution data 1028 of each analysis target from the contribution calculation data 1027. The obtained contribution data 1028 is input to a plan analysis unit 1030 and presented to a user.

[0045] (Planning information master 1010 according to the first embodiment) FIG. 3 is a diagram illustrating an example of a data structure of the plan information master 1010 according to the first embodiment.

[0046] The plan information master 1010 includes a plan 1011 , constraint data 1012 , evaluation index data 1013 , and attribute data 1014 .

[0047] The plan 1011 is composed of matrix data (table data) as an example, and has basic plan information 301, elements 302, and KPIs 303. The basic plan information 301 is a target for allocating elements 302, such as workplace slots in personnel allocation. The elements 302 are decision variables for optimization, such as personnel in personnel allocation.

[0048] Note that the plans targeted by this embodiment are not limited to these, and may be route plans, train operation plan diagrams, etc. In operation plans, for example, a time frame table may be created with train names as elements 302 and stations as basic plan information 301. There may also be cases where there is no basic plan information 301, and only a set of elements 302 is treated as the plan 1011. KPI 303 represents the objective function or KPI value of the plan 1011.

[0049] The constraint data 1012 has columns for constraint name 304 and constraint parameter 305. The constraint parameter 305 is used as an optimization condition, and the relationship between the basic plan information 301 and the elements 302 is indicated by a code and a value. For example, the headcount constraint for workplace 1 indicates that only two employees A to F can be assigned to workplace 1. However, the way of expressing the constraint condition is not limited to this, and there are cases where weighting based on attribute data 1014 is added, and cases where it is given as a formula rather than a table format.

[0050] The evaluation index data 1013 has information on KPIs that are the objectives of plan optimization, and has columns for index name 306 and calculation process 307. There may be cases where multiple KPIs exist for one problem.

[0051] The attribute data 1014 has columns of attribute destination 308 and attribute value 309. The attribute destination 308 corresponds to the basic plan information 301 and the element 302, and in this embodiment, there is an "employee" that is an allocation target and a "workplace" that is an allocation frame of an allocation target in the basic plan information 301. The attribute value 309 represents a parameter that acts on the KPI and constraints of plan optimization for each attribute destination 308.

[0052] FIG. 4 is a diagram showing an example of the data structure of the question data 1024 and the search initial conditions 1023 according to the first embodiment.

[0053] The question data 1024 has columns of a question sentence 401, an explanation target element 402, a target arrangement 403, and a type of reason 404 input by a user. When the question sentence 401 is input by a user, the corresponding explanation target element 402, target arrangement 403, and type of reason 404 are created by the plan analysis unit 1030. Note that the explanation target element 402, target arrangement 403, and type of reason 404 may be input by the user.

[0054] One or more elements 302 are extracted as the explanation target element 402. The target arrangement 403 indicates the basic plan information 301 corresponding to the explanation target element 402. The type of reason 404 indicates whether the question sentence 401 is asking about a condition that holds true (affirmative) or a condition that does not hold true (negative) regarding the explanation target element 402.

[0055] The search initial condition 1023 is information in which the initial condition 405 is assigned to the question data 1024 by the search initial condition generation unit 1035. The initial condition 405 represents a specific condition under which the content of the question sentence 401 is satisfied, and may be written in a conditional expression or a programming language, not limited to a natural language.

[0056] For example, if the question 401 is "Why was employee A assigned to workplace 1?", the explanation target element 402 is employee A, the target assignment 403 is workplace 1, the type of reason 404 is positive, and the initial condition 405 is the conditional expression "x 1 A =1orx 1 A=0". As a simple extension, questions with multiple conditions can also be defined, such as "Why was employee A assigned to workplace 1 and workplace 2?" or "Why were employees A and B assigned to workplace 1?". In addition to personnel assignment, questions such as "Why did train A depart at this time?" in a train diagram or "Why do we turn right at this corner?" in route planning can also be applied. Continuous values ​​can also be applied by converting them into a conditional expression that specifies a range of values.

[0057] (Analysis target data 1025 and optimization pattern 1026 according to the first embodiment) FIG. 5 is a diagram showing an example of the data structure of the analysis target data 1025 and the optimized pattern 1026 according to the first embodiment.

[0058] The analysis target data 1025 has columns of target information 501 indicating whether or not it is to be analyzed, target name 502, and parameter 503. The target information 501 is specified by the user via the plan analysis unit 1030. When the analysis target is a constraint, the target name 502 and parameter 503 indicate the constraint name 304 and constraint parameter 305 of the constraint data 1012, respectively. When the analysis target is an attribute, the parameter 503 indicates the attribute destination 308 and attribute value 309, and the target name 502 is specified by the plan analysis unit 1030. Even when the analysis target is an attribute, the attribute value can be regarded as a type of constraint.

[0059] The optimization pattern 1026 is generated by the optimization pattern generation unit 1031 from the analysis target data 1025, and has columns of pattern number 504 and analysis target parameters 505. The analysis target parameters 505 indicate a combination of either a baseline (a value that has no effect on the plan of each analysis target) or original parameters to be used for those specified in the target information 501 from the analysis target data 1025. As the baseline, for example, a value corresponding to "no constraint" is input for constraints, and an average of all targets is input for attribute values ​​(skill attributes of personnel, performance values ​​of equipment, etc.). Basically, all combinations of ON (baseline) / OFF (original parameters) are prepared as the optimization pattern 1026, but this is not limited when an existing approximation calculation method is used in combination.

[0060] FIG. 6 is a diagram showing an example of the data structure of the upper bound 1021 according to the first embodiment.

[0061] The upper bound 1021 has elements 601, basic plan information 602, KPIs 603, and analysis patterns 604. Here, the upper bound 1021 refers to a solution obtained from a problem (relaxed problem) in which input factors (problem settings) that are not the subject of analysis are relaxed in the target optimization problem.

[0062] For example, a relaxed problem of integer linear programming is a linear programming with the integer constraints of variables removed. When the solution of the relaxed linear programming is compared with the solution of the original optimization problem that is not relaxed, the upper bound 1021 has a characteristic that "when compared with the solution of the original optimization problem that is not relaxed, the KPI 603 is equal to or higher." Note that as long as a solution with this characteristic is calculated, it is not limited to the relaxed problem.

[0063] Here, table data 600 consisting of elements 601 and basic plan information 602 shows a solution to the relaxed problem. In this example, it shows which workplace each employee is assigned to. Since the integer constraints on the assignment of each employee are relaxed, one employee is assigned to multiple workplaces.

[0064] If some of the elements 601 are fixed during the search process of the solution search unit 1033, the fixed elements 601 are made distinguishable from the elements 601 obtained by the optimization calculation. The KPI 603 indicates the value of the objective function or KPI corresponding to the solution. The analysis pattern 604 indicates a combination of input factors such as constraint conditions to be analyzed.

[0065] 7 is a diagram showing an example of the data structure of a feasible solution 1022 according to the first embodiment. The feasible solution 1022 has elements 701, basic plan information 702, KPIs 703, and analysis parameters 704. The feasible solution 1022 has the same data structure as the upper bound 1021 (FIG. 6), but is a solution in which input factors are not relaxed, and is a solution that is feasible under the constraint conditions of the original optimization problem. In the example, it is shown that the placement of each employee is fixed at 0 or 1, and the integer constraint is satisfied.

[0066] FIG. 8 is a diagram showing an example of the data structure of the contribution degree calculation data 1027 and the contribution degree data 1028 according to the first embodiment.

[0067] The contribution degree calculation data 1027 has a pattern number 801, a feature amount 802, and a target variable 803. The pattern number 801 is the same as the pattern number 504 of the optimization pattern 1026 (FIG. 5). Each column name of the feature amount 802 corresponds to the column name of the analysis target parameter 505 of the optimization pattern 1026 (FIG. 5). The feature amount 802 indicates whether the analysis target parameter 505 in the optimization pattern 1026 (FIG. 5) is the baseline (0) or the original parameter (1).

[0068] The objective variable 803 is the result of the judgment made by the condition judgment unit 1034 for the optimization pattern corresponding to each pattern number 801, and indicates whether the initial condition 405 of the question (attention state) is satisfied (1) or not satisfied (0) in the optimal solution.

[0069] Contribution data 1028 has columns for object name 804 and contribution 805. Object name 804 corresponds to object name 502 specified in object information 501 in analysis object data 1025 (FIG. 5). Contribution 805 is calculated by contribution calculation unit 1036, and represents the influence of the object identified by object name 804 on "satisfying the condition of the question". Contribution 805 represents the influence on "satisfying the condition of the question" with a positive value, the influence on "not satisfying the condition of the question" with a negative value, and the magnitude of the influence with an absolute value.

[0070] (Flowchart showing explanation generation processing based on upper bound 1021 according to the first embodiment) FIG. 9 is a diagram illustrating an example of a flowchart illustrating an explanation generation process based on the upper bound 1021 according to the first embodiment.

[0071] In the explanation generation process, an explanation is generated based on the contribution of input factors in order to clarify the main factors in the establishment of the conditions of the user's attention state in the plan. In this embodiment, the process is to calculate the contribution of each analysis target from the upper bound for the combination of analysis target data and the search results of feasible solutions for the search conditions that match the user's question. The explanation generation process is executed when the user inputs a question about the optimal plan via the input device 1003 (FIG. 1).

[0072] Step S901: The plan analysis unit 1030 accepts input of a question sentence 401 or question data 1024 related to a user's question about the plan 1011 via the input device 1003. When the question sentence 401 is input, the plan analysis unit 1030 generates question data 1024 from the question sentence 401. The plan analysis unit 1030 converts the question sentence 401 into question data 1024 by using conversion based on input to an interface in the form of a conditional expression or a fill-in-the-blank format, or by using existing natural language processing technology.

[0073] Step S902: The search initial condition generating unit 1035 generates the search initial conditions 1023 based on the question data 1024. The initial conditions 405 are generated using existing conditional expressions, fill-in-the-blanks, and the like.

[0074] Step S903: The plan analysis unit 1030 accepts an upload of the analysis target data 1025 by the user. Alternatively, the plan analysis unit 1030 generates the analysis target data 1025 in which the selection of a plurality of constraints input by the user via the input device 1003 from the list of input factors displayed on the screen of the output device 1004 is reflected in the target information 501.

[0075] Step S904: The optimization pattern generation unit 1031 converts the analysis target data 1025 into an optimization pattern 1026. Specifically, the optimization pattern generation unit 1031 outputs, as the analysis target parameters 505, a combination of using either the baseline or the original parameters existing in the plan information master 1010 for the analysis target data 1025 specified in the target information 501. Basically, all combinations (for example, for three analysis targets, 2 to the power of 3, that is, 8 combinations) are output, but random pattern generation and Monte Carlo sampling may be performed from the viewpoint of the amount of calculation.

[0076] Step S905: For each row of the optimization pattern 1026, a solution search loop of steps S906 to S910 is executed.

[0077] Step S906: The upper bound calculation unit 1032 calculates an upper bound 1021 for the search initial condition 1023 based on the plan information master 1010. For example, as shown in Fig. 6, as a relaxation problem of the integer linear programming, a linear programming method is formulated by removing the integer constraint of the variables, and the upper bound 1021 is calculated. Here, the upper bound calculation unit 1032 performs an optimization calculation in a state where the variables corresponding to the search initial condition 1023 are fixed.

[0078] 4, in order to analyze "the reason why employee A was assigned to workplace 1", the value of "decision variable indicating whether employee A is in workplace 1" is specified in initial condition 405. Upper bound calculation unit 1032 formulates a relaxation problem and calculates upper bound 1021 for each initial condition 405.

[0079] Step S907: The solution search unit 1033 searches for a feasible solution 1022 for each search initial condition 1023 based on the plan information master 1010. There is no specification for the search method, but the branch and bound method is generally used in integer linear programming. This is a method for efficiently searching by repeatedly calculating a relaxed problem while fixing variables to find an upper bound, and terminating a problem that does not contain an optimal solution through a bounding operation. Usually, the calculation speed for optimization is faster for a relaxed problem, and linear programming allows calculations on the order of polynomials. Such a search method is executed under each search initial condition 1023.

[0080] Step S908: The condition determination unit 1034 determines whether the condition in the focus state includes an optimal solution based on the obtained upper bound 1021 and the feasible solution 1022. Specifically, when a feasible solution under a certain search initial condition 1023 (e.g., employee A is placed at workplace 1) is found in step S907, the condition determination unit 1034 performs the following process. That is, if the objective function value is greater than the upper bound of another search initial condition 1023 (e.g., employee A is not placed at workplace 1) (YES in step S908), it is determined that the optimal solution is under the condition "employee A is placed at workplace 1". For this reason, the process proceeds to step S909. A detailed example will be described later with reference to FIG. 10.

[0081] On the other hand, if the feasible solution is still smaller than the upper bound and the condition for the optimal solution cannot be determined (NO in step S908), the condition determining unit 1034 returns the process to step S907 to continue searching for a feasible solution.

[0082] Step S909: The condition determination unit 1034 reflects the result determined in step S908 in the contribution degree calculation data 1027. The pattern number 801 and the feature amount 802 are reflected from the row information of the optimization pattern 1026. In the objective variable 803, 1 is stored if the condition of the state of interest (question sentence 401) includes the optimal solution, and 0 is stored otherwise.

[0083] Step S910: Steps S906 to S909 are executed for all the optimization patterns 1026. When the generation of the contribution degree calculation data 1027 is completed, the process proceeds to step S911.

[0084] Step S911: The contribution calculation unit 1036 calculates the contribution data 1028 of each analysis target from the contribution calculation data 1027. The target name 804 is obtained from the column name of the feature amount 802. An existing method is used to calculate the contribution. For example, the contribution may be calculated based on the Shapley value, which is generally used in game theory, or based on the Cohort Shapley value, which can take into account the dependency between factors.

[0085] Step S912: The plan analysis unit 1030 processes the contribution data 1028, such as by processing the data in a graph, and displays an explanation on the output device 1004 via the screen output unit 1037. An example of the screen will be described later with reference to FIG. 11. The explanation here may be a graph display such as the factor contribution display 1105, or may be text-based information according to a template prepared in advance for interpreting the contribution data 1028. Note that when inputting directly into a machine without human intervention, the screen output in step S912 can be canceled.

[0086] (Condition determination based on upper bound 1021 according to embodiment 1) 10 is a diagram showing an overview of condition determination based on an upper bound 1021 according to embodiment 1. FIG 10 shows an overview of condition determination based on an upper bound in steps S906 to S909 in FIG.

[0087] Each node in each of the first to third layers includes a condition 101 and a calculated value 102. The condition 101 is a relaxed condition or a fixed condition. A fixed condition is a condition that fixes some of the variables of the optimization problem. The calculated value 102 is an upper bound of the optimization problem or a KPI of a feasible solution.

[0088] First, in the first layer, the upper bound in the optimization problem in which all integer constraints are relaxed is shown as a calculated value 102. In searches deeper than the first layer, variables are fixed and conditions are tightened, so that all upper bounds or feasible solutions will not have a KPI greater than 36. Note that the first layer is not necessarily required.

[0089] Next, in the second layer, the upper bound of the search initial condition 1023 obtained in step S906 is shown. At this point, it is not possible to determine which contains the optimal solution. Then, in the third layer, a feasible solution is obtained in the search in step S907. Note that, as a result of solving the relaxation problem, there exists a node that is both an upper bound and a feasible solution when the integer constraint is satisfied.

[0090] Here, using the branch and bound method as an example, in addition to the condition "Fix employee A to workplace 1," the next fixed variable is "Whether to fix employee B to workplace 1 or not." Then, beyond the condition "Employee A is placed in a workplace other than 1," the next fixed variable is "Whether to fix employee A to workplace 2 or not."

[0091] The process of step S908 will now be described.

[0092] First, a feasible solution is obtained under the conditions of "employee A is fixed to workplace 1" and "employee B is placed at a workplace other than 1", and the KPI is 33. Next, if the upper bound of the condition of "employee A is placed at a workplace other than 1" in the second layer is KPI: 32, then the feasible solution under the condition of "employee A is fixed to workplace 1" is already better than any feasible solution under the condition of "employee A is placed at a workplace other than 1". Therefore, in step S909, it is determined that the optimal solution is under the condition of "employee A is placed at workplace 1", and "1" is output to the objective variable 803 of the contribution calculation data 1027.

[0093] Here, since the normal branch and bound method is an algorithm for finding the optimal solution itself, since the upper bound of "fix employee A to workplace 1" and "fix employee B to workplace 1" is KPI: 34, there is a possibility that a better solution than the current feasible solution exists, so further search is performed. Also, the first branch in the second layer is basically random. However, in order to explain the optimal plan, it is sufficient to be able to determine whether or not there is an optimal solution under the conditions of the attention state. Therefore, it is possible to make the calculation more efficient by finding the upper bound of the initial condition 405 of the user's attention state in step S906 and terminating the search by the condition judgment in step S908.

[0094] (Input / output screen according to the first embodiment) Fig. 11 is a diagram showing an example of an input / output screen according to embodiment 1. Fig. 11 shows an example of an interface for a user to input / output a question, data required for generating an explanation, and an explanation of an optimal plan. The interface includes a proposed plan display 1101 that displays a calculated plan 1011, a question input form 1102 for inputting a question, a factor contribution display 1105 that displays the contribution of a factor to the optimal plan, and data for contribution calculation 1106.

[0095] The question input form 1102 accepts as a user input the question 401 in which the element 1102a (corresponding to the element 1102a), the target arrangement 403 (corresponding to the element 1102b), and the type of reason 404 (corresponding to the element 1102c) can be determined. The question input form 1102 generates question data 1024 in step S901 (FIG. 9) based on these user inputs. The explanation target element 402 interface is preferably in the form of a pull-down or a conditional expression, but is not limited to this. When the explanation target element 402, the target arrangement 403, and the type of reason 404 are input and the analysis target data button 1103 is pressed, these analysis target data are uploaded to the plan analysis system 1. When the analysis start button 1104 is pressed, an analysis process is executed to analyze the explanation of the optimal solution based on the uploaded analysis target data.

[0096] In the factor contribution display 1105, the contribution of each input factor is stacked up to display the overall trend. When the contribution based on the Shapley value is presented in the factor contribution display 1105, the reference value indicates whether the condition of the focus state is satisfied when all input factors to be analyzed are relaxed.

[0097] The contribution degree calculation data 1106 can assist in analyzing what combination of factors (constraints) results in the condition of the question (objective variable) being satisfied.

[0098] Referring to the factor contribution display 1105 in FIG. 11, for example, as the reason "Employee A was assigned to Workplace 1," it can be seen that the following factor is extracted: "The contribution of the headcount constraint at Workplace 2 is +0.7, the contribution of the headcount constraint at Workplace 3 is +0.4, and the contribution of the headcount constraint at Workplace 1 is -0.1, which sums to form Plan 1. Therefore, due to the headcount constraint at Workplace 2 and the headcount constraint at Workplace 3, Employee A could not be assigned to Workplaces 2 and 3 other than Workplace 1."

[0099] Plan optimization is a framework that outputs a solution that maximizes KPIs while various factors influence each other. However, extracting the influence of each of these factors by trial and error is a time-consuming task. Therefore, the narrowing down of factors based on the contribution degree of this embodiment can contribute to efficient plan analysis.

[0100] As in this embodiment, when the contribution level based on the Shapley value is applied to a response variable that is expressed by the presence or absence of a condition, such as "employee A is assigned to workplace 1," the contribution level can be interpreted as the probability of the condition being satisfied. Since the main factors can be extracted by the quantitative index of the contribution level, even if the contribution level itself is difficult to interpret, a more efficient analysis can be achieved by paraphrasing it using an existing explanation template, etc.

[0101] However, as the number of input factors of the plan increases, the optimization patterns 1026 become enormous, and there are cases where it becomes difficult to calculate the contribution calculation data 1027. Therefore, in this embodiment, search initial conditions 1023 are generated based on the conditions of the user's attention state, and the search for a solution is terminated when a feasible solution 1022 for each condition exceeds the upper bound 1021 for another condition. This makes it possible to obtain a strict explanation while reducing the calculation time for each pattern.

[0102] [Embodiment 2] Although the basic configuration and processing have been explained in the first embodiment, further speedup can be expected by combining the history of optimization calculations. Also, by terminating the calculations early and obtaining an approximate solution, it becomes possible to reduce the combinations of input factors in the above-mentioned exact solution method.

[0103] Therefore, in the second embodiment, a method for utilizing a tentative solution of an optimal plan and generating an approximate explanation is described. In the following description of the second embodiment, the differences from the first embodiment are mainly described, and the description of the same configuration and processing as the first embodiment is omitted.

[0104] (System configuration of plan analysis system according to embodiment 2) FIG. 12 is a diagram illustrating an example of a system configuration of a plan analysis system 1B according to the second embodiment.

[0105] Compared to the plan analysis system 1 (FIG. 1) according to the first embodiment, provisional solution data 1015 in the plan information master 1010 of the storage device 1001 and a search end condition 1051 in the plan explanation information 1020 are added. In addition, an upper bound update unit 1041, a constraint determination unit 1042, and an exception processing unit 1043 are added to the processing device 1002. The provisional solution data 1015 has the same data structure as the upper bound 1021 and the feasible solution 1022.

[0106] FIG. 13 is a block diagram showing an example of a functional configuration of a plan analysis system 1B according to the second embodiment.

[0107] The plan analysis system 1 (FIG. 2) according to the first embodiment is different in the following respects. The constraint determination unit 1042 extracts feasible solutions 1022 included in the provisional solution data 1015 of the plan information master 1010 that are feasible in the targeted optimization pattern 1026. If a provisional solution with a higher KPI value can be extracted, the solution search may be completed in a short time. The upper bound update unit 1041 performs a process of updating the original upper bound 1021 after calculating all upper bounds in each layer of the search process in each search initial condition 1023. Since the upper bound becomes smaller as the search progresses, adding an update process increases the possibility that the feasible solution will exceed the upper bound of another condition. The exception processing unit 1043 performs a process of forcibly terminating the solution search when the condition of the search end condition 1051 is satisfied before the condition determination unit 1034 makes a judgment.

[0108] 14 is a diagram showing an example of a data structure of the search termination condition 1051 according to the second embodiment. The search termination condition 1051 has columns of a condition name 1401 and a value 1402. The condition name 1401 indicates the name of a condition that forcibly terminates a search, or an "exception process" that is output when the search is terminated. The value 1402 indicates the value of each condition and exception process.

[0109] (Explanation Generation Process Based on Upper Bound According to the Second Embodiment) 15 is a diagram showing an example of a flowchart illustrating the explanation generation process based on an upper bound according to embodiment 2. The following mainly describes the differences from the explanation generation process based on an upper bound according to embodiment 1 (FIG. 9).

[0110] 9, and obtains the search initial conditions 1023 and the optimization pattern 1026. However, the optimization pattern 1026 of the input factors is generated in order from the combination including the most constraint conditions.

[0111] Step S1502: For each row of the optimization pattern 1026, a solution search loop of steps S1503 to S1511 is executed.

[0112] Step S1503: The upper bound calculation unit 1032 calculates the upper bound 1021 for the search initial condition 1023 based on the plan information master 1010.

[0113] Step S1504: The constraint determination unit 1042 extracts feasible solutions 1022 included in the tentative solution data 1015 of the plan information master 1010, and extracts those that are feasible in the target optimization pattern 1026. The extraction method can utilize existing methods such as judging from combinations of constraints or actually solving an optimization problem. By generating combinations in order starting with those containing more constraint conditions in step S1501, it is highly likely that tentative solution data 1015 that is feasible in a pattern more complicated than the target optimization pattern 1026 has been obtained in advance as history. Therefore, it is expected that the number of combinations that can complete calculations using history before searching for a solution will increase.

[0114] Step S1505: The solution searching unit 1033 searches for a feasible solution 1022 for each search initial condition 1023 based on the plan information master 1010. If a feasible solution is obtained in step S1504, the solution searching unit 1033 moves the process to step S1506 without performing a solution search in step S1505.

[0115] Step S1506: The exception processing unit 1043 judges whether or not the search end condition 1051 is satisfied. The exception processing unit 1043 judges whether or not a condition for forcibly terminating the solution search is satisfied, such as the number of layers in a search branch becoming greater than 3, or the calculation time exceeding 300 seconds, as shown in Fig. 14, for example. If the search end condition 1051 is satisfied (YES in step S1506), the exception processing unit 1043 transfers the process to step S1507. On the other hand, if the search end condition 1051 is not satisfied (NO in step S1506), the exception processing unit 1043 transfers the process to step S1508.

[0116] Step S1507: The exception processing unit 1043 outputs the exception processing value 1402 of the search end condition 1051 as the execution result of the exception processing. The exception processing value 1402 is used as the objective variable 803 of the contribution degree calculation data 1027.

[0117] Step S1508: The condition determination unit 1034 determines whether the conditions of the state of interest include an optimal solution based on the upper bound 1021 and the feasible solution 1022 obtained in step S1510. If the conditions of the state of interest include an optimal solution (step S1508 YES), the condition determination unit 1034 proceeds to step S1510, and if the conditions of the state of interest do not include an optimal solution (step S1508 NO), the condition determination unit 1034 proceeds to step S1509.

[0118] Step S1509: The upper bound update unit 1041 updates the upper bound of each search initial condition 1023. In order to update, it is necessary that all upper bounds of a certain layer in the solution search have been calculated. If they have been calculated, the largest upper bound in that layer is determined as the new upper bound of the search initial condition 1023. For example, in FIG. 10, when the search has been completed up to the second layer, the upper bound under the condition "employee A is placed at a place other than workplace 1" is 32. Here, if all the branches of the third layer are completed (employee A is placed at workplace 2 or not), it is clear that a solution larger than 30 cannot be obtained in the subsequent layers, so the upper bound of "employee A is placed at a place other than workplace 1" can be updated to 30, which is the largest in the third layer. This increases the possibility that a feasible solution of "employee A is placed at workplace 1" will exceed the upper bound of "employee A is placed at a place other than workplace 1".

[0119] Step S1510: The condition determination unit 1034 reflects the results determined in steps S1507 and S1508 in the data for contribution degree calculation 1027.

[0120] Step S1511: When steps S1503 to S1510 are executed for all optimization patterns 1026 and output to the contribution calculation data 1027 is completed, the process proceeds to step S1512. Note that at each point in time when execution of steps S1503 to S1510 is completed for each optimization pattern 1026, an upper bound 1021 and a feasible solution 1022 are held as the tentative solution data 1015.

[0121] Step S1512: The contribution degree calculation unit 1036 calculates the contribution degree data 1028 of each analysis subject from the contribution degree calculation data 1027.

[0122] Step S1513: The plan analysis unit 1030 performs processing such as graph processing on the contribution data 1028, as in step S912 (FIG. 9), and displays an explanation on the output device 1004 via the screen output unit 1037. The screen example according to this embodiment is different from the screen example according to the first embodiment shown in FIG. 11 in that it accepts input of a condition name 1401 of the search end condition 1051 and outputs a value 1402, but is otherwise the same. Note that if input is made directly to the machine without human intervention, the screen output in step S1513 can be canceled.

[0123] The constraint determination unit 1042 effectively utilizes the results of existing combinatorial calculations, while the upper bound update unit 1041 gradually reduces the upper bound, thereby speeding up the search for a solution. It is also effective to tune the solution search unit 1033 in the direction in which the upper bound is updated, that is, to preferentially perform a breadth-first search that prioritizes the same hierarchy over a depth-first search that prioritizes deeper hierarchies.

[0124] Also, by skipping the calculation of difficult combinations using the exception processing unit 1043, it becomes possible to grasp the overall trend approximately in a short time. In the case of the contribution degree based on the Shapley value, even if it is replaced by 0.5 in the exception processing, the magnitude relationship of the contribution degree between factors is not reversed, so it is possible to efficiently extract at least strong factors that are thought to have an influence. It is also possible to first extract factors using an approximate solution method, and then proceed to strict calculation of the contribution degree.

[0125] In this way, the second embodiment is suitable for grasping the overall trend of the contribution degree, while the first embodiment can calculate the contribution degree in a more detailed form. It is expected that after processing large-scale data in the second embodiment, detailed information will be output in the first embodiment.

[0126] [Embodiment 3] In the third embodiment, a method for generating an explanation by efficiently solving a relaxation problem based on an inverse constraint will be described in order to further reduce the calculation cost of the optimization pattern 1026. In the following description of the third embodiment, the differences from the first embodiment will be mainly described, and the description of the same configuration and processing as the first embodiment will be omitted.

[0127] (System configuration of plan analysis system 1C according to embodiment 3) FIG. 16 is a diagram illustrating an example of a system configuration of a plan analysis system 1C according to the third embodiment.

[0128] Compared to the plan analysis system 1B according to the second embodiment (FIG. 12), the plan analysis system 1C further includes an inverse constraint calculation unit 1044 and a solution comparison unit 1045 in the processing device 1002.

[0129] FIG. 17 is a block diagram showing an example of a functional configuration of a plan analysis system 1C according to the third embodiment.

[0130] The plan analysis system 1C has an inverse constraint calculation unit 1044, as compared with the plan analysis system 1B (FIG. 13) according to the second embodiment. The inverse constraint calculation unit 1044 calculates a constraint condition (inverse constraint) that is the inverse of the original condition for a constraint (exclusion constraint) that is turned off in the optimization pattern 1026. In the example shown in the analysis target data 1025 (FIG. 2), an inverse constraint is a constraint obtained by inverting the sign of the parameter 503 for each constraint shown in the target name 502. Specifically, when the target name 502 is "Number of people constraint at workplace 1", the inverse constraint is ">2" obtained by inverting the sign of the order constraint "≦2". When the target name 502 is "Layout constraint at workplace 1", the inverse constraint is "≠1" obtained by inverting the sign of the order constraint "=1".

[0131] A solution comparison unit 1045 compares the upper bound 1021 and feasible solution 1022 obtained under the inverse constraint with the tentative solution data 1015 under the target constraint (forward constraint), and outputs the solution with the larger KPI.

[0132] (Explanation Generation Process According to the Third Embodiment) 18 is a diagram showing an example of a flowchart illustrating the explanation generation process according to the third embodiment. The difference from the explanation generation process according to the second embodiment will be described.

[0133] Step S1801: A solution search loop of steps S1802 to S1813 is executed for each row of the optimization pattern 1026. As in step S1501 (FIG. 15), the optimization pattern 1026 of the input factors is generated in order from combinations including more constraint conditions.

[0134] Step S1802: The inverse constraint calculation unit 1044 calculates constraint conditions (inverse constraints) that are the opposite of the original conditions for the constraints that are turned off in the optimization pattern 1026. For example, in the case of the "headcount constraint at workplace 2" in Fig. 5, the inverse constraint is "place more than two employees at workplace 2".

[0135] Step S1803: The upper bound calculation unit 1032 calculates the upper bound 1021 for the search initial condition 1023 based on the plan information master 1010 reflecting the inverse constraint.

[0136] Step S1804: The solution comparison unit 1045 compares the upper bound 1021 and the feasible solution 1022 obtained under the inverse constraint in step S1803 with the provisional solution data 1015 with the target constraint, and outputs the solution with the larger KPI. For example, when only the "headcount constraint at workplace 2" in FIG. 5 is OFF and the upper bound is calculated under the inverse constraint "place more than two employees at workplace 2", the upper bound in the state where the "headcount constraint at workplace 2" is also ON is extracted from the provisional solution data 1015. Then, the upper bounds are compared, and the larger one is regarded as the upper bound under those conditions.

[0137] Step S1805: Similar to step S1504. Here, no inverse constraint is used.

[0138] Step S1806: The solution search unit 1033 searches for a feasible solution 1022 for each search initial condition 1023 based on the plan information master 1010 reflecting the inverse constraints. If a feasible solution has already been obtained in step S1504, the solution search unit 1033 moves the process to step S1506 without searching for an optimal solution.

[0139] Step S1807: As in step S1804, the solution comparison unit 1045 compares the upper bound 1021 and the feasible solution 1022 obtained in the search process in step S1806 with the provisional solution data 1015 with the target constraint, and outputs the solution with the larger KPI. Note that the fixed element 601 (FIG. 6) also uses the same provisional solution data 1015.

[0140] Steps S1808 to S1813: Similar to steps S1506 to S1511.

[0141] In this embodiment, by using the inverse constraint, it is possible to search only the solution space that is added when the original constraint ON condition is changed to the constraint OFF condition. This narrows the search space of the relaxation problem, and it is possible to efficiently obtain a solution.

[0142] Although the embodiments of the present disclosure have been described above in detail, the present disclosure is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the present disclosure. For example, the above-described embodiments have been described in detail to clearly explain the present invention, and the present disclosure is not necessarily limited to those having all of the configurations described. In addition, it is possible to add, delete, or replace part of the configuration of the above-described embodiments with other configurations.

[0143] Furthermore, the above-mentioned configurations, functional units, processing units, etc. may be realized in part or in whole by hardware, for example, by designing them as integrated circuits. The above-mentioned configurations, functions, etc. may be realized in software by a processor interpreting and executing a program that realizes each function. Information such as the program, table, file, etc. that realizes each function can be stored in a memory, a storage device such as an HDD or SSD, or a recording medium such as an IC card, an SD card, or a DVD.

[0144] In addition, in each of the above figures, the control lines and information lines are shown as those considered necessary for the explanation, and do not necessarily show all the control lines and information lines in the actual implementation. For example, it may be considered that almost all the components are actually connected to each other.

[0145] The above-mentioned arrangement of the processing functions and data is merely an example. The arrangement of the processing functions and data can be changed to an optimal arrangement in terms of the performance of the hardware and software, processing efficiency, communication efficiency, and the like. [Explanation of symbols]

[0146] 1, 1B, 1C: planning analysis system, 1002: processing device, 1030: planning analysis unit, 1031: optimization pattern generation unit, 1032: upper bound calculation unit, 1033: solution search unit, 1034: condition judgment unit, 1035: search initial condition generation unit, 1036: contribution calculation unit, 1037: screen output unit, 1038: data input unit, 1041: upper bound update unit, 1042: constraint judgment unit, 1043: exception processing unit, 1044: inverse constraint calculation unit, 1045: solution comparison unit.

Claims

1. A plan analysis method executed by a plan analysis system that analyzes an optimal plan in which an optimization target is optimized based on a plurality of constraints and evaluation indexes, comprising: The planning analysis system includes a processor and a memory. The processor, generating a plurality of optimization patterns by combining the constraints to be analyzed; For each of the optimization patterns, an upper bound based on the evaluation index when a condition corresponding to a state of attention of a user in the optimization plan is satisfied and an upper bound when the condition is not satisfied are calculated; Searching for a feasible solution of the optimization under the conditions; Based on the upper bound and the feasible solution, determine whether an optimal solution exists for the optimization under the condition. A planning analysis method comprising each process.

2. The method of planning and analysis according to claim 1 , The processor, Based on the state of interest, an initial condition for calculating the upper bound and searching for the feasible solution is determined. A planning analysis method comprising the steps of:

3. The method of planning and analysis according to claim 1 , The processor, The upper bound and the feasible solution for each of the conditions are stored, and when the feasible solution for a certain condition among the conditions exceeds the upper bound for another condition, information indicating that the certain condition is satisfied in the optimal solution is output. A planning analysis method comprising the steps of:

4. The method of planning and analysis according to claim 1 , The processor, In the process of searching for the feasible solution, searching for the feasible solution under the condition to which the new condition has been added; Update the upper bound based on the condition to which the new condition has been added. A planning analysis method comprising each process.

5. The planning and analysis method according to claim 3, The processor, When a termination condition for the search for a feasible solution is satisfied, the search for a feasible solution is terminated, a predetermined exception process is executed, and a result of the execution of the exception process is output instead of the output of the information. A planning analysis method comprising the steps of:

6. The method of planning and analysis according to claim 1 , The processor, Generate the optimization pattern in an order that includes the constraint more frequently among the plurality of constraints. A planning analysis method comprising:

7. The method of planning and analysis according to claim 1 , The processor, determining whether or not the feasible solution already obtained in another optimization pattern satisfies the condition in the target optimization pattern, and if the condition is satisfied, retaining the feasible solution as a tentative solution in the target optimization pattern; A planning analysis method comprising the steps of:

8. The method of planning and analysis according to claim 1 , The processor, A breadth-first search is performed when searching for the feasible solution. A planning analysis method comprising:

9. The method of planning and analysis according to claim 1 , The processor, Calculating an inverse constraint for an excluded constraint, the excluded constraint being the constraint in the optimization pattern; searching for the feasible solution for the optimization pattern using the inverse constraints; The upper bound or the feasible solution obtained during the search for the feasible solution is compared with the upper bound or the feasible solution under the same condition among the upper bound or the feasible solution obtained for the optimization pattern including the exclusion constraint, and the upper bound or the feasible solution with a larger value is determined to be the upper bound or the feasible solution under the condition. A planning analysis method comprising each process.

10. The method of planning and analysis according to claim 1 , The processor, converting the optimization pattern and a determination result as to whether or not an optimal solution of the optimization exists for the optimization pattern under the conditions into feature amounts and storing the feature amounts in contribution degree calculation data; Calculating the contribution of each of the constraints to the optimal plan based on the feature amount A planning analysis method comprising each process.

11. The method for planning and analyzing according to claim 10, The processor, generating an explanation for the attention state based on the contribution and outputting the explanation through an output device; A planning analysis method comprising the steps of:

12. The method for planning and analyzing according to claim 11, The processor, Accepting user input of information related to generating the description via an input device. A planning analysis method comprising the steps of:

13. A planning analysis system for analyzing an optimal plan in which an optimization target is optimized based on a plurality of constraints and evaluation indexes, an optimization pattern generation unit that generates a plurality of optimization patterns by combining the constraints to be analyzed; an upper bound calculation unit that calculates, for each of the optimization patterns, an upper bound based on the evaluation index when a condition corresponding to a state of attention of a user in the optimization plan is satisfied and an upper bound when the condition is not satisfied; a solution search unit that searches for a feasible solution of the optimization under the condition; a condition determination unit that determines whether or not an optimal solution of the optimization exists under the condition based on the upper bound and the feasible solution; A planning analysis system comprising:

Citation Information

Patent Citations

  • System and method for retrieving optimum solution

    JP1995319848A

  • Problem dividing method, optimization method, problem dividing device, optimization device, and computer program

    JP2004133802A