最適化セミナーのご案内

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

 

 

上に戻る