Стандартный способ моделирования это:
min sum(i, penalty(i)*Tardy(i))
Tardy(i) >= CompletionTime(i) - DueDate(i)
Tardy(i) >= 0
Tardy
является неотрицательной переменной и никогда не может стать отрицательной. Другие количества:
penalty
: константа, указывающая стоимость, связанную с заданием i
, опоздавшим на одну единицу времени.
CompletionTime
: переменная, которая содержит время завершения задания i
DueDate
: константа с датой выполнения задания i
.
Вышеуказанная сумма измеряется. Иногда мы также хотим измерить количество: количество запоздалых заданий. Это сделано для предотвращения запоздалости многих рабочих мест. В самом общем случае можно иметь как сумму, так и количество в цели с разными весами или штрафами.
Существует практически неограниченное количество статей, показывающих составы MIP по моделям планирования, которые включают опоздания. Вместо того, чтобы изобретать велосипед, может быть полезно проконсультироваться с некоторыми из них и посмотреть, что другие сделали, чтобы сформулировать это.