Planning analysis apparatus and method
The plan analysis apparatus and method streamline plan analysis by generating question data and calculating contributions, addressing the limitations of existing XAIP technologies to provide efficient and accurate explanations for optimization results.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- HITACHI LTD
- Filing Date
- 2022-11-24
- Publication Date
- 2026-06-11
AI Technical Summary
Existing XAIP technologies lack versatility in providing detailed explanations for optimization results, often requiring trial and error, and face challenges such as incorrect explanations due to insufficient training and high computational costs, especially when adjusting plans to meet desired solutions.
A plan analysis unit generates question data, an optimization pattern generation unit creates optimization patterns, a contribution calculation data generation unit calculates feature quantities, and a contribution calculation unit determines the contribution of each data element to explain the plan's elements and constraints.
This approach significantly reduces analysis time by providing clear, efficient explanations that consider both constraints and KPIs, enabling quick identification of main factors and suggesting adjustments for optimal plan design.
Smart Images

Figure 0007873165000001 
Figure 0007873165000002 
Figure 0007873165000003
Abstract
Description
Technical Field
[0001] The present invention relates to a planning analysis apparatus and method.
Background Art
[0002] With the progress of digitization, all information has been digitized, and optimization engines or agent-based simulations have come to be used in decision-making related to people's lives, such as optimizing the allocation of human resources. On the other hand, an optimization engine only presents a solution that maximizes an objective function.
[0003] For example, in the allocation of human resources, an optimization engine cannot present the reasons for the allocation of elements of a plan, such as "Although person A is more suitable for workplace 2 than workplace 1, why is person A assigned to workplace 1?" In operations with a high social responsibility, it is important to present not only the result of optimization but also an explanation that the user can accept. Therefore, research on XAIP (eXplainable AI Planning), a technology for explaining the basis of judgment in plan optimization, has been rapidly advancing.
[0004] Non-Patent Documents 1 and 2 disclose techniques classified as XAIP. In Non-Patent Document 1, regarding the reason why a certain evaluation index (hereinafter, KPI: Key Performance Indicator) was not satisfied, a KPI prioritized over that KPI and elements related thereto are extracted.
[0005] In Non-Patent Document 2, in order to explain why a certain route plan A is superior to another route plan B, the inverse problem of route search is solved. In XAIP, What-If analysis, which attempts to explain by presenting the difference in KPI between another plan and an optimal plan, is the mainstream.
[0006] For example, Patent Document 1 calculates evaluation indicators for train operation plans from various perspectives, such as by train, by route, and by distance traveled, to estimate areas that require significant improvement (areas that negatively impact the evaluation indicators). This makes it possible to present not only the overall KPI but also the differences in KPIs for more detailed elements.
[0007] On the other hand, Patent Document 2 describes a constraint programming method in which a surrogate model based on a neural network is created to output information on constraints that contributed to narrowing down candidate solutions and other solutions, and important causes are estimated from the weights of that model. [Prior art documents] [Patent Documents]
[0008] [Patent Document 1] Japanese Patent Publication No. 2019-209796 [Patent Document 2] Japanese Patent Publication No. 2019-8499 [Non-patent literature]
[0009] [Non-Patent Document 1] A. Pozanco, F. Mosca, P. Zehtabi, D. Magazzeni, S. Kraus, “Explaining Preference-driven Schedules: the EXPRES Framework,” ICAPS, 2022. [Non-Patent Document 2] M. Brandao and D. Magazzeni, “Explaining plans at scale: scalable path planning explanations in navigation meshes using inverse optimization,” XAIP, 2020. [Overview of the Initiative] [Problems that the invention aims to solve]
[0010] While the technology described in Non-Patent Document 1 allows for a simple explanation, the method for narrowing down the prioritized KPIs and elements must be customized for each domain, lacking versatility. Furthermore, if a more detailed explanation is required, it becomes necessary to systematically investigate the causes of the narrowed-down elements, potentially leading to an enormous amount of time spent on trial and error.
[0011] The explanation techniques using what-if analysis described in Non-Patent Document 2 and Patent Document 1 can show that the optimal solution is the best by looking at the difference in KPIs. However, since optimization results are derived from the complex interplay of KPIs and constraints, the explanation based solely on the difference in KPIs is insufficient as it cannot take into account the influence of constraints. Furthermore, it cannot provide an explanation for fundamental elements such as "why was person A assigned to workplace 1?" As a result, trial and error is necessary when adjusting the plan to obtain the desired solution.
[0012] While the technology described in Patent Document 2 can narrow down the main factors, it has challenges such as the possibility of generating incorrect explanations due to insufficient training of the machine learning model, and the high computational cost of creating the model each time an explanation is provided.
[0013] Therefore, the present invention has been made in view of the above problems, and its purpose is to provide a technology for shortening the time required for planning analysis. [Means for solving the problem]
[0014] To solve the above objectives, the present invention comprises: a plan analysis unit that generates question data for a plan that satisfies a plurality of evaluation indicators and constraints; an optimization pattern generation unit that generates an optimization pattern for the data to be analyzed included in the plan; a contribution calculation data generation unit that generates feature quantities and target variables based on the question data and the optimization pattern; and a contribution calculation unit that calculates the contribution for each of the data to be analyzed based on the feature quantities and the target variable. [Effects of the Invention]
[0015] According to the present invention, the analysis time of the plan can be shortened. Problems, configurations, and effects other than those described above will be clarified by the description of the following embodiments.
Brief Description of the Drawings
[0016] [Figure 1] The figure which shows an example of the system configuration (hardware) of the plan analysis apparatus which concerns on Example 1. [Figure 2] The block diagram which shows an example of the functional configuration of the plan analysis apparatus which concerns on Example 1. [Figure 3] The figure which shows an example of the data structure of the plan information master which concerns on Example 1. [Figure 4] The figure which shows an example of the data structure of the question data and the question pattern data which concerns on Example 1. [Figure 5] The figure which shows an example of the data structure of the analysis target data which concerns on Example 1. [Figure 6] The figure which shows an example of the data structure of the optimization pattern which concerns on Example 1. [Figure 7] The figure which shows an example of the data structure of the contribution degree calculation data which concerns on Example 1. [Figure 8] The figure which shows an example of the data structure of the contribution degree data which concerns on Example 1. [Figure 9] The figure which shows an example of the data structure of the explanation template which concerns on Example 1. [Figure 10] The figure which shows an example of the data structure of the explanation condition data which concerns on Example 1. [Figure 11] The figure which shows an example of the data structure of the explanation data which concerns on Example 1. [Figure 12] The figure which shows an example of the work flow which performs explanation generation based on the contribution degree which concerns on Example 1. [Figure 13] The figure which shows an example of the interface and explanation screen output which concerns on Example 1. [Figure 14] The figure which shows an example of the hierarchical explanation screen output which concerns on Example 1. [Figure 15] The figure which shows an example of the system configuration (hardware) of the plan analysis apparatus which concerns on Example 2. [Figure 16] A diagram showing an example of the data structure of the adjustment condition data related to Example 2. [Figure 17] A diagram showing an example of the workflow of the planning analysis device according to Example 2. [Figure 18] A diagram showing an example of the interface and adjustment result output according to Example 2. [Figure 19] A figure showing an example of the data to be analyzed with perturbation conditions related to Example 3. [Figure 20] A diagram showing an example of the interface and adjustment result output according to Example 3. [Modes for carrying out the invention]
[0017] The following discussion will primarily focus on staffing plans for assigning employees to appropriate workplaces. However, each method can be broadly applied to systems that create / modify plans by combining various evaluation perspectives and constraints, such as operational planning for transportation systems like aircraft, buses, and railways, product manufacturing plans in factories, and supply chain simulations. It does not depend on any specific optimization calculation procedure.
[0018] Regarding user questions, we will show an example of narrowing down the main factors based on constraints and attributes, such as "Why was an employee assigned to a particular workplace?" However, this can also be applied to questions about the overall plan or constraints, such as "Why is it impossible to obtain an optimal plan in the first place?" and "Why are certain constraints not met?"
[0019] Hereinafter, several embodiments of the present invention will be described with reference to the drawings. However, these embodiments are merely examples of how to realize the present invention and do not limit the technical scope of the present invention. It will be readily apparent to those skilled in the art that the specific configuration can be modified without departing from the spirit or intent of the present invention.
[0020] In the configuration of the invention described below, identical or similar components or functions are denoted by the same reference numerals, and redundant descriptions are omitted.
[0021] The positions, sizes, shapes, and ranges of each component shown in the drawings, etc., may not represent the actual positions, sizes, shapes, and ranges, etc., in order to facilitate understanding of the invention. Therefore, the present invention is not limited to the positions, sizes, shapes, and ranges, etc., disclosed in the drawings, etc. Hereinafter, embodiments of the present invention will be described with reference to the drawings. [Examples]
[0022] Figure 1 shows an example of the system configuration (hardware) of the planning analysis device according to Example 1.
[0023] The planning analysis device 100 includes a storage device 1001, a processing device 1002, an input device 1003, and an output device 1004.
[0024] The storage device 1001 is a general-purpose device for permanently storing data, such as an HDD (Hard Disk Drive) or SSD (Solid State Drive). The storage device 1001 contains a plan information master 1010 as an example of "plan information" and plan explanation information 1020. It is acceptable for the storage device 1001 to reside on a cloud or external server rather than on a terminal like the other devices, and for the data to be accessible via a network.
[0025] The planning information master 1010 includes the plan 1011, constraint data 1012, evaluation metric data 1013, attribute data 1014, and perturbation planning data 1015. The plan 1011 is formulated by an optimization solver or simulation. The constraint data 1012 stores information about constraints. The evaluation metric data 1013 shows the KPIs of the plan. The attribute data 1014 is data related to the elements of the plan. The perturbation planning data 1015 is data for calculating contribution. Details of the plan 1011, constraint data 1012, evaluation metric data 1013, attribute data 1014, and perturbation planning data 1015 will be described later in Figure 3.
[0026] The plan explanation information 1020 includes question data 1021, question pattern data 1022, data to be analyzed 1023, optimization pattern 1024, contribution calculation data 1025, contribution data 1026, explanation template 1027, explanation condition data 1028, and explanation data 1029. The question data 1021 is data from a user as an example of a "user" regarding the plan.
[0027] Question pattern data 1022 stores assumed questions and conditions. Analysis target data 1023 is data representing potential causes for the elements of the question. Optimization pattern 1024 is data representing the transformed attributes and constraints of the analysis target. Contribution calculation data 1025 is data obtained from the questions and optimization results. Contribution data 1026 is data relating to the analysis target. Explanation template 1027 is a template for paraphrasing the contribution. Explanation condition data 1028 is data for generating explanation data 1029. Explanation data 1029 is data generated from explanation template 1027 and condition data 1028.
[0028] The processing unit 1002 is a general-purpose computer. The processing unit 1002 has internally a planning analysis unit 1030, an optimization pattern generation unit 1031, a planning optimization processing unit 1032, a contribution calculation data generation unit 1033, a contribution calculation unit 1034, an explanation generation unit 1035, a screen output unit 1036, and a data input unit 1037. The planning analysis unit 1030, the optimization pattern generation unit 1031, the planning optimization processing unit 1032, the contribution calculation data generation unit 1033, the contribution calculation unit 1034, the explanation generation unit 1035, the screen output unit 1036, and the data input unit 1037 may be stored in memory as software programs.
[0029] The screen output unit 1036 is used to convert the data stored in the plan information master 1010 and the plan explanation information 1020 into a format suitable for display output.
[0030] The data input unit 1037 is used to set parameters and questions from the user.
[0031] The input device 1003 is a general-purpose input device for a computer, such as a mouse, keyboard, or touch panel.
[0032] The output device 1004 is a device such as a display, and displays information for user interaction through the screen output unit 1036. However, if it is not necessary for a human to confirm the evaluation results of the machine learning system (for example, if the evaluation results are directly passed to another system), the output device does not need to be provided.
[0033] Figure 2 is a block diagram showing an example of the functional configuration of the planning analysis device according to Example 1.
[0034] The planning analysis unit 1030 generates user question data 1021, question pattern data 1022, and analysis target data 1023 for the plan 1011 extracted from the planning information master 1010. The optimization pattern generation unit 1031 converts the analysis target data 1023 into optimization patterns 1024. The planning optimization processing unit 1032 outputs perturbation planning data 1015, which is the optimization result for each of the optimization patterns 1024, based on the planning information master 1010.
[0035] The contribution calculation data generation unit 1033 generates contribution calculation data 1025 from the optimization pattern 1024, perturbation planning data 1015, question data 1021, and question pattern data 1022. The contribution calculation unit 1034 calculates contribution data 1026 for each analysis target from the contribution calculation data 1025. Then, the explanation generation unit 1035 generates explanation data 1029 from the explanation template 1027 and explanation condition data 1028 based on the contribution data 1026, question data 1021, and question pattern data 1022. The obtained explanation data 1029 is input to the planning analysis unit 1030 and presented to the user. The planning analysis unit 1030 may present the user with the generated explanation and information included in the planning information master based on the distribution of contributions or the upper limit of the number of reasons.
[0036] Figure 3 shows an example of the data structure of the planning information master according to Example 1.
[0037] The planning information master 1010 includes a plan 1011, constraint data 1012, evaluation indicator data 1013, attribute data 1014, and perturbation planning data 1015.
[0038] Plan 1011 is set up to satisfy KPIs (Key Performance Indicators) 303 as an example of multiple "evaluation indicators" and constraints. Plan 1011 consists of matrix data (tabular data) as an example. Plan 1011 has basic plan information 301, elements 302, and KPIs 303.
[0039] The basic plan information 301 is the target for the placement of elements 302, such as workplaces in personnel allocation. Elements 302 are optimization decision variables, such as personnel in personnel allocation. Note that the plan targeted in this embodiment is not limited to this, and may also be a route plan or a train operation plan diagram. An example of an operation plan is to use train names as elements 302 and a table of stations and time slots as the plan information section 301. Furthermore, there may be cases where there is no basic plan information 301, and only the set of elements 302 is treated as plan 1011. KPI 303 represents the KPI value of plan 1011.
[0040] The constraint data 1012 has a constraint name 304, constraint parameters 305, and dependent constraints 306. The constraint parameters 305 are used as conditions for optimization. The dependent constraints 306 represent the dependency between a constraint in that row and another constraint. In this example, the constraint on the number of people in workplace 1 is automatically disabled if the constraint on the number of people in workplace 2 is disabled. The dependent constraints 306 are used in the optimization pattern generation unit 1031. However, the dependent constraints 306 are not a required component.
[0041] The evaluation indicator data 1013 contains information on KPIs that are the objective of plan optimization. The evaluation indicator data 1013 consists of an indicator name 307 and a calculation process 308. Multiple KPIs may exist.
[0042] Attribute data 1014 has attribute destination 309 and attribute value 310. Attribute destination 309 corresponds to the basic planning information 301 or element 302, and attribute value 310 is a parameter that acts on the KPIs and constraints of planning optimization for each attribute destination 309.
[0043] The perturbation plan data 1015 is output by the plan optimization processing unit 1032. The structure of the perturbation plan data 1015 is the same as the structure of plan 1011.
[0044] Figure 4 shows an example of the data structure of the question data and question pattern data related to Example 1.
[0045] The question data 1021 includes a question sentence 401 entered by the user, an element to be explained as an example of the "object to be explained" 402, the arrangement of the object 403, the type of reason 404, and the conditions for its fulfillment 405.
[0046] When the planning analysis unit 1030 receives a question 401 from the user, it creates the corresponding explanatory element 402, target placement 403, reason type 404, and fulfillment condition 405. The explanatory element 402 can be any information related to the plan, such as element 302, the plan 1011 itself, or constraint data 1012. The target placement 403 indicates the basic plan information 301 or the entire plan that corresponds to the explanatory element 402. The reason type 404 indicates whether the question 401 is asking about a condition that is true (affirmative) or a condition that is not true (negative) regarding the explanatory element 402. The fulfillment condition 405 represents the specific conditions under which the content of the question 401 is true. The fulfillment condition 405 can be written not only in natural language, but also in conditional expressions or programming languages.
[0047] For example, if question 401 is "What is the reason for assigning employee A to workplace 1?", then the element to be explained 402 is employee A, the target assignment 403 is workplace 1, the type of reason 404 is affirmative, and the condition for fulfillment 405 is the conditional expression shown in Figure 4. Furthermore, as a simple extension, it is also possible to define questions about the entire plan, such as "Why is there no optimal solution?", and questions about constraints, such as "Why is constraint a not met?".
[0048] Beyond personnel allocation, this approach can be applied to questions like, for example, "Why did train A depart at this time?" in a train timetable. Furthermore, it can be applied to questions such as, "Why do we turn right at this corner?" in route planning, or even in problems where multiple optimal solutions (Pareto solutions) can be obtained through simulation, "Why is there no solution where the KPI falls below a certain threshold?" The key is that the question can be expressed as either satisfied or dissatisfied.
[0049] On the other hand, in the case of questions related to numerical values, such as "What factors increase the KPI?", condition 405 is not specifically used, and the relevant numerical value (KPI) is directly extracted. Furthermore, as shown in the example in Figure 4, if the increase in the KPI is desirable for the user, the type of reason is "affirmative".
[0050] The question pattern data 1022 includes a question pattern 406, an element to be explained 402, an object arrangement 403, a type of reason 404, and a condition for fulfillment 405. Instead of the user inputting the question text 401, the planning analysis unit 1030 applies the question pattern 406 to the plan 1011 and generates the element to be explained 402, the object arrangement 403, the type of reason 404, and the condition for fulfillment 405 that correspond to the conditions.
[0051] For example, in the question "Why is a certain employee not assigned to the workplace that best matches their skill S?", the fact that employees A and C are assigned to workplace 1 instead of workplace 2, which should be the best match, is extracted. In this case, since they are currently assigned to workplace 1, the type of reason 404 for workplace 1 is "affirmative". They are not currently assigned to workplace 2, and we want to know the reason that prevented that assignment, so the type of reason 404 for workplace 2 is "negative".
[0052] Figure 5 shows an example of the data structure of the data to be analyzed in Example 1.
[0053] The data to be analyzed 1023 includes target information 501 indicating whether or not it is to be analyzed, a target name 502, a type 503, a hierarchy 504, a value 505, and a baseline 506.
[0054] The target information 501 is specified by the user through the planning and analysis unit 1030. The type 503 indicates whether the analysis target falls under constraint data 1012, evaluation index data 1013, or attribute data 1014. The type 503 may also be more specific, such as a category like "number of people constraint". The hierarchy 504 corresponds to a subcategory of the type 503 for each analysis target. The value 505 indicates whether the parameter of the analysis target is numerical or a binary value of yes / no. For example, a skill attribute would be numerical, while a number of people constraint would be a binary value of whether the constraint exists or not. However, even constraints can be numerical, such as whether the number of people constraint is 2 or 4.
[0055] Baseline 506 is used in the calculation process of the contribution calculation unit 1034, and a baseline value is entered for each analysis target for each plan. For example, if the value 505 for each analysis target is present / absent, it is set to "no constraints," and for skill attributes which are continuous values, the average value is used. Depending on the purpose of the analysis, conditions that maximize the impact may also be used (for example, if you want to know what went wrong compared to the best attribute). Baseline 506 can be entered by the user or calculated by the plan analysis unit 1030.
[0056] Figure 6 shows an example of the data structure of the optimization pattern according to Example 1.
[0057] Optimization pattern 1024 has pattern number 601 and analysis target parameter 602. Analysis target parameter 602 indicates the combination of whether to use the original parameter or the baseline for the data to be analyzed 1023 specified in the target information 501. For example, the constraint is "6" which corresponds to "no constraint" in the baseline, or "2" which is the original parameter, and the skill attribute is entered as the baseline average or the original parameter. The optimization pattern generation unit 1031 generates all combinations as optimization pattern 1024. However, this is not the case if there is a dependency constraint 306 or if an approximate calculation is performed from the perspective of computational complexity.
[0058] Figure 7 shows an example of the data structure for calculating contribution in Example 1.
[0059] The contribution calculation data 1025 has pattern number 701, feature 702, and target variable 703. Pattern number 701 corresponds to pattern number 601 in Figure 6. Feature 702 indicates whether the parameter 602 to be analyzed in the optimization pattern 1024 is the baseline (0) or the original parameter (1). The target variable 703 indicates whether the condition 405 of the question is met (1) or not (0) in the perturbation design data 1015 obtained for each pattern number 701. In the case of the condition 405 for a continuous value, the numerical value is output as is.
[0060] Figure 8 shows an example of the data structure of contribution data related to Example 1.
[0061] The contribution data 1026 has a target name 801, a type 802, and a contribution score 803. The target name 801 and type 802 correspond to the target name 502 and type 503 specified in the target information 501 from the analysis target data 1023, respectively. The contribution score 803 is obtained by the contribution calculation unit 1034 and represents the influence of each analysis target on fulfilling the conditions of the question. A larger absolute value of the contribution score indicates a stronger influence on the condition.
[0062] Figure 9 shows an example of the data structure of the explanatory template related to Example 1.
[0063] The description template 1027 has a type 901, a relationship 902 with the subject of description, a code 903, and a description text 904.
[0064] Type 901 corresponds to Type 802 of contribution data 1026. The relationship with the explained object 902 represents the relationship of each Type 901 in the plan 1011 of the explained object element 402. The symbol 903 indicates whether the contribution 803 is positive or negative. For example, for the event "Person A is assigned to workplace 1", if the number constraint of workplace 2 has a positive contribution 803, then Type 901 is the constraint, the relationship with the explained object 902 is another department, and the symbol is positive from the contribution.
[0065] Explanation 904 is an easy-to-interpret sentence template corresponding to each line. Explanation 904 provides a paraphrasing of contribution 803, such as "because of staffing constraints, A could not be assigned to workplace 2." Paraphrasing requires domain knowledge. However, it is desirable that the paraphrasing includes an expression that combines type 901, relationship to the subject of explanation 902, and code 903. In this example, from A's perspective, the staffing constraints of workplace 2 in another department positively impacted A's placement in workplace 1. In other words, if there were no staffing constraints in workplace 2, A would have been assigned to workplace 2, and in this case, the constraint pushed A to workplace 1. Therefore, it is sufficient to prepare explanation 904 as a template.
[0066] Figure 10 shows an example of the data structure of the explanatory condition data related to Example 1.
[0067] The descriptive condition data 1028 has a condition name 101 and a value 102. This is used when generating descriptive data 1029 from contribution data 1026 using descriptive template 1027. The specific use of descriptive condition data 1028 is described in Figure 12.
[0068] Figure 11 shows an example of the data structure of the explanatory data related to Example 1.
[0069] The explanatory data 1029 includes a question 1101 and a reason 1102 that answers it. The reason 1102 is generated by the explanatory generation unit 1035 and presented to the user through the planning and analysis unit 1030.
[0070] The following describes the operation process of the planning analysis device 100.
[0071] Figure 12 shows an example of a workflow for generating an explanation based on the contribution level related to Example 1.
[0072] The planning analysis device 100 narrows down the main factors for the establishment of the plan elements based on their contribution and generates an explanation. In this embodiment, for elements that match the user's question or question pattern, the device calculates the contribution 803 of each analysis target from the optimization results for the combination of data to be analyzed, and uses a process to paraphrase this into an easily interpretable text using the explanation template 1027.
[0073] The operation based on the flowchart is as follows:
[0074] Step s1201: For plan 1011, the user inputs a question into the plan analysis unit 1030 via the input device 1003. If no input is provided, proceed to s1203.
[0075] Step s1202: If a question is entered (s1201: YES), the planning and analysis unit 1030 generates question data 1021 from the question text. The conversion from the question text is performed using a conversion linked to an interface using conditional expressions or fill-in-the-blank format, or by using existing natural language processing techniques. In addition, the user may directly input the question data 1021.
[0076] Step s1203: If the user does not enter a question (s1201: NO), the user uploads question pattern 406 of question pattern data 1022. The planning analysis unit 1030 then extracts elements that match question pattern 406 from the plan 1011, determines the element to be explained 402, the target arrangement 403, the type of reason 404, and the conditions for fulfillment 405, and generates complete question pattern data 1022.
[0077] Step s1204: The user uploads the data to be analyzed 1023 and specifies which of the data to be analyzed using the input device 1003. There are two methods of specification: directly entering the target name 502, or specifying the type 503 and hierarchy 504. The planning and analysis unit 1030 then generates the data to be analyzed 1023, reflecting the user's input in the target information 501.
[0078] Step s1205: The user uploads the explanation template 1027 and explanation condition data 1028, or enters the information from the screen.
[0079] Step s1206: The optimization pattern generation unit 1031 converts the data to be analyzed 1023 into an optimization pattern 1024. Specifically, it outputs the combination of whether to use the baseline 506 or the original parameters existing in the planning information master 1010 for the data to be analyzed 1023 specified in the target information 501, as the data to be analyzed parameters 602. Basically, all combinations (for example, for three data to be analyzed, 2 to the power of 3 = 8 combinations) are output. However, in terms of patterns considering the dependency constraints 306 or computational complexity, random pattern generation or Monte Carlo sampling may also be performed.
[0080] Step s1207: The planning optimization processing unit 1032 outputs perturbation planning data 1015, which is the optimization result for each of the optimization patterns 1024, based on the planning information master 1010. Regardless of the calculation method, multiple optimal solutions may be obtained. Furthermore, the perturbation planning data 1015 and pattern number 601 are linked using file names or other methods.
[0081] Step s1208: The contribution calculation data generation unit 1033 generates feature quantities 702 from the optimization pattern 1024 for each pattern number 701. Furthermore, the contribution calculation data generation unit 1033 generates the target variable 703 from the perturbation planning data 1015, the question data 1021, and the conditions 405 for fulfilling the question pattern data 1022. The contribution calculation data generation unit 1033 outputs the generated feature quantities 702 and the target variable 703 as contribution calculation data 1025.
[0082] Step s1209: The contribution calculation unit 1034 calculates contribution data 1026 for each analysis target from the contribution calculation data 1025. The target name 801 is taken from the column name of the feature 702, and the type 802 is matched with the association between target name 801 and target name 502 and the type 503. Existing methods are used to calculate the contribution. For example, the calculation of contribution 803 based on the Shapley value commonly used in game theory, or Cohort Shapley which can consider combinations of dependency constraints.
[0083] Step s1210: The explanation generation unit 1035 extracts the main factors (rows in the contribution data 1026) from the contribution data 1026 based on the explanation condition data 1028 and the question data 1021 and question pattern data 1022. The explanation generation unit 1035 extracts rows in the contribution data 1026 that have a positive contribution 803 if the type of reason 404 described in the question data 1021 or question pattern data 1022 is "affirmative," and a negative contribution 803 if it is "negative." The number of rows to extract follows the condition described in the explanation condition data 1028 ("number of factors to explain").
[0084] Step s1211: The explanation generation unit 1035 calculates the sum of the absolute values of the contributions of the extracted factors and determines whether it exceeds the threshold value described in the explanation condition data 1028. If it does not exceed the threshold, proceed to s1212; otherwise, proceed to s1213.
[0085] Step s1212: If the threshold is not exceeded (s1211; NO), it means that there are no strongly contributing analysis targets, so the explanation generation unit 1035 outputs an exception handling for the explanation condition data 1028.
[0086] Step s1213: If the threshold is exceeded (s1211; YES), the extracted factors are linked to the explanation template 1027 (see Figure 9), and the explanation generation unit 1035 combines them with the question data 1021 and the question pattern data 1022 to output the final explanation data 1029.
[0087] Step s1214: Based on the exception handling in s1212 or the explanatory data 1029 and contribution data 1026, the planning analysis unit 1030 performs processing such as graph processing, and then displays the explanation on the output device 1004 using the screen output unit 1036. An example of the screen is shown in Figure 13. Note that screen output may not be performed if the data is input directly to the machine without human intervention.
[0088] Figure 13 shows an example of the interface and explanatory screen output according to Example 1.
[0089] The planning and analysis unit 1030 has an interface that allows users to input the data necessary for generating questions and explanations.
[0090] The interface screen displays the plan 1011 screen display 1301, the question text input form 1302, the question pattern upload processing unit 1303, the data to be analyzed upload processing unit 1304, the analysis target specification unit 1305, and the explanation condition specification unit 1306. Furthermore, the interface screen displays the explanation template upload processing unit 1307, the analysis start processing unit 1308, the main factor contribution display unit 1309, the total factor contribution display unit 1310, and the explanation text display unit 1311.
[0091] The input form 1302 for the question clearly specifies the element to be explained 402, the target placement 403, and the type of reason 404 so that the question data 1021 can be generated in s1202. The interface should preferably be in the form of a dropdown menu or a conditional expression. However, the input format of the interface is not limited to this. In the analysis target specification unit 1305, as an example, the target information 501 is specified in the form of a dropdown menu with type 503 and hierarchy 504. In the explanation condition specification unit 1306, only the number of factors to be explained is set using a dropdown menu, and the rest are uploaded as a file.
[0092] The main factor contribution display section 1309 shows an example where the top two contributing factors and the question conditions are connected by arrows, and the contribution values are displayed. The overall factor contribution display section 1310 displays the contributions of factors that were not included in the main factors, allowing for an understanding of the overall trend. When presenting contributions using Shapley values, the baseline represents the average percentage of cases where the question conditions are met in the perturbation planning data 1015. If the content of the question represents a continuous value, the baseline represents the average value for that value. The explanatory text display section 1311 presents the explanatory data 1029 in a format that is easy to output to the screen. However, the method of outputting the explanation is not limited to this.
[0093] The plan analysis device 100 extracts the main factors as "the reason why employee A was assigned to workplace 1 and employee C was assigned to a workplace other than workplace 2": "employees could not be assigned to workplace 2 due to staffing constraints" and "employees A and C were assigned to different workplaces in order to assign employee F to workplace 2." Plan optimization is a framework that outputs a solution that maximizes KPIs while various elements interact with each other. However, extracting the influence relationships of each of these elements through trial and error is a time-consuming task. Therefore, narrowing down the factors based on their contribution in this embodiment can contribute to efficient plan analysis.
[0094] For example, if a contribution score based on the Shapley value is applied to a dependent variable that expresses whether a condition such as "employee A is assigned to workplace 1" is met, the contribution score can be interpreted as the probability of the condition being met. For continuous values, the contribution score can be interpreted as a number that directly increased the value of that dependent variable. However, the main value of this embodiment lies in the fact that the main factors can be extracted using some indicator such as the contribution score. Therefore, even if the interpretation of the contribution score itself is difficult, efficient analysis becomes possible by paraphrasing it using an explanatory template.
[0095] However, as the number of elements in the plan increases, the amount of data to be analyzed (1023) becomes enormous, which can make processing by the contribution calculation unit (1034) difficult. Furthermore, it is more natural and efficient to first grasp the general trends and then extract more detailed explanations, rather than analyzing from minute factors.
[0096] Therefore, the planning analysis device 100 can be operated by selecting a broad hierarchy 504 as the analysis target in the analysis target designation unit 1305, and then analyzing lower levels for personnel who showed a high contribution in that hierarchy. This is achieved by repeating the process shown in Figure 12. An example of the screen output is shown below.
[0097] Figure 14 shows an example of a screen output for a hierarchical explanation related to Example 1. The interface screen displays a main factor contribution display section 1401, a total factor contribution display section 1402, and an explanatory text display section 1403. The main factor contribution display section 1401 presents two main factors for "Employee A was assigned to workplace 1," and among them, it shows the factor (skill S2) that showed a high contribution from a lower level (Employee F's skills S1, S2, S3) below "Employee F's skills." By presenting the hierarchical relationships in this way, it becomes possible to quickly grasp the overall trend and efficiently search for factors.
[0098] According to this configuration, the planning analysis device 100 comprises a planning analysis unit 1030, an optimization pattern generation unit 1031, a contribution calculation data generation unit 1033, and a contribution calculation unit 1034. The planning analysis unit 1030 generates question data 1021 for plans that satisfy multiple evaluation indicators and constraints. The optimization pattern generation unit 1031 generates optimization patterns 1024 for the analysis target data 1023 included in the plan. The contribution calculation data generation unit 1034 generates feature quantities and target variables based on the question data 1021 and the optimization patterns 1024. The contribution calculation unit 1034 calculates the contribution 803 for each analysis target based on the feature quantities and target variables.
[0099] According to the present invention, the contribution of attributes or constraints to the fulfillment of certain elements of a plan can be revealed, and the main causes can be explained by focusing on those events. Factors can be analyzed according to the magnitude of the contribution 803, considering the impact of both constraints and KPIs, which enables a reduction in the work time spent on plan operation and design. Furthermore, suggestions can be given on which elements need to be adjusted to obtain the desired solution, enabling efficient plan adjustments that reduce external physical costs and work time. [Examples]
[0100] This example describes a What-If analysis method that adjusts the plan by adding external conditions based on the main factors obtained from contribution levels.
[0101] Figure 15 shows an example of the system configuration (hardware) of the planning analysis device according to Example 2.
[0102] As an example of carrying out the present invention, the apparatus shown in Figure 15, which is an extended version of Figure 1, is used.
[0103] As an addition to the planning analysis device 100 in Figure 1, the planning analysis device 200 includes adjustment condition data 1501 in the planning explanation information 1020 of the storage device 1001 and a planning adjustment unit 1502 of the processing device 1002. The specific ways in which these are used will be described in a later section.
[0104] Figure 16 shows an example of the data structure of the adjustment condition data related to Example 2.
[0105] The adjustment condition data 1501 includes priority 1601, condition 1602, detailed condition 1603, item 1604, parameter 1605, cost 1606, and exception handling 1607. Priority 1601 represents the priority when the planning adjustment unit 1502 makes adjustments. Condition 1602 is a plan adjustment condition given externally and is entered in the form of natural language or a conditional expression. Furthermore, if parameter specification is required for condition 1602, it is described in detailed condition 1603. Here, the maximum number of people (6) and their respective costs are stored as parameters when adjusting each constraint condition. Exception handling 1607 is displayed when there is no solution that can be adjusted.
[0106] Figure 17 shows an example of the workflow of the planning analysis device according to Example 2.
[0107] This section describes the planning adjustment process using What-If analysis. Since many of the processes are similar to those shown in Figure 12, only the differences will be discussed in detail.
[0108] Step s1701: The user inputs the adjustment condition data 1501 to the planning and analysis unit 1030 via the input device 1003.
[0109] Step s1702: Perform the processes from s1201 to s1213 in Figure 12 to extract the main factors that contribute most to the question. However, do not perform paraphrasing using the explanation template in s1213.
[0110] Step s1703: Perform a loop to evaluate the results of adjusting the plan based on the extracted requirements.
[0111] Step s1704: The planning adjustment unit 1502 selects the factors to be adjusted. The selection method can be in order from the largest absolute value, randomly, or specified by the adjustment condition data 1501.
[0112] Step s1705: The planning adjustment unit 1502 changes the value of the factor selected in s1703 to the parameter 1605 specified in the adjustment condition data 1501 or the baseline 506 of the data to be analyzed 1023.
[0113] Step s1706: The plan optimization processing unit 1032 outputs perturbation planning data 1015, which is the adjusted optimization result based on the plan information master 1010.
[0114] Step s1707: The planning adjustment unit 1502 calculates whether the conditions of the adjustment condition data 1501 are met or the cost based on the perturbation planning data 1015, and adds and stores the adjusted factors in the KPI 303 of the perturbation planning data 1015.
[0115] Step s1708: Loop through the process until all adjustment results have been evaluated.
[0116] Step s1709: The planning adjustment unit 1502 determines whether there is a plan among the perturbation planning data 1015 of the adjustment results that satisfies the conditions of the adjustment condition data 1501.
[0117] Step s1710: If there is no plan that satisfies the conditions of adjustment condition data 1501 (Step s1709; NO), the plan adjustment unit 1502 outputs an exception handling for adjustment condition data 1502.
[0118] Step s1711: If there is a plan that satisfies the conditions of the adjustment condition data 1501 (Step s1709; YES), the plan adjustment unit 1502 extracts the perturbation plan data 1015 that satisfies the conditions, or sorts them by priority or cost.
[0119] Step s1712: After processing such as graph processing is performed in the planning and analysis unit 1030, the screen output unit 1036 is used to display an explanation on the output device 1004. An example of the screen is shown in Figure 18. Note that screen output may not be performed if the input is made directly to the machine without human intervention.
[0120] Figure 18 shows an example of the interface and adjustment result output according to Example 2.
[0121] The interface screen of the planning and analysis unit 1030 displays the plan 1011 screen display 1301, the question text input form 1302, the question pattern upload processing unit 1303, the data to be analyzed upload processing unit 1304, and the data to be analyzed specification unit 1305. Furthermore, the interface screen displays the explanation condition specification unit 1306, the adjustment condition upload processing unit 1801, the analysis start processing unit 1802, and the adjustment result display unit 1803.
[0122] The structure from screen display 1301 to explanation condition specification section 1306 is the same as in Figure 13. However, the question is in the form of a What-If statement, "Adjust so that it is placed." In this case as well, the process of extracting the main factors as "reasons for placement" is the same as in Figure 13. The adjustment result display section 1803 displays the perturbation plan data 1015 and KPI 303 in order from the adjustment result with the lowest cost of the adjustment condition data 1501. For KPIs, it is also possible to display them for individual elements as in Figure 18, or to show the difference from the original plan.
[0123] This allows for adjustments to the plan based on the main factors, taking external conditions into consideration. Since the factors have already been extracted, it is efficient to obtain adjustment results that meet the conditions. Furthermore, interactive adjustments are possible by comparing the plan displayed on the screen with the original plan. After generating the explanatory text for Example 1, Example 2 may be performed again, or explanations and adjustments may be repeated by switching between the two. [Examples]
[0124] This embodiment describes a method for narrowing down the candidates for parameters to be adjusted by visualizing their contribution under various parameters.
[0125] As an example of implementing the present invention, the planning analysis device 200 shown in Figure 15 is used. Specific usage methods will be described in a later section.
[0126] The process in this embodiment is the same as in Figures 12 and 17. However, parameter perturbation conditions have been added to the data analyzed in Figure 5.
[0127] Figure 19 shows an example of the perturbation-condition-based analysis data 1023 related to Example 3.
[0128] The data to be analyzed 1023 includes target information 501, target name 502, type 503, hierarchy 504, value 505, and baseline 506, in addition to perturbation width 1901 and perturbation unit 1902. In this embodiment, the aim is to visualize the contribution under various conditions by perturbing the original parameters themselves. In embodiments 1 and 2, data stored in the planning information master 1010 was used as the "original parameters" in creating the optimization pattern 1024 for contribution calculation. However, in this embodiment, the parameters specified by the perturbation width 1901 and perturbation unit 1902 are used as the "original parameters," and the process in Figure 12 or Figure 17 is repeated.
[0129] In the example in Figure 19, for each constraint, the perturbation width 1901 is specified as "2 to 4" and the perturbation unit 1902 as "1". Therefore, for the three types of constraints, we calculate the contribution under three patterns of values "2, 3, and 4", for a total of nine perturbation conditions (assuming each parameter is changed independently).
[0130] Figure 20 shows an example of an interface and output of adjustment results for a user to input data necessary for questions and plan adjustments in Example 3.
[0131] The interface screen of the planning and analysis unit 1030 displays the plan 1011 screen display 1301, the question input form 1302, the question pattern upload processing unit 1303, the data to be analyzed upload processing unit 1304, the perturbation condition specification unit 2001, the adjustment condition upload processing unit 1801, the analysis start processing unit 2002, and the adjustment result display unit 2003. In the perturbation condition specification unit 2001, the perturbation width 1901 and perturbation unit 1902 are specified by direct input by the user. However, data that has been pre-entered into a file may also be uploaded in the data to be analyzed upload processing unit 1304. The adjustment result display unit 2003 graphically displays the contribution under the nine perturbation conditions shown in Figure 19. Furthermore, if the adjustment condition data 1501 has been uploaded in the adjustment condition upload processing unit 1801, the process in Figure 17 can be repeated under each perturbation condition, and the adjustment cost and KPI for the perturbation plan data 1015 that is most suitable for the adjustment conditions can be visualized. Figure 20 shows an example where the constraint of "3" people in workplace 2 is suitable as an adjustment condition.
[0132] Figure 20 visualizes the rate of change in the specific contribution of adjusting parameters. For example, adjusting the number constraint in workplace 2 to 3 or more makes a very small contribution to preventing the event of placing employee A in workplace 1, and can therefore be judged as highly effective. It can also be determined that relaxing the number constraint in workplace 2 to "4" is unnecessary, and "3" is sufficient. Furthermore, if it is found that the value does not change even after adjusting it to a certain extent, the robustness of the plan to that parameter can also be confirmed. (Note 1) A planning analysis unit that generates question data for plans that satisfy multiple evaluation indicators and constraints, An optimization pattern generation unit that generates an optimization pattern for the data to be analyzed included in the plan, A contribution calculation data generation unit generates feature quantities and target variables based on the aforementioned question data and the aforementioned optimization pattern, A planning analysis apparatus comprising: a contribution calculation unit that calculates the contribution of each analysis target based on the aforementioned feature quantities and the aforementioned target variable. (Note 2) The planning analysis apparatus according to (Appendix 1), comprising an explanation generation unit that generates an explanation for each contribution based on the contribution for each of the analysis targets. (Note 3) The optimization pattern generation unit generates a baseline or original parameter combination for the analysis target data specified by the user, as described in (Appendix 1) of the planning analysis apparatus. (Note 4) The data to be analyzed includes a baseline, hierarchical information, and type for calculating the contribution, as described in (Appendix 1) of the planning analysis apparatus. (Note 5) The planning analysis apparatus described in (Appendix 1), wherein the contribution calculation data generation unit generates the feature quantities and the target variable based on the question data, the optimization pattern, the perturbation planning data generated for each optimization pattern, and whether or not the conditions of the question data are met. (Note 6) The explanation template has the type of constraint or attribute, the relationship with the subject being explained, and the type of reason, The planning analysis apparatus described in (Appendix 2), wherein the explanation generation unit generates an explanation for each contribution level based on the contribution level for each analysis target and the explanation template. (Note 7) The planning analysis device described in (Appendix 1) presents the generated explanation and planning information to the user based on the distribution of contributions or the upper limit of the number of reasons. (Note 8) The aforementioned planning analysis unit generates question pattern data by applying conditions to plans that satisfy multiple evaluation indicators and constraints. The planning analysis apparatus described in (Appendix 1), wherein the contribution calculation data generation unit generates the feature quantities and the target variable based on the question pattern data, the optimization pattern, the perturbation planning data generated for each optimization pattern, and whether or not the conditions of the question pattern data are met. (Note 9) The planning analysis device described in (Appendix 2) has an interface that displays the explanatory text generated by the explanatory text generation unit and an input form into which the user can input the conditions and data to be used in the explanatory text. (Note 10) The planning analysis device described in (Appendix 9) has an interface in which the user specifies factors that require explanation at a lower level, and the contribution of the lower level and a description are displayed for the factors specified by the user. (Note 11) The interface is input to adjustment condition data, including the constraints, attributes, and costs for adjustment, as described in (Appendix 9), in the planning analysis apparatus. (Note 12) The planning analysis apparatus as described in (Appendix 11), comprising a planning adjustment unit that extracts perturbation planning data that satisfies the conditions based on the aforementioned adjustment condition data. (Note 13) The aforementioned data to be analyzed includes the perturbation conditions of the original parameters, as described in (Appendix 1) of the planning analysis apparatus. (Note 14) The planning analysis apparatus as described in (Appendix 9), wherein the interface displays a perturbation condition specification section where the user can specify perturbation conditions. (Note 15) A step of generating question data for a plan that satisfies multiple evaluation metrics and constraints, The steps include generating an optimization pattern for the data to be analyzed included in the aforementioned plan, The steps include generating features and a target variable based on the aforementioned question data and the aforementioned optimization pattern, A planning analysis method that causes a planning analysis device to perform the steps of calculating the contribution of each analysis target based on the aforementioned features and the aforementioned target variable. [Explanation of symbols]
[0133] 100...Planning analysis device, 200...Planning analysis device, 803...Contribution, 1010...Planning information master, 1021...Question data, 1022...Question pattern data, 1023...Data to be analyzed, 1024...Optimization pattern, 1027...Explanation template, 1030...Planning analysis unit, 1031...Optimization pattern generation unit, 1033...Data generation unit for contribution calculation, 1034...Contribution calculation unit, 1035...Explanation generation unit, 1302...Question text input form, 1502...Planning adjustment unit
Claims
1. A plan analysis device for analyzing a plan indicated by plan information, The aforementioned planning information includes the plan, constraint data, evaluation indicator data, and attribute data. The plan is an optimization result obtained by optimizing one or more indicators indicated by the evaluation indicator data within the range that satisfies one or more constraints indicated by the constraint data. The aforementioned planning analysis device comprises a planning analysis unit, an optimization pattern generation unit, a planning optimization processing unit, a contribution calculation data generation unit, and a contribution calculation unit. The aforementioned planning analysis unit generates question data or question pattern data for the plan, The aforementioned question data or question pattern data includes information indicating the conditions under which a question regarding the plan is valid, or the numerical value that is the subject of the question. The optimization pattern generation unit generates an optimization pattern based on the planning information, The optimization pattern includes one or more combinations of selecting whether to use the original parameters set in the planning information or the baseline for the target of analysis, for each of the constraints included in the constraint data, the indicators included in the evaluation indicator data, and the attributes included in the attribute data that are designated as the target of analysis. The aforementioned plan optimization processing unit outputs perturbation planning data based on the optimization pattern. The perturbation planning data represents each of the plans, which are the optimization results for each of the combinations included in the optimization pattern. The contribution calculation data generation unit generates each of the feature quantities for each of the combinations based on the optimization pattern, The aforementioned feature indicates, for each of the analysis targets, whether the original parameter or the baseline is selected in the combination corresponding to the feature, The contribution calculation data generation unit generates each of the target variables for each of the combinations based on the perturbation plan data and information indicating the conditions for the fulfillment of the question or the numerical value that is the subject of the question. The aforementioned dependent variable is information indicating whether the conditions for fulfilling the aforementioned question are met in the plan for the combination corresponding to the dependent variable, or information indicating the numerical value that is the subject of the question. The contribution calculation unit calculates the contribution for each of the analysis targets based on the feature quantities and the target variable for each of the combinations. A planning analysis device in which the contribution level indicates the influence of the subject of analysis corresponding to that contribution level on fulfilling the conditions for the question, or on the numerical value that is the subject of the question.
2. A planning analysis apparatus according to Claim 1, The aforementioned planning analysis device further includes an explanation generation unit, The explanation generation unit generates an explanatory text that describes the main factors in terms of their influence on fulfilling the conditions for the question, or their influence on the numerical value that is the subject of the question, based on the contribution level for each of the analysis targets.
3. A planning analysis apparatus according to Claim 1, The aforementioned planning analysis device has data to be analyzed, The aforementioned data to be analyzed includes, for each of the items that may be subject to analysis, the type of the item that may be subject to analysis, hierarchical information of that type, and the baseline of the item that may be subject to analysis, in the planning analysis device.
4. A planning analysis apparatus according to claim 2, The aforementioned question data or question pattern data includes information indicating the subject of explanation in the questions regarding the plan, The aforementioned planning analysis device has an explanatory template, The aforementioned explanatory template includes the types of things that can be analyzed, the relationship between those types and the things to be explained, and a text template. The explanation generation unit is a planning analysis device that generates the explanation text explaining the main factors based on the contribution level for each analysis target and the explanation template.
5. A planning analysis apparatus according to Claim 2, The aforementioned planning analysis device has explanatory condition data, The aforementioned explanatory condition data includes the number of explanatory factors and the contribution threshold, The explanation generation unit extracts the number of factors indicated by the number of factors to be explained, based on the contribution of each of the analysis targets, as the main factors. The explanation generation unit calculates the sum of the absolute values of the contributions of the extracted main factors, The explanation generation unit generates the explanation text explaining the main factors when the calculated sum of absolute values exceeds the contribution threshold. The aforementioned planning analysis unit is a planning analysis device that presents the explanatory text generated by the explanatory generation unit to the user.
6. A planning analysis apparatus according to claim 1, When a question is input to the planning analysis device, the planning analysis unit generates the question data based on the input question. The aforementioned planning analysis unit is a planning analysis device that, when a question pattern is uploaded to the planning analysis device, generates the question pattern data by obtaining information indicating the conditions for the question to be valid, which are the result of applying the question pattern to the plan, or the numerical value that is the subject of the question, based on the plan and the question pattern.
7. A planning analysis apparatus according to claim 2, The aforementioned planning analysis device has an interface, The interface has an input form into which the data necessary for generating the explanatory text is entered. A planning and analysis device in which the explanatory text generated by the explanatory text generation unit is displayed on the interface.
8. A planning analysis apparatus according to claim 7, The aforementioned interface allows the user to specify factors that require explanation at a lower level, and the contribution of the lower level and a description are displayed for the factors specified by the user in the planning analysis device.
9. A planning analysis apparatus according to claim 7, Adjustment condition data is input to the aforementioned interface. The adjustment condition data includes the conditions for adjusting the plan, and is provided by a planning analysis device.
10. A planning analysis apparatus according to claim 9, The aforementioned planning analysis device further includes a planning adjustment unit, The plan adjustment unit performs adjustments to at least one of the constraint data, evaluation index data, and attribute data contained in the plan information based on the adjustment condition data. The plan optimization processing unit outputs perturbation planning data that shows the plan, which is the optimization result after adjustment by the plan adjustment unit. The aforementioned plan adjustment unit is a plan analysis device that extracts from the perturbation plan data output by the plan optimization processing unit those that satisfy the conditions indicated by the adjustment condition data.
11. A planning analysis apparatus according to claim 3, The aforementioned data to be analyzed includes, for each of the items that may be the subject of analysis, further perturbation conditions of the original parameters for the items that may be the subject of analysis, in a planning analysis device.
12. A planning analysis apparatus according to claim 7, In the interface described above, the perturbation conditions of the parameters to be analyzed are specified by the user in a planning analysis device.
13. A plan analysis method performed by a plan analysis device that analyzes a plan indicated by plan information, The aforementioned planning information includes the plan, constraint data, evaluation indicator data, and attribute data. The plan is an optimization result obtained by optimizing one or more indicators indicated by the evaluation indicator data within the range that satisfies one or more constraints indicated by the constraint data. The aforementioned plan analysis method comprises a step of plan analysis, a step of optimization pattern generation, a step of plan optimization processing, a step of generating data for contribution calculation, and a step of contribution calculation. The aforementioned plan analysis step involves generating question data or question pattern data for the plan, The aforementioned question data or question pattern data includes information indicating the conditions under which a question regarding the plan is valid, or the numerical value that is the subject of the question. The aforementioned optimization pattern generation step involves generating an optimization pattern based on the planning information. The optimization pattern includes one or more combinations of selecting whether to use the original parameters set in the planning information or the baseline for the target of analysis, for each of the constraints included in the constraint data, the indicators included in the evaluation indicator data, and the attributes included in the attribute data that are designated as the target of analysis. The step of the aforementioned plan optimization process involves outputting perturbation planning data based on the optimization pattern. The perturbation planning data represents each of the plans, which are the optimization results for each of the combinations included in the optimization pattern. The step of generating the data for calculating the contribution involves generating each of the features for each of the combinations based on the optimization pattern. The aforementioned feature indicates, for each of the analysis targets, whether the original parameter or the baseline is selected in the combination corresponding to the feature, The step of generating the contribution calculation data involves generating each of the target variables for each of the combinations based on the perturbation plan data and information indicating the conditions for the question to be met or the numerical values that the question is subject to. The aforementioned dependent variable is information indicating whether the conditions for fulfilling the aforementioned question are met in the plan for the combination corresponding to the dependent variable, or information indicating the numerical value that is the subject of the question. The step of calculating the contribution involves calculating the contribution for each of the analysis targets based on the feature quantities and the target variable for each of the combinations. A planned analysis method in which the contribution level indicates the influence of the subject of analysis corresponding to that contribution level on fulfilling the conditions for the question, or on the numerical value that is the subject of the question.