
Тема: Тонкости разработки и использования моделей средствами Excel
1. Основные ошибки при создании и использовании моделей ЛП.
2. Графический метод решения задачи
3. Анализ чувствительности модели ЛП
4. Разновидности моделей ЛП
5. Целочисленное моделирование
6. Нелинейные модели
1) Основные ошибки при создании и использовании моделей
Создание модели обычно сводится к разумной и тщательной спецификации составляющих модели (переменных решения, ограничений, целевой функции и т.д.) в соответствии с символической оптимизационной моделью. Однако в формировании моделей есть свои ловушки, которых следует избегать Рассмотрим некоторые ошибки, часто встречающиеся при создании моделей:
Не следует сразу излишне детализировать модель, поскольку тогда трудно сформулировать целостную и согласованную модель. При создании табличной версии модели в Excel эти несогласованности превратятся в трудно обнаружимте логические дефекты таблицы. Поэтому лучше начать с формирования минимально достаточного множества переменных решения и ограничений. Впоследствии можно усложнить изначально простую модель, добавив дополнительные переменные и ограничения.
Не следует (по крайней мере на начальных этапах) включать в модель нелинейные зависимости. Старайтесь использовать линейные уравнения, для чего можно в узком диапазоне значений переменных (заданном с помощью дополнительных ограничений) аппроксимировать более сложные нелинейные связи линейными зависимостями. Отметим, что оптимизировать нелинейную модель гораздо труднее. Кроме того, нелинейная оптимизация имеет свои сложности и ловушки. Если же в модель необходимо включить некие нелинейные связи, лучше сначала разработать упрощенную линейную модель, а нелинейные связи добавить позже. Заметим, что некоторые нелинейные связи можно достаточно просто преобразовать в линейные, не утратив общности модели.
Не следует на ранних этапах заниматься выяснением, какими будут реальные по следствия нецелочисленных значений переменных оптимального решения. Однако, как и нелинейные зависимости, требование целочисленности значений переменных вносит дополнительные сложности в процесс оптимизации, поэтому на первых этапах моделирования это требование лучше не вводить.
Во многих интересных моделях ЛП принятия решений рассматривается несколько временных периодов (например, задача определения производственного плана на несколько недель при условии, что недели нельзя считать независимыми). В таких случаях лучше сначала моделировать ситуацию для отдельного временного периода (например, для одной недели), а затем модифицировать модель, добавляя более сложные формулировки.
В противоположность сказанному выше отметим, что модели ЛП также не должны быль слишком простыми и ограниченными. Например, если модель минимизации затрат не содержит ни одного ограничения, вполне можно получить решение (в реальной жизни не имеющее смысла), что все переменные решения равны нулю, т.е. предлагается минимизировать затраты за счет ликвидации бизнеса. Аналогично в модели максимизации прибыли, не содержащей ни одного ограничения, можно получить «приятное», но нереальное решение с бесконечной прибылью за счет того, что одна или несколько переменных решения в процессе оптимизации модели будут стремиться к бесконечности. В линейном программировании последний результат называется неограниченным решением.
Нужно очень внимательно относиться к ограничениям в виде равенств и сводить их в моделях ЛП к минимуму, стараясь ограничиться только теми ситуациями, при которых с помощью равенств задаются связи, которые должны сохраниться в модели. Например, в модель можно включить ограничение, отражающее уравнение «Прибыль = доход - затраты», или ограничение, отражающее уравнение материального баланса «Запасы на конец периода = запасы на начало периода + производство - отгрузка». Однако даже такие ограничения снижают результативность модели. Там, где возможно, такие ограничения лучше задавать в форме неравенств «Прибыль < . « или «Запасы на конец периода < ...». В общем случае надо стараться записывать ограничения в виде неравенств, даже если есть основания предполагать, что в оптимальном случае они должны быть равенствами. Позднее, после того как модель будет оптимизирована, можно проверить, действительно ли эти ограничения являются лимитирующими, т е. выполняется ли равенство, как ожидалось. Если это не так, следует внимательно разобраться, почему этого не происходит.
• Не следует добавлять ограничения, которые не диктуются моделируемой ситуацией, как это случается, когда в модель с самого начала вводят ограничения, основанные на интуитивных предположениях (зачастую ошибочных) о природе оптимального решения. В таком случае создается самореализующееся предсказание, поскольку решение задачи определено до проведения оптимизации! В результате невозможно узнать, правильны ли были интуитивные соображения. Если же они были ошибочны, результатом оптимизации модели может быть ответ. «Допустимых решений не существует». Например, разработчик модели работы склада считает: «Очевидно, что в данной ситуации нельзя говорить об эффективности, если запас на конец периода будет больше нуля. Поэтому для верности я добавлю в модель ограничение Запас на конец периода = 0». Такие рассуждения не только повышают риск получить чересчур ограниченную модель. Если оптимальное решение задачи без данного ограничения приводит к положительному остатку, разработчик не сможет узнать об этом.