Constraint condition optimization device and constraint condition optimization method
The constraint optimization device and method address computational and user burden issues in optimizing portfolios with multiple constraints by adjusting constraints through multiple scenarios and presenting clear results, enhancing efficiency and usability.
Patent Information
- Application Number
- JP2021121519
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-07-26
- Publication Date
- 2025-01-20
- Estimated Expiration
- 2041-07-26
AI Technical Summary
Existing methods for optimizing portfolios with multiple constraints face significant computational processing loads and user burden when performing sensitivity analysis, making it difficult to set upper and lower limits effectively.
A constraint optimization device and method that includes a definition information acquisition unit, a reference solution calculation unit, and a neighborhood solution calculation unit to adjust constraints based on multiple scenarios, presenting deviation degrees and total deviations to users through a user presentation unit.
Enables efficient adjustment of constraints in optimization problems, reducing computational burden and user effort by providing clear, understandable results for constraint adjustments.
Smart Images

Figure 0007617820000001 
Figure 0007617820000002 
Figure 0007617820000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an information processing apparatus and an information processing method for adjusting constraint conditions in an optimization problem. [Background technology]
[0002] 2. Description of the Related Art Conventionally, the technique disclosed in Patent Document 1 is known as a method for solving an optimization problem using multiple constraint conditions. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] US Patent Application Publication No. 2014 / 0156334 Summary of the Invention [Problem to be solved by the invention]
[0004] Patent Document 1 describes that in optimizing a portfolio using multiple constraint conditions, the results of sensitivity analysis for each constraint condition are generated and presented to the user, and the user sets upper and lower limit values for each constraint condition from the presented information. However, when there are multiple constraint conditions, the computational processing load for executing the sensitivity analysis is large, and the load on the user when setting the upper and lower limit values for each constraint condition is also large, so there is a problem that the method of Patent Document 1 is difficult to realize.
[0005] In view of the above-mentioned problems, an object of the present invention is to provide a technique that enables appropriate adjustment of constraint conditions in an optimization problem. [Means for solving the problem]
[0006] The constraint optimization device according to the present invention includes a definition information acquisition unit that acquires definition information including constraint conditions set for a plurality of variables and initial values of weights of the constraint conditions, and a reference solution calculation unit that calculates a reference solution that represents an optimal combination of the plurality of variables based on the definition information acquired by the definition information acquisition unit; Based on multiple pre-set scenarios, A neighborhood solution that represents an optimal combination of the plurality of variables when the weights of the constraint conditions are changed from the initial values is calculated. For each of the above scenarios A neighborhood solution calculation unit that calculates the neighborhood solution; a user presentation unit that presents to a user a calculation result of the neighborhood solution for each of the multiple scenarios; Equipped with The scenario includes information on a constraint condition of which weight is to be adjusted among the plurality of constraint conditions, and information on the degree of deviation of the variable corresponding to the constraint condition from a target value, and the plurality of scenarios have constraint conditions of which weight is to be adjusted differently set for each scenario, and the user presenting unit displays a screen on a display monitor including the degree of deviation for each constraint condition in each neighborhood solution and the total number of constraint conditions in which the variable deviates from the target value in each neighborhood solution, to present the calculation result of the neighborhood solution for each scenario to the user. . A constraint optimization method according to the present invention includes acquiring definition information including constraint conditions set for a plurality of variables and initial values of weights of the constraint conditions, and calculating, by a computer, a reference solution that represents an optimal combination of the plurality of variables based on the acquired definition information; Based on multiple pre-set scenarios, A neighborhood solution that represents an optimal combination of the plurality of variables when the weights of the constraint conditions are changed from the initial values is obtained by the computer. For each of the above scenarios calculation the scenario includes information on a constraint condition of which weight is to be adjusted among the plurality of constraint conditions, and information on the degree of deviation of the variable corresponding to the constraint condition from a target value, the plurality of scenarios have constraint conditions of which weight is to be adjusted differently set for each scenario, and a screen including the degree of deviation for each constraint condition in each neighborhood solution and the total number of constraint conditions in which the variable deviates from the target value in each neighborhood solution is displayed on a display monitor to present the calculation results of the neighborhood solution for each scenario to a user. . Effect of the Invention
[0007] According to the present invention, it is possible to provide a technique that makes it possible to appropriately adjust constraint conditions in an optimization problem. [Brief description of the drawings]
[0008] [Figure 1] 3 is a flowchart outlining a constraint adjustment method according to the present invention. [Diagram 2] FIG. 1 is a diagram showing an example of a hardware configuration of an information processing device for implementing constraint condition adjustment according to the present invention. [Diagram 3] FIG. 1 is a diagram showing an example of functional blocks of an information processing device according to a first embodiment of the present invention. [Figure 4] FIG. 13 is a diagram showing an example of a variable DB. [Diagram 5] FIG. 13 is a diagram showing an example of a constraint condition DB. [Figure 6] FIG. 13 is a diagram showing an example of a neighborhood point DB. [Figure 7]FIG. 13 is a diagram showing an example of a variable / constraint DB. [Figure 8] FIG. 13 is a diagram showing an example of a facility / variable DB. [Figure 9] FIG. 13 is a diagram showing an example of a scenario / constraint condition DB. [Figure 10] FIG. 13 is a diagram showing an example of a scenario DB. [Figure 11] FIG. 13 is a diagram showing an example of a calculation history DB. [Figure 12] 5 is a flowchart showing the flow of a constraint condition adjustment process according to the first embodiment of the present invention. [Figure 13] 11 is a flowchart showing details of a neighborhood solution calculation process. [Figure 14] FIG. 13 is a diagram showing an example of a neighborhood solution display screen. [Figure 15] FIG. 1 is a diagram showing an example of functional blocks of an information processing device according to a first embodiment of the present invention. [Figure 16] 10 is a flowchart showing the flow of a constraint condition adjustment process according to a second embodiment of the present invention. [Figure 17] 11 is a flowchart showing details of a screening process. [Figure 18] FIG. 13 is a diagram showing an example of a sensitivity analysis result display screen. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] In the following, an embodiment of the present invention will be described. In an optimization problem in which an optimal combination of multiple variables is obtained by computation, the present invention adjusts the constraint conditions for each variable. In order to clarify the explanation, the following description and drawings are omitted and simplified as appropriate. The present invention is not limited to the following embodiment, and any application example that meets the idea of the present invention is included in the technical scope of the present invention. Unless otherwise specified, each component may be multiple or singular.
[0010] (Summary of the Invention) Fig. 1 is a flowchart showing an outline of a constraint condition adjustment method according to the present invention. In the present invention, constraint conditions are adjusted by an information processing device executing each process of steps S101 to S105 shown in the flowchart of Fig. 1.
[0011] In step S101, definition information used to generate a model for solving the optimization problem is obtained. In step S102, a model for solving the optimization problem is generated using the definition information obtained in step S101. In step S103, a reference solution for a combination of multiple variables is calculated using the optimization model generated in step S102. In step S104, constraint conditions for each variable for which a reference solution was calculated in step S103 are adjusted, and a neighborhood solution for the reference solution is calculated. In step S105, the neighborhood solution found in step S104 is presented to the user.
[0012] Next, a hardware configuration of an information processing device according to an embodiment of the present invention will be described below. Fig. 2 is a diagram showing an example of a hardware configuration of an information processing device for implementing constraint condition adjustment according to the present invention.
[0013] As shown in FIG. 2, an information processing device 100 according to this embodiment includes a processor 101, a memory 102, a storage device 103, a communication interface (IF) 104, and an input / output IF 105.
[0014] The processor 101 uses the memory 102 as a working area and executes a predetermined program stored in the storage device 103 to realize various functions of the information processing device 100. The memory 102 is configured by combining, for example, a Read Only Memory (ROM) and a Random Access Memory (RAM).
[0015] The storage device 103 stores and holds various programs executed by the processor 101 and various data used when executing the programs. The storage device 103 is configured using a non-volatile recording medium such as a hard disk drive (HDD), a solid state drive (SSD), a magneto-optical disk, a flash memory, etc. Note that the number and type of recording media used as the storage device 103 are not important as long as they can store the programs and data required by the information processing device 100.
[0016] The communication IF 104 performs interface processing for communication data transmitted and received between various external devices connected to the information processing device 100. In this embodiment, a POS (Point Of Sales) system 110 capable of collecting various customer information such as sales information for each product, a production management system 120 for managing the production of products, and the like are assumed to be connected to the information processing device 100 as external devices via the communication IF 104. Note that other external devices may also be connectable to the information processing device 100.
[0017] An input device 130 and an output device 140 are connected to the information processing device 100. The input device 130 is composed of, for example, a keyboard, a mouse, a touch panel, etc., detects an input operation of a user who uses the information processing device 100, and outputs operation information according to the detection result to the information processing device 100. This operation information is input to the processor 101 via the input / output IF 105, and is reflected in the processing of the processor 101. The output device 140 is composed of, for example, a display monitor, a printer, etc., and presents this information to a user by performing screen display, printing, etc. based on image information and character information output from the processor 101 via the input / output IF 105.
[0018] (First embodiment) Next, an embodiment of the functional configuration of an information processing device for implementing the constraint condition adjustment of the present invention will be described. Fig. 3 is a diagram showing an example of functional blocks of the information processing device according to the first embodiment of the present invention.
[0019] As shown in Fig. 3, the information processing device 100 according to this embodiment includes the functions of a definition information acquisition unit 201, a reference solution calculation unit 202, a neighborhood solution calculation unit 203, a scenario setting unit 204, and a user presentation unit 205. These functions are realized by the processor 101 executing a predetermined program in the hardware configuration of Fig. 2, for example. In addition, the storage device 103 stores the following databases: a variable DB 211, a constraint DB 212, a neighborhood point DB 213, a variable / constraint DB 214, a facility / variable DB 215, a scenario / constraint DB 216, a scenario DB 217, and a calculation history DB 218. Details of these databases will be described later with reference to Figs. 4 to 11.
[0020] The definition information acquisition unit 201 acquires definition information required for generating a model for solving an optimization problem from an external device such as the POS system 110 or the production management system 120 (see FIG. 2) connected to the information processing device 100, and stores the information in each database of a variable DB 211, a constraint DB 212, a variable / constraint DB 214, and a facility / variable DB 215. This definition information includes, for example, information on a function that represents a model of each element of an object to be handled in the optimization problem, information on variables that represent parameters of the function according to the state of each element, information on constraint conditions set for each variable, information on the initial value of the weight of each constraint condition, etc. The process performed by the definition information acquisition unit 201 corresponds to step S101 in the flowchart of FIG. 1.
[0021] The reference solution calculation unit 202 reads the definition information acquired by the definition information acquisition unit 201 from each database of the variable DB 211, the constraint DB 212, and the variable / constraint DB 214, and generates an optimization model based on the definition information. Then, the reference solution calculation unit 202 calculates an optimal combination of multiple variables in the generated optimization model, and stores the obtained combination of variables as a reference solution in the storage device 103. The processing performed by the reference solution calculation unit 202 corresponds to steps S102 and S103 in the flowchart of FIG. 1.
[0022] The neighborhood solution calculation unit 203 calculates an optimal combination of multiple variables when the weights of the constraint conditions are changed from their initial values in the optimization model generated by the reference solution calculation unit 202, and stores the obtained combination of variables as a neighborhood solution in the calculation history DB 218. At this time, the neighborhood solution calculation unit 203 selects a constraint condition corresponding to the scenario selected by the user based on information indicating the correspondence between the scenario and the constraint conditions stored in the scenario / constraint condition DB 216, and changes the weight of the constraint condition. Then, information indicating the changed weight value is stored in the neighborhood point DB 213. The process performed by the neighborhood solution calculation unit 203 corresponds to step S104 in the flowchart of FIG. 1.
[0023] The scenario setting unit 204 sets a scenario for selecting a constraint condition for changing the weight when the neighborhood solution calculation unit 203 calculates a neighborhood solution, and stores the scenario in the scenario DB 217. A scenario is information describing a combination of constraint conditions for which weights are to be adjusted, and is set, for example, according to an input operation performed by a user using the input device 130. Furthermore, the scenario setting unit 204 sets a correspondence relationship between a scenario and a constraint condition based on the scenario stored in the scenario DB 217, and stores the setting information in the scenario / constraint condition DB 216.
[0024] The user presentation unit 205 presents to the user the calculation results of the neighborhood solutions stored in the calculation history DB 218. The user presentation unit 205 can present the neighborhood solutions to the user by, for example, performing a predetermined screen display on a display monitor connected to the information processing device 100 as the output device 140. The process performed by the user presentation unit 205 corresponds to step S105 in the flowchart of FIG.
[0025] Next, details of each database stored in the memory device 103, namely, the variable DB211, the constraint DB212, the nearby point DB213, the variable / constraint DB214, the facility / variable DB215, the scenario / constraint DB216, the scenario DB217, and the calculation history DB218, will be described below with reference to Figures 4 to 11.
[0026] FIG. 4 is a diagram showing an example of the variable DB 211. As shown in FIG. 4, the variable DB 211 has fields of, for example, a variable ID 2111, a definition file 2112, and a process ID 2113. The variable ID 2111 stores information for uniquely identifying each variable (for example, code information such as a JAN code). The definition file 2112 stores information of a file representing definition information of each variable in an optimization model. The definition information represented by the definition file 2112 defines an optimization model that is a function that models each element of an object to be handled in an optimization problem, and specifies the range of each variable that changes continuously as a parameter of the optimization model. The process ID 2113 stores information representing which element each variable corresponds to in an actual object. For example, when the object represented by the optimization model is a large commercial facility such as a shopping mall, information representing each store in the facility is stored in the process ID 2113.
[0027] The variable DB 211 stores information on each of the above fields for each record set corresponding to each variable. The upper limit of the number of records is determined according to the upper limit of the number of variables that can be set in the optimization model. For example, the upper limit of the number of variables that can be set in the optimization model can be determined in advance depending on the processing capacity of the processor 101 in the information processing device 100. Note that the database configuration shown in Fig. 4 is an example, and the configuration of the variable DB 211 is not limited to this as long as an optimization model can be appropriately defined for an object that the optimization problem deals with.
[0028] FIG. 5 is a diagram showing an example of the constraint DB 212. As shown in FIG. 5, the constraint DB 212 has fields of, for example, a constraint ID 2121, a definition file 2122, an initial weight value 2123, and a target value 2124. The constraint ID 2121 stores information such as an ID number or a name as information for uniquely identifying each constraint. The definition file 2122 stores information of a file representing definition information of each constraint in the optimization model. The definition information represented by the definition file 2122 defines the content of the constraint required for each variable of the optimization model. For example, the allowable condition for each variable can be defined according to business constraints, constraints due to physical tolerances, efficiency constraints, and the like. The initial weight value 2123 stores an initial value of a weight set for each constraint. The initial value of the weight is determined in advance according to, for example, the importance of each constraint. The target value 2124 sets a target value of the variable for each constraint.
[0029] The constraint DB 212 stores information on each of the above fields for each record set corresponding to each constraint. Note that the database configuration shown in Fig. 5 is an example, and the configuration of the constraint DB 212 is not limited to this as long as the constraint conditions set for each variable of the optimization model can be appropriately defined.
[0030] FIG. 6 is a diagram showing an example of the neighborhood point DB 213. As shown in FIG. 6, the neighborhood point DB 213 has fields of, for example, a neighborhood point ID 2131, a constraint condition ID 2132, an updated weight value 2133, and a group ID 2134. The neighborhood point ID 2131 stores information such as an ID number as information for uniquely identifying each neighborhood point in the neighborhood solution calculated by the neighborhood solution calculation unit 203. The neighborhood point is a constraint condition in which the weight is changed from an initial value to a certain value, and is generated by the neighborhood solution calculation unit 203 when calculating a neighborhood solution. The constraint condition ID 2132 stores information similar to the constraint condition ID 2121 of the constraint condition DB 212 as information representing the constraint condition corresponding to each neighborhood point. The updated weight value 2133 stores information representing the weight value after the change at each neighborhood point. The group ID 2134 stores information of the group to which each neighborhood point belongs when each neighborhood point is grouped according to its characteristics.
[0031] Information on each of the above fields is stored for each record set corresponding to each neighboring point in the neighboring point DB 213. Note that the database configuration shown in Fig. 6 is an example, and the configuration of the neighboring point DB 213 is not limited to this as long as each neighboring point in the neighboring solution can be appropriately represented.
[0032] Fig. 7 is a diagram showing an example of the variable / constraint DB 214. As shown in Fig. 7, the variable / constraint DB 214 has fields of, for example, a variable ID 2141 and a constraint ID 2142. The variable ID 2141 stores information similar to the variable ID 2111 of the variable DB 211 as information representing each variable. The constraint ID 2142 stores information similar to the constraint ID 2121 of the constraint DB 212 as information representing each constraint.
[0033] The variable / constraint DB214 stores information on each of the above fields for each record set corresponding to each combination of variables and constraints in the optimization model. That is, a constraint required for each variable in the optimization model is defined by a combination of a variable ID 2141 and a constraint ID 2142 stored in each record of the variable / constraint DB214. Note that the database configuration shown in Fig. 7 is an example, and the configuration of the variable / constraint DB214 is not limited to this as long as it can appropriately represent the association between variables and constraints in the optimization model.
[0034] Fig. 8 is a diagram showing an example of facility / variable DB 215. As shown in Fig. 8, facility / variable DB 215 has fields of facility ID 2151 and variable ID 2152, for example. Facility ID 2151 stores information representing a facility such as a factory, warehouse, or store, as information representing which element in the actual object belongs to which facility each variable corresponds. Variable ID 2152 stores information similar to variable ID 2111 of variable DB 211 as information representing each variable.
[0035] The facility / variable DB 215 stores information on each of the above fields for each record set corresponding to each combination of the facility to which each element of the object to be dealt with in the optimization problem belongs and the variables representing each element. Note that the database configuration shown in Fig. 8 is only an example, and the configuration of the facility / variable DB 215 is not limited to this as long as it can appropriately represent the correspondence between the facility to which each element of the object belongs and the variables.
[0036] FIG. 9 is a diagram showing an example of the scenario / constraint DB 216. As shown in FIG. 9, the scenario / constraint DB 216 has fields such as a scenario ID 2161, a step ID 2162, a constraint ID 2163, and a constraint type 2164. The scenario ID 2161 stores information for uniquely identifying each scenario set by the scenario setting unit 204. The step ID 2162 stores information for uniquely identifying each step set for each scenario. A scenario is composed of one or more steps in order to specify in detail the constraint conditions applied to each variable in the calculation of a reference solution or a neighborhood solution using an optimization model. The step ID 2162 stores information representing each step of this scenario. The constraint ID 2163 stores information similar to the constraint ID 2121 of the constraint DB 212 as information representing the constraint conditions corresponding to each step of each scenario. The constraint type 2164 stores information representing the type of constraint conditions required for each variable. For example, when it is necessary for each variable to satisfy the applied constraint condition, “Hard” is stored in the constraint type 2164 as information representing the type of the constraint condition, and when it is possible for each variable to deviate to some extent from the applied constraint condition, “Soft” is stored in the constraint type 2164 as information representing the type of the constraint condition.
[0037] The scenario / constraint DB 216 stores information on each of the above fields for each record set corresponding to each constraint specified in a scenario. That is, the combination of scenario ID 2161, step ID 2162, constraint ID 2163, and constraint type 2164 stored in each record of the scenario / constraint DB 216 defines the content of each scenario, the constraint conditions to be subjected to weight adjustment in each scenario, and the deviation of each variable from the constraint conditions. Note that the database configuration shown in Fig. 9 is an example, and the configuration of the scenario / constraint DB 216 is not limited to this as long as it can appropriately represent the constraint conditions to be specified as the targets of weight adjustment in each scenario.
[0038] Fig. 10 is a diagram showing an example of the scenario DB 217. As shown in Fig. 10, the scenario DB 217 has fields for, for example, a scenario ID 2171 and a rule 2172. The scenario ID 2171 stores information representing each scenario, which is similar to the scenario ID 2161 of the scenario / constraint DB 216. The rule 2172 stores information describing the contents of each scenario.
[0039] The scenario DB 217 stores information in each of the above fields for each record set corresponding to each scenario set by the scenario setting unit 204. Note that the database configuration shown in Fig. 10 is just an example, and the configuration of the scenario DB 217 is not limited to this as long as it can appropriately represent the content of each scenario.
[0040] FIG. 11 is a diagram showing an example of the calculation history DB 218. As shown in FIG. 11, the calculation history DB 218 has fields such as a date 2181, a selected scenario 2182, a calculation result 2183, and an evaluation 2184. The date 2181 stores information indicating the calculation date and time of each neighborhood solution by the neighborhood solution calculation unit 203. The selected scenario 2182 stores information similar to the scenario ID 2161 of the scenario / constraint DB 216 as information indicating the scenario selected by the user at the time of calculation for each neighborhood solution. The calculation result 2183 stores information of data indicating the calculation result of each neighborhood solution. The evaluation 2184 stores an evaluation type such as "Best" or "Moderate" as information indicating the evaluation result of each neighborhood solution.
[0041] The calculation history DB218 stores information in each of the above fields for each record set corresponding to each neighborhood solution calculated by the neighborhood solution calculation unit 203. Note that the database configuration shown in Fig. 11 is an example, and the configuration of the calculation history DB218 is not limited to this as long as it can appropriately represent the calculation results of each neighborhood solution.
[0042] Fig. 12 is a flowchart showing the flow of the constraint condition adjustment process according to the first embodiment of the present invention. The process shown in the flowchart of Fig. 12 is executed by the processor 101 in response to an instruction from a user in the hardware configuration of Fig. 2, for example.
[0043] In step S210, the processor 101 acquires definition information used to generate a model for solving the optimization problem through the definition information acquisition unit 201. Here, for example, based on an input operation from a user, a list of variables to be optimized and a list of constraint conditions for each variable are acquired, and definition information is acquired from the contents of these and stored in each database of the variable DB211, the constraint condition DB212, the variable / constraint condition DB214, and the facility / variable DB215.
[0044] In step S220, the processor 101 reads the definition information acquired in step S210 from each database, and generates an optimization model based on the information, using the reference solution calculation unit 202. Here, the optimization model can be generated by generating an arithmetic expression of a function that models each element of the object to be dealt with in the optimization problem, for example, using a well-known calculation method.
[0045] In step S230, the processor 101 uses the reference solution calculation unit 202 to calculate a reference solution based on the optimization model generated in step S220. Here, among the combinations of variables that satisfy the constraint conditions set for each variable of the arithmetic expression representing the optimization model, an optimal combination of variables whose calculated value of the arithmetic expression satisfies a desired condition is obtained as a reference solution of the optimization problem. For example, a combination of variables that maximizes or minimizes the calculated value of the arithmetic expression, or a combination of variables that obtains a calculated value that has a minimum difference from a specified target value can be obtained by a well-known optimization calculation algorithm or the like. After the reference solution is calculated in step S230, the processor 101 stores the calculation result in the storage device 103 and proceeds to the next step S240.
[0046] In step S240, the processor 101 selects one of the scenarios that have been set in advance by the scenario setting unit 204 and stored in the scenario DB 217. Here, for example, the scenarios stored in the scenario DB 217 are selected in order from the top as scenarios for which neighborhood solutions are to be generated. Alternatively, one of the scenarios may be selected based on an input operation from the user.
[0047] In step S250, the processor 101 executes a neighborhood solution calculation process by the neighborhood solution calculation unit 203. In this neighborhood solution calculation process, a constraint condition to be subjected to weight adjustment is selected based on the scenario selected in step S240, and the weight of the constraint condition is changed from the initial value when the reference solution was calculated in step S230. Then, an optimal combination of variables for the changed weight is obtained as a neighborhood solution for the reference solution. Details of the neighborhood solution calculation process in step S250 will be described later with reference to FIG.
[0048] In step S260, the processor 101 judges whether or not to end the neighborhood solution calculation process in step S250. For this judgment, for example, for each scenario stored in the scenario DB 217, whether or not the neighborhood solution has been calculated is confirmed. As a result, if there is a scenario for which the neighborhood solution has not yet been calculated, it is judged to continue the neighborhood solution calculation process, one of the current neighborhood solutions is selected as a new reference solution, and the process returns to step S240 to select another scenario. On the other hand, if the neighborhood solutions have been calculated for all scenarios, it is judged to end the neighborhood solution calculation process, and the process proceeds to the next step S270. As an example of a method for selecting the neighborhood solution at this time, the one with the smallest deviation from the constraint condition specified by the current scenario may be selected, or the one with the smallest penalty function value described later may be selected. Furthermore, at this time, it is judged based on the user's input operation whether or not the user wishes to end the neighborhood solution calculation process, and if the user wishes to end the neighborhood solution calculation process, it may be judged to end the neighborhood solution calculation process and proceed to the next step S270, even if there is a scenario for which the neighborhood solution has not yet been calculated.
[0049] In step S270, the processor 101 causes the user presentation unit 205 to present to the user each of the neighborhood solutions stored in the storage device 103 in the neighborhood solution calculation process in step S250. Here, the contents of the neighborhood solutions obtained for each scenario selected in step S240 are presented to the user, for example, by displaying them on a screen of a display monitor which is the output device 140. An example of the screen displayed in step S270 will be described later with reference to FIG.
[0050] After performing the process of step S270, the processor 101 outputs the obtained calculation result to an external device such as the production management system 120, and then ends the process shown in the flowchart of FIG.
[0051] Fig. 13 is a flowchart showing details of the neighborhood solution calculation process. The process shown in the flowchart in Fig. 13 is executed by the processor 101 in step S250 in Fig. 12 in the hardware configuration in Fig. 2, for example.
[0052] In step S301, the processor 101 reads the optimization model generated in step S220 of FIG.
[0053] In step S302, the processor 101 sets a constraint condition for which the weight is to be adjusted in the optimization model read in step S301, based on the scenario selected in step S240 in Fig. 12. Here, for example, in the scenario / constraint condition DB 216 in Fig. 9, a record corresponding to the selected scenario is selected, and the information stored in the constraint condition ID 2163 of the record is checked, whereby the constraint condition for which the weight is to be adjusted can be set.
[0054] In step S303, the processor 101 determines the weight value after the change of the constraint condition selected in step S302. Here, for example, the weight value of the constraint condition is changed randomly from the initial value within a range of a predetermined adjustment width. Note that if the weight value of the constraint condition can be appropriately changed from the initial value, the changed weight value can be determined by any method in step S303.
[0055] In step S304, the processor 101 uses the neighborhood solution calculation unit 203 to calculate a neighborhood solution when the weight value determined in step S303 is set for each constraint condition. Here, the calculation is simplified using a function called a penalty function, for example, so that an optimal combination of variables that satisfies each constraint condition after weight adjustment can be easily obtained. The penalty function is a function defined based on the total value of the product of the weight and the deviation for each constraint condition, and is specifically expressed, for example, as in the following formula (1). F penalty =F original +Σ(w i ×N i ) ···(1)
[0056] In formula (1), F original represents the function of the optimization model generated in step S220. i represents the weight value of the i-th constraint, and N i represents the deviation of the variable corresponding to the i-th constraint. The deviation is a value that represents how far the variable corresponding to the constraint is from the target value stored in the target value 2124 in the constraint DB 212 of Fig. 5. Note that if the neighborhood solution can be calculated appropriately, the neighborhood solution can be calculated in step S304 by any other method.
[0057] In step S305, the processor 101 saves the neighborhood solution obtained by the calculation in step S304 and the weight value of each constraint condition for which the neighborhood solution was obtained in the storage device 103. Specifically, for example, in the neighborhood point DB 213 in Fig. 6, a record corresponding to each constraint condition for which the weight value has been changed is added, and information on the changed weight value is stored in each field of each record as neighborhood point information. Also, in the calculation history DB 218 in Fig. 11, a record corresponding to the neighborhood solution is added, and information on the calculation result of the neighborhood solution is stored in each field of the record.
[0058] After performing the process of step S305, the processor 101 ends the neighborhood solution calculation process, and proceeds to step S260 in FIG.
[0059] 14 is a diagram showing an example of a neighborhood solution display screen for presenting the contents of the neighborhood solution to the user. A neighborhood solution display screen 141 shown in FIG.
[0060] The display frame 1411 is a portion showing the contents of an arbitrary neighborhood solution (referred to as neighborhood solution 1) among the multiple neighborhood solutions obtained by the neighborhood solution calculation process, and includes a weight list 1412, a deviation graph 1413, a calculation result 1414, and a check box 1415. The weight list 1412 shows the weight value of each constraint condition when the neighborhood solution 1 is obtained. The deviation graph 1413 shows the deviation of the variable corresponding to each constraint condition from the target value. The calculation result 1414 shows the process value obtained as the calculation result of the neighborhood solution 1, and the total number of constraint conditions in which the variable deviates from the target value. The check box 1415 is a portion for selecting one of the current neighborhood solutions to be the next reference solution by checking it by the user's input operation.
[0061] Display frame 1421 is a portion that shows the contents of any nearby solution (called nearby solution 2) among the multiple nearby solutions obtained by the nearby solution calculation process, excluding nearby solution 1, and similar to display frame 1411, includes a weight list 1422, a deviation graph 1423, calculation results 1424, and a check box 1425.
[0062] When the selection button 1431 is selected by the user's input operation after the neighborhood solution display screen 141 is displayed, the information processing device 100 continues the calculation process of the neighborhood solution. On the other hand, when the selection button 1432 is selected by the user's input operation, the information processing device 100 ends the calculation process of the neighborhood solution. By selecting either the selection button 1431 or 1432, the user can instruct the information processing device 100 whether or not to continue the calculation of the neighborhood solution.
[0063] Note that the neighborhood solution display screen shown in Fig. 14 is just an example, and other screen configurations may be used. Any screen configuration may be adopted as long as it can appropriately present the calculation results of the neighborhood solutions for each scenario obtained by the neighborhood solution calculation process to the user.
[0064] Second Embodiment Next, a second embodiment of the present invention will be described. In this embodiment, an example will be described in which a method of selecting constraint conditions to be subjected to weight adjustment when calculating a neighborhood solution is performed using a method different from that in the first embodiment.
[0065] Fig. 15 is a diagram showing an example of functional blocks of an information processing device according to the second embodiment of the present invention. An information processing device 100A according to this embodiment differs from the information processing device 100 shown in Fig. 3 described in the first embodiment in that it includes a screening processing unit 206 instead of the scenario setting unit 204, and that the scenario / constraint condition DB 216 and the scenario DB 217 are not stored in the storage device 103.
[0066] The screening processing unit 206 acquires, for each constraint condition, the degree of influence that a change in the weight of each constraint condition has on the neighborhood solution in the optimization model generated by the reference solution calculation unit 202. The degree of influence for each constraint condition acquired by the screening processing unit 206 is presented to the user by the user presentation unit 205, and is also used by the neighborhood solution calculation unit 203 to select a constraint condition for which the weight is to be adjusted when the neighborhood solution calculation unit 203 calculates a neighborhood solution.
[0067] The hardware configuration of the information processing device 100A according to this embodiment is similar to the hardware configuration of Fig. 2 described in the first embodiment. Therefore, hereinafter, the information processing device 100A according to this embodiment will be described using the hardware configuration of Fig. 2.
[0068] Fig. 16 is a flowchart showing the flow of a constraint condition adjustment process according to the second embodiment of the present invention. The process shown in the flowchart of Fig. 16 is executed by the processor 101 in response to an instruction from a user in the hardware configuration of Fig. 2, for example.
[0069] In steps S210 to S230, the processor 101 performs the same processes as those in the flowchart of FIG. 12 described in the first embodiment.
[0070] After performing the process of step S230, the processor 101 performs the process of step S241. In step S241, the processor 101 performs a screening process by the screening processing unit 206. In this screening process, for each constraint condition of the optimization model generated in step S220, the influence of the change in the weight on the neighboring solution is acquired. Then, a constraint condition whose influence is equal to or greater than a predetermined value is selected as a high sensitivity constraint condition, and the constraint condition is set as a weight adjustment target. In this way, even if there are a large number of constraint conditions to be adjusted, it is possible to easily extract only the constraint conditions that affect the result of the optimization calculation, and adjust the constraint conditions so as to obtain a solution desired by the user in a short time. Details of the screening process of step S241 will be described later with reference to FIG. 17.
[0071] After performing the process of step S241, in steps S250 to S270, the processor 101 performs the same processes as those in the flowchart of FIG. 12 described in the first embodiment. However, in this embodiment, in the neighborhood solution calculation process of step S250, the weight of the constraint condition selected in the screening process of step S241 is changed from the initial value when the reference solution is calculated in step S230. Also, if it is determined in step S260 that the neighborhood solution calculation process is to be continued, the process returns to step S250. Then, after performing the process of step S270, the processor 101 outputs the obtained calculation result to an external device such as the production management system 120, and then ends the process shown in the flowchart of FIG.
[0072] Fig. 17 is a flowchart showing details of the screening process. The process shown in the flowchart of Fig. 17 is executed by the processor 101 in step S241 of Fig. 16 in the hardware configuration of Fig. 2, for example.
[0073] In step S401, the processor 101 reads the optimization model generated in step S220 of FIG.
[0074] In step S402, the processor 101 selects one of the constraint conditions of the optimization model read in step S401.
[0075] In step S403, the processor 101 performs a sensitivity analysis on the constraint condition selected in step S402 by the screening processing unit 206. The sensitivity analysis is a process of analyzing the relationship between the change in the weight of the constraint condition required for each variable of the arithmetic expression representing the optimization model and the calculated value obtained by calculating the arithmetic expression. Specifically, the sensitivity analysis can be performed by checking the change in the calculated value of the arithmetic expression when the weight of the constraint condition is changed within a predetermined range. Note that in step S403, the sensitivity analysis may be performed by a method other than the above.
[0076] In step S404, the processor 101 determines whether or not all constraint conditions included in the optimization model have been selected in the sensitivity analysis in step S403. If there are unselected constraint conditions, the process returns to step S402 to select one of them, and then repeats the process of step S403. If all constraint conditions have been selected, the process proceeds to the next step S405.
[0077] In step S405, the processor 101 groups the constraint conditions by the screening processing unit 206 based on the sensitivity analysis result of step S403 for each constraint condition. Here, for example, constraint conditions that have the same tendency of change in the calculated value of the arithmetic expression according to the change in weight are classified into the same group, thereby classifying each constraint condition into a plurality of groups. Specifically, for example, each constraint condition can be grouped into a group of constraint conditions in which the increase / decrease direction of the weight is the same as the increase / decrease direction of the calculated value, a group of constraint conditions in which the increase / decrease direction of the weight is opposite to the increase / decrease direction of the calculated value, and a group of constraint conditions in which the calculated value hardly changes with the increase / decrease of the weight. Furthermore, at this time, the grouping may be further subdivided in consideration of the increase / decrease amount of the calculated value. Note that the grouping method is not limited to this as long as the constraint conditions can be appropriately grouped according to the sensitivity analysis result.
[0078] In step S406, the processor 101 presents to the user the results of the sensitivity analysis of each constraint condition performed in step S403 through the user presentation unit 205. Here, the results of the sensitivity analysis are presented to the user by displaying the results of grouping each constraint condition in step S405 on a screen, for example, on a display monitor which is the output device 140. An example of the screen displayed in step S406 will be described later with reference to FIG.
[0079] In step S407, the processor 101 sets the constraint condition to be adjusted in weight when performing the neighborhood solution calculation process in step S250 of FIG. 16 based on the result of the sensitivity analysis of each constraint condition performed in step S403. Here, for example, based on the grouping result in step S405, each constraint condition included in the high sensitivity group is set as the weight adjustment target. Note that the high sensitivity group is a group of constraint conditions in which the increase or decrease in the calculated value is relatively large compared to the increase or decrease in the weight. In addition to this, it is possible to set any constraint condition as the weight adjustment target based on the sensitivity analysis result. For example, it is also possible to select the constraint condition to be set as the weight adjustment target according to the input operation performed by the user on the sensitivity analysis result presented in step S406.
[0080] After performing the process of step S407, the processor 101 ends the screening process and proceeds to step S250 in FIG.
[0081] Fig. 18 is a diagram showing an example of a sensitivity analysis result display screen for presenting the sensitivity analysis result to a user. A sensitivity analysis result display screen 181 shown in Fig. 18 shows how the process values (calculated values of the arithmetic expressions) change with respect to the change in weight for each of the constraint conditions belonging to groups 1 to 3.
[0082] The sensitivity analysis result display screen shown in Fig. 18 is just an example, and other screen configurations may be used. Any screen configuration may be adopted as long as it can appropriately present to the user the increase / decrease tendency of the calculated value of the arithmetic expression in response to the change in the weight for each constraint condition obtained by the sensitivity analysis.
[0083] According to each of the above-described embodiments of the present invention, the following advantageous effects are achieved.
[0084] (1) Information processing devices 100 and 100A include a definition information acquisition unit 201 that acquires definition information including constraint conditions set for multiple variables and initial values of weights of the constraint conditions, a reference solution calculation unit 202 that calculates a reference solution that represents an optimal combination of multiple variables based on the definition information acquired by the definition information acquisition unit 201, and a neighborhood solution calculation unit 203 that calculates a neighborhood solution that represents an optimal combination of multiple variables when the weights of the constraint conditions are changed from their initial values. As a result, it is possible to appropriately adjust the constraint conditions in the optimization problem.
[0085] (2) The neighborhood solution calculation unit 203 in the information processing device 100 calculates neighborhood solutions based on a preset scenario (steps S240, S250). The scenario includes information on the constraint conditions to be adjusted in weight among a plurality of constraint conditions (constraint condition ID 2163, rule 2172) and information on the deviation of variables from the constraint conditions (constraint type 2164, rule 2172). This makes it possible to easily select the constraint conditions to be adjusted in weight when calculating neighborhood solutions.
[0086] (3) The neighborhood solution calculation unit 203 in the information processing device 100 calculates a penalty function F based on the total value of the product of the weight and the deviation for each constraint condition. penalty (Step S304) can be used to calculate the neighborhood solution. In this way, the neighborhood solution can be easily found by simplified calculation processing.
[0087] (4) The information processing device 100 includes a user presentation unit 205 that presents the calculation results of the neighborhood solutions for each of a plurality of scenarios to the user (step S270, FIG. 14). In this manner, the calculation results of the neighborhood solutions can be presented to the user in an easily understandable manner.
[0088] (5) The information processing device 100A includes a screening processing unit 206 that acquires the degree of influence of a change in weight on a neighborhood solution for each of a plurality of constraint conditions, and a user presentation unit 205 that presents the degree of influence for each constraint condition acquired by the screening processing unit 206 to a user (steps S241, S406, FIG. 18). In this manner, the degree of influence of a change in weight of each constraint condition on a neighborhood solution can be presented to a user in an easily understandable manner. Furthermore, even when there are a large number of constraint conditions to be adjusted, it is possible to easily extract only the constraint conditions that affect the results of the optimization calculation, and adjust the constraint conditions so that the user can obtain a solution that he or she desires in a short time.
[0089] The present invention is not limited to the above-described embodiment, and can be implemented using any components without departing from the spirit of the present invention.
[0090] The above-mentioned embodiments and modifications are merely examples, and the present invention is not limited to these contents as long as the characteristics of the invention are not impaired. In addition, although various embodiments and modifications have been described above, the present invention is not limited to these contents. Other aspects that are conceivable within the scope of the technical idea of the present invention are also included in the scope of the present invention. [Explanation of symbols]
[0091] 100,100A...Information processing equipment 101…Processor 102…Memory 103...Storage device 104...Communication interface 105... Input / Output Interface 110…POS system 120...Production control system 130...Input device 140...Output device 201...Definition information acquisition section 202...Reference solution calculation section 203... Neighborhood solution calculation unit 204…Scenario setting section 205...User presentation section 206...Screening processing section 211...Variable DB 212…Constraint condition DB 213...Nearby point DB 214...Variable / Constraint DB 215...Facility / variable DB 216…Scenario / Constraint DB 217…Scenario DB 218...Calculation history DB
Claims
1. a definition information acquisition unit that acquires definition information including constraint conditions set for a plurality of variables and initial values of weights of the constraint conditions; a reference solution calculation unit that calculates a reference solution that represents an optimal combination of the plurality of variables based on the definition information acquired by the definition information acquisition unit; a neighborhood solution calculation unit that calculates, for each of a plurality of scenarios set in advance, a neighborhood solution that represents an optimal combination of the plurality of variables when the weights of the constraint conditions are changed from the initial values; and a user presentation unit that presents to a user a calculation result of the neighborhood solution for each of the multiple scenarios, the scenario includes information on a constraint condition, among the plurality of constraint conditions, whose weight is to be adjusted, and information on a deviation degree from a target value of the variable corresponding to the constraint condition; The plurality of scenarios are set such that the constraint conditions for which the weights are to be adjusted differ from one another for each scenario; The user presentation unit displays on a display monitor a screen including the degree of deviation for each constraint condition in each neighborhood solution and the total number of constraint conditions in which the variables deviate from the target value in each neighborhood solution, thereby presenting the calculation results of the neighborhood solutions for each scenario to the user.
2. In the constraint condition optimization device according to claim 1, A scenario setting unit that sets a plurality of the scenarios, The scenario setting unit is a constraint condition optimization device that sets, for each of a plurality of scenarios, one or more steps that constitute the scenario, the constraint conditions corresponding to each step, and the type of the constraint conditions required for the variables at each step.
3. 2. The constraint-based optimization apparatus according to claim 1, The neighborhood solution calculation unit is a constraint condition optimization device that calculates the neighborhood solution using a penalty function based on the total value of the product of the weight and the deviation for each constraint condition.
4. 2. The constraint-based optimization apparatus according to claim 1, a screening processing unit that acquires, for each of a plurality of constraint conditions, a degree of influence of a change in the weight on the neighboring solutions; The user presentation unit is a constraint condition optimization device that presents the degree of influence for each constraint condition acquired by the screening processing unit to the user.
5. Obtaining definition information including constraint conditions set for a plurality of variables and initial values of weights of the constraint conditions; Calculating a reference solution representing an optimal combination of the plurality of variables by a computer based on the obtained definition information; calculating, for each of a plurality of preset scenarios, a neighborhood solution that represents an optimal combination of the plurality of variables when the weights of the constraint conditions are changed from the initial values by the computer; the scenario includes information on a constraint condition, among the plurality of constraint conditions, whose weight is to be adjusted, and information on a deviation degree from a target value of the variable corresponding to the constraint condition; The plurality of scenarios are set such that the constraint conditions for which the weights are to be adjusted differ from one another for each scenario; A constraint optimization method, which displays on a display monitor a screen including the degree of deviation for each constraint condition in each neighborhood solution and the total number of constraint conditions in which the variables deviate from the target value in each neighborhood solution, and presents the calculation results of the neighborhood solutions for each scenario to a user.
6. In the constraint optimization method according to claim 5, A constraint optimization method in which, for each of a plurality of scenarios, the computer sets one or more steps constituting the scenario, the constraint conditions corresponding to each step, and the types of the constraint conditions required for the variables at each step.
7. 6. The constraint optimization method according to claim 5, A constraint condition optimization method for calculating the neighborhood solution using a penalty function based on the total value of the product of the weight and the deviation for each constraint condition.
8. 6. The constraint optimization method according to claim 5, obtaining, for each of the plurality of constraint conditions, a degree of influence of a change in the weight on the neighboring solutions; The constraint condition optimization method includes presenting the degree of influence for each of the acquired constraint conditions to the user.
Citation Information
Patent Citations
Operating plan creation assisting method, and operating plan creation assisting device
JP2020113161A
Optimization device and optimization method
JP2020204928A
Setting constraints in project portfolio optimization
US20140156334A1