最適化セミナーのご案内

16.4 MPSファイルの具体例

 MPSファイルは一般形の線形/二次計画問題を記述するためのものです.

 一般の線形/二次計画問題は

\[\begin{array}{@{}ll@{}} \mbox{最小/最大化} & f(x) \\ \mbox{条\hskip1zw 件} & c_{L_i} \le g_{i}(x) \le c_{U_{i}}, \quad i = 1,\cdots,m \\ & b_{L_j} \le x_j \le b_{U_j}, \quad j = 1,\cdots,n \\ \mbox{初期値} & x_j = {x_j}^0\quad j = 1,\cdots,n \end{array}\]

 ここで$f(x)$$g_i(x)$は二次関数で

\[f(x) = c_1 x_1 + c_2 x_2 + \cdots + c_n x_n + \frac{1}{2} x^t H_0 x\]

\[g_i(x) = a_{i1} x_1 + a_{i2} x_2 + \cdots + a_{in} x_n + \frac{1}{2} x^t H_i x\]

と表されます.

 MPSファイルはMPSフォーマットと呼ばれる形式で,次の情報を記述したものです.

\[\begin{array}{@{}ll@{}} \mbox{目的関数,制約式の線形部分の係数} & c_i, a_{ij} \\ \mbox{制約式の上下限} & c_{L_i}, c_{U_i} \\ \mbox{目的関数,制約式のHessianの要素} & H_0, H_i \\ \mbox{変数の上下限} & b_{L_j}, b_{U_j} \\ \mbox{変数の初期値} & {x_i}^0 \end{array}\]

 本マニュアルではMPSファイルのフォーマットに対する定義は述べず,具体的な問題に対するMPSファイルの対応を記述するに留めます.MPSファイルフォーマットの詳細をご所望の方はnuopt-support@msi.co.jpまでご連絡ください.

\[\begin{array}{@{}lll@{}} \mbox{最小化} & 4x_1 - x_3 + {x_2}^2 \\ \mbox{条件} & x_1 + x_4 & = 4 \\ & x_1 + 2x_2 - x_3 + x_1 x_2 & \le 10 \\ & x_2 + x_3 & \ge 2 \\ & x_1 \ge 3 \\ & 4 \ge x_2 \ge 1 \\ & x_3, x_4 \ge 0 \\ \mbox{初期値} & {x_1}^0 = 4, {x_2}^0 = 2 \\ & {x_3}^0, {x_4}^0 = 0 \end{array}\]

 次は上記の二次計画問題を記述したMPSファイルの例です.

NAME            SAMPLE
ROWS
 E   R1
 L   R2
 G   R3
 N   C
COLUMNS
     X1          R1                     1.    R2                     1.
     X1          C                      4.
     X2          R2                     2.    R3                     1.
     X3          R2                    -1.    R3                     1.
     X3          C                     -1.
     X4          R1                     1.
RHS
     B           R1                     4.    R2                    10.
     B           R3                     2.
BOUNDS
 LO BND1         X1                     3.
 LO BND1         X2                     1.
 UP BND1         X2                     4.
HESSIAN
     X2          X2                     2.
     R2
     X1          X2                     1.
INITIAL
     X1                                 4.
     X2                                 2.
ENDATA

 

 

上に戻る