МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
КЫРГЫЗСКОЙ РЕСПУБЛИКИ
КЫРГЫЗСКИЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ
Курсовая работа
ИНФОРМАЦИОННЫЙ МЕНЕДЖМЕНТ
Работа с оптимизатором
Бишкек – 2007
Работа с оптимизатором для задач оптимального размещения производства
Оптимизатор используется для нахождения оптимальных решений задач линейного программирования.
Постановка задачи
Требуется найти максимальное или минимальное значение следующей линейной формы:
, при следующих ограничениях: или в скалярной форме:Данная задача (если существует решение) решается симплексным методом.
Суть ее состоит в том, что, начиная с исходной угловой точки, осуществляется последовательный перебор угловых точек, до тех пор, пока не будет найдено оптимальное решение.
Для решения данной задачи с использованием компьютерных технологий в MS EXCEL существует программа-оптимизатор SOLVER (поиск решений). Она позволяет эффективно находить решения для задач линейного программирования со многими переменными.
Пример 1: Задача об оптимальном планировании производства.
Имеется два вида деталей в количестве 8 и 24 единиц, из которых изготавливаются два вида изделий. На единицу 1-го вида изделий расходуется деталей первого вида в количестве 2 и второго - 4, а второго вида изделий – 1 и 6 единиц деталей. Цена первого изделия 4 тыс. сомов, второго – 5 тыс. сомов. Отсюда возникает задача, в каких количествах следует изготавливать изделия, чтобы обеспечить максимальную выручку от их продажи?
Построим математическую модель этой задачи.
Обозначим через Х1 и Х2 числа производимых изделий первого и второго видов, тогда расход деталей 1-го вида равен (2Х1 + Х2), второго вида - (4Х1 +6Х2) , доход от их реализации – (4Х1 +5Х2).
Учитывая ограничения на используемые материалы, сформулируем задачу:
Zmax = 4Х1 +5Х2 , при ограничениях (1)
2Х1 + Х2 ≤ 8, 4Х1 +6Х2 ≤ 24, Х1 ≥ 0, Х2 ≥ 0.
Решение этой задачи с помощью оптимизатора SOLVER программы EXCEL. Если в меню «Сервис» нет подпункта «Поиск решения», то при нажатии пункта «Надстройка» из этого же меню, получим следующее окно надстройки:
В этом окне отмечаем «галочкой» строку «Поиск решения» и нажимаем мышью кнопку ОК. Далее из пакета Microsoft Office устанавливается программа и соответствующие файлы для поиска решения.
На EXCELе в первых двух строках назначаем столбцы для переменных Х1, Х2 (т.е. шапки столбцов), как показано на след.рис:
В третьей строке по адресу А3 и В3 вводим начальные значения переменных Х1, Х2 , которые равны нулю. По адресу В4 вводим выражение целевой функции (1): =4*А3+5*В3. Далее в ячейку А6 и А7 вводим формул ограничений из (1): =2*А3+В3 и =4*А3+6*В3 соответственно. А в ячейки В6 и В7 вводим конечные значения 8 и 24 соответственно переменных Х1, Х2.
Как формулы заполняются показано на следующем рисунке:
Затем ставим курсор в ячейку В4 (т.е. ячейка целевой функции) и выбираем из меню «Сервис» пункт «Поиск решения», тогда открывается следующее окно
Если в окошечке "Изменяя ячейки" будет пусто, то нажимая это окошечко мышкой устанавливаем курсор, затем мышкой отмечая ячейку А3 и В3 (не отпуская мышку) получим вышеприведенное окно.
Теперь нажимаем мышкой кнопку "Добавить" и всплывает следующее окно оптимизатора:
После чего мышкой нажимая ячейку А3 протягиваем курсор мышкой до ячейки В3 не отпуская курсор, т.е. отмечаем ячейки А3 и В3, затем отпускаем кнопку мышки и получим следующее окно:
В этом окне выбираем знак >= , а в правом окошке "Ограничение" ставим клавиатурой значение 0 (ноль). Вид окна примет, следующий вид:
То есть мы таким образом вводим ограничение Х1 ≥ 0, Х2 ≥ 0 из (1). Затем нажимаем кнопку "ОК" и тогда мы получим следующее окно:
Далее, аналогично нажимая кнопку "Добавить" получим окно "Добавление ограничения", затем мышкой (не отпуская левую мышку) отмечаем ячейки А6 и А7. Потом отпуская мышку подводим курсор к окошку "Ограничение" и нажимая мышку ставим курсор в этой окошке. После чего мышкой отмечаем ячейки В6 и В7.
В этом окошке нажимая кнопку "ОК" добавляем это ограничение в окно оптимизатора:
Теперь мы все ограничения (1) ввели в окно оптимизатора. Нажимая далее кнопку "Выполнить" получаем оптимальное решение заданной задачи:
Из этого окна оптимизатора видно, что оптимальным решением являются Х1 =3, Х2=2, при них достигается максимальное значение целевой функции Z=22.
Пример 2: Решение транспортной задачи с помощью оптимизатора. Математическая модель транспортной задачи сводится к минимизации линейной формы:
где Сij – стоимость доставки единицы груза из i-го пункта отправления в j-ый пункт назначения,
Хij – количество единиц груза, запланированных к перевозке из i-го пункта в j-й,
Аi - количество груза в i-том пункте отправления,
Вj - количество груза в j-том пункте назначения.
Необходимым и достаточным условием разрешимости транспортной задачи является условие:
Математическая модель транспортной задачи относится к задачам линейного программирования и может быть решена симплексным методом. Рассмотрим транспортную задачу, матрица планирования которой имеет вид, представленный в таблице:
Решаем задачу с использованием программы Microsoft EXCEL. Для решения транспортной задачи с помощью оптимизатора «Поиск решения» введем данные как показано ниже на рисунке. Из рисунка видно, что вместо переменных Вj из вышестоящей таблицы используются имена столбцов EXCEL: A-E, а вместо переменных Аi используются номера строк от 1 и далее.
В ячейки А1:Е4 введем стоимость перевозок. Ячейки А6:Е9 отведены под значения объемов перевозок, пока неизвестных, но в этих ячейках после решения оптимизатора появятся оптимальный план перевозок. В ячейки G6:G9 введены объемы производства или запасы продукции на складах, а в ячейках А11:Е11 введены потребности (спрос) в продукции в пунктах потребления (или торговые точки).
В ячейку F10 вводится целевая функция: =СУММПРОИЗВ(А1:Е4; А6:Е9), как показано на след. рисунке:
В ячейки А10:Е10 вводятся формулы: А10 → = СУММ (А6:А9)
В10 → = СУММ (В6:В9)
С10 → = СУММ (С6:С9)
D10 → = СУММ (D6:D9)
Е10 → = СУММ (Е6:Е9)
определяющие объемы продукции, ввозимые в пункты потребления (реализации).
В ячейки F6:F9 вводятся формулы:
F6 → = СУММ (А6:Е6)
F7 → = СУММ (А7:Е7)
F8 → = СУММ (А8:Е8)
F9 → = СУММ (А9:Е9)
характеризующие объем производства (или наличие на складах).
Далее ставим курсор в ячейку целевой функции (F10) выбираем команду «Поиск решения» из меню «Сервис» и заполняем открывшееся диалоговое окно «Поиск решения», как показано ниже:
В окошке «Установить целевую ячейку» должен быть абсолютный адрес целевой функции $F$10. Так как нам нужно минимальное значение целевой функции F10, т.е. сумма произведений объема перевозок продукции на стоимости перевозок между пунктами должно быть минимальным, поэтому выбираем мышкой вариант «минимальному значению».
В окошке «Изменяя ячейки:» вводим абсолютные адреса ячеек $А$6:$Е$9, т.е. в этих ячейках объемы перевозок продукции будут изменяться с учетом ограничений, пока значения в этих ячейках равны нулю.
В окошке «Ограничения» вводим ограничения, которые были заданы в начале примера, т.е. значения ячеек А6:Е9, т.е. объемы перевозок продукции должны быть >=0, значения ячеек А10:Е10, т.е. по каждому потребителю продукции должны быть равны потребностям пунктов реализации, которые находятся в А11:Е11. Суммы объемов перевозок произведенных продукций по каждому производителю (или запасы на каждом сладе) в F6:F9 должны быть равны значениям G6:G9.