ЛЕКЦИЯ 8 РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОГО
ПРОГРАММИРОВАНИЯ СРЕДСТВАМИ EXCEL
Основные этапы решения задачи линейного программирования средствами EXCEL
Решение задач в среде EXCEL начинается с ввода условий задачи. Ввод условий задачи состоит из следующих основных шагов:
-создание формы для ввода условий задачи;
-ввод исходных данных;
-ввод зависимостей из математической модели;
-назначение целевой функции;
-ввод ограничений и граничных условий.
Пример Требуется определить, в каком количестве необходимо выпускать продукцию четырех типов Прод1, Прод2, Прод3, Прод4 для изготовления которой требуются ресурсы трех видов: трудовые ресурсы, сырье, финансы. Нормы расхода ресурсов каждого вида для выпуска единицы продукции, а также прибыль, получаемая от реализации единицы каждого типа продукции, приведены в табл. 11. Количество расходуемых ресурсов не должно превышать имеющихся запасов [4].
Данная задача относится к задаче планирования при ограничениях на ресурсы, распределительного типа.
|
|
|
|
|
Таблица 11 |
|
Ресурсы |
|
Виды продукции |
|
Запасы |
||
Прод.1 |
Прод.2 |
Прод.3 |
Прод.4 |
|
ресурсов |
|
|
|
|||||
|
|
|
|
|
|
|
Трудовые |
3 |
1 |
2 |
4 |
|
440 |
Сырье |
1 |
8 |
6 |
2 |
|
200 |
Финансы |
1 |
4 |
7 |
2 |
|
320 |
Прибыль |
7 |
3 |
6 |
12 |
|
|
85
Математическая модель для решения данной задачи будет иметь следующий вид:
F=7x1+3x2+6x3+12x4 max; 3x1+x2+2x3+4x4 440; x1+8x2+6x3+2x4 200;
x1+4x2+7x3+2x4 320; |
xj 0, j=1,4. |
Рассмотрим последовательность работ при решении этой задачи средствами Exсel. Форма для ввода условий данной задачи может иметь следующий вид:
Рис. 16
Весь текст на рис. 16 (и в дальнейшем) является комментарием и на решение задачи не влияет. Далее необходимо ввести в сформированную форму исходные данные (коэффициенты в целевой функции и ограничениях, а также направление оптимизации целевой функции и знаки ограничений (рис. 17)
Рис. 17
86
При этом ячейки B3:E3 являются изменяемыми и в них будут заноситься значения переменных.
Ввод функциональных зависимостей для целевой функции и ограничений осуществляется с использованием Мастера функций. Для этого необходимо активизировать требуемую ячейку (F6) и вызвать Мастер функций. В левой части появившегося диалогового окна нужно выбрать категорию функции Математическая, а в правом окне выделить функцию СУММПРОИЗВ и нажать клавишу ОК. Затем на экране отобразится диалоговое окно второго шага (рис. 18), где требуется ввести как первый (B$3:E$3), так и второй массивы (B6:E6). При вводе первого массива используются абсолютные ссылки на ячейки, при вводе второго - относительные, что в дальнейшем будет удобно при копировании формул. Во все окна адреса ячеек удобно вводить не с клавиатуры, а протаскивая мышь по ячейкам, адреса которых необходимо ввести.
Рис. 18
Зависимости для левых частей ограничений вводятся аналогично. При этом необходимо лишь менять адреса ячеек. Для ускорения и удобства ввода можно скопировать содержимое ячейки F6 в ячейки F9, F10 и F11 (при этом все относительные ссылки изменятся автоматически).
87
Окончательная таблица с исходными данными представлена на рис. 19 (для наглядности выбран режим представления формул, который использовать не обязательно).
Рис. 19
После окончания ввода исходных данных осуществляется вызов программы Поиск решения. Для этого необходимо выбрать в меню пункт Сервис, а в нем – Поиск решения, в результате чего на экране появится окно поиска решения (рис. 20).
Рис. 20
В окне Установить целевую ячейку требуется ввести имя ячейки, в которую введена зависимость для целевой функции (в данном случае F6). В качестве направления опти-
88
мизации выбирается максимизация. В окне Изменяя ячейки вводятся адреса ячеек, соответствующих варьируемым переменным задачи (B3:E3). Далее необходимо ввести ограничения. Для добавления ограничений выбирается пункт Добавить, после чего появляется окно добавления ограничений
(рис. 21)
Рис. 21
Вводятся граничные условия для переменных
(Прод1 - Прод4) 0: B3>= B4, C3 >= C4, D3 >= D4, E3 >= E4 (нулевые значения ячеек B4-E4 можно не устанавливать). Ограничения можно также ввести в виде B3 >= 0, C3 >= 0, D3
>= 0, |
E3 >= 0. Затем вводятся ограничения на ресурсы: |
F9 <= |
H9, F10 <= H10, F11 <= H11. Ограничения вводят по- |
следовательно. Сначала выбирается пункт Добавить, далее в появившихся диалоговых окнах вводится левая часть, знак и правая часть каждого ограничения. После ввода последнего ограничения и нажатия OK произойдет возврат в окно Поиск
решения.
Заполненная в результате ввода ограничений форма поиска решений представлена на рис. 20. Решение задачи производится сразу же после ввода данных, когда на экране находится диалоговое окно Поиск решения. Перед началом решения необходимо установить параметры решения, для чего в окне поиска решения выбрать команду параметры. Диалоговое окно параметров поиска решения представлено на рис. 22.
89