Смекни!
smekni.com

Работа с оптимизатором (стр. 1 из 3)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

КЫРГЫЗСКОЙ РЕСПУБЛИКИ

КЫРГЫЗСКИЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ

Курсовая работа

ИНФОРМАЦИОННЫЙ МЕНЕДЖМЕНТ

Работа с оптимизатором

Бишкек – 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.