Планирование медсестры с разным количеством смен в день и разной доступностью медсестры

Я строю модель CP-SAT, используя Google OR Tools в C#, чтобы решить вариацию задачи планирования медсестры, в которой есть переменное количество смен в день и переменное количество медсестер, доступных в любой данный день для работы этих смен.

Следуя этому примеру из ShiftSchedulingSat.cs, я вижу, что есть способ легко реализовать это, если известно число смен в день и количество работников в день. Как я могу изменить это для работы с моими требованиями?

var model = new CpModel();

IntVar[,,] work = new IntVar[numEmployees, numShifts, numDays];

foreach (int e in Range(numEmployees))
{
    foreach (int s in Range(numShifts))
    {
        foreach (int d in Range(numDays))
        {
            work[e, s, d] = model.NewBoolVar($"work{e}_{s}_{d}");
        }   
    }
}

1 ответ

Решение

Создайте максимальное количество медсестер и задайте количество смен, или заставьте некоторых медсестер сдвигать.

Другие вопросы по тегам