Лабораторная работа №1 Решение задач линейного

advertisement
Лабораторная работа №1
Решение задач линейного программирования с помощью ПОИСКА РЕШЕНИЙ в среде EXCEL.
Цель работы:
1) Научиться составлять математические модели линейных задач.
2) Ознакомиться с технологией решения задач линейного
программирования с помощью ПОИСКА РЕШЕНИЙ в среде EXCEL.
Содержание математических моделей и методика их построения.
Содержанием любой математической модели является выраженная в формальноматематических соотношениях сущность условий задачи и поставленной цели.
Для того чтобы корректно сформулировать и решить конкретную задачу, необходимо
выполнить следующие действия
1 Определить цели.
Цель – желаемое состояние системы.
2 Определить критерий или критрии оптимальности.
Критерием оптимальности называется показатель, выражающийся при помощи целевой
функции через другие показатели, и отражающий степень достижения цели. По значению
критерия и выбирается оптимальный вариант из всех возможных.
3 Выбрать входные параметры.
Входным параметром называется переменная величина изменение, которой приводит к
изменению критерия оптимальности. Как правило, для обозначения переменных величин
используются буквы: x, y, z, а также их модификации x1, xij и др.
4 Определить целевую функцию.
Целевая функция представляет собой уравнение, связывающее значение критерия
оптимальности (чаще всего обозначают буквами F или Z) и значения входных параметров F=f(x1,
x2... xn) → max (min)
5 Определить ограничения
Ограничения модели должны отражать все основные условия. Однако практически учесть
все условия для достижения цели невозможно, достаточно учесть основные условия. Естественно,
полученная модель будет упрощенной по сравнению с реальной.
Целевая функция вместе с набором ограничений представляет математическую модель
системы. При решении необходимо найти такие значения входных параметров x1, x2... xn, чтобы
значение критерия F стало экстремальным (max или min)
Технологию решения задач линейного программирования с помощью надстройки Поиск
решения в среде EXCEL рассмотрим на примере конкретной задачи.
Задача. Завод производит машины трех видов (А, В и С), используя при сборке детали трех
типов (тип 1, тип 2 и тип 3). Расход деталей задается следующей таблицей:
А
В
С
Тип
2
5
1
1 Тип
2
0
4
2 Тип
2
1
1
З
Стоимость изготовленных машин одинакова. Ежедневно на склад завода поступает 500
деталей типа 1 и по 400 деталей типов 2 и 3. Каково оптимальное соотношение дневного
производства машин различного вида, если производственные мощности завода позволяют
использовать запас поступивших деталей полностью?
Составим математическую модель задачи.
Обозначим через x1 , x2 , x3 количество машин каждого типа.
Целевая функция - это выражение, которое необходимо максимизировать:
F ( X )  x1  x2  x3  max
Ограничения по ресурсам:
2 x1  5 x 2  1x3  500,
2 x  0 x  4 x  400,
2
3
 1

2 x1  1x 2  1x3  400,
 x j  0, x j   ( j  1,3)

Поиск решения - это надстройка ЕХСEL, которая позволяет решать оптимизационные
задачи. Если в меню Сервис отсутствует команда Поиск решения, значит, необходимо загрузить
эту надстройку. Выберите команду Сервис→ Надстройки и активизируйте надстройку Поиск
решения. Если же этой надстройки нет в диалоговом окне Надстройки, то вам необходимо
обратиться к панели управления Windows щелкнуть на пиктограмме Установка и удаление
программ и с помощью программы-установки ЕХСEL (или Оffice) установить надстройку Поиск
решения.
1. Запустите программу Excel (Пуск > Программы > Microsoft Excel) и откройте новую
рабочую книгу или созданную ранее.
2. Создайте новый рабочий лист (Вставка > Лист), дважды щелкните на его ярлычке и
присвойте ему имя Организация производства.
3. В ячейки B2, B3 и B4 занесите дневной запас комплектующих — числа 500,400 и 400,
соответственно.
4. В ячейки D5, E5 и F5 занесите нули — в дальнейшем значения этих ячеек будут
подобраны автоматически.
5. В ячейках диапазона D2:F4 разместите таблицу расхода комплектующих.
6. В ячейках A2: A4 нужно указать формулы для расчета расхода комплектующих по
типам. В ячейке A2 формула будет иметь вид =$D$5*D2+$E$5*E2+$F$5*F2, а остальные
формулы можно получить методом автозаполнения (обратите внимание на использование
абсолютных и относительных ссылок).
Рисунок
7. В ячейку G5 занесите формулу, вычисляющую общее число произведенных машин: для
этого выделите диапазон D5 :F5 и щелкните на кнопке Автосумма на стандартной панели
инструментов.
8. Дайте команду Сервис > Поиск решения — откроется диалоговое окно Поиск решения.
9. В поле Установить целевую укажите ячейку, содержащую оптимизируемое значение
(G5). Установите переключатель Равной максимальному значению (требуется максимальный
объем производства).
10. В поле Изменяя ячейки задайте диапазон подбираемых параметров — D5 :F5.
11. Чтобы определить набор ограничений, щелкните на кнопке Добавить. В диалоговом
окне Добавление ограничения в поле Ссылка на ячейку укажите диапазон A2:A4. В качестве
условия задайте <=. В поле Ограничение задайте диапазон B2:B4. Это условие указывает, что
дневной расход комплектующих не должен превосходить запасов. Щелкните на кнопке ОК.
12. Снова щелкните на кнопке Добавить. В поле Ссылка на ячейку укажите диапазон D5
:F5. В качестве условия задайте >=. В поле Ограничение задайте число 0. Это условие указывает,
что число производимых машин неотрицательно. Щелкните на кнопке ОК.
13. Снова щелкните на кнопке Добавить. В поле Ссылка на ячейку укажите диапазон D5
:F5. В качестве условия выберите пункт цел. Это условие не позволяет производить доли машин.
Щелкните на кнопке ОК.
14. Щелкните на кнопке Выполнить. По завершении оптимизации откроется диалоговое
окно Результаты поиска решения.
15. Установите переключатель Сохранить найденное решение, после чего щелкните на
кнопке ОК.
16. Проанализируйте полученное решение. Кажется ли оно очевидным? Проверьте его
оптимальность, экспериментируя со значениями ячеек D5 :F5. Чтобы восстановить оптимальные
значения, можно в любой момент повторить операцию поиска решения.
Создание отчета по результатам поиска решения
ЕХСЕL позволяет представить результаты поиска решения в форме отчета. Существует три
типа таких отчетов:
Результаты (Answer). В отчет включаются исходные и конечные значения целевой и
влияющих ячеек, дополнительные сведения об ограничениях.
Устойчивость (Sensitivity). Отчет, содержащий сведения о чувствительности решения к
малым изменениям в изменяемых ячейках или в формулах ограничений.
Пределы (Limits). Помимо исходных и конечных значений изменяемых и целевой ячеек в отчет
включаются верхние и нижние границы значений, которые могут принимать влияющие ячейки
при соблюдении ограничений.
2. Порядок выполнения работы
2.1.Ознакомится с методическими указаниями, изложенными в п.1;
2.2.Составить математические модели задач (по указанию преподавателя)
2.3.Решить задачи, используя надстройку Excel Поиск решений.
3. Содержание отчета:
3.1.Тема и цель работы
3.2.Условия задач
3.3.Математические модели задач.
3.4. Результаты решения задач с помощью ПОИСКА РЕШЕНИЙ в среде EXCEL.
3.5.Выводы по работе.
Лабораторная работа №2
«Двойственность в задачах линейного программирования.
Анализ полученных оптимальных решений.»
Цель работы:
1) Ознакомиться с теорией двойственности в задачах линейного
программирования.
2) Изучить анализ полученного оптимального решения исходной задачи
с помощью двойственных оценок.
1.Общие сведения
Постановка и правила построения двойственной задачи
Каждой задаче линейной оптимизации можно поставить в соответствие задачу,
называемую двойственной к ней.
Пусть дана общая задача линейной оптимизации (исходная задача):
x j произвольного знака при j  n1  1, n .
Двойственная к ней задача имеет вид:
u i произвольного знака при i  m1  1, m .
Двойственная задача строится по следующим правилам:
1) упорядочивается запись исходной задачи, т.е. если целевая функция задачи
максимизируется, то ограничения неравенства должны быть вида  , если минимизируется — то
вида . Выполнение этих условий достигается умножением соответствующих ограничений на (1);
2) если исходная задача является задачей максимизации, то двойственная будет задачей
минимизации. При этом вектор, образованный из коэффициентов при неизвестных целевой
функции исходной задачи, совпадает с вектором констант в правых частях системы ограничений
двойственной задачи, и, наоборот, коэффициентами при неизвестных целевой функции
двойственной задачи являются соответствующие правые части системы ограничений исходной
задачи;
3) каждой переменной u i двойственной задачи соответствует i-е ограничение исходной
задачи, и, наоборот, каждой переменной x j прямой задачи соответствует j-e ограничение
двойственной задачи;
4) матрица из коэффициентов при неизвестных двойственной задачи образуется
транспонированием матрицы, составленной из коэффициентов при неизвестных системы
ограничений исходной задачи;
5) если на j-ю переменную исходной задачи наложено условие неотрицательности, то
j-e ограничение двойственной задачи будет неравенством, в противном случае j-e ограничение
будет равенством; аналогично связаны между собой ограничения исходной задачи и переменные
двойственной.
Дадим экономическую интерпретацию пары двойственных задач.
Рассмотрим задачу рационального использования ресурсов. Пусть предприятие
располагает ресурсами b1 , b2 ,, bm , которые могут использоваться для выпуска п видов
продукции. Пусть также известны стоимость единицы j-го вида продукции c j ( j  1, n) и норма
потребления i-го ресурса (i  1, m) на производство единицы j-й продукции — аij.
Требуется определить объем производства продукции каждого вида
x j ( j  1, n) ,
максимизирующий суммарную стоимость
При этом расход ресурсов не должен превышать их наличия:
Все неизвестные по своему экономическому смыслу неотрицательны:
По исходным данным сформулируем другую экономическую задачу (двойственную).
Предположим, что некоторая организация может закупить все ресурсы, которыми
располагает предприятие. Необходимо определить оптимальные цены (оценки) ui* (i  1, m) на эти
ресурсы исходя из естественного условия, что покупающая организация стремится
минимизировать общую оценку ресурсов. Нужно, однако, учитывать и тот факт, что за ресурсы
покупающая организация должна уплатить сумму, не меньшую той, которую может выручить
предприятие при организации собственного производства продукции.
Математическая модель задачи имеет вид
~
Здесь f — общая оценка ресурсов. Каждое j-е ограничение из системы представляет собой
неравенство, левая часть которого равна оценке всех ресурсов, расходуемых на производство
единицы j-го вида продукции, а правая — стоимости единицы этой продукции.
Пример. Построить двойственную задачу к следующей задаче, заданной в общей форме:
Решение. Упорядочим запись исходной задачи. Так как требуется найти минимум целевой
функции, то неравенства в системе ограничений должны быть вида . Умножив первое и третье
неравенства на (-1), приведем систему ограничений к виду
Двойственная задача будет иметь четыре переменные, так как прямая задача содержит
четыре ограничения.
В соответствии с указанными выше правилами запишем двойственную задачу:
Третье и пятое ограничения двойственной задачи записаны в виде равенства, так как на
соответствующие им переменные x3 и x5 в исходной задаче не наложено условие
неотрицательности. На переменные u1 , u3 и u 4 наложено условие неотрицательности в связи с
тем, что в исходной задаче им соответствуют ограничения в виде неравенств.
Рассмотрим экономическую интерпретацию двойственной задачи на примере задачи
оптимального использования ресурсов.
Сформулируем экономико-математическую модель двойственной задачи к следующей
задаче
Фабрика имеет в своем распоряжении определенное количество ресурсов: рабочую силу,
деньги, сырье, оборудование, производственные площади и т.п. Допустим, например, ресурсы
трех видов: рабочая сила, сырье и оборудование - имеются в количестве соответственно 80
(чел./дней), 480 (кг) и 130 (станко/ч). Фабрика может выпускать ковры четырех видов.
Информация о количестве единиц каждого ресурса, необходимых для производства одного ковра
каждого вида, и доходах, получаемых предприятием от единицы каждого вида товаров,
приведена в таблице.
Нормы расхода ресурсов
Наличи
е
на единицу изделия
ковер
ковер
ковер
ковер ресурсо
«Лужайк «Силуэт» «Детский» «Дымка»
в
80
Труд
7
2
2
6
а»
480
Сырьё
5
8
4
3
130
Оборудование
2
4
1
8
Цена
3
4
3
1
(тыс.руб.)
Требуется найти
такой план выпуска продукции, при котором будет максимальной общая
стоимость продукции.
Ресурсы
Модель исходной задачи имеет вид:
х1- количество выпущенных ковров «Лужайка»,
х1- количество выпущенных ковров «Силуэт»,
х1- количество выпущенных ковров «Детский»,
х1- количество выпущенных ковров «Дымка».
F  3x1  4 x2  3x3  x4  max
7 x1  2 x2  2 x3  6 x4  80,

5 x1  8 x2  4 x3  3x4  480,
2 x  4 x  x  8 x  130
2
3
4
 1
x1 , x2 , x3 , x4  0.
Составим модель двойственно задачи.
Количество неизвестных в двойственной задаче равно числу функциональных
ограничений в исходной задаче. В исходной задаче три ограничения: по труду, по сырью и по
оборудованию. Следовательно, в двойственной задаче - три неизвестных:
Y1 - двойственная оценка ресурса труд, или «цена» труда;
Y2 - двойственная оценка ресурса сырье, или «цена» сырья;
Y3 - двойственная оценка ресурса оборудование, или «цена» оборудования.
Целевая функция двойственной задачи формулируется на минимум. Коэффициентами при
неизвестных в целевой функции двойственной задачи являются свободные члены в системе
ограничений исходной задачи.
g ( y)  80  Y1  480  Y2  130  Y3  min
Необходимо найти такие «цены» на ресурсы (Yi), чтобы общая стоимость используемых
ресурсов была минимальной.
Ограничения. Число ограничений в системе двойственной задачи равно числу переменных
в исходной задаче. В исходной задаче четыре переменных, следовательно, в двойственной задаче
четыре ограничения. Правыми частями в ограничениях двойственной задачи являются
коэффициенты при неизвестных в целевой функции исходной задачи. Левая часть ограничения
определяет стоимость ресурсов, затраченных на производство единицы продукции. Каждое
ограничение соответствует определенному виду продукции.
7Y1  5Y2  2Y3  3,
2Y1  8Y2  4Y3  4
2Y1  4Y2  1Y3  3
6Y1  3Y2  8Y3  1
Y1 , Y2 , Y3  0.
Решение двойственной задачи можно найти в отчете Поиска решений - отчете по
устойчивости. Теневые цены ресурсов труд, сырье и оборудование соответственно равны 4/3, 0,
1/3 или в десятичных дробях: 1,3333; 0; 0,3333.
Проведем анализ полученного оптимального решения исходной задачи с помощью
двойственных оценок.
1. Анализ использования ресурсов в оптимальном плане выполняется с помощью
соотношений 2-й теоремы двойственности:
если Yi  0, то
n
a
j 1
ij
X j  bi , i  1,..., m;
n
если  aij Xj  bi , то Yi  0, i  1,..., m
j 1
Ресурсы труд и оборудование имеют отличные от нуля оценки 4/3 и 1/3 - эти ресурсы
полностью используются в оптимальном плане, являются дефицитными, сдерживающими рост
целевой функции. Правые части этих ограничений равны левым частям:
7 X 1  2 X 2  2 X 3  6 X 4  80,
2 X 1  4 X 2  X 3  8 X 4  130,
7  0  2  30  2  10  6  0  80  80
2  0  4  30  1  10  8  0  130  130.
Ресурс «сырье» используется не полностью (280 < 480), поэтому имеет нулевую
двойственную оценку (Y2 = 0).
5 X 1  8 X 2  4 X 3  3 X 4  480,
5  0  8  30  4  10  3  0  280  480.
Этот ресурс не влияет на план выпуска продукции.
Общая стоимость используемых ресурсов при выпуске 30 ковров второго вида и 10
ковров третьего вида составит 150 тыс. руб.

g y  80  Y1  480  Y2  130  Y3  80  4 / 3  480  0  130  1 / 3  150 тыс. руб.
Экономическое истолкование оценок есть интерпретация их общих экономикоматематических свойств, применительно к конкретному содержанию задачи. Не использованный
полностью в оптимальном плане ресурс получает нулевую оценку. Нулевая оценка ресурса
свидетельствует о его недефицитности. Ресурс недефицитен не из-за его неограниченных запасов
(они ограничены величиной bi), а из-за невозможности его полного использования в оптимальном
плане. Так как суммарный расход недефицитного ресурса меньше его общего количества, то план
производства им не лимитируется. Данный ресурс не препятствует и дальше максимизировать
целевую функцию f X .
 
Заметим, что ценность видов ресурсов нельзя отождествлять с действительными ценами,
по которым осуществляется его закупка. В данном случае речь идет о некоторой мере, имеющей
экономическую природу, которая характеризует ценность ресурса только относительно
полученного оптимального решения.
Анализ эффективности отдельных вариантов плана
Если изделие вошло в оптимальный план (Xj, > 0), то в двойственных оценках оно не
убыточно, т.е. стоимость ресурсов, затраченных на производство единицы изделия, равна его цене.
Такие изделия эффективны, выгодны с точки зрения принятого критерия оптимальности. В нашей
задаче это ковры второго и третьего видов.
Если стоимость ресурсов, затраченных на производство одного изделия, больше его цены,
то это изделие не войдет в оптимальный план из-за его убыточности. В нашей задаче в план
выпуска не вошли ковры первого и четвертого видов, потому что затраты по ним превышают цену
на 7(10 - 3) тыс. руб. и 9.666(10.666 - 1) тыс. руб. соответственно. Это можно подтвердить,
подставив в ограничения двойственной задачи оптимальные значения вектора Y.
7  4 / 3  5  0  2  1 / 3  30 / 3  10  3,
2  4 / 3  8  0  4  1 / 3  12 / 3  4  4,
2  4 / 3  4  0  1  1 / 3  9 / 3  3  3,
6  4 / 3  3  0  8  1 / 3  32 / 3  10.666  1.
Разницу между правыми и левыми частями ограничений двойственной задачи можно
найти в Отчете по устойчивости в столбце «Нормируемая стоимость».
Анализ влияния изменения правых частей ограничений на значения целевой функции
(чувствительность решения к изменению запасов сырья)
Предположим, что запас сырья ресурса «труд» изменился на 12 ед. т.е. теперь он
составляет 80+12=92 ед. Известно, что колебание величины bi, приводит к увеличению или
уменьшению f(X). Оно определяется величиной уi в случае, когда при изменении величин bi
значения переменных уi в оптимальном плане соответствующей двойственной задачи остаются
неизменными. В нашей задаче увеличение запасов ресурса «труд» приведет к увеличению
значения целевой функции на 16 тыс. руб. (f ( x)  b1  y1  12  4 / 3  16). Для двойственных
оценок оптимального плана весьма существенное значение имеет их предельный характер. Точной
мерой влияния ограничений на функционал оценки являются лишь при малом приращении
ограничения. Известно, что оценки не меняют своей величины, если не меняется набор векторов,
входящих в базис оптимального плана, тогда как интенсивности этих векторов (значения
неизвестных) в плане могут меняться.
Поэтому необходимо знать такие интервалы изменения каждого из свободных членов
системы ограничений исходной ЗЛП, или интервалы устойчивости двойственных оценок, в
которых оптимальный план двойственной задачи не менялся бы. Эту информацию можно
получить из Отчета по устойчивости. В нашей задаче в нижеприведенном фрагменте отчета
видно, что запасы дефицитных ресурсов «труд» и «оборудование» могут быть как уменьшены, так
и увеличены, увеличение запаса ресурса «сырье» не повлияет на план выпуска продукции.
Ограничение
правая часть
80
480
130
Допустимое
увеличение
150
1Е+30
30
Допустимое
уменьшение
15
200
90
После увеличения запаса ресурса «труд» до 92 чел./ч было получено новое решение
задачи. Изменение запасов ресурсов в пределах интервалов устойчивости двойственных оценок
привело не только к изменению значения целевой функции на 16 тыс. руб., но и к изменению
плана выпуска. При этом структура плана не изменилась - изделия, которые были убыточны, не
вошли и в новый план выпуска, так как цены на ресурсы не изменились. Новый план выпуска
составляет 28 ковров второго вида и 18 ковров третьего вида. Изменение общей стоимости
продукции на 16 тыс. руб. (24 - 8 = 16) получено за счет уменьшения на 2 ед. ковров второго вида
по цене 4 тыс. руб.
(4 тыс. руб. х (28 - 30) = -8 тыс. руб.) и увеличения на 8 ед. ковров третьего вида по цене
3 тыс. руб. (3 тыс. руб. х (18-10) = 24 тыс. руб.).
Чувствительность решения к изменению коэффициентов целевой функции исходной задачи.
В первой части Отчета по устойчивости содержится информация о допустимом
увеличении и уменьшении коэффициентов целевой функции, при которых не меняется
оптимальный план исходной задачи.
Целевой
Допустимое Допустимое
коэффициент увеличение Уменьшение
3
7
1Е+30
4
8
1
3
1
1.75
1
9.6667
1Е+30
2. Порядок выполнения работы
2.1.Ознакомится с методическими указаниями, изложенными в п.1;
2.2.Составить экономико-математические модели исходной и двойственной задач
(задание по указанию преподавателя).
2.3.Решить исходную и двойственную задачи, используя надстройку Excel Поиск
решений. Представить результаты поиска решений исходной задачи в форме отчетов.
2.4. Провести анализ полученного оптимального решения исходной задачи
3. Содержание отчета:
3.1.Тема и цель работы
3.2.Условия задач
3.3.Экономико-математические модели исходной и двойственной задач.
3.4. Результаты решения задач с помощью ПОИСКА РЕШЕНИЙ в среде EXCEL.
3.5.Результаты анализа полученного оптимального решения исходной задачи с помощью
двойственных оценок.
3.6.Выводы по работе.
Лабораторная работа № 3
Транспортная задача линейного программирования
Цель работы:
Научиться составлять экономико-математические
транспортных задач и решать задачи методом потенциалов.
модели
1.Общие сведения
Сущность транспортной задачи линейного программирования состоит в наивыгоднейшем
прикреплении поставщиков однородного продукта ко многим потребителям этого продукта. На
практике постоянно возникает необходимость решения таких задач, особенно когда количество
пунктов отправления и получения грузов увеличивается.
Условие транспортной задачи обычно записывается в виде матрицы, в которой
потребители однородного груза размещаются по столбцам, а поставщики - по строкам. В
последнем столбце матрицы проставляют запас груза, имеющийся у каждого поставщика, а в
последней строке - потребность в нем потребителей. На пересечении строк со столбцами (в
клетках матрицы) записывают размер поставки, а также расстояние пробега по всем возможным
маршрутам время доставки груза или затраты на перевозку единицы груза по этим маршрутам.
Математически транспортная задача по критерию стоимости формируется следующим
образом. Имеется п потребителей и т поставщиков однородного груза. Мощность i-гo
поставщика (i = 1,m) обозначим аi, спрос j-го потребителя (j = 1,п) bj. Затраты на перевозку одной
тонны груза от i-гo поставщика до j-го потребителя обозначим сij. Размер поставки продукции
поставщиком i потребителю j обозначим хij ; общую сумму затрат на перевозку груза обозначим
через F.
Запишем математическую модель задачи:
1) объем поставок i-гo поставщика должен равняться количеству имеющегося у него
груза:
n
x
j 1
ij
 ai i  1, m;
2) объем поставок j-му потребителю должен быть равен его спросу:
m
x
i 1
ij
 b j  j  1, n ;
3) запас груза у поставщиков должен равняться суммарному спросу потребителей:
m
n
i 1
j 1
 a i  b j ;
4) размер поставок должен выражаться неотрицательным числом:
xij  0
5) общая сумма затрат на перевозку груза должна быть минимальной:
m
n
F   cij xij  min
i 1 j 1
Поставленная в задаче цель может быть достигнута различными методами, например,
распределительным методом или методом потенциалов.
Модель транспортной задачи линейного программирования может использоваться для
планирования ряда операций, не связанных с перевозкой грузов. Так, с ее помощью решаются
задачи по оптимизации размещения производства, топливно-энергетического баланса, планов
загрузки оборудования распределения сельскохозяйственных культур по участкам различного
плодородия.
Пример: Найти решение транспортной задачи, исходные данные которой приведены в таблице.
Пункты
отправления
А1
А2
А3
В1
5
7
8
Потребности
90
Пункты назначения
В2 В3 В4
3
2
4
6
5
3
9
4
5
70
80
70
В5
8
1
2
Запасы
160
80
140
90
При дополнительных условиях: из А1 а В1 должно быть перевезено не менее 50 ед. груза,
из А3 в В5 – не менее 60 ед., а из А2 в В4 – не более 50 ед. груза.
Решение:
1) Определим тип задачи:
Пункты
имеют
(общий
запас):
160+80+140=380;
общие
потребности
составляют:
90+70+80+70+90=400. Значит задача открытого типа: так как общий запас груза не равен общему
объему потребностей.
Составим модель задачи:
xij- количество груза, перевозимое из i – го пункта в j – ый пункт, i =1,2,3; j=1,2,3,4,5.
Ограничения:
 x11  x12  x13  x14  x15  160,
 x  x  x  x  x  80,
23
24
25
 21 22
 x31  x32  x33  x34  x35  140,

 x11  x21  x31  90,
 x  x  x  70,
22
32
 12
 x13  x23  x33  80,
 x  x  x  70,
24
34
 14
 x15  x25  x35  90,

 x11  50,
 x35  60,

 x24  90
xij  0, xij  цел, i  1,2,3; j  1,2,3,4,5.
Целевая функция:
F=5x11+3x12+2x13+4x14+8x15+7x21+6x22+5x23+3x24+x25+8x31+9x32+4x33 +5x34+2x35min
2)Оформление задачи в Excel имеет вид:
Заполняем окно Поиска решения следующим образом:
После нажатия кнопки Выполнить, получился следующий результат:
Таким образом, план перевозки продукции с минимальными суммарными затратами по ее
доставке следующий: из пункта А1 в В1 перевозится 70 ед. груза, в В2 – 70, в В3 – 20; из А2 в В4
– 50 ед. груза, в В5 – 30; из А3 в В3 – 60, в В4 – 20 ед, в В5 – 60. Общие затраты по
транспортировки составят 1240 ден. ед.
2. Порядок выполнения работы
2.1.Ознакомится с методическими указаниями, изложенными в п.1;
2.2.Составить экономико-математические модели задач (по указанию преподавателя)
2.3.Решить задачи, используя метод потенциалов.
3. Содержание отчета:
3.1.Тема и цель работы
3.2.Условия задач
3.3.Экономико-математические модели задач.
3.4. Результаты решения.
3.5.Выводы по работе.
Лабораторная работа №4
Использование игровых моделей в принятии управленческих решений
Цель работы: ознакомление с теорией игрового моделирования
Основные понятия
При решении ряда практических задач исследования операций, приходится анализировать
ситуации, когда наряду, с неопределенностью сопровождающей какую-то операцию приходится
сталкиваться с сознательным противодействием и результат зависит от того, какой образ действий
выберет противник. Такие ситуации будем называть конфликтными.
Теория игр – это математическая теория конфликтных ситуаций. Её задача – выработка
рекомендаций по рациональному образу действий участников конфликта.
Игрой будем называть упрощенную модель конфликтной ситуации. От реальной
конфликтной ситуации она отличается тем, что ведется по определенным правилам.
Стороны участвующие в конфликтной ситуации называются «игроками». В зависимости от
количества игроков различают парные и множественные игры. Мы будем рассматривать парные
игры, т.к. они имеют наибольшее практическое значение.
Исход игры – это значение некоторой функции, называемой функцией выигрыша
(платежной функцией). Эта функция задается либо таблицей, либо аналитическим выражением.
Игра называется игрой с нулевой суммой, если один игрок выигрывает ровно столько,
сколько проигрывает другой, т.е. сумма выигрышей сторон равна нулю. Мы будем рассматривать
только такие игры.
Ходом в теории игр называется выбор одного из предусмотренных правилами игры
действий и его осуществление. Ходы бывают личные и случайные.
Личным ходом называется сознательный выбор игроком одного из возможных вариантов
действий и его осуществление. Ход называется случайным, если выбор производится не игроком.
А каким- либо механизмом случайного выбора (бросание монеты, выбор карты из колоды).
Теория игр занимается анализом только тех игр, которые содержат личные ходы.
Стратегией игрока называется совокупность правил, определяющих выбор варианта
действий при каждом ходе этого игрока в зависимости от ситуации, сложившейся в процессе
игры.
Оптимальной стратегией игрока называется такая стратегия, которая при многократном
повторении игры обеспечивает данному игроку максимально возможный средний выигрыш (или
минимально возможный средний проигрыш).
Игры, в которых оба участника сознательно стремятся добиться наилучшего для себя
результата, называются стратегическими.
В экономической практике часто приходится моделировать ситуации, придавая им
игровую схему, в которых один из участников безразличен к результату игры.
Такие игры называются «играми с природой», понимая под термином «природа» всю
совокупность внешних обстоятельств, в которых сознательному игроку приходится принимать
решение.
В играх с природой степень неопределенности при принятии решения сознательным
игроком возрастает, т.к. «природа» будучи безразличной, к исходу игры может реализовывать
такие состояния, которые ей совершенно невыгодны.
Платежная матрица
Рассмотрим игру, в которой игрок A имеет m стратегий, а игрок B («противник») - n
стратегий. Такая игра называется игрой m n . Наши стратегии будем обозначать A1 , A2,  Am ,
противника - B1 , B2,  Bn . Предположим, что каждая сторона выбрала определенную стратегию:
мы выбрали Ai , противник B j . Выбор стратегии однозначно определяет исход игры – наш
выигрыш, обозначим его a ij .
Предположим, что нам известны значения a ij для каждой пары стратегий. Эти значения
можно записать в виде прямоугольной таблицы. Такая таблица называется платежной матрицей.
Ai \ B j
B1
B2
…
Bn
a11
a12
…
a1n
a21
a22
…
a2 n
…
…
…
…
a m1
am 2
…
amn
A1
A2
Am
Нижняя и верхняя цена игры
Ai \ B j
A1
A2
B1
B2
…
Bn
i
a11
a12
…
a1n
1
a21
a22
…
a2 n
2
…
…
…
…
…
Am
j
a m1
am 2
…
amn
1
2
…
n
m
В таблице приведены числа  i  min aij - минимально возможный выигрыш игрока А,
j
применяющего стратегию Ai ( i  1, m ) и  j  max aij - максимально возможный проигрыш игрока
i
В, если он пользуется стратегией  j ( j  1, n ).
Число
  max min aij
i
j
называют
нижней
чистой
ценой
игры
(максимином),
а
соответствующую ему чистую стратегию – максиминной.
Число  показывает, какой минимальный гарантированный выигрыш может получить
игрок А, правильно применяя свои чистые стратегии при любых действиях игрока В.
Число
  min max aij
j
называют
верхней
чистой
ценой
игры
(минимаксом),
а
i
соответствующую чистую стратегию минимаксной.
Число  показывает, какой минимальный гарантированный проигрыш может быть у
игрока В, при правильном выборе им своих чистых стратегии независимо от действий игрока А.
Ясно, что    .
Если    , то говорят, что игра имеет седловую точку в чистых стратегиях и чистую цену
игры v     . Стратегии образующие седловую точку, являются оптимальными. Тройку
( Ai* ; B*j ; v ) называют решением игры.
Смешанные стратегии
Для игр без седловых точек оптимальные стратегии игроков находятся в области
смешанных стратегий.
Смешанной стратегией игрока А называют вектор
которого удовлетворяют условиям pi  0 (i  1, m);
m
p
i 1
i
p  ( p1 , p2 , pm ) , компоненты
 1.
Смешанной стратегией игрока В называют вектор q  (q1 , q2 , qn ) , компоненты которого
удовлетворяют условиям q j  0 ( j  1, n);
n
q
j 1
j
 1.
pi и q j - вероятности, с которыми игроки А и В выбирают свои чистые стратегии Ai и B j
в ходе игры.
При использовании смешанных стратегий игра приобретает случайный характер,
случайной становится и величина выигрыша игрока А (проигрыша игрока В). Эта величина
является функцией смешанных стратегий p и q и определяется по формуле
m
n
f ( p, q)   aij pi q j .
i 1 j 1
Функцию f ( p, q) называют функцией выигрыша или платежной функцией.
Смешанные стратегии называются оптимальными, если они образуют седловую точку для
платежной
функции
т.е.
если
они
удовлетворяют
неравенству
f ( p, q) ,
f ( p, q )  f ( p , q )  f ( p , q) .
*
*
*
*
Величину f ( p , q )  v называют ценой игры.
*
*
Поиск оптимальных смешанных стратегий начинают с упрощения платежной матрицы.
Если в платежной матрице элементы k-й строки не меньше соответствующих элементов s-й
строки, т. е. akj  asj ( j  1, n) , то говорят, что стратегия Ak доминирует над стратегией As .
Аналогично, если элементы l-го столбца не превосходят соответствующих элементов r-го
столбца, т. е. ail  air (i  1, m) , то говорят, что стратегия Bl доминирует над стратегией Br .
Частным случаем доминирования стратегий является дублирование стратегий, когда
akj  a sj ( j  1, n) или ail  air (i  1, m) . Исключение из платежной матрицы доминируемых
стратегий (ими игрокам пользоваться заведомо невыгодно) позволяет уменьшить ее размерность,
а это упрощает решение игры. Вероятность применения доминируемых стратегий равна нулю.
*
 
*
Оптимальные смешанные стратегии p и q в игре с платежной матрицей aij

остаются оптимальными и для игры с платежной матрицей baij  c

mn
mn
и ценой v
(где b > 0) и ценой bv + с.
На этом основании платежную матрицу можно всегда преобразовать так, что ее элементы будут
целыми неотрицательными числами, а это упрощает расчеты.
Решение игр с природой по различным критериям
Будем предполагать, что в игре с природой сознательный игрок А может использовать m
чистых стратегий A1 , A2,  Am , а природа П может реализовывать n различных состояний
П1 , П 2,  П n . Игроку А могут быть известны вероятности q1 , q2,  qn , с которыми природа
реализует свои состояния, но он может и не знать их. Действуя против природы, игрок А имеет
возможность использовать как чистые стратегии Ai так и смешанные стратегии
p  ( p1 , p2 , pm ) . Если игрок А в состоянии оценить (величиной a ij ) последствия применения
каждой своей чистой стратегии Ai при любом состоянии П j природы, то игру можно задать
матрицей.
Ai \ П j
П1
П2
…
Пn
A1
A2
Am
a11
a12
…
a1n
a21
a22
…
a2 n
…
…
…
…
a m1
am 2
…
amn
Поскольку игры с природой являются частным видом парных матричных игр, то вся теория
стратегических игр переносится и на игры с природой. Однако игры с природой обладают и
некоторыми особенностями. Например, при упрощении платежной матрицы отбрасывать те или
иные состояния природы нельзя, так как она может реализовать любое состояние независимо от
того, выгодно оно игроку А или нет. Другая особенность состоит в том, что решение достаточно
найти только для игрока А, поскольку природа наши рекомендации воспринять не может. И ещё
одна важная особенность: в играх с природой смешанные стратегии имеют ограниченное
(главным образом теоретическое) значение: не всегда можно для них найти форму, удобную для
использования в реальной обстановке. Смешанные стратегии приобретают смысл только при
многократном повторении игры. В свете последнего замечания более естественными в играх с
природой являются рекомендации в чистых стратегиях игрока А.
С учетом отмеченных особенностей сформулирован ряд критериев, которыми пользуются
при выборе оптимальных стратегий игрока А в ситуациях, моделирующихся в игры с природой.
Эти критерии основываются на здравом смысле, интуиции и практической целесообразности. Они
дают некоторую логическую схему принятия решения. Критерии позволяют последовательным
численным анализом ситуации с разных точек зрения оценить принимаемое решение и высказать
рекомендации по тому или иному образу действий и тем самым выбрать что-то определенное.
Если рекомендации, вытекающие из различных критериев, совпадают, принимается
рекомендуемое решение. Если же рекомендации критериев противоречат друг другу, то
необходимо сравнить, насколько значительно отличаются результаты по разным критериям,
привлечь дополнительную информацию и сделать окончательный выбор.
При выборе оптимальной стратегии игрока А опираются как на платежную матрицу, так и
на матрицу рисков. Риском rij игрока А, когда он пользуется чистой стратегией Ai при состоянии
П j природы, называется разность между максимальным выигрышем, который он мог бы
получить, если бы достоверно знал, что природой будет реализовано именно состояние П j , и тем
выигрышем, который он получит, используя стратегию Ai в неведении о том, какое же состояние
П j природа реализует. Таким образом, элементы rij матрицы рисков определяются по
формуле rij   j  aij  0 , где  j —максимально возможный выигрыш игрока А при состоянии П j
(максимальный элемент j-го столбца платежной матрицы, т.е.  j  max aij ). Итак, исследуя
i
платежную матрицу, мы стремимся выбрать такое решение, чтобы выигрыш игрока А
максимизировался, а анализируя матрицу рисков, стараемся минимизировать неизбежный риск,
сопровождающий выбор решения.
Ai \ П j
A1
A2
Am
П1
П2
…
Пn
ri
r11
r12
…
r1n
r1
r21
r22
…
r2 n
r2
…
…
…
…
…
rm1
rm 2
…
rmn
rm
Если вероятности q j состояний П j природы известны, то пользуются критерием Байеса, в
соответствии
с
которым
оптимальной
считается
чистая
стратегия
Ai ,
при
которой
n
максимизируется средний выигрыш a i   aij q j игрока А, т. е. обеспечивается
j 1
n
max a i  max  aij q j .
i
i
j 1
Если игроку А представляются в равной мере правдоподобными все состояния П j
природы, то иногда полагают q1    qn  1 / n и, учитывая "принцип недостаточного основания"
Лапласа, оптимальной считают чистую стратегию Ai , обеспечивающую
max a i 
i
n
1
max  aij .
n i j 1
Если вероятности q j состояний совсем неизвестны и нельзя сделать о них никаких
предположений, то пользуются критериями Вальда, Сэвиджа и Гурвица. Оптимальной по
критерию Вальда считается чистая стратегия Ai , при которой наименьший выигрыш игрока А
будет максимальным, т.е. ему обеспечивается   max min aij . В соответствии с этим критерием
i
j
игра ведется как с разумным партнером, противодействующим игроку А в достижении успеха.
Критерий рекомендует игроку А ожидать наихудшего результата и в этом предположении искать
наиболее благоприятный исход (выигрыш), который совпадает с нижней чистой ценой игры.
Критерий Вальда выражает позицию крайнего пессимизма, и принимаемое решение носит
заведомо перестраховочный характер. Однако этот критерий имеет право на применение в
практике вместе с другими критериями, оценивающими исследуемую ситуацию с других точек
зрения.
Оптимальной по критерию Сэвиджа считается та чистая стратегия Ai , при которой
минимизируется величина rij максимального риска, т. е. обеспечивается min max rij . Таким
i
j
образом, критерий Сэвиджа советует ориентироваться не на выигрыш, а на риск. Это тоже
критерий крайнего пессимизма, но здесь пессимизм понимается в ином свете: рекомендуется
всячески избегать большого риска при принятии решения.
Оптимальной по критерию Гурвица считается чистая стратегия Ai , найденная из условия
max ( min aij  (1   ) max aij ) ,
i
j
j
где  принадлежит интервалу (0; 1) и выбирается из субъективных соображений. При  =1
критерий Гурвица превращается в критерий Вальда, при  = 0 — в критерий крайнего оптимизма,
когда рекомендуется выбирать стратегию, обеспечивающую самый большой выигрыш. В связи с
этим
критерий
Гурвица
называют
критерием
пессимизма-оптимизма.
При
0 <  < 1 получается нечто среднее между тем и другим. Чем ответственнее ситуация, чем больше
стремление подстраховаться в ней и не рисковать без должных оснований, тем ближе к единице
выбирается коэффициент пессимизма  .
Пример: За некоторый период времени на предприятии потребление исходного топлива Т
в зависимости от его качества составляет 12, 14, 16 или 18 единиц. Если топлива Т окажется
недостаточно, то запас его можно пополнить, что потребует дополнительных затрат в сумме 6
единиц в расчете на единицу топлива. Если же запас топлива превысит потребности, то
дополнительные затраты на содержание и хранение остатка составят 5 единиц в расчете на
единицу топлива. Требуется: 1) придать описанной ситуации игровую схему; 2) вычислить
элементы платежной матрицы и составить её; 3) дать обоснованные рекомендации об
оптимальном уровне запаса топлива, при котором дополнительные затраты на приобретение,
содержание и хранение топлива будут минимальными, при следующих предположениях: а)
вероятности q1,q2,q3,q4 потребности в топливе в количестве соответственно 12, 14, 16 и 18 единиц
известны: q1=0,1; q2=0,4; q3=0,4; q4=0,1; б) потребление топлива в количествах 12, 14, 16 и 18
единиц представляется равновероятным.
Решение:
Составим платежную матрицу:
Таблица 1
12
14
1
6
12
0
2∙6
14
-
16
8
-
4∙6
0
2∙5
-
6∙6
2∙6
-
1
4∙6
0
-
4∙5
18
2∙5
-
2∙6
-
6∙5
4∙5
-
0
1
1
2∙5
Рассчитаем элементы:
Таблица 2
12
14
6
12
0
-12
8
-
24
14
-10
0
36
-
12
16
-20
-
-10
24
0
12
18
-30
-20
-
0
10
Найдем нижнюю чистую цену игры по формуле:
  max min aij
i
j
  max (36;24;20;30)  20 .
Верхнюю чистую цену игры находим по формуле:
  min max aij
j
i
  min (0;0;0;0)  0 .
Так как верхняя цена и нижняя цена не равны, то игра не имеет седловую точку в чистых
стратегиях.
Будем применять различные критерии.
По критерию Вальда:
  max min aij
i
j
В нашем случае:    20.
Таким образом, по критерию Вальда оптимальной является третья стратегия.
Оптимальной по критерию Гурвица считается чистая стратегия, найденная из условия:
v  max   min aij  1   max aij 
j
i 
j

где γ принадлежит интервалу (0; 1) и выбирается из субъективных соображений.
Пусть в нашем случае γ =0,5.
Вычислим каждое значение:
-36 ٠ 0,5 + 0 ٠ 0,5 = -18
-24 ٠ 0,5 + 0 ٠ 0,5 = -12
-20 ٠ 0,5 + 0 ٠ 0,5 = -10
-30 ٠ 0,5 + 0 ٠ 0,5 = -15
v  max{-18,-1 2,-10,-15} 100 .
Таким образом, по критерию Гурвица оптимальной является третья стратегия.
Оптимальной по критерию Байеса считается чистая стратегия Аi, обеспечивающая
n
max a i  max  aij q j
i
i
j 1
0 ٠ 0,1 - 12٠ 0,4 - 24٠ 0,4 - 36٠ 0,1 =-18
-10 ٠ 0,1 - 0٠ 0,4 - 12٠ 0,4 - 24٠ 0,1 =-8,2
-20 ٠ 0,1 - 10٠ 0,4 - 0٠ 0,4 - 12٠ 0,1 = -7,2
-30 ٠ 0,1 - 20٠ 0,4 - 10٠ 0,4 - 0٠ 0,1 = -15
v  max{-18 ;-8,2; - 7,2;-15}  - 7.2
Таким образом, по критерию Байеса оптимальной является третья стратегия.
Оптимальной по критерию Лапласа считается чистая стратегия, обеспечивающая
max a i 
i
n
1
max  aij .
n i j 1
(n -количество стратегий, т.е. все стратегии считаются равновероятными).
В нашем случае n=4:
1/4(0-12-24-36) = -72
1/4( -10+0-12-24)= -46
1/4( -20-10+0-12)= -42
1/4( -30-20-10+0)= -60
v  max{-72 , - 46 , - 42,-60}  - 42 .
Таким образом, по критерию Лапласа оптимальной является третья стратегия.
Для вычисления оптимальной стратегии по критерию Сэвиджа составляем матрицу рисков.
Таблица 3
12
14
16
18
12
0
12
24
36
14
10
0
12
24
16
20
10
0
12
18
30
20
10
0
Оптимальной по критерию Сэвиджа считается чистая стратегия Аi, обеспечивающая
min max rij
i
j
v  min{36 ;24;20;30}  20
Таким образом, по критерию Сэвиджа оптимальной является третья стратегия.
Исходя из полученных результатов можно сделать вывод, что оптимальной является третья
стратегия, т.е. оптимальный запас топлива составляет 16 ед.
Лабораторная работа №5
Решение задач динамического программирования
Основные положения:
Динамическое программирование (планирование) представляет собой математический
метод для нахождения оптимальных решений многошаговых (многоэтапных) задач. Некоторые из
таких задач естественным образом распадаются на отдельные шаги (этапы), но имеются задачи, в
которых разбиение приходится вводить искусственно, для того чтобы их можно было решить
методом динамического программирования.
Пусть на некоторый период времени Т, состоящий из т лет, планируется деятельность
группы промышленных предприятий. В начале планируемого периода на развитие предприятий
выделяются основные средства Q0, которые необходимо распределить между предприятиями. В
процессе функционирования предприятий выделенные им средства частично расходуются.
Однако каждое из этих предприятий за определенный период времени (хозяйственный год)
получает прибыль, зависящую от объема вложенных средств. В начале каждого года имеющиеся
средства могут перераспределяться между предприятиями. Требуется определить, сколько
средств надо выделить каждому предприятию в начале каждого года, чтобы суммарный доход от
всей группы предприятий за весь период времени Т был максимальным.
Процесс решения такой задачи является многошаговым. Шагом управления
(планирования) здесь будет хозяйственный год. Управление процессом состоит в распределении
(перераспределении) средств в начале каждого хозяйственного года.
Пусть имеется груз, состоящий из неделимых предметов различных типов, который нужно
погрузить в самолет грузоподъемностью Р. Стоимость и масса каждого предмета j-го типа
известны и составляют соответственно сj, и pj единиц ( j  1, n ). Требуется определить, сколько
предметов каждого типа надо загрузить в самолет, чтобы суммарная стоимость груза была
наибольшей, а масса не превышала грузоподъемности самолета.
Математически задача записывается следующим образом: найти
неотрицательные значения x j ( j  1, n ), которые бы максимизировали функцию
такие
целые
при ограничении
где x j — количество груза j-го типа, позволяющее достичь max f ( x) .
Процесс решения рассматриваемой задачи не является многоэтапным. Она относится к
классу задач целочисленного линейного программирования. Однако ее можно решить методом
динамического программирования. Для этого весь процесс решения потребуется разбить на этапы
искусственно. На первом этапе рассматривают всевозможные варианты загрузки самолета
предметами первого типа и среди них находят оптимальный. На втором этапе определяют вариант
загрузки самолета предметами первого и второго типов и т. д. Процесс решения задачи
продолжается до тех пор, пока не будет найден оптимальный вариант загрузки самолета
предметами n типов.
ПРИНЦИП ОПТИМАЛЬНОСТИ И РЕКУРРЕНТНЫЕ СООТНОШЕНИЯ
Метод динамического программирования позволяет одну задачу со многими переменными
заменить рядом последовательно решаемых задач с меньшим числом переменных. Процесс
решения задачи разбивается на шаги. При этом нумерация шагов, как правило, осуществляется от
конца к началу.
Основным принципом, на котором базируются оптимизация многошагового процесса, а
также особенности вычислительного метода динамического программирования, является принцип
оптимальности Р. Беллмана.
Принцип оптимальности. Оптимальное поведение обладает тем свойством, что каковы
бы ни были начальное состояние и начальное решение, последующие решения должны быть
оптимальными относительно состояния, полученного в результате первоначального решения.
Принцип оптимальности имеет конструктивный характер и непосредственно указывает
процедуру нахождения оптимального решения. Математически он записывается выражением
вида
f nl ( S l )  optimum( Rl 1 ( S l ,U l 1 )  f n(l 1) (S l 1 ))
U l 1
(1)
(l  0, n  1),
где f n l — оптимальное значение эффекта, достигаемого за n  l шагов; п — количество
шагов (этапов); S l  ( sl(1) ; ; sl( m ) ) — состояние системы на l-м шаге; U l  (ul(1) ; ; ul( m ) ) —
решение (управление), выбранное на l-м шаге; Rl — непосредственный эффект, достигаемый на lм шаге.
"Optimum" в выражении (1) означает максимум или минимум в зависимости от условия
задачи.
Все вычисления, дающие возможность найти оптимальное значение эффекта, достигаемого
за п шагов, f n ( S 0 ) , проводятся по формуле (1), которая носит название основного
функционального уравнения Беллмана или рекуррентного соотношения. Действительно, при
вычислении очередного значения функции f n l используются значение функции f n ( l 1) ,
полученное на предыдущем шаге, и непосредственное значение эффекта
Rl 1 (Sl ,U l 1 ) ,
достигаемого в результате выбора решения U l 1 при заданном состоянии системы Sl . Процесс
вычисления значений функции f n l (l  0, n 1) осуществляется при естественном начальном
условии f 0 ( S n )  0 , которое означает, что за пределами конечного состояния системы эффект
равен нулю.
ВЫЧИСЛИТЕЛЬНАЯ СХЕМА
Оптимальное решение задачи методом динамического программирования находится на
основе функционального уравнения (1). Чтобы определить его, необходимо:
1) записать функциональное уравнение для последнего состояния процесса (ему
соответствует l  n 1 ):
f1 (S n1 )  optimum( Rn (S n1 ,U n )  f 0 (S n ));
Un
2) найти Rn (Sn1 ,U n ) из дискретного набора его значений при некоторых фиксированных
S n 1
и
Un
из
соответствующих
допустимых
областей
(так
как
f 0 (S n )  0 ,
то
f1 (Sn1 )  optimum( Rn (Sn1 ,U n ) . В результате после первого шага известно решение Un и
Un
соответствующее значение функции f1 ( S n1 ) ;
3) уменьшить значение l на единицу и записать соответствующее функциональное
уравнение. При l  n  k (k  2, n) оно имеет вид
f k (S nk )  optimum( Rnk 1 (S nk ,U nk 1 )  f k 1 (S nk 1 )); (2)
U n  k 1
4) найти условно-оптимальное решение на основе выражения (2);
5) проверить, чему равно значение l. Если l  0 , расчет условно-оптимальных решений
закончен, при этом найдено оптимальное решение задачи для первого состояния процесса. Если
l  0 , перейти к выполнению п. 3;
6) вычислить оптимальное решение задачи для каждого последующего шага процесса,
двигаясь от конца расчетов к началу.
Пример 1. Оптимальное распределение инвестиций.
Имеются 4 предприятия, между которыми распределяется 100 тыс. ден. ед. Значения
прироста выпуска продукции на предприятиях в зависимости от выделенной суммы приведены в
таблице. Составить план распределения средств, максимизирующий общий прирост выпуска
продукции.
Предприятия
Средства
с,
тыс. ден. ед.
20
40
60
80
100
№
1
№
2
№
3
№
4
Прирост, тыс. ден. ед.
g
1(x)
g
2(x)
g
3(x)
g
4(x)
1
1
1
1
2
4
2
8
2
6
3
9
4
0
7
5
6
8
3
6
1
Решение
Пусть п = 1. В соответствии с формулой
5
3
1
2
4
5
6
6
2
4
4
9
1
4
9
6
8
7
2
f1 ( х)  max( g1 ( x))  g1 ( x)
в зависимости от начальной суммы с получаем с учетом исходных данных значения f1 (c) ,
помещенные в таблице 1.
Таблица 1
x1* (c)
f 1 (с )
20
12
40
28
60
39
80
47
100
69
Предположим теперь, что средства вкладываются в два предприятия. Тогда в соответствии
с формулой
f n (c)  max ( g n ( x)  f n 1 (c  х))
0 x  c
прибыль от вложения средств в два предприятия будем вычислять по формуле
f 2 (c)  max ( g 2 ( x)  f1 (c  х)).
0 x  c
Рассматриваемому шагу соответствует таблица 2.
Таблица 2
х
0
20
40
60
80
100
f 2 (с)
x 2* (c)
0+12
0+28
0+39
0+47
0+69
14+0
14+12
14+28
14+39
14+47
26+0
26+12
26+28
26+39
40+0
40+12
40+28
51+0
51+12
68+0
14
28
42
54
69
20
0
20
40
0
с
20
40
60
80
100
Расчет
f 3 (с )
значений
приведен
в
таблице
3.
Здесь
использована
формула
f 3 (c)  max ( g 3 ( x)  f 2 (c  х)).
0 x  c
Таблица 3
х
с
20
0
20
40
60
80
100
f 3 (с )
x 3* (c )
0+14
11+0
-
-
-
-
14
0
40
60
80
100
0+28
0+42
0+54
0+69
11+14
11+28
11+42
11+54
24+0
24+14
24+28
24+42
43+0
43+14
43+28
51+0
51+14
68+0
28
43
57
71
0
60
60
60
Аналогичным образом находятся значения f 4 (с) :
f 4 (c)  max ( g 4 ( x)  f 3 (c  х))
0 x  c
и таблица будет иметь вид:
Таблица 4
х
0
20
40
60
80
100
f 4 (с)
x 4* (c)
20
0+14
16+0
-
-
-
-
16
20
40
0+28
16+14
25+0
-
-
-
30
20
60
0+43
16+28
25+14
36+0
-
-
44
20
80
0+57
16+43
25+28
36+14
49+0
-
59
20
100
0+71
16+57
25+43
36+28
49+14
72+0
73
20
с
Полученные данные предыдущих четырех таблиц заносим в сводную таблицу 5:
Таблица 5
f 1 (с )
x 2* (c)
f 2 (с)
x 3* (c )
f 3 (с )
x 4* (c)
f 4 (с)
с
x1* (c)
0
0
0
0
0
0
0
0
0
20
20
12
20
14
0
14
20
16
40
40
28
0
28
0
28
20
30
60
60
39
20
42
60
43
20
44
80
80
47
40
54
60
57
20
59
10
0
100
69
0
69
60
71
20
73
Из таблицы 5 видно, что наибольший прирост выпуска продукции, который могут дать
четыре предприятия при распределении между ними 100 тыс. ден. ед. (с = 100), составляет 73 тыс.
ден.ед. При этом четвертому предприятию должно быть выделено 20 тыс. ден.ед., а остальным
трем — 100 - 20 = 80 тыс. ден. ед.
Из той же таблицы видно, что оптимальное распределение оставшихся 80 тыс. ден. ед.
между тремя предприятиями обеспечит общий прирост продукции на них на сумму 57 тыс. ден.
ед. при условии, что третьему предприятию будет выделено 60 тыс. ден.ед. (остается 80-60=20
тыс. ден. ед). Остальным двум предприятиям выделяется сумма в 20 тыс. ден. ед., прирост при
этом составит 14 тыс. ден. ед при условии, что вся сумма будет выделена второму предприятию.
Итак, максимальный прирост выпуска продукции на четырех предприятиях при
распределении между ними 100 тыс. ден. ед. составляет 73 тыс. ден. ед. и будет получен, если
первому предприятию средств не выделять, второму выделить 20 тыс. ден. ед, третьему выделить
60 тыс. ден. ед и четвертому – 20 тыс. ден. ед.
Пример 2: Задача о нахождении оптимального маршрута перевозки грузов
На данной сети дорог (рисунок) имеется несколько маршрутов, по которым можно
доставлять груз из пункта 1 в пункт 10. Известны стоимости перевозки единицы груза между
пунктами сети.
Требуется:
– найти на сети наиболее экономичный маршрут доставки груза из пункта 1 в пункт 10 и
соответствующие ему затраты;
– выписать оптимальные маршруты перевозки груза из всех остальных пунктов сети в
пункт 10 и указать отвечающие им минимальные затраты на доставку.
Решение
Разобьем все пункты сети на подмножества (таблица 5.1).
Таблица 5.1
I
II
III
IV
V
1
2
3
4
5
6
7
8
9
10
К подмножеству I отнесем пункт 1, к подмножеству II – пункты, в которые можно
попасть непосредственно из пункта 1 (таковыми будут 2, 3 и 4), к подмножеству III отнесем
пункты, в которые можно попасть непосредственно из любого пункта подмножества II
(таковыми будут 5, 6 и 7), и т. д.
В результате движение транспорта из пункта 1 в пункт 10 можно рассматривать как
четырехшаговый процесс: на первом шаге транспорт перемещается из пунктов подмножества IV
в пункт подмножества V (таблица 5.2), на втором шаге – из пунктов подмножества III в пункты
подмножества IV (таблица 5.3) и т. д.
Таблица 5.2 – Первый шаг
Начальный
пункт
Конечный пункт
8
9
5
2
Общие
минимальные
затраты
5
2
10
Конечный пункт на
оптимальном маршруте
10
10
Таблица 5.3 – Второй шаг
Начальный пункт
Конечный пункт
5
6
7
Таблица 5.4 – Третий шаг
8
9
5+7
5+9
-
–
2+6
2+1
Общие
минимальные
затраты
12
8
3
Конечный пункт на
оптимальном
маршруте
8
9
9
Конечный пункт
Начальный пункт
2
3
4
5
6
7
12 + 6
–
3+1
12 + 4 8 + 3 3 + 5
12 + 4 8 + 8 3 + 2
Общие
минимальные
затраты
4
8
5
Конечный пункт на
оптимальном маршруте
7
7
7
Таблица 5.5 – Четвертый шаг
Начальный пункт
1
Конечный пункт
2
3
4
4+4 8+8 5+4
Общие
минимальные
затраты
8
Конечный пункт на
оптимальном маршруте
2
Двигаясь от таблицы 5.5 к таблице 5.2, определим оптимальный маршрут (1–2–7–9–10
затраты составляют 8).
Оптимальные пути из остальных пунктов до пункта 10:
(2–7–9–10) – затраты 4;
(3–7–9–10) – затраты 8;
(4–7–9–10) – затраты 5;
(5–8–10) – затраты 12;
(6–9–10) – затраты 8;
(7–9–10) – затраты 3;
(8–10) – затраты 5;
(9–10) – затраты 2.
Download