Исследование операций и методы оптимизации. Учебно-методическое пособие для студентов направления подготовки 09.03.03 Прикладная информатика
.pdf3.количественный анализ
4.построение развёрнутой модели, решение задачи, анализ оптимального решения задачи
г) 1. постановка задачи;
2.качественный анализ;
3.количественный анализ;
4.построение развёрнутой модели;
8.Постановка экономико-математической модели включает решение следующих вопросов:
а) формулировку задачи и анализ качественных зависимостей; б) формулировку задачи и цель решения задачи; в) цель решения задачи и структурная формулировка задачи;
г) формулировка задачи, цель её решения и период планирования;
9.Переменные экономико-математической модели подразделяются на: а) основные, логические, вспомогательные; б) качественные, дополнительные, вспомогательные;
в) основные, дополнительные, вспомогательные; г) основные, дополнительные, количественные;
10.Ограничения экономико-математической модели подразделяются на: а) основные, логические, вспомогательные; б) качественные, дополнительные, вспомогательные;
в) основные, дополнительные, вспомогательные; г) основные, дополнительные, количественные;
11.Под критерием оптимальности понимают:
а) экономическую категорию, определяющую цель решения задачи; б) коэффициент корреляции; в) коэффициент ковариации;
г) свободный член экономико-математической модели;
12.Критерии оптимальности подразделяются на: а) глобальный и достоверные; б) глобальный и логические; в) глобальный и локальные; г) достоверный и локальные;
13.Неизвестные величины экономико-математической задачи должны
быть:
а) отрицательными; б) относительными; в) неотрицательными; г) дробными;
14.Математическим аппаратом исследования операций является: а) векторное пространство; б) линейное программирование;
в) математическая статистика; г) теория графов.
21
2.ЭЛЕМЕНТЫ ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ
2.1Понятие линейного программирования
Впрактике исследования операций наиболее разработанными являются экономико-математические модели, реализуемые с использованием методов линейного программирования. В таких моделях целевая функция и ограничения задачи представлены в виде системы линейных уравнений и неравенств. При этом задачи линейного программирования должны отвечать следующим требованиям: иметь многовариантность, т.е. решение не должно быть однозначным; иметь определенные ограничивающие условия, формирующие область допустимых решений; иметь целевую функцию, для которой имеется максимальное или минимальное значение.
Таким образом, линейное программирование является разделом исследования операций, связанного с решением экстремальных задач, в которых критерий оптимальности (целевая функция) и условия (ограничения) выражаются линейными функциями. Особенностью задач линейного программирования является достижение целевой функции своего экстремума на границе области допустимых решений системы ограничений.
Наиболее разработанные алгоритмы решения задач линейного программирования – симплексный и распределительный методы. Они базируются на последовательном улучшении первоначального плана путем циклически повторяющихся вычислений, т.е. итераций. После каждой итерации значение целевой функции улучшается с продолжением процесса до тех пор, пока не будет получен оптимальный план. Симплексный метод является классическим и универсальным, так как позволяет решать задачи, условия которых выражены в различных единицах измерения.
Все модели линейного программирования имеют следующие составные части: совокупность неизвестных переменных и известных величин, характеризующих моделируемый объект; совокупность линейных ограничений, определяющая область допустимых значений неизвестных переменных; целевую функцию, являющуюся математическим выражением критерия оптимальности задачи. В ее качестве может выступать один из обобщенных показателей деятельности моделируемого объекта – прибыль, валовая продукция и т.д. Максимизация или минимизация целевой функции при заданных ограничениях является необходимым требованием для решения задач. Следовательно, система линейных уравнений и неравенств дает количественную характеристику изучаемого объекта (его отдельных процессов) при постановке задач. Целевая функция отражает конкретную направленность деятельности объекта (конечный эффект).
Вобщем случае развернутая формализованная модель линейного программирования, построенная для решения задачи, будет иметь следующий вид (выделено n переменных и m ограничений).
Целевая функция:
Fmax(min) c1 x1 c2 x2 ... cn xn
Система ограничений:
22
a11x1 |
a12 x2 |
... a1n xn |
A1 |
|
|
||||||||
a21x1 |
a22 x2 |
|
... a2n xn |
|
A2 |
|
|
||||||
|
|
|
|
||||||||||
a31x1 |
a32 x2 |
|
... a3n xn |
A3 |
|
|
|||||||
|
|
|
|||||||||||
.............................................. |
|
|
|||||||||||
|
|
||||||||||||
|
|
|
a |
|
|
|
... a |
|
|
|
A |
||
a |
m1 |
x |
m2 |
x |
2 |
mn |
x |
n |
|
||||
|
1 |
|
|
|
|
|
m |
||||||
Требование неотрицательности неизвестных переменных:
x1 0, x2 0,..., xn 0.
Здесь а11,…, аmn – коэффициенты при переменных в ограничениях. Первая цифра двойных индексов коэффициентов в левой части системы ограничений соответствует номеру ограничения, вторая – номеру переменной;
с1, с2,…, сn – коэффициенты целевой функции;
А1,…, Аm – свободные члены ограничений. Все они задаются известными числами. Неизвестными являются переменные х1,…, хn.
С математической точки зрения совокупность ограничений и требований неотрицательности неизвестных переменных определяет область допустимых значений задачи. Содержание модели определяется числовыми значениями и смысловой интерпретацией коэффициентов с1,…, сn , a11,…, amn, A1,…,Am, а также конкретным типом ( , или =) каждого ограничения. В свою очередь, указанные числовые значения и смысл коэффициентов модели определяются решаемой задачей.
Универсальным методом решения задач линейного программирования является симплексный метод, основанный на принципе последовательного улучшения решения. Его идея состоит в отыскании какой-либо вершины многогранника допустимых решений, проверки ее координат на оптимальность. Если решение неоптимально, то осуществляют переход к другой вершине многогранника и вновь проверяют решение на оптимальность. Причем при переходе от одной вершины к другой значение целевой функции убывает (при решении задачи на минимум) или возрастает (в задаче на максимум). Так как выпуклый многогранник имеет конечное число вершин (вследствие конечности числа ограничений задачи), то за конечное число «шагов» точка оптимума будет найдена.
Существуют следующие эквивалентные формы задачи линейного про-
граммирования в матричном виде: |
|
|
1. Z=CX max |
1. Z=CX min |
1. Z=CX max |
2. AX B |
2. AX B |
2. AX=B, B 0 |
3. X 0 |
3. X 0 |
3. X 0 |
Вектор х является допустимым решением задачи линейного программирования, если его координаты удовлетворяют условиям 2 и 3.
Вектор х является оптимальным решением, если его координаты удовлетворяют всем трём условиям.
Теорема 1. Множество решений задачи линейного программирования является выпуклым.
Теорема 2. Если задача линейного программирования имеет оптимальное
23
решение, то оно совпадает с одной (двумя) из угловых точек множества допустимых решений.
2.2 Графический метод решения задачи Задача. Предприятие имеет 3 вида ресурсов в количестве 120, 80 и 240
единиц соответственно. Эти ресурсы используются для выпуска двух типов продукции.
Исходная информация по использованию ресурсов представлена в таблице 2. Таблица 2.1 - Исходные данные
Ресурсы |
Продукция 1 |
Продукция 2 |
Запасы |
Сырье 1 |
2 |
3 |
120 |
Сырье 2 |
2 |
1 |
80 |
Сырье 3 |
3 |
4 |
240 |
Прибыль от реализации единицы продукции 1 типа составляет 6 денежных единиц, 2 типа - 4 денежных единицы. Составить план выпуска продукции, обеспечивающий получение максимума прибыли.
Пусть х1 ед. - искомое количество продукции 1 типа; х2 ед. - искомое количество продукции 2 типа;
Тогда условия по использованию сырья трех видов запишем в следующем
виде
2 х1 |
+ 3 х2 |
|
120 |
2 х1 |
+ х2 |
|
80 |
3 х1 |
+ 4 х2 |
|
240 |
х1 0, х2 |
0 |
||
Z = 6 х1 + 4 х2 мах
Если задача линейного программирования имеет только две переменные, то задачу можно решить графически.
Алгоритм:
1.Строим прямые, которые получаем в результате замены знака неравенства на знак "=".
2.Находим полуплоскости, определяемые каждым условием.
3.Находим многоугольник решений.
4.Строим вектор n с координатами (с1, с2).
5.Строим прямую Z=0 |
_ |
6.Передвигаем прямую в направлении вектора n так, чтобы определить точки, в которых целевая функция принимает максимальное значение, либо устанавливаем неограниченность целевой функции.
7.Определяем координаты точки максимума и вычисляем значение функции в этой точке.
Решим задачу графически. Построим три прямые по двум точкам.
1)2х1 |
+ 3 х2 |
=120 ; х1 =0 ; х2 = 40; А(0,40); |
х1 = 60; х2=0; В(60,0) |
||
2)2 х1 |
+ х2 |
= 80; х1 =0; х2 = 80; |
|
|
24 |
С(0,80); х1 = 40; х2 = 0; Д(40,0)
3)3 х1 + 4 х2 = 240; х1 =0; х2 =60; Е(0,60); х1 =80; х2 = 0; М(80,0)
Рисунок 2.1 - Множество решений
Если предприятие выпустит 30 единиц продукции 1 типа и 20 единиц продукции 2 типа, то максимальная прибыль составит 260 денежных единиц.
Z = 6 * 30 + 4 * 20 = 180 + 80 = 260 ден.ед.
При иных объемах выпуска продукции двух видов прибыль значительно уменьшится.
2.3 Решение задачи в среде MS Excel
Ввод условий задачи состоит из следующих основных шагов:
1.Создание формы для ввода условий задачи.
2.Ввод исходных данных.
3.Ввод зависимостей математической модели.
4.Назначение целевой функции.
5.Ввод ограничений и граничных условий.
Рисунок 2.2- Окно ввода условий задачи
Введем зависимость для целевой функции
-Курсор в D6.
-Курсор на кнопку Мастер Функций.
На экране появится диалоговое окно Мастер Функций.
25
-Курсор в окно Категория на Математические.
-Курсор в окно Функции на СУММПРОИЗВ.
-Далее.
На экране появится диалоговое окно:
-В массив 1 ввести B3:С3.
-В массив 2 ввести В6:С6.
-Готово.
Вячейку D6 поместим формулу =суммпроизв(b$3:с$3;b6:с6),
Вячейку D9 поместим формулу =суммпроизв(b$3:с$3;b9:с9),
Вячейку D10 поместим формулу =суммпроизв(b$3:с$3;b10:с10),
Вячейку D11 поместим формулу =суммпроизв(b$3:с$3;b11:с11).
Рисунок 2.3 – Окно ввода данных
Затем переходим к назначению целевой функции и вводу ограничений и граничных условий.
Следует также указать, что Z –> мах и значения переменных находятся в ячейках В3:C3.
Данные, Поиск решения…
Рисунок 2.4 –Ввод условий
26
На экране диалоговое окно Добавление ограничения.
Рисунок 2.5 - окно Добавление ограничения
Следует ввести граничные условия на переменные:
В3≥В4; С3≥С4.
Аналогично ввести ограничения:
D9≤F9; D10≤F10; D11≤F11. После ввода последнего – ОК
При необходимости изменения или удаления ограничений следует использовать команды Изменить…Удалить. На этом ввод условий заканчивается.
Далее необходимо указать, что модель линейная.
Установление флажка Линейная модель обеспечивает применение сим- плекс-метода для решения задачи линейного программирования. После ввода параметров щелкните ОК.
Выполнить
Рисунок 2.6 – Результаты поиска решения
Рисунок 2.7 – Оптимальное решение задачи
По оптимальному решению имеем те же результаты, которые получены ранее: необходимо производить продукцию 1 типа в количестве 30 единиц, 2 типа – 20 единиц. Максимум прибыли составит 260 денежных единиц.
27
С помощью диалогового окна можно вызвать отчеты трех видов: результаты; устойчивость; пределы.
Установим курсор на тип вызываемого отчета. Отчет по результатам.
Рисунок 2.8 – Отчет по результатам
Отчет состоит из трех таблиц; - Таблица 1 приводит сведения о целевой функции.
-Таблица 2 приводит значения искомых переменных, полученные в результате решения задачи.
- Таблица 3 показывает результаты оптимального решения для ограничений и для граничных условий.
Для ограничений в графе Формула приведены зависимости, которые были введены в диалоговое окно Поиск решения; в графе Значение приведены величины использования ресурса; в графе Разница показано количество неиспользованного ресурса. Если ресурс используется полностью, то в графе Состояние указывается связанное; при неполном использовании ресурса в этой графе указывается не связан.
Отчет по устойчивости
Рисунок 2.9 – Отчет по устойчивости
Отчет по устойчивости состоит из двух таблиц.
В таблице приводятся следующие значения для переменных:
-результат решения задачи;
-редуцированная стоимость, т.е. дополнительные двойственные перемен-
28
ные vj, которые показывают, насколько изменяется целевая функция при принудительном включении единицы этого изделия в оптимальное решение;
-коэффициенты целевой функции;
-предельные значения приращения коэффициентов сj целевой функции, при которых сохраняется набор переменных, входящих в оптимальное решение.
В таблице 2 приводятся аналогичные значения для ограничений:
-величина использованных ресурсов;
-теневая цена, т.е. двойственные оценки zi, которые показывают, как изменится целевая функция при изменении ресурсов на единицу;
-значения приращения ресурсов bi, при которых сохраняется оптимальный набор переменных, входящих в оптимальное решение.
Отчет по пределам В нем показано, в каких пределах может изменяться выпуск продукции,
вошедшей в оптимальное решение, при сохранении структуры оптимального решения:
-приводятся значения хj в оптимальном решении;
-приводятся нижние пределы изменения значений хj.
Рисунок 2.10 – Отчет по пределам
2.4 Двойственные задачи линейного программирования
Различные виды оборудования имеют несопоставимые техникоэкономические показатели. Объективно обусловленные оценки являются оценками сравнительной эффективности факторов производства. По отношению к природным ресурсам двойственные оценки выступают как рентные величины. Двойственные оценки не являются ценами факторов производства. Они измеряются в единицах целевой функции. Принципиальная особенность любой двойственной оценки заключается в том, что она отражает влияние на процесс производства не только данного ресурса, но и представляет собой интегрированный показатель его влияния в комплексе со всеми остальными. Фактически двойственные оценки формируются с учетом всех факторов, определяющих математическую задачу, т.е. технико-экономических коэффициентов, типов ограничений и свободных членов, коэффициентов целевой функции. Это объясняет другое наименование двойственных оценок – скрытые, или теневые, цены. Впервые они были исследованы Л.В. Канторовичем, который называл их объективно обусловленными оценками.
Правила построения симметричных двойственных задач:
29
1. Каждому ограничению прямой (исходной) задачи ставится в соответствие переменная двойственной задачи.
2.Число основных переменных прямой задачи равно числу ограничений двойственной задачи.
3.Матрицы коэффициентов пары двойственных задач взаимнотранспонированы.
4.Вектор объёмов ограничений прямой задачи является вектором целевой функции двойственной задачи и наоборот.
5.Если ограничения прямой задачи имеют знак и Z max, то ограничения двойственной задачи имеют знак и Z min.
Прямая задача обеспечивает расчет оптимального плана, двойственная обеспечивает расчет двойственных оценок.
Прямая задача |
Двойственная задача |
|||
2 х1 |
+ 3 х2 |
|
120 |
2 u1 + 2 u2 + 3 u3 6 |
2 х1 |
+ х2 |
80 |
3 u1 + u2 + 4 u3 4 |
|
3 х1 |
+ 4 х2 |
|
240 |
|
х1 0, х2 0 |
u1 0, u2 0, u3 0 |
Z = 6 х1 + 4 х2 мах |
F = 120 u1 +80 u2 + 240 u3 мiп |
Х (30;20) - оптимальный план прямой задачи |
|
U (0,5; 2,5; 0) - двойственные оценки сырья (ресурсов) - прибыль, прихо- |
|
дящаяся на единицу сырья каждого вида. |
|
Z = 260 ден. ед. |
F = 260 ден.ед. |
Прибыль от реализации продукции в прямой задаче равна общей оценке сырья, затрачиваемого на производство продукции.
Теоремы двойственности Теорема 1. Если Х(х1, ..., хп) есть допустимое решение прямой (исходной)
задачи, а U(u1,..., uп) - допустимое решение двойственной задачи и при этом значения целевых функций равны, то Х есть оптимальное решение прямой задачи, U - оптимальное решение двойственной задачи.
Теорема 2. Если одна из двойственных задач имеет оптимальное решение, то и другая также имеет оптимальное решение с тем же значением целевой функции.
Если одна из двойственных задач не имеет оптимального решения из-за неограниченности целевой функции, то система ограничений второй задачи противоречива.
Теорема 3. Пусть Х - оптимальное решение прямой задачи, U - оптимальное решение двойственной задачи, в этом случае должны выполняться следующие условия:
1)если i - ограничение прямой задачи оптимальным решением обращается в строгое равенство, то соответствующая переменная двойственной задачи будет строго положительна;
2)если i - ограничение прямой задачи оптимальным решением обращается
встрогое неравенство, то соответствующая переменная двойственной задачи равна 0.
30
