JP2018180694A - Arithmetic unit, method and program for nonlinear programming problem - Google Patents
Arithmetic unit, method and program for nonlinear programming problem Download PDFInfo
- Publication number
- JP2018180694A JP2018180694A JP2017075455A JP2017075455A JP2018180694A JP 2018180694 A JP2018180694 A JP 2018180694A JP 2017075455 A JP2017075455 A JP 2017075455A JP 2017075455 A JP2017075455 A JP 2017075455A JP 2018180694 A JP2018180694 A JP 2018180694A
- Authority
- JP
- Japan
- Prior art keywords
- linear
- function
- nonlinear
- programming problem
- constraints
- 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.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
Description
本発明は、線形制約条件と非線形制約条件とを含む制約条件の下で目的関数を最小化又は最大化する非線形計画問題を求解するための非線形計画問題の演算装置、方法及びプログラムに関する。 The present invention relates to a computing device, method, and program of a non-linear programming problem for solving a non-linear programming problem which minimizes or maximizes an objective function under constraints including linear and non-linear constraints.
数理計画問題は、制約条件の下で目的関数を最小化又は最大化する問題である。その中でも、制約条件及び目的関数のうち少なくともいずれか一方に非線形関数を含むものを非線形計画問題と呼ぶ。
例えば製鉄業におけるコークスや焼結鉱の製造プロセスでは、各工場が保有する複数の原材料を配合して、製品を製造する。この場合に、目標となる製品の特性値や生産量を満たすように配合計画を立案しなければならない。また、製造プロセスにおける操業条件を満たすように配合計画を立案しなければならない。
このように目標となる製品の特性値や生産量、操業条件を満たすようにするための制約条件は、数学的に最適解を求めることが難しい関数を含む場合が多い。例えばコークスの品質を予測する推定式には、コークス強度等の構造的特性を表わす式が含まれるが、この推定式には、実験や理論に基づいた非線形関数が使用される。このように製造プロセスにおける数理計画問題の多くは、複雑な非線形計画問題となるため、実用時間内に精度の高い最適解を得ることが難しかった。
A mathematical programming problem is one that minimizes or maximizes the objective function under constraints. Among them, those including a nonlinear function in at least one of a constraint and an objective function are called a nonlinear programming problem.
For example, in the process of producing coke and sintered ore in the iron and steel industry, a plurality of raw materials held by each plant are blended to produce a product. In this case, it is necessary to formulate a compounding plan so as to meet the target product characteristic value and production volume. In addition, it is necessary to formulate a blending plan to satisfy the operation conditions in the manufacturing process.
As described above, the constraints for setting the characteristic value, the production amount, and the operation condition of the target product in many cases include a function in which it is difficult to mathematically obtain an optimal solution. For example, an estimation equation for predicting the quality of coke includes an equation representing structural characteristics such as coke strength, but in this estimation equation, a nonlinear function based on experiment or theory is used. As such, many of the mathematical programming problems in the manufacturing process become complex nonlinear programming problems, and it has been difficult to obtain an accurate solution with high accuracy in practical time.
非線形計画問題の求解手法として、いくつかの提案がなされている。
例えば特許文献1には、複数種の配合原材料を混合する配合計画を作成するためのシミュレータと、配合原材料の需給バランス制約を表す数式モデル、及び、混合後の性状制約を表す数式モデルを構築するモデル構築部と、モデル構築部により構築された数式モデルを用い、所定の目的関数に基づいて最適化計算を行い、シミュレータに対する指示を算出する計画部とを備え、混合後の性状制約を表す数式モデルが非線形の数式を含む場合、前記非線形の数式に代えて線形の数式を導入して数式モデルを定式化し、その線形の数式を含む数式モデルを用いた計画部による求解結果が前記非線形の数式を含む数式モデルを満たすか否かを確認する手法が開示されている。
また、非特許文献1には、非線形関数に補助変数を導入し、関数を分離可能な形に変換した後に、区分線形関数で近似して、混合整数計画問題として定式化する手法が示されている。
Several proposals have been made as a method for solving nonlinear programming problems.
For example, in
Also, Non-Patent
しかしながら、特許文献1の手法では、非線形計画問題を線形計画問題に簡略化して近似するため、近似誤差が発生して、解の精度が悪くなるおそれがある。
また、非特許文献1の手法では、非凸関数の定式化には、非線形関数の分割数に応じて0、1変数の定義が必要となる。この問題はNP困難であり、変数の定義範囲が広すぎたり、分割数が増えすぎたりすると、問題規模が指数関数的に増大して、実用時間内に求解できなくなるおそれがある。
However, in the method of
Further, in the method of Non-Patent
本発明は上記のような点に鑑みてなされたものであり、線形制約条件と非線形制約条件とを含む制約条件の下で目的関数を最小化又は最大化する非線形計画問題を求解する際に、問題規模が増大するのを避け、実用時間内に精度の高い最適解が得られるようにすることを目的とする。 The present invention has been made in view of the above points, and in solving a nonlinear programming problem which minimizes or maximizes an objective function under constraints including linear constraints and nonlinear constraints, The objective is to avoid an increase in the problem size and to obtain an accurate solution with high accuracy in practical time.
上記の課題を解決するための本発明の要旨は、以下のとおりである。
[1] 線形制約条件と非線形制約条件とを含む制約条件の下で目的関数を最小化又は最大化する非線形計画問題を求解するための非線形計画問題の演算装置であって、
前記非線形制約条件を表わす非線形関数は、前記非線形計画問題の決定変数の線形結合で表わされる中間変数を独立変数とする関数であり、
前記中間変数の上下限値を設定するとともに、当該上下限値の範囲で前記非線形関数を区分線形関数で近似して、制約条件を設定する設定手段と、
前記設定手段で設定した制約条件の下で前記非線形計画問題を求解する求解手段とを備え、
前記設定手段は、前記中間変数について、前記制約条件から前記非線形制約条件を取り除いたかたちで当該中間変数を目的関数とした数理計画問題を求解することにより、その上下限値を設定することを特徴とする非線形計画問題の演算装置。
[2] 前記設定手段は、
前記非線形関数に補助変数を導入して、一変数関数の和の形で表わされる分離可能関数に変換し、
前記変換した分離可能関数に用いられる前記中間変数の上下限値を設定するとともに、前記変換した分離可能関数を構成する非線形関数を区分線形関数で近似して、制約条件を設定することを特徴とする[1]に記載の非線形計画問題の演算装置。
[3] 前記設定手段は、非線形関数を区分線形関数で近似するときに、凸結合定式化及びタイプ2の特殊順序集合を用いた定式化のうち少なくともいずれか一方を行うことを特徴とする[1]又は[2]に記載の非線形計画問題の演算装置。
[4] 前記求解手段で得られた決定変数の値を、前記設定手段による区分線形近似後の関数に代入して得られた近似計算値と、
前記求解手段で得られた決定変数を、前記非線形制約条件を表わす非線形関数に代入して得られた理論計算値とを比較し、
前記近似計算値と前記理論計算値との差が所定の条件を満たすまで、区分線形関数の分割数を変更して、前記設定手段及び前記求解手段による処理を繰り返すことを特徴とする[1]乃至[3]のいずれか一つに記載の非線形計画問題の演算装置。
[5] 前記非線形計画問題は、複数の原材料を配合して製品を製造する製造プロセスにおいて、配合割合を決定変数とする配合計画問題であることを特徴とする[1]乃至[4]のいずれか一つに記載の非線形計画問題の演算装置。
[6] 線形制約条件と非線形制約条件とを含む制約条件の下で目的関数を最小化又は最大化する非線形計画問題を求解するための非線形計画問題の演算方法であって、
前記非線形制約条件を表わす非線形関数は、前記非線形計画問題の決定変数の線形結合で表わされる中間変数を独立変数とする関数であり、
設定手段が、前記中間変数の上下限値を設定するとともに、当該上下限値の範囲で前記非線形関数を区分線形関数で近似して、制約条件を設定する設定ステップと、
求解手段が、前記設定した制約条件の下で前記非線形計画問題を求解する求解ステップとを有し、
前記設定ステップでは、前記中間変数について、前記制約条件から前記非線形制約条件を取り除いたかたちで当該中間変数を目的関数とした数理計画問題を求解することにより、その上下限値を設定することを特徴とする非線形計画問題の演算方法。
[7] 線形制約条件と非線形制約条件とを含む制約条件の下で目的関数を最小化又は最大化する非線形計画問題を求解するためのプログラムであって、
前記非線形制約条件を表わす非線形関数は、前記非線形計画問題の決定変数の線形結合で表わされる中間変数を独立変数とする関数であり、
前記中間変数の上下限値を設定するとともに、当該上下限値の範囲で前記非線形関数を区分線形関数で近似して、制約条件を設定する設定処理と、
前記設定した制約条件の下で前記非線形計画問題を求解する求解処理とをコンピュータに実行させ、
前記設定処理では、前記中間変数について、前記制約条件から前記非線形制約条件を取り除いたかたちで当該中間変数を目的関数とした数理計画問題を求解することにより、その上下限値を設定することを特徴とするプログラム。
The gist of the present invention for solving the above problems is as follows.
[1] A computing device of a non-linear programming problem for solving a non-linear programming problem which minimizes or maximizes an objective function under constraints including a linear constraint and a non-linear constraint,
The non-linear function representing the non-linear constraint condition is a function having an intermediate variable represented by a linear combination of decision variables of the non-linear programming problem as an independent variable,
Setting means for setting upper and lower limit values of the intermediate variable and approximating the non-linear function with a piecewise linear function within the range of the upper and lower limit values, and setting a constraint condition;
A solution solving means for solving the nonlinear programming problem under the constraint set by the setting means;
The setting means sets upper and lower limits by solving the mathematical programming problem using the intermediate variable as an objective function by removing the non-linear constraint condition from the constraint for the intermediate variable. A computing device for nonlinear programming problems.
[2] The setting means is
Introduce an auxiliary variable to the nonlinear function and convert it into a separable function represented in the form of a sum of univariate functions,
The upper and lower limit values of the intermediate variable used for the converted separable function are set, and a nonlinear function constituting the converted separable function is approximated by a piecewise linear function to set constraints. The arithmetic unit of the nonlinear programming problem according to [1].
[3] The setting means is characterized in that, when approximating a non-linear function by a piecewise linear function, at least one of a convex connection formulation and a formulation using a special ordered set of
[4] An approximate calculation value obtained by substituting the value of the decision variable obtained by the solution solving means into the function after the piecewise linear approximation by the setting means,
Comparing the theoretical variables obtained by substituting the decision variables obtained by the solution solving means into a non-linear function representing the non-linear constraint condition;
The number of divisions of the piecewise linear function is changed until the difference between the approximate calculation value and the theoretical calculation value satisfies a predetermined condition, and the processing by the setting means and the solution solving means is repeated [1]. The computing device of the nonlinear programming problem according to any one of [3].
[5] The above-mentioned nonlinear programming problem is a blending planning problem in which a blending ratio is a deciding variable in a manufacturing process of blending a plurality of raw materials to produce a product, any one of [1] to [4] Arithmetic unit of the nonlinear programming problem described in one or one.
[6] A method of computing a non-linear programming problem for solving a non-linear programming problem which minimizes or maximizes an objective function under constraints including a linear constraint and a non-linear constraint,
The non-linear function representing the non-linear constraint condition is a function having an intermediate variable represented by a linear combination of decision variables of the non-linear programming problem as an independent variable,
A setting step of setting upper and lower limit values of the intermediate variable and approximating the non-linear function with a piecewise linear function in the range of the upper and lower limit values to set a constraint condition;
The solving means has a solving step of solving the non-linear programming problem under the set constraints.
In the setting step, upper and lower limit values are set by solving the mathematical programming problem using the intermediate variable as an objective function by removing the non-linear constraint condition from the constraint condition for the intermediate variable. How to calculate nonlinear programming problems.
[7] A program for solving a nonlinear programming problem which minimizes or maximizes an objective function under constraints including linear constraints and nonlinear constraints,
The non-linear function representing the non-linear constraint condition is a function having an intermediate variable represented by a linear combination of decision variables of the non-linear programming problem as an independent variable,
Setting processing of setting upper and lower limit values of the intermediate variable and approximating the non-linear function with a piecewise linear function in the range of the upper and lower limit values, and setting constraints;
Causing a computer to execute a solution solving process for solving the nonlinear programming problem under the set constraint condition;
In the setting process, upper and lower limit values are set by solving the mathematical programming problem using the intermediate variable as an objective function by removing the non-linear constraint condition from the constraint for the intermediate variable. And the program to be.
本発明によれば、線形制約条件と非線形制約条件とを含む制約条件の下で目的関数を最小化又は最大化する非線形計画問題を求解する際に、問題規模が増大するのを避け、実用時間内に精度の高い最適解が得られるようにすることができる。 According to the present invention, when solving a non-linear programming problem which minimizes or maximizes the objective function under constraints including linear constraints and non-linear constraints, the problem size is prevented from increasing and the working time is avoided. It is possible to obtain an optimal solution with high accuracy.
以下、添付図面を参照して、本発明の好適な実施形態について説明する。 Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
非線形関数を区分線形近似にて定式化する場合、区分線形関数の近似精度を上げるためには、区分線形関数の分割数を細かく切る必要がある。しかしながら、分割数を増やせば増やすほど計算負荷が上がるため、分割数は要求精度を満たす最低限度の値を与える必要がある。ここで、計算精度を保つために必要な区分線形近似関数の分割数は、区分線形近似関数を構築する変数の取りうる範囲によって決定される。もし変数の取りうる範囲が広ければ、多くの分割が必要となり、少なければ少ない分割数で定式化が済む。そこで、本発明者らは、非線形関数を構築する変数の最小値/最大値を、線形計画法を用いて事前に求めることによって、定式化後の最適化問題の解の探索範囲を減少させた。これによって、本プロセスの配合計画問題に対する高速・高精度の計画立案を実現する技術を確立した。 When formulating a non-linear function by piecewise linear approximation, it is necessary to finely divide the number of divisions of the piecewise linear function in order to increase the approximation accuracy of the piecewise linear function. However, since the computational load increases as the number of divisions increases, the number of divisions must have a minimum value that satisfies the required accuracy. Here, the number of divisions of the piecewise linear approximation function necessary to maintain the calculation accuracy is determined by the possible range of the variables constructing the piecewise linear approximation function. If the range of possible variables is wide, many divisions are required, and the smaller the number of divisions, the more formal the formulation. Therefore, the present inventors reduced the search range of the solution of the optimization problem after formulation by obtaining the minimum value / maximum value of the variable constructing the non-linear function in advance using linear programming. . Through this, we have established technology to realize high-speed, high-precision planning for the formulation planning problem of this process.
本実施形態では、製鉄業におけるコークスや焼結鉱の製造プロセスのように、複数の異なる性質を持つ原材料を配合して製品を製造する製造プロセスに対して本発明を適用した例を説明する。 In this embodiment, an example is described in which the present invention is applied to a manufacturing process for producing a product by blending raw materials having different properties, such as the manufacturing process of coke and sintered ore in the steel making industry.
図1に、実施形態に係る配合計画立案装置100の機能構成を示す。配合計画立案装置100は、本発明を適用した非線形計画問題の演算装置として機能し、複数の異なる性質を持つ原材料(銘柄)を配合して製品を製造する製造プロセスにおいて、配合割合を決定変数とし、目標となる製品の特性値や生産量、操業条件を満たし、かつ、製造に係るコストを最小化する配合計画を立案する。つまり最適な配合割合を求める。本実施形態で取り扱う配合計画問題では、制約条件の少なくとも一部が非線形関数で表わされる非線形制約となっている。
FIG. 1 shows a functional configuration of the blending
101は入力部であり、例えばデータベース108から配合計画を立案する上で必要になる各原材料の性状情報(性質や状態に関する情報)、操業条件情報、コスト情報等のデータを取り込む。
102は分割数設定部であり、非線形関数を区分線形近似する際の分割数を設定する。分割数設定部102は、例えばオペレータの指示に従って分割数を設定するようにしてもよいし、予め定められた分割数の範囲内で自動的に分割数を設定するようにしてもよい。
103は制約条件設定部であり、入力部101で取り込んだデータに基づいて、目標となる製品の特性値や生産量、操業条件を満たすための制約条件を数式モデルに定式化して設定する。
ここで、制約条件設定部103は、関数変換部103aと、上下限値設定部103bとを備え、非線形制約に用いられる変数の上下限値を設定するとともに、非線形制約を構成する非線形関数を区分線形近似して、制約条件を設定する設定手段として機能する。
より詳細には、関数変換部103aは、非線形制約を表わす非線形関数が、分離可能関数であるか否かを判断する。分離可能関数とは、n次元のユークリッド空間の任意のx=(x1,x2,・・・,xn)Tに対して、関数fが下記のかたちで表わされる関数である。
Here, the constraint
More specifically, the function conversion unit 103a determines whether the non-linear function representing the non-linear constraint is a separable function. The separable function is a function in which the function f is expressed in the following form with respect to any x = (x 1 , x 2 ,..., X n ) T in n-dimensional Euclidean space.
非線形関数が分離可能関数で表現されていない場合には、補助変数を導入し、非線形関数を分離可能関数に変換する。この変換により、全ての非線形関数は一変数関数の和の形で表現することが可能となる。
上下限値設定部103bは、関数変換部103aで変換した分離可能関数に用いられる変数の上下限値を設定する。この上記設定された数式モデルのうちで、制約条件から非線形制約を取り除くことで緩和した数式モデルに対して、上下限値を求めるべき上記変数を目的関数とした数式モデルに定式化し、目的関数を最大化及び最小化する数理計画問題を求解することにより、その上下限値を設定する。
そして、制約条件設定部103は、関数変換部103aで変換した分離可能関数を構成する一変数関数が非線形関数である場合には、該一変数関数を区分線形近似して、制約条件を設定する。
なお、ここでいう定式化とは、制約条件設定部103が数式モデルそのものを最初から構築するという意味ではなく、予め設定されている制約条件の数式モデルの枠組みに、ステップS1で取り込んだデータを反映させることをいう。
If the non-linear function is not expressed as a separable function, an auxiliary variable is introduced to convert the non-linear function into a separable function. This transformation makes it possible to express all non-linear functions in the form of the sum of univariate functions.
The upper and lower limit value setting unit 103b sets upper and lower limit values of variables used for the separable function converted by the function conversion unit 103a. Of the above set mathematical model, for the mathematical model relaxed by removing the non-linear constraints from the constraints, the upper limit and lower limit are to be formulated into a mathematical model using the above variables as the objective function, and the objective function is Set upper and lower limits by solving mathematical programming problems to be maximized and minimized.
Then, when the one-variable function that constitutes the separable function converted by the function conversion unit 103a is a non-linear function, the restriction
Here, the term “formulation” does not mean that the
104は目的関数設定部であり、入力部101で取り込んだデータに基づいて、製造に係るコストを最小化する目的関数を数式モデルに定式化して設定する。
なお、ここでいう定式化とは、目的関数設定部104が数式モデルそのものを最初から構築するという意味ではなく、予め設定されている目的関数の数式モデルの枠組みに、ステップS1で取り込んだデータを反映させることをいう。
Here, the term “formalization” does not mean that the objective
105は求解部であり、制約条件設定部103及び目的関数設定部104で設定した配合計画問題を求解する。
A
106は判定部であり、求解部105による求解結果が妥当なものか否かを判定する。その結果、求解結果が妥当なものである場合、該求解結果を確定する。求解結果が妥当なものでない場合は、分割数設定部102で分割数を変更して、制約条件設定部103、目的関数設定部104及び求解部105による配合計画問題の求解を繰り返す。
求解結果の妥当性を判定する仕組みとして、求解部105で得られた配合割合を、制約条件設定部103による区分線形近似後の関数に代入して得られた計算値と、元の非線形制約に代入して得られた理論計算値とを比較する。そして、計算値と理論計算値との差が所定の条件を満たすまで、分割数設定部102で分割数を変更して、制約条件設定部103、目的関数設定部104及び求解部105による配合計画問題の設定及び求解を繰り返す。
As a mechanism for determining the validity of the solution solution result, the calculated value obtained by substituting the blending ratio obtained by the
107は出力部であり、判定部106で妥当であると判定した求解結果を出力する。ここでいう出力とは、例えば求解結果を不図示の記憶領域に保存、登録したり、ディスプレイ110に表示したり、ネットワークを介して外部機器に送出したりすることをいう。
108はデータベースであり、配合計画を立案する上で必要になる各原材料の性状情報、操業条件情報、コスト情報等のデータを格納する。なお、ここでデータベース108からデータを取り込む例を示したが、それ以外にも、例えばネットワークを介して外部機器からデータを取り込んだり、ユーザが直接入力したデータを取り込んだりする形態であっても構わない。
109はポインティングデバイスやキーボード等の入力装置、110はディスプレイである。
次に、配合計画立案装置100による配合計画の立案方法を説明する。
図2は、実施形態に係る配合計画立案装置100による配合計画の立案方法の処理を示すフローチャートである。
ステップS1で、入力部101は、例えばデータベース108から配合計画を立案する上で必要になる各原材料の性状情報、操業条件情報、コスト情報等のデータを取り込む。例えば表1に示すように、各銘柄の配合割合に関して上下限値の情報が取り込まれる。また、具体的には示さないが、各銘柄の性質に関して上下限値の情報が取り込まれる。
Next, a method of drafting a blending plan by the blending
FIG. 2 is a flowchart showing processing of a method of creating a combination plan by the combination
In step S1, the
ステップS2で、分割数設定部102は、非線形関数を区分線形近似する際の分割数Kを設定する。なお、区分線形近似すべき非線形関数が複数ある、或いは分離可能関数に用いられる変数が複数ある場合、分割数は非線形関数ごと、分離可能関数に用いられる変数ごとに設定してもよい。
In step S2, the division
ステップS3で、制約条件設定部103は、ステップS1で取り込んだデータに基づいて、目標となる製品の特性値や生産量、操業条件を満たすための制約条件を数式モデルに定式化して設定する。
本実施形態において制約条件は、式(1)のように線形関数で表わされる線形制約と、式(2)のように非線形関数で表わされる非線形制約とに分けられる。
In step S3, based on the data acquired in step S1, the
In the present embodiment, the constraints are divided into a linear constraint represented by a linear function as in equation (1) and a nonlinear constraint represented by a non-linear function as in equation (2).
式(1)は、制約条件の中でも線形となる制約条件を表わす式である。式(1)のxは決定変数である配合割合を表わすM次元の列ベクトルであり、ベクトルの要素は各原材料の配合割合に相当する。式(1)のAはN行M列の行列であり、Aのすべての要素は実数値をとるものとする。bはN次元の列ベクトルであり、実数値をとるものとする。
式(2)のgi(x)は非線形関数であり、iは制約の種類を表わす。例えば非線形関数gi(x)は、製鉄業であればコークス強度等、非線形性が強い特性値を表わす。式(2)の非線形関数gi(x)は、多変数関数であったり、非凸関数であったり、微分不可能な関数であったりする。
Expression (1) is an expression representing a constraint that is linear among the constraints. In the equation (1), x is an M-dimensional column vector representing a blend ratio which is a decision variable, and the elements of the vector correspond to the blend ratio of each raw material. In equation (1), A is a matrix of N rows and M columns, and all elements of A have real values. b is an N-dimensional column vector, and takes real values.
In equation (2), g i (x) is a non-linear function, and i represents the type of constraint. For example, the non-linear function g i (x) represents a characteristic value with strong non-linearity such as coke strength in the case of steel making industry. The nonlinear function g i (x) in equation (2) is a multivariable function, a nonconvex function, or a non-differentiable function.
本発明を適用するに際して、制約条件を線形制約と非線形制約を分けて定式化を行う。まず、線形制約を数式モデルに追加する。線形制約は、特に困難なく数式モデルへの追加が可能である。 In applying the present invention, the constraints are formulated by dividing linear constraints and nonlinear constraints. First, add linear constraints to the mathematical model. Linear constraints can be added to mathematical models without particular difficulty.
次に、非線形制約の定式化を行う。ステップS3では、図3に示すフローチャートに従って、非線形制約を分離可能関数に変換し、分離可能関数に用いられる変数の上下限値を設定するとともに、分離可能関数を構成する一変数関数が非線形関数である場合には、該一変数関数を区分線形関数で近似して、近似した区分線形関数を制約条件として設定する。
ステップS301で、制約条件設定部103は、非線形関数gi(x)を入力する。本実施形態では、非線形関数gi(x)が、式(3)の形式で表わされる場合を考える。xは決定変数である配合割合を表わすM次元の列ベクトルであり、ベクトルの要素は各原材料の配合割合に相当する。w1,w2,w3はM次元のベクトルであり、ベクトルの要素は実数値をとるものとする。
Next, the formulation of nonlinear constraints is performed. In step S3, according to the flowchart shown in FIG. 3, the non-linear constraints are converted into separable functions, upper and lower limit values of variables used for the separable functions are set, and one-variable functions constituting the separable functions are non-linear functions. In some cases, the one-variable function is approximated by a piecewise linear function, and the approximated piecewise linear function is set as a constraint.
In step S301, the
式(3)の非線形関数gi(x)は、非凸関数で、かつ多変数関数である。一般的に非線形非凸関数に対して区分線形近似を適用する場合、凸結合定式化に加えて、タイプ2(Special Order Set type2:SOS2)の特殊順序集合を用いた定式化を行う必要がある。このため、この非線形関数を区分線形近似で定式化した最適化問題はNP困難な問題となる。
また、式(3)の非線形関数gi(x)は、M次の多変数関数である。そのため、式変形を加えずに区分線形近似を適用しようとすると、M次の超平面で近似関数を構成しなければならない。例えば式(3)の非線形関数gi(x)を、各変数ごとに、K個分割した区分線形関数を構成する場合を考える。このとき、非線形関数gi(x)を区分線形近似するのに必要な変数の数はおおよそKMと、累乗のオーダーである。例えばK=50、M=10とした場合、区分線形近似に必要な変数の数は5010と非常に多い。そのため、このままの定式化では実用時間内に求解できない可能性が高い。したがって、問題規模を縮小する定式化の工夫が求められる。
The non-linear function g i (x) of Equation (3) is a nonconvex function and a multivariable function. In general, when applying piecewise linear approximation to a nonlinear nonconvex function, it is necessary to perform formulation using a special order set of type 2 (Special Order Set type 2: SOS 2) in addition to the convex connection formulation. . For this reason, the optimization problem which formulated this nonlinear function by piecewise linear approximation becomes an NP-hard problem.
Further, the non-linear function g i (x) of equation (3) is an M-order multivariable function. Therefore, to apply the piecewise linear approximation without adding the equation transformation, the M-order hyperplane must constitute an approximation function. For example, consider the case where a non-linear function g i (x) of equation (3) is divided into K piecewise linear functions for each variable. At this time, the number of variables necessary for piecewise linear approximation of the non-linear function g i (x) is approximately K M and an order of power. For example, if the K = 50, M = 10, the number of variables needed to piecewise linear approximation are numerous and 50 10. Therefore, there is a high possibility that the formulation as it is can not be solved within the practical time. Therefore, there is a need for formulation of formulation that reduces the size of the problem.
そこで、ステップS302で、制約条件設定部103の関数変換部103aは、非線形関数gi(x)に補助変数を導入し、分離可能関数、すなわち一変数関数の和のかたちで表現できる多変数関数に変換する。分離可能関数への変換は、非特許文献2や非特許文献3に提示されるアルゴリズムを用いても構わないし、その他どのようなアルゴリズムを用いても構わない。非線形関数gi(x)を分離可能関数に変換すると、式(4)のように表わされる。非線形関数gi(x)は、決定変数xの線形結合で表わされる中間変数v1〜v4を独立変数とする関数となる。
Therefore, in step S302, the function conversion unit 103a of the
式(4)の非線形関数に対して分割数Kが設定されているとする。式(4)には、非線形関数が3つ存在するが、それぞれの関数は一変数関数であるので、区分線形近似するのに必要な変数の数はそれぞれK個だけでよい。したがって、区分線形関数を構成する変数の数は3×Kで3K個となる。すなわち、式(4)のように、非線形関数を分離可能関数に変換したことにより、変換前はK3個必要であった区分線形関数を構成する変数の数が、変換後は3Kに抑えられたといえる。 It is assumed that the division number K is set for the non-linear function of equation (4). Although there are three non-linear functions in Equation (4), since each function is a one-variable function, the number of variables required for piecewise linear approximation may be K only. Therefore, the number of variables constituting the piecewise linear function is 3 × K and 3K. That is, by converting the non-linear function to the separable function as in equation (4), the number of variables constituting the piecewise linear function, which was required by K 3 before the conversion, is suppressed to 3 K after the conversion It can be said that.
ステップS303で、制約条件設定部103は、ステップS302で変換した関数に対して、変数同士の関係を明確化し、順序に沿って定式化を行う前準備として、関数中の変数をノードとした有向グラフを構築する。有向グラフは、それぞれの関数に対して、関数の入力となる変数を始点、関数を通して得られる変数を終点とする枝を張ることとする。例えばある関数がz=f(x,y)という関係がある場合は、2本の枝(x,z),(y,z)を張る。図4Aは、式(4)に関して、x及びvkをノードとし、vkの従属関係を有向グラフで結んだ例である。式(4)の例では、v4は変数v2、v3から構成される変数であり、変数v5はv1、v4から構成される変数である。図4Aに示すように有向グラフを用いれば、変数同士の主従関係を設定することができる。
In step S303, the
ステップS304で、制約条件設定部103は、ステップS303で構築した有効グラフのノード(変数)に対してラベル付けを行う。ステップS303で構築した有向グラフは、非巡回有効グラフ(木構造)となるので、トポロジカルソートが可能となる。トポロジカルソートとは、各ノードを順序付けして、どのノードもその出力辺の先のノードより前に来るように並べることである。ステップS303で構築した有向グラフに対してトポロジカルソートを行い、後ろにあるノードから順番に1からラベルを付与する。図4Bは、ステップS303で構築した有向グラフに対して、トポロジカルソートを行い、ノードに対してラベルを付与した結果である。
以上、ステップS303、S304によって、非線形関数を定式化するための変数同士の関係のグラフ化及び、ラベル付けが完了した。
本実施形態では、以降のステップS305〜S314で、ステップS303で付与したラベル順に処理を繰り返すことによって、変数の関係を数式モデルに追加する。
In step S304, the
As mentioned above, the graphing of the relationship between variables for formulating a non-linear function and labeling were completed by step S303 and S304.
In the present embodiment, in the subsequent steps S305 to S314, the relationship of variables is added to the mathematical expression model by repeating the process in the order of the labels given in step S303.
ステップS305で、制約条件設定部103は、木構造を持つノード集合に対して、ノードのラベルkが小さい順にすべての変数に対して、繰り返し計算を開始する。以降、ノードkに対応する変数をuk(k=1、・・・、M+6)とする。また、以降、木構造を持つノード集合において、あるノードに隣接し、かつ、下方に存在するノードを子ノードと呼ぶ。また、あるノードから見て、その子ノードやそこから先の子ノード全てのいずれかを子孫ノードと呼ぶ。
In step S305, the
ステップS306で、制約条件設定部103は、ノードkに子ノードが存在するか否かを判定する。ノードkに子ノードが存在する場合は、ステップS307に進み、子ノードが存在しない場合は、ステップS313にて、変数ukの上下限値を設定する。式(4)の例では、変数(x1,x2,・・・,xM)は、子ノードが存在しないノードに相当するため、ステップS313に進む。一方、変数(v1,v2,・・・,vn)は子ノードが存在するノードであり、ステップS307に進む。
In step S306, the
まず、ステップS306でノードkに子ノードが存在せず、ステップS313に進んだ場合を考える。この場合、ステップS313では、子ノードを持たないノードkに対して上下限値を設定する。上下限値は予め与えられたノードkの上下限値を設定する。本実施形態のような配合計画では、配合割合を表わす変数(x1,x2,・・・,xM)には上下限値が予め定まっていることが多く、それを設定値として与えればよい。本実施形態では、表1に設定された上下限値が変数(x1,x2,・・・,xM)に設定される。このように子ノードを持たないノード全ての上下限を決定することで、以降の計算で現れるノードの定式化において、その子ノードは全て有界変数となる。これにより、区分線形関数等、有界変数での表現が必要となる関数を数式モデルに追加することが可能となる。もし、ノードkが有界変数ではない場合は、ノードkが取りうる最大の範囲をノードkの上下限値として設定すればよい。例えば、本実施形態における配合計画問題では、配合割合が0%以下、又は100%以上になることは無いので、ノードkの下限値は0、上限値は100のように設定すればよい。 First, consider the case where the child node does not exist in the node k in step S306 and the process proceeds to step S313. In this case, in step S313, upper and lower limit values are set for node k having no child node. The upper and lower limit values set upper and lower limit values of the node k given in advance. In the blending plan as in this embodiment, upper and lower limit values are often determined in advance in variables (x 1 , x 2 ,..., X M ) representing blending proportions. Good. In the present embodiment, the upper and lower limit values set in Table 1 are set as variables (x 1 , x 2 ,..., X M ). Thus, by determining the upper and lower limits of all nodes having no child node, all the child nodes become bounded variables in the formulation of the node appearing in the subsequent calculation. This makes it possible to add a function that needs to be represented by a bounded variable, such as a piecewise linear function, to a mathematical model. If the node k is not a bounded variable, the maximum range that the node k can take may be set as the upper and lower limits of the node k. For example, in the blending planning problem in the present embodiment, the blending ratio is never 0% or 100% or more, so the lower limit value of the node k may be set to 0 and the upper limit value to 100.
次に、ステップS306でノードkに子ノードが存在し、ステップS307に進んだ場合を考える。ステップS307で、制約条件設定部103は、ノードkとそのノードのすべての子孫ノード間の関係が、すべて線形関係式か、又は一つでも非線形関係式を含むか否かを判定する。線形関係式のみの場合は、ステップS308に進み、非線形関係式を含む場合は、ステップS310に進む。式(4)の例では、図4BのノードM+1〜M+4に対応する変数(v1,v2,v3,v4)の、それぞれの子孫ノードはすべて、線形関係式で結ばれているので、ステップS308へ進む。図4BのノードM+5、M+6に対応する変数(v5)とgi(x)の子孫ノードは、非線形関係式を含むのでステップS309に進む。
Next, consider the case where a child node exists at node k in step S306 and the process proceeds to step S307. In step S307, the
ステップS308で、制約条件設定部103は、ノードkと子ノードの線形関係式を数式モデルに追加する。具体的には、式(5)を制約条件として数式モデルに追加する。式(5)は、ノードkとノードkの子ノードの線形関係を表わし、Skは、ノードkのすべての子ノード集合、wjkはノードと子ノードの関係を表わす係数である。式(4)の変数v1の例では、v1の子ノードは、変数(x1,x2,・・・,xM)であり、v1と子ノードの関係は、v1=w1 Txで結ばれているので、v1=w1 Txを制約条件として設定する。
In step S308, the
ステップ309で、制約条件設定部103の上下限値設定部103bは、ノードkに対応する変数の上下限値を設定する。具体的には、非線形計画問題の制約条件から非線形制約を取り除いた線形制約条件と、変数ukとkのすべての子孫ノードの関係を表わした等式制約を制約条件とし、変数ukを目的関数とした数理計画問題を構築し、その問題を最大化及び最小化を行う。このように数理計画問題を求解することにより、変数ukの定義範囲、すなわち上下限値を求めることができる。
式(6)、式(7)、式(8)に、ukの最小(下限値)、最大(上限値)を求める線形計画問題を示す。
In step 309, the upper and lower limit value setting unit 103b of the constraint
Equations (6), (7) and (8) show a linear programming problem for finding the minimum (lower limit) and the maximum (upper limit) of u k .
この線形計画問題は、式(1)、式(2)の制約条件から非線形制約を取り除いたかたちで構成される。このように線形制約を用いて変数ukを目的関数とした数理計画問題を求解することにより、変数ukの定義範囲を求めることができる。
この場合、ステップS309で得られる変数ukの定義範囲は、元問題から非線形制約を取り除いた一種の緩和問題を解いて得られた範囲であるので、元問題における変数ukのとりうる範囲とは必ずしも一致しない。しかしながら、変数ukの取りうる範囲を、本手法により予め求めることによって、後に説明する区分線形近似関数の定式化において、区分線形近似の精度を保つために必要な0、1変数の数を減らすことができるため、計算精度の向上と計算時間の短縮が期待できる。
This linear programming problem is constructed by removing non-linear constraints from the constraints of Equations (1) and (2). Thus, the definition range of the variable u k can be obtained by solving the mathematical programming problem using the variable u k as the objective function by using the linear constraint.
In this case, the definition range of the variable u k obtained in step S309 is a range obtained by solving a kind of relaxation problem obtained by removing the non-linear constraints from the original problem, so the possible range of the variable u k in the original problem and Do not necessarily match. However, by predetermining the possible range of the variable u k according to the present method, the number of 0, 1 variables necessary for maintaining the accuracy of the piecewise linear approximation is reduced in the formulation of the piecewise linear approximation function described later Can be expected to improve the calculation accuracy and reduce the calculation time.
続いてステップS313で、制約条件設定部103の上下限値設定部103bは、ステップS309で求めた最適解を変数ukの上下限値として設定する。
以上が、ステップS307にて、ノードkとそのノードのすべての子孫ノードの関係が線形関係式で表わされる場合の定式化方法である。
Subsequently, in step S313, the upper and lower limit value setting unit 103b of the constraint
The above is the formulation method in the case where the relationship between the node k and all the descendent nodes of the node is represented by a linear relationship at step S307.
次に、ステップS307にて、ノードkとすべての子孫ノードの関係が、線形関係式だけでは表わされない場合を考える。例えば式(4)では、変数(v5)とgi(x)の子孫ノードは線形関係式だけでは表わせないので、ステップS310に進む。ノードkとそのノードの全ての子孫ノードが線形関係式だけでは表わされない場合は、変数の上下限を求める問題にも非線形制約条件が必要になってくるため、ステップS308〜S309のように、線形計画法を用いて変数の上下限値を設定することはできない。そこで、以降のステップS310〜S312ではノードkの線形/非線形性にのみ着目し、変数の上下限設定及び、数式モデルへの定式化を行う。このように、親ノードと子ノードの関係を逐次的に定式化することで、非線形関数全体の数式モデルへの定式化を狙う。 Next, in step S307, consider the case where the relationship between node k and all descendent nodes is not represented by a linear relationship alone. For example, in the equation (4), since the descendant nodes of the variable (v 5 ) and g i (x) can not be represented only by the linear relational expression, the process proceeds to step S310. In the case where the node k and all the descendant nodes of the node k are not represented by the linear relational expression alone, nonlinear constraints are also required for the problem of finding the upper and lower limits of the variable, as in steps S308 to S309. It is not possible to set upper and lower limits of variables using linear programming. Therefore, in the subsequent steps S310 to S312, focusing on only the linear / nonlinearity of the node k, upper and lower limits of variables are set, and formulation into a mathematical expression model is performed. Thus, by formulating the relationship between parent nodes and child nodes one by one, it is aimed to formulate the whole non-linear function into a mathematical model.
ステップS310で、制約条件設定部103は、ノードkとその子ノードが線形関係式で表わされるか否かを判定する。上記ノードkの子ノードが線形関係式で表わされる場合、ステップS311に進み、ノードkの子ノードが線形関係式のみでは表現できず、少なくとも一つの非線形関係式を含む場合は、区分線形近似による定式化を行うために、ステップS312に進む。式(4)の例では、変数(v5)は変数v1,v4との非線形関数、gi(x)は、変数v5の非線形関数で表わされるので、ステップS312に進む。
In step S310, the
ステップS311で、制約条件設定部103は、ノードkとノードkの子ノードの線形関係式を制約条件として数式モデルに追加する。
続いてステップS313で、制約条件設定部103の上下限値設定部103bは、線形関数である変数ukの上下限値を設定する。変数ukの上下限値は、線形関数の右辺にある変数の上下限値から最大値、最小値を解析的に求め設定する。
In step S311, the
Subsequently, in step S313, the upper and lower limit value setting unit 103b of the constraint
ステップS312で、制約条件設定部103は、ノードkとノードkの子ノードの非線形関係式を数式モデルへ定式化を行う。本実施形態では、非線形関数を区分線形関数で近似し、区分線形関数を、凸結合定式化手法で制約条件として数式モデルに追加する。凸結合定式化とは、非線形関数y=f(x)に対して区分線形近似し、区分線形関数の節を(xi,yi)i=1、・・・、Kと置いたときに、式(9)のように関係を定式化することである。
In step S312, the
式(9)は、原点から区分線形関数の節を指すベクトルに対して、その重みtkが1になるようなベクトルを求めることに相当する。もし、f(x)が凸関数でf(x)を最小化する問題であれば、解はある線分上にあるので、必ず2つの連続するtkだけが正の値をとる。そうでない場合は、隣り合わない2つのtkが正になる場合があり、そのような解を取り除く必要がある。このような解を取り除くためには、tkの集合に、“高だか2つの隣り合うtkだけが正の値をとる”制約を追加すればよい。高だか2つの隣り合うtkだけが正の値をとるような変数群(t1,t2,・・・,tK)はSOS2変数群と呼ばれる。SOS2変数群の定式化には、整数計画法を用いて定式化してもよいし、標準的なソルバーに用意されているSOS2集合を定義するための専用の関数を用いてもよい。整数変数を用いてSOS2変数群を定式化した例を式(10)に示す。なお、その詳細は非特許文献4に記載されている。このように凸結合定式化に加え、SOS2変数群を定義して、非凸な非線形関数を混合整数計画問題として定式化を行う。
続いてステップS313で、制約条件設定部103の上下限値設定部103bは、非線形関数である変数ukの上下限値を設定する。変数ukの上下限値は、変数ukを近似した区分線形関数の上下限値を設定する。
以上が、ノードkの全ての子孫ノードに少なくとも一つの非線形関係式が含まれる場合の定式化方法である。
Expression (9) corresponds to finding a vector whose weight t k is 1 for a vector pointing from the origin to a node of the piecewise linear function. If f (x) is a convex function and a problem that minimizes f (x), then the solution is on a certain line segment, so only two consecutive t k have positive values. Otherwise, two non-adjacent t k may be positive, and such a solution needs to be removed. To remove such solutions, the set of t k, "only t k to high but if two adjacent takes a positive value" may be added constraints. A group of variables (t 1 , t 2 ,..., T K ) in which only two or more adjacent t k have positive values are called SOS2 group of variables. For the formulation of the SOS two variable group, it may be formulated using integer programming, or a dedicated function for defining the SOS set prepared in a standard solver may be used. An example of formulating the SOS2 variable group using integer variables is shown in equation (10). The details are described in
Subsequently, in step S313, the upper and lower limit value setting unit 103b of the constraint
The above is the formulation method in the case where all the descendent nodes of the node k include at least one non-linear relational expression.
以上のステップS306〜S313を繰り返すことにより、すべての変数ukに対して、変数同士の関係を数式モデル化し、さらにすべての変数ukに対して上下限値を設定することができる。
そして、ステップS314で、gi(x)≧0を数式モデルに追加すれば、非線形制約を含む制約条件を数式モデルに定式化することができる。
以上が、ステップS3の詳細である。従来は、配合計画の立案に使用される非線形関数は、区分線形近似を用いて定式化するために、配合割合を表わす変数の次元だけ区分線形関数を用意して定式化しなければならなかった。それに対して、本実施形態の手順に従えば、非線形制約式に使用される決定変数をノードとした計算グラフを構築し、ノード間の関係(線形・非線形)に対して定式化を実施することによって、非線形関数を区分線形近似するのに必要な変数の数を大きく減らすことが可能となった。さらに、区分線形関数を構築する変数の範囲を、線形計画法を用いて変数の最小化/最大化問題を事前に求解した。これによって、区分線形近似関数を構築する変数の定義範囲を狭めることが可能となり、区分線形近似関数の精度を保つために必要な0、1変数の数を減らした。したがって、実用時間内に求解できるモデルを構築できた。
By repeating the above steps S306~S313, for all variables u k, and a mathematical model of the relationship between variables, it is possible to set upper and lower limit values further for all variables u k.
And if g i (x) 制約 0 is added to the mathematical expression model in step S 314, the constraints including non-linear constraints can be formulated into the mathematical expression model.
The above is the details of step S3. Heretofore, in order to formulate a non-linear function used for formulation of a compounding plan by using a piecewise linear approximation, it has been required to formulate a piecewise linear function by the dimension of the variable representing the compounding ratio. On the other hand, according to the procedure of the present embodiment, construct a calculation graph with nodes as decision variables used in non-linear constraint expressions as nodes, and carry out formulation for the relationship between nodes (linear and non-linear) It has become possible to greatly reduce the number of variables needed to piecewise linearize a non-linear function. Furthermore, the range of variables for constructing the piecewise linear function was solved in advance for the minimization / maximization problem of variables using linear programming. This makes it possible to narrow the definition range of the variables constructing the piecewise linear approximation function, and reduces the number of 0, 1 variables necessary to maintain the precision of the piecewise linear approximation function. Therefore, it was possible to construct a model that can be solved in practical time.
図2に説明を戻して、ステップS4で、目的関数設定部104は、ステップS1で取り込んだデータに基づいて、製造に係るコストを最小化する目的関数を数式モデルに定式化して設定する。目的関数は、線形関数であっても、非線形関数であっても構わない。目的関数が非線形関数で表わされる場合は、制約条件の場合と同様に非線形関数を分離可能関数に変換し、変数の上下限値を設定するとともに、非線形関数を区分線形近似して、目的関数を設定すればよい。
Referring back to FIG. 2, in step S4, the objective
ステップS5で、求解部105は、ステップS3及びステップS4で設定した非線形計画問題である配合計画問題を求解する。
In step S5, the
ステップS6で、判定部106は、ステップS5での求解結果が妥当なものか否かを判定する。区分線形近似はあくまで近似手法であるため、近似誤差が必ず発生し、近似誤差が十分小さいかを確認しなければならない。
求解結果の妥当性を判定する仕組みとして、ステップS5で得られた配合割合を、ステップS3での区分線形近似後の関数に代入して得られた計算値と、元の非線形制約に代入して得られた理論計算値とを比較する。そして、計算値と理論計算値との差が所定の条件を満たすまで、ステップS2で分割数Kを変更して、ステップS3〜S5の非線形計画問題の設定及び求解を繰り返す。
In step S6, the
As a mechanism for determining the validity of the solution result, the compounding ratio obtained in step S5 is substituted into the calculated value obtained by substituting the function after piecewise linear approximation in step S3 and the original nonlinear constraint. The obtained theoretical calculation values are compared. Then, the division number K is changed in step S2 until the difference between the calculated value and the theoretical calculated value satisfies a predetermined condition, and the setting and the solution of the nonlinear programming problem in steps S3 to S5 are repeated.
ステップS7で、出力部107は、ステップS6で妥当であると判定された求解結果を出力する。
In step S7, the
以上説明した手法を用いて、石炭の配合計画を対象として、非線形計画問題である配合計画問題を求解する実施例を説明する。
石炭の配合計画は、配合割合を決定変数とし、目標となる製品の特性値や生産量、操業条件を満たし、かつ、製造に係るコストを最小化する配合計画を立案する非線形計画問題として、以下の式(11)〜式(15)のように定式化した。
i:銘柄名に関する添え字
j:制約条件に関する添え字
xi:石炭の配合割合(決定変数)
pi:コークス製造コスト(石炭購買費用+輸送費用+操業費用)
aij:原料炭の成分の比率(測定値)
gi(x1,x2,・・・,xN):コークス品質推定式(非線形)
LBj,UBj:品質の上下限値
Ui L,Ui U:配合割合上下限値
An embodiment for solving a blending planning problem, which is a non-linear programming problem, will be described by using the method described above and targeting the blending planning of coal.
Coal blending planning uses the blending ratio as the deciding variable, and meets the target product characteristic value, production volume, and operating conditions, and as a non-linear planning problem to formulate a blending plan that minimizes manufacturing costs, Formula (11) to formula (15)
i: Index related to brand name j: Index related to constraint x i : Coal blend ratio (decision variable)
p i : Coke production cost (coal purchasing cost + transportation cost + operation cost)
a ij : Ratio of components of raw coal (measured value)
g i (x 1 , x 2 , ..., x N ): Coke quality estimation equation (nonlinear)
LB j , UB j : Upper and lower limit value of quality U i L , U i U : Upper and lower limit value of blending ratio
なお、ここでは単一期間における配合計画を表わしているが、式(11)〜式(15)の定式化を多期間の配合計画に拡張してもよい。多期間の配合計画に拡張するためには、前後期間の在庫量や、多期間に渡る使用計画、原材料の受け入れ計画に関する制約条件が必要となるが、これらの制約条件は全て混合整数計画法にて定式化が可能であるので、単一期間での配合計画が立案できれば、多期間での配合計画も立案可能となる。 Here, although the combination plan in a single period is represented here, the formulation of the equations (11) to (15) may be extended to a multiple period combination plan. In order to extend to multi-period blending planning, it is necessary to have stock conditions in the previous and subsequent periods, multi-period usage planning, and constraints on raw material acceptance planning, all of which are mixed integer programming It is possible to formulate a multi-period compounding plan if it is possible to formulate a single-period compounding plan.
式(11)の目的関数は、コークス製造に係るコストを表わす。本実施例では、目的関数を線形関数として与えたが、これが非線形関数であっても構わない。 The objective function of equation (11) represents the cost of coke production. Although the objective function is given as a linear function in this embodiment, it may be a non-linear function.
式(12)の制約条件は、品質に関する線形制約を表わし、例えば揮発分や硫黄分等に関する制約が含まれる。aijは石炭の成分の比率を表わし、その値を配合割合で加重平均した値を制約条件として与える。
式(13)の制約条件は、品質に関する非線形制約を表わし、例えばコークス冷間強度(コークスDI)と膨張圧に関する制約が含まれる。コークスDIとは、石炭をコークス炉で焼き固めた後に得られたコークスの強度を表わす指標である。コークスは、高炉での通気性を確保するために一定以上の強度が求められ、その強度の指標としてコークスDIが使用されることが多い。また、膨張圧は、石炭をコークス炉内で焼き固めるときに発生するガスによってコークス炉内に掛かる圧力を表わす指標である。膨張圧が高いと、コークス炉の炉体にダメージを与えるため、なるべく低い値が望ましい。
式(14)の制約条件は、配合割合の合計値に関する制約を表わす。
式(15)の制約条件は、石炭の配合割合に関する上下限制約を表わす。
The constraints in equation (12) represent linear constraints on quality, and include, for example, constraints on volatile content, sulfur content, and the like. a ij represents the ratio of components of coal, and the value obtained by weighted average of the values by the mixture ratio is given as a constraint.
The constraints in equation (13) represent nonlinear constraints on quality, including, for example, constraints on coke cold strength (coke DI) and expansion pressure. The coke DI is an index representing the strength of coke obtained after the coal is sintered in a coke oven. Coke is required to have a certain strength or more to secure air permeability in blast furnaces, and coke DI is often used as an index of the strength. Moreover, expansion pressure is a parameter | index showing the pressure applied in a coke oven by the gas which generate | occur | produces when it hardens coal in a coke oven. If the expansion pressure is high, it is desirable that the value be as low as possible in order to damage the furnace body of the coke oven.
The constraint of equation (14) represents a constraint on the total value of the blend ratios.
The constraint of Formula (15) represents the upper and lower limits regarding the blending ratio of coal.
以上のようにした数式モデルにおいて、式(13)は、式(2)の非線形制約に相当する。また、式(12)、(14)、(15)は、式(1)の線形制約に相当する。本実施例では、式(13)に含まれるコークスDI及び膨張圧に対して、図3に示すフローチャートに従って定式化を行った。 In the mathematical expression model as described above, the equation (13) corresponds to the nonlinear constraint of the equation (2). Further, the equations (12), (14), and (15) correspond to the linear constraints of the equation (1). In this example, the formulation was performed according to the flowchart shown in FIG. 3 for the coke DI and the expansion pressure included in the equation (13).
表2に、配合割合(表1)及び性質の制約条件の下で、実施形態に従って最適化を行い、得られた配合割合の値を示す。表2に示すように、最適化結果は表1の配合割合制約を遵守している。また、最適化結果はすべての制約条件を遵守しており、正しい最適化が行われた。 In Table 2, optimization is performed according to the embodiment under the blending ratio (Table 1) and the constraint conditions of the properties, and the values of the blending ratio obtained are shown. As shown in Table 2, the optimization results comply with the blending ratio constraints of Table 1. Also, the optimization results comply with all constraints, and the correct optimization was performed.
図5は、区分線形近似の分割数を変更し、各分割数に対して最適化計算を行った結果を示す。横軸は分割数を表わし、分割数を10から80まで10刻みで分割数を増やして最適化を行った。縦軸は、計算値と理論計算値との相対誤差[%]であり、計算値と理論計算値との差を理論計算値で割った値を百分率で表わしている。図5より、コークスDI及び膨張圧の相対誤差は共に、分割数が増えるに従って減少している。さらに、相対誤差はすべての条件で0.1%以下であり、分割数が30を超えれば誤差は殆ど無かった。この誤差の大きさは、コークスDI及び膨張圧の操業ばらつきに比べて十分小さく、実務上問題にならない。 FIG. 5 shows the result of performing optimization calculation for each division number while changing the division number of the piecewise linear approximation. The horizontal axis represents the number of divisions, and optimization was performed by increasing the number of divisions from 10 to 80 in 10 steps. The vertical axis represents the relative error [%] between the calculated value and the theoretical calculated value, and represents the value obtained by dividing the difference between the calculated value and the theoretical calculated value by the theoretical calculated value as a percentage. From FIG. 5, both the relative error of coke DI and expansion pressure decrease as the number of divisions increases. Furthermore, the relative error was 0.1% or less under all conditions, and there was almost no error when the number of divisions exceeded 30. The magnitude of this error is sufficiently small compared to the operation variation of coke DI and expansion pressure, and does not pose a problem in practice.
次に、図6は、区分線形近似の分割数を変更し、各分割数において最適化計算に要した計算時間を示す。横軸は分割数を表わし、縦軸は計算時間[sec]を表わす。図6に示すように、分割数が増えると計算時間は増えるが、汎用コンピュータを用いた計算環境下において、計算時間は分割数10から80までのすべての最適化において60秒以内であり、実務上問題にならない計算時間で求解することができた。 Next, FIG. 6 changes the number of divisions of the piecewise linear approximation, and shows the calculation time required for the optimization calculation at each number of divisions. The horizontal axis represents the number of divisions, and the vertical axis represents the calculation time [sec]. As shown in FIG. 6, although the calculation time increases as the number of divisions increases, in a calculation environment using a general-purpose computer, the calculation time is within 60 seconds in all optimizations from 10 to 80 divisions, It was possible to solve it in calculation time which does not become upper problem.
次に、図7は、配合割合の制約条件を変更したときのコスト改善効果を調査した結果を示す。区分線形近似の分割数は50で固定した。本実施例では、ある時点での配合量を基準配合と置き、基準配合から配合の変更を許す割合を少しずつ大きくしたときのコストの変化を図示した。ここで、基準配合量から配合の変更を許す割合を配合量変更可能割合と呼ぶ。横軸は配合量変更可能割合を表わし、0%〜80%まで配合量変更可能割合を変化させた。縦軸はコスト改善効果[%]であり、配合割合変更可能割合が0%のときを基準として、基準に対するコスト改善効果を百分率で表わしている。図7に示すように、本発明を適用した発明手法は、比較手法(特許文献1のアルゴリズム)に比べて3倍以上コスト改善効果が見込まれ、本発明が十分有用であることが示された。 Next, FIG. 7 shows the result of investigation of the cost improvement effect when the restriction condition of the blending ratio is changed. The division number of the piecewise linear approximation was fixed at 50. In this example, the blending amount at a certain point was set as the standard blending, and the change in cost when the ratio of changing the blending from the standard blending was gradually increased was illustrated. Here, the ratio that allows the change of the mixing ratio from the reference mixing amount is called the mixing amount changeable ratio. The horizontal axis represents the mixing ratio changeable ratio, and the mixing ratio changeable ratio was changed from 0% to 80%. The vertical axis represents the cost improvement effect [%], and represents the cost improvement effect relative to the standard as a percentage based on the case where the mixture ratio changeable ratio is 0%. As shown in FIG. 7, the invention method to which the present invention is applied is expected to have a cost improvement effect three or more times higher than that of the comparison method (the algorithm of Patent Document 1), showing that the present invention is sufficiently useful. .
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本実施形態では、複数の異なる性質を持つ原材料を配合して製品を製造する製造プロセスとして、製鉄業におけるコークスや焼結鉱の製造を挙げたが、例えば石油の精製、セメントの製造等における配合計画の立案に本発明を適用してもよい。
さらにいえば、本発明は、配合計画問題に限定されるものではなく、非線形計画問題に広く適用可能である。例えば建設物を設計する際に、必要な強度を確保した上で柱の太さを最適化する問題がある。このとき、数多くの柱の太さを変数とすると、その強度の計算は変数の非線形関数となる。このような事例に対しても本発明を適用することにより、問題規模が増大するのを避け、実用時間内に精度の高い最適解が得られるようにすることができる。
As mentioned above, although the present invention was explained with an embodiment, the above-mentioned embodiment shows only an example of the embodiment in the case of carrying out the present invention, and the technical scope of the present invention is interpreted restrictively by these. It is a must-have. That is, the present invention can be implemented in various forms without departing from the technical concept or the main features thereof.
In the present embodiment, the production process of coke or sintered ore in the iron making industry is mentioned as a production process of producing a product by blending raw materials having a plurality of different properties. For example, blending in petroleum refining, cement production, etc. The present invention may be applied to planning.
Furthermore, the invention is not limited to formulation problems but is broadly applicable to non-linear programming problems. For example, when designing a construction, there is a problem of optimizing the thickness of columns after securing necessary strength. At this time, assuming that the thickness of many columns is a variable, the calculation of the strength is a non-linear function of the variable. By applying the present invention also to such a case, it is possible to avoid an increase in the scale of the problem and to obtain an accurate solution with high accuracy in practical time.
本発明を適用した非線形計画問題の演算装置は、例えばCPU、ROM、RAM等を備えたコンピュータ装置により実現される。
また、本発明は、本発明の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータがプログラムを読み出して実行することによっても実現可能である。
The arithmetic device of the nonlinear programming problem to which the present invention is applied is realized by, for example, a computer device provided with a CPU, a ROM, a RAM, and the like.
Furthermore, the present invention can also be implemented by supplying software (program) for realizing the functions of the present invention to a system or apparatus via a network or various storage media, and a computer of the system or apparatus reading and executing the program. It is feasible.
100:配合計画立案装置
101:入力部
102:分割数設定部
103:制約条件設定部
104:目的関数設定部
105:求解部
106:判定部
107:出力部
100: formulation planning device 101: input unit 102: division number setting unit 103: constraint condition setting unit 104: objective function setting unit 105: solution solving unit 106: determination unit 107: output unit
Claims (7)
前記非線形制約条件を表わす非線形関数は、前記非線形計画問題の決定変数の線形結合で表わされる中間変数を独立変数とする関数であり、
前記中間変数の上下限値を設定するとともに、当該上下限値の範囲で前記非線形関数を区分線形関数で近似して、制約条件を設定する設定手段と、
前記設定手段で設定した制約条件の下で前記非線形計画問題を求解する求解手段とを備え、
前記設定手段は、前記中間変数について、前記制約条件から前記非線形制約条件を取り除いたかたちで当該中間変数を目的関数とした数理計画問題を求解することにより、その上下限値を設定することを特徴とする非線形計画問題の演算装置。 A computing device for a nonlinear programming problem for solving a nonlinear programming problem which minimizes or maximizes an objective function under constraints including linear constraints and nonlinear constraints.
The non-linear function representing the non-linear constraint condition is a function having an intermediate variable represented by a linear combination of decision variables of the non-linear programming problem as an independent variable,
Setting means for setting upper and lower limit values of the intermediate variable and approximating the non-linear function with a piecewise linear function within the range of the upper and lower limit values, and setting a constraint condition;
A solution solving means for solving the nonlinear programming problem under the constraint set by the setting means;
The setting means sets upper and lower limits by solving the mathematical programming problem using the intermediate variable as an objective function by removing the non-linear constraint condition from the constraint for the intermediate variable. A computing device for nonlinear programming problems.
前記非線形関数に補助変数を導入して、一変数関数の和の形で表わされる分離可能関数に変換し、
前記変換した分離可能関数に用いられる前記中間変数の上下限値を設定するとともに、前記変換した分離可能関数を構成する非線形関数を区分線形関数で近似して、制約条件を設定することを特徴とする請求項1に記載の非線形計画問題の演算装置。 The setting means is
Introduce an auxiliary variable to the nonlinear function and convert it into a separable function represented in the form of a sum of univariate functions,
The upper and lower limit values of the intermediate variable used for the converted separable function are set, and a nonlinear function constituting the converted separable function is approximated by a piecewise linear function to set constraints. The arithmetic unit of the nonlinear programming problem according to claim 1.
前記求解手段で得られた決定変数を、前記非線形制約条件を表わす非線形関数に代入して得られた理論計算値とを比較し、
前記近似計算値と前記理論計算値との差が所定の条件を満たすまで、区分線形関数の分割数を変更して、前記設定手段及び前記求解手段による処理を繰り返すことを特徴とする請求項1乃至3のいずれか1項に記載の非線形計画問題の演算装置。 An approximate calculation value obtained by substituting the value of the decision variable obtained by the solution solving means into the function after the piecewise linear approximation by the setting means;
Comparing the theoretical variables obtained by substituting the decision variables obtained by the solution solving means into a non-linear function representing the non-linear constraint condition;
The number of divisions of the piecewise linear function is changed until the difference between the approximate calculation value and the theoretical calculation value satisfies a predetermined condition, and the processing by the setting means and the solution solving means is repeated. A computing device for the nonlinear programming problem according to any one of the items 1 to 3.
前記非線形制約条件を表わす非線形関数は、前記非線形計画問題の決定変数の線形結合で表わされる中間変数を独立変数とする関数であり、
設定手段が、前記中間変数の上下限値を設定するとともに、当該上下限値の範囲で前記非線形関数を区分線形関数で近似して、制約条件を設定する設定ステップと、
求解手段が、前記設定した制約条件の下で前記非線形計画問題を求解する求解ステップとを有し、
前記設定ステップでは、前記中間変数について、前記制約条件から前記非線形制約条件を取り除いたかたちで当該中間変数を目的関数とした数理計画問題を求解することにより、その上下限値を設定することを特徴とする非線形計画問題の演算方法。 A method of computing a nonlinear programming problem for solving a nonlinear programming problem which minimizes or maximizes an objective function under constraints including linear constraints and nonlinear constraints.
The non-linear function representing the non-linear constraint condition is a function having an intermediate variable represented by a linear combination of decision variables of the non-linear programming problem as an independent variable,
A setting step of setting upper and lower limit values of the intermediate variable and approximating the non-linear function with a piecewise linear function in the range of the upper and lower limit values to set a constraint condition;
The solving means has a solving step of solving the non-linear programming problem under the set constraints.
In the setting step, upper and lower limit values are set by solving the mathematical programming problem using the intermediate variable as an objective function by removing the non-linear constraint condition from the constraint condition for the intermediate variable. How to calculate nonlinear programming problems.
前記非線形制約条件を表わす非線形関数は、前記非線形計画問題の決定変数の線形結合で表わされる中間変数を独立変数とする関数であり、
前記中間変数の上下限値を設定するとともに、当該上下限値の範囲で前記非線形関数を区分線形関数で近似して、制約条件を設定する設定処理と、
前記設定した制約条件の下で前記非線形計画問題を求解する求解処理とをコンピュータに実行させ、
前記設定処理では、前記中間変数について、前記制約条件から前記非線形制約条件を取り除いたかたちで当該中間変数を目的関数とした数理計画問題を求解することにより、その上下限値を設定することを特徴とするプログラム。 A program for solving a non-linear programming problem which minimizes or maximizes an objective function under constraints including linear constraints and non-linear constraints.
The non-linear function representing the non-linear constraint condition is a function having an intermediate variable represented by a linear combination of decision variables of the non-linear programming problem as an independent variable,
Setting processing of setting upper and lower limit values of the intermediate variable and approximating the non-linear function with a piecewise linear function in the range of the upper and lower limit values, and setting constraints;
Causing a computer to execute a solution solving process for solving the nonlinear programming problem under the set constraint condition;
In the setting process, upper and lower limit values are set by solving the mathematical programming problem using the intermediate variable as an objective function by removing the non-linear constraint condition from the constraint for the intermediate variable. And the program to be.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017075455A JP6834717B2 (en) | 2017-04-05 | 2017-04-05 | Arithmetic logic units, methods and programs for nonlinear programming problems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017075455A JP6834717B2 (en) | 2017-04-05 | 2017-04-05 | Arithmetic logic units, methods and programs for nonlinear programming problems |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018180694A true JP2018180694A (en) | 2018-11-15 |
JP6834717B2 JP6834717B2 (en) | 2021-02-24 |
Family
ID=64276739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017075455A Active JP6834717B2 (en) | 2017-04-05 | 2017-04-05 | Arithmetic logic units, methods and programs for nonlinear programming problems |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6834717B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020086706A (en) * | 2018-11-20 | 2020-06-04 | 日本製鉄株式会社 | Arithmetic unit, method and program for nonlinear planning problem |
CN111429242A (en) * | 2020-03-18 | 2020-07-17 | 中国工商银行股份有限公司 | Combined pushing method and device for transfer cash note |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7481182B2 (en) | 2020-07-10 | 2024-05-10 | 株式会社日立製作所 | Process control system and process control method |
-
2017
- 2017-04-05 JP JP2017075455A patent/JP6834717B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020086706A (en) * | 2018-11-20 | 2020-06-04 | 日本製鉄株式会社 | Arithmetic unit, method and program for nonlinear planning problem |
JP7135768B2 (en) | 2018-11-20 | 2022-09-13 | 日本製鉄株式会社 | Arithmetic device, method and program for nonlinear programming problem |
CN111429242A (en) * | 2020-03-18 | 2020-07-17 | 中国工商银行股份有限公司 | Combined pushing method and device for transfer cash note |
CN111429242B (en) * | 2020-03-18 | 2023-04-28 | 中国工商银行股份有限公司 | Combined pushing method and device for transfer notes |
Also Published As
Publication number | Publication date |
---|---|
JP6834717B2 (en) | 2021-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zeng et al. | A novel multi-variable grey forecasting model and its application in forecasting the grain production in China | |
JP2018180694A (en) | Arithmetic unit, method and program for nonlinear programming problem | |
Tsai et al. | Finding multiple solutions to general integer linear programs | |
Scott et al. | Asymptotic series of generalized Lambert W function | |
Escudero et al. | On the time-consistent stochastic dominance risk averse measure for tactical supply chain planning under uncertainty | |
CN106874244A (en) | A kind of construction method of the document Auto-generation Model based on work sequence | |
JP5316433B2 (en) | Optimization processing program, method and apparatus | |
Kobayashi et al. | Bilevel cutting-plane algorithm for cardinality-constrained mean-CVaR portfolio optimization | |
Escudero et al. | On pricing-based equilibrium for network expansion planning. A multi-period bilevel approach under uncertainty | |
Liu et al. | Black box operation optimization of basic oxygen furnace steelmaking process with derivative free optimization algorithm | |
JP2009169823A (en) | Compounding plan creation device, composition plan creation method, program, and computer-readable recording medium | |
Savage et al. | An adaptive data-driven modelling and optimization framework for complex chemical process design | |
CN115455341B (en) | Solving method for raw material blanking layout | |
Lima et al. | Metacontrol: A Python based application for self-optimizing control using metamodels | |
JP2020149607A (en) | Material blend planning method, coke manufacturing method, solving method for mixed integer programming problem and material blend planning device | |
JP7135768B2 (en) | Arithmetic device, method and program for nonlinear programming problem | |
Dupačová et al. | Melt control: Charge optimization via stochastic programming | |
Vance et al. | Designing energy supply chains with the P-graph framework under cost constraints and sustainability considerations | |
García-Ayala et al. | A disjunctive programming model and a rolling horizon algorithm for optimal multiperiod capacity expansion in a multiproduct batch plant | |
CN111159797A (en) | BIM-based general modeling method for mechanical model | |
Koçak | Simple, robust, and fast iterative solution of Underwood's equation for minimum reflux | |
JP2013254329A (en) | Raw material purchase/use plan creation apparatus, method, and program | |
Chełminiak et al. | Steady-state distributions of probability fluxes on complex networks | |
KR101066409B1 (en) | Apparatus for operating quantity and price sheet, method for operating quantity and price using the same | |
Punnathanam et al. | Optimization of a large-scale biorefinery problem by decomposition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201020 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201125 |
|
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: 20210105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210118 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6834717 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |