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

7.6 資源供給量クラスResourceCapacity

 各資源の利用可能限界値を意味する資源供給量クラスは,ResourceCapacityで表現されます.資源集合が引数resourceで,スケジューリング全体の期間を表す期間集合が引数timeStepで表現されます.どちらの引数も必要です.

 次の例では,資源集合R,期間集合Tに対する資源供給量capを定義しています.

Set R; // 資源集合
Set T; // 期間集合
ResourceCapacity cap(resource = R, timeStep = T);

 次の例では,期間0から10に対して,資源a, bはいずれも毎日1だけ利用可能であることを記述しています.期間集合は0始まりの集合でなければなりません.

Set R = "a b"; // 資源集合
Set T = "0 .. 10"; // 期間集合
Element j(set = T);
ResourceCapacity cap(resource = R, timeStep = T);
cap["a", j] = 1, 1 <= j <= 10;
cap["b", j] = 1, 1 <= j <= 10;

 資源供給量の初期設定値は0です.

 資源供給量には重みを設定する事ができます.重みは引数weightで与えます.次の例では,一律に重み10を設定しています.

Set R; // 資源集合
Set T; // 期間集合
ResourceCapacity cap(resource = R, timeStep = T, weight = 10);

 引数weightには定数Parameterを与える事もできます.次の例では,資源aに対する資源供給量には重み10を,資源bに対する資源供給量には重み20を与えています.

Set R = "a b"; // 資源集合
Set T = "0 .. 10"; // 期間集合
Element i(set = R);
Element j(set = T);
Parameter w(index = i);
w["a"] = 10;
w["b"] = 20;
ResourceCapacity cap(resource = R, timeStep = T, weight = w[i]);

 

 

上に戻る