Вот некоторые общие наблюдения:
1) Ручное планирование редко делается с нуля. Вместо этого кто-то начинает с графика за предыдущий год и изменяет его с учетом изменений в требованиях. Один из способов имитировать это с помощью компьютера — использовать алгоритм восхождения на холм, который неоднократно пытается внести ряд небольших изменений, чтобы улучшить решение на данный момент. Это может быть запущено по текущему расписанию.
2) Завершается ли когда-либо ручной процесс выводом о том, что требования в совокупности невыполнимы и что некоторые из них должны быть исключены? В этом случае ваш алгоритм должен быть достаточно прозрачным, чтобы можно было понять ошибки, или, по крайней мере, быть способным предлагать такие изменения (например, путем максимизации штрафной функции, которая позволяет получить «наименее плохое» решение, которое не удовлетворяет всем исходным ограничениям). ). Я знаю один случай, когда сложный подход, основанный на ограничениях, был заменен гораздо более простым алгоритмом, потому что сбои системы, основанной на ограничениях, не давали достаточной обратной связи с пользователем.
3) Как ни странно, система следующего поколения вообще не использовала сложное планирование. Оказалось, грубо говоря, что в то время, когда нужно было принимать решения, нельзя было предвидеть все последствия сложных решений по планированию, и в долгосрочной перспективе простой предсказуемый график, который можно было поддерживать бесконечно, был более продуктивным, чем постоянно перестраивайте графики, чтобы получить небольшие сиюминутные преимущества.
person
mcdowella
schedule
22.01.2011