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が(アクティビティの開始時刻)<=(アクティビティ)<=(アクティビティの終了時刻)を表します.
上に戻る
