[go: up one dir, main page]

JP4329933B2 - Quadratic programming solver - Google Patents

Quadratic programming solver Download PDF

Info

Publication number
JP4329933B2
JP4329933B2 JP2004196842A JP2004196842A JP4329933B2 JP 4329933 B2 JP4329933 B2 JP 4329933B2 JP 2004196842 A JP2004196842 A JP 2004196842A JP 2004196842 A JP2004196842 A JP 2004196842A JP 4329933 B2 JP4329933 B2 JP 4329933B2
Authority
JP
Japan
Prior art keywords
variable
equation
correction
storage file
lower limit
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.)
Expired - Lifetime
Application number
JP2004196842A
Other languages
Japanese (ja)
Other versions
JP2006018657A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2004196842A priority Critical patent/JP4329933B2/en
Publication of JP2006018657A publication Critical patent/JP2006018657A/en
Application granted granted Critical
Publication of JP4329933B2 publication Critical patent/JP4329933B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、最適な計画を立案する場合、あるいは、最適な制御を行う場合に解く必要が生じる2次計画問題(評価関数が2次式で与えられ、制約式が1次式で与えられる最適化問題)を解くための2次計画法求解装置に関するものである。   In the present invention, a quadratic programming problem (an evaluation function is given by a quadratic expression and a constraint expression is given by a linear expression) that needs to be solved when making an optimal plan or performing optimal control. The present invention relates to a quadratic programming solving apparatus for solving the problem.

等式制約を持つ2次計画問題は、下記のように表現される。
[等式制約付2次計画問題]
Min f(x)
Subject to:
Hx=b ただし、f(x)=px+0.5xQx
Q:対称行列
A quadratic programming problem with equality constraints is expressed as follows:
[Secondary programming problem with equality constraints]
Min f (x)
Subject to:
Hx = b where f (x) = p t x + 0.5x t Qx
Q: Symmetric matrix

この問題に対する従来の解法において、最適解に近づくための変数の修正量dは、下式(1)の修正方程式を解くことにより与えられる(例えば、非特許文献1参照)。なお、最適化に関する一般的な表現と合わせるため、非特許文献1とは、μの符号を逆に定義している。 In the conventional solution to this problem, the variable correction amount d for approaching the optimal solution is given by solving the correction equation (1) below (see, for example, Non-Patent Document 1). In addition, in order to match with general expressions related to optimization, the sign of μ * is defined in reverse with Non-Patent Document 1.

Figure 0004329933
Figure 0004329933

ところで、一般の2次計画問題は、下記のように、不等式制約を含んでいる。
[一般の2次計画問題]
Min f(x)
Subject to:
x=b
2min≦Hx≦b2max
min≦x≦xmax
By the way, a general quadratic programming problem includes inequality constraints as follows.
[General secondary planning problems]
Min f (x)
Subject to:
H 1 x = b 1
b 2min ≦ H 2 x ≦ b 2max
x min ≤ x ≤ x max

上記の一般の2次計画問題は、スラック変数sを導入することにより、等式制約、及び変数に対する上下限制約のみを持つ下記の形に変換できる。
Min f(x)
Subject to:
x=b
x−s=0
min≦x≦xmax
2min≦s≦b2max
The above general quadratic programming problem can be converted into the following form having only equality constraints and upper and lower limit constraints for variables by introducing slack variable s.
Min f (x)
Subject to:
H 1 x = b 1
H 2 x−s = 0
x min ≤ x ≤ x max
b 2min ≦ s ≦ b 2max

以上より、本来の変数xと導入したスラック変数sとを合わせ改めて全体をxと表現し、本来の等式制約と、スラック変数の導入によって不等式制約から作られた等式制約とを合わせ、改めて全体をHx=bと表現することにより、一般の2次計画問題は、下記の形に変換される。
Min f(x)
Subject to:
Hx=b
min≦x≦xmax
From the above, the original variable x and the introduced slack variable s are combined and expressed as x, and the original equality constraint is combined with the equality constraint created from the inequality constraint by introducing the slack variable. By expressing the whole as Hx = b, a general quadratic programming problem is converted into the following form.
Min f (x)
Subject to:
Hx = b
x min ≤ x ≤ x max

上記の変換された形の2次計画問題に対して、先述の[等式制約付2次計画問題]の解法を適用するためには、変数xの中で、最適解において上下限制約の境界上にあると仮定される変数xkに対する不等式制約を、x=fという等式制約に変換し、その他の上下限制約は無いものとする必要がある。 In order to apply the above-mentioned [equal constraint quadratic programming problem] to the transformed quadratic programming problem, the boundary of the upper and lower limit constraints in the optimal solution in the variable x It is necessary to convert the inequality constraint on the variable x k assumed to be above into an equality constraint of x k = f k and no other upper and lower limit constraints.

この変換により、最適解に近づくための変数の修正量dを与える修正方程式は、下式(2)となり、この方程式を解くことにより、最適解に近づくための変数の修正量dから修正方向が求まる。下式(2)において、修正量dは、大きさとともに方向を有するデータである。また、太字で表された「1」は、k番目の変数xkに対する不等式制約を、x=fという等式制約に変換することにより、k番目の要素だけが1となっている行列を示している。 By this conversion, the correction equation that gives the variable correction amount d for approaching the optimal solution is expressed by the following equation (2). By solving this equation, the correction direction changes from the variable correction amount d for approaching the optimal solution. I want. In the following equation (2), the correction amount d is data having a direction along with the size. In addition, “1” represented in bold is a matrix in which only the k-th element is 1 by converting the inequality constraint for the k -th variable x k into an equality constraint of x k = f k . Is shown.

Figure 0004329933
Figure 0004329933

「最適化ハンドブック」(朝倉書店)174ページ(2.7)式"Optimization Handbook" (Asakura Shoten) 174 pages (2.7) formula

しかしながら、従来技術には次のような課題がある。従来の2次計画問題の解法においては、上述の通り、「変数の次元+等式制約の数+上下限制約の境界上にあると仮定する変数の数」で定まる次元の修正方程式を解き、さらに、最適解に近づくための変数の修正量dから修正方向を求める必要があり、処理時間が長くなる問題があった。   However, the prior art has the following problems. In the conventional quadratic programming problem solving method, as described above, a modified equation of a dimension determined by “the number of variables + the number of equality constraints + the number of variables assumed to be on the boundary of upper and lower limit constraints” is solved. Furthermore, it is necessary to obtain the correction direction from the variable correction amount d for approaching the optimal solution, and there is a problem that the processing time becomes long.

本発明は上述のような課題を解決するためになされたもので、高速に2次計画問題を解く2次計画法求解装置を得ることを目的とする。   The present invention has been made to solve the above-described problems, and an object thereof is to obtain a quadratic programming method solving apparatus that solves a quadratic programming problem at high speed.

本発明に係る2次計画法求解装置は、関数型不等式制約を含む2次計画問題の方程式を設定する入力手段と、関数型不等式制約を関数型等式制約に変換して生成される修正方程式を記憶する修正方程式記憶ファイル、変数の値の履歴を記憶する変数履歴データ記憶ファイル、及び変数の上下限制約の値を記憶する上下限制約値記憶ファイルを有する記憶部と、関数型不等式制約を含む2次計画問題の方程式に対してスラック変数を導入して、関数型等式制約を含む2次計画問題の方程式及び新たな変数の上下限制約に変換し、上下限制約の値を上下限制約値記憶ファイルに記憶させる変換手段と、上下限制約を有する新たな変数について、上下限制約内の初期値を設定するとともに、2次計画問題の最適解において上下限制約の境界上にあると仮定する変数を特定し、特定した変数の等式制約及び上下限制約に対するラグランジュ乗数を用いて修正方程式を生成し、設定した初期値を変数履歴データ記憶ファイルに記憶させ、生成した修正方程式を修正方程式記憶ファイルに記憶させる修正方程式生成手段と、変数履歴データ記憶ファイルの最新データに基づいて修正方程式記憶ファイルに記憶された修正方程式を解くことにより、最適解に近づくための変数の修正量を算出する修正量算出手段と、修正量算出手段によって算出された修正量及び上下限制約値記憶ファイルに記憶された上下限制約の値に基づいて、上下限制約の範囲内に収まる修正後の新たな変数を求めて記憶部の変数履歴データ記憶ファイルを更新する変数変更手段と、変数履歴データ記憶ファイルに記憶された変数の履歴データ及びあらかじめ決められた収束判定値に基づいて変数の収束状態を判定し、変数が収束していないと判定したときは、修正量算出手段に対して、更新された変数履歴データ記憶ファイルの最新のデータに基づいて修正方程式記憶ファイルに記憶された修正方程式を解くことを再び実行させ、変数が収束したと判定したときは、処理を終了すると判定する繰返し処理判定手段と、繰返し処理判定手段により処理が終了したと判定された場合に、記憶部の変数履歴データ記憶ファイルから最新の変数を最適解として取り出して出力する最適解出力手段とを備え、記憶部は、修正方程式よりも次元の小さい縮小修正方程式を記憶する縮小修正方程式記憶ファイルをさらに有し、修正方程式記憶ファイルに記憶された修正方程式から、上下限制約の境界上にあると仮定された変数、及び上下限制約に対するラグランジュ乗数を消去した次元の小さい縮小修正方程式を生成し、生成した縮小修正方程式を記憶部の縮小修正方程式記憶ファイルに記憶させる縮小修正方程式生成手段をさらに備え、修正量算出手段は、記憶部の変数履歴データ記憶ファイルの最新のデータに基づいて縮小修正方程式記憶ファイルに記憶された縮小修正方程式を解くことにより、最適解に近づくための変数の修正量を算出し、繰返し処理判定手段は、変数履歴データ記憶ファイルに記憶された変数の履歴データ及びあらかじめ決められた収束判定値に基づいて変数の収束状態を判定し、変数が収束していないと判定したときは、縮小修正方程式生成手段に対して、更新された変数履歴データ記憶ファイルの最新のデータ及び修正方程式記憶ファイルに記憶された修正方程式に基づいて縮小修正方程式を再び生成させるものである。   The quadratic programming solving apparatus according to the present invention includes an input means for setting an equation of a quadratic programming problem including a functional inequality constraint, and a modified equation generated by converting the functional inequality constraint into a functional equality constraint. A storage unit having a modified equation storage file that stores variable history data storage files that store variable value history, and upper and lower limit constraint value storage files that store upper and lower limit constraint values of variables, and a functional inequality constraint Introduce slack variables to quadratic programming equations that contain them, convert them into quadratic programming equations that include functional equality constraints, and new variable upper and lower bound constraints, and limit upper and lower bound constraints The initial value in the upper and lower limit constraints is set for the conversion means to be stored in the reduction value storage file and the new variable having the upper and lower limit constraints. Identify hypothetical variables, generate modified equations using Lagrangian multipliers for the equality constraints and upper and lower bound constraints of the identified variables, store the initial values set in the variable history data storage file, and modify the generated modified equations Calculates the correction amount of the variable to approach the optimum solution by solving the correction equation stored in the correction equation storage file based on the latest data in the variable history data storage file and the correction equation generation means stored in the equation storage file And a new amount after correction that falls within the upper and lower limit constraints based on the correction amount calculated by the correction amount calculation unit and the upper and lower limit constraint values stored in the upper and lower limit constraint value storage file. Variable change means for obtaining variables and updating the variable history data storage file of the storage unit, and stored in the variable history data storage file If the variable convergence state is determined based on the number of history data and a predetermined convergence determination value and it is determined that the variable has not converged, the updated variable history data is stored in the correction amount calculation means. Iterative processing determining means for determining that the processing is to be ended when it is determined that the variable has converged again when solving the correction equation stored in the correction equation storage file based on the latest data of the file, and the iterative processing And an optimal solution output unit that extracts and outputs the latest variable from the variable history data storage file of the storage unit as an optimal solution when the determination unit determines that the processing is completed. A reduced modified equation storage file for storing reduced modified equations of small dimensions, and from the modified equations stored in the modified equation storage file, A variable that is assumed to be on the boundary of the upper and lower limit constraints, and a reduced modified equation with a small dimension that eliminates the Lagrange multipliers for the upper and lower bound constraints are generated, and the generated reduced modified equation is stored in the reduced modified equation storage file of the storage unit A reduction correction equation generating means for causing the optimum amount solution by solving the reduction correction equation stored in the reduction correction equation storage file based on the latest data in the variable history data storage file of the storage unit. The amount of correction of the variable for approaching is calculated, the iterative process determination means determines the convergence state of the variable based on the history data of the variable stored in the variable history data storage file and a predetermined convergence determination value, When it is determined that the variables have not converged, the updated variable history data storage file is sent to the reduced correction equation generating means. It is intended to produce again reduced modified equation based on the latest data and the correction equation stored in the correction equation stored file Le.

本発明によれば、本来の修正方程式より次元の小さい縮小修正方程式を生成し、生成した縮小修正方程式を解くことにより最適解に近づくための変数の修正量を得ることが可能となり、2次計画問題を高速に解く2次計画法求解装置を得ることができる。   According to the present invention, it is possible to generate a reduced correction equation having a smaller dimension than the original correction equation, and to obtain a variable correction amount for approaching an optimal solution by solving the generated reduced correction equation. A quadratic programming solving apparatus that solves a problem at high speed can be obtained.

以下、本発明の2次計画法求解装置の好適な実施の形態について、図面を用いて説明する。本発明の2次計画法求解装置は、変数の修正を繰返すことにより2次計画問題の最適解を求める際に、縮小修正方程式を導入することにより演算処理に要する時間を短縮して高速化を図ることを特徴とする。   Hereinafter, a preferred embodiment of a quadratic programming solving apparatus of the present invention will be described with reference to the drawings. The quadratic programming solving apparatus of the present invention reduces the time required for the arithmetic processing by introducing a reduced correction equation when the optimum solution of the quadratic programming problem is obtained by repeatedly correcting the variables, thereby speeding up the calculation. It is characterized by figure.

実施の形態1.
図1は、本発明の実施の形態1における2次計画法求解装置の構成図である。2次計画法求解装置10は、入力手段11、変換手段12、修正方程式生成手段13、記憶部14、縮小修正方程式生成手段15、修正量算出手段16、変数変更手段17、繰返し処理判定手段18、及び最適解出力手段19で構成される。
Embodiment 1 FIG.
FIG. 1 is a configuration diagram of a quadratic programming solving apparatus according to Embodiment 1 of the present invention. The quadratic programming solving apparatus 10 includes an input unit 11, a conversion unit 12, a correction equation generation unit 13, a storage unit 14, a reduced correction equation generation unit 15, a correction amount calculation unit 16, a variable change unit 17, and an iterative process determination unit 18. And optimal solution output means 19.

入力手段11は、関数型不等式制約を含む2次計画問題の方程式を2次計画法求解装置10に読み込むための入力手段である。変換手段12は、関数型不等式制約にスラック変数を導入することにより、入力手段で設定された2次計画問題の方程式を、関数型等式制約及び新たな変数の上下限制約に変換するための変換手段である。ここで、新たな変数とは、本来の変数とスラック変数とを合わせた変数である。   The input means 11 is an input means for reading an equation of a quadratic programming problem including a functional inequality constraint into the quadratic programming solving apparatus 10. The converting means 12 introduces slack variables into the functional inequality constraints, thereby converting the equations of the quadratic programming problem set by the input means into functional equality constraints and new variable upper and lower limit constraints. It is a conversion means. Here, the new variable is a variable that combines the original variable and the slack variable.

修正方程式生成手段13は、上下限制約を有する新たな変数について、最適解において上下限制約の境界上にあると仮定する変数を設定するとともに、2次計画問題の最適解に近づくための変数の修正量を求めるための修正方程式を生成する生成手段である。   The correction equation generation means 13 sets a variable that is assumed to be on the boundary of the upper and lower limit constraints in the optimal solution for the new variable having the upper and lower limit constraints, and sets the variable for approaching the optimal solution of the quadratic programming problem. It is a production | generation means which produces | generates the correction equation for calculating | requiring the correction amount.

記憶部14は、修正方程式を記憶する修正方程式記憶ファイル、縮小修正方程式を記憶する縮小修正方程式記憶ファイル、変数の値を記憶する変数履歴データ記憶ファイル、及び上下限制約の値を記憶する上下限制約値記憶ファイルを有する記憶部である。   The storage unit 14 includes a correction equation storage file that stores correction equations, a reduced correction equation storage file that stores reduction correction equations, a variable history data storage file that stores variable values, and upper and lower limit systems that store upper and lower limit constraint values. A storage unit having an approximate value storage file.

縮小修正方程式生成手段15は、修正方程式生成手段13で生成された修正方程式に基づいて、最適解において上下限制約の境界上にあると仮定された変数ならびに該変数に対応するラグランジュ乗数を消去することにより、次元の小さい縮小修正方程式を生成する生成手段である。修正量算出手段16は、縮小修正方程式を解くことにより、最適解に近づくための変数の修正量を求める算出手段である。   Based on the correction equation generated by the correction equation generation unit 13, the reduced correction equation generation unit 15 deletes the variable assumed to be on the boundary of the upper and lower limit constraints in the optimal solution and the Lagrange multiplier corresponding to the variable. Thus, the generation means generates a reduced correction equation with a small dimension. The correction amount calculating means 16 is a calculating means for obtaining a variable correction amount for approaching an optimal solution by solving a reduced correction equation.

変数変更手段17は、修正量算出手段16によって算出された修正量及び上下限制約値記憶ファイルに記憶された上下限制約の値に基づいて、変数の修正及び2次計画問題の最適解において上下限制約の境界上にあると仮定する新たな変数の特定を行い、記憶部14の変数履歴データ記憶ファイルを更新する手段である。   Based on the correction amount calculated by the correction amount calculation unit 16 and the upper and lower limit constraint values stored in the upper and lower limit constraint value storage file, the variable changing unit 17 increases and decreases in the variable correction and the optimal solution of the quadratic programming problem. This is means for specifying a new variable that is assumed to be on the boundary of the limit constraint and updating the variable history data storage file in the storage unit 14.

繰返し処理判定手段18は、変数履歴データ記憶ファイルに記憶された変数の履歴データに基づいて変数の収束状態を判定し、最適解を算出するための繰返し処理を実行すべきか否かを判定する判定手段である。繰返し処理が必要な場合には、繰返し処理判定手段18は、縮小修正方程式生成手段15に対して、更新された変数履歴データ記憶ファイルの最新のデータ及び修正方程式記憶ファイルに記憶された修正方程式に基づいて縮小修正方程式を再び生成させることとなる。   The iterative process determination means 18 determines the convergence state of the variable based on the variable history data stored in the variable history data storage file, and determines whether or not the iterative process for calculating the optimum solution should be executed. Means. When iterative processing is necessary, the iterative processing determination means 18 uses the latest data in the updated variable history data storage file and the correction equation stored in the correction equation storage file to the reduced correction equation generation means 15. Based on this, the reduced correction equation is generated again.

さらに、最適解出力手段19は、繰返し処理判定手段18により繰返し処理が必要でないと判定された場合に、記憶部14の変数履歴データ記憶ファイルから更新された最新の変数を最適解として取り出して出力する手段である。このようにして、繰返し処理判定手段18により繰返し処理が必要でないと判定されるまで一連の処理を繰り返すことにより、最適解を算出する。   Furthermore, the optimum solution output means 19 takes out the latest variable updated from the variable history data storage file of the storage unit 14 as the optimum solution and outputs it when the repetition processing determination means 18 determines that the repetition processing is not necessary. It is means to do. In this way, the optimum solution is calculated by repeating a series of processes until the iterative process determining means 18 determines that the iterative process is not necessary.

次に、上述した縮小修正方程式に基づく最適解の算出処理について、フローチャートを用いて詳細に説明する。図2は、本発明の実施の形態1の2次計画法求解装置10における求解処理のフローチャートである。まず始めに、2次計画法求解装置10の入力手段11は、最適解を求めるべき問題として、関数型不等式制約を含む2次計画問題の方程式を読み込む(ステップS201)。   Next, the optimal solution calculation process based on the above-described reduced correction equation will be described in detail using a flowchart. FIG. 2 is a flowchart of the solution finding process in the quadratic programming method solving apparatus 10 according to the first embodiment of the present invention. First, the input unit 11 of the quadratic programming solving apparatus 10 reads an equation of a quadratic programming problem including a functional inequality constraint as a problem for which an optimal solution is to be obtained (step S201).

変換手段12は、読み込んだ2次計画問題の方程式に含まれている関数型不等式制約に対してスラック変数を導入することにより、関数型不等式制約を関数型等式制約に変換するとともに、本来の変数とスラック変数とを合わせた新たな変数に関する上下限制約を設定し、その上下限制約の値を記憶部14内の上下限制約値記憶ファイルに記憶させる(ステップS202)。   The conversion means 12 converts the functional inequality constraints into functional equality constraints by introducing slack variables into the functional inequality constraints included in the equations of the read quadratic programming problem. Upper and lower limit constraints relating to a new variable that is a combination of the variable and the slack variable are set, and the upper and lower limit constraint values are stored in the upper and lower limit constraint value storage file in the storage unit 14 (step S202).

続いて、修正方程式生成手段13は、[一般の2次計画問題]において、最適解に近づくための変数の修正量dを得るための修正方程式として先に示した式(2)の左上の部分行列J(Q、H、Hから成る行列)を生成する(ステップS203)。 Subsequently, the correction equation generation means 13 in the [general quadratic programming problem], the upper left part of the equation (2) shown above as the correction equation for obtaining the variable correction amount d for approaching the optimal solution matrix J (Q, H, matrix of H t) to generate a (step S203).

さらに、修正方程式生成手段13は、変数の上下限制約を逸脱しない形で変数xを初期設定する。この変数の設定において、上下限制約の上限値または下限値に等しい値を設定することにより、「最適解において上下限制約の境界上にあると仮定する変数」として特定することができる(ステップS204)。なお、対象問題に近い2次計画問題の最適解が既知である等、適切に「最適解において上下限制約の境界上にあると仮定する変数」を設定することが可能な場合を除いては、変数の初期値としては、変数の上下限制約の中間値を設定する。このようにステップS203、204の処理により、修正方程式生成手段13は、式(2)で示した修正方程式の左上の部分行列を生成し、生成した部分行列を修正方程式記憶ファイルに記憶させる。   Further, the modified equation generating means 13 initializes the variable x without departing from the upper and lower limit constraints of the variable. In the setting of this variable, by setting a value equal to the upper limit value or the lower limit value of the upper / lower limit constraint, it can be specified as “a variable assumed to be on the boundary of the upper / lower limit constraint in the optimal solution” (step S204). ). Unless the optimal solution of the quadratic programming problem close to the target problem is already known, unless it is possible to appropriately set “variables that are assumed to be on the boundary of upper and lower limit constraints in the optimal solution” As an initial value of the variable, an intermediate value of the upper and lower limit constraints of the variable is set. As described above, the correction equation generation unit 13 generates the upper left partial matrix of the correction equation shown in Expression (2) by the processing of steps S203 and S204, and stores the generated partial matrix in the correction equation storage file.

次に、縮小修正方程式生成手段15は、式(2)の修正方程式の右辺、すなわち評価関数のグラディエントg及び関数型等式制約の誤差cを計算する(ステップS205)。続いて、縮小修正方程式生成手段15は、算出された部分行列J、グラディエントg及び関数型等式制約の誤差cを用いて、縮小修正方程式を生成し、その縮小修正方程式を記憶部14内の縮小修正方程式記憶ファイルに記憶させる(ステップS206)。   Next, the reduced corrected equation generating means 15 calculates the right side of the corrected equation of Equation (2), that is, the gradient g of the evaluation function and the error c of the functional equation constraint (Step S205). Subsequently, the reduced correction equation generating unit 15 generates a reduced correction equation using the calculated partial matrix J, gradient g, and error c of the functional equation constraint, and the reduced correction equation is stored in the storage unit 14. The data is stored in the reduced correction equation storage file (step S206).

ここで、縮小修正方程式の生成及びラグランジュ乗数λの算出について詳細に説明する。本来の修正方程式は、先に示した式(2)である。この修正方程式の未知数である修正量dの中で、変数上下限制約の境界上にあると仮定されている変数xkに対応する要素は0である(すなわち、修正量が0である)ことが自明であることから消去する。さらに、このxkの上下限制約に対するラグランジュ乗数λを後から求めることとし、λに影響される行も消去する。これらの消去により、式(2)の修正方程式は、下記の縮小修正方程式(3)となる。 Here, the generation of the reduced correction equation and the calculation of the Lagrange multiplier λ * will be described in detail. The original correction equation is the equation (2) shown above. In the correction amount d that is an unknown quantity of this correction equation, the element corresponding to the variable x k that is assumed to be on the boundary of the variable upper and lower limit constraints is 0 (that is, the correction amount is 0). Since it is self-evident, it is erased. Further, a Lagrange multiplier λ * for the upper and lower limit constraints of x k is obtained later, and rows affected by λ * are also deleted. As a result of these eliminations, the correction equation of equation (2) becomes the following reduced correction equation (3).

Figure 0004329933
Figure 0004329933

この縮小修正方程式(3)の左辺の行列は、変数の上下限制約の境界上にあると仮定されている変数に対応する列kの要素(破線で示す)、ならびに、λに影響されるため消去したい行kの要素(破線で示す)を0としている。ただし、対角項は、非0要素があるとみなす。また、縮小修正方程式(3)の右辺のk番目の要素(破線で示す)も0とする。このように0を割り付けた縮小修正方程式(3)は、行と列を消去した場合と同じ解を得る縮小修正方程式となっている。なお、消去対象とする列・行のペアは複数あってもよい。 The matrix on the left-hand side of this reduced correction equation (3) is affected by the element of column k (shown by a dashed line) corresponding to the variable assumed to be on the boundary of the variable upper and lower constraints, and λ * Therefore, the element (indicated by a broken line) in row k to be erased is set to zero. However, the diagonal term is considered to have a non-zero element. The k-th element (indicated by a broken line) on the right side of the reduction correction equation (3) is also set to zero. Thus, the reduced correction equation (3) assigned 0 is a reduced correction equation that obtains the same solution as when the rows and columns are deleted. Note that there may be a plurality of column / row pairs to be erased.

式(3)を解くことにより、d及びμが求まる。さらに、式(2)より、右辺のgに関して下式(4)の関係が得られる。 By solving equation (3), d and μ * are obtained. Further, from the expression (2), the relationship of the following expression (4) is obtained with respect to g on the right side.

Figure 0004329933
Figure 0004329933

したがって、λは、次式(5)から求めることができる。 Therefore, λ * can be obtained from the following equation (5).

Figure 0004329933
Figure 0004329933

上述の処理により、縮小修正方程式の生成及びラグランジュ乗数λの算出を行うことができる。そこで、ステップS207以降の説明に戻る。修正量算出手段16は、縮小修正方程式(3)を解くに先立ち、縮小修正方程式左辺の行列を三角分解する(ステップS207)。続いて、修正量算出手段16は、縮小修正方程式(3)を解き、変数の修正量d及び関数型等式制約に対するラグランジュ乗数μを得る(ステップS208)。 Through the above-described processing, it is possible to generate a reduced correction equation and calculate a Lagrange multiplier λ * . Then, it returns to description after step S207. Prior to solving the reduced correction equation (3), the correction amount calculation means 16 triangulates the matrix on the left side of the reduced correction equation (step S207). Subsequently, the correction amount calculation means 16 solves the reduced correction equation (3) to obtain a variable correction amount d and a Lagrange multiplier μ * for the functional equation constraint (step S208).

続いて、変数変更手段17は、全ての変数xに対してdの修正を行った場合に、変数が上下限制約を超えて逸脱が発生するか否かを判定する(ステップS209)。逸脱が発生しないと判定した場合には、変数変更手段17は、上述の方法で変数上下限制約に対するラグランジュ乗数λを求める(ステップS210)。さらに、変数変更手段17は、全ての変数xに対し算出された修正量dの修正を行う(ステップS211)。 Subsequently, when the variable changing unit 17 corrects d for all the variables x, the variable changing unit 17 determines whether or not the deviation exceeds the upper and lower limit constraints (step S209). When it is determined that no deviation occurs, the variable changing unit 17 obtains a Lagrange multiplier λ * for the variable upper and lower limit constraints by the above-described method (step S210). Further, the variable changing unit 17 corrects the correction amount d calculated for all the variables x (step S211).

続いて、変数変更手段17は、ステップS210で算出されたラグランジュ乗数λの結果を用いて、上下限制約の境界上にある変数の中で制約を外す(すなわち、上限値あるいは下限値が設定されている変数の値を、あらかじめ決められた値で修正することにより上限値あるいは下限値でない上下限制約内の値に変更する)ことにより評価関数値が改善する変数があるかないかを調べる(ステップS212)。そのような変数がある場合には、変数変更手段17は、そのような変数を「最適解において上下限制約の境界上にあると仮定する変数」から削除し(ステップS213)、変数履歴データ記憶ファイルのデータを更新にする。 Subsequently, the variable changing unit 17 uses the result of the Lagrangian multiplier λ * calculated in step S210 to remove the restriction among the variables on the boundary between the upper and lower limits (that is, the upper limit value or the lower limit value is set). Check whether there is a variable that improves the evaluation function value by changing the value of the variable being changed to a value within the upper or lower limit constraint that is not the upper limit value or the lower limit value by modifying the value with a predetermined value ( Step S212). If there is such a variable, the variable changing means 17 deletes such a variable from “variables assumed to be on the boundary of the upper and lower limit constraints in the optimal solution” (step S213), and stores variable history data. Update file data.

ステップS213において、変数変更手段17によって変数履歴データ記憶ファイルのデータが更新された場合には、繰返し処理判定手段18は、修正量の算出を繰返し行うことが必要であると判断し、縮小修正方程式生成手段15に対して、更新された変数履歴データ記憶ファイルの最新のデータ及び修正方程式記憶ファイルに記憶された修正方程式に基づいて縮小修正方程式を再び生成させる。その結果、ステップS205以降の処理を繰返し、最適解の算出を継続することとなる。   In step S213, when the data of the variable history data storage file is updated by the variable changing unit 17, the iterative processing determining unit 18 determines that it is necessary to repeatedly calculate the correction amount, and the reduced correction equation. The generation means 15 is made to generate the reduced correction equation again based on the latest data in the updated variable history data storage file and the correction equation stored in the correction equation storage file. As a result, the processing after step S205 is repeated, and the calculation of the optimum solution is continued.

一方、ステップS212において、変数変更手段17によって上下限制約の境界上にある変数の中で制約を外すことにより評価関数値が改善する変数が無いと判定された場合には、繰返し処理判定手段18は、最適解が求まったと判断する。その後、最適解出力手段19は、更新された変数履歴データ記憶ファイルから最新の変数値を最適解として取り出し、処理を終了する(ステップS214)。   On the other hand, if it is determined in step S212 that there is no variable whose evaluation function value is improved by removing the constraint among the variables on the boundary of the upper and lower limit constraints by the variable changing unit 17, the iterative process determining unit 18 Determines that an optimal solution has been obtained. Thereafter, the optimum solution output means 19 takes out the latest variable value from the updated variable history data storage file as the optimum solution, and ends the processing (step S214).

なお、繰返し処理判定手段18は、ステップS212において、変数変更手段17によって上下限制約の境界上にある変数の中で制約を外すことにより評価関数値が改善する変数が無いと判定された後に、あらかじめ決められた収束判定値及び変数履歴データ記憶ファイルに記憶された変数の履歴データに基づいて収束判定を行い、変数が収束していない場合には再びステップS205以降の処理を繰り返すような処理を付加することも可能である。   The iterative process determination unit 18 determines in step S212 that there is no variable whose evaluation function value is improved by removing the constraint among the variables on the boundary of the upper and lower limit constraints by the variable changing unit 17. Convergence determination is performed based on a predetermined convergence determination value and variable history data stored in the variable history data storage file. If the variable has not converged, a process of repeating step S205 and subsequent steps is performed again. It is also possible to add.

上下限制約の境界上にある変数の中で、制約を外すことにより評価関数値が改善する変数があるかないかを調べるには、次のようにして行うことができる。   In order to check whether there is a variable whose evaluation function value is improved by removing the constraint among the variables on the boundary of the upper and lower limit constraints, it can be performed as follows.

上限制約の境界上にある変数(すなわち上限値が設定されている変数)に対応するラグランジュ乗数λの要素が負の値を持つ場合、あるいは、下限制約の境界上にある変数(すなわち下限値が設定されている変数)に対応するラグランジュ乗数λの要素が正の値を持つ場合には、これらの変数の制約を外すことにより、評価関数値を改善することが可能となる。したがって、これらの変数を「最適解において上下限制約の境界上にあると仮定する変数」から外す対象と判定することとなる。変数の制約を外すためには、あらかじめ決められた量を修正することにより、上限値あるいは下限値でない上下限制約内の値とすることができる。 If the element of the Lagrange multiplier λ * corresponding to the variable on the boundary of the upper limit constraint (ie, the variable for which the upper limit value is set) has a negative value, or the variable on the boundary of the lower limit constraint (ie, the lower limit value) If the elements of the Lagrangian multiplier λ * corresponding to the variable) are positive, it is possible to improve the evaluation function value by removing the restrictions on these variables. Therefore, these variables are determined to be excluded from “variables assumed to be on the boundary of the upper and lower limit constraints in the optimal solution”. In order to remove the constraint of the variable, it is possible to obtain a value within the upper / lower limit constraint that is not the upper limit value or the lower limit value by correcting a predetermined amount.

一方、先のステップS209において、全ての変数xに対してdの修正を行った場合に、変数が上下限制約を超えて逸脱が発生すると判定した場合には、変数変更手段17は、新たに上下限制約の境界上にある変数が現れるまで、変数xのd方向への修正を行い、新たに上下限制約の境界上の値となった変数を「最適解において上下限制約の境界上にあると仮定する変数」に追加する(ステップS215)。   On the other hand, if it is determined in the previous step S209 that d has been corrected for all the variables x and the variables exceed the upper and lower limit constraints and a deviation occurs, the variable changing means 17 newly The variable x is corrected in the d direction until a variable on the boundary of the upper and lower limit constraints appears, and the variable that newly becomes the value on the boundary of the upper and lower limit constraint is displayed on the boundary of the upper and lower limit constraints. It is added to “a variable assumed to exist” (step S215).

このステップS215における変数の修正は、具体的には次のように行う。算出された修正量dは、変数の要素分のデータを備えたベクトルと見ることができる。このベクトルに対して1未満の係数を掛け合わせることにより新たな修正補正量を求めた場合に、その修正補正量により補正した変数が、どれも上下限制約の範囲内になるようにする最大の係数を求めることにより、修正後の全ての変数が上下限制約以内となり、かつ、少なくとも1つの変数が上下限制約の境界上にある状態を創り出すことができる。   Specifically, the variable correction in step S215 is performed as follows. The calculated correction amount d can be regarded as a vector having data for variable elements. When a new correction correction amount is obtained by multiplying this vector by a coefficient of less than 1, the maximum variable is set so that all the variables corrected by the correction correction amount are within the upper and lower limit constraints. By obtaining the coefficients, it is possible to create a state in which all the corrected variables are within the upper and lower limit constraints and at least one variable is on the boundary of the upper and lower limit constraints.

続いて、変数変更手段17は、「最適解において上下限制約の境界上にあると仮定する変数」の中で、上下限制約の境界上にあるという仮定を外す、すなわち上限値あるいは下限値の制約から離れるよう変数を動かすことにより、関数型等式制約の誤差(各関数型等式制約式の誤差の絶対値の総和)が減少する変数があるかないかを調べる(ステップS216)。   Subsequently, the variable changing unit 17 removes the assumption that the variable is assumed to be on the boundary of the upper / lower limit constraint in the “variable assumed to be on the boundary of the upper / lower limit constraint in the optimal solution”, that is, the upper limit value or the lower limit value. By moving the variable away from the constraint, it is checked whether there is a variable in which the error of the functional equation constraint (the sum of the absolute values of the errors of each functional equation constraint equation) decreases (step S216).

該当する変数が無い場合には、変数変更手段17は、可能解(制約を満たす解)は無いと判断して変数履歴データ記憶ファイルのデータの更新を行わず、繰返し処理判定手段18は、繰返し処理を行わないと判断し、処理を終了する(ステップS217)。この場合には、最適解出力手段19は、可能解がないことを出力することとなる。   If there is no corresponding variable, the variable changing unit 17 determines that there is no possible solution (a solution satisfying the constraint), and does not update the data in the variable history data storage file. It is determined that the process is not performed, and the process is terminated (step S217). In this case, the optimum solution output means 19 outputs that there is no possible solution.

一方、該当する変数がある場合には、変数変更手段17は、そのような変数を「最適解において上下限制約の境界上にあると仮定する変数」から削除し(ステップS218)、変数履歴データ記憶ファイルのデータを更新にする。   On the other hand, if there is a corresponding variable, the variable changing means 17 deletes such a variable from “a variable assumed to be on the boundary of the upper and lower limit constraints in the optimal solution” (step S218), and variable history data. Update the data in the storage file.

そして、繰返し処理判定手段18は、修正量の算出を繰返し行うことが必要であると判定し、縮小修正方程式生成手段15に対して、更新された変数履歴データ記憶ファイルの最新のデータ及び修正方程式記憶ファイルに記憶された修正方程式に基づいて縮小修正方程式を再び生成させる。その結果、ステップS205以降の処理を繰返し、最適解の算出を継続することとなる。   Then, the iterative process determination means 18 determines that it is necessary to repeat the calculation of the correction amount, and gives the reduced correction equation generation means 15 the latest data and correction equation in the updated variable history data storage file. A reduced correction equation is generated again based on the correction equation stored in the storage file. As a result, the processing after step S205 is repeated, and the calculation of the optimum solution is continued.

実施の形態1によれば、修正方程式及び変数の値に基づいて次元の小さい縮小修正方程式を生成し、生成された縮小修正方程式をもとに最適解に近づくための変数の修正量を求めて変数を修正することを繰返すことにより、演算量の少ない高速処理で2次計画問題の最適解を求めることが可能となる。   According to the first embodiment, a reduced correction equation having a small dimension is generated based on the correction equation and the value of the variable, and a variable correction amount for approaching an optimal solution is obtained based on the generated reduced correction equation. By repeatedly correcting the variables, it is possible to obtain an optimal solution of the secondary programming problem with high-speed processing with a small amount of calculation.

実施の形態2.
実施の形態2では、関数型等式制約の誤差の計算結果に基づいて、上下限制約の境界上にあると仮定する変数を特定し、より次元の小さな縮小修正方程式を求める方法について説明する。図3は、本発明の実施の形態2における2次計画法求解装置の構成図である。この実施の形態2における2次計画法求解装置は、図1で示した実施の形態1における2次計画法求解装置と比較すると、記憶部14内に関数型等式制約記憶ファイルをさらに有している。
Embodiment 2. FIG.
In the second embodiment, a method will be described in which a variable assumed to be on the boundary of the upper and lower limit constraints is specified based on the calculation result of the error of the functional equation constraint, and a reduced correction equation having a smaller dimension is obtained. FIG. 3 is a configuration diagram of a quadratic programming solving apparatus according to Embodiment 2 of the present invention. The quadratic programming solving apparatus according to the second embodiment further includes a functional equality constraint storage file in the storage unit 14 as compared with the quadratic programming solving apparatus according to the first embodiment shown in FIG. ing.

図4は、本発明の実施の形態2の2次計画法求解装置における求解処理のフローチャートである。実施の形態2は、図2で示した実施の形態1のステップS216〜S218の処理を、新たな処理に置き換えたものであり、その置き換えた処理のフローチャートのみが図4に示されている。   FIG. 4 is a flowchart of the solution finding process in the quadratic programming method solving apparatus according to the second embodiment of the present invention. In the second embodiment, the processes in steps S216 to S218 of the first embodiment shown in FIG. 2 are replaced with new processes, and only the flowchart of the replaced processes is shown in FIG.

なお、本実施の形態2において、変換手段12は、2次計画問題を関数型等式制約に変換した際に、その関数型等式制約を関数型等式制約記憶ファイルにあらかじめ記憶させておくものとする。この処理は、図4には記載されておらず、実施の形態1の図2のフローチャートにおけるステップS202でこの処理が行われることとなる。   In the second embodiment, when converting the quadratic programming problem into a functional equation constraint, the converting unit 12 stores the functional equation constraint in a functional equation constraint storage file in advance. Shall. This process is not described in FIG. 4, and this process is performed in step S202 in the flowchart of FIG. 2 of the first embodiment.

変数変更手段17は、先に説明した図2のステップS215の処理において定められた新たに上下限制約の境界上にあると仮定された変数に対して、その変数に対応するdの要素を0とする(ステップS401)。続いて、変数変更手段17は、ステップS401で設定された変数を用いて、関数型等式制約記憶ファイルから取り出した関数型等式制約の誤差eを求める(ステップS402)。ここで、誤差eは、各関数型等式制約式の誤差の絶対値の総和である。   The variable changing means 17 sets the element of d corresponding to the variable to 0 for the variable newly assumed to be on the boundary of the upper and lower limit constraints determined in the process of step S215 of FIG. (Step S401). Subsequently, the variable changing unit 17 obtains the error e of the functional equation constraint extracted from the functional equation constraint storage file using the variable set in step S401 (step S402). Here, the error e is the sum of absolute values of errors of each functional equation constraint equation.

続いて、変数変更手段17は、新たに上下限制約の境界上にあると仮定する変数が現れるまで、変数xのd方向への修正を行ったと仮定した場合の仮定修正後の新たな変数を用いて関数型等式制約の誤差e’を求める(ステップS403)。なお、この仮定修正後の新たな変数の算出は、実施の形態1のステップS215で説明した処理と同様にして行うことができる。   Subsequently, the variable changing unit 17 sets the new variable after the assumption correction when it is assumed that the variable x is corrected in the d direction until a variable that is assumed to be on the boundary of the upper and lower limit constraints appears. By using this, an error e ′ of the functional equation constraint is obtained (step S403). Note that the calculation of the new variable after the assumption correction can be performed in the same manner as the processing described in step S215 of the first embodiment.

さらに、変数変更手段17は、ステップS402で求めた誤差eとステップS403で求めた誤差e’について、e’<eの判定を行う(ステップS404)。e’<eの関係が成立すると判定した場合には、変数変更手段17は、上述のステップS403で求めた仮定修正後の新たな変数を実際に採用し、「最適解において上下限制約の境界上にあると仮定する変数」を追加する(ステップS405)。そして、変数変更手段17は、さらなる変数xの修正を試みるため、ステップS401に戻り、それ以降の処理を再び行う。   Further, the variable changing unit 17 determines e ′ <e for the error e obtained in step S402 and the error e ′ obtained in step S403 (step S404). When it is determined that the relationship of e ′ <e is established, the variable changing unit 17 actually adopts the new variable after the assumption correction obtained in the above step S403, and “the boundary of the upper and lower limit constraints in the optimum solution” A variable assumed to be above is added (step S405). Then, the variable changing unit 17 returns to step S401 to try further correction of the variable x, and performs the subsequent processing again.

一方、ステップS404において、e’<eの関係が成立しないと判定した場合には、変数変更手段17は、上述のステップS403で求めた仮定修正後の新たな変数を採用せずに処理を終了する。そして、繰返し処理判定手段18は、修正量の算出を繰返し行うことが必要であると判断し、縮小修正方程式生成手段15に対して、更新された変数履歴データ記憶ファイルの最新のデータ及び修正方程式記憶ファイルに記憶された修正方程式に基づいて縮小修正方程式を再び生成させる。その結果、ステップS205以降の処理を繰返し、最適解の算出を継続することとなる。   On the other hand, if it is determined in step S404 that the relationship of e ′ <e is not established, the variable changing unit 17 ends the process without adopting the new variable after the assumption correction obtained in step S403 described above. To do. Then, the iterative process determination unit 18 determines that it is necessary to repeatedly calculate the correction amount, and instructs the reduced correction equation generation unit 15 to update the latest data and the correction equation in the updated variable history data storage file. A reduced correction equation is generated again based on the correction equation stored in the storage file. As a result, the processing after step S205 is repeated, and the calculation of the optimum solution is continued.

実施の形態2によれば、上下限制約の境界上にあると仮定する変数を関数型等式制約の誤差の計算結果に基づいて複数設定することができ、より次元の小さな縮小修正方程式に基づく最適解の算出が可能となる。さらに、処理時間のかかる修正量dを求める処理1回あたりの変数xの修正量を大きくとることが可能となり、2次計画問題を解く全体の処理時間を短縮することが可能となる。   According to the second embodiment, it is possible to set a plurality of variables that are assumed to be on the boundary of the upper and lower limit constraints based on the calculation result of the error of the functional equality constraint. An optimal solution can be calculated. Furthermore, it is possible to increase the correction amount of the variable x per process for obtaining the correction amount d that requires processing time, and it is possible to shorten the entire processing time for solving the quadratic programming problem.

実施の形態3.
実施の形態3では、縮小修正方程式の解法に当たって、大きな処理時間を要する三角分解の処理を毎回行わないことにより、処理時間の短縮を実現する2次計画法求解装置について説明する。図5は、本発明の実施の形態3における2次計画法求解装置の構成図である。この実施の形態3における2次計画法求解装置は、図1で示した実施の形態1における2次計画法求解装置と比較すると、記憶部14内に三角分解履歴データ記憶ファイルをさらに有している。
Embodiment 3 FIG.
In the third embodiment, a quadratic programming solving apparatus that achieves a reduction in processing time by not performing triangulation processing that requires a large processing time every time when solving a reduced correction equation will be described. FIG. 5 is a configuration diagram of a quadratic programming solving apparatus according to Embodiment 3 of the present invention. Compared with the quadratic programming method solving apparatus in the first embodiment shown in FIG. 1, the quadratic programming method solving apparatus in the third embodiment further includes a triangulation decomposition history data storage file in the storage unit 14. Yes.

図6は、本発明の実施の形態3の2次計画法求解装置における求解処理のフローチャートである。実施の形態3は、図2で示した実施の形態1のステップS207、S208の処理を、新たな処理に置き換えたものであり、その置き換えた処理のフローチャートのみが図6に示されている。   FIG. 6 is a flowchart of a solution finding process in the quadratic programming method solving apparatus according to the third embodiment of the present invention. In the third embodiment, the processes of steps S207 and S208 of the first embodiment shown in FIG. 2 are replaced with new processes, and only the flowchart of the replaced processes is shown in FIG.

先に説明したように、図2のステップS206において縮小修正方程式生成手段15により縮小修正方程式が生成された後に、修正量算出手段16は、縮小修正方程式左辺の三角分解が過去に行われたか否かの判定を行う(ステップS601)。ここで、三角分解履歴データは、後述するステップS605において、三角分解を行う毎に、修正量算出手段16によって記憶部14の三角分解履歴データ記憶ファイルに記憶される。   As described above, after the reduced correction equation is generated by the reduced correction equation generating unit 15 in step S206 of FIG. 2, the correction amount calculating unit 16 determines whether the triangulation of the left side of the reduced correction equation has been performed in the past. Is determined (step S601). Here, the triangulated decomposition history data is stored in the triangulated decomposition history data storage file of the storage unit 14 by the correction amount calculating means 16 every time triangulation is performed in step S605 described later.

この三角分解履歴データは、三角分解の元となった縮小修正方程式、その縮小修正方程式に対する三角分解結果及び縮小修正方程式の解法に当たって上下限制約の境界上にあると仮定した変数に関するデータを備えている。修正量算出手段16は、この三角分解履歴データに基づいて、過去の三角分解の情報を判断することができる。   This triangulation history data includes data on the reduced correction equation that is the source of the triangulation, the results of the triangulation for the reduced correction equation, and the variables that are assumed to be on the boundary of the upper and lower limits in solving the reduced correction equation. Yes. The correction amount calculating means 16 can determine past triangulation information based on this triangulation history data.

ステップS601において、三角分解履歴データに基づいて三角分解が過去に行われていたと判断した場合には、修正量算出手段16は、さらに、縮小修正方程式記憶ファイルに記憶された縮小修正方程式と、三角分解履歴データ内の前回の縮小修正方程式を比較することにより、縮小修正方程式記憶ファイルに記憶された縮小修正方程式左辺の三角分解が過去に行われたか否かの判定を行う(ステップS602)。   If it is determined in step S601 that the triangulation has been performed in the past based on the triangulation decomposition history data, the correction amount calculation means 16 further stores the reduced correction equation stored in the reduced correction equation storage file, the triangle By comparing the previous reduced correction equations in the decomposition history data, it is determined whether the triangular decomposition of the left side of the reduced correction equations stored in the reduced correction equation storage file has been performed in the past (step S602).

そして、ステップS602において、今回解くべき縮小修正方程式(すなわち、縮小修正方程式記憶ファイルに記憶された縮小修正方程式)の三角分解がすでに前回の処理で行われていたと判断した場合には、修正量算出手段16は、今回の縮小修正方程式の解法に当たって上下限制約の境界上にあると仮定した変数と、三角分解履歴データ記憶ファイルに記憶された前回の三角分解履歴データにおける上下限制約の境界上にあると仮定した変数とを比較する。そして、修正量算出手段16は、上下限制約の境界上にあると仮定した変数の違いが1つのみであるか否かの判定を行う(ステップS603)。   In step S602, if it is determined that the triangulation of the reduced correction equation to be solved this time (that is, the reduced correction equation stored in the reduced correction equation storage file) has already been performed in the previous process, the correction amount calculation is performed. On the boundary of the upper and lower limit constraints in the previous triangulation history data stored in the triangulation history data storage file, the means 16 is assumed to be on the upper and lower limit constraints boundary in the solution of the current reduced correction equation. Compare with a variable that you have assumed. Then, the correction amount calculation means 16 determines whether or not there is only one difference in variables that is assumed to be on the boundary between the upper and lower limit constraints (step S603).

そして、ステップS603において、履歴データに基づいて変数の違いが1要素のみであると判断した場合には、修正量算出手段16は、三角分解をあらためて行うことなしに、前回の三角分解結果を流用して縮小修正方程式を解き、変数の修正量d,関数型等式制約に対するラグランジュ乗数μを求め、その後、図2のステップS209に移行する(ステップS604)。この具体的な解法については、後述する。 In step S603, when it is determined that the difference in variable is only one element based on the history data, the correction amount calculation unit 16 diverts the previous triangulation result without performing triangulation again. Then, the reduced correction equation is solved to obtain the variable correction amount d and the Lagrange multiplier μ * for the functional equation constraint, and then the process proceeds to step S209 in FIG. 2 (step S604). This specific solution will be described later.

一方、ステップS601において過去に三角分解が行われていないと判断した場合、ステップS602において三角分解が行われていないと判断した場合、あるいはステップS603において変数の違いが1要素のみでないと判断した場合には、修正量算出手段16は、今回の縮小修正方程式の左辺に対する三角分解を行う(ステップS605)。   On the other hand, if it is determined in step S601 that triangulation has not been performed in the past, if it is determined in step S602 that triangulation has not been performed, or if it is determined in step S603 that the difference in variables is not only one element In step S605, the correction amount calculation unit 16 performs triangulation on the left side of the current reduced correction equation.

そして、このステップS605において、修正量算出手段16は、三角分解を行う毎に、三角分解履歴データを記憶部14の三角分解履歴データ記憶ファイルに記憶させる。   In step S605, the correction amount calculation unit 16 stores the triangulation decomposition history data in the triangulation decomposition history data storage file of the storage unit 14 every time triangulation is performed.

さらに、修正量算出手段16は、三角分解結果を用いて縮小修正方程式を解き、変数の修正量d,関数型等式制約に対するラグランジュ乗数μを求め(ステップS606)、その後、図2のステップS209に移行し、その後の処理を継続して行う。 Further, the correction amount calculation means 16 solves the reduced correction equation using the triangulation result to obtain the variable correction amount d and the Lagrange multiplier μ * for the functional equation constraint (step S606), and then the step of FIG. The process proceeds to S209, and the subsequent processing is continued.

このように今回の縮小修正方程式の三角分解を必要とせず、前回の縮小修正方程式の三角分解の結果を流用できると判断した場合には、あらためて三角分解を行わずに今回の縮小修正方程式を解くため、大きな処理時間を必要とする三角分解の回数が減り、2次計画問題を解く全体の時間を短縮することが可能となる。   In this way, if it is judged that the triangulation of the current reduced correction equation is not necessary and the result of the triangulation of the previous reduced correction equation can be diverted, the current reduced correction equation is solved without performing the triangulation again. Therefore, the number of triangulations requiring a large processing time is reduced, and the overall time for solving the quadratic programming problem can be shortened.

ここで、上述のステップS604における三角分解を用いない解法について、次に説明する。前回の縮小修正方程式の作成時点と今回の縮小修正方程式の作成時点において、上下限制約の境界上にあると仮定する変数の違いが1要素のみの場合には、修正量算出手段16は、以下の処理により、三角分解を行うことなく縮小修正方程式を解くことができる。   Here, the solution that does not use the triangulation in step S604 described above will be described next. If the difference between the variable assumed to be on the boundary of the upper and lower limit constraints is only one element at the time when the previous reduced correction equation is created and the current reduced correction equation is created, the correction amount calculation means 16 By this process, the reduced correction equation can be solved without performing triangulation.

上下限制約の境界上にあると仮定する変数の違いが1要素のみの場合には、縮小修正方程式左辺の行列は、1行・1列のみ変化することとなる。このため、行列の1行が変化した場合の逆行列の変化を表す公式、及び行列の1列が変化した場合の逆行列の変化を表す公式を用いることにより、新たな三角分解を行うことなく、縮小修正方程式を解くことが可能となる。   When the difference in the variable that is assumed to be on the boundary of the upper and lower limit constraints is only one element, the matrix on the left side of the reduced correction equation changes only in one row and one column. For this reason, without using a new triangulation by using a formula representing a change in the inverse matrix when one row of the matrix changes and a formula representing a change in the inverse matrix when one column of the matrix is changed. It becomes possible to solve the reduced correction equation.

行列の1列が変化した場合の逆行列の変化を示す公式は、次式(6)のように表される。
−1=Z−1−αZ−1 (6)
ただし、Z −1:行列Zの列kが変化した後の逆行列
−1 :行列Zの逆行列
:行列Zに対する列kの変化量を表すベクトル
:Z−1のk行目
α:1/(1+r
The formula showing the change of the inverse matrix when one column of the matrix changes is expressed as the following equation (6).
Z C -1 = Z -1 -αZ -1 u k r k t (6)
However, Z C −1 : Inverse matrix after column k of matrix Z has changed
Z −1 : inverse matrix of matrix Z
u k : vector representing the amount of change of column k with respect to matrix Z
r k t : the k-th row of Z −1
α: 1 / (1 + r k t u k )

上述のr は、縮小修正方程式のように行列の形が対称行列の場合には、次の方程式(7)を解くことにより求めることができる。
Zr=e (7)
ただし、eはk番目の要素が1であり、その他の要素はすべて0であるベクトルである。
Above r k t, when the shape of the matrix as the reduced modified equation is a symmetric matrix can be determined by solving the following equation (7).
Zr k = e k (7)
However, ek is a vector in which the kth element is 1 and all other elements are 0.

同様に、行列の1行が変化した場合の逆行列の変化を示す公式は、次式(8)のように表される。
−1=Z−1−βs −1 (8)
ただし、Z −1:行列Zの行kが変化した後の逆行列
−1:行列Zの逆行列
:行列Zに対する行kの変化量を表すベクトル
:Z−1のk列目
α:1/(1+v
Similarly, the formula showing the change of the inverse matrix when one row of the matrix is changed is expressed as the following equation (8).
Z R −1 = Z −1 −βs k v k t Z −1 (8)
Where Z R −1 : inverse matrix after row k of matrix Z has changed
Z −1 : inverse matrix of matrix Z
v k t : vector representing the amount of change of row k with respect to matrix Z
s k : the k-th column of Z −1
α: 1 / (1 + v k ts k )

上述のsは、縮小修正方程式のように行列の形が対称行列の場合には、次の方程式(9)を解くことにより求めることができる。
Zs=e (9)
ただし、eはk番目の要素が1であり、その他の要素はすべて0であるベクトルである。
The above-described s k can be obtained by solving the following equation (9) when the shape of the matrix is a symmetric matrix like the reduced correction equation.
Zs k = e k (9)
However, ek is a vector in which the kth element is 1 and all other elements are 0.

以上の式(6)〜(9)の関係から、1行・1列を変更した場合の逆行列は、次式(10)のようになる。   From the relationship of the above formulas (6) to (9), the inverse matrix when one row and one column are changed is represented by the following formula (10).

Figure 0004329933
Figure 0004329933

ただし、ZCR −1:行列Zの列k・行kが変化した後の逆行列
:[Z−1−αZ−1 ]のk列目
:行列Zに対する列kの変化量を表すベクトル
:Z−1のk行目
α:1/(1+r
However, Z CR −1 : Inverse matrix after column k and row k of matrix Z have changed
s k: k-th column of [Z -1 -αZ -1 u k r k t]
u k : a vector representing the amount of change of column k with respect to matrix Z
r k t : the k-th row of Z −1
α: 1 / (1 + r k t u k )

上述のsは、次の方程式(11)を解くことにより求めることができる。
Zs=e−αu (11)
S k described above can be obtained by solving the following equation (11).
Zs k = e k −αu k r k t e k (11)

このように、ZCR −1は、Z−1で表現することができる。したがって、ZCRに関する一次方程式は、Zに関する一次方程式を解くことにより、次の手順で解くことが可能となる。 Thus, Z CR -1 can be expressed as Z -1 . Therefore, a linear equation relating Z CR is by solving the linear equations relating Z, it is possible to solve the following procedure.

解くべき方程式を次式(12)とする。
CRy=w (12)
これをyについて解くと、次式(13)となる。
Let the equation to be solved be the following equation (12).
Z CR y = w (12)
When this is solved for y, the following equation (13) is obtained.

Figure 0004329933
Figure 0004329933

ここで、y’を次式(14)とする。   Here, y ′ is represented by the following formula (14).

Figure 0004329933
Figure 0004329933

この場合、y’は、Zに関する次の方程式(15)の解として得られる。   In this case, y 'is obtained as a solution of the following equation (15) for Z.

Figure 0004329933
Figure 0004329933

この結果、yは、下式(16)により計算される。   As a result, y is calculated by the following equation (16).

Figure 0004329933
Figure 0004329933

実施の形態3によれば、修正量算出手段は、三角分解履歴データに基づいて縮小修正方程式の解法に当たって三角分解を必要としない場合を判断し、前回の三角分解結果を流用して三角分解を行わずに縮小修正方程式を解くことができる。これにより、繰返し計算により最適解を求める際に、大きな処理時間を必要とする三角分解の回数を減らすことができ、2次計画問題を解く全体の時間を短縮することが可能となる。   According to the third embodiment, the correction amount calculating means determines a case where the triangulation is not required in solving the reduced correction equation based on the triangulation decomposition history data, and diverts the triangulation using the previous triangulation decomposition result. Reduce correction equations can be solved without doing so. As a result, when the optimum solution is obtained by iterative calculation, the number of triangulations requiring a large processing time can be reduced, and the overall time for solving the quadratic programming problem can be shortened.

実施の形態4.
実施の形態4では、本発明の2次計画法求解装置を適用する具体的な対象として、複数の発電機を備えた電力系統を取り上げ、この電力系統における最適解の算出処理について説明する。図7は、本発明の実施の形態4における電力系統に2次計画法求解を適用する場合の説明図である。
Embodiment 4 FIG.
In the fourth embodiment, a power system including a plurality of generators is taken up as a specific target to which the quadratic programming solving apparatus of the present invention is applied, and an optimal solution calculation process in this power system will be described. FIG. 7 is an explanatory diagram when the quadratic programming method solution is applied to the power system in the fourth embodiment of the present invention.

この電力系統は、発電機1〜発電機3の3台の発電機を有し、2本の送電線を介して負荷に電力を供給するものである。発電機1は、2MWから10MWまでの電力を出力でき、発電機2は、5MWから20MWまでの電力を出力でき、さらに、発電機3は、10MWから30MWまでの電力を出力できる発電機である。   This power system has three generators of generator 1 to generator 3 and supplies power to a load via two transmission lines. The generator 1 can output power from 2 MW to 10 MW, the generator 2 can output power from 5 MW to 20 MW, and the generator 3 is a generator that can output power from 10 MW to 30 MW. .

また、負荷に対しては、2本の送電線を介して50MWの電力を供給するものとする。なお、図7において、発電機と負荷とを結ぶ2本の送電線は、発電機1と発電機2の出力の総和を送電する設備容量25MWの送電線と、発電機3の出力を送電する設備容量30MWの送電線とで構成されている。   In addition, 50 MW of power is supplied to the load via two power transmission lines. In FIG. 7, the two transmission lines connecting the generator and the load transmit the output of the generator 3 and the transmission line of the facility capacity 25 MW for transmitting the sum of the outputs of the generator 1 and the generator 2. It consists of a power transmission line with an installation capacity of 30 MW.

また、発電機1〜発電機3の発電コストC1〜C3は、それぞれの発電機の出力をx〜xとすると、下式(17)〜(19)で示すような2次式で与えられることを想定する。
C1=10+110x+0.1x (17)
C2=20+120x+0.2x (18)
C3=30+130x+0.3x (19)
Further, the power generation costs C1 to C3 of the generators 1 to 3 are given by secondary equations as shown in the following equations (17) to (19), where the outputs of the respective generators are x1 to x3. Assuming that
C1 = 10 + 110x 1 + 0.1x 1 2 (17)
C2 = 20 + 120x 2 + 0.2x 2 2 (18)
C3 = 30 + 130x 3 + 0.3x 3 2 (19)

上述のような種々の制約条件に基づいて、発電コストを最小化するために、本発明の2次計画求解装置を適用する。本発明の2次計画法求解装置で扱うことのできる最適化問題は、すでに説明したように下式で表す必要がある。
Min f(x)
Subject to:
x=b
2min≦Hx≦b2max
min≦x≦xmax
ただし、f(x)=px+0.5xQx
In order to minimize the power generation cost based on the various constraints as described above, the secondary plan solving apparatus of the present invention is applied. The optimization problem that can be handled by the quadratic programming solving apparatus of the present invention needs to be expressed by the following equation as described above.
Min f (x)
Subject to:
H 1 x = b 1
b 2min ≦ H 2 x ≦ b 2max
x min ≤ x ≤ x max
However, f (x) = p t x + 0.5x t Qx

図7で示した電力系統に関する最適化問題を、上式の形f(x)で表現すると、次式(20)のようになる。   When the optimization problem related to the power system shown in FIG. 7 is expressed by the form f (x) of the above equation, the following equation (20) is obtained.

Figure 0004329933
Figure 0004329933

なお、上式(20)の右辺には、0次項がない。これは、0次項は、変数の変化によっては変わらないため、最適解を求めるにあたって0次項を考慮する必要がないためである。   Note that there is no zero-order term on the right side of the above equation (20). This is because the 0th-order term does not change depending on changes in variables, and therefore it is not necessary to consider the 0th-order term when obtaining the optimum solution.

x=bは、需給バランスを表す等式制約として、次式(21)となる。 H 1 x = b 1 is expressed by the following equation (21) as an equality constraint representing the supply and demand balance.

Figure 0004329933
Figure 0004329933

また、b2min≦Hx≦b2maxは、送電線の設備容量の関係から、次式(22)となる。 Further, b 2min ≦ H 2 x ≦ b 2max is the relationship between the installed capacity of the transmission line, the following equation (22).

Figure 0004329933
Figure 0004329933

さらに、xmin≦x≦xmaxは、発電機1〜発電機3のそれぞれの出力から、次式(23)となる。 Further, x min ≦ x ≦ x max is expressed by the following equation (23) from the outputs of the generators 1 to 3.

Figure 0004329933
Figure 0004329933

このように式(20)〜(23)で数式化された電力系統の発電コストの最小化問題に対しては、実施の形態1〜3で説明した本発明における2次計画法求解装置を適用して、最適解を求めることが可能となる。   Thus, the quadratic programming solving apparatus according to the present invention described in the first to third embodiments is applied to the problem of minimizing the power generation cost of the electric power system expressed by the equations (20) to (23). Thus, an optimal solution can be obtained.

実施の形態4によれば、電力系統の総合発電コストを各種の制約を守って最小化する問題を、本発明の2次計画求解装置が要求する入力データの形で表現することにより、本発明の2次計画求解装置を用いて最適解を求めることができる。   According to the fourth embodiment, the problem of minimizing the total power generation cost of the power system while complying with various restrictions is expressed in the form of input data required by the quadratic program solving apparatus of the present invention. An optimal solution can be obtained using the quadratic program solving apparatus.

本発明の実施の形態1における2次計画法求解装置の構成図である。It is a block diagram of the quadratic programming solving apparatus in Embodiment 1 of this invention. 本発明の実施の形態1の2次計画法求解装置における求解処理のフローチャートである。It is a flowchart of the solution processing in the quadratic programming method solution apparatus of Embodiment 1 of the present invention. 本発明の実施の形態2における2次計画法求解装置の構成図である。It is a block diagram of the quadratic programming method solution apparatus in Embodiment 2 of this invention. 本発明の実施の形態2の2次計画法求解装置における求解処理のフローチャートである。It is a flowchart of the solution processing in the quadratic programming method solution apparatus of Embodiment 2 of this invention. 本発明の実施の形態3における2次計画法求解装置の構成図である。It is a block diagram of the quadratic programming method solution apparatus in Embodiment 3 of this invention. 本発明の実施の形態3の2次計画法求解装置における求解処理のフローチャートである。It is a flowchart of the solution process in the quadratic programming method solution apparatus of Embodiment 3 of this invention. 本発明の実施の形態4における電力系統に2次計画法求解を適用する場合の説明図である。It is explanatory drawing in the case of applying a quadratic programming method solution to the electric power system in Embodiment 4 of this invention.

符号の説明Explanation of symbols

10 2次計画法求解装置、11 入力手段、12 変換手段、13 修正方程式生成手段、14 記憶部、15 縮小修正方程式生成手段、16 修正量算出手段、17 変数変更手段、18 繰返し処理判定手段、19 最適解出力手段。   DESCRIPTION OF SYMBOLS 10 Secondary programming solution apparatus, 11 Input means, 12 Conversion means, 13 Correction equation generation means, 14 Storage part, 15 Reduction correction equation generation means, 16 Correction amount calculation means, 17 Variable change means, 18 Iteration process determination means, 19 Optimal solution output means.

Claims (5)

関数型不等式制約を含む2次計画問題の方程式を設定する入力手段と、
前記関数型不等式制約を関数型等式制約に変換して生成される修正方程式を記憶する修正方程式記憶ファイル、変数の値の履歴を記憶する変数履歴データ記憶ファイル、及び前記変数の上下限制約の値を記憶する上下限制約値記憶ファイルを有する記憶部と、
前記関数型不等式制約を含む2次計画問題の方程式に対してスラック変数を導入して、関数型等式制約を含む2次計画問題の方程式及び新たな変数の上下限制約に変換し、前記上下限制約の値を前記上下限制約値記憶ファイルに記憶させる変換手段と、
上下限制約を有する前記新たな変数について、前記上下限制約内の初期値を設定するとともに、前記2次計画問題の最適解において前記上下限制約の境界上にあると仮定する変数を特定し、特定した前記変数の等式制約及び前記上下限制約に対するラグランジュ乗数を用いて修正方程式を生成し、設定した前記初期値を前記変数履歴データ記憶ファイルに記憶させ、生成した前記修正方程式を前記修正方程式記憶ファイルに記憶させる修正方程式生成手段と、
前記変数履歴データ記憶ファイルの最新データに基づいて前記修正方程式記憶ファイルに記憶された修正方程式を解くことにより、前記最適解に近づくための変数の修正量を算出する修正量算出手段と、
前記修正量算出手段によって算出された修正量及び前記上下限制約値記憶ファイルに記憶された上下限制約の値に基づいて、前記上下限制約の範囲内に収まる修正後の新たな変数を求めて前記記憶部の前記変数履歴データ記憶ファイルを更新する変数変更手段と、
前記変数履歴データ記憶ファイルに記憶された変数の履歴データ及びあらかじめ決められた収束判定値に基づいて変数の収束状態を判定し、前記変数が収束していないと判定したときは、前記修正量算出手段に対して、更新された前記変数履歴データ記憶ファイルの最新のデータに基づいて前記修正方程式記憶ファイルに記憶された修正方程式を解くことを再び実行させ、前記変数が収束したと判定したときは、処理を終了すると判定する繰返し処理判定手段と、
前記繰返し処理判定手段により処理が終了したと判定された場合に、前記記憶部の前記変数履歴データ記憶ファイルから最新の変数を最適解として取り出して出力する最適解出力手段と
を備えた2次計画法求解装置において、
前記記憶部は、前記修正方程式よりも次元の小さい縮小修正方程式を記憶する縮小修正方程式記憶ファイルをさらに有し、
前記修正方程式記憶ファイルに記憶された修正方程式から、前記上下限制約の境界上にあると仮定された変数、及び前記上下限制約に対する前記ラグランジュ乗数を消去した次元の小さい縮小修正方程式を生成し、生成した前記縮小修正方程式を前記記憶部の前記縮小修正方程式記憶ファイルに記憶させる縮小修正方程式生成手段をさらに備え、
前記修正量算出手段は、前記記憶部の変数履歴データ記憶ファイルの最新のデータに基づいて前記縮小修正方程式記憶ファイルに記憶された縮小修正方程式を解くことにより、前記最適解に近づくための変数の修正量を算出し、
前記繰返し処理判定手段は、前記変数履歴データ記憶ファイルに記憶された変数の履歴データ及びあらかじめ決められた収束判定値に基づいて変数の収束状態を判定し、前記変数が収束していないと判定したときは、前記縮小修正方程式生成手段に対して、更新された前記変数履歴データ記憶ファイルの最新のデータ及び前記修正方程式記憶ファイルに記憶された修正方程式に基づいて縮小修正方程式を再び生成させる
ことを特徴とする2次計画法求解装置。
Input means for setting equations for quadratic programming problems including functional inequality constraints;
A modified equation storage file that stores a modified equation generated by converting the functional inequality constraint into a functional equation constraint, a variable history data storage file that stores a history of variable values, and upper and lower limit constraints of the variable A storage unit having upper and lower limit constraint value storage files for storing values;
Slack variables are introduced into the quadratic programming problem equations including the functional inequality constraints, and converted into quadratic programming problem equations including the functional equality constraints and upper and lower bound constraints of the new variables. Conversion means for storing limit constraint values in the upper and lower limit constraint value storage file;
For the new variable having upper and lower limit constraints, an initial value in the upper and lower limit constraint is set, and a variable that is assumed to be on the boundary of the upper and lower limit constraint in the optimal solution of the quadratic programming problem is specified, A modified equation is generated using a Lagrange multiplier for the identified equation equality constraint and upper and lower limit constraints, the set initial value is stored in the variable history data storage file, and the generated modified equation is stored in the modified equation. Modified equation generation means for storing in a storage file;
A correction amount calculating means for calculating a correction amount of a variable for approaching the optimal solution by solving a correction equation stored in the correction equation storage file based on the latest data of the variable history data storage file;
Based on the correction amount calculated by the correction amount calculation means and the upper and lower limit constraint values stored in the upper and lower limit constraint value storage file, a new variable after correction that falls within the range of the upper and lower limit constraints is obtained. Variable changing means for updating the variable history data storage file of the storage unit;
Determine the convergence state of the variable based on the history data of the variable stored in the variable history data storage file and a predetermined convergence determination value, and when it is determined that the variable has not converged, the correction amount calculation When the means is again executed to solve the correction equation stored in the correction equation storage file based on the latest data of the updated variable history data storage file, and when it is determined that the variable has converged Repetitive process determining means for determining to end the process;
An optimal solution output means for extracting and outputting the latest variable as an optimal solution from the variable history data storage file of the storage unit when it is determined by the iterative processing determination means that the processing has been completed; In legal solution equipment,
The storage unit further includes a reduced correction equation storage file that stores a reduced correction equation having a smaller dimension than the correction equation,
From the modified equation stored in the modified equation storage file, a variable that is assumed to be on the boundary of the upper and lower limit constraints, and a reduced modified equation with a small dimension that eliminates the Lagrange multiplier for the upper and lower constraint, A reduced correction equation generating means for storing the generated reduced correction equation in the reduced correction equation storage file of the storage unit;
The correction amount calculating means solves the reduced correction equation stored in the reduced correction equation storage file based on the latest data in the variable history data storage file of the storage unit, thereby changing the variable for approaching the optimal solution. Calculate the correction amount,
The iterative process determining means determines a variable convergence state based on variable history data stored in the variable history data storage file and a predetermined convergence determination value, and determines that the variable has not converged. When the reduced correction equation generating means regenerates the reduced correction equation based on the updated data in the updated variable history data storage file and the correction equation stored in the correction equation storage file. Characteristic quadratic programming solver.
請求項1に記載の2次計画法求解装置において、
前記変数変更手段は、前記修正量算出手段によって算出された前記修正量の全量の修正をそれぞれの変数に対して行った場合に、修正後の全ての変数が上下限制約以内であるときは前記修正後の変数を新たな変数の値として変数履歴データ記憶ファイルを更新し、修正後の変数の少なくともいずれか1つが上下限制約を超えるときは、全ての修正量に対して等しい1未満の係数を掛け合わせて求まる修正補正量を用いてそれぞれの変数を修正した後の全ての変数が上下限制約を超えない最大の前記係数を求めることにより修正後の新たな変数を求めて変数履歴データ記憶ファイルを更新することを特徴とする2次計画法求解装置。
In the quadratic programming solving apparatus according to claim 1,
The variable changing means, when the correction of the total amount of the correction amount calculated by the correction amount calculation means is performed for each variable, and when all the corrected variables are within the upper and lower limit constraints, The variable history data storage file is updated with the corrected variable as the new variable value, and when at least one of the corrected variables exceeds the upper and lower limit constraints, the coefficient less than 1 that is equal to all the correction amounts The variable history data is stored by calculating a new variable after correction by calculating the maximum coefficient that does not exceed the upper and lower limit constraints after correcting each variable using the correction correction amount obtained by multiplying A quadratic programming solving apparatus characterized by updating a file.
請求項2に記載の2次計画法求解装置において、
前記記憶部は、関数型等式制約を記憶する関数型等式制約記憶ファイルをさらに有し、
前記変換手段は、変換した前記関数型等式制約を前記関数型等式制約記憶ファイルに記憶させ、
前記変数変更手段は、前記修正量算出手段によって算出された前記修正量の全量の修正をそれぞれの変数に対して行った場合に、修正後の変数の少なくともいずれか1つが上下限制約を超えるときは、全ての修正量に対して等しい1未満の係数を掛け合わせて求まる修正補正量を用いてそれぞれの変数を修正した後の全ての変数が上下限制約を超えない最大の前記係数を求めることにより修正後の新たな変数を求めて変数履歴データ記憶ファイルを更新した後に、前記変数履歴データ記憶ファイルの変数及び前記関数型等式制約記憶ファイルの関数型等式制約を用いて前記関数型等式制約の誤差を第1の誤差として算出し、さらに、上下限制約の境界上にない変数に対して等しい1未満の係数を掛け合わせて求まる仮定修正補正量によりそれぞれの変数を修正した後の変数が上下限制約を超えない最大の前記係数を求めることにより仮定修正後の新たな変数を求め、前記仮定修正後の新たな変数及び前記関数型等式制約記憶ファイルの関数型等式制約を用いて前記関数型等式制約の誤差を第2の誤差として算出し、前記第1の誤差が前記第2の誤差よりも大きい場合には、仮定修正後の新たな変数により前記変数履歴データ記憶ファイルを更新することを特徴とする2次計画法求解装置。
In the quadratic programming solving apparatus according to claim 2,
The storage unit further includes a functional equation constraint storage file that stores functional equation constraints.
The converting means stores the converted functional equation constraint in the functional equation constraint storage file,
The variable changing means, when the total amount of the correction amount calculated by the correction amount calculating means is corrected for each variable, when at least one of the corrected variables exceeds the upper and lower limit constraints Find the maximum coefficient that does not exceed the upper and lower limit constraints after correcting each variable using the correction correction amount obtained by multiplying all correction amounts by an equal coefficient less than 1. After the variable history data storage file is updated by obtaining a new variable after correction by the above, the function type etc. using the variables of the variable history data storage file and the function type equation constraints of the function type equation constraint storage file The error of the equation constraint is calculated as the first error, and is further calculated by the assumption correction correction amount obtained by multiplying the variable not equal to the boundary of the upper and lower limit constraints by an equal coefficient less than 1. A new variable after hypothesis correction is obtained by obtaining the maximum coefficient that does not exceed the upper and lower limit constraints after correcting these variables, and the new variable after the hypothesis correction and the functional equation constraint storage An error of the functional equation constraint is calculated as a second error using the functional equation constraint of the file, and if the first error is larger than the second error, a new one after the assumption correction is performed A quadratic programming solving apparatus, wherein the variable history data storage file is updated with a variable.
請求項1ないし3のいずれか1項に記載の2次計画法求解装置において、
前記記憶部は、縮小修正方程式の解法で用いた三角分解結果及び前記縮小修正方程式の解法に当たって上下限制約の境界上にあると仮定した変数を三角分解履歴データとして記憶する三角分解履歴データ記憶ファイルをさらに有し、
前記修正量算出手段は、縮小修正方程式の解法に当たって三角分解を実施する毎に、前記三角分解履歴データを前記三角分解履歴データ記憶ファイルに記憶させ、今回の縮小修正方程式の解法に当たって上下限制約の境界上にあると仮定した変数と、前記三角分解履歴データ記憶ファイルに記憶された前回の三角分解履歴データにおける上下限制約の境界上にあると仮定した変数とを比較し、前記上下限制約の境界上にあると仮定した変数の違いが1つのみであると判断したときは、今回の縮小修正方程式の解法に当たって前記三角分解履歴データ記憶ファイルに記憶された前回の三角分解履歴データにおける三角分解結果を用いて修正量を算出することを特徴とする2次計画法求解装置。
In the quadratic programming solving apparatus according to any one of claims 1 to 3,
The storage unit stores a triangular decomposition history data used for triangulation decomposition history data used to store a triangulation result used in solving the reduced correction equation and a variable assumed to be on the boundary of upper and lower limit constraints in solving the reduced correction equation. Further comprising
The correction amount calculating means stores the triangular decomposition history data in the triangular decomposition history data storage file every time the triangular decomposition is performed in solving the reduced correction equation, and the upper and lower limit constraints are solved in the solution of the current reduced correction equation. The variable assumed to be on the boundary is compared with the variable assumed to be on the upper / lower limit constraint boundary in the previous triangulation history data stored in the triangulation history data storage file. When it is determined that there is only one difference in the variable assumed to be on the boundary, the triangulation in the previous triangulation history data stored in the triangulation history data storage file in solving the current reduced correction equation A quadratic programming solving apparatus characterized by calculating a correction amount using a result.
請求項1ないし4のいずれか1項に記載の2次計画法求解装置において、
前記変数変更手段は、前記修正量算出手段によって算出された前記修正量の全量の修正をそれぞれの変数に対して行った場合に、修正後の全ての変数が上下限制約以内であるときは前記修正後の変数を新たな変数の値として変数履歴データ記憶ファイルを更新し、前記修正後の変数を用いて上下限制約に対するラグランジュ乗数を求め、前記ラグランジュ乗数の中に負の値を持ち対応する変数が上下限制約の上限値であると仮定されているものがある場合、あるいは、前記ラグランジュ乗数の中に正の値を持ち対応する変数が上下限制約の下限値であると仮定されているものがある場合には、これらの変数を上下限制約の境界上にあると仮定した変数から除外して前記変数の値を変更して前記記憶部の変数履歴データ記憶ファイルを更新し、
前記繰返し処理判定手段は、前記変数変更手段により除外される変数がある場合には繰返し処理を行うと判定し、前記縮小修正方程式生成手段に対して、更新された前記変数履歴データ記憶ファイルの最新のデータ及び前記修正方程式記憶ファイルに記憶された修正方程式に基づいて縮小修正方程式を再び生成させ、前記変数変更手段により除外される変数がない場合には最適解が求まったとして繰返し処理を行わないと判定する
ことを特徴とする2次計画法求解装置。
In the quadratic programming solving apparatus according to any one of claims 1 to 4,
The variable changing means, when the correction of the total amount of the correction amount calculated by the correction amount calculation means is performed for each variable, and when all the corrected variables are within the upper and lower limit constraints, The variable history data storage file is updated with the corrected variable as the new variable value, the Lagrange multiplier for the upper and lower limit constraints is obtained using the corrected variable, and the Lagrange multiplier has a negative value and corresponds. Some variables are assumed to be upper bounds for upper and lower bound constraints, or the Lagrange multipliers have a positive value and the corresponding variable is assumed to be the lower bound for upper and lower bound constraints If there is something, remove these variables from the variable assumed to be on the boundary of the upper and lower limit constraints, change the value of the variable and update the variable history data storage file of the storage unit,
The iterative processing determining means determines that the iterative processing is to be performed when there is a variable excluded by the variable changing means, and notifies the reduced correction equation generating means of the updated variable history data storage file. The reduced correction equation is generated again based on the data of the correction equation and the correction equation stored in the correction equation storage file, and if there is no variable excluded by the variable changing means, it is determined that an optimal solution has been obtained and the iterative process is not performed. A quadratic programming solver characterized by:
JP2004196842A 2004-07-02 2004-07-02 Quadratic programming solver Expired - Lifetime JP4329933B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004196842A JP4329933B2 (en) 2004-07-02 2004-07-02 Quadratic programming solver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004196842A JP4329933B2 (en) 2004-07-02 2004-07-02 Quadratic programming solver

Publications (2)

Publication Number Publication Date
JP2006018657A JP2006018657A (en) 2006-01-19
JP4329933B2 true JP4329933B2 (en) 2009-09-09

Family

ID=35792865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004196842A Expired - Lifetime JP4329933B2 (en) 2004-07-02 2004-07-02 Quadratic programming solver

Country Status (1)

Country Link
JP (1) JP4329933B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11256779B2 (en) 2019-09-09 2022-02-22 Kabushiki Kaisha Toshiba Calculation apparatus, calculation method and computer program product

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009245044A (en) * 2008-03-31 2009-10-22 Hitachi Ltd Power price predicting device and power price predicting method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11256779B2 (en) 2019-09-09 2022-02-22 Kabushiki Kaisha Toshiba Calculation apparatus, calculation method and computer program product

Also Published As

Publication number Publication date
JP2006018657A (en) 2006-01-19

Similar Documents

Publication Publication Date Title
US20170140072A1 (en) Method and system for determining a configuration of a model having a collection of entities and satisfying a set of constraints
CN118673394B (en) Large language model sparsification method and device, electronic equipment and storage medium
CN118839730A (en) Source load small sample time sequence prediction method, system, device and storage medium based on pre-training large language model
JP2021002322A (en) Ising machine data input apparatus and method for inputting data in ising machine
US12412097B2 (en) Neural network compression device
CN118410263A (en) A method, device, equipment and storage medium for evaluating power system stability
JP7349811B2 (en) Training device, generation device, and graph generation method
CN112949230A (en) Nonlinear circuit macro model extraction method, system and medium
JP4329933B2 (en) Quadratic programming solver
EP4229489B1 (en) Co-simulation, computer system
CN115081021B (en) Privacy algorithm construction method, device, electronic device and readable storage medium
EP4016216B1 (en) Method and computer system for numerical modular co-simulation.
JP2021114117A (en) Information processing program, information processing method, and information processing device
CN119150625B (en) Fast and high-precision simulation method, simulator, storage medium and system for GIS electromagnetic field distribution
CN120074396A (en) Adaptive power amplification method and device based on deep learning
JP5226468B2 (en) Predistorter
JP5168048B2 (en) Secondary planning problem calculation device, program for secondary planning problem calculation device, tidal current plan calculation device, generator output value calculation device, and portfolio optimization device
CN120372779B (en) Arch bridge cable force adjusting method, device, medium and program product
CN114282710B (en) Generalized two-stage mixed integer programming solution method and transmission network planning method
US20130054659A1 (en) Information processing technique for optimization
CN119294123A (en) A single diagonal implicit Runge-Kutta method for simulation of second-order differential equations and its application
CN111092602A (en) Modeling method, apparatus, computer equipment and storage medium of power amplifier
Van der Woude A characterization of the eigenvalue of a general (min, max,+)-system
CN116680527B (en) Topology relation checking method, system, equipment and medium for data missing area
BLEKER et al. Graph Neural Network Message Passing-Based Structural Form-Finding Using Combinatorial Equilibrium Modelling

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061016

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090609

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4329933

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120626

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130626

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term