最適化セミナーのご案内

13.2 解ファイルの変数値表示部

 

%%
%% VARIABLES
%%

で始まる部分には最適化アルゴリズム停止時における変数の値,及びその上下限が記述されています.

%%
%% VARIABLES
%%
     NAME     VALUE     STATUS      SLACK      [      BOUND TYPE   ]
V# 1 x1             2.5  FREE  2.50000000e+000 [ 0 <=    x[1]      ]
V# 2 x2             1.5  FREE  1.50000000e+000 [ 0 <=    x[2]      ]
V# 3 x3    3.51218e-010  LOWER 3.51217955e-010 [ 0 <=    x[3]      ]

 VALUEは「変数の値」,STATUSは「変数値が上下限のいずれに付着しているかの状態」,BOUNDは「変数の上下限」を示しています.

 例えば,V# 1から始まる行はx1という名前の変数の値(2.5)と,それが下限にも上限にも等しくなっていないこと("FREE"),続いてX1に課された制約の種類([]内)が示されています.

 変数の状態を示すSTATUSの意味を以下に示します.

状態を示す文字列 状態
LOWER 下限制約に付着(下限制約がactive)
UPPER 上限制約に付着(上限制約がactive)
FREE 上下限,いずれにも付加していない
REMVD 前処理によって削除された
INFS 上下限を違反している

 

 INFSは数値的な性質の悪い問題や最適化が途中で失敗した際に出力されます.これが含まれる場合には,エラーが出力されます.問題は正常に解けていません.

 

 また,資源制約付きスケジューリング問題ソルバ(rcpsp)を用いた場合には,変数の部分は,以下に相当します.

%%
%% ACTIVITIES
%%

 例えば,

%%
%% ACTIVITIES
%%
        NAME       MODE    STATUS SLACK [       BOUND TYPE       ]
V#  1 sourceActivity     "DummyMode"   ACT        [  0 <=  sourceActivity  <= 0  ]
V#  2 act[1]    "A_does"     ACT        [  6 <=  act[1]  <= 12 ]
V#  3 act[2]    "C_does"     ACT        [  0 <=  act[2]  <= 11 ]
V#  4 act[3]    "B_does"     ACT        [  0 <=  act[3]  <= 8  ]

のような出力があった場合には,MODEがアクティビティが処理されるモード,BOUND TYPEが(アクティビティの開始時刻)<=(アクティビティ)<=(アクティビティの終了時刻)を表します.


 

 

上に戻る