3.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は「変数値が上下限のいずれに付着しているかの状態」,SLACKが「上下限値からの余裕量」,BOUND TYPEは「変数の上下限」を示しています.
例えば,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が(アクティビティの開始時刻)<=(アクティビティ)<=(アクティビティの終了時刻)
を表します.
上に戻る