Технология решения оптимизационных задач в среде MS Excel 2007
Рассмотрим порядок действий при решении задач с помощью надстройки «Поиск решения» на примере конкретной задачи [Хазанова].
Предприятие производит изделия трех видов, поставляет их заказчикам и реализует на рынке. Заказчикам требуется 1000 изделий первого вида, 2000 изделий второго вида и 2500 изделий третьего вида.
Условия спроса на рынке ограничивают число изделий первого вида 2000 единицами, второго — 3000 и третьего — 5000 единицами.
Для изготовления изделий используется 4 типа ресурсов. Количество ресурсов, потребляемых для производства одного изделия, общее количество ресурсов и прибыль от реализации каждого вида изделия заданы в табл. 1.
Как организовать производство, чтобы:
1. обеспечить заказчиков;
2. не допустить затоваривания;
3. получить максимальную прибыль?
Таблица 1 – Данные о количестве ресурсов и размере прибыли
Тип ресурсов | Вид изделий | Всего ресурсов | ||
25 000 000 | ||||
30 000 000 | ||||
20 000 000 | ||||
40 000 000 | ||||
Прибыль |
Построение экономико - математической модели задачи.
Управляющие переменные:
Х1 — число изделий первого вида;
X2 число изделий второго вида;
X3 — число изделий третьего вида;
Ограничения: обеспечить заказчиков, не превысить запас ресурсов, не допустить затоваривания рынка.
В соответствии с этими ограничениями выпишем область допустимых решений задачи:
(3)
Первые три неравенства в системе (3) соответствуют спросу заказчиков. Неравенства с четвертое по шестое формализуют спрос на рынке. Последние четыре неравенства соответствуют ограничениям по ресурсам.
Целевая функция или критерий эффективности задачи имеет вид:
(4)
После того как модель задачи составлена, приступаем к решению. Для этого выполняется следующий алгоритм:
1. В Excel создаем текстовую форму для решения задачи (рис. 2)
Рисунок 2 – Текстовая форма для решения задачи
Все значения, внесенные в таблицу, были взяты из условий задачи.
В данной задаче оптимальное значение управляющих переменных будут расположены в ячейках B3:D3, а оптимальное значение целевой функции в ячейке E17.
2. Формируется зависимость для левой части каждого из неравенств системы ограничений и целевой функции. Для первого неравенства порядок действий такой:
Курсор в ячейку E6;
Во вкладке «Формулы» нажать кнопку «Вставить функцию» (рис. 3)
Рисунок 3 – Библиотека функций
В появившемся диалоговом окне в строке «Категория» выбрать «Математические», функция «СУММПРОИЗВ» (рис. 4А), нажать кнопку «OK».
А
Б
Рисунок 4 – Мастер функций
В строку «Массив1» вводятся значения коэффициентов при переменных в неравенстве, а в строку «Массив2» - значения самих переменных (рис. 4Б). Нажать кнопку «OK».
Аналогично заполняются ячейки E7:E15 и ячейка целевой функции E17.
3. Поиск оптимального решения.
Установить курсор в ячейку E17. Во вкладке «Данные» выбрать команду «Поиск решения» (рис. 1). В появившемся диалоговом окне настраиваем параметры решения (рис. 5).
Рисунок 5 – Диалоговое окно надстройки «Поиск решения»
В качестве целевой ячейки установлена автоматически та, на которой стоял курсор.
В строке «Равной:» переключатель устанавливаем на «максимальному значению» (если бы задача была связана с поиском минимума целевой функции, то переключатель был бы установлен на «минимальному значению»).
В строке «Изменяя ячейки:», устанавливаем адреса тех, в которых будут располагаться значения управляющих переменных. В нашем случае это ячейки B3:D3. Знак «$» фиксирует положение изменяемых ячеек. Это нужно для того, чтобы в расчетах целевой функции и в ограничениях учитывались одни и те же значения управляющих переменных.
Заполнение строки «Ограничения:» производится следующим образом:
1. Нажать кнопку «Добавить»;
2. В появившемся диалоговом окне «Добавление ограничения» (рис. 6) в строку «Ссылка на ячейку:» добавляется ссылка на ту ячейку, в которой установлена зависимость для левой части данного ограничения. В строку «Ограничение:» добавляется ссылка на ячейку, в которой указано значение правой части этого неравенства. Между строками «Добавление ограничения» и «Ссылка на ячейку:» устанавливается знак в соответствии с условиями задачи.
Рисунок 6 - Диалоговое окно «Добавление ограничения»
3. Нажать кнопку «Добавить», если нужно добавить следующее ограничение, или кнопку «ОК», если введенное ограничение было последним.
После этого произойдет возврат к диалоговому окну «Поиск решения». В случае если в ограничениях допущена ошибка, устранить ее можно выделив соответствующую строку ограничений (щелчок мыши по этой строке) и нажав кнопку «Изменить». Если ограничение нужно удалить, его выделяют и нажимают кнопку «Удалить».
Следующее действие – настройка параметров поиска решения. Нажать кнопку «Параметры» и в появившемся диалоговом окне установить флажки на строках «Линейная модель» и «Неотрицательные значения», нажать кнопку «ОК» (рис. 7).
Рисунок 7 – Диалоговое окно «Параметры поиска решения»
После этого в диалоговом окне «Поиск решения» нажать кнопку «Выполнить».
В появившемся диалоговом окне «Результаты поиска решения» нажать кнопку «ОК» (рис. 8).
Рисунок 8 - Диалоговое окно «Результаты поиска решения»
Ячейки значений управляющих переменных, целевой функции и зависимостей для ограничений будут заполнены (рис. 9).
Рисунок 9 – Решение задачи.
Таким образом, предприятие получит максимальную прибыль при следующем плане производства: изделия первого вида 2 000 шт., второго вида 3 000 шт., третьего – 5 000 шт. При этом спрос на рынке будет удовлетворен полностью, а ресурсы использованы частично. Так, остаток ресурса 1 составит 18 100 000 ед., ресурса 2 – 28 700 000 ед., ресурса 3 –
17 800 000 ед., а ресурса 4 – 37 200 000 ед.