WO2020179624A1 - 問題求解装置、方法、及びプログラム - Google Patents

問題求解装置、方法、及びプログラム Download PDF

Info

Publication number
WO2020179624A1
WO2020179624A1 PCT/JP2020/008065 JP2020008065W WO2020179624A1 WO 2020179624 A1 WO2020179624 A1 WO 2020179624A1 JP 2020008065 W JP2020008065 W JP 2020008065W WO 2020179624 A1 WO2020179624 A1 WO 2020179624A1
Authority
WO
WIPO (PCT)
Prior art keywords
optimization
unit
variable
discrete
variables
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2020/008065
Other languages
English (en)
French (fr)
Inventor
友也 引間
浩之 戸田
倉島 健
康紀 赤木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to US17/436,589 priority Critical patent/US20220171899A1/en
Publication of WO2020179624A1 publication Critical patent/WO2020179624A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/10Numerical modelling

Definitions

  • the present invention relates to a problem-solving device, a method, and a program, and more particularly to a problem-solving device, a method, and a program for finding a solution to an optimization problem.
  • Non-Patent Document 1 As existing solutions to the 0-1 mixed integer quadratic programming problem with applications such as control optimization and scheduling optimization, there is a branch and bound method (Non-Patent Document 1) that is an exact solution, and an alternative method that is a heuristic solution.
  • Direction Method of Multipliers (ADMM) can be mentioned (Non-Patent Document 2).
  • the branch-and-bound method is a method for finding a global optimum solution for each discrete variable while classifying cases. ADMM transforms the problem and alternately optimizes each variable for its extended Lagrange function.
  • the branch-and-bound method which is an exact solution method, is a method that classifies each discrete variable into cases, so the amount of calculation increases exponentially.
  • ADMM which is a heuristic solution, may reach a solution with a bad objective function value or the final solution may not meet the constraints.
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to provide a problem-solving device, a method, and a program capable of finding a solution of an optimization problem while suppressing the amount of calculation.
  • a problem solving device is a quadratic programming problem including discrete variables and continuous variables, and a constraint on the discrete variables and a constraint on the continuous variables.
  • a problem solving device that outputs a solution to an optimization problem that can be formulated into a quadratic programming problem, in which the optimization problem to be processed is a constraint for the discrete variable and the continuous variable.
  • the discrete variables in the reformulated optimization problem fixing the continuous variable to a certain point, and reformulating the optimization problem into a optimization problem that is separated from the constraint
  • the entanglement changing unit that changes the entanglement coefficient that represents the influence of the term in which the discrete variable and the continuous variable are multiplied, and the discrete variable optimizing unit until a predetermined stop condition is satisfied.
  • the problem solving method is a quadratic design problem including discrete variables and continuous variables, and the constraints on the discrete variables and the constraints on the continuous variables are separated. It is a problem solving method in a problem solving device that outputs a solution to an optimization problem that can be formulated into a problem, and the optimization problem reformulation unit sets the optimization problem to be processed for the discrete variable. It is reformulated into an optimization problem in which the constraint and the constraint on the continuous variable are separated, and the discrete variable optimization unit fixes the continuous variable at a certain point, and the above-mentioned in the reformulated optimization problem. The discrete variable is optimized, the continuous variable optimizer fixes the discrete variable at a certain point, and optimizes the continuous variable in the reformulated optimization problem.
  • the entanglement coefficient representing the influence of the term obtained by multiplying the discrete variable and the continuous variable is changed, and the discrete variable is changed until the management unit satisfies a predetermined stop condition.
  • the optimization by the optimization unit, the optimization by the continuous variable optimization unit, and the change by the entanglement change unit are repeated.
  • a program according to a third invention is a quadratic programming problem including a discrete variable and a continuous variable, wherein the constraint on the discrete variable and the constraint on the continuous variable are separated.
  • a program for performing a problem solving process for outputting a solution to an optimization problem that can be formulated wherein the optimization problem to be processed is processed by a computer, with respect to the constraints on the discrete variables and the continuous variables. Re-formulation is made into an optimization problem in which constraints are separated, the continuous variable is fixed to a certain point, the discrete variable in the reformulated optimization problem is optimized, and the discrete variable is set to a certain point.
  • the final problem is obtained by dividing the optimization problem into a part relating to continuous variables and a part relating to discrete variables, and solving them iteratively.
  • the problem is transformed appropriately by estimating the effective constraint.
  • the problem format can be used by the Ising machine, so that the problem can be solved at high speed.
  • the barrier function appropriately for the objective function, it is possible to work to satisfy the constraint on the solution.
  • the influence of that part is changed for each iteration. As a result, a final solution having a relatively good objective function value can be obtained.
  • the Ising machine is a general term for machines that express combinatorial optimization problems with an Ising model and solve combinatorial optimization problems (Reference 1).
  • Specific Ising machines include D-wave (reference document 2), Fujitsu Digital Annealer (reference document 2), CMOS annealing machine (reference document 4), LASOLV (reference document 5), and the like.
  • the problem that can be solved by the Ising machine is the unconstrained 0-1 integer quadratic programming problem as follows.
  • a problem solving apparatus 10 includes a CPU, a RAM, and a ROM that stores a program and various data for executing a problem solving processing routine described later. It can be configured with a computer.
  • the problem-solving device 10 functionally includes an operation unit 110, a calculation unit 20, and an output unit 250 as shown in FIG.
  • the operation unit 110 accepts, as a processing target, an optimization problem that can be formulated into a 0-1 mixed integer quadratic programming problem in which constraints for discrete variables and constraints for continuous variables are separated.
  • the 0-1 mixed integer quadratic programming problem is a quadratic programming problem that has both a discrete variable and a continuous variable as variables, and the discrete variable is 0 or 1.
  • the calculation unit 20 includes a problem parameter storage unit 120, an optimization problem reformulation unit 130, an optimization problem parameter storage unit 140, an optimization unit 100, and a coefficient of determination variable value storage unit 240.
  • the optimization unit 100 includes a management unit 150, a discrete variable optimization unit 160, a discrete variable value storage unit 170, a continuous variable optimization unit 180, a continuous variable value storage unit 190, a entanglement change unit 200, a parameter storage unit 210, an effective constraint. It includes an estimation unit 220 and a stop condition determination unit 230.
  • the optimization problem reformulation unit 130 reformulates the received optimization problem so as to transform it into another problem format.
  • the discrete variable optimization unit 160 transforms a problem obtained by cutting out only the discrete variable portion from the reformulated problem and solves it with an Ising machine.
  • the continuous variable optimization unit 180 solves a problem obtained by cutting out only the continuous variable portion from the reformulated problem with a classical computer.
  • the entanglement changing unit 200 prevents the final solution from becoming an extremely bad solution by changing the influence of the term in which the discrete variable and the continuous variable are multiplied.
  • the effective constraint estimation unit 220 can transform the original problem in the discrete variable optimization unit 160 into a problem that can be solved by an Ising machine by estimating inequalities in the solution for the discrete variables. It becomes.
  • the stop condition determination unit 230 determines whether or not the stop condition is satisfied, and if the stop condition is satisfied, ends the iteration.
  • the management unit 150 repeatedly calls and executes the discrete variable optimization unit 160, the continuous variable optimization unit 180, the entanglement change unit 200, the effective constraint estimation unit 220, and the stop condition determination unit 230.
  • the problem parameter storage unit 120 stores constant parameters in the optimization problem, reads the constant parameters according to a request from the problem solving apparatus 10, and sends the constant parameters to the optimization problem reformulation unit 130. Specifically, it is a constant parameter of the optimization problem (1). It is the information of. FIG. 2 shows an example of what is stored in the problem parameter storage unit 120.
  • the optimization problem reformulation unit 130 uses the problem parameters transmitted from the problem parameter storage unit 120 to separate the constraints for discrete variables and the constraints for continuous variables from 0 to 1 mixed integer quadratic programming. Formulate the problem. Hereinafter, an example of the formulation method will be described.
  • the optimization problem (1) can be formulated as follows so that the constraint on discrete variables and the constraint on continuous variables are separated.
  • This problem is a 0-1 mixed integer quadratic programming problem in which the constraints for discrete variables and the constraints for continuous variables are separated, and the decision variables x and s are redefined as decision variables x, and By making changes, you can convert to the following problem types.
  • the optimization problem (2) reformulated by the optimization problem reformulation unit 130 in this way is stored in the optimization problem parameter storage unit 140.
  • An example of what is stored in the optimization problem parameter storage unit 140 is shown in FIG.
  • the optimization problem parameter storage unit 140 reads the optimization problem parameter according to the request from the problem solving apparatus 10 and sends it to the management unit 150.
  • the discrete variable optimizing unit 160 In the management unit 150, the discrete variable optimizing unit 160, the continuous variable optimizing unit 180, the entanglement changing unit 200, the effective constraint estimating unit 220, in accordance with the procedure of the algorithm for alternately optimizing the discrete variable and the continuous variable described later,
  • the stop condition determination unit 230 is called, and when the stop condition determination unit 230 determines that the stop condition is satisfied, the determined variable value storage unit 240 stores the obtained solution.
  • the specific algorithm is given below.
  • the discrete variable optimization unit 160 optimizes the discrete variable in the optimization problem (2) when the continuous variable is fixed at a certain point. Continuous variables of optimization problem (2) And remove the constant term, When the coefficient ⁇ is added to, the following optimization problem occurs.
  • changes the degree of influence of the term in which the continuous variable and the discrete variable are multiplied, and the larger the ⁇ , the more the continuous variable. It becomes a problem considering.
  • This coefficient ⁇ refers to what is stored in the parameter storage unit 210 by the entanglement change unit 200.
  • the discrete variable optimizing unit 160 changes the following optimization problem (2) in order to solve it with the Ising machine at each iteration.
  • the term is a barrier function for equality constraints, and the solution satisfies the equality constraint when the penalty parameter ⁇ 1 is large enough.
  • the term is a barrier function for inequality constraints, and the solution is when the penalty parameter ⁇ 2 is large enough.
  • Is a subscript set of constraints that are presumed to be valid among the inequality constraints, and refers to those stored in the parameter storage section 210 by the valid constraint estimation section 220. Since this problem is an unconstrained quadratic programming problem with only 0-1 variables, it can be solved using each Ising machine.
  • the continuous variable optimization unit 180 optimizes the continuous variable in the optimization problem when the discrete variable is fixed. Discrete variables of the original optimization problem (2) And remove the constant term, When the coefficient ⁇ is added to, the following optimization problem occurs.
  • This coefficient ⁇ refers to what is stored in the parameter storage unit 210 by the entanglement change unit 200.
  • the above optimization problem Is a semi-regular definite matrix, it is a convex quadratic programming problem and can be solved by using various interior point methods such as the main dual interior point method.
  • the entanglement changing unit 200 sequentially updates the entanglement coefficient ⁇ .
  • the effective constraint estimation unit 220 estimates, as effective constraints, a constraint that does not satisfy the current solution and a constraint that satisfies the equality, among the constraints including the inequality, which are constraints on the discrete variables. Specifically, the effective constraint estimation unit 220 sets a set of constraints estimated to be effective. Is a set consisting of constraints that are satisfied by the equation and constraints that are not satisfied at the current discrete variable value z k . When optimizing for discrete variables about Even when, the value of the barrier function corresponding to this constraint is 0. for that reason, about In some cases, unnecessary constraints will be excluded from the set of constraints that are presumed to be valid in the next iteration. By using this algorithm, the solution of the optimization problem (2), that is, the optimization problem (1) can be obtained.
  • the discrete variable value storage unit 170 is a discrete variable calculated by the discrete variable optimization unit 160 at each iteration.
  • the continuous variable value storage unit 190 is a continuous variable calculated by the continuous variable optimization unit 180 at each iteration.
  • the parameter storage unit 210 has a parameter ⁇ k + 1 calculated by the entanglement change unit 200 and a parameter calculated by the effective constraint estimation unit 220 in each iteration.
  • An example of data stored in the discrete variable value storage unit 170 is shown in FIG.
  • FIG. 5 shows an example of data accumulated in the continuous variable value accumulating unit 190.
  • FIG. 6 shows an example of data stored in the parameter storage unit 210.
  • the output unit 250 reads the solution stored in the coefficient of determination value storage unit 240 and outputs it.
  • FIG. 7 shows an example of data stored in the coefficient-determined value storage unit 240.
  • the problem solving device 10 is realized by a computer 84 shown in FIG. 8 as an example.
  • the computer 84 includes a CPU 86, a memory 88, a storage unit 92 storing the program 82, a display unit 94 including a monitor, and an input unit 96 including a keyboard and a mouse.
  • the CPU 86, the memory 88, the storage unit 92, the display unit 94, and the input unit 96 are connected to each other via a bus 98.
  • the storage unit 92 is realized by an HDD, SSD, flash memory, or the like.
  • the storage unit 92 stores a program 82 for making the computer 84 function as the problem solving device 10.
  • the CPU 86 reads the program 82 from the storage unit 92, expands the program 82 into the memory 88, and executes the program 82.
  • the program 82 may be stored in a computer-readable medium and provided.
  • the operation unit 110 targets an optimization problem that can be formulated into a 0-1 mixed integer quadratic programming problem in which constraints for discrete variables and constraints for continuous variables are separated.
  • the constant parameters in the optimization problem of the processing target are stored in the problem parameter storage unit 120.
  • the problem-solving device 10 executes the problem-solving processing routine shown in FIG.
  • step S100 the optimization problem reformulation unit 130 acquires constant parameters in the optimization problem to be processed.
  • step S102 the optimization problem reformulation unit 130 uses the problem parameters transmitted from the problem parameter storage unit 120 to separate the constraints for discrete variables from the constraints for continuous variables. Formulate into a quadratic programming problem.
  • step S104 the management unit 150 initializes the discrete variable and the continuous variable, the coefficient of entanglement, and the effective constraint.
  • step S106 the discrete variable optimizing unit 160 optimizes the formalization in step S102 when the continuous variable is fixed to a certain point based on the discrete variable and the continuous variable, the entanglement coefficient, and the effective constraint. Optimize the discrete variables in the problem.
  • step S108 the continuous variable optimizing unit 180 determines the continuity in the optimization problem formulated in step S102 when the discrete variable is fixed based on the discrete variable and the continuous variable, the entanglement coefficient, and the effective constraint. Optimize variables.
  • step S110 the entanglement changing unit 200 updates the entanglement coefficient ⁇ so as to gradually increase the influence of the term in which the discrete variable and the continuous variable are multiplied.
  • the effective constraint estimation unit 220 regards, as effective constraints, constraints that are not related to discrete variables and that are not satisfied at the current values of the discrete variables and that are satisfied by the equalities, among the constraints including inequalities. presume.
  • step S114 the stop condition determination unit 230 determines whether the stop condition is satisfied, and if the stop condition is satisfied, the management unit 150 shifts to step S116, and if the condition is not satisfied, the management unit 150 moves. , Steps S106 to S114 are repeated.
  • step S116 the output unit 250 reads the solutions that are the continuous variables and discrete variables finally obtained in steps S106 and S108, outputs them, and ends the problem-solving processing routine.
  • the problem solving device is an optimization problem in which the optimization problem of the processing target is separated into a constraint on discrete variables and a constraint on continuous variables.
  • the continuous variable is fixed to a certain point by Ising machine, and the discrete variable is optimized in the reformulated optimization problem. Fixed to and repeat optimization for continuous variables in the reformulated optimization problem. As a result, the solution of the optimization problem can be obtained while suppressing the calculation amount.
  • the reformulation optimization problem by changing the entanglement coefficient representing the influence of the term in which the discrete variable and the continuous variable are multiplied, it is possible to prevent a bad local solution from falling.
  • the final objective function value is also a good value.
  • the coefficient of determination is for each t These are variables that represent the remaining battery level at time t, the amount of power generated by the engine, the amount of power generated by electric power, and the ON-OFF of the power supply of the engine.
  • the constant is And the quadratic of the cost coefficient for the remaining power, the maximum amount of power held, the end time, the cost coefficient for starting the engine, the power demand for each time, the maximum power of the engine, and the cost function for the power of the engine.
  • the first is the dynamic system of the remaining electric power
  • the second is the restriction for the total power amount to exceed the power demand
  • the third is the restriction on the power amount by the engine.
  • the optimization problem reformulation unit 130 uses the problem parameters transmitted from the problem parameter storage unit 120 to formulate a 0-1 mixed integer quadratic programming problem in which constraints are separated for discrete variables and continuous variables. Perform conversion.
  • a 0-1 mixed integer quadratic programming problem in which constraints are separated for discrete variables and continuous variables. Perform conversion.
  • an example of the formulation method will be described.
  • the optimization problem (3) can be formulated as follows.
  • This problem is a 0-1 mixed integer quadratic programming problem in which the constraints for discrete variables and continuous variables are separated, and can be converted into the following problem form by performing correct conversion.
  • the optimization problem (4) reformulated in this way by the optimization problem reformulation unit 130 is stored in the optimization problem parameter storage unit 140.
  • An example of what is accumulated is shown in FIG.
  • the optimization problem parameter storage unit 140 reads out the optimization problem parameters and sends them to the management unit 150 in accordance with the request of the problem solving device 10.
  • the management unit 150 follows a procedure of an algorithm for alternately optimizing a discrete variable and a continuous variable, which will be described later, and the discrete variable optimizing unit 160, the continuous variable optimizing unit 180, the entanglement changing unit 200, the effective constraint estimating unit 220, When the stop condition determination unit 230 is called and the stop condition determination unit 230 determines that the number of iterations has reached the maximum number of iterations, the determinant variable value storage unit 240 stores the obtained solution.
  • the specific algorithm is given below.
  • the discrete variable optimization unit 160 optimizes the discrete variable in the optimization problem (4) when the continuous variable is fixed at a certain point. Specifically, the continuous variables of the optimization problem (4) And remove the constant term, When the coefficient ⁇ is added to, the following optimization problem occurs.
  • changes the degree of influence of the term in which the continuous variable and the discrete variable are multiplied, and the larger the ⁇ , the more the continuous variable. It becomes a problem considering.
  • the term is a barrier function for inequality constraints, and the solution is when the penalty parameter ⁇ 2 is large enough. about Is decided to meet as much as possible. Also, Is a subscript set of constraints that are presumed to be valid within the inequality constraint and is updated at each iteration in the algorithm.
  • the continuous variable optimization unit 180 optimizes the continuous variable in the optimization problem (4) when the discrete variable is fixed. Discrete variables in the original problem (4) And remove the constant term, When the coefficient ⁇ is added to, the following optimization problem occurs.
  • the above optimization problem is a convex quadratic programming problem because P 1 is a semi-normal definite matrix. Therefore, it can be solved by using various interior point methods such as the main dual interior point method.
  • the discrete variable value storage unit 170 is a discrete variable calculated by the discrete variable optimization unit 160 at each iteration.
  • the continuous variable value storage unit 190 is a continuous variable calculated by the continuous variable optimization unit 180 at each iteration.
  • the problem parameter storage unit 120 has a parameter ⁇ k + 1 calculated by the entanglement change unit 200 and a parameter calculated by the effective constraint estimation unit 220 in each iteration.
  • FIG. 11 shows an example of data stored in the optimization problem parameter storage unit 140.
  • FIG. 12 shows an example of data stored in the discrete variable value storage unit 170.
  • FIG. 13 shows an example of data stored in the continuous variable value storage unit 190.
  • FIG. 14 shows an example of the data stored in the parameter storage unit 210.
  • the output unit 250 reads the solution stored in the coefficient of determination value storage unit 240 and outputs it.
  • FIG. 15 shows an example of data stored in the coefficient-determined value storage unit 240.
  • the problem solving apparatus is an optimization problem in which the constraint for discrete variables and the constraint for continuous variables are separated from the optimization problem to be processed.
  • the continuous variable is fixed to a certain point by Ising machine, and the discrete variable is optimized in the reformulated optimization problem. It is fixed to and the optimization is repeated for the continuous variables in the reformulated optimization problem. By this, the solution of the optimization problem can be obtained while suppressing the calculation amount.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Pure & Applied Mathematics (AREA)
  • Strategic Management (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Databases & Information Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Tourism & Hospitality (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Abstract

計算量を抑えながら、最適化問題の解を求めることができる。 最適化問題再定式化部130が、処理対象の最適化問題を、離散変数についての制約と連続変数についての制約とが分離している最適化問題に再定式化する。離散変数最適化部160が、連続変数をある点に固定して、再定式化した最適化問題における離散変数について最適化を行う。連続変数最適化部180が、離散変数をある点に固定して、再定式化した最適化問題における連続変数について最適化を行う。絡み変更部200が、再定式化した最適化問題における、離散変数と連続変数が掛け合わされている項の影響力を表す絡み係数を変更する。管理部150が、予め定められた停止条件を満たすまで、離散変数最適化部160、連続変数最適化部180、及び絡み変更部200の各処理を繰り返させる。

Description

問題求解装置、方法、及びプログラム
 本発明は、問題求解装置、方法、及びプログラムに係り、特に、最適化問題の解を求める問題求解装置、方法、及びプログラムに関する。
 制御最適化やスケジューリング最適化等の応用をもつ、0-1混合整数二次計画問題に対する既存の解法としては、厳密解法である分枝限定法(非特許文献1)やヒューリスティック解法であるAlternating Direction Method of Multipliers (ADMM)が挙げられる(非特許文献2)。分枝限定法は各離散変数に対して、場合分けを行いながら大域的最適解を求める手法である。ADMMは、問題を変形させ、その拡張ラグランジュ関数に対して各変数を交互に最適化するものである。
Lawler, E. L., Wood, D. E. (1966). Branch-and-bound methods: A survey. Operations research, 14(4), 699-719. Takapoui, R., Moehle, N., Boyd, S., Bemporad, A. (2017). A simple effective heuristic for embedded mixed-integer quadratic programming. International Journal of Control, 1-11.
 しかし、上記の従来技術には以下の未解決の点がある。
 厳密解法である分枝限定法は離散変数一つ一つに関して場合分けを行う手法であるため、計算量が指数関数的に増大してしまう。ヒューリスティック解法であるADMMは最終的な解が制約を満たさない場合や悪い目的関数値をもつ解に到達する場合がある。
 本発明は、上記事情を鑑みて成されたものであり、計算量を抑えながら、最適化問題の解を求めることができる問題求解装置、方法、及びプログラムを提供することを目的とする。
 上記目的を達成するために、第1の態様に係る問題求解装置は、離散変数と連続変数を含む二次計画問題であって、かつ、前記離散変数についての制約と前記連続変数についての制約とが分離している二次計画問題に定式化可能な最適化問題に対して、解を出力する問題求解装置であって、処理対象の最適化問題を、前記離散変数についての制約と前記連続変数についての制約とが分離している最適化問題に再定式化する最適化問題再定式化部と、前記連続変数をある点に固定して、前記再定式化した最適化問題における前記離散変数について最適化を行う離散変数最適化部と、前記離散変数をある点に固定して、前記再定式化した最適化問題における前記連続変数について最適化を行う連続変数最適化部と、前記再定式化した最適化問題における、前記離散変数と前記連続変数が掛け合わされている項の影響力を表す絡み係数を変更する絡み変更部と、予め定められた停止条件を満たすまで、前記離散変数最適化部による最適化、前記連続変数最適化部による最適化、前記絡み変更部による変更を繰り返させる管理部と、を含んで構成されている。
 第2の態様に係る問題求解方法は、離散変数と連続変数を含む二次計画問題であって、かつ、前記離散変数についての制約と前記連続変数についての制約とが分離している二次計画問題に定式化可能な最適化問題に対して、解を出力する問題求解装置における問題求解方法であって、最適化問題再定式化部が、処理対象の最適化問題を、前記離散変数についての制約と前記連続変数についての制約とが分離している最適化問題に再定式化し、離散変数最適化部が、前記連続変数をある点に固定して、前記再定式化した最適化問題における前記離散変数について最適化を行い、連続変数最適化部が、前記離散変数をある点に固定して、前記再定式化した最適化問題における前記連続変数について最適化を行い、絡み変更部が、前記再定式化した最適化問題における、前記離散変数と前記連続変数が掛け合わされている項の影響力を表す絡み係数を変更し、管理部が、予め定められた停止条件を満たすまで、前記離散変数最適化部による最適化、前記連続変数最適化部による最適化、前記絡み変更部による変更を繰り返させる。
 第3の発明に係るプログラムは、離散変数と連続変数を含む二次計画問題であって、かつ、前記離散変数についての制約と前記連続変数についての制約とが分離している二次計画問題に定式化可能な最適化問題に対して、解を出力する問題求解処理を行うためのプログラムであって、コンピュータに、処理対象の最適化問題を、前記離散変数についての制約と前記連続変数についての制約とが分離している最適化問題に再定式化し、前記連続変数をある点に固定して、前記再定式化した最適化問題における前記離散変数について最適化を行い、前記離散変数をある点に固定して、前記再定式化した最適化問題における前記連続変数について最適化を行い、前記再定式化した最適化問題における、前記離散変数と前記連続変数が掛け合わされている項の影響力を表す絡み係数を変更し、予め定められた停止条件を満たすまで、前記離散変数についての最適化、前記連続変数についての最適化、及び前記絡み係数の変更を繰り返させることを実行させるためのプログラムである。
 本発明の一態様に係る問題求解装置、方法、及びプログラムによれば、計算量を抑えながら、最適化問題の解を求めることができる、という効果が得られる。
本発明の第1の実施の形態に係る問題求解装置の構成を示すブロック図である。 問題パラメータ蓄積部の一例を示す図である。 最適化問題パラメータ蓄積部の一例を示す図である。 離散変数値蓄積部の一例を示す図である。 連続変数値蓄積部の一例を示す図である。 パラメータ蓄積部の一例を示す図である。 決定変数値蓄積部の一例を示す図である。 問題求解装置として機能するコンピュータの一例の概略ブロック図である。 本発明の第1の実施の形態に係る問題求解装置における問題求解処理ルーチンを示すフローチャートである。 問題パラメータ蓄積部の一例を示す図である。 最適化問題パラメータ蓄積部の一例を示す図である。 離散変数値蓄積部の一例を示す図である。 連続変数値蓄積部の一例を示す図である。 パラメータ蓄積部の一例を示す図である。 決定変数値蓄積部の一例を示す図である。
 以下、図面を参照して本発明の実施の形態を詳細に説明する。
<本発明の実施の形態に係る概要>
 まず、本発明の実施の形態における概要を説明する。
 本発明の実施の形態では、最適化問題を連続変数に関わる部分と離散変数に関わる部分に分割し、反復的にそれらを解いていくことによって最終的な解を求める。離散変数部分に関する最適化問題については、有効な制約を推定することで問題を適切に変形させる。これにより、イジングマシンが使用できる問題形式になるため、高速に問題を解くことが可能になる。また、目的関数に対して適切に障壁関数を設定することで、解に制約を満たすように働きかけることが可能となる。さらに、目的関数において連続変数と離散変数が掛け合わされている部分に、係数パラメータを導入することで、その部分の影響力を反復ごとに変化させる。その結果、比較的良い目的関数値をもつ最終的な解を得ることができる。
 ここで、イジングマシンとは、組合せ最適化問題をイジングモデルで表現し、組合せ最適化問題を解決するマシンの総称(参考文献1)である。具体的なイジングマシンとしては、D-wave (参考文献2)、富士通デジタルアニーラ(参考文献2)、CMOS アニーリングマシン(参考文献4)、LASOLV (参考文献5)などが挙げられる。
[参考文献1] 産総研:量子アニーリングマシンを使いこなす共通ソフトウェア基盤の研究開発に採択(最終閲覧日:2018 年1 月25 日)https://www.aist.go.jp/aist j/press release/pr2018/pr20181009/pr20181009.html#b
[参考文献2]D-wave The quantum computing Company( 最終閲覧日:2018 年1 月25 日)https://www.dwavesys.com/home
[参考文献3]デジタルアニーラ- 富士通の新アーキテクチャコンピュータ: Fujitsu Japan(最終閲覧日:2018 年1 月25 日)http://www.fujitsu.com/jp/digitalannealer/
[参考文献4]ニュースリリース:2018 年9 月19 日:日立- 日立製作所( 最終閲覧日:2018 年1 月25 日)http://www.hitachi.co.jp/New/cnews/month/2018/09/0919.html
[参考文献5] 光を使った新しいコンピュータ「LASOLV」( 最終閲覧日:2018 年1 月25 日)http://www.ntt.co.jp/event/2018/pdf/ceatec18/10 future-tech ntt.pdf
 イジングマシンで解くことが可能な問題は以下のような無制約0-1 整数二次計画問題である。
Figure JPOXMLDOC01-appb-M000001

 
ここで、
Figure JPOXMLDOC01-appb-I000002

 
はn×nの定行列、
Figure JPOXMLDOC01-appb-I000003

 
はn次元の定ベクトルである。
[第1の実施の形態]
<本発明の第1の実施の形態に係る問題求解装置の構成>
 次に、本発明の実施の形態に係る問題求解装置の構成について説明する。図1に示すように、本発明の実施の形態に係る問題求解装置10は、CPUと、RAMと、後述する問題求解処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この問題求解装置10は、機能的には図1に示すように操作部110と、演算部20と、出力部250とを備えている。
 操作部110は、離散変数についての制約と連続変数についての制約が分離している0-1混合整数二次計画問題に定式化可能な最適化問題を、処理対象として受け付ける。ここで、0-1混合整数二次計画問題とは、離散変数と連続変数の双方を変数として持ち、離散変数が0又は1である二次計画問題である。
 具体的には、以下のような問題を受け付ける。
Figure JPOXMLDOC01-appb-M000004

                                                               (1)
 但し、決定変数は
Figure JPOXMLDOC01-appb-I000005

 
であり、定数は
Figure JPOXMLDOC01-appb-I000006

 
Figure JPOXMLDOC01-appb-I000007

 
である。また、
Figure JPOXMLDOC01-appb-I000008

 
であり、全てのi、j について、
Figure JPOXMLDOC01-appb-I000009

 
である。ここで、新たな離散変数
Figure JPOXMLDOC01-appb-I000010

 
と等式制約
Figure JPOXMLDOC01-appb-I000011

 
を導入すれば、
Figure JPOXMLDOC01-appb-I000012

 

Figure JPOXMLDOC01-appb-I000013

 
と変更することができるため、上記の問題において、
Figure JPOXMLDOC01-appb-I000014

 
とおいても一般性を失わない。
 上記の問題形式に変更できる応用には、異なる動力をもつ車両の動力配分決定問題(参考文献8)、経済給電のための最適化問題(参考文献9)、発電所のスケジューリング問題(参考文献10)や車両の最適経路問題(参考文献11)など、多くの問題が存在する。
[参考文献8]Boyd, S.,Vandenberghe, L. (2004). Convex optimization. Cambridge university press.
[参考文献9]Papageorgiou, L. G., Fraga, E. S. (2007). A mixed integer quadratic programming formulation for the economic dispatch of generators with prohibited operating zones. Electric power systems research, 77(10), 1292-1296.
[参考文献10]Catalao, J. P. D. S., Pousinho, H. M. I., Mendes, V. M. F. (2010). Scheduling of head-dependent cascaded hydro systems: Mixed-integer quadratic programming approach. Energy Conversion and Management, 51(3), 524-530.
[参考文献11]Schouwenaars, T., De Moor, B., Feron, E., How, J. (2001). Mixed integer programming for multi-vehicle path planning. In Control Conference (ECC), 2001 European (pp. 2603-2608). IEEE.
 演算部20は、問題パラメータ蓄積部120、最適化問題再定式化部130、最適化問題パラメータ蓄積部140、最適化部100、及び決定変数値蓄積部240を含んで構成されている。
 最適化部100は、管理部150、離散変数最適化部160、離散変数値蓄積部170、連続変数最適化部180、連続変数値蓄積部190、絡み変更部200、パラメータ蓄積部210、有効制約推定部220、及び停止条件判定部230を備えている。
 最適化問題再定式化部130は、受け付けた最適化問題を別の問題形式へ変形するように再定式化する。離散変数最適化部160は、再定式化された問題から離散変数部分についてのみ切り出した問題を変形し、イジングマシンで解く。連続変数最適化部180は、再定式化された問題から連続変数部分についてのみ切り出した問題を、古典コンピュータで解く。絡み変更部200は、離散変数と連続変数が掛け合わされている項の影響力を変化させることで、最終的な解が極端に悪い解となることを防ぐ。有効制約推定部220は、離散変数に関する不等式で解において等式が成り立つものを推定することで、離散変数最適化部160で元の問題をイジングマシンで解くことができる問題に変形することが可能となる。停止条件判定部230は停止条件を満たすか否かを判定し、停止条件が満たされる場合、反復を終了させる。管理部150は、離散変数最適化部160、連続変数最適化部180、絡み変更部200、有効制約推定部220、及び停止条件判定部230を反復的に呼び出し、実行する。
 次に、問題求解装置10の各部の詳細な説明を以下に記載する。
 問題パラメータ蓄積部120は、上記最適化問題における定数パラメータを格納しており、問題求解装置10からの要求に従い定数パラメータを読み出し、最適化問題再定式化部130に送信する。具体的には、最適化問題(1) の定数パラメータである
Figure JPOXMLDOC01-appb-I000015

 
Figure JPOXMLDOC01-appb-I000016

 
の情報である。問題パラメータ蓄積部120に蓄積されるものの例を図2に示す。
 最適化問題再定式化部130は、問題パラメータ蓄積部120から送信された問題パラメータを用いて、離散変数についての制約と連続変数についての制約が分離している0-1 混合整数二次計画問題へと定式化を行う。以下、定式化の方法の一例について説明する。
 まず、十分大きな定数Mとスラック変数
Figure JPOXMLDOC01-appb-I000017

 
を導入することで、離散変数についての制約と連続変数についての制約とが分離するように、最適化問題(1)を以下のように定式化することができる。
Figure JPOXMLDOC01-appb-M000018

                                                               (2)
 この問題は、離散変数についての制約と連続変数についての制約とが分離している0-1 混合整数二次計画問題であり、決定変数x、sを決定変数xと再定義し、定数に変更を行うことで以下のような問題形式に変換することができる。
Figure JPOXMLDOC01-appb-M000019

 
 このとき、決定変数は
Figure JPOXMLDOC01-appb-I000020

 
であり、定数は
Figure JPOXMLDOC01-appb-I000021

 
Figure JPOXMLDOC01-appb-I000022

 
である。
 このようにして最適化問題再定式化部130により再定式化された最適化問題(2)は最適化問題パラメータ蓄積部140へと格納される。最適化問題パラメータ蓄積部140に蓄積されるものの例を図3に示す。最適化問題パラメータ蓄積部140は問題求解装置10の要求に従い、最適化問題パラメータを読み出し、管理部150に送信する。
 管理部150では、後述する離散変数と連続変数を交互に最適化するアルゴリズムの手順に沿って、離散変数最適化部160、連続変数最適化部180、絡み変更部200、有効制約推定部220、停止条件判定部230を呼び出し、停止条件判定部230において停止条件が満たされたとみなされたとき、決定変数値蓄積部240に、得られた解を格納する。以下、具体的なアルゴリズムを与える。
 まず、離散変数最適化部160は、連続変数をある点に固定したときの、最適化問題(2)における離散変数を最適化する。最適化問題(2)の連続変数を
Figure JPOXMLDOC01-appb-I000023

 
と固定し、定数項を取り除き、
Figure JPOXMLDOC01-appb-I000024

 
に係数η をつけると、以下のような最適化問題となる。
Figure JPOXMLDOC01-appb-M000025

 
 ここで、ηは連続変数と離散変数の掛け合わされている項の影響力の度合いを変化させるものであり、ηが大きければ大きいほど、連続変数
Figure JPOXMLDOC01-appb-I000026

 
を考慮している問題となる。この係数ηは絡み変更部200によってパラメータ蓄積部210に蓄積されているものを参照したものである。
 さらに、離散変数最適化部160は、上記の最適化問題(2)を、各反復でイジングマシンで解くために以下のように変更する。
Figure JPOXMLDOC01-appb-M000027

 
 ここで、
Figure JPOXMLDOC01-appb-I000028

 
の項は等式制約に関する障壁関数であり、ペナルティパラメータμ1が十分大きいとき解は等式制約を満たす。
Figure JPOXMLDOC01-appb-I000029

 
の項は不等式制約に関する障壁関数であり、ペナルティパラメータμ2 が十分大きいとき解は
Figure JPOXMLDOC01-appb-I000030

 
について
Figure JPOXMLDOC01-appb-I000031

 
または
Figure JPOXMLDOC01-appb-I000032

 
をなるべく満たすように決定される。ここで、
Figure JPOXMLDOC01-appb-I000033

 
は不等式制約の中で有効と推定される制約の添え字集合であり、有効制約推定部220によってパラメータ蓄積部210に蓄積されたものを参照したものである。この問題は0-1変数のみの無制約二次計画問題であるため、各イジングマシンを用いて解くことができる。
 離散変数における不等式制約については、新たに変数を導入することで等式制約に変換する手法(参考文献12)が既に考案されているが、上記の有効な制約を推定する手法は新たに変数を導入する必要が無く、変数の数に制限のあるイジングマシン上で実装を行いやすいという特徴をもつ。
 次に、連続変数最適化部180は、離散変数を固定したときの、最適化問題における連続変数を最適化する。元の最適化問題(2) の離散変数を
Figure JPOXMLDOC01-appb-I000034

 
と固定し、定数項を取り除き、
Figure JPOXMLDOC01-appb-I000035

 
に係数ηをつけると、以下のような最適化問題となる。
Figure JPOXMLDOC01-appb-M000036

 
 このとき、η が大きければ大きいほど、離散変数
Figure JPOXMLDOC01-appb-I000037

 
を考慮している問題となる。この係数ηは絡み変更部200によって、パラメータ蓄積部210に蓄積されているものを参照したものである。
 上記の最適化問題は
Figure JPOXMLDOC01-appb-I000038

 
が半正定値対称行列であるとき、凸二次計画問題であり、主双対内点法などの各種内点法を用いて解くことができる。
 以上の離散変数部分の最適化と連続変数部分の最適化に加え、各パラメータの更新を行う、後述のアルゴリズム中では、
Figure JPOXMLDOC01-appb-I000039

 
の部分で、絡み変更部200が絡みの係数ηを逐次更新している。このようにして離散変数と連続変数が掛け合わされている項の影響力を段々と大きくしていくことで極端に悪い解へと収束してしまうことを防ぐ。
 また、有効制約推定部220は、離散変数に関する制約であって、不等式を含む制約のうち、現時点での解において満たさない制約及び等式で満たされる制約を、有効な制約として推定する。具体的には、有効制約推定部220は、有効と推定される制約の集合
Figure JPOXMLDOC01-appb-I000040

 
を、現時点の離散変数の値zkにおいて等式で満たされる制約と、満たしていない制約とからなる集合としている。離散変数に関して最適化を行う際には
Figure JPOXMLDOC01-appb-I000041

 
について
Figure JPOXMLDOC01-appb-I000042

 
であるときも、この制約に対応する障壁関数の値は0となる。そのため、
Figure JPOXMLDOC01-appb-I000043

 
について
Figure JPOXMLDOC01-appb-I000044

 
となる場合が生じるので,不必要な制約は次の反復で有効と推定される制約集合から外れることになる。このアルゴリズムを用いることによって、最適化問題(2)、すなわち最適化問題(1) の解を求めることができる。
 具体的なアルゴリズムは以下のようなものとなる。
Figure JPOXMLDOC01-appb-M000045

 
 離散変数値蓄積部170は、各反復において離散変数最適化部160によって計算された離散変数
Figure JPOXMLDOC01-appb-I000046

 
を記憶する。連続変数値蓄積部190は、各反復において連続変数最適化部180によって計算された連続変数
Figure JPOXMLDOC01-appb-I000047

 
を記憶する。パラメータ蓄積部210は各反復において絡み変更部200によって計算されたパラメータηk+1と有効制約推定部220によって計算されたパラメータ
Figure JPOXMLDOC01-appb-I000048

 
を記憶する。離散変数値蓄積部170に蓄積するデータの例を図4に示す。連続変数値蓄積部190に蓄積するデータの例を図5に示す。パラメータ蓄積部210に蓄積するデータの例を図6に示す。
 出力部250は、決定変数値蓄積部240に格納された解を読み込み、それを出力する。決定変数値蓄積部240に蓄積するデータの例を図7に示す。
 問題求解装置10は、一例として、図8に示すコンピュータ84によって実現される。コンピュータ84は、CPU86、メモリ88、プログラム82を記憶した記憶部92、モニタを含む表示部94、及びキーボードやマウスを含む入力部96を含んでいる。CPU86、メモリ88、記憶部92、表示部94、及び入力部96はバス98を介して互いに接続されている。
 記憶部92はHDD、SSD、フラッシュメモリ等によって実現される。記憶部92には、コンピュータ84を問題求解装置10として機能させるためのプログラム82が記憶されている。CPU86は、プログラム82を記憶部92から読み出してメモリ88に展開し、プログラム82を実行する。なお、プログラム82をコンピュータ可読媒体に格納して提供してもよい。
<本発明の第1の実施の形態に係る問題求解装置10の作用>
 次に、本発明の実施の形態に係る問題求解装置10の作用について説明する。問題求解装置10において、操作部110は、離散変数についての制約と連続変数についての制約が分離している0-1混合整数二次計画問題に定式化可能な最適化問題を、処理対象として受け付けると、処理対象の最適化問題における定数パラメータを問題パラメータ蓄積部120に格納する。そして、問題求解装置10は、図9に示す問題求解処理ルーチンを実行する。
 まず、ステップS100では、最適化問題再定式化部130は、処理対象の最適化問題における定数パラメータを取得する。
 ステップS102では、最適化問題再定式化部130は、問題パラメータ蓄積部120から送信された問題パラメータを用いて、離散変数についての制約と連続変数についての制約が分離している0-1 混合整数二次計画問題へと定式化を行う。
 ステップS104では、管理部150は、離散変数と連続変数、絡みの係数、及び有効制約を初期化する。
 ステップS106では、離散変数最適化部160は、離散変数と連続変数、絡みの係数、及び有効制約に基づいて、連続変数をある点に固定したときの、上記ステップS102で定式化された最適化問題における離散変数を最適化する。
 ステップS108では、連続変数最適化部180は、離散変数と連続変数、絡みの係数、及び有効制約に基づいて、離散変数を固定したときの、上記ステップS102で定式化された最適化問題における連続変数を最適化する。
 ステップS110では、絡み変更部200が、離散変数と連続変数が掛け合わされている項の影響力を段々と大きくするように絡みの係数ηを更新する。
 ステップS112では、有効制約推定部220は、離散変数に関する制約であって、不等式を含む制約のうち、現時点での離散変数の値において満たさない制約及び等式で満たされる制約を、有効な制約として推定する。
 ステップS114では、停止条件判定部230が、停止条件を満たすかを判定し、停止条件を満たしていれば、管理部150が、ステップS116へ移行し、条件を満たしていなければ、管理部150が、ステップS106~S114の処理を繰り返す。
 ステップS116では、出力部250は、上記ステップS106、S108で最終的に得られた連続変数及び離散変数である解を読み込み、それを出力し、問題求解処理ルーチンを終了する。
 以上説明したように、本発明の第1の実施の形態に係る問題求解装置は、処理対象の最適化問題を、離散変数についての制約と連続変数についての制約とが分離している最適化問題に再定式化し、イジングマシンを用いて、連続変数をある点に固定して、再定式化した最適化問題における離散変数について最適化を行うことと、古典コンピュータを用いて、離散変数をある点に固定して、再定式化した最適化問題における連続変数について最適化を行うことを繰り返す。これにより、計算量を抑えながら、最適化問題の解を求めることができる。
 また、イジングマシンを活用することによって計算量を抑えることができるため、高速な求解が可能となる。また、反復解法であることを利用して、有効な制約を推定していくことで障壁関数の導入が可能となり、解に制約を満たさせることができる。
 また、再定式化した最適化問題における、離散変数と連続変数が掛け合わされている項の影響力を表す絡み係数を変更することを反復毎に行うことにより、悪い局所解に陥ることを防ぎ、最終的な目的関数値も良い値となる。
[第2の実施の形態]
 第2の実施の形態では、処理対象となる最適化問題として、エンジンと電力の二つを動力として持つ車両の動力配分スケジューリング問題を考える。この最適化問題は既に既存の文献(参考文献13)で定式化されている、以下のような最適化問題である。
Figure JPOXMLDOC01-appb-M000049

                                                               (3)
 但し、
Figure JPOXMLDOC01-appb-I000050

 
である。
[参考文献13]Boyd, S., Vandenberghe, L. (2004). Convex optimization. Cambridge university press.
 決定変数は各t に対する
Figure JPOXMLDOC01-appb-I000051

 
であり、それぞれ時刻t におけるバッテリーの残量、エンジンによる動力量、電力による動力量、エンジンの電源のON-OFF を表す変数である。定数は
Figure JPOXMLDOC01-appb-I000052

 
であり、それぞれ残存電力に関するコスト係数、電力の最大保有量、終端時刻、エンジンの起動にかかるコスト係数、各時刻に対する動力需要量、エンジンの最大動力量、エンジンの動力量に対するコスト関数の二次の係数、エンジンの動力量に対するコスト関数の一次の係数、エンジンの起動中にかかる固定コスト量を表している。目的関数については、
Figure JPOXMLDOC01-appb-I000053

 
が終端時刻の電力の残量が少ないと増大するコスト関数、
Figure JPOXMLDOC01-appb-I000054

 
がエンジンによる出力にかかるコスト関数、
Figure JPOXMLDOC01-appb-I000055

 
がエンジンの起動にかかるコスト関数となっている。制約については、一つ目が電力残量の動的システム、二つ目が動力需要を総動力量が上回るための制約、三つめがエンジンによる動力量に対する制約となっている。
<本発明の第2の実施の形態に係る問題求解装置の構成>
 次に、本発明の第2の実施の形態に係る問題求解装置の構成について説明する。なお、本発明の第2の実施の形態に係る問題求解装置の構成は、第1の実施の形態と同様であるため、同一符号を付して詳細な説明を省略する。
 問題パラメータ蓄積部120は上記最適化問題における定数パラメータを格納しており、問題求解装置10からの要求に従い定数パラメータを読み出し、最適化問題再定式化部130に送信する。具体的には、最適化問題(3) の定数パラメータである
Figure JPOXMLDOC01-appb-I000056

 
およびt = 0, 1,...,T-1 におけるPt desの情報である。問題パラメータ蓄積部120に蓄積されるものの例を図10に示す。
 最適化問題再定式化部130は、問題パラメータ蓄積部120から送信された問題パラメータを用いて、離散変数と連続変数について制約が分離している0-1 混合整数二次計画問題へと定式化を行う。以下、定式化の方法の一例について説明する。
 十分大きな定数M を導入することで、最適化問題(3) は以下のように定式化することができる。
Figure JPOXMLDOC01-appb-M000057

 
 この問題は離散変数と連続変数について制約が分離している0-1 混合整数二次計画問題であり、正しい変換を行うことで以下のような問題形式に変換することができる。
Figure JPOXMLDOC01-appb-M000058

                                                               (4)
 このとき、決定変数は
Figure JPOXMLDOC01-appb-I000059

 
であり、定数は
Figure JPOXMLDOC01-appb-I000060

 
である。
 以下、離散変数に関する等式の項が無いことと、連続変数部分の最適化が内点法で解くことができることを除き、上記第1の実施の形態と同一である。
 このようにして最適化問題再定式化部130により再定式化された最適化問題(4) は最適化問題パラメータ蓄積部140へと格納される。蓄積されるものの例を図11に示す。
 最適化問題パラメータ蓄積部140は問題求解装置10の要求に従い、最適化問題パラメータを読み出し、管理部150に送信する。
 管理部150は、後述する離散変数と連続変数を交互に最適化するアルゴリズムの手順に沿って、離散変数最適化部160、連続変数最適化部180、絡み変更部200、有効制約推定部220、停止条件判定部230を呼び出し、停止条件判定部230において反復の回数が最大反復回数に達したとみなされたとき、決定変数値蓄積部240に得られた解を格納する。以下、具体的なアルゴリズムを与える。
 まず、離散変数最適化部160は、連続変数をある点に固定したときの、最適化問題(4)における離散変数を最適化する。具体的には、最適化問題(4) の連続変数を
Figure JPOXMLDOC01-appb-I000061

 
と固定し、定数項を取り除き、
Figure JPOXMLDOC01-appb-I000062

 
に係数ηをつけると、以下のような最適化問題となる。
Figure JPOXMLDOC01-appb-M000063

 
 ここで、ηは連続変数と離散変数の掛け合わされている項の影響力の度合いを変化させるものであり、ηが大きければ大きいほど、連続変数
Figure JPOXMLDOC01-appb-I000064

 
を考慮している問題となる。
 さらに、上記の問題を各反復でイジングマシンで解くために以下のように変更する。
Figure JPOXMLDOC01-appb-M000065

 
 ここで、
Figure JPOXMLDOC01-appb-I000066

 
の項は不等式制約に関する障壁関数であり、ペナルティパラメータμ2が十分大きいとき解は
Figure JPOXMLDOC01-appb-I000067

 
について
Figure JPOXMLDOC01-appb-I000068

 
をなるべく満たすように決定される。また、
Figure JPOXMLDOC01-appb-I000069

 
は不等式制約の中で有効と推定される制約の添え字集合であり、アルゴリズム中の各反復において更新される。
 この問題は0-1 変数のみの無制約二次計画問題であるため、各イジングマシンを用いて解くことができる。
 離散変数における不等式制約については、新たに変数を導入することで等式制約に変換する手法(参考文献12)が既に考案されているが、上記の有効な制約を推定する手法は新たに変数を導入する必要が無く、変数の数に制限のあるイジングマシン上で実装を行いやすいという特徴をもつ。
 次に、連続変数最適化部180は、離散変数を固定したときの、最適化問題(4)における連続変数を最適化する。元の問題(4) の離散変数を
Figure JPOXMLDOC01-appb-I000070

 
と固定し、定数項を取り除き、
Figure JPOXMLDOC01-appb-I000071

 
に係数ηをつけると、以下のような最適化問題となる。
Figure JPOXMLDOC01-appb-M000072

 
 このとき、ηが大きければ大きいほど、離散変数zを考慮している問題となる。
 上記の最適化問題は問題(3) の特性より、P1 が半正定値対称行列であるため、凸二次計画問題である。そのため、主双対内点法などの各種内点法を用いて解くことができる。
 以上の離散変数部分の最適化と連続変数部分の最適化に加え、各パラメータの更新を行う具体的なアルゴリズムは以下のようなものとなる。
Figure JPOXMLDOC01-appb-M000073

 
 上記のアルゴリズム中では、有効と推定される制約の集合
を、現在の離散変数の値zkにおいて有効である制約と満たしていない制約の集合としている。離散変数に関して最適化を行う際には
Figure JPOXMLDOC01-appb-I000074

 
について
Figure JPOXMLDOC01-appb-I000075

 
であるときも、この制約に対応する障壁関数の値は0となる。そのため、
Figure JPOXMLDOC01-appb-I000076

 
について
Figure JPOXMLDOC01-appb-I000077

 
となる場合が生じるので,不必要な制約は次の反復で有効と推定される制約集合から外れることになる。このアルゴリズムを用いることによって、最適化問題(4)、すなわち最適化問題(3) の解を求めることができる。
 離散変数値蓄積部170は各反復において、離散変数最適化部160によって計算された離散変数
Figure JPOXMLDOC01-appb-I000078

 
を記憶する。連続変数値蓄積部190は各反復において連続変数最適化部180によって計算された連続変数
Figure JPOXMLDOC01-appb-I000079

 
を記憶する。問題パラメータ蓄積部120は各反復において絡み変更部200によって計算されたパラメータηk+1と有効制約推定部220によって計算されたパラメータ
Figure JPOXMLDOC01-appb-I000080

 
を記憶する。最適化問題パラメータ蓄積部140に蓄積するデータの例を図11に示す。離散変数値蓄積部170に蓄積するデータの例を図12に示す。連続変数値蓄積部190に蓄積するデータの例を図13に示す。パラメータ蓄積部210に蓄積するデータの例を図14に示す。
 出力部250は、決定変数値蓄積部240に格納された解を読み込み、それを出力する。決定変数値蓄積部240に蓄積するデータの例を図15に示す。
 なお、第2の実施の形態に係る問題求解装置10の他の構成及び作用については、第1の実施の形態と同様の構成となるため、説明を省略する。
 以上説明したように、本発明の第2の実施の形態に係る問題求解装置は、処理対象の最適化問題を、離散変数についての制約と連続変数についての制約とが分離している最適化問題に再定式化し、イジングマシンを用いて、連続変数をある点に固定して、再定式化した最適化問題における離散変数について最適化を行うことと、古典コンピュータを用いて、離散変数をある点に固定して、再定式化した最適化問題における連続変数について最適化を行うことを繰り返す、これにより、計算量を抑えながら、最適化問題の解を求めることができる。
 なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
10 問題求解装置
20 演算部
82 プログラム
84 コンピュータ
100 最適化部
110 操作部
120 問題パラメータ蓄積部
130 最適化問題再定式化部
140 最適化問題パラメータ蓄積部
150 管理部
160 離散変数最適化部
170 離散変数値蓄積部
180 連続変数最適化部
190 連続変数値蓄積部
200 絡み変更部
210 パラメータ蓄積部
220 有効制約推定部
230 停止条件判定部
240 決定変数値蓄積部
250 出力部

Claims (7)

  1.  離散変数と連続変数を含む二次計画問題であって、かつ、前記離散変数についての制約と前記連続変数についての制約とが分離している二次計画問題に定式化可能な最適化問題に対して、解を出力する問題求解装置であって、
     処理対象の最適化問題を、前記離散変数についての制約と前記連続変数についての制約とが分離している最適化問題に再定式化する最適化問題再定式化部と、
     前記連続変数をある点に固定して、前記再定式化した最適化問題における前記離散変数について最適化を行う離散変数最適化部と、
     前記離散変数をある点に固定して、前記再定式化した最適化問題における前記連続変数について最適化を行う連続変数最適化部と、
     前記再定式化した最適化問題における、前記離散変数と前記連続変数が掛け合わされている項の影響力を表す絡み係数を変更する絡み変更部と、
     予め定められた停止条件を満たすまで、前記離散変数最適化部による最適化、前記連続変数最適化部による最適化、前記絡み変更部による変更を繰り返させる管理部と、
     を含む問題求解装置。
  2.  前記離散変数についての制約であって、不等式を含む制約のうち、現時点での解において満たさない制約及び等式で満される制約を、有効な制約として推定する有効制約推定部を更に含み、
     前記管理部は、予め定められた停止条件を満たすまで、前記離散変数最適化部による最適化、前記連続変数最適化部による最適化、前記絡み変更部による変更、及び前記有効制約推定部による推定を繰り返させる請求項1記載の問題求解装置。
  3.  前記離散変数最適化部は、イジングマシンを用いて、前記再定式化した最適化問題における離散変数について最適化を行う請求項1又は2記載の問題求解装置。
  4.  離散変数と連続変数を含む二次計画問題であって、かつ、前記離散変数についての制約と前記連続変数についての制約とが分離している二次計画問題に定式化可能な最適化問題に対して、解を出力する問題求解装置における問題求解方法であって、
     最適化問題再定式化部が、処理対象の最適化問題を、前記離散変数についての制約と前記連続変数についての制約とが分離している最適化問題に再定式化し、
     離散変数最適化部が、前記連続変数をある点に固定して、前記再定式化した最適化問題における前記離散変数について最適化を行い、
     連続変数最適化部が、前記離散変数をある点に固定して、前記再定式化した最適化問題における前記連続変数について最適化を行い、
     絡み変更部が、前記再定式化した最適化問題における、前記離散変数と前記連続変数が掛け合わされている項の影響力を表す絡み係数を変更し、
     管理部が、予め定められた停止条件を満たすまで、前記離散変数最適化部による最適化、前記連続変数最適化部による最適化、前記絡み変更部による変更を繰り返させる
     問題求解方法。
  5.  有効制約推定部が、前記離散変数についての制約であって、不等式を含む制約のうち、解において等式を満たす制約を、有効な制約として推定することを更に含み、
     前記管理部が繰り返させることでは、予め定められた停止条件を満たすまで、前記離散変数最適化部による最適化、前記連続変数最適化部による最適化、前記絡み変更部による変更、及び前記有効制約推定部による推定を繰り返させる請求項4記載の問題求解方法。
  6.  前記離散変数最適化部が最適化を行うことでは、イジングマシンを用いて、前記再定式化した最適化問題における離散変数について最適化を行う請求項4又は5記載の問題求解方法。
  7.  離散変数と連続変数を含む二次計画問題であって、かつ、前記離散変数についての制約と前記連続変数についての制約とが分離している二次計画問題に定式化可能な最適化問題に対して、解を出力する問題求解処理を行うためのプログラムであって、
     コンピュータに、
     処理対象の最適化問題を、前記離散変数についての制約と前記連続変数についての制約とが分離している最適化問題に再定式化し、
     前記連続変数をある点に固定して、前記再定式化した最適化問題における前記離散変数について最適化を行い、
     前記離散変数をある点に固定して、前記再定式化した最適化問題における前記連続変数について最適化を行い、
     前記再定式化した最適化問題における、前記離散変数と前記連続変数が掛け合わされている項の影響力を表す絡み係数を変更し、
     予め定められた停止条件を満たすまで、前記離散変数についての最適化、前記連続変数についての最適化、及び前記絡み係数の変更を繰り返させる
     ことを実行させるためのプログラム。
PCT/JP2020/008065 2019-03-05 2020-02-27 問題求解装置、方法、及びプログラム Ceased WO2020179624A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/436,589 US20220171899A1 (en) 2019-03-05 2020-02-27 Problem solving device, method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-039692 2019-03-05
JP2019039692A JP7124767B2 (ja) 2019-03-05 2019-03-05 問題求解装置、方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2020179624A1 true WO2020179624A1 (ja) 2020-09-10

Family

ID=72337738

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/008065 Ceased WO2020179624A1 (ja) 2019-03-05 2020-02-27 問題求解装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US20220171899A1 (ja)
JP (1) JP7124767B2 (ja)
WO (1) WO2020179624A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021131723A (ja) * 2020-02-19 2021-09-09 富士通株式会社 情報処理方法、情報処理装置及びプログラム
US11643982B1 (en) * 2021-11-18 2023-05-09 Mitsubishi Electric Research Laboratories, Inc. Sequential convexification method for model predictive control of nonlinear systems with continuous and discrete elements of operations
WO2024261812A1 (ja) * 2023-06-19 2024-12-26 日本電気株式会社 情報処理装置、情報処理方法及び記憶媒体
EP4730160A1 (en) 2024-10-17 2026-04-22 Fujitsu Limited Computer program, data processing apparatus, and data processing method
CN120873504B (zh) * 2025-09-26 2025-11-28 江苏电力信息技术有限公司 一种电力项目预算测算方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3916955B2 (ja) * 2002-01-08 2007-05-23 三菱電機株式会社 電力系統の最適潮流計算方法
CA2551467A1 (en) * 2006-07-04 2008-01-04 University Of New Brunswick System and method for optimizing linehaul operations
WO2017056366A1 (ja) 2015-09-30 2017-04-06 日本電気株式会社 最適化システム、最適化方法および最適化プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMASAKI, S. ET AL.: "A Solution Method for Mixed Integer Quadratic Programming Problems - Application to Supply Chain Planning", PROCEEDINGS OF THE 51ST ANNUAL CONFERENCE OF THE INSTITUTE OF SYSTEMS, CONTROL AND INFORMATION ENGINEERS (ISCIE), 16 May 2007 (2007-05-16), Kyoto, pages 219 - 220 *

Also Published As

Publication number Publication date
JP7124767B2 (ja) 2022-08-24
US20220171899A1 (en) 2022-06-02
JP2020144529A (ja) 2020-09-10

Similar Documents

Publication Publication Date Title
WO2020179624A1 (ja) 問題求解装置、方法、及びプログラム
Morales-España et al. Robust unit commitment with dispatchable wind power
Lee et al. Modeling transmission line constraints in two-stage robust unit commitment problem
Powell et al. Learning algorithms for separable approximations of discrete stochastic optimization problems
Kim et al. An asynchronous bundle-trust-region method for dual decomposition of stochastic mixed-integer programming
Trivedi et al. Enhanced multiobjective evolutionary algorithm based on decomposition for solving the unit commitment problem
Ye et al. MIP reformulation for max-min problems in two-stage robust SCUC
Darivianakis et al. Distributed model predictive control for linear systems with adaptive terminal sets
Sekhar et al. An enhanced cuckoo search algorithm based contingency constrained economic load dispatch for security enhancement
CN110928678A (zh) 一种基于移动边缘计算的区块链系统资源分配方法
Mahroo et al. Robust dynamic TEP with an security criterion: A computationally efficient model
CN115136438B (zh) 分布能源资源管理系统和分布能源资源管理方法
Alqurashi et al. Model predictive control to two-stage stochastic dynamic economic dispatch problem
CN120611765A (zh) 智能计算中心云平台根据算力运行状态调整模型训练参数的方法及装置
Palani et al. A fast penalty-based Gauss-Seidel method for stochastic unit commitment with uncertain load and wind generation
Labbi et al. A hybrid particle swarm optimization and pattern search method to solve the economic load dispatch problem
Eshragh et al. A projection-adapted cross entropy (PACE) method for transmission network planning
Bernardino et al. Differential evolution with adaptive penalty and tournament selection for optimization including linear equality constraints
Han et al. Handling state constraints in fast-computing optimal control for hybrid powertrains
CN116933546A (zh) 电热综合系统日前随机优化调度分布式求解方法及系统
US8606736B2 (en) Technique for solving optimization problem
Faverge et al. Designing LU-QR hybrid solvers for performance and stability
García-Martínez et al. A continuous variable neighbourhood search based on specialised EAs: application to the noiseless BBO-benchmark 2009
Chinnappan et al. Handling large-scale SAR image data on network-based compute systems using divisible load paradigm
Al-Rabeeah et al. A Criterion Space Decomposition Method for a Tri-objective Integer Program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20766996

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20766996

Country of ref document: EP

Kind code of ref document: A1