Formulation system, formulation method, and program
Patent Information
- Application Number
- JP2025521614
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2025-11-05
- Publication Date
- 2026-02-04
AI Technical Summary
Combinatorial optimization problems, particularly those classified as NP-hard, face challenges in finding optimal solutions due to exponentially increasing solution spaces as problem scale grows, exacerbated by the need for auxiliary variables that widen the solution space when encoding inequality constraints in quantum annealing formats like QUBO.
The formulation system updates the range of inequality constraints to reduce their upper and lower limits, converting them into equality constraints using auxiliary variables with a domain determined by these limits, thereby reducing the number of required binary variables and narrowing the solution space.
This approach improves the efficiency of solving optimization problems by reducing the solution space and minimizing the number of auxiliary variables needed, making it easier to find optimal solutions within a realistic time frame.
Abstract
Description
Formulation system, formulation method, and recording medium
[0001] The present disclosure relates to formulation systems and the like.
[0002] Real-world problems in a wide range of fields are sometimes formulated as combinatorial optimization problems. Here, an optimization problem is a problem of finding a solution that minimizes or maximizes an objective function among solutions that satisfy constraint conditions. For example, Patent Document 1 describes a technology that dynamically adds constraints during the solution-finding process.
[0003] Many combinatorial optimization problems are classified as NP (Non-deterministic Polynomial Time) hard problems. That is, in many combinatorial optimization problems, the number of combinations increases explosively as the problem scale increases, making it difficult to find an optimal solution in a realistic amount of time. For this reason, quantum annealing technology is known as a major method for solving combinatorial optimization problems.
[0004] In quantum annealing technology, a combinatorial optimization problem to be solved is formulated and handled in a format called QUBO (Quadratic Unconstrained Binary Optimization) or an Ising model. A combinatorial optimization problem may have constraints on variables in addition to an objective function. For example, constraints included in an optimization problem include equality constraints and inequality constraints. Non-Patent Document 1 describes a technology for formulating inequality constraints as QUBO. In the technology described in Non-Patent Document 1, an auxiliary variable is newly introduced to formulate inequality constraints.
[0005] Japanese Patent Application Laid-Open No. 07-064967 Japanese Patent Application Laid-Open No. 2020-201598
[0006] Andrew Lucas, “Ising formulations of many NP problems,” Frontiers in Physics, vol. 2, 2014
[0007] For example, in optimization problems, auxiliary variables may be introduced when formulating inequality constraints. When encoding auxiliary variables using multiple new variables (e.g., binary variables) whose number varies depending on the domain of the auxiliary variables, the wider the domain, the more new variables required for encoding. When the number of variables used in an optimization problem increases, the solution space also expands, which can make solving the optimization problem more difficult.
[0008] An example of an objective of the present disclosure is to provide a formulation system or the like that improves the efficiency of finding solutions to optimization problems.
[0009] A formulation system according to one aspect of the present disclosure includes: an updating means for updating at least one of an upper limit value and a lower limit value of an inequality constraint included in an optimization problem so that the range of the upper limit value and the lower limit value of the inequality constraint becomes smaller; and a converting means for converting the updated inequality constraint into an equality constraint using an auxiliary variable having a domain determined by the upper limit value and the lower limit value of the updated inequality constraint.
[0010] In one aspect of the present disclosure, a formulation method includes a computer that performs a process of updating at least one of an upper limit value and a lower limit value of an inequality constraint included in an optimization problem so that the range of the upper limit value and the lower limit value of the inequality constraint becomes smaller, and converting the updated inequality constraint into an equality constraint using an auxiliary variable having a domain determined by the upper limit value and the lower limit value of the updated inequality constraint.
[0011] A program according to one aspect of the present disclosure causes a computer to execute a process of updating at least one of the upper and lower bounds of an inequality constraint included in an optimization problem so as to reduce the range of the upper and lower bounds of the inequality constraint, and converting the updated inequality constraint into an equality constraint using an auxiliary variable having a domain determined by the upper and lower bounds of the updated inequality constraint.
[0012] Each program may be stored in a non-transitory computer-readable recording medium.
[0013] According to the present disclosure, it is possible to improve the efficiency of finding solutions to optimization problems.
[0014] FIG. 1 is a first block diagram showing an example configuration of a formulation system according to the present disclosure. FIG. 2 is an explanatory diagram showing an example in which the ranges of upper and lower limits overlap in different inequality constraints. FIG. 3 is an explanatory diagram showing an example in which the ranges of upper and lower limits do not overlap in different inequality constraints. FIG. 4 is a flowchart showing an example operation of the formulation system. FIG. 5 is an explanatory diagram showing an example of connection between the optimization system and another device. FIG. 6 is a second block diagram showing an example configuration of an optimization system according to the present disclosure. FIG. 7 is an explanatory diagram showing an example of multiple inequality constraints included in an optimization problem. FIG. 8 is an explanatory diagram showing an example in which multiple inequality constraints and coefficients and ranges are identified from each constraint. FIG. 9 is an explanatory diagram showing an example update by integrating equations (a) and (b). FIG. 10 is an explanatory diagram showing an example update due to overlap between the maximum and minimum values and ranges of each constraint. FIG. 11 is an explanatory diagram showing an example formulation. FIG. 12 is a flowchart (part 1) showing an example operation of the optimization system. FIG. 13 is a flowchart (part 2) showing an example operation of the optimization system. FIG. 14 is an explanatory diagram showing an example hardware configuration of a computer.
[0015] Hereinafter, with reference to the drawings, embodiments of a formulation system, an optimization system, a formulation method, an optimization method, a program, and a non-transitory recording medium for recording the program according to the present disclosure will be described in detail. The disclosed technology is not limited to these embodiments.
[0016] First, we will briefly explain the formulation of combinatorial optimization problems. In particular, we will explain an example of introducing auxiliary variables when formulating inequality constraints. Note that constraints included in combinatorial optimization problems are sometimes simply called constraints.
[0017] As mentioned above, quantum annealing technology is known as a major method for solving combinatorial optimization problems. In quantum annealing technology, combinatorial optimization problems are formulated and handled in a format known as QUBO or the Ising model. Both QUBO and the Ising model use binary variables. QUBO uses binary variables that take on either 0 or 1. The Ising model uses binary variables that take on either -1 or 1. Meanwhile, if the variable in QUBO is x and the variable in the Ising model is s, they can be converted into an equivalent value using equation 1.
[0018]
[0019] Since they are equivalently exchangeable, the explanation will be given using QUBO as an example, but they can also be applied to the Ising model.
[0020] QUBO is expressed in the form of a quadratic objective function H using N binary variables x, which take the values 0 or 1, as shown in Equation 2. The combinatorial optimization problem to be solved is expressed as Q ij QUBO is a problem of finding a combination of 0 or 1 assignments for each variable that minimizes the value of the objective function, and by interpreting the values of each variable found, it is possible to obtain a solution to the original combinatorial optimization problem that one wishes to solve.
[0021]
[0022] Many combinatorial optimization problems have constraints on variables in addition to the objective function. In QUBO, the constraints are formulated as penalty terms and added to the objective function. This method is called the penalty method or penalty function method. A penalty term is an equation that takes a small value when the constraint is satisfied and a large value when it is not satisfied. For example, if there are n binary variables x 1 , ..., x nA constraint where the number of variables with a value of 1 is one is also called a one-hot constraint. The one-hot constraint can be expressed by Equation 3. When making the one-hot constraint a penalty term for QUBO, the right side of Equation 3 is moved to the left side, and the entire left side is squared to form Equation 4. Equation 4 takes on the minimum value of 0 only when the one-hot constraint is satisfied, that is, when Equation 3 is true, and takes a positive value when the constraint is not satisfied. Since QUBO is a problem of minimizing the equation obtained by adding the objective function and the penalty term, it is possible to search for a solution that minimizes the objective function while satisfying the constraint expressed by the penalty term.
[0023]
[0024]
[0025] Constraints that can be expressed as equalities can be formulated as QUBOs using the method described above. On the other hand, inequality constraints cannot be formulated as they are. As mentioned above, Non-Patent Document 1 describes a technique for formulating inequality constraints as QUBOs. In this method, auxiliary variables are newly introduced to formulate inequality constraints. As an example, the procedure for formulating the inequality constraint shown in Equation 5 as QUBOs will be described. In Equation 5, x i represents a binary variable or an integer variable, a lower limit l, an upper limit u, a coefficient a i represents an integer constant.
[0026]
[0027] First, an auxiliary variable y is introduced. y is an integer variable that can take any value within the range of a lower limit of 0 to an upper limit of u-1, as shown in Equation 6. However, since variables in QUBO are limited to binary variables, the integer variable y is expressed by encoding using a binary variable. Examples of encoding methods include log encoding, one-hot encoding, and unary encoding. For example, log encoding uses binary numbers, and when encoding an integer variable with a lower limit of 0 and an upper limit of 7, the binary variable b iUsing the above formula, we obtain Equation 7. Whether log coding, one-hot coding, or unary coding is used, the wider the domain of the integer variables, the more binary variables are required for coding.
[0028]
[0029]
[0030] After the auxiliary variable y is introduced, the inequality constraint of Equation 5 can be expressed by adding the penalty term shown in Equation 8. Equation 8 corresponds to the penalty term representing the equality constraint shown in Equation 9. In other words, the penalty expression of an inequality using an auxiliary variable corresponds to converting an inequality constraint to an equality constraint. From Equation 6, l + y is a term that can take any value within the range shown in Equation 10, i.e., the range from the lower limit value l to the upper limit value u of Equation 5, which is the original inequality. As a result, if side P of Equation 5 satisfies Equation 5, then l + y takes a value equal to side P, and the entire penalty term of Equation 8 becomes the minimum value of 0. On the other hand, if side P does not satisfy Equation 5, regardless of the value l + y takes within the range of Equation 10, the entire Equation 8 will be a positive value. Therefore, by adding the penalty term of Equation 8 to the objective function, it is possible to minimize the objective function while satisfying the inequality constraint of Equation 5.
[0031]
[0032]
[0033]
[0034] In this way, the penalty method can convert inequality constraints into equality constraints using auxiliary variables. As mentioned above, when encoding auxiliary variables using multiple new variables, such as binary variables, whose number varies depending on the domain of the auxiliary variables, the wider the domain, the more new variables required for encoding. As the number of variables used in an optimization problem increases, the solution space also widens, which can make it difficult to solve the optimization problem.
[0035] In each embodiment, the range of upper and lower limits of the inequality constraints is narrowed to improve the efficiency of finding a solution to the optimization problem.
[0036] First Embodiment First, in the first embodiment, an example of basic functions of a formulation system will be described. Fig. 1 is a first block diagram showing an example configuration of a formulation system according to the present disclosure. The formulation system 10 includes an update unit 101 and a conversion unit 102.
[0037] The updating unit 101 updates at least one of the upper limit and the lower limit of the inequality constraint included in the optimization problem so as to reduce the range of the upper limit and the lower limit of the inequality constraint. In particular, for example, the updating unit 101 updates at least one of the upper limit and the lower limit of the inequality constraint included in the optimization problem so as to minimize the range of the upper limit and the lower limit of the inequality constraint.
[0038] Examples of update methods include an example of update by integrating a plurality of constraints, and an example of update by narrowing down the upper and lower limit values according to the domain of the variable.
[0039] <Example of Integration> First, an example of updating by integrating multiple constraints will be described. For example, the updating unit 101 integrates an inequality constraint included in the optimization problem with another constraint to update at least one of the upper limit and the lower limit of the inequality constraint. As long as the other constraint can be integrated with the inequality constraint, the other constraint may be either an equality constraint or an inequality constraint.
[0040] More specifically, for example, when the variables and coefficients in the inequality constraint match the variables and coefficients in another constraint included in the optimization problem, the update unit 101 integrates the inequality constraint with the other constraint. Here, an example of integrating two inequality constraints will be described using Equation 11 and Equation 12 as examples.
[0041]
[0042]
[0043] In the formulas 11 and 12, the variable x i and the coefficient is ai The upper limit of the equation (11) is u 1 and the lower limit is l 1 The upper limit of the equation (12) is u 2 and the lower limit is l 2 As described above, the variables and coefficients in Equation 11 and Equation 12 are the same, but the upper and lower limits are different. 2 and the lower limit l 2 and the upper limit u 1 and the lower limit l 1 The range of
[0044] 2 is an explanatory diagram showing an example in which the ranges of upper and lower limits in different inequality constraints overlap. When the ranges of upper and lower limits in two inequalities overlap as shown in FIG. 2, the range that satisfies both inequalities is l 2 From U 1 The range is up to.
[0045] Figure 3 is an explanatory diagram showing an example in which the ranges of upper and lower limits of different inequality constraints do not overlap. As shown in Figure 3, if the ranges of upper and lower limits of two inequalities do not overlap, both inequalities cannot be satisfied simultaneously. Because the inequality constraints are contradictory, there is no solution that satisfies all the constraints included in the combinatorial optimization problem.
[0046] The updating unit 101 integrates the inequality constraint with the other constraint when the variables and coefficients in the inequality constraint match the variables and coefficients in the other constraints included in the optimization problem and the ranges of the upper and lower limits of the inequality constraint overlap with the ranges of the upper and lower limits of the other constraints. For example, the updating unit 101 can integrate Equation 11 and Equation 12 as in Equation 13. More specifically, the updating unit 101 sets the smaller of the upper limits of the two inequality constraints as the integrated upper limit, and sets the larger of the lower limits of the two inequality constraints as the integrated lower limit.
[0047]
[0048] Although an example in which multiple inequality constraints are integrated has been described, an inequality constraint and an equality constraint may also be integrated. An example in which the inequality equation (11) and the following equality equation (14) are given as constraints will be described.
[0049]
[0050] In the formulas 11 and 14, if there is an overlap between the range of the lower limit value and the range of the upper limit value, that is, if c is l 1 More than u 1 If the following condition is satisfied, the update unit 101 can integrate the formula 11 and the formula 14. In other words, the constraint of the formula 11 is unnecessary. On the other hand, if there is no overlap between the ranges of the lower limit value and the upper limit value in the formula 11 and the formula 14, that is, if c is l 1 More than u 1 If the following condition is not satisfied, the constraints of Equation 11 and Equation 14 cannot be satisfied simultaneously. Since the inequality constraint and the equality constraint are in contradiction, there is no solution that satisfies all the constraints included in the combinatorial optimization problem.
[0051] <Narrowing Example> Next, an example of updating by narrowing down the upper and lower bounds based on the domain of the variable will be described. A domain is set for each variable in a combinatorial optimization problem. For example, if the variable is a binary variable that takes on the value 0 or 1, the domain will be from 0 to 1. If the variable is an integer variable that represents a certain number, the domain will be non-negative, that is, the lower bound of the domain will be 0. The updating unit 101 may be able to update at least one of the upper and lower bounds of the inequality constraints from the domain of such a variable.
[0052] The update unit 101 updates at least one of the upper limit and lower limit of the inequality constraint based on at least one of the minimum and maximum values of the range calculated from the domain of the variable in the inequality constraint and the coefficient by which the variable is multiplied. First, specifically, for example, the update unit 101 calculates at least one of the minimum and maximum values of the range calculated from the domain of the variable in the inequality constraint and the coefficient by which the variable is multiplied. Here, the inequality constraint shown in Equation 15 will be described as an example.
[0053]
[0054] In equation 15, a i is a positive integer constant, and x i is a binary variable that takes either 0 or 1. Here, the update unit 101 i By taking into account the domain of definition, the range that can be taken by the left side of Equation 15 can be calculated. For example, the range of side P, which is the left side of Equation 15, is the range of all x i The range of side P, which is the left side of Equation 15, is the range of all x i When is 1, the maximum value (a 1 From a n The updating unit 101 can update the upper limit and lower limit values of Equation 15 based on the maximum and minimum values. For example, the updating unit 101 can update Equation 15 to Equation 16.
[0055]
[0056] Although there is no lower limit value in Expression 15, the updating unit 101 can update the lower limit value to 0 using the range calculated from the variable domain as shown in Expression 16. As shown in Expression 16, there is a possibility that the upper limit value can also be updated.
[0057] Furthermore, if the range of values calculated from the domain of a variable does not overlap with the range of the upper and lower limits of an inequality constraint, the constraint cannot be satisfied, and therefore there is no solution that satisfies the constraints included in the combinatorial optimization problem.
[0058] This concludes the explanation of the two update examples.
[0059] Next, the conversion unit 102 converts the updated inequality constraints into equality constraints using the penalty method. For example, the conversion unit 102 adds auxiliary variables to the inequality constraints based on the penalty method to formulate penalty terms. Specifically, the conversion unit 102 only needs to be able to formulate the inequality constraints as in Equation 6 and Equation 8.
[0060] Furthermore, when converting the updated inequality constraint into an equality constraint using the penalty method, the conversion unit 102 sets the domain of the auxiliary variable to a range smaller than the difference between the upper and lower limits of the inequality. The conversion unit 102 then formulates the inequality constraint as a penalty term using the set small range. Here, an explanation will be given using the inequality constraint shown in Equation 5 as an example.
[0061] First, the conversion unit 102 sets the domain of the auxiliary variable y to be introduced into Equation 5 as shown in Equation 17. The domain of the auxiliary variable y shown in Equation 17 is narrower than the domain of the auxiliary variable y shown in Equation 6. Then, the conversion unit 102 uses the set domain of Equation 17 to add the auxiliary variable y based on the penalty method to formulate a penalty term for the inequality constraint shown in Equation 5. The formulated constraint is shown in Equation 18.
[0062] When the part M of Equation 18 is 0 or 1, the entire equation takes the minimum value of 0, and when the part M of Equation 18 is other than 0 or 1, the entire equation takes a positive value. When the part T of Equation 18 is within the range of Equation 5, the value of the auxiliary variable y is determined so that the entire equation of Equation 18 becomes 0. Note that the part T of Equation 18 is the same as the side P of Equation 5. On the other hand, when it is outside the range of Equation 5, in other words, in the region where the constraint is not satisfied, a penalty term is introduced so that the entire equation of Equation 18 becomes a positive value regardless of the value of the auxiliary variable y. Changing the domain of the auxiliary variable makes it possible to reduce the number of binary variables when encoding the auxiliary variable.
[0063]
[0064]
[0065] Here, an example of reducing auxiliary variables when formulating inequality constraints as QUBO using the penalty method will be described. The following explanation will be given using equations 19 and 20 as examples. For example, in equation 19, the auxiliary variable y 1 For example, an example in which the auxiliary variable y 2 An example in which the auxiliary variable y is introduced is shown in Equation 22. When encoding each auxiliary variable with a binary variable, log encoding is used as an example. 1 4 auxiliary variables for2 , four for y, and a total of eight binary variables are required. On the other hand, the update unit 101 can integrate Equation 19 and Equation 20. For example, an equation obtained by integrating Equation 19 and Equation 20 is shown in Equation 23. 3 An example in which the auxiliary variable y is introduced is shown in Equation 24. 3 Three binary variables are required for
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072] 4 is a flowchart showing an example of the operation of the formulation system 10. The update unit 101 updates at least one of the upper and lower limit values of the inequality constraints included in the optimization problem so that the range of the upper and lower limit values of the inequality constraints becomes smaller (step S101). Next, the conversion unit 102 converts the updated inequality constraints into equality constraints using the penalty method (step S102).
[0073] As described above, in the first embodiment, at least one of the upper and lower limits of the inequality constraints included in the optimization problem is updated so that the range of the upper and lower limits of the inequality constraints is narrowed, and the updated inequality constraints are converted into equality constraints. By narrowing the range of the inequality constraints in this way, the number of auxiliary variables can be reduced when expressing the inequality constraints using auxiliary variables using the penalty method. Therefore, the solution space can be prevented from expanding, and the efficiency of finding a solution to the optimization problem can be improved.
[0074] Furthermore, the formulation system 10 encodes the auxiliary variables using multiple new variables, the number of which varies depending on the domain of the auxiliary variables, thereby enabling a reduction in the number of binary variables when encoding the auxiliary variables.
[0075] (Second Embodiment) Next, a second embodiment will be described in detail with reference to the drawings. In the second embodiment, a specific example of an inequality included in a combinatorial optimization problem will be given, and an example of updating the range of the upper and lower limit values of the inequality constraints to narrow will be described. Also, in the second embodiment, an example of solving an optimization problem including formulated constraints will be described. For this purpose, an optimization system including each functional unit included in the formulation system 10 described in the first embodiment will be described.
[0076] Below, explanations of the contents that overlap with the above explanations will be omitted to the extent that the explanation of the second embodiment is not unclear.
[0077] 5 is an explanatory diagram showing an example of a connection between the optimization system 20 and other devices. For example, the optimization system 20 is connected to a terminal device 21 via a communication network. The terminal device 21 is, for example, a user's terminal device 21.
[0078] 5, the type of the terminal device 21 is not particularly limited and may be a PC (Personal Computer), a smartphone, a tablet device, etc. Note that the terminal device 21 may be pre-installed with an application program that can transmit information to the optimization system 20 or output information from the optimization system 20.
[0079] 6 is a second block diagram showing an example configuration of the optimization system 20 according to the present disclosure. The optimization system 20 includes an update unit 201, a conversion unit 202, a reception unit 203, an acquisition unit 204, an analysis unit 205, a solution-finding unit 206, and an output unit 207.
[0080] The update unit 201 may have the basic function of the update unit 101 shown in Fig. 1. The conversion unit 202 may have the basic function of the conversion unit 102 shown in Fig. 1.
[0081] The receiving unit 203 receives input of data related to the user's constraint conditions for the optimization problem. The receiving unit 203 receives input of data related to the user's constraint conditions for the optimization problem via the user's terminal device 21, for example.
[0082] A wide range of real-world issues, such as logistics planning, digital marketing, and drug discovery, can be expressed as combinatorial optimization problems. For example, in logistics planning, there is a combinatorial optimization problem of finding the route with the shortest total travel distance and transport time from among multiple transportation routes. For example, the user is a shipper, and the user inputs information such as the departure point, intermediate points, arrival point, departure time, arrival time, and cargo volume via the terminal device 21. The reception unit 203 receives these inputs as the user's conditions for the optimization problem.
[0083] The acquisition unit 204 acquires information about the optimization problem, which indicates an objective function and a constraint that represents a user's condition.
[0084] The analysis unit 205 analyzes information related to the optimization problem. Specifically, for example, the analysis unit 205 identifies variables, coefficients applied to the variables, upper limit values, and lower limit values for each of the inequality constraints included in the optimization problem.
[0085] 7 is an explanatory diagram showing an example of multiple inequality constraints included in an optimization problem, in which different inequality constraints of equations (a), (b), and (c) are taken as examples.
[0086] 8 is an explanatory diagram showing an example in which multiple inequality constraints and coefficients and value ranges are identified from each constraint. In FIG. 8, for example, the analysis unit 205 identifies variables, coefficients, upper and lower limits from the constraints included in the optimization problem and converts them into data in dictionary format.
[0087] As shown in FIG. 8, for equation (a), the variable x 1 and x 2 and the variable x 1 The coefficient of is 7, and the variable x 2 The coefficient of is 4. The value range is from -∞ to 50.
[0088] As shown in FIG. 8, for equation (b), the variable x 1 and x 2 and the variable x 1 The coefficient of is -7, and the variable x 2 The coefficient of is -4. The range is from -∞ to 10.
[0089] As shown in FIG. 8, for equation (c), the variable x 1 and x 3 and the variable x 1 The coefficient of is 5, and the variable x 3 The coefficient of is -7. The value range is from -∞ to 40.
[0090] Next, the updating unit 201 updates at least one of the upper limit value and the lower limit value of the inequality constraint so that the range of the upper limit value and the lower limit value of the inequality constraint becomes smaller. A specific updating method is as described in the first embodiment. Here, an example of updating will be specifically described using the formulas (a), (b), and (c) shown in FIG. 8 .
[0091] First, an example of updating by integrating multiple constraints will be described. For each inequality constraint, the update unit 201 identifies other constraints that match the variables and coefficients in that inequality constraint. Here, matching variables and coefficients means that they match even if their signs are reversed. Note that when there are multiple variables in multiple different constraints, the variables and coefficients are considered to match when the signs of the coefficients of the multiple variables are reversed. For example, the variable x in equation (a) 1 The coefficient of and the variable x in equation (b) 1 The sign inversion of the coefficients of 2 The coefficients of and the variable x in equation (b) 2 The signs of the coefficients in equation (c) and (b) are the same. The variables and coefficients in equation (c) are different from those in equation (a). The variables and coefficients in equation (c) are different from those in equation (b).
[0092] Next, if the variables and coefficients in the inequality constraint match the variables and coefficients in other constraints included in the optimization problem, and the ranges of the upper and lower limits of the inequality constraint overlap with the ranges of the upper and lower limits of the other constraints, the update unit 201 merges the inequality constraint with the other constraints.
[0093] FIG. 9 is an explanatory diagram showing an example of updating by integrating formula (a) and formula (b). The update unit 201 integrates formula (a) and formula (b) because the range of the upper and lower limits of formula (a) overlaps with the range of the upper and lower limits of formula (b). For example, formula (a) and formula (b) have opposite signs, so the ranges are also inverted. In FIG. 9, the integrated formula is represented as formula (a+b). For example, for formula (a+b), the lower limit is -10 and the upper limit is 50. Thus, the ranges of the upper and lower limits of formula (a+b) are narrower than those of formula (a) and formula (b).
[0094] Here, an example has been given in which the variables and coefficients in an inequality constraint match the variables and coefficients in another constraint, and the ranges of the upper and lower limits of the inequality constraint overlap the ranges of the upper and lower limits of the other constraint. On the other hand, there may be cases in which the variables and coefficients in an inequality constraint match the variables and coefficients in another constraint, but the ranges of the upper and lower limits of the inequality constraint do not overlap the ranges of the upper and lower limits of the other constraint. As described in the first embodiment, in such cases, there is no solution that satisfies all the constraint conditions included in the optimization problem.
[0095] Therefore, the output unit 207 outputs a message that a solution to the optimization problem cannot be obtained when the range of the upper and lower limits of an inequality constraint does not overlap with the range of the upper and lower limits of another constraint. For example, the output unit 207 may notify the user that a solution to the optimization problem cannot be obtained using an email, an electronic message, or the like. For example, the output unit 207 may output a message that a solution to the optimization problem cannot be obtained to the user's terminal device 21. The method of outputting the message to the user's terminal device 21 may be a display on a display device of the terminal device 21 or an audio output to an audio output device of the terminal device 21, and is not particularly limited.
[0096] For example, the output unit 207 may output that an inequality constraint is in conflict with another constraint. In other words, for example, the output unit 207 may output that there is no solution that satisfies any of the constraints. For example, when displaying multiple constraint conditions for an optimization problem on the terminal device 21, the output unit 207 may identifiably display a conflicting constraint among the multiple constraint conditions. More specifically, for example, the output unit 207 may highlight a conflicting constraint. This allows the user to confirm which constraint cannot be satisfied. Therefore, it is possible to facilitate the user's change of conditions for the optimization problem.
[0097] Next, an example of updating by narrowing down the upper and lower limits based on the domain of the variable will be described. As described in the first embodiment, first, the updating unit 201 calculates the minimum and maximum values of the range based on the domain of the variable in the inequality constraint and the coefficient by which the variable is multiplied.
[0098] 10 is an explanatory diagram showing an example of updating due to overlap between the maximum and minimum values and value ranges of each constraint. The update unit 201 calculates the minimum and maximum values for the formula (a+b). For the formula (a+b), the minimum value is -55 and the maximum value is 110. The range of the maximum and minimum values overlaps with the range of the upper and lower limits, but the range of the upper and lower limits is within the range of the maximum and minimum values. For this reason, the update unit 201 does not update the value range for the formula (a+b).
[0099] Next, the update unit 201 calculates the maximum and minimum values for formula (c). For formula (c), the minimum value is -95, and the maximum value is 95. For formula (c), the range of the maximum and minimum values overlaps with the range of the upper and lower limits. For formula (c), the lower limit can be updated to -95. Therefore, the update unit 201 updates the lower limit for formula (c) to -95. This narrows the range of the upper and lower limits for formula (c).
[0100] Here, an example has been given in which the range of maximum and minimum values calculated from the domain of the variable in the inequality constraint and the coefficient multiplied by the variable overlaps with the range of upper and lower limits of the inequality constraint. There are cases in which the range of maximum and minimum values calculated from the domain of the variable in the inequality constraint and the coefficient multiplied by the variable do not overlap with the range of upper and lower limits of the inequality constraint. As explained in the first embodiment, in such cases, no solution exists that satisfies the constraint conditions included in the optimization problem.
[0101] Therefore, the output unit 207 outputs a message indicating that a solution to the optimization problem cannot be obtained when the range of maximum and minimum values calculated from the domain of the variable in the inequality constraint and the coefficient multiplied by the variable do not overlap with the range of upper and lower limits of the inequality constraint. The output method is the same as in the above example. For example, the output unit 207 may also output a message indicating that the inequality constraints are contradictory. In other words, the output unit 207 may output which constraints have no solution that satisfy them. This allows the user to confirm which constraints cannot be satisfied. This facilitates the user's modification of the conditions for the optimization problem. For example, when displaying multiple constraints on the terminal device 21, the output unit 207 may identifiably display contradictory constraints. As an example of identifiably displaying the contradictory constraints, the output unit 207 may highlight the contradictory constraints when displaying the multiple constraints on the terminal device 21.
[0102] Next, the conversion unit 202 formulates the inequality constraints by introducing auxiliary variables. As a formulation method, the example shown in Equation 8 or the example shown in Equation 18 may be used.
[0103] 11 is an explanatory diagram showing an example of formulation. In FIG. 11, an example of formulation is given using the example shown in Equation 8. The conversion unit 202 converts the auxiliary variable y 1 We introduce the auxiliary variable y 1 The range of is 0 to 60. The constraints shown in FIG. 11 are added.
[0104] The conversion unit 202 converts the auxiliary variable y 2The range of the auxiliary variable y2 is 0 to 135. The constraints shown in FIG. 11 are added.
[0105] The output unit 207 may output the inequality constraint and the converted constraint so that they can be compared. Specifically, for example, the output unit 207 may display the inequality constraint and the converted constraint on the terminal device 21 so that they can be compared.
[0106] The solution unit 206 solves the optimization problem including the transformed constraints. The solution may be achieved using existing techniques.
[0107] Next, the output unit 207 outputs the solution result. The output unit 207 may output, together with the solution result, the values of variables used to obtain the objective function of the optimization problem, the time required to solve the optimization problem, and the amount of hardware resources used during the solution process. The amount of hardware resources may be, for example, the amount of memory used. As described above, the output method is not particularly limited.
[0108] 12 and 13 are flowcharts showing an example of the operation of the optimization system 20. The accepting unit 203 accepts input of data related to constraint conditions from the user (step S201). Next, the acquiring unit 204 acquires information related to the optimization problem (step S202).
[0109] The analysis unit 205 identifies variables, coefficients, upper limit values, and lower limit values for each constraint (step S203). In step S203, the analysis unit 205 may store the identified variables, coefficients, upper limit values, and lower limit values for each constraint as dictionary data.
[0110] The update unit 201 identifies a combination of constraints whose variables and coefficients match (step S204). The update unit 201 determines whether the ranges of upper and lower limits for the combination of constraints overlap (step S205). If the ranges of upper and lower limits for the combination of constraints do not overlap (step S205: No), the output unit 207 outputs that there is no solution that satisfies the constraints (step S206). Note that the optimization system 20 ends the process after step S206.
[0111] If the ranges of the upper and lower limits for the combination of constraints overlap (step S205: Yes), the update unit 201 updates at least one of the upper and lower limits for the combination by merging the constraints (step S207).
[0112] Next, the update unit 201 calculates the maximum and minimum values for each constraint based on the domain of the variable and the coefficient multiplied by the variable (step S208). The update unit 201 determines whether the range of the upper and lower limits overlaps with the range of the maximum and minimum values (step S209). If the range of the upper and lower limits does not overlap with the range of the maximum and minimum values (step S209: No), the output unit 207 outputs that there is no solution that satisfies the constraint (step S210). Note that the optimization system 20 ends the process after step S210.
[0113] On the other hand, if the range of the upper and lower limits overlaps with the range of the maximum and minimum values (step S209: Yes), the update unit 201 updates at least one of the upper and lower limits based on the maximum and minimum values (step S211).
[0114] Next, the conversion unit 202 introduces auxiliary variables to formulate the inequality constraints (step S212). The solution unit 206 solves the optimization problem including the converted constraints (step S213). The output unit 207 outputs the solution result (step S214). The optimization system 20 then ends the process after step S214.
[0115] As described above, in the second embodiment, when the variables and coefficients in an inequality constraint included in the optimization problem match the variables and coefficients in another constraint included in the optimization problem, the optimization system 20 integrates the inequality constraint with the other constraint, thereby updating at least one of the upper and lower limit values of the inequality constraint. More specifically, when the ranges of the upper and lower limit values of the inequality constraint overlap with the ranges of the upper and lower limit values of the other constraint, the optimization system 20 integrates the inequality constraint with the other constraint. This makes it possible to narrow the ranges of the upper and lower limit values of the inequality constraint.
[0116] On the other hand, the optimization system 20 outputs a message that the optimization problem cannot be solved if the range of upper and lower limits of the inequality constraint does not overlap with the range of upper and lower limits of another constraint. This makes it possible to identify that the optimization problem has no solution without performing a solution search. Furthermore, when outputting a message that the optimization problem cannot be solved, the optimization system 20 may also output the inequality constraint and the other constraints whose conditions are contradictory. This allows the user to confirm which constraints cannot be satisfied.
[0117] The optimization system 20 updates at least one of the upper and lower limit values of the inequality constraint based on at least one of the minimum and maximum values of the range calculated from the domain of the variable in the inequality constraint and the coefficient multiplied by the variable. More specifically, for example, when the range and the range of the upper and lower limit values of the inequality constraint overlap, the optimization system 20 updates at least one of the upper and lower limit values of the inequality constraint based on at least one of the minimum and maximum values of the range. This makes it possible to narrow the range of the upper and lower limit values of the inequality constraint.
[0118] The optimization system 20 outputs a message that the optimization problem cannot be solved if the range of values does not overlap with the range of the upper and lower limits of the inequality constraints. This makes it possible to identify that the optimization problem has no solution without performing a solution search. Furthermore, when outputting that the optimization problem cannot be solved, the optimization system 20 may also output contradictory inequality constraints. This allows the user to confirm which constraints cannot be satisfied.
[0119] This concludes the description of each embodiment. Furthermore, each embodiment may be combined. For example, the formulation system 10 may include an update unit 101, a conversion unit 102, and an output unit 207. Furthermore, in the embodiments, the formulation system 10 and the optimization system 20 may be configured to include some of the functional units and information.
[0120] <Application Examples> Combinatorial optimization problems can be applied to the fields of medicine and healthcare, logistics planning, digital marketing, drug discovery, etc. Here, examples of applying each embodiment to the fields of medicine and healthcare will be given.
[0121] For example, an application example will be described in which an AI (Artificial Intelligence) system that implements the optimization system 20 and terminal device 21 described in embodiment 2 is used to determine work shift schedules for medical staff such as nurses, physical therapists, caregivers, and doctors in a medical facility.
[0122] Nurses and doctors log in to the AI system using the terminal device 21 and input data related to constraints such as desired work days. The terminal device 21 transmits the input data to the formulation system. The reception unit 203 receives the data related to constraints such as desired work days from the terminal device 21.
[0123] The constraints included in the optimization problem are not limited to information input by users such as nurses and doctors via the terminal device 21. For example, the acquisition unit 204 may acquire the constraints using data stored in an external database. The acquisition unit 204 may acquire the number of workers specified for each number of days from the external database as a constraint for the optimization problem. Furthermore, the constraints for the optimization problem are not limited to desired work days, and any information regarding work shifts of medical personnel can be used. For example, the constraints may be the compatibility or personal relationships between nurses and doctors. If the constraint is the compatibility between nurses and doctors, work shifts can be scheduled in the optimization problem so that nurses and doctors who get along well with each other work the same days and times.
[0124] For example, suppose an optimization problem includes inequality constraints regarding the desired schedules entered by each nurse and inequality constraints regarding the working conditions of each nurse. For example, the inequality constraints regarding the desired schedules entered by a nurse and the inequality constraints regarding the desired working conditions of that nurse may narrow the range of schedules available to that nurse. Furthermore, for example, there may be a case where the inequality constraints regarding the desired schedules entered by a nurse contradict the inequality constraints regarding the working conditions of the nurse, resulting in no schedule available to the nurse. In this way, the optimization system 20 can identify that there is no solution at the formulation stage before solving the problem.
[0125] This concludes the description of the application examples. Furthermore, the embodiments are not limited to the above examples and can be modified in various ways. Furthermore, the configurations of the formulation system 10 and the optimization system 20 in the embodiments are not particularly limited. For example, each functional unit of the formulation system 10 may be implemented by a single device, such as a formulation device. Each functional unit of the optimization system 20 may be implemented by a single device, such as an optimization device. Alternatively, for example, each functional unit or DB of the formulation system 10 and the optimization system 20 may be implemented by a different device. For example, each functional unit of the optimization system 20 may be implemented by multiple servers, and the optimization system 20 may be implemented as the optimization system 20. For example, the optimization system 20 may be implemented by a database server including each DB (database) and a server having each functional unit. For example, the optimization system 20 may be implemented by a server including an update unit 201, a conversion unit 202, a reception unit 203, an acquisition unit 204, and an analysis unit 205, and a server including a solution unit 206 and an output unit 207. In the embodiments, each piece of information may include part of the above-mentioned information, or may include information other than the above-mentioned information.
[0126] Furthermore, like the AI system described in the application example, an entire system including either the formulation system 10 or the optimization system 20 and the terminal device 21 may be realized.
[0127] The process of generating information to be displayed on the terminal device 21 may be performed by the output unit 207. This process may also be performed by the terminal device 21. That is, the terminal device 21 generates information for a screen to be displayed on a display device provided in the terminal device 21 based on the data received from the optimization system 20, and displays the screen on the display device.
[0128] (Example of Computer Hardware Configuration) Next, an example of a hardware configuration in which each device, such as the formulation system 10, the optimization system 20, and the terminal device 21, described in the embodiment, is implemented by a computer will be described. Fig. 14 is an explanatory diagram showing an example of a computer hardware configuration. For example, some or all of each device can be implemented using any combination of a computer 80 and a program as shown in Fig. 14.
[0129] The computer 80 includes, for example, a processor 801, a ROM (Read Only Memory) 802, a RAM (Random Access Memory) 803, and a storage device 804. The computer 80 also includes a communication interface 805 and an input / output interface 806. The components are connected to each other, for example, via a bus 807. The number of each component is not particularly limited, and there may be one or more of each component.
[0130] The processor 801 controls the entire computer 80. The processor 801 may be, for example, a central processing unit (CPU), a digital signal processor (DSP), a graphics processing unit (GPU), a physics processing unit (PPU), a tensor processing unit (TPU), a quantum processor, or a combination thereof, and is not particularly limited.
[0131] The computer 80 also includes a ROM 802, a RAM 803, and a storage device 804. Examples of the storage device 804 include a semiconductor memory such as a flash memory, a hard disk drive (HDD), and a solid state drive (SSD). For example, the storage device 804 stores an operating system (OS) program, application programs, and programs related to the embodiments. Alternatively, the ROM 802 stores application programs and programs related to the embodiments. The RAM 803 is used as a work area for the processor 801.
[0132] The processor 801 also loads programs stored in the storage device 804, ROM 802, etc. The processor 801 then executes each process coded in the program. The processor 801 may also download various programs via the communication network NT. The processor 801 also functions as a part or all of the computer 80. The processor 801 may then execute the processes or instructions in the illustrated flowchart based on the program.
[0133] The communication interface 805 is connected to a communication network NT such as a LAN or WAN (Wide Area Network) via a wireless or wired communication line. The communication network NT may be composed of multiple communication networks NT. As a result, the computer 80 is connected to external devices and external computers 80 via the communication networks NT. The communication interface 805 serves as an interface between the communication network NT and the inside of the computer 80. The communication interface 805 also controls the input and output of data from external devices and external computers 80.
[0134] Furthermore, the input / output interface 806 is connected to at least one of an input device, an output device, and an input / output device. The connection method may be wireless or wired. Examples of the input device include a keyboard, a mouse, and a microphone. Examples of the output device include a display device, a lighting device, and an audio output device that outputs audio. Examples of the input / output device include a touch panel display. Note that the input device, output device, and input / output device may be built into the computer 80 or may be external.
[0135] The hardware configuration of the computer 80 is an example. The computer 80 may have some of the components shown in FIG. 14 . The computer 80 may have components other than those shown in FIG. 14 . For example, the computer 80 may have a drive device or the like. The processor 801 may then read programs and data stored on a recording medium attached to the drive device or the like into the RAM 803. Examples of non-transitory tangible recording media include optical disks, flexible disks, magneto-optical disks, and USB (Universal Serial Bus) memories. As described above, the computer 80 may have input devices such as a keyboard and a mouse. The computer 80 may have an output device such as a display. The computer 80 may also have an input device, an output device, and an input / output device.
[0136] The computer 80 may also include various sensors (not shown). The types of sensors are not particularly limited. The computer 80 may also include an imaging device capable of capturing images or videos.
[0137] This concludes the description of the hardware configuration of each device. There are various variations in the method of realizing each device. For example, each device may be realized by any combination of a different computer and program for each component. Furthermore, multiple components of each device may be realized by any combination of a single computer and program.
[0138] Furthermore, some or all of the components of each device may be realized by circuits for specific applications. Furthermore, some or all of the components of each device may be realized by general-purpose circuits such as FPGAs (Field Programmable Gate Arrays). Furthermore, some or all of the components of each device may be realized by a combination of circuits for specific applications and general-purpose circuits. These circuits may be a single integrated circuit. Alternatively, these circuits may be divided into multiple integrated circuits. The multiple integrated circuits may be connected via a bus or the like.
[0139] Furthermore, when some or all of the components of each device are realized by a plurality of computers, circuits, etc., the plurality of computers, circuits, etc. may be centrally located or distributed.
[0140] The formulation method described in the embodiment may be realized by being executed by a computer such as the formulation system 10. The optimization method described in the embodiment may be realized by being executed by a computer such as the optimization system 20.
[0141] Each program, such as the formulation program and optimization program described in the embodiments, is recorded on a computer-readable recording medium such as an HDD, SSD, flexible disk, optical disk, magneto-optical disk, or USB memory. Each program is executed by being read from the recording medium by a computer. Each program may also be distributed via a communication network NT.
[0142] The functions of each component of the formulation system 10 and each component of the optimization system 20 described above may be realized by dedicated hardware, such as a computer. Alternatively, each component may be realized by software. Alternatively, each component may be realized by a combination of hardware and software.
[0143] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above embodiments. The configuration and details of each of the present disclosures may include embodiments to which various modifications that would be apparent to those skilled in the art are applied within the scope of the present disclosure. The present disclosure may include embodiments in which the details described herein are appropriately combined or substituted as necessary. For example, details described using a particular embodiment may also be applied to other embodiments to the extent that no contradiction occurs. For example, although multiple operations are described in sequence in the form of a flowchart, the order of description does not limit the order in which the multiple operations are performed. Therefore, when implementing the embodiments, the order of the multiple operations may be changed as long as it does not interfere with the content.
[0144] Some or all of the above-described embodiments can be described as follows: However, some or all of the above-described embodiments are not limited to the following.
[0145] (Supplementary Note 1) A formulation system comprising: an updating unit that updates at least one of an upper limit and a lower limit of an inequality constraint included in an optimization problem so as to narrow the range of the upper limit and the lower limit of the inequality constraint; and a conversion unit that converts the updated inequality constraint into an equality constraint by using an auxiliary variable having a domain determined by the upper limit and the lower limit of the updated inequality constraint. (Supplementary Note 2) The formulation system according to Supplementary Note 1, wherein, when variables and coefficients in the inequality constraint match variables and coefficients in another constraint included in the optimization problem, the updating unit updates at least one of the upper limit and the lower limit of the inequality constraint by merging the inequality constraint with the other constraint. (Supplementary Note 3) The formulation system according to Supplementary Note 2, wherein, when the range of the upper limit and the lower limit of the inequality constraint overlaps with the range of the upper limit and the lower limit of the other constraint, the updating unit merges the inequality constraint with the other constraint. (Supplementary Note 4) The formulation system according to Supplementary Note 3, comprising an output unit that outputs a signal indicating that the optimization problem cannot be solved when the ranges of upper and lower limits of the inequality constraint do not overlap with the ranges of upper and lower limits of the other constraints. (Supplementary Note 5) The formulation system according to Supplementary Note 4, in which the output unit outputs a signal indicating that the inequality constraint and the other constraint are inconsistent. (Supplementary Note 6) The formulation system according to any of Supplements 1 to 5, in which the update unit updates at least one of the upper and lower limits of the inequality constraint based on at least one of the minimum and maximum values of a range calculated from a domain of a variable in the inequality constraint and a coefficient multiplied by the variable. (Supplementary Note 7) The formulation system according to Supplementary Note 6, in which the update unit updates at least one of the upper and lower limits of the inequality constraint based on at least one of the maximum and minimum values when the ranges of the maximum and minimum values and the ranges of the upper and lower limits of the inequality constraint overlap. (Supplementary Note 8) The formulation system according to Supplementary Note 7, further comprising: an output unit configured to output a message indicating that a solution to the optimization problem cannot be obtained when the range of the maximum value and the minimum value does not overlap with the range of the upper limit value and the lower limit value of the inequality constraint.(Supplementary Note 9) The formulation system according to any one of Supplementary Notes 1 to 8, wherein the conversion unit encodes the auxiliary variables using a plurality of new variables, the number of which varies depending on the domain of the auxiliary variables. (Supplementary Note 10) An optimization system comprising: one or more memories; and a processor, wherein the processor: accepts input of data related to user constraints on an optimization problem, acquires information related to the optimization problem including an inequality constraint representing the input data, updates at least one of an upper limit and a lower limit of the inequality constraint so that the range of the upper limit and lower limit of the inequality constraint becomes smaller, converts the updated inequality constraint into an equality constraint using an auxiliary variable having a domain determined by the updated upper limit and lower limit of the inequality constraint, solves the optimization problem including the converted equality constraint, and outputs the solution result. (Supplementary Note 11) A formulation method in which a computer executes the following process: updating at least one of upper and lower bounds of inequality constraints included in an optimization problem so as to reduce the range of the upper and lower bounds of the inequality constraints, and converting the updated inequality constraints into equality constraints by using auxiliary variables having domains determined by the updated upper and lower bounds of the inequality constraints. (Supplementary Note 12) A non-transitory computer-readable recording medium having recorded thereon a program that causes a computer to execute the following process: updating at least one of upper and lower bounds of inequality constraints included in an optimization problem so as to reduce the range of the upper and lower bounds of the inequality constraints, and converting the updated inequality constraints into equality constraints by using auxiliary variables having domains determined by the updated upper and lower bounds of the inequality constraints. (Supplementary Note 13) A program that causes a computer to execute the following process: updating at least one of the upper and lower bounds of an inequality constraint included in an optimization problem so that the range of the upper and lower bounds of the inequality constraint becomes smaller; and converting the updated inequality constraint into an equality constraint using an auxiliary variable having a domain determined by the upper and lower bounds of the updated inequality constraint.
[0146] 10 Formulation system 20 Optimization system 21 Terminal device 80 Computer 101, 201 Update unit 102, 202 Conversion unit 203 Reception unit 204 Acquisition unit 205 Analysis unit 206 Solution unit 207 Output unit 801 Processor 802 ROM 803 RAM 804 Storage device 805 Communication interface 806 Input / output interface 807 Bus NT Communication network
Claims
1. an updating means for updating at least one of an upper limit value and a lower limit value of an inequality constraint included in the optimization problem so that the range of the upper limit value and the lower limit value of the inequality constraint becomes smaller; a conversion means for converting the updated inequality constraints into equality constraints using auxiliary variables having domains determined by upper and lower bounds of the updated inequality constraints; A formulation system comprising:
2. the updating means, when variables and coefficients in the inequality constraint match variables and coefficients in other constraints included in the optimization problem, integrates the inequality constraint with the other constraints to update at least one of the upper limit value and the lower limit value of the inequality constraint; The formulation system of claim 1 .
3. the updating means, when the range of upper and lower limits of the inequality constraint overlaps with the range of upper and lower limits of the other constraint, integrates the inequality constraint and the other constraint; The formulation system of claim 2 .
4. an output means for outputting a message indicating that a solution to the optimization problem cannot be obtained when the range of upper and lower limits of the inequality constraint does not overlap with the range of upper and lower limits of the other constraint; The formulation system of claim 3 comprising:
5. The output means outputs a contradiction between the inequality constraint and the other constraint. The formulation system of claim 4.
6. The updating means updates at least one of the upper limit and the lower limit of the inequality constraint based on at least one of the minimum and maximum values of a range calculated from the domain of the variable in the inequality constraint and a coefficient multiplied by the variable. A formulation system according to any one of claims 1 to 5.
7. when the range of the maximum value and the minimum value overlaps with the range of the upper limit value and the lower limit value of the inequality constraint, the updating means updates at least one of the upper limit value and the lower limit value of the inequality constraint based on at least one of the maximum value and the minimum value; The formulation system of claim 6.
8. an output means for outputting a message indicating that a solution to the optimization problem cannot be obtained when the range of the maximum and minimum values does not overlap with the range of the upper and lower limits of the inequality constraints; The formulation system of claim 7 comprising:
9. The computer updating at least one of an upper limit value and a lower limit value of an inequality constraint included in the optimization problem so that the range of the upper limit value and the lower limit value of the inequality constraint becomes smaller; converting the updated inequality constraints into equality constraints using auxiliary variables whose domains are determined by the upper and lower bounds of the updated inequality constraints; The formulation method for performing the process.
10. On the computer, updating at least one of an upper limit value and a lower limit value of an inequality constraint included in the optimization problem so that the range of the upper limit value and the lower limit value of the inequality constraint becomes smaller; converting the updated inequality constraints into equality constraints using auxiliary variables whose domains are determined by the upper and lower bounds of the updated inequality constraints; A program that executes a process.