
- •1. Введение в линейное программирование
- •Ограничения
- •Целевая функция
- •Оптимальное решение
- •Линейные функции
- •4. Невозвратные и переменные издержки
- •Поиск оптимального решения
- •6. Модель лп и ее представление в электронных таблицах
- •7. Надстройка Поиск решения
- •8. Оптимизация модели
- •9. Рекомендации по поиску решения задач лп
- •10. Пример транспортной модели
- •11. Задача составления смесей
- •Выберите правильный ответ
- •Вопросы с 19 по 26 относятся к следующей задаче
- •Тип запроса Спрос, тыс. Запросов/день
9. Рекомендации по поиску решения задач лп
Для удобства использования средства Поиск решения необходимо следовать трем следующим принципам построения моделей линейного программирования.
Во-первых, необходимо масштабировать числа в модели таким образом, чтобы разность между наибольшим и наименьшим числом в таблице не превышала шесть или семь порядков. Пусть, например, в модели одна из переменных решения — это процентная ставка (имеющая значение порядка 5%, т.е. 0,5), а показатель эффективности выражен в долларах, тогда применение средства Поиск решения может привести к неверному результату, если значение показателя эффективности будет выражаться 8-значным числом ($10 000 000. например). В этом случае разность между наименьшим (0,5) и наибольшим (10 000 000) значениями ячеек модели составит 10 порядков. Из-за этого ошибки округления, возникающие в процессе вычислений, приведут к такой потере точности, что Поиск решения не сможет правильно завершить процесс. В результате будут получены неоптимальные решения или сообщение о том, что решение не найдено.
В таких случаях нужно изменить масштаб измерения очень больших или очень маленьких чисел модели. В приведенном выше примере можно изменить денежные единицы, и выражать прибыль в миллионах долларов, а не в долларах. Это не приведет к потере общности и позволит сделать числа модели достаточно небольшими: теперь самое маленькое значение (0,5) отличается от самого большого (10) всего на 3 порядка.
Плохое масштабирование моделей является второй по значимости причиной возникновения проблем при оптимизации моделей ЛП (первая— пропуск Ограничений неотрицательности).
Совет. Начиная с версии Excel 97, помочь в разрешении проблем масштабирования может опция Автоматическое масштабирование в диалоговом окне Параметры поиска решения (см. рис. 16), однако это не гарантирует успешного устранения всех проблем.
Во-вторых, средство Поиск решения допускает, чтобы правые части неравенств были числовыми константами, адресами ячеек или формулами, что никак не влияет на процесс оптимизации. Тем не менее не следует в правую часть ограничений помещать формулы или адреса ячеек, значения которых могут меняться при оптимизации, т.е. которые прямо или косвенно связаны со значениями переменных решения.
Кроме того, не рекомендуется задавать ограничения непосредственно в диалоговом окне Поиск решения, не привязывая их к ячейкам рабочего листа и используя при этом в качестве правых частей неравенств константы, а не ссылки на ячейки модели. Рассмотрим еще один пример модели Oak Product. Предположим, что исходя из определенных соображений Джим решил, что на будущей неделе должно быть произведено не более 80 стульев Captain и не более 60 Mate. Очевидно, что оптимальное решение, полученное средством Поиск решения для исходной модели, не соответствует этим новым ограничениям, поэтому нужно исправить модель, включив в нее дополнительные ограничения, а затем оптимизировать полученную модель. Один из способов осуществления этого показан на рис, 20. Обратите внимание на два новых ограничения в верхней части списка Ограничения диалогового окна Поиск решения. Средство Поиск решения корректно оптимизирует данную модель; новое решение показано на рис. 21.
Обратите внимание на недостаток такой модификации модели Oak Production: в самой таблице новых ограничений нет, при анализе таблицы на рис. 21 оказывается, что ни одно ограничение не является лимитирующим. В результате придется при каждой оптимизации генерировать отчет о результатах и анализировать его, а также копировать информацию отчета обратно в таблицу. Кроме того, такой стиль работы со средством Поиск решения является разновидностью жесткой привязки данных. Здесь данные вводятся непосредственно в диалоговое окно Поиск решения, а не в ячейки рабочего листа. И хотя на результат вычислений это никак не влияет, структура модели становится трудно различимой, и при каждом изменении модели приходится исправлять содержимое диалогового окна Поиск решения. Мы рекомендуем добавить два новых ограничения непосредственно в табличную модель Oak Product на рабочем листе, а затем изменить диалоговое окно Поиск решения, чтобы включить новые ограничения вместе с исходными.
Рис.
20. Новые параметры поиска решений для
модели Oak
Product
Рис.
21. Оптимальное решение
На основе вышесказанного можно сформулировать следующие правила хорошего стиля моделирования.
При задании в диалоговом окне Поиск решения правых частей ограничений всегда следует указывать ссылки на ячейки в табличной модели.
2. Ячейки правых частей неравенств в табличной модели должны содержать константы, а не формулы (точнее — не формулы, в которые явно или опосредованно входят переменные решения).
В-третьих, документированию сложных моделей содействует присвоение имен ячейкам показателя эффективности, переменных решения, функций ограничений (суммарные значениям левых частей) и ячейкам правых частей. Если это сделать, Поиск решения будет автоматически подставлять имена диапазонов для соответствующих ячеек в диалоговом окне Поиск решения.
На этом закончим изучение надстройки Поиск решения. Теперь нужно записать рабочую книгу Стулья на жесткий диск, сохраняя тем самым оптимальные решения модели ЛП и отчет о результатах.
Совет. Чтобы скопировать изображение с экрана монитора в буфер обмена, нужно нажать клиенту <PrintScreen>. Чтобы копировать в буфер обмена изображение, находящееся на переднем тане (например, диалоговое окно), нужно нажать клавиши <Ait+PrintScreen>. Из буфера обмена рисунок можно вставить в рабочий лист Excel или в другой документ в качестве иллюстрации к документации модели.