数理最適化セミナーのご案内

6.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_j, a_{ij} \\ \mbox{制約式の上下限} & c_{L_i}, c_{U_i} \\ \mbox{目的関数,制約式のHessianの要素} & H_0, H_i \\ \mbox{変数の上下限} & b_{L_j}, b_{U_j} \\ \mbox{変数の初期値} & {x_j}^0 \end{array}\]

 本マニュアルではMPSファイルのフォーマットに対する定義は述べず,具体的な問題に対するMPSファイルの対応を記述するに留めます.MPSファイルフォーマットの詳細をご所望の方はnuopt-support@ml.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 \\ & 10 \ge x_1 \ge 3 \\ & 4 \ge x_2 \ge 1 \\ & 10 \ge x_3 \ge 0 \\ & 10 \ge x_4 \ge 0 \\ \mbox{初期値} & {x_1}^0 = 4, {x_2}^0 = 2 \\ & {x_3}^0, {x_4}^0 = 0 \end{array}\]

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

NAME          solver
ROWS
 E  F1
 L  F2
 G  F3
 N  F4
COLUMNS
    X1        F1         1
    X1        F2         1
    X1        F4         4
    X2        F2         2
    X2        F3         1
    X3        F2        -1
    X3        F3         1
    X3        F4        -1
    X4        F1         1
RHS
    B         F1         4
    B         F2         10
    B         F3         2
BOUNDS
 LO BND       X1         3
 UP BND       X1         10
 LO BND       X2         1
 UP BND       X2         4
 UP BND       X3         10
 UP BND       X4         10
HESSIAN
    F2
    X2        X1         1
    F4
    X2        X2         2
INITIAL
     X1                                 4
     X2                                 2
ENDATA

 

 

上に戻る