Решение задач линейного программирования с помощью excel

1 Цель лабораторной работы

Научиться составлять математическую модель и находить оптимальное решение.

2 Задание (пример) к лабораторной работе

Решить задачу распределения ресурсов. Определить, в каком количестве надо выпускать продукцию каждого типа, чтобы получить максимальную прибыль. Для этого необходимо выполнить следующее:

1. Создать форму для ввода условий задачи.

2. Ввести исходные данные в виде таблицы.

3. Ввести в отдельные ячейки таблицы зависимости из математической модели.

4. Найти оптимальное решение с помощью команды Поиск решения/меню Сервис.

5. Получить оптимальное решение задачи распределения ресурсов, вывести на экран три типа отчетов: по результатам, по устойчивости, по пределам и тщательно проанализировать их.

6. Привести свои выводы и предложения по поводу получившихся результатов оптимизации данной задачи.

Исходные данные

Выпускается продукция четырех типов: продукт 1, продукт 2, продукт 3, продукт 4.

· Для выпуска требуется 3 вида ресурсов: труд, сырье, финансы.

Известно:

· Нормы расхода (количество ресурса каждого вида), необходимые для выпуска единицы продукции данного типа.

· Сколько ресурса имеется в наличии.

· Прибыль, получаемая от реализации единицы каждого типа продукции.

Требуется определить, в каком количестве надо выпускать продукцию четырех типов Прод1, Прод2, Прод3, Прод4, для изготовления которой требуются ресурсы трех видов: трудовые, сырье, финансы.

Оформим данные в виде таблицы 1:

Таблица 1 - Таблица представления результатов

Ресурс Продукт 1 Продукт 2 Продукт 3 Продукт 4 Знак Наличие
Прибыль мах  
Трудовые <=
Сырьевые <=
Финансовые <=

Постановка математической задачи

Введем обозначения:

Xj- количество выпускаемой продукции j- го типа (j=1…4); Bi- количество имеющегося в наличие ресурса i-го вида (i=1…3) ; Aij- норма расхода i- го ресурса для выпуска единицы продукции j-го типа; Сij- прибыль, получаемая от реализации продукции j- го типа.

F=60x1+70x2+120x3+130x4 ®max

x1+x2+x3+x4<=16

6x1+5x2+4x3+3x4<=110

4x1+6x2+10x3+13x4<=100

хj >= 0, j=1,2,…,4.

Ход выполнения лабораторной работы

1 На рабочем листе EXCEL подготовим форму для ввода условий задачи: Для этого в ячейку D1 введем слово Переменные, в D7 – Ограничения.

Далее в диапазон клеток B2:E3 ввести соответственно: Продукция 1, Продукция 2, Продукция 3, Продукция 4 (введите в ячейку B2 Прод1 и щелкнув мышкой по прямоугольнику внизу ячейки протяните до Е3. Вводим в ячейку A2 Имя, в А3- значение, А4 – нижняя граница, А5 – верхняя граница, А6 – коэффициенты в целевой функции и т. д., как указано в таблице 1.

Весь этот текст является комментарием и на решение задачи не влияет.

решение задач линейного программирования с помощью excel - student2.ru

Рисунок 1 – Компьютерный эквивалент задачи

2 Введите исходные данные в форму.

3 Далее введите зависимости для целевой функции и левой части ограничений:

- Курсор ставим в клетку F6, выбираем команду Мастер функций на панели инструментов и щелкаем левой кнопкой мыши. На экране появляется диалоговое окно Мастер функций шаг 1 из 2. Устанавливаем курсор в окно Категория на категорию Математические функции, щелкаем левой кнопкой мыши и выбираем курсором в окне Функции Суммпроизв. Щелкаем на кнопку мыши.

Нажимаем на команду Далее. Открывается диалоговое окно Мастер функций, где в строке массив 1 вводим диапазон ячеек B$3:E$3. Следует заметить, что во все диалоговые окна адреса ячеек удобно вводить не с клавиатуры, а протаскивая мышь по ячейкам, чьи адреса следует ввести.

В массив 2 ввести B6:E6. Затем щелкаем на кнопку ОК.

 
  решение задач линейного программирования с помощью excel - student2.ru

Рисунок 2 – Функция MS Excel СУММПРОИЗВ

Устанавливаем курсор в клетку F6 и копируем эту формулу в диапазон F9:F11.

На этом ввод данных закончен.Он оформляется в виде (3):

 
  решение задач линейного программирования с помощью excel - student2.ru

Рисунок 3 – Итоговая таблица ввода исходных данных

4 Организация поиска решений.

В меню Сервис выбираем команду Поиск решения. Следующие действия производятся в диалоговом окне.

Уставить целевую ячейку (щелкнуть мышкой в F6)

В этом же диалоговом окне указываем, какое значение должна принимать целевая функция (максимальное или минимальное).

Вводим адреса искомых переменных, для этого ставим курсор в поле Изменяя ячейки и вводим адреса: B3:E3.

 
  решение задач линейного программирования с помощью excel - student2.ru

Далее нажмите кнопку Добавить.

Рисунок 4 – Окно ПОИСК РЕШЕНИЯ

На экране появится диалоговое окно Добавление ограничения.

 
  решение задач линейного программирования с помощью excel - student2.ru

Рисунок 5 – Окно ДОБАВЛЕНИЕ ОГРАНИЧЕНИЯ

Вводим граничные условия на переменные.

В окне Ссылка на ячейку ввести B3. Курсор устанавливаем на стрелку и щелкаем на левую кнопку мыши. Устанавливаем курсор на знак >= и щелкаем на левую кнопку мыши. Переводим курсор в правое окно и вводим там B4. Щелкаем мышкой на команду Добавить. На экране опять появится диалоговое окно Добавление ограничения. Аналогично вводим граничные условия для остальных переменных.

$B$3>=$B$4

$C$3>=$C$4

$D$3>=$D$4

$E$3>=$E$4

Аналогично вводим и другие ограничения:

F9<=H9, F10<=H10, F11<=H11.

После ввода последнего ограничения вместо Добавить ввести Ок. На экране появится диалоговое окно Поиск решения с введенными условиями.

Если при вводе задачи возникает необходимость в изменении или удалении внесенных ограничений или граничных условий, то это делается с помощью команд Изменить…, Удалить.

На этом ввод условий задачи заканчивается. На очереди следующий шаг – решение задачи.

Решение задачи производится сразу же после ввода данных, когда на экране находится диалоговое окно Поиск решения.

 
  решение задач линейного программирования с помощью excel - student2.ru

Выбираем опцию Параметры… На экране появляется диалоговое окно Параметры поиска решения.

Рисунок 6 – Окно ПАРАМЕТРЫ ПОИСКА РЕШЕНИЯ

-- С помощью команд, находящихся в этом диалоговом окне, можно вводить условия для решения задач оптимизации всех классов. С наиболее важными командами, применимыми при решении конкретных задач, мы будем знакомиться по мере необходимости. Вместе с тем, команды, используемые по умолчанию, подходят для решения большей части практических задач.

-- Устанавливаем флажок Линейная модель, что обеспечивает применение симпликс – метода.

-- Ок.

-- На экране появляется уже знакомое диалоговое окно Поиск решения.

-- Выполнить.

На экране: диалоговое окно Результаты поиска решения. Решение найдено и результат оптимального решения задачи приведены в таблице.

 
  решение задач линейного программирования с помощью excel - student2.ru

Рисунок 7 – Окно РЕЗУЛЬТАТЫ ПОИСКА РЕШЕНИЯ

На экране появляется оптимальное решение. Оно представлено в виде таблицы 2:

Таблица 2 - Оптимальное решение задачи линейного программирования

      Переменные        
имя прод1 прод2 прод3 прод4      
значение      
нижн.гр.              
верхн.гр.         Прибыль направление  
прибыль макс  
      Ограничения        
вид         левая часть знак правая часть
трудовые <=
сырье <=
финансы <=

Наши рекомендации