Optimal solution calculation device for optimization problem and optimal solution calculation method for optimization problem
By generating initial solutions that satisfy the inequality constraints and solving the first-order equations, and combining the relief parameters and the threshold set by the initial residual norm for convergence judgment, the problem of iterative solutions that cannot converge due to operation errors in the prior art is solved, and the optimal solution output when the operation error is included in the residual vector is realized.
Patent Information
- Application Number
- CN202080101526.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-04
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2040-06-04
AI Technical Summary
In the prior art, due to the influence of operation errors in the residual vector, convergent solutions cannot be obtained in iterative operations, and the optimization problem cannot be effectively solved.
The initial condition generation unit generates an initial solution that satisfies the inequality constraints, and uses the optimization calculation unit to solve the joint first-order equations, and combines the convergence judgment unit to perform convergence judgment with the threshold set by the relaxation parameters and the initial residual norm, and updates the set of equation constraints to output the optimal solution.
When the residual vector contains operation errors, the convergence of the iterative solution can be effectively judged, and the output satisfies the optimal solution within the allowable error, solving the convergence problem caused by operation errors.
Smart Images

Figure CN115701294B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to an optimal solution calculation device for an optimization problem and an optimal solution calculation method for an optimization problem. Background Art
[0002] The design of the product is performed so that the optimal shape, configuration, etc. are optimized. The design of the control method constructs the optimal process so that the control object can be controlled with a predetermined accuracy. Therefore, the design of the product and the design of the control method can be said to be the work of solving the optimization problem. Patent document 1 discloses a device and a method for solving the optimization problem, namely, a structural optimal design method and a structural optimal design device for a structure as an example of an optimal solution calculation device for an optimization problem and an optimal solution calculation method for an optimization problem. The structural optimal design method of patent document 1 is a method for solving the problem of dual structural optimization, and is a method for solving the optimization problem of the state variable vector in each iterative step of the optimization problem of the design variable vector. The structural optimal design device of patent document 1 has a first solving unit that solves the optimization problem of the first evaluation function for the state variable vector and the design variable vector, and a second solving unit that solves the optimization problem of the second evaluation function for the state variable vector and the design variable vector. It is a device for solving the structural optimal design problem formulated as a dual problem.
[0003] In the structural optimal design device of patent document 1, the second evaluation functional of the second solving unit is composed of the norm of the residual vector, and it is confirmed that the square of the norm of the residual vector is less than a preset convergence judgment threshold to determine the convergence judgment of the optimization problem operation of the second evaluation functional.
[0004] Prior art literature
[0005] Patent Literature
[0006] Patent Document 1: Japanese Patent Application Laid-Open No. 2004-310375 Summary of the Invention
[0007] Technical problem to be solved by the invention
[0008] In an optimal solution calculation device for an optimization problem, such as that described in Patent Document 1, convergence is determined by comparing the residual norm with a preset convergence threshold. However, due to the influence of computational errors contained in the residual vector caused by rounding errors during computation, there is a problem: if the convergence threshold is not met, a converged solution may not be obtained even after repeated iterative computations.
[0009] The purpose of the technology disclosed in this specification is to obtain a convergent solution in a state where a calculation error included in a residual vector affects the calculation of the solution.
[0010] Technical means for solving technical problems
[0011] An optimal solution calculation device for an optimization problem according to an example disclosed in the present specification is an optimal solution calculation device for an optimization problem that calculates a solution to an input optimization problem through processing performed by an updating unit. An optimal solution calculation device for an optimization problem includes: an initial condition generation unit, which obtains a set of inequality constraints related to the optimization problem, namely, an inequality constraint set, an evaluation function, and an initial solution as input, and generates an executable initial solution that satisfies the inequality constraints of all inequality constraint sets based on the initial solution. For the executable initial solution, a set of equality constraints in which equality signs hold, namely, an equality constraint set, is generated from the inequality constraint set; an optimization calculation unit, which solves the simultaneous first-order equations generated by the equality constraint set and the evaluation function for the executable initial solution in the first case and the solution updated by the update unit in the next case and thereafter, namely, an input solution, and calculates the solution that minimizes or maximizes the evaluation function, namely, the evaluation solution; and an update unit, which determines the evaluation solution output by the optimization calculation unit, and generates an updated equality constraint set by updating the constraints that the evaluation solution should satisfy from the equality constraint set, and an updated input solution based on the previous input solution and the evaluation solution. The optimization operation unit includes: an initial norm calculation unit, which calculates an initial residual norm based on an initial residual vector, which is a difference between a vector on the left side of the simultaneous first-order equations for an input solution and a vector on the right side of the simultaneous first-order equations; an iterative solution operation unit, which performs an iterative method to calculate a solution for each iteration of the simultaneous first-order equations, that is, an iterative solution; a norm calculation unit, which calculates a residual norm based on a residual vector, which is a difference between a vector on the left side of the simultaneous first-order equations for the iterative solution calculated by the iterative solution operation unit and a vector on the right side of the simultaneous first-order equations; and a convergence judgment unit, which judges that the iterative solution has converged when the residual norm becomes below a convergence judgment threshold, and outputs the iterative solution judged to have converged as an evaluation solution, wherein the above-mentioned convergence judgment threshold is either a pre-set first threshold or a second threshold set based on a relaxation parameter and an initial residual norm, and the larger one. The updating unit determines that updating of the equality constraint set is not necessary, determines the evaluation solution as an optimal solution when the convergence determination threshold is a first threshold, and outputs the optimal solution as an output solution that is a solution to the optimization problem.
[0012] Effects of the Invention
[0013] An optimal solution operation device for an optimization problem of an example disclosed in the specification of the present application determines that the iterative solution has converged when the residual norm becomes below the convergence judgment threshold, and outputs the iterative solution determined to have converged as an evaluation solution, wherein the above-mentioned convergence judgment threshold is either a first threshold pre-set by the convergence judgment unit or a second threshold set based on the relaxation parameter and the initial residual norm, and the larger one, and the update unit determines that the update of the equality constraint set is not required, and determines the evaluation solution as the optimal solution when the convergence judgment threshold is the first threshold. Therefore, a converged solution can be obtained under the condition that the operation error contained in the residual vector affects the operation of the solution. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 This is a diagram showing functional blocks in the optimal solution calculation device for the optimization problem according to the first embodiment.
[0015] Figure 2 This is a diagram showing a hardware configuration example of an optimal solution calculation device for an optimization problem according to the first embodiment.
[0016] Figure 3 It shows Figure 1 Diagram of the functional blocks of the evaluation solution calculation unit.
[0017] Figure 4 It shows Figure 1 A diagram showing the operation flow of a device for calculating an optimal solution to an optimization problem.
[0018] Figure 5 It shows Figure 1 A diagram showing the operation flow of the initial condition generation unit.
[0019] Figure 6 It shows Figure 1 A diagram showing the operation flow of the optimization calculation unit.
[0020] Figure 7 It shows Figure 3 Diagram showing the operation flow of the evaluation solution calculation unit.
[0021] Figure 8 It shows Figure 1 A diagram showing a first example of the flow of operations in the update unit.
[0022] Figure 9 It shows Figure 1 A diagram showing a second example of the flow of operations in the update unit.
[0023] Figure 10 It shows Figure 1 FIG. 3 is a diagram showing a third example of the flow of operations in the update unit.
[0024] Figure 11This is a diagram showing a first example of functional blocks in the optimal solution calculation device for the optimization problem according to the second embodiment.
[0025] Figure 12 This is a diagram showing a second example of functional blocks in the optimal solution calculation device for the optimization problem according to the second embodiment. DETAILED DESCRIPTION
[0026] Implementation method 1.
[0027] Figure 1 1 is a diagram showing functional blocks in the optimal solution calculation device for the optimization problem according to the first embodiment. Figure 2 This is a diagram showing a hardware configuration example of an optimal solution calculation device for an optimization problem according to the first embodiment. Figure 3 It shows Figure 1 Diagram of the functional blocks of the evaluation solution calculation unit. Figure 4 It shows Figure 1 The diagram shows the operation flow of the optimal solution calculation device for the optimization problem. Figure 5 It shows Figure 1 The diagram shows the action flow of the initial condition generation unit. Figure 6 It shows Figure 1 A diagram showing the operation flow of the optimization calculation unit. Figure 7 It shows Figure 3 The diagram shows the operation flow of the evaluation solution calculation unit. Figure 8 It shows Figure 1 A diagram showing a first example of the flow of operations in the update unit. Figure 9 It shows Figure 1 FIG2 is a diagram showing a second example of the operation flow in the update section, Figure 10 It shows Figure 1 FIG3 is a diagram of a third example of the flow of actions in the updating unit. The optimal solution calculation device 81 for the optimization problem involved in the first embodiment is implemented by a control unit built into the device that needs to solve the optimization problem. For example, when solving an optimization problem related to a vehicle, such as solving an optimization problem of making a vehicle follow a target path, solving a problem of optimizing fuel costs, etc., it is installed in a control unit mounted on the vehicle. When solving an optimization problem of optimizing the operation of a factory, it is installed in a control unit mounted on the control device of the factory. Thus, the optimal solution calculation device 81 for an optimization problem of an example disclosed in the specification of this application is a device that calculates the solution of the optimization problem when the object of the optimization problem is not restricted and various optimization problems are given.
[0028] Figure 2Figure 2 shows an example of the hardware structure of an optimal solution calculation device 81 for optimization problems. This device 81 includes an interface 82 for acquiring various optimization problems and outputting the calculation results of the acquired optimization problems; a processor 83 for calculating the optimal solution to the optimization problem; and a memory 84 for storing programs for solving the optimization problem, calculation data, and the like. The functional blocks of the optimal solution calculation device 81 are implemented by the processor 83 executing programs stored in the memory 84. Alternatively, multiple processors 83 and multiple memories 84 may collaboratively perform various functions.
[0029] use Figure 1 、 Figure 4 The functional blocks and operational flow of the optimal solution calculation device 81 for the optimization problem according to Embodiment 1 will be described. The calculation of the optimal solution for the optimization problem that minimizes the evaluation function J will be described below. The optimal solution calculation device for the optimization problem will be referred to as the optimal solution calculation device, as appropriate. Furthermore, when calculating the optimal solution for the optimization problem that maximizes the evaluation function J, the sign of the evaluation function J can be inverted by multiplying it by -1, allowing the problem to be treated as one that minimizes the evaluation function J. The optimal solution calculation device 81 includes an initial condition generation unit 100, an optimization calculation unit 200, and an update unit 300. The initial condition generation unit 100 generates input data containing initial conditions for calculating the solution to the given optimization problem, i.e., the input optimization problem, through iterative calculations by the optimization calculation unit 200. The optimization calculation unit 200 calculates a converged solution or a non-divergent solution, i.e., the evaluation solution y, based on the input data containing the initial conditions generated by the initial condition generation unit 100 or the input data containing the update conditions updated by the update unit 300. The evaluation solution y is a solution that at least does not diverge, and also includes a value that tends to converge but the number of iterative solution calculations reaches the upper limit value.
[0030] If there are conditions that the evaluation solution y calculated by the optimization operation unit 200 should meet, the update unit 300 updates the input data used for the optimization operation unit 200 to calculate, and outputs an output solution wa including the optimal solution wg1 or the quasi-optimal solution wg2 when the evaluation solution y meets the judgment conditions. The optimal solution wg1 is a solution that meets the first tolerance of the solution set in advance, and the quasi-optimal solution wg2 is a solution that meets the second tolerance of the solution set in advance that is looser than the first tolerance. The input data input to the optimization operation unit 200 is the solution wg1. k , equality constraint set S2 kThe input data generated by the initial condition generation unit 100 is the executable initial solution w0 and the initial set of equality constraints S2. The input data including the initial conditions generated by the initial condition generation unit 100 is appropriately referred to as updated input data. The executable initial solution w0 and the initial set of equality constraints S2 are input to the optimization operation unit 200 as initial input data. In the second and subsequent operations, the solution w0 is k , equality constraint set S2 k The updated input data is input to the optimization calculation unit 200 .
[0031] The optimal solution operation device 81 performs the initial condition generation of the Pythagorean triangle in step ST1, the optimization operation process in step ST2, and the update process in step ST3. In step ST1, the optimal solution operation device 81 generates initial input data, i.e., the executable initial solution w0, and the initial set of equality constraints S2 for the given optimization problem using the initial condition generation unit 100 (initial condition generation process). In step ST2, the optimal solution operation device 81 generates the optimal solution w0 based on the initial input data generated by the initial condition generation process or the updated input data updated by the update process in step ST3, i.e., the solution w0. k , equality constraint set S2 k , to calculate an evaluation solution y that is at least not divergent (optimization calculation step). In step ST3, if there are conditions that the evaluation solution y calculated in the optimization calculation step should meet, the optimal solution calculation device 81 again updates the input data used in the calculation of the optimization step, and outputs an output solution wa including the optimal solution wg1 or the semi-optimal solution wg2 if the evaluation solution y meets the judgment condition (update step).
[0032] The initial condition generation unit 100 obtains the evaluation function j of the optimization problem represented by equation (1), the set of inequality constraints represented by equation (2), namely, the inequality constraint set S1, and the initial solution w 0in , as the input of the optimization problem. Inequality constraint set S1, evaluation function J, initial solution w 0in is the input condition related to the optimization problem. In formula (1), w is the solution vector, w T is the transposed solution vector. H is the first condition matrix, h T is the adjusted row matrix. C T is the constraint matrix, and b is the constraint vector. Equation (2) is shown as an upper bound constraint, but it can also include a lower bound constraint. In the case of a lower bound constraint, multiplying both sides of the constraint by -1 to invert the sign allows it to be treated as an upper bound constraint as in Equation (2).
[0033] [Mathematical formula 1]
[0034]
[0035] [Mathematical formula 2]
[0036] C T w≤b…(2)
[0037] use Figure 1 、 Figure 5 , the functional blocks and action flow of the initial condition generation unit 100 are explained. The initial condition generation unit 100 includes an initial solution generation unit 11 that generates an executable initial solution w0, and an equality constraint set generation unit 12 that generates an equality constraint set S2 from an inequality constraint set S1. The initial condition generation unit 100 performs the initial solution generation process of step ST11 and the equality constraint set generation process of step ST12. The initial solution generation process of step ST11 is performed by the initial solution generation unit 11, and the equality constraint set generation process of step ST12 is performed by the equality constraint set generation unit 12. In step ST11, the initial solution generation unit 11 generates an executable initial solution w0 (initial solution generation process). After the initial solution w0 is input to the initial condition generation unit 100, 0in When the inequality constraint set S1 is satisfied, the initial solution generating unit 11 converts the input initial solution w 0in Let the executable initial solution w0 be: If the solution does not satisfy the inequality constraint set S1 and is not executable, the initial solution generation unit 11 generates an executable initial solution w0 that satisfies the inequality constraint set S1.
[0038] In step ST12, the equality constraint set generation unit 12 extracts only the constraints with equal signs in the inequality constraint set S1 for the executable initial solution w0, and generates a set of equality constraints, namely, the equality constraint set S2, as shown in formula (3) (equality constraint set generation step).
[0039] [Mathematical formula 3]
[0040]
[0041] The right side b of formula (3) is the constraint vector whose equal sign holds in the executable initial solution w0. T 0 is the constraint matrix if the executable initial solution w0 satisfies the constraint vector b.
[0042] use Figure 1 、 Figure 3 、 Figure 6 、 Figure 7 , the function blocks and operation flow of the optimization operation unit 200 are explained. The optimization operation unit 200 obtains the evaluation function J of the optimization problem, the equality constraint set S2 k With solution w k , as input. In addition, solve wk , equality constraint set S2 k The subscript k of corresponds to the number of iterations of the optimization operation unit 200, that is, the number of operation iterations. In the initial operation, k is 0. In the initial operation, the solution w k and the set of equality constraints S2 k are the executable initial solution w0 and the equality constraint set S2 respectively. The optimization operation unit 200 includes: an equation generation unit 21, which generates a set of simultaneous first-order equations SLE including Karush-Kuhn-Tucker conditions (KKT conditions); an initial norm calculation unit 22, which calculates the initial residual vector r in The optimization operation unit 200 comprises an initial residual norm, NR0, and an evaluation solution operation unit 23, which calculates an evaluation solution y that at least does not diverge and generates an intermediate determination flag fg1. The intermediate determination flag fg1 indicates whether the solution is a first converged solution that satisfies a predetermined first tolerance for the solution, or a second converged solution that does not satisfy the predetermined first tolerance for the solution but satisfies a predetermined second tolerance for the solution. The optimization operation unit 200 performs the equation generation step of step ST21, the initial norm calculation step of step ST22, and the evaluation solution calculation step of step ST23. The equation generation step of step ST21 is performed by the equation generation unit 21, the initial norm calculation step of step ST22 is performed by the initial norm calculation unit 22, and the evaluation solution calculation step of step ST23 is performed by the evaluation solution operation unit 23.
[0043] The evaluation solution calculation unit 23 includes: an operation number determination unit 24, which determines whether the number of iterative solution operations j has reached the upper limit value jm of the iterative solution operation number; an iterative solution calculation unit 25, which calculates the iterative solution y j ; norm calculation unit 26, the norm calculation unit 26 calculates the residual vector r j The norm of is the residual norm NR j And a convergence determination unit 27, the convergence determination unit 27 iterative solution y j The convergence determination is performed and an evaluation solution y and an intermediate determination flag fg1 are generated. The evaluation solution calculation unit 23 executes steps ST41 to ST45 as the evaluation solution calculation step of step ST23. The iterative solution calculation count determination step of step ST41 and the iterative solution calculation count update step of step ST45 are performed by the calculation count determination unit 24. The iterative solution calculation step of step ST42 is performed by the iterative solution calculation unit 25, the norm calculation step of step ST43 is performed by the norm calculation unit 26, and the convergence determination step of step ST44 is performed by the convergence determination unit 27.
[0044] Here, the optimal solution operation device 81 solves the minimization problem of the evaluation function J constrained only by the equality constraint, and therefore, in step ST21, a simultaneous first-order equation SLE (equation generation process) is generated for solving the minimization problem of the evaluation function J constrained only by the equality constraint. The minimization problem of the evaluation function J constrained only by the equality constraint is represented by equation (4). In the equation generation process of step ST21, a simultaneous first-order equation SLE containing the Karush-Kuhn-Tucker condition (KKT condition) is generated as in equation (5). y in equation (5) is the evaluation solution of the minimization problem when the number of operation iterations shown in equation (4) is k, and λ is the Lagrange multiplier corresponding to each constraint. h is the adjustment column vector, and is related to the adjustment row vector h T Has a transposed relationship. k is the constraint matrix when the number of operation iterations is k, A T k is the constraint matrix A k The transposed matrix of b. k is the constraint vector when the number of computation iterations is k. Furthermore, the converged evaluation solution y generated by the evaluation solution computation unit 23 can also be referred to as a converged solution that includes the optimal solution to the minimization problem when the number of computation iterations is k. When the converged evaluation solution y is determined to be an optimal solution by the computation determination unit 37 of the update unit 300, it becomes the optimal solution to the minimization problem represented by equation (4).
[0045] [Formula 4]
[0046]
[0047] [Formula 5]
[0048]
[0049] Here, as described above, the subscript k corresponds to the number of computation iterations of the optimization computation unit 200. The evaluation solution y generated by the evaluation solution computation unit 23 becomes the solution w updated by the updating unit 300. k+1 The solution is k+1 The solution w is input to the optimization operation unit 200 at the updated calculation iteration number k. k .
[0050] In the following explanation, the simplified expression of the simultaneous first-order equations SLE shown in equation (5) is used in equation (6). The left-hand matrix in equation (5), i.e., the constraint matrix, is denoted as A~, the column vector containing y on the left is denoted as x, and the column vector containing b on the right is denoted as k The column vector, i.e. the constraint vector, is denoted as b~.
[0051] [Formula 6]
[0052]
[0053] In step ST22, the initial norm calculation unit 22 calculates the solution w obtained as input to the optimization operation unit 200 as shown in equation (7). k , that is, the initial residual vector r in the simultaneous first-order equations SLE of the input solution in The norm of is the initial residual norm NR0. The initial residual vector r in It is represented by the equation enclosed by the symbol “||” on the rightmost side of equation (7). The initial residual vector r in It is aimed at solving k The difference between the vector on the left side of the simultaneous first-order equations SLE and the vector on the right side of the simultaneous first-order equations SLE. k ~ is the constraint matrix A~ under the operation iteration number k, b k ~ is the constraint vector b~ under the operation iteration number k.
[0054] [Formula 7]
[0055]
[0056] In step ST23, the evaluation solution operation unit 23 performs iterative solution operation processing multiple times, and uses the iterative method to perform the solution operation of the simultaneous first-order equations SLE, thereby calculating the solution that minimizes the evaluation function J, that is, the evaluation solution y that is a converged solution or a non-divergent solution (evaluation solution operation process). The evaluation solution operation process of step ST23 is described in detail. In step ST41, the operation count determination unit 24 determines whether the iterative solution operation count j of the optimization operation unit 200 has reached the pre-set iterative solution operation count upper limit jm (iterative solution operation count determination process). In step ST41, the process ends when the iterative solution operation count j reaches the iterative solution operation count upper limit jm, and proceeds to step ST42 when the iterative solution operation count j does not reach the iterative solution operation count upper limit jm. In step ST42, the iterative solution operation unit 25 performs iterative solution operation processing, and uses the iterative method to perform the solution operation of the simultaneous first-order equations SLE, thereby calculating the solution that minimizes the evaluation function J, that is, the iterative solution y. j (Iterative solution calculation step) The number of iterative solution calculations j will be described later.
[0057] Known iterative methods for solving simultaneous first-order equations (SLEs) include methods using Krylov subspace methods, such as the conjugate gradient method (CG) and the generalized minimal residual method (GMRES). Furthermore, to improve numerical convergence and stability, the simultaneous first-order equations (SLEs) can be preprocessed before the iterative method is performed. Iterative methods using Krylov subspace methods and preprocessing for simultaneous first-order equations (SLEs) are described in detail in "The Mathematics of Iterative Methods," by Fujino Seiji and Chang Shaoliang, published in Asakura Shoten in 1996, and "Numerical Analysis, 2nd Edition," by Mori Masatake, published in Kyoritsu Mathematics Lecture 12 in 2002.
[0058] In step ST43, the norm calculation unit 26 calculates the iterative solution y calculated in the iterative solution calculation step of step ST42. j , as in formula (8), the residual vector r in the simultaneous first-order equations SLE is calculated j The norm of the residual norm NR j (Norm calculation process). Residual vector r j It is represented by the equation enclosed by the symbol “||” on the rightmost side of equation (8). j is the iterative solution y j The difference between the vector on the left side of the simultaneous first-order equations SLE and the vector on the right side of the simultaneous first-order equations SLE.
[0059] Here, the subscript j represents the number of iterations of the calculation for solving the simultaneous first-order equations SLE performed in the iterative solution calculation step of step ST42, that is, the number of iterative solution calculations. This is different from the calculation iteration number k, which represents the number of iterations of the optimization calculation unit 200. This means that during the kth iteration of the optimization calculation unit 200, the iterative solution calculation of the iterative solution calculation step of step ST42 is performed j times.
[0060] [Formula 8]
[0061]
[0062] In step ST44, the convergence determination unit 27 determines whether the iterative solution y j Convergence (convergence determination step). Specifically, the convergence determination unit 27 determines whether the iterative solution y is the solution obtained by the j-th iterative solution calculation in step ST42. j , determine the iterative solution y obtained by the norm calculation unit 26 j The residual vector r in the simultaneous first-order equations SLE j The norm of is the residual norm NR jIs it below the convergence judgment threshold Nth? In step ST44, the residual norm NR j When the convergence determination threshold value Nth is equal to or less than the convergence determination threshold value, the convergence determination unit 27 determines that the solution of the simultaneous first-order equations SLE has been obtained, and converts the converged iterative solution y j The converged evaluation solution y is output and the process ends. In step ST44, the residual norm NR j If the value is not less than the convergence determination threshold Nth, that is, if it is greater than the convergence determination threshold Nth, the process returns to step ST41 via step ST45. The calculation count determination unit 24 performs an update in step ST45 by increasing the iterative solution calculation count j by one (iterative solution calculation count update step), and then executes the iterative solution calculation count determination step of step ST41.
[0063] In the iterative solution y j When convergence occurs, the optimization operation unit 200 converts the converged iterative solution y j Output as converged evaluation solution y. Before the number of iterative solution calculations j reaches the upper limit value jm of the number of iterative solution calculations, the iterative solution y j If the solution does not converge, the optimization operation unit 200 converts the unconverged iterative solution y j Output as the non-divergent evaluation solution y. In addition, the relaxation parameter m described later is appropriately set, and the upper limit value jm of the number of iterative solution calculations is set to be large enough, thereby obtaining a converged iterative solution y j By properly setting the relaxation parameter m, the iterative solution y can be solved even before the number of iterative solution operations j reaches the upper limit value jm. j Even if convergence is not achieved, the optimization operation process of step ST2 can be repeated by updating the data of the updating unit 300, thereby the residual norm NR j becomes smaller, and a convergent iterative solution y can be obtained j Furthermore, if the upper limits of the number of computation iterations k and the number of iterative solution computations j (i.e., the upper limit of the number of computation iterations km and the upper limit of the number of iterative solution computations jm) cannot be set to sufficiently large values, a convergent solution may not be obtained. In such cases, the result output process in step ST36, described later, will result in a determination that no solution is found.
[0064] A first threshold Nt1, which is pre-set based on the allowable error of the solution, is compared with a second threshold Nt2, which is set based on the relaxation parameter m and the initial residual norm NR0 calculated in the initial norm calculation step of step ST22. The larger of these two thresholds is set as the convergence determination threshold Nth used in the convergence determination step of step ST44. Specifically, the convergence determination threshold Nth is the larger of the first threshold Nt1, which is pre-set, and the second threshold Nt2, which is set based on the relaxation parameter m and the initial residual norm NR0. The second threshold Nt2 is set as shown in the following equation (9).
[0065] [Formula 9]
[0066] ||r in || / m…(9)
[0067] By setting the convergence determination threshold Nth to the larger of the first threshold Nt1 and the second threshold Nt2, when the initial residual norm NR0 is small, a solution obtained by using the first threshold Nt1 for convergence determination in the convergence determination step of step ST44 can be obtained. Consequently, a solution with an accuracy within the predetermined first tolerance can be obtained in the estimated solution calculation step of step ST23. The solution obtained by using the first threshold Nt1 for convergence determination is a fully optimized solution and, after processing by the update unit 300, becomes the output solution wa representing the optimal solution. On the other hand, when the initial residual norm NR0 is large, a solution obtained by using the second threshold Nt2 for convergence determination in the convergence determination step of step ST44 can be obtained. The solution obtained by using the second threshold Nt2 for convergence determination, while exceeding the predetermined first tolerance, satisfies the predetermined second tolerance, is a near-optimized solution and, after processing by the update unit 300, has the potential to become the output solution wa representing a near-optimal solution. This can prevent the following problem: the residual vector r is incorrectly calculated in the iterative solution calculation process of step ST42 due to the influence of numerical errors such as insufficient effective digits and digit drop. j Or iterative solution y j Divergence occurs, and a non-divergent evaluation solution y cannot be obtained in the evaluation solution calculation step of step ST23.
[0068] In solving the simultaneous first-order equations SLE using the iterative method, the iterative solution y is calculated. j The residual vector r j , to calculate the solution for the next iteration. First, calculate the initial residual vector r in The norm of the initial residual norm NR0 is larger, and the residual vector r calculated next j The norm of is the residual norm NR j becomes smaller rapidly. In this case, the residual vector r jThe number of significant digits of the variables is insufficient, and sometimes the next solution cannot be properly calculated. The second threshold Nt2 is set using the initial residual norm NR0 and the mitigation parameter m that takes into account the number of significant digits of the variables used in the calculation. j Convergence can be determined before the influence of numerical errors becomes large.
[0069] When single-precision variables are used for the variables of the optimization calculation unit 200, the relaxation parameter m is set to 10. 2 ~10 4 , as the first range E1. In addition, when using double precision variables for calculation, the relaxation parameter m is set to 10 8 ~10 12 By setting an appropriate value as the value of the relaxation parameter m, the iterative solution y calculated in the iterative solution calculation step of step ST42 is j , the residual vector r calculated in the norm calculation process of step ST43 j , etc., can ensure sufficient effective digits. When the effective digits are sufficient, the optimal solution calculation device 81 performs the iteration of the evaluation solution calculation process of step ST23 as usual, and uses the first threshold value Nt1 to perform convergence judgment in the convergence judgment process of step ST44, thereby obtaining a solution with an accuracy within the allowable error preset by the optimization calculation unit 200. In addition, when the effective digits are insufficient, the numerical error caused by the digit drop is large, and the iterative solution y calculated in the iterative solution calculation process of step ST42 is not sufficient, the optimal solution calculation device 81 performs the iteration of the evaluation solution calculation process of step ST23 as usual, and uses the first threshold value Nt1 to perform convergence judgment in the convergence judgment process of step ST44, thereby obtaining a solution with an accuracy within the allowable error preset by the optimization calculation unit 200. j and the residual vector r calculated in the norm calculation process of step ST43 j If the optimal solution calculation device 81 may become inappropriate, it can prevent the iterative solution y from being inappropriate by using the second threshold value Nt2 to perform convergence judgment in the convergence judgment process of step ST44. j and the residual vector r j The possibility of becoming inappropriate.
[0070] When the value of the mitigation parameter m is smaller than the first range E1 or the second range E2, although the number of significant digits of the variable is sufficient in the iterative solution calculation process of step ST42, the influence of the numerical error is small, and the calculation can be performed with high precision, in the convergence judgment process of step ST44, a situation occurs in which the convergence judgment is performed by the second threshold value Nt2 rather than the first threshold value Nt1 pre-set according to the allowable error of the solution. In this case, the accuracy of the evaluation solution y output from the optimization calculation unit 200 is reduced. In addition, when the value of the mitigation parameter m is larger than the first range E1 or the second range E2, the number of significant digits is insufficient, the numerical error caused by digit drop, etc. becomes larger, and a situation occurs in which convergence is not determined in the convergence judgment process of step ST44. Since convergence is not determined in the convergence judgment process of step ST44, the evaluation solution y is output as an iterative upper limit calculation solution in which the number of iterative solution calculations j exceeds the upper limit value jm of the iterative solution calculations. In this case, the evaluation solution y is updated to the solution w by the updating unit 300. k+1 , the updated equality constraint set S2 k+1 With solution w k+1 is input to the optimization operation unit 200, and the operation processing of the optimization operation unit 200, that is, the optimization operation process of step ST2, is executed again. In this case, the iterative solution y in the iterative solution operation of step ST42 is j and the residual vector r calculated in the norm calculation process of step ST43 j If the value of the relaxation parameter m converges to the first range E1 or the second range E2, a converged evaluation solution y can be obtained by setting a sufficient upper limit value jm for the number of iterative solution operations.
[0071] In the convergence determination process of step ST44, when the convergence determination is performed using the first threshold value Nt1 as the convergence determination threshold value Nth, the estimated solution calculation unit 23 outputs an intermediate determination flag fg1 indicating that the estimated solution y satisfies the first predetermined tolerance for the solution. Furthermore, in the convergence determination process of step ST44, when the convergence determination is performed using the second threshold value Nt2 as the convergence determination threshold value Nth, the estimated solution calculation unit 23 outputs an intermediate determination flag fg1 indicating that the estimated solution y satisfies the second predetermined tolerance for the solution. A solution that satisfies the first tolerance is considered a first converged solution, and a solution that satisfies the second tolerance is considered a second converged solution. For example, if the intermediate determination flag fg1 is a 2-bit signal, a value of 3 indicates the first converged solution, while a value of 2 indicates the second converged solution.
[0072] use Figure 1 、 Figure 8, the functional blocks and action flow of the updating unit 300 are described. The updating unit 300 includes: a data updating unit 31, which updates the equality constraint set S2 k With solution w k , generate the updated equality constraint set S2 k+1 With solution w k+1 and an operation determination unit 37, which generates an output solution wa and a determination flag fg2 that meet the determination conditions. The operation determination unit 37 includes: a set update determination unit 32, which determines the set of equality constraints S2 k The updating unit 300 performs the following steps: (a) whether the calculation iteration k has been updated; (b) whether the calculation iteration number k has reached the upper limit value km of the calculation iteration number; and (c) a result output unit 35 that generates an output solution wa and a determination flag fg2 that satisfy the determination condition. The updating unit 300 performs the data updating step of step ST31 and the calculation determination step of step ST37. The calculation determination step of step ST37 consists of the set update determination step of step ST32, the update number determination step of step ST33, the intermediate determination flag determination step of step ST35, and the result output step of step ST36. The data updating step of step ST31 is performed by the data updating unit 31, and the calculation determination step of step ST37 is performed by the calculation determination unit 37. The set update determination step of step ST32 is performed by the set update determination unit 32, and the update number determination step of step ST33 is performed by the update number determination unit 33. The intermediate determination flag determination step of step ST35 and the result output step of step ST36 are performed by the result output unit 35.
[0073] The updating unit 300 obtains the inequality constraint set S1 and the equality constraint set S2 k , the solution w input to the optimization operation unit 200 k , the evaluation solution y generated by the optimization operation unit 200, and the intermediate determination flag fg1 are used as input. In the data updating process of step ST31, the input to the equality constraint set S2 is k and the solution w of the optimization operation unit 200 k Update and output the updated equality constraint set S2 k+1 With solution w k+1 The optimization operation unit 200 uses the equality constraint set S2 k+1 With solution w k+1 , as the equality constraint set S2 input for the k+1th operation k With solution w k . Equality constraint set S2 k+1 With solution w k+1 It is determined as follows.
[0074] (a) Equality constraint set S2 k Update method when there are constraints that should be added (Update method 1)
[0075] In step ST31, when the evaluation solution y obtained by the optimization operation unit 200 does not satisfy one or more inequality constraint sets S1, the data update unit 31 uses equation (10) to determine the solution w output by the update unit 300. k+1 Among them, when 0<α<1 and w k+1 Under the condition that the inequality constraint set S1 is satisfied, α is set to the maximum value. k+1 , the data updating unit 31 adds the constraints that satisfy the equality constraints to the equality constraint set S2 k and generate the updated equality constraint set S2 k+1 .
[0076] [Formula 10]
[0077] w k+1 =(1-α)w k +αy…(10)
[0078] (b) Equality constraint set S2 k Update method when there are constraints that should be removed (Update method 2)
[0079] In step ST31, the data updating unit 31 determines the solution w output by the updating unit 300 using equation (11) when the evaluation solution y obtained by the optimization operation unit 200 satisfies all inequality constraint sets S1. k+1 In step ST31, the data updating unit 31 updates the evaluation solution y obtained by the optimization operation unit 200 from the equality constraint set S2 if there is a solution satisfying the Lagrange multiplier λ < 0. k Remove the constraint corresponding to the solution with the largest absolute value and generate the updated equality constraint set S2 k+1 .
[0080] [Mathematical formula 11]
[0081] W k+1 =y…(11)
[0082] In the data updating process of step ST31, the data updating unit 31 updates the equality constraint set S2 by using the updating method 1 or the updating method 2. k With solution w k Update and generate the updated equality constraint set S2 k+1 With solution w k+1 In the data updating process of step ST31, the equality constraint set S2 is not updated. kIn the case of inequality constraint set S2 k Append constraints without removing the equality constraint set S2 k When the constraints are removed, the evaluation solution y obtained by the optimization operation unit 200 satisfies the inequality constraint set S1 and is the optimal solution that minimizes the evaluation function J input to the optimization solution operation device 81. Therefore, the optimal solution operation device 81 ends the operation and outputs the evaluation solution y as the output solution wa of the optimal solution. This is an overview of part of the operation judgment process of step ST37. When the output solution wa is output, the operation of the optimal solution operation device 81 ends. That is, when the output solution wa is output, Figure 8 The operation shown is completed and Figure 4 When the output solution wa is output, it can be said that it is completely finished. In step ST33, the condition is not satisfied and the equality constraint set S2 is output as the updated data. k+1 With solution w k+1 If the update is completed, the optimal solution calculation device 81 returns to step ST2 to perform the optimization calculation process. The calculation and judgment process of step ST37 will be described in detail.
[0083] In the set update determination process of step ST32, the set update determination unit 32 determines the equality constraint set S2 k Whether it is updated, specifically, determine the equality constraint set S2 k and the set of equality constraints S2 k+1 Are they different? In the equality constraint set S2 k and the set of equality constraints S2 k+1 In different cases, proceed to step ST33 and in the equality constraint set S2 k and the set of equality constraints S2 k+1 If there is no difference, that is, if they are equal, proceed to step ST35.
[0084] In the update number determination process of step ST33, the update number determination unit 33 determines whether the calculation iteration number k reaches the preset calculation iteration number upper limit km. If the calculation iteration number k reaches the calculation iteration number upper limit km, the process proceeds to step ST35. If the calculation iteration number k does not reach the calculation iteration number upper limit km, the update unit 300 updates the equality constraint set S2 generated by the data update unit 31. k+1 With solution w k+1Output to the optimization operation unit 200, and end the update process of step ST3. As mentioned above, the end in this case is the end of the update. When the number of operation iterations k reaches the upper limit value km of the number of operation iterations, the optimal solution operation device 81 ends the operation, which is regarded as reaching the iteration limit. When the number of operation iterations k reaches the upper limit value km of the number of operation iterations, it can also be said that the equality constraint set S2 k The number of updates has reached the upper limit. In this case, the process is completely completed.
[0085] In the intermediate determination flag determination step of step ST35, if the process proceeds from the set update determination step of step ST32, the result output unit 35 determines the information of the intermediate determination flag fg1. If the intermediate determination flag fg1 indicates the first converged solution, the result output unit 35 generates a determination flag fg2 indicating the optimal solution. Furthermore, if the intermediate determination flag fg1 indicates the second converged solution, the result output unit 35 generates a determination flag fg2 indicating a suboptimal solution. As described above, an evaluation solution y that meets the predetermined first tolerance for the solution is a fully optimized solution, i.e., an optimal solution. Furthermore, an evaluation solution y that meets the predetermined second tolerance for the solution is a suboptimal solution, i.e., a suboptimal solution. More specifically, if the convergence determination threshold Nth in the convergence determination step of step ST44 is equal to the first threshold Nt1, the evaluation solution y is the optimal solution; if the convergence determination threshold Nth in the convergence determination step of step ST44 is equal to the second threshold Nt2, the evaluation solution is the suboptimal solution. For example, when the determination flag fg2 is a 2-bit signal, if the determination flag fg2 is 3, it can indicate an optimal solution, and if the determination flag fg2 is 2, it can indicate a quasi-optimal solution.
[0086] In the intermediate determination flag determination step of step ST35, if the process proceeds from the update count determination step of step ST33, the result output unit 35 does not determine the information of the intermediate determination flag fg1. Instead, in the result output step of step ST36, it outputs a determination flag fg2 indicating no solution. In this case, the normal output solution wa is not output. For example, the determination flag fg2 indicating no solution is 1. In this case, the normal output solution wa is not output, but it is also possible to output, for example, 0 as null data.
[0087] In the result output process of step ST36, if the process proceeds from the set update determination process of step ST32, the result output unit 35 outputs the output solution wa and the determination flag fg2. If the intermediate determination flag fg1 indicates the first converged solution, the evaluation solution y is output as the output solution wa, i.e., the optimal solution wg1, which is the optimal solution, and the determination flag fg2 indicating the optimal solution is output. If the intermediate determination flag fg1 indicates the second converged solution, the evaluation solution y is output as the output solution wa, i.e., the quasi-optimal solution wg2, which is the quasi-optimal solution, and the determination flag fg2 indicating the quasi-optimal solution is output. The optimal solutions wg1 and wg2 output as the output solution wa are converged solutions. For the optimal solution wg1, if the set update determination process of step ST32 determines that updating the set of equality constraints is not necessary and the convergence determination threshold Nth is the first threshold Nt1, the evaluation solution y is determined to be the optimal solution. In other words, it is the solution output as the output solution wa, i.e., the solution to the optimization problem. For the quasi-optimal solution wg2, when it is determined in the set update judgment process of step ST32 that the update of the equality constraint set is not required and the convergence judgment threshold Nth is the second threshold Nt2, the evaluation solution y is determined to be the quasi-optimal solution. It can also be said that when the evaluation solution y is not determined to be the optimal solution wg1, it is the solution output as the solution to the optimization problem, that is, the output solution wa.
[0088] Thus, the optimal solution calculation device 81 of the optimization problem of the first embodiment uses the evaluation solution y calculated by the optimization calculation unit 200 to repeatedly update the equality constraint set S2 in the updating unit 300. k With solution w k , to find the optimal solution or quasi-optimal solution that minimizes the evaluation function J. Therefore, even if the initial residual norm NR0 and the residual norm NR j When the value of the optimal solution is large, by setting the upper limit value jm of the number of iterative solution operations to be sufficiently large, the optimization operation unit 200 can also output the evaluation solution y obtained by performing the convergence judgment using the second threshold value Nt2 in the convergence judgment step of step ST44, that is, the evaluation solution y after convergence using the second threshold value Nt2, to the updating unit 300. In addition, the optimal solution calculation device 81 of the optimization problem of embodiment 1 updates the equality constraint set S2 based on the evaluation solution y output from the optimization operation unit 200. k With solution w k , and the optimization operation process of step ST2 is executed again by the optimization operation unit 200. That is, even if the initial residual norm NR0 and the residual norm NR jIn a larger case, the optimal solution calculation device 81 for the optimization problem in the first embodiment can also generate a new simultaneous first-order equation SLE through the optimization calculation unit 200 and perform the solution calculation of the simultaneous first-order equation SLE again.
[0089] By repeating the optimization operation process of step ST2 and the updating process of step ST3, the solution w input to the optimization operation unit 200 is obtained. k The calculated initial residual norm NR0, residual norm NR j The optimization operation unit 200 can output the evaluation solution y obtained by performing the convergence determination using the first threshold value Nt1 in the convergence determination process of step ST44, that is, the evaluation solution y after convergence using the first threshold value Nt1, to the updating unit 300. Therefore, the optimal solution calculation device 81 for the optimization problem in Embodiment 1 can easily obtain a solution after convergence using the first threshold value Nt1, that is, an optimal solution with an accuracy within a preset allowable range, by repeating the optimization operation process of step ST2 and the updating process of step ST3.
[0090] That is, the optimal solution calculation device 81 of the first embodiment calculates the error of the initial residual vector r in , residual vector r j Before the influence of becomes large, the second threshold value Nt2 is used to perform convergence judgment, and the optimization operation process of step ST2 is performed again by the optimization operation unit 200 using the evaluation solution y at this time. As a result, when the optimal solution operation device 81 of embodiment 1 performs the optimization operation process of step ST2 again, it is possible to reduce the initial residual norm NR0 calculated in the initial norm calculation process of step ST22. This means that the input initial solution, that is, the solution w, during the recalculation k Close to the optimal solution, due to the operation error on the initial residual vector r in , residual vector r j The influence of is reduced, and therefore, it is easy to obtain a solution that converges using the first threshold value Nt1, that is, an optimal solution with an accuracy within the preset allowable range. In addition, when the optimization operation process of step ST2 is executed again, even when the second threshold value Nt2 is used, the second threshold value Nt2 is set to a smaller value. Therefore, the optimal solution operation device 81 of the optimization problem of embodiment 1 obtains a solution by repeating the operation and using the convergence judgment based on the first threshold value Nt1.
[0091] As described above, the updating unit 300 updates the set of inequality constraints S2 in the set update determination process of step ST32. kWhen adding or removing equality constraints, the evaluation solution y obtained by the optimization operation unit 200 is output as the output solution wa that satisfies all inequality constraint sets S1 and minimizes the evaluation function J. The output solution wa includes the optimal solution wg1 when the convergence determination threshold Nth is the first threshold Nt1 in the convergence determination step of step ST44, and the quasi-optimal solution wg2 when the convergence determination threshold Nth is the second threshold Nt2 in the convergence determination step of step ST44. For the quasi-optimal solution wg2, the residual norm NR of the simultaneous first-order equations SLE is j It is larger than the first threshold Nt1 set according to the pre-set allowable error of the solution, but the update unit 300 outputs the judgment flag fg2 indicating the quasi-optimal solution. Therefore, it can be seen that the output solution wa obtained by the optimal solution calculation device 81 is a solution that does not meet the pre-set allowable accuracy error of the solution, that is, the accuracy within the first allowable error of the solution.
[0092] For the output solution wa output by the optimal solution operation device 81 of the optimization problem, when a judgment flag fg2 indicating that it is a quasi-optimal solution is obtained, the device that needs to solve the optimization problem and has the optimal solution operation device 81 of the optimization problem of implementation mode 1 can confirm whether to adopt the output solution wa.
[0093] The optimal solution calculation device 81 of the optimization problem of the first embodiment can be used to calculate the optimal solution of the residual vector r j Before the calculation error of y is affected, the convergence judgment of the evaluation solution y is performed. That is, the optimal solution calculation device 81 of the optimization problem of embodiment 1 can j The converged solution is obtained under the condition that the calculation error contained in affects the calculation of the optimal solution, which is used as the output solution wa.
[0094] In addition, the optimal solution calculation device 81 of the optimization problem of the first embodiment has been described so far with respect to the optimization problem including inequality constraints. Even when the constraints of the optimization problem are only equality constraints, the optimal solution calculation device 81 of the optimization problem of the first embodiment can still calculate the optimal solution of the optimization problem in the residual vector r jBefore the computational error of the optimization problem is affected, the convergence judgment of the evaluation solution y is performed. That is, even when the constraints of the optimization problem are only equality constraints, the optimal solution calculation device 81 of the optimization problem of embodiment 1 can obtain a converged solution under the condition that the computational error contained in the residual vector affects the computation of the optimal solution. In this case, the input data input to the optimization operation unit 200 is the executable initial solution w0 and the equality constraint set S2 input via the interface 82. In addition, the equality constraint set generation unit 12 of the initial condition generation unit 100, the data update unit 31, the set update judgment unit 32 and the update number judgment unit 33 of the update unit 300 are not required. In addition, if the result output unit 35 is obtained in the optimization operation unit 200, the update unit 300 is not required.
[0095] In addition, in the optimal solution calculation device 81 for the optimization problem in the first embodiment, the updating unit 300 performs Figure 8 The first example of the operational flow shown is an example. However, the update count determination step of step ST33 is not limited to using only the calculation iteration count k. For example, the iterative solution calculation count j for solving the simultaneous first-order equations SLE executed in the evaluation solution calculation step of step ST23 may also be considered. For example, when the sum of the calculation iteration count k and the iterative solution calculation count j, i.e., the total calculation count kt, reaches the total calculation count upper limit value ktm, the update or calculation may be terminated. Figure 9 A second example of the operation flow in the updating unit 300 is shown in FIG. Furthermore, upper limits of the number of iterations k and j can be set and monitored for each of the number of computation iterations k and the number of iterative solution computations j. Figure 10 3 shows a third example of the operation flow in the updating unit 300. By executing the second or third example of the operation flow in the updating unit 300, the optimal solution calculation device 81 for the optimization problem of the first embodiment can prevent the optimization calculation process of step ST2 from being unable to complete the calculation within the prescribed period due to an increase in the number of iterations and the resulting increase in calculation time.
[0096] Figure 9 The second example of the operation flow in the updating unit 300 shown is different in that: Figure 8 The update count determination process of step ST33 in the first example of the operation flow shown in FIG. 1 is changed to the update count determination process of step ST38. Figure 8The first example of the action flow shown in FIG. 1 is different from the first example. The updating unit 300 performs the data updating process of step ST31 and the operation determination process of step ST37. The operation determination process of step ST37 is composed of the set update determination process of step ST32, the update number determination process of step ST38, the intermediate determination flag determination process of step ST35, and the result output process of step ST36. The update number determination process of step ST38 is performed by the update number determination unit 33. In the set update determination process of step ST32, in the equality constraint set S2 k and the set of equality constraints S2 k+1 If different, proceed to step ST38.
[0097] In the update number determination process of step ST38, the update number determination unit 33 determines whether the sum of the calculation iteration number k and the iterative solution calculation number j, that is, the total number of calculations kt, has reached the preset total number of calculations upper limit ktm. If the total number of calculations kt has reached the total number of calculations upper limit ktm, the process proceeds to step ST35. If the total number of calculations kt has not reached the total number of calculations upper limit ktm, the update unit 300 updates the equality constraint set S2 generated by the data update unit 31. k+1 With solution w k+1 Output to the optimization operation unit 200, and end the update process of step ST3. In this case, the update is completed. When the total number of calculations kt reaches the upper limit value ktm of the total number of calculations, the optimal solution calculation device 81 ends the calculation, which is regarded as reaching the iteration limit. When the total number of calculations kt reaches the upper limit value ktm of the total number of calculations, it can also be said that the equality constraint set S2 k The number of updates has reached the upper limit. In this case, the process is completely completed.
[0098] Figure 10 The third example of the operation flow in the updating unit 300 shown is different in that: Figure 8 The update count determination process of step ST33 in the first example of the operation flow shown in FIG. 1 is changed to the update count determination process of step ST39. Figure 8 The first example of the action flow shown in FIG. 1 is different from the first example. The updating unit 300 performs the data updating process of step ST31 and the operation judgment process of step ST37. The operation judgment of step ST37 is composed of the set update judgment process of step ST32, the update number judgment process of step ST39, the intermediate judgment flag judgment process of step ST35, and the result output process of step ST36. The update number judgment process of step ST39 is performed by the update number judgment unit 33. In the set update judgment process of step ST32, in the equality constraint set S2 k and the set of equality constraints S2 k+1If different, proceed to step ST39.
[0099] In the update number determination process of step ST39, the update number determination unit 33 determines whether the number of operation iterations k has reached the preset upper limit value km of the number of operation iterations, or whether the number of iterative solution operations j has reached the preset upper limit value jma of the number of iterative solution operations. If the number of operation iterations k has reached the upper limit value km of the number of operation iterations, or if the number of iterative solution operations j has reached the upper limit value jma of the number of iterative solution operations, the process proceeds to step ST35. If the number of operation iterations k has not reached the upper limit value km of the number of operation iterations, or if the number of iterative solution operations j has not reached the upper limit value jma of the number of iterative solution operations, the update unit 300 updates the equality constraint set S2 generated by the data update unit 31. k+1 With solution w k+1 Output to the optimization operation unit 200, and end the update process of step ST3. In this case, the update is completed. When the number of operation iterations k reaches the upper limit value km of the operation iterations, or when the number of iterative solution operations j reaches the upper limit value jma of the iterative solution operations, the optimal solution operation device 81 ends the operation, which is regarded as reaching the iteration limit. When the number of operation iterations k reaches the upper limit value km of the operation iterations, or when the number of iterative solution operations j reaches the upper limit value jma of the iterative solution operations, it can also be said that the equality constraint set S2 is k The number of updates has reached the upper limit. In this case, the process is completely completed.
[0100] As described above, the optimal solution calculation device 81 for the optimization problem in the first embodiment is an optimal solution calculation device for the optimization problem that calculates the solution to the input optimization problem through the processing performed by the updating unit 300. The optimal solution calculation device 81 for the optimization problem includes an initial condition generation unit 100, which obtains a set of inequality constraints related to the optimization problem, namely, an inequality constraint set S1, an evaluation function J, an initial solution w 0in As input, based on the initial solution w 0in To generate an executable initial solution w0 that satisfies all inequality constraints of the inequality constraint set S1, for the executable initial solution w0, a set of equality constraints that are satisfied by the equality sign is generated from the inequality constraint set S1, namely, the equality constraint set S2; the optimization operation unit 200, which is the executable initial solution w0 in the first case and the solution w0 updated by the update unit 300 in the next case and thereafter k+1 That is, input the solution (solution w k ) is performed by the equality constraint set S2 k (Equality constraint set S2 or equality constraint set S2 k+1) and the evaluation function J to generate a solution of the simultaneous first-order equations SLE, and calculate the solution that minimizes or maximizes the evaluation function J, that is, the evaluation solution y; and an updating unit 300, which determines the evaluation solution y output by the optimization operation unit 200 and generates an equation from the equality constraint set S2 k The updated equality constraint set S2 is obtained by updating the constraints that the evaluation solution y should satisfy. k+1 , and based on the last input solution (solution w k ) and the updated input solution (solution w) by evaluating the solution y k+1 The optimization operation unit 200 includes an initial norm calculation unit 22, which calculates the initial norm according to the input solution (solution w k The difference between the vector on the left side of the simultaneous first-order equations SLE and the vector on the right side of the simultaneous first-order equations SLE is the initial residual vector r in To calculate the initial residual norm NR0; the iterative solution operation unit 25, the iterative solution operation unit 25 performs an iterative method to calculate the solution of each iteration number (iterative solution operation number j) of the simultaneous first-order equations SLE, that is, the iterative solution y j Norm calculation unit 26, the norm calculation unit 26 according to the iterative solution y calculated by the iterative solution calculation unit 25 j The difference between the vector on the left side of the simultaneous first-order equations SLE and the vector on the right side of the simultaneous first-order equations is the residual vector r j To calculate the residual norm NR j And a convergence determination unit 27, the convergence determination unit 27 in the residual norm NR j If the convergence threshold Nth is lower than the convergence threshold, it is determined to be an iterative solution y j Converges, and the iterative solution y is judged to be converged j Output as the evaluation solution y, where the convergence judgment threshold Nth is either a pre-set first threshold Nt1 or a second threshold Nt2 set based on the relaxation parameter m and the initial residual norm NR0, whichever is larger. The updating unit 300 determines that the equality constraint set S2 is not required. k The update of the optimal solution y is performed, and when the convergence judgment threshold Nth is equal to the first threshold Nt1, the evaluation solution y is determined to be the optimal solution wg1, and the optimal solution wg1 is output as the solution to the optimization problem, that is, the output solution wa. According to this structure, the optimal solution calculation device 81 of the optimization problem of embodiment 1 is outputted in the residual norm NR j If the convergence threshold Nth is lower than the convergence threshold, it is determined to be an iterative solution y j Converges, and the iterative solution y is judged to be converged jOutput as the evaluation solution y, wherein the convergence judgment threshold Nth is either the first threshold Nt1 pre-set by the convergence judgment unit 27 or the second threshold Nt2 set based on the relaxation parameter m and the initial residual norm NR0, and the larger one is determined by the updating unit 300 that the equality constraint set S2 is not required. k The update of the residual vector r is determined to be the optimal solution when the convergence judgment threshold Nth is the first threshold Nt1. j A convergent solution can be obtained under the condition that the computational error contained in the solution affects the computation of the solution.
[0101] The optimal solution calculation method of the optimization problem of embodiment 1 is a method for calculating the optimal solution of the optimization problem by performing processing on the update step. The optimal solution calculation method of the optimization problem includes: an initial condition generation step, which obtains a set of inequality constraints related to the optimization problem, namely, an inequality constraint set S1, an evaluation function J, an initial solution w 0in As input, based on the initial solution w 0in To generate an executable initial solution w0 that satisfies all inequality constraints of the inequality constraint set S1, for the executable initial solution w0, a set of equality constraints that are satisfied by the equality sign is generated from the inequality constraint set S1, namely the equality constraint set S2; an optimization operation step, which is the executable initial solution w0 for the first time and the solution w0 updated by the update unit 300 for the next time and thereafter k+1 That is, input the solution (solution w k ) is performed by the equality constraint set S2 k (Equality constraint set S2 or equality constraint set S2 k+1 ) and the evaluation function J to generate a solution of the simultaneous first-order equations SLE, and calculate the solution that minimizes or maximizes the evaluation function J, that is, the evaluation solution y; and an update step, which determines the evaluation solution y output by the optimization operation step and generates an equation from the equality constraint set S2 k The updated equality constraint set S2 is obtained by updating the constraints that the evaluation solution y should satisfy. k+1 , and based on the last input solution (solution w k ) and the updated input solution (solution w) by evaluating the solution y k+1 The optimization operation process includes: an initial norm calculation process, which is based on the input solution (solution w k The difference between the vector on the left side of the simultaneous first-order equations SLE and the vector on the right side of the simultaneous first-order equations SLE is the initial residual vector r inTo calculate the initial residual norm NR0; iterative solution operation step, the iterative solution operation step performs an iterative method to calculate the solution of each iteration number (iterative solution operation number j) of the simultaneous first-order equations SLE, that is, the iterative solution y j ; A norm calculation step, which is based on the iterative solution y calculated by the iterative solution calculation step j The difference between the vector on the left side of the simultaneous first-order equations SLE and the vector on the right side of the simultaneous first-order equations is the residual vector r j To calculate the residual norm NR j ; and a convergence determination step, the convergence determination step in the residual norm NR j If the convergence threshold Nth is lower than the convergence threshold, it is determined to be an iterative solution y j Converges, and the iterative solution y is judged to be converged j Output as the evaluation solution y, where the convergence judgment threshold Nth is either the pre-set first threshold Nt1 or the second threshold Nt2 set based on the relaxation parameter m and the initial residual norm NR0, whichever is larger. The update process determines that the equality constraint set S2 is not required. k The update of the optimal solution y is determined to be the optimal solution wg1 when the convergence judgment threshold Nth is the first threshold Nt1, and the optimal solution wg1 is output as the solution to the optimization problem, that is, the output solution wa. According to this structure, the optimal solution calculation method of the optimization problem of embodiment 1 is in the residual norm NR j If the convergence threshold Nth is lower than the convergence threshold, it is determined to be an iterative solution y j Converges, and the iterative solution y is judged to be converged j Output as the evaluation solution y, where the convergence judgment threshold Nth is either the first threshold Nt1 pre-set in the convergence judgment step or the second threshold Nt2 set based on the relaxation parameter m and the initial residual norm NR0, and the larger one is determined in the update step as not requiring the equality constraint set S2. k The update of the residual vector r is determined to be the optimal solution when the convergence judgment threshold Nth is the first threshold Nt1. j A convergent solution can be obtained under the condition that the computational error contained in the solution affects the computation of the solution.
[0102] Implementation method 2.
[0103] Figure 12 is a diagram showing a first example of functional blocks in the optimal solution calculation device for the optimization problem according to the second embodiment. Figure 12This diagram illustrates a second example of functional blocks in the optimal solution calculation device for an optimization problem according to Embodiment 2. In the optimal solution calculation device 81 of Embodiment 1, an example was described in which, during the intermediate determination flag determination step of step ST35, the result output unit 35 did not determine the information of the intermediate determination flag fg1 when proceeding from the update count determination step of step ST33. In the optimal solution calculation device 81 of Embodiment 2, an example is provided in which the result output unit 35 determines the information of the intermediate determination flag fg1 even when proceeding from the update count determination step of step ST33, and outputs the output solution wa indicating a solution that has reached the upper limit of iterations. Figure 11 In the first example of the optimal solution calculation device 81 for the optimization problem in the second embodiment shown, as the output solution wa, in addition to the optimal solution wg1 and the quasi-optimal solution wg2, the first iterative upper limit solution wu1 and the second iterative upper limit solution wu2 are output. Figure 12 In the second example of the optimal solution calculation device 81 for the optimization problem in the second embodiment shown, the iterative upper limit solution wu is output as the output solution wa in addition to the optimal solution wg1 and the quasi-optimal solution wg2. The optimal solution calculation device 81 in the second embodiment differs from the optimal solution calculation device 81 in the first embodiment in the operation of the result output unit 35 of the update unit 300. The differences from the optimal solution calculation device 81 in the first embodiment will be primarily described.
[0104] Figure 8 In the first example of the operational flow of the updating unit 300 shown, when proceeding from the aggregate update determination step in step ST32 to the intermediate determination flag determination step in step ST35, even if the optimization calculation unit 200 performs calculations, the input data is not updated, and therefore, a solution that improves upon the current solution cannot be obtained. This situation can also be considered a fully converged solution. When proceeding from the update count determination step in step ST33 to the intermediate determination flag determination step in step ST35, data is updated in the aggregate update determination step in step ST32, indicating that the current solution can be improved upon. However, in the convergence determination step in step ST44, the intermediate determination flag fg1 may also include the first or second converged solution. The first converged solution satisfies the first threshold Nt1 and therefore satisfies the first tolerance set for the solution, making it a fully optimized solution. The second converged solution satisfies the second tolerance set for the solution, which is looser than the first tolerance, and is a semi-optimized solution.
[0105] In the intermediate determination flag determination step of step ST35, the result output unit 35 determines the information of the intermediate determination flag fg1. If the process proceeds from the set update determination step of step ST32 and the intermediate determination flag fg1 indicates the first converged solution, the result output unit 35 generates a determination flag fg2 indicating the optimal solution. If the process proceeds from the set update determination step of step ST32 and the intermediate determination flag fg1 indicates the second converged solution, the result output unit 35 generates a determination flag fg2 indicating a near-optimal solution. If the process proceeds from the update count determination step of step ST33, the result output unit 35 performs the following determination and generates a determination flag fg2.
[0106] If the update count determination process in step ST33 is initiated and the intermediate determination flag fg1 indicates the first converged solution, the result output unit 35 generates a determination flag fg2 indicating the first iterative upper limit solution. If the update count determination process in step ST33 is initiated and the intermediate determination flag fg1 indicates the second converged solution, the result output unit 35 generates a determination flag fg2 indicating the second iterative upper limit solution. For example, if the determination flag fg2 is a 3-bit signal, a value of 7 indicates an optimal solution, while a value of 6 indicates a quasi-optimal solution. Furthermore, a value of 3 indicates the first iterative upper limit solution, while a value of 2 indicates the second iterative upper limit solution.
[0107] In the result output process of step ST36, the result output unit 35 outputs the output solution wa and the judgment flag fg2. If the process proceeds from the set update determination process of step ST32 and the intermediate judgment flag fg1 indicates the first converged solution, the result output unit 35 outputs the evaluation solution y as the output solution wa, i.e., the optimal solution wg1, and outputs the judgment flag fg2 indicating the optimal solution. If the process proceeds from the set update determination process of step ST32 and the intermediate judgment flag fg1 indicates the second converged solution, the result output unit 35 outputs the evaluation solution y as the output solution wa, i.e., the quasi-optimal solution wg2, and outputs the judgment flag fg2 indicating the quasi-optimal solution. If the process proceeds from the update count determination process of step ST33, the result output unit 35 outputs the output solution wa and the judgment flag fg2 as follows.
[0108] When the process of determining the number of updates of step ST33 is started and the intermediate determination flag fg1 indicates the first converged solution, the result output unit 35 outputs the evaluation solution y as the output solution wa of the first iterative upper limit solution, i.e., the first iterative upper limit solution wu1, and outputs the determination flag fg2 indicating the first iterative upper limit solution. When the process of determining the number of updates of step ST33 is started and the intermediate determination flag fg1 indicates the second converged solution, the result output unit 35 outputs the evaluation solution y as the output solution wa of the second iterative upper limit solution, i.e., the second iterative upper limit solution wu2, and outputs the determination flag fg2 indicating the second iterative upper limit solution. The optimal solution wg1, the quasi-optimal solution wg2, the first iterative upper limit solution wu1, and the second iterative upper limit solution wu2 output as the output solution wa are all converged solutions. The first iterative upper limit solution wu1 can also be said to be the result of the process of determining the number of updates of step ST33 and the equality constraint set S2. k When the number of updates reaches the upper limit value and the convergence judgment threshold Nth is the first threshold Nt1, when the evaluation solution y is determined to be the first iteration upper limit solution and the evaluation solution y is not determined to be the optimal solution wg1 or the quasi-optimal solution wg2, the output solution wa is output as the solution to the optimization problem. The second iteration upper limit solution wu2 can also be said to be the solution obtained after the update number judgment process of step ST33 and the equality constraint set S2 k When the number of updates reaches the upper limit value and the convergence judgment threshold Nth is the second threshold Nt2, when the evaluation solution y is determined to be the second iterative upper limit solution and the evaluation solution y is not determined to be the optimal solution wg1 or the quasi-optimal solution wg2, the solution output as the solution to the optimization problem, that is, the output solution wa.
[0109] If, in the intermediate determination flag determination step of step ST35, the intermediate determination indicates that fg1 does not represent the first or second convergent solution, the result output unit 35 determines that the first or second convergent solution cannot be obtained. In the result output step of step ST36, the result output unit 35 outputs a determination flag fg2 indicating that no solution is available. In this case, the output solution wa is not output. For example, the determination flag fg2 indicating that no solution is available is set to 1.
[0110] The first optimal solution calculation device 81 of the second embodiment outputs any one of the optimal solution wg1, the quasi-optimal solution wg2, the first iterative upper limit solution wu1, and the second iterative upper limit solution wu2 as the output solution wa. Therefore, in the device that obtains the output solution wa from the first optimal solution calculation device 81 of the second embodiment or in subsequent processing, the output solution wa can be understood as the optimal solution wg1, the quasi-optimal solution wg2, the first iterative upper limit solution wu1, and the second iterative upper limit solution wu2. Therefore, in the device that obtains the output solution wa from the first optimal solution calculation device 81 of the second embodiment or in subsequent processing, it can be confirmed whether the output solution wa is adopted, and processing can be changed based on the adopted output solution wa.
[0111] As a first example of the optimal solution calculation device 81 of the second embodiment, an example of outputting any one of the optimal solution wg1, the quasi-optimal solution wg2, the first iteration upper limit solution wu1, and the second iteration upper limit solution wu2 as the output solution wa is described. Figure 12 As in the second example of the optimal solution calculation device 81 of the second embodiment shown, the iterative upper limit solution wu may be output instead of the first iterative upper limit solution wu1 and the second iterative upper limit solution wu2. The following mainly describes the differences from the first example of the optimal solution calculation device 81 of the second embodiment.
[0112] In the intermediate determination flag determination step of step ST35, the result output unit 35 determines as follows if the process has proceeded from the update count determination step of step ST33, and generates a determination flag fg2. If the process has proceeded from the update count determination step of step ST33 and the intermediate determination flag fg1 indicates the first converged solution or the second converged solution, the result output unit 35 generates a determination flag fg2 indicating the iterative upper limit solution. For example, if determination flag fg2 is a 3-bit signal, a value of 7 indicates an optimal solution, a value of 6 indicates a near-optimal solution, and a value of 4 indicates an iterative upper limit solution.
[0113] In the result output process of step ST36, when proceeding from the update number determination process of step ST33, the output solution wa and the determination flag fg2 are output as follows. When proceeding from the update number determination process of step ST33, and the intermediate determination flag fg1 indicates the first converged solution or the second converged solution, the result output unit 35 outputs the evaluation solution y as the output solution wa of the iterative upper limit solution, that is, the iterative upper limit solution wu, and outputs the determination flag fg2 indicating the iterative upper limit solution. The optimal solution wg1, the quasi-optimal solution wg2, and the iterative upper limit solution wu output as the output solution wa are all converged solutions. The iterative upper limit solution wu can also be said to be the result of the iteration through the update number determination process of step ST33 and the equality constraint set S2. kWhen the number of updates reaches the upper limit value and the convergence judgment threshold Nth is the first threshold Nt1 or the second threshold Nt2, when the evaluation solution y is determined to be the iterative upper limit solution and the evaluation solution y is not determined to be the optimal solution wg1 or the quasi-optimal solution wg2, the solution output as the solution to the optimization problem, that is, the output solution wa.
[0114] The second optimal solution calculation device 81 of the second embodiment outputs any one of the optimal solution wg1, the quasi-optimal solution wg2, and the iterative upper limit solution wu as the output solution wa. Therefore, in the device that obtains the output solution wa from the second optimal solution calculation device 81 of the second embodiment or in subsequent processing, the output solution wa can be understood as the optimal solution wg1, the quasi-optimal solution wg2, or the iterative upper limit solution wu. Therefore, in the device that obtains the output solution wa from the second optimal solution calculation device 81 of the second embodiment or in subsequent processing, it can be confirmed whether the output solution wa is adopted, and processing can be changed based on the adopted output solution wa.
[0115] use Figure 8 The first example of the operation flow in the updating unit 300 of the embodiment 2 is described with respect to the optimization operation device 81 of the embodiment 2. However, in the optimal solution operation device 81 of the embodiment 2, the updating unit 300 may also be operated as Figure 9 or Figure 10 In the update unit 300, press Figure 9 In the case of performing the operation of the operation flow, the update number determination process of step ST33 is replaced by the update number determination process of step ST38. Figure 10 When the operation flow is executed according to the embodiment 2, the update count determination step of step ST33 is replaced by the update count determination step of step ST39. In this case, the first optimal solution calculation device 81 of the second embodiment also outputs any one of the optimal solution wg1, the quasi-optimal solution wg2, the first iterative upper limit solution wu1, and the second iterative upper limit solution wu2 as the output solution wa. Therefore, in the device that obtains the output solution wa from the first optimal solution calculation device 81 of the second embodiment or in the subsequent processing, the output solution wa can be understood as the optimal solution wg1, the quasi-optimal solution wg2, the first iterative upper limit solution wu1, and the second iterative upper limit solution wu2. In addition, the second optimal solution calculation device 81 of the second embodiment outputs any one of the optimal solution wg1, the quasi-optimal solution wg2, and the iterative upper limit solution wu as the output solution wa. Therefore, in the device that obtains the output solution wa from the second optimal solution calculation device 81 of the second embodiment or in the subsequent processing, the output solution wa can be understood as the optimal solution wg1, the quasi-optimal solution wg2, and the iterative upper limit solution wu.
[0116] In addition, although the present application describes various exemplary embodiments and examples, the various features, methods, and functions described in one or more embodiments are not limited to specific embodiments, but can also be applied to the embodiments alone or in various combinations. Therefore, it can be considered that countless unillustrated variations are also included in the technical scope disclosed in the present application specification. For example, it is set to include the case where at least one component is deformed, added, or omitted, and the case where at least one component is extracted and combined with the components of other embodiments.
[0117] Description of labels
[0118] 25 Iterative solution calculation unit
[0119] 26 Norm Calculation Department
[0120] 27 Convergence determination unit
[0121] 35 Result output unit
[0122] 81 Optimal solution computing device for optimization problems
[0123] 100 Initial Condition Generation Unit
[0124] 200 Optimization Operation Unit
[0125] 300 Update Department
[0126] fg2 decision flag
[0127] J evaluation function
[0128] j is the number of iterative solution operations
[0129] jma upper limit of the number of iterative solution operations
[0130] k is the number of computation iterations
[0131] km The upper limit of the number of operation iterations
[0132] kt Total number of operations
[0133] ktm The upper limit of the total number of operations
[0134] m easing parameter
[0135] NR0 initial residual norm
[0136] NR j Residual norm
[0137] Nt1 first threshold
[0138] Nt2 Second threshold
[0139] Nth convergence judgment threshold
[0140] r in Initial residual vector
[0141] r j Residual vector
[0142] S1 inequality constraint set
[0143] S2 equality constraint set
[0144] S2 k Equality constraint set
[0145] S2 k+1 Equality constraint set
[0146] SLE Simultaneous First-Order Equations
[0147] w0 executable initial solution
[0148] w 0in Initial solution
[0149] wa output solution
[0150] wg1 optimal solution
[0151] wg2 quasi-optimal solution
[0152] w k untie
[0153] w k+1 untie
[0154] wu iterative upper bound solution
[0155] wu1 first iteration upper bound solution
[0156] wu2 Second iterative upper bound solution
[0157] y Evaluation Solution
[0158] y j Iterative solution.
Claims
1. An optimal solution computing device for an optimization problem, The device for calculating an optimal solution to an input optimization problem by processing performed by an updating unit is characterized by comprising: an initial condition generating unit that obtains as input a set of inequality constraints related to the optimization problem, namely, an inequality constraint set, an evaluation function, and an initial solution, generates, based on the initial solution, an executable initial solution that satisfies all inequality constraints of the inequality constraint set, and generates, for the executable initial solution, a set of equality constraints that satisfy equality, namely, an equality constraint set, from the inequality constraint set; an optimization operation unit that solves a set of simultaneous first-order equations generated by the set of equality constraints and the evaluation function, which is the executable initial solution in the first case and the solution updated by the updating unit in subsequent cases, and calculates a solution that minimizes or maximizes the evaluation function, which is an evaluation solution; and the updating unit determining the evaluation solution output by the optimization operation unit and generating the updated set of equality constraints by updating the constraints that the evaluation solution should satisfy from the set of equality constraints, and the updated input solution based on the previous input solution and the evaluation solution, The optimization operation unit includes: an initial norm calculation unit that calculates an initial residual norm based on an initial residual vector that is a difference between a vector on the left side of the simultaneous first-order equations and a vector on the right side of the simultaneous first-order equations for the input solution; an iterative solution calculation unit that performs an iterative method to calculate a solution, i.e., an iterative solution, for each iteration of the simultaneous first-order equations; a norm calculation unit that calculates a residual norm based on a residual vector that is a difference between a left-hand side vector and a right-hand side vector of the simultaneous first-order equations for the iterative solution calculated by the iterative solution calculation unit; and a convergence determination unit that determines that the iterative solution has converged when the residual norm becomes less than a convergence determination threshold, and outputs the iterative solution determined to have converged as the evaluation solution, wherein the convergence determination threshold is either a predetermined first threshold or a second threshold set based on a relaxation parameter and the initial residual norm, whichever is larger; The updating unit determines that the update of the set of equality constraints is unnecessary, and determines the evaluation solution as the optimal solution when the convergence determination threshold is the first threshold. The optimal solution is output as a solution to the optimization problem, that is, an output solution.
2. The optimal solution computing device for an optimization problem according to claim 1, wherein: When a single-precision variable is used to calculate the solution to the optimization problem, the value of the relaxation parameter is a predetermined value of 10 2 to 10 4 The value of When calculating the solution to the optimization problem using double precision variables, the value of the relaxation parameter is a predetermined value of 10 8 to 10 12 value.
3. The optimal solution computing device for an optimization problem according to claim 1 or 2, characterized in that: The updating unit determines that the update of the set of equality constraints is unnecessary, and determines the evaluation solution as a quasi-optimal solution when the convergence determination threshold is the second threshold. When the evaluation solution is not determined to be the optimal solution, the quasi-optimal solution is output as an output solution that is a solution to the optimization problem.
4. The optimal solution computing device for an optimization problem according to claim 3, wherein: When the updating number of times the set of equality constraints is updated reaches an upper limit, the updating unit When the convergence determination threshold is the first threshold, the evaluation solution is determined as a first iterative upper limit solution. When the convergence determination threshold is the second threshold, the evaluation solution is determined as the second iterative upper limit solution. When the evaluation solution is not determined to be the optimal solution or the quasi-optimal solution, either the first iterative upper limit solution or the second iterative upper limit solution is output as an output solution that is a solution to the optimization problem.
5. The optimal solution computing device for an optimization problem according to claim 3, wherein: When the updating number of times the set of equality constraints is updated reaches an upper limit, the updating unit When the convergence determination threshold is the first threshold or the second threshold, the evaluation solution is determined as an iterative upper limit solution. When the evaluation solution is not determined to be the optimal solution or the quasi-optimal solution, the iteration upper limit solution is output as an output solution that is a solution to the optimization problem.
6. The optimal solution computing device for an optimization problem according to claim 3, wherein: The updating unit includes a result output unit that outputs a determination flag indicating whether the output solution is the optimal solution or the quasi-optimal solution.
7. The optimal solution computing device for an optimization problem according to claim 4, wherein: The updating unit includes a result output unit that outputs a determination flag indicating whether the output solution is any one of the optimal solution, the quasi-optimal solution, the first iterative upper limit solution, and the second iterative upper limit solution.
8. The optimal solution computing device for an optimization problem according to claim 5, wherein: The updating unit includes a result output unit that outputs a determination flag indicating whether the output solution is any one of the optimal solution, the quasi-optimal solution, and the iterative upper limit solution.
9. A method for calculating an optimal solution to an optimization problem, characterized in that: A solution to an input optimization problem is calculated through processing performed in an updating step. The optimal solution calculation method for the optimization problem is characterized by including: an initial condition generation step, wherein the initial condition generation step obtains as input a set of inequality constraints related to the optimization problem, namely, an inequality constraint set, an evaluation function, and an initial solution, generates, based on the initial solution, an executable initial solution that satisfies all inequality constraints of the inequality constraint set, and, for the executable initial solution, generates, from the inequality constraint set, a set of equality constraints that satisfy equality, namely, an equality constraint set; an optimization operation step of solving a simultaneous first-order equation generated by the set of equality constraints and the evaluation function, which is the executable initial solution in the first case and the solution updated by the updating step in subsequent cases, and calculating a solution that minimizes or maximizes the evaluation function, i.e., an evaluation solution; and the updating step determining the evaluation solution output by the optimization operation step, and generating the updated set of equality constraints by updating the constraints that the evaluation solution should satisfy from the set of equality constraints, and the updated input solution based on the previous input solution and the evaluation solution, The optimization operation process includes: an initial norm calculation step of calculating an initial residual norm based on an initial residual vector, which is a difference between a vector on the left side of the simultaneous first-order equations and a vector on the right side of the simultaneous first-order equations for the input solution; an iterative solution calculation step, wherein the iterative solution calculation step performs an iterative method to calculate the solution of each iteration number of the simultaneous first-order equations, that is, the iterative solution; a norm calculation step of calculating a residual norm based on a residual vector which is a difference between a left-hand side vector and a right-hand side vector of the simultaneous first-order equations for the iterative solution calculated by the iterative solution calculation step; and a convergence determination step of determining that the iterative solution has converged when the residual norm becomes less than a convergence determination threshold, and outputting the iterative solution determined to have converged as the evaluation solution, wherein the convergence determination threshold is either a predetermined first threshold or a second threshold set based on a relaxation parameter and the initial residual norm, whichever is larger; The updating step determines that the set of equality constraints does not need to be updated, and determines the evaluation solution as the optimal solution when the convergence determination threshold is the first threshold. The optimal solution is output as a solution to the optimization problem, that is, an output solution.
10. The optimal solution calculation method for the optimization problem according to claim 9, characterized in that: The updating step determines that the set of equality constraints does not need to be updated, and determines the evaluation solution as a quasi-optimal solution when the convergence determination threshold is the second threshold. When the evaluation solution is not determined to be the optimal solution, the quasi-optimal solution is output as an output solution that is a solution to the optimization problem.
Citation Information
Patent Citations
Optimum design of structure
JP2004310375A
Method and system for solving an optimization problem
CN101065742A
Information processing apparatus, calculation method, program, and storage medium
CN102736319A