Эвристика (и/или контрольные списки), чтобы решить, действительно ли проблема - это линейная программа.
Вот моя попытка ответить, и я также попытался описать, как я подхожу к этой проблеме.
Вопросы, которые указывают, что данная проблема является подходящей для формулировалась как LP/IP:
- Существуют ли решения, которые необходимо принимать регулярно, через разные промежутки времени?
- Есть ли количество ресурсов (работников, машин, транспортных средств), которым необходимо назначать задания? (часы, вакансии, места назначения)
- Является ли это проблемой маршрутизации, где нужно посещать разные «точки»?
- Является ли это проблемой местоположения или «макета»? (Целый класс проблем с отсечением приходится на эту группу)
Ответ на этот вопрос означает, что формулировка LP может работать.
Обычно встречающиеся LP включают: Распределение ресурсов: (Назначение, Транспортировка, Транспортировка, Рюкзак), Распределение портфеля, Планирование задания и проблемы с сетевым потоком. Here's a good list of LP Applications для всех, кто знаком с LP или IP-адресами. Тем не менее, существует буквально 1000 различных проблем, которые могут быть сформулированы как LP/IP. Люди, с которыми я работал (исследователи, коллеги), развивают интуицию. Они хорошо понимают, что проблема - это определенный тип целочисленной программы, даже если они не помнят детали, которые они могут искать.
Почему этот вопрос сложно ответить: Есть много причин, почему это не всегда просто, чтобы знать, если препарат LP будет резать.
- В подходе к моделированию/формулировке существует много «искусства» (субъективности).
- Опыт помогает. Люди хорошо понимают, что эта проблема может быть «сравнена» с другой известной формулировкой.
- Даже если проблема не является прямым LP, существует множество умных методов ведущий-ведомый (подсуммы) или методы вложенности, которые делают общую работу по составлению.
- . Похоже, что несколько целей могут быть объединены в одну целевую функцию с соответствующим набором весов.
- Опытные моделисты используют разложение и Ограничитель-релаксация техники и более поздняя компенсация за это.
Как действовать, чтобы получить основную формулировку?
Следующее всегда направило меня в правильном направлении. Обычно я начинаю с перечисления переменных принятия решений, ограничений и объектной функции. Затем я обычно повторяю эти три, чтобы убедиться, что все «подходит».
Так что, если у вас есть проблемы под рукой, спросите себя:
- Какие переменные решения (DV)? Я нахожу, что это всегда хорошее место, чтобы начать процесс формулировки. Количество типов от DV's есть? (Какой ресурс получает какую задачу и когда она должна начинаться?)
- Каковы ограничения?
Некоторые ограничения очень легко видны. Другие немного поддразнивают. Ограничения должны быть записаны с точки зрения ваших переменных принятия решений и любых установленных констант/ограничений.
- Что такое объектная функция?
Какие количества необходимо максимизировать или минимизировать? Примечание. Иногда неясно, что такое объектная функция. Это нормально, потому что это вполне может быть проблемой с удовлетворением проблемы.
Несколько быстрых Sanity Проверка как только вы думаете, что ваша формулировка LP сделано:
- Я всегда стараюсь, чтобы увидеть, если тривиальное решение (все 0s или все большие числа) не является частью множества решений. Если да, то формулировка , скорее всего, неверна. Некоторое ограничение - .
- Убедитесь, что каждое ограничение связано с переменными решений. (Я иногда найти ограничения, которые просто «висит там.» Это означает, что «бухучет ограничение» было пропущено.)
В моем опыте, люди, которые держат в нем почти всегда развиваться нужна интуиция. Надеюсь это поможет.