Я пытаюсь планировать задачи на разных машинах.Эти машины имеют динамически доступные ресурсы, например:
машина 1: максимальная емкость 4 ядра.
при T = t1 => доступный процессор = 2 ядра;
при T= t2 => доступный процессор = 1 ядро;
Каждый интервал имеет фиксированное время (например, 1 минута).
Итак, в CPLEX у меня есть функция cumulFunction для суммирования используемого ресурса вmachine:
cumulFunction cumuls[host in Hosts] =
sum(job in Jobs) pulse(itvs[task][host], requests[task]);
Теперь проблема в ограничении:
forall(host in Hosts) {
cumuls[host] <= ftoi(available_res_function[host](**<<Current Period>>**));
}
Я не могу найти способ получить текущий период, чтобы я мог сравнить использованные ресурсы сдоступны в указанный период.
PS: available_res_function является пошаговой функцией доступных ресурсов.
Большое спасибо за вашу помощь.