7.4 アクティビティクラスActivity
どの作業をどのモードで行うかを定めるアクティビティは,Activity
で表現されます.Activity
はrcpsp利用時の変数に相当します.モード集合は,引数mode
で与えられます.
次の例では4つの作業a, b, c, dに対するアクティビティx[a]
, x[b]
, x[c]
, x[d]
を定めています.それぞれの作業にはモード1, 2, 3のいずれかが割り当てられます.
Set A = "a b c d"; Set M = "1 2 3"; Element i(set = A); Activity x(index = i, mode = M);
納期遅れ最小化問題を扱う場合には,各Activity
に対する納期(定数Parameter
で表現されます)を引数duedate
で指定する必要があります.次の例では,4つの作業a
, b
, c
, d
に対して,納期3, 5, 10, 7を設定しています.
Set A = "a b c d"; Set M = "1 2 3"; Element i(set = A); Parameter due(index = i); // 納期を示す定数 Activity x(index = i, mode = M, duedate = due[i]); due["a"] = 3; due["b"] = 5; due["c"] = 10; due["d"] = 7;
各作業に対して割り当て可能なモード集合が異なる場合は,引数mode
にモード集合族を与えます.次の例では,作業aはモード1, 2作業bはモード1, 3作業cはモード2作業dはモード3を取ることができます.
Set A = "a b c d"; Set M = "1 2 3"; Set M2(index = i); // モード集合族 M2["a"] = "1, 2"; M2["b"] = "1, 3"; M2["c"] = "2"; M2["d"] = "3"; Activity x(index = i, mode = M2[i]);
上に戻る