最適化セミナーのご案内

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]);

 

 

上に戻る