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

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


 

 

上に戻る