У меня есть следующая простая проблема, которую я хотел бы использовать, чтобы экспериментировать с MS Solver Foundation:Как смоделировать простую задачу планирования с помощью MS Solver Foundation?
У меня есть график, где мне нужно иметь 2 рабочих в день в течение 30 дней. Мне необходимо соблюдать следующие ограничения:
- Никто не должен работать два дня подряд.
- Если не применяется специальное исключение, люди должны работать только один раз в неделю.
- Некоторые люди могут работать только по выходным дням.
- Некоторые люди могут работать только по будням.
Я планирую использовать C# для заполнения модели, но мне нужна помощь в начале моделирования. Я не уверен, как настроить решения, параметры и ограничения для решения этой проблемы.
Update: Хотя ИРЭ-и-проклятия имеют хороший старт, я должен представить себе, что есть более декларативный способ выразить эти ограничения, используя структуру, а не должно кодировать их индивидуальны для каждого человека. Кто-нибудь более знакомый с MSF, который может помочь в этой конструкции?
Что вы хотите оптимизировать? Сколько людей нужно? –
В конце концов, да. Первоначально я просто хочу создать приемлемое решение. Надеюсь, когда я получу эти простые ограничения, я могу расширить его, чтобы соблюдать более конкретные предпочтения отдельных людей. – Larsenal
Я понимаю, что вы пытаетесь сделать это с помощью подхода, основанного на ограничении, поэтому я не предлагаю это в качестве ответа, но только для информации вы также можете найти двухсторонний подход к интересному альтернативному подходу. См. Например: http: //stackoverflow.com/questions/1221990/hungarian-algorithm-and-multiple-factors/1222263#1222263 –