2 - Чувашский государственный университет имени И.Н. Ульянова

advertisement
ФГОУ ВПО «Чувашский государственный университет имени
И.Н. Ульянова»
Факультет дизайна и компьютерных технологий
Кафедра компьютерных технологий
ИССЛЕДОВАНИЕ ОПЕРАЦИЙ
(текст лекций)
Чебоксары 2010
2
ЛЕКЦИЯ 1
1.Введение.
Исследование операций (ИСО) - применение математических
методов для
моделирований систем и анализа их
характеристик, при выборе наилучшего
способа управления этими системами.
ИСО – как средство решения задач организационного
управления можно рассматривать как науку и как искусство
.Научность ИСО определяется используемым математическим
аппаратом Для того чтобы понять в чем состоит "искусство"
исследования операций, лучше всего вспомнить так
называемую "проблему …":
Служащие одной из фирм жаловались на слишком долгое время
ожидания лифта .Была попытка решить проблему с помощью
теории массового обслуживания .Однако это не дало результата
.Дальнейшее
исследование
показало,
что
претензии
сотрудников были необоснованны, т.е. время ожидания было
"приемлемым" .Идея , решившая эту проблему оказалась
проста – на каждом этаже поставили зеркало и жалобы сразу
прекратились.
Люди рассматривали себя в зеркало и время ожидания
проходило незаметно.
Этот пример показывает, что при решении задач ИСО часто
приходится сталкиваться с факторами, которые являются
существенными, но не поддаются строгой научной формализации и правильный учет их
является делом интуиции и искусства.
1.1 Формулировка задачи организационного
управления
При формулировки задачи управления всегда выделяется :
1. Цель управления ;
2. Управляемые переменные ;
3. Неуправляемые переменные ;
3
Под целью понимается конечный результат, который
необходимо получить в
результате управляющих воздействий на систему . В
коммерческой и производственной сфере это либо
минимизация расходов, либо максимиэация прибыли .В
некоммерческой сфере – это достижение максимально
высокого уровня обслуживания .
Управляемые переменные – это те способы, с помощью
которых мы можем воздействовать на объект. Выбор
управляемых переменных лежит на специалистах в
управляемой сфере, которая входит в группу, занимающихся
организационным управлением .
Неуправляемые переменные – это те факторы, изменение
которых, не связанны с процессом управления, мы должны
учитывать. Например, при оптимизации сбыта готовой
продукции, фирма должна учитывать колебания рыночных цен
из-за конкуренции ( что является неуправляемой переменной ).
В
исследовании
операций
главная
роль
отводится
математическому моделированию .
Математическая модель – представляет собой совокупность
математических выражений связывающих цель управления,
управляемыми переменными и описывающих ограничения,
накладываемые управляемые переменные .
2. Задача линейного программирования .
Пример. Фабрика изготавливает два вида красок: В ( для
внутренних работ) и Н ( для наружных работ ). Для
производства красок используется два исходных продукта - А и
В. Максимально возможные затраты этих продуктов
составляют 6 и 8 тонн соответственно. Расходы А и В на 1
тонну соответствующих красок приведены ниже в таблице:
4
Исходный
продукт
А
В
Расход на 1 тонну
красок
Н
1
2
В
2
1
Максимально
возможный
запас, т
6
8
Изучение рынка сбыта показало, что суточный спрос на краску Н
никогда не превышает спроса на краску В более чем на 1 тонну.
Кроме того, установлено, что спрос на краску В никогда не
превышает 2 тонн в сутки. Оптовые цены на краски: Н-3000$ за
тонну, для краски В-2000$ за тонну.
Какое количество красок должна выпустить фирма, чтобы
получить максимальную прибыль ?
2.1 Построение математической модели .
Переменные .
Так как нужно определить объемы производства, то
переменными являются :
x1 – суточное производство краски Н;
x2 – суточное производство краски В.
Целевая функция ( то есть функция, описывающая цель
управления ).
В данном случае это общий доход обеих красок
W = 3 x1+2 x2 ( в тысячах $ ) .
Ограничения :
а) Ограничения на расход исходных продуктов :
x1 + 2 x2 < 6
2 x 1 + x2 < 8
В левой части формул расход исходных продуктов за сутки, в
правой – их запасы.
б) Ограничения на спрос :
5
x2 - x1 < 1
x2 < 2
Собрав все неравенства
производства :
можно
записать
общую
модель
W = 3 x1+2 x2
x1 + 2 x2 < 6
2 x1 + x 2 < 8
x2 - x1 < 1
x2 < 2
x1 > 0
x2 > 0
Последние два неравенства называются неявными или
подразумеваемыми. Хотя они не содержатся в первоначальной
формулировке задачи, здравый смысл показывает, что выпуск
продукции не может быть отрицателен, в то время как
формальная математика формально это допускает.
Итак, мы получили задачу на поиск экстремума функции на
переменные которой наложены ограничения. В общем случае
такая задача носит название задача математического
программирования .
Если целевая функция и ограничения линейны - линейного
программирования .
Лучше всего суть решения задачи линейного программирования,
можно понять рассмотрев ее графическое решение. Так можно
решить задачи с число переменных равным двум. Нетрудно
увидеть, что в рассматриваемом нами примере две переменных
x1 и x2 .
2.2
Графическое решение
программировавния .
W = 3 x1+2 x2
задачи
линейного
6
x1 + 2 x2 < 6
2 x1 + x 2 < 8
-x1 + x2 < 1
x2 < 2
(1)
xj > 0 ; j = 1,2 .
Построим область допустимых решений задачи. Для этого
заменив каждое из неравенств (1) равенством :
x1 + 2 x2 = 6
2 x1 + x 2 = 8
-x1 + x2 = 1
x2 = 2
Строим соответствующую ему граничную прямую. Каждая из
этих прямых делит плоскость x1 О x2 на две полуплоскости .
2
6
С одной стороны этой прямой x1 + 2 x2 < 6
С другой
x1 + 2 x 2 > 6
(2)
(3)
Для определения по какую сторону от граничной прямой
располагается полуплоскость соответствующая заданному
неравенству, достаточно искать какую либо одну точку –
например точку О (0,0)
0 + 2*0 < 6
То есть нижняя полуплоскость соответствует неравенству ( 2 )
Полуплоскость, удовлетворяющую исходному неравенству x1 +
2 x2 < 6 отметим штриховкой.
7
Неравенствам x1>0, x2>0 тоже соответствует полуплоскости
расположенные справа от О X2 и сверху от О X1.
Построим граничные прямые для всех пространств. Общая часть
"пересечение" всех этих полуплоскостей будут представлять
собой область допустимых решений этой задачи. В данном
случае системе соответствует ограниченная область в виде
выпуклого многоугольника.
X
2x1+x2=8
2
-x1+x2=1
2
Z
3
C
B
A
D
X2=2
опти
мум
E
F
X
1
2
При построении ОДР может встретиться один из четырех случаев
:
1. Имеет единственное решение .
8
Имеет неограниченную область решений .
Не имеет решений ( система ограничений не совместна ) .
9
ЛЕКЦИЯ 2
Рассмотрим выражение, соответствующее целевой функции :
2x1+x2 = 8
при фиксированном Z определяет прямую, а при изменении Z
– семейство параллельных прямых : ( основная прямая )
Для всех точек, лежащих на 1 прямой Z имеет одно и то же
значение. Вектор перепендикулярный этим прямым, показявает
направление возрастания параметра Z .
x2
2
-3
3
x1
-2
Нанесем теперь W на рисунок с областью допустимых значений .
Очевидно задача поиска допустимого решения ограничений для
которого целевая функция геометрически сводится к
определению в ОДР точку, через которую пройдет линия W =
Z, соответствующая максимальному значению Z. В нашем
случае это точка E. Отметим, что в любом случае решение
задачи ЛП или узловая точка или
.
В зависимости от вида ОДР и W возможны следующие случаи :
10
xопт
A
w
xопт
A
w'
x1
E
B
w'
D
D
A
xопт
B
w'
C
C
x1
w
a)
w
б)
w
в)
г)
Случаи :
а) минимум достигается в 1 точке А ;
б) минимум достигается в 2-х вершинах А и В, и следовательно,
во всех точках отрезка АВ ;
в) в 1 точке А ;
г) в  .
2.2 Анализ решения задачи на чувствительность .
После нахождения оптимального решения всегда проводится
анализ полученного решения на его чувствительность к
изменению условий задачи. Для рассмотренного нами примера
– это анализ влияния спроса и запасов исходных продуктов на
оптимальное решение.
При анализе решения на чувствительность принято решать 3
задачи:
1) Определить влияние изменения ресурсов на оптимальное
решение.
2) Определить, какой из ресурсов в наибольшей степени влияет
на изменение
целевой функции.
3) Определить как влияет изменение вида целевой функции на
полученное решение.
2.3.1 Первая задача анализа на чувствительность .
11
Так как в этой задаче проверяется влияние ограничений ресурсов,
которые располагаются в правой части неравенств, то этот вид
анализа получил название анализа модели на чувствительность
к правой части ограничений.
Все ограничения в задаче линейного программирования принято
делить на
связывающие ( активные ) и
несвязывающие ( неактивные )
Прямая, представляющая связывающее ограничение, должна
проходить через оптимальную точку. В противном случае
соответствующее ограничение будет несвязавающим .
Для решенной нами задачи связывающие ограничения :
x1+2x2 = 6
ресурсы
2x1+x2 = 8
То есть ограничения, которые лимитируют запросы исходных
продуктов А и В. Ресурсы, которые определяют связывающие
ограничения называются дефицитными, так как они
используются полностью .
Ресурсы, которые определяют несвязывающее ограничение ,
называются недифицитными .
Анализ влияния ресурсов включает в себя 2 задачи :
1) Определить предельное увеличение дефицитного ресурса,
позволяющее
улучшить найденное оптимальное решение .
2) Определить предельное оптимальное снижение недифицитного
ресурса, на ухудшающее найденного оптимального решения .
Решение любой из этих задач производится "деформацией"
области допустимых решений.
Например ( график приведен ниже ), при изучении влияния
ресурса А перемещается пример 1. При его увеличении она
двигается вправо вверх. Увеличение целевой функции при этом
"движении" будет происходить до тех пор, пока прямая не
пересечет точку Q .( это произойдет при увеличении ресурса с 6
до 7 ). При дальнейшем увеличении оптимальную точку будут
определять прямые (2) и (3) – ресурс В и ограничение спроса .
12
2x1+x2 = 8
2
3
Q
C D
E
1
B
A
x1+2x2 = 6
W
Предельный ресурс А орпеделяется из координат точки Q ,
которая в свою очередь, получаются из совместного решения
уравнений (2) и (3) – ресурс В и ограничение спроса :
2x1+x2 = 8
x2 = 2 , откуда x1=3
Предельный ресурс А:
А: x1+2x2 = 3+2*2=7
В этой точке ограничения 1: x1+2x2=А становится избыточным,
так как любой дальнейший рост ресурса не влияет ни на
пространство решений, ни на оптимальное решение.
Отличие недефицитности ресурса от его избыточности состоит в
том, что исключение изюыточного ограничения не влияет на
пространство решений, и оптимум в то время как исключение
13
ограничения недифицитного ресурса влияет на пространство
решений.
Аналогичным образом можно рассчитать предельный ресурс В :
Кривую (2) придется передвигать до пересечения некривой (1)
с осью x1 .
Координаты этой точки:
x1+2x2 = 6
x2
= 0 , откуда x1 = 6 .
Ресуос В равный 2x1+x2 = 12
Ограничение x2 < 2 фиксируют предельный уровень на краску В.
Из рисунка следует, что прямую x2 = 2 можно опускать, не
изменяя оптимального решения, до уровня, пока эта прямая не
достигнет точки Е( 10/3, 4/3 ). То есть уменьшение спроса на
краску В до величины 4/3 не повлияет на оптимальность
полученного решения.
Последнее ограничение : -x1+x2 < 1 анализируется подобным
образом .
Полные результаты анализа приведены в таблице :
ресурс
Max изменение
запроса ресурса
(т)
тип
Дефицитный
Дефицитный
Недефицитный
Недефицитный
1.
2.
3.
4.
7- 6 = 1
12 - 8 = 4
-2 - 1 = - 3
4/3 - 2 = -2/3
Max изменение дохода
от реализации (тыс.$)
13-12*(2/3)=1/3
18-12*(2/3)=5*(1/3)
12*(2/3)-12*(2/3)=0
12*(2/3)-12*(2/3)=0
2.3.2 Вторая задача анализа на чувствительность .
Для того, чтобы определить какой из ресурсов больше влияет на
целевуыю функцию используют характеристику ценности
дополнительных ресурсов :
yi =
Макс. приращение оптимального значения
Макс. допустимый прирост ресурса
2
14
Функция определяет, насколько изменится целевая функция при
изменении ресурса на 1 .
ресурс
тип
1.
2.
3.
4.
Дефицитный
Дефицитный
Недефицитный
Недефицитный
yi
тыс.$ /тону
y1 =1/3
y2 = 4/3
y3 = 0
y4 = 0
2.3.3. Третья задача анализа на чувствительность .
При решении третьей задачи анализа на чувствительность
проверяется, как влияет неполученное решения на наклон
основной прямой, определяющейся козффициентами целевой
функции.
Примерительно к рассмотренному примеру задачу можно
переформулировать так : Как влияет на оптимальное решение
изменение цен на продукты.
Третья задача анализа на чувствительность обычно решается по
одному из двух вариантов :
а) Каков диаппазон изменения того или иного коэффициента
целевой функции, при котором не происходит изменеия
оптимального рещения.
б) Как нужно изменить тот или иной коэффициент целевой
функции, чтобы какой-то
недефицитный ресурс стал
дефицитным ,или наоборот.
Целевую функцию можно записать следующим образом :
W= C1x1+C2x2
При увеличении C1 и уменьшении C2 прямая поворачивается по
часовой стрелке, при обратных измениениях – против . (
Рисунок ниже ).
15
D
E
C2 C1
F
C2 C1
W
До тех пор, пока прямая не каснется прямых DE или DF ,
решение Е будет оптимальным, как только наклон выйдет за
пределы, оптимальное решение переместится в точки D или F .
Для примера рассмотрим в каких пределах можно изменять C1
при C2 = const,
чтобы решение осталось неизменно.
tg(DE = 3/6 = 1/2
tg(EF = 2
x2=(W/C2)
1
tg()w = (W/C2) / (W/C1) = C1 / C2
1
C1 = C2tg()DE = 2*(1/2) =1
2
2
C1 = C2tg()w = 2*2 = 4
x1=(W/C1)
yi =
y
11
ma
То есть интервал, внутри которого точка Е по прежнему остается
22
оптимальной
1< C1 < 4
yy
Можно заметить, что как только коэффициент C1 оказвается < 1,
то ресурс 2 становится недефицитным, а 4 – дефицитным .Для
16
нашего примера это значит что если доход о одной тонны
краски Н станет меньше 1000$ , то наиболее выгодная
производственная программа фабрики должна предусматривать
выпуск максимального допустимого количества краски В. При
этом общее потребление продукта В снизится, что обусловит
недефицитность этого ресурса. Соответствующие выводы
можно сделать и для случая, если С 1 > 4 .
ЛЕКЦИЯ 3
2.4 Примеры применения методов линейного
программирования
Задачи об ассортименте продукции
Пример 1
Фирма выпускает 3 вида продукции. Процесс их производства
состоит
из трех операций :
Операция 1
Операция 2
Операция 3
17
1 мин
изд
С
ы
р
ь
е
1 мин
изд
изд
4мин
2 мин
изд
1 мин
изд
1 мин
изд
2 мин
изд
В прямоугольниках – длительность каждой технологической
операции для изделий.
Так как оборудование используется и для других целей, время
выделенное
на каждую операцию – ограниченно :
операция 1 – 430
операция 2 – 460
операция 3 – 420
Прибыль от проданных изделий : 3$, 2$, 5$ ,
Каков наиболее выгодный объем производства каждого из
изделий ?
Математическая формулировка
а) Управляемые переменные x1, x2, x3 – производство каждого
вида
продукции за сутки .
б) Целевые функции : W = 3x1 + 2x2 + 5x3
( величина прибыли за сутки )
п
р
о
д
у
к
ц
и
я
18
в) Ограничения :
операцию;
1x1 + 2x2 + 1x3 < 430 - затраты на1
3x1 + 0x2 + 2x3 < 460 - затраты на 2
операцию;
1x1 + 4x2 + 0x3 < 420 - затраты на 3
операцию.
Здесь xj > 0 ( условие неотрицательности переменных ) .
Пример 2
Задача о диете .
20 тысяч цыплят выращиваются до 8 недельного возраста и
поступают в
продажу. Средний расход корма, в среднем, 1 фунт(445 г.) в
неделю.
Основные компоненты корма показаны в таблице :
ингридиент
Цена
Содержание питательных веществ
фунт/фунт ингридиента
$/фунт
Кальций
Белок
Клетчатка
Известняк
0,38
-
-
Зерно
0,001
0,09
0,02
Соевые бобы
0,002
Смесь должна содержать :
0,50
0,08
кальций [ 0,8 – 1,2 % ]
белка > 22 %
клетчатки < 5 %
Рассчитать наиболее дешевую смесь, удовлетворяющую этим
требованиям
0,04
0,15
0,40
19
Математическая формулировка
а) Управляемые переменные – содержание известняка x1, зерна x2 ,
бобов x3
(в фунтах).
б) Целевая функция : W = 0.04x1 + 0.15x2 + 0.4x3
в) Ограничения :
x1 +
x2 +
x3 > 20000 ( объем смеси на 20000 циплят)
0.04x1 + 0.15x2 + 0.4x3 > 0.008(x1 + x2 + x3) ( > 0.8 %
0.04x1 + 0.15x2 + 0.4x3 < 0.012(x1 + x2 + x3) ( < 1.2 %
0.04x1 + 0.15x2 + 0.4x3 > 0.022(x1 + x2 + x3) ( > 2.2 %
0.04x1 + 0.15x2 + 0.4x3 < 0.05 (x1 + x2 + x3) ( < 5 %
кальция )
кальция )
белка
)
клетчатки)
После необходимых преобразований :
x1 +
x2 +
x3 > 20000
0.372x1 - 0.007x2 - 0.006x3 > 0
0.368x1 - 0.011x2 - 0.010x3 < 0
- 0.220x1 - 0.130x2 + 0.280x3 > 0
- 0.050x1 + 0.030x2 + 0.030x3 < 0 ; xj > 0, j = 1, 2, 3 .
Пример 3
.
Задача о расходе и минимизации обрезков
Крупный ЦБК выпускает бумажную ленту шириной 20 фунтов.
По спецзаказам эти рулоны разрезаются по требуемой ширине .
заказ требуемая ширина объем заказа
1
5
150
2
7
200
3
9
300
Варианты раскройки рулонов показаны на рисунке :
20
7
9
4
5
7
5
А
3
В
5
5
9
С
БРАК
Требуется найти сочетание вариантов раскройки, при котором
заказы выполняются с минимумом потерь бумаги на брак .
Математическая формулировка .
а)
Управляемые переменные : xj , j = 1,…,6 – количество
рулонов, разрезаемых по вариантам 1…6 .
Таблица раскроек
требуемая
ширина (фут)
вариант раскроя
заказы
5
7
9
1
0
1
1
2
1
0
3
3
2
0
1
4
4
0
0
5
1
2
0
6
0
0
2
150
200
300
потери
1
3
1
0
1
2
--
б) Целевая функция :
W = 4x1 + 3x2 + 1x3 +0x4 + 1x5 + 2x6
в) Ограничения :
0x1 + 2x2 + 2x3 +4x4 + 1x5 + 0x6 > 150
1x1 + 1x2 + 0x3 +0x4 + 2x5 + 0x6 > 200
1x1 + 0x2 + 1x3 +0x4 + 0x5 + 2x6 > 360 ;
xj > 0, j = 1,…,6
1
21
Пример 4
Оптимизации работы сборочного
конвейера .
Изделие собирается из трех узлов, выпуск которых налажен в
двух цехах :
цех
фонд раб. времени,
ч / неделю
производительность
узел / ч
1
2
3
1
100
8
5
10
2
80
6
12
4
Распределить затраты времени каждого цеха на выпуск каждого
из трех узлов так, чтобы обеспечить максимальный выпуск
изделий.
Управляемые переменные :
Xij - время за неделю (час.), выделяемое в i - м цехе на выпуск j –
го узла.
Целевая функция :
(*) min[8x11 + 6x21, 5x12 +12x22, 10x13 + 4x23] max
так как изделие можно собрать из трех узлов, то количество
готовых изделий будет равно количеству узлов, которых
меньше всего.
Ограничения :
x11 + x12 + x13 < 100 ( ограничения 1-го цеха )
x11 + x12 + x13 < 100 ( ограничения 2-го цеха )
1
xij > 0, i = 1, 2 j = 1, 2, 3 .
Полученная
задача
не
явлыется
задачей
линейного
программирования, так как (*) нелинейно, однако его можно
свести к линейному, введя новую переменную y :
22
y max
y < 8x11 + 6x21
y < 5x1 + 12x22
y < 10x13 + 4x23
Добавив к зтим неравенствам ограничения (**) получим полную
формулировку задачи оптимизации работы конвейнера .
Пример 5
Целевое программирование .
Во всех предыдущих примерах ограничения представляют собой
соотношения, правые и левые части которых связаны знаками
>, <, или = . Однако при построении моделей, адекватных
реальным ситуациям, иногда целесообразно отразить тот факт
что при соответствующей компенсации (штрафе)
можно
допустить нарушение того или иного ограничения. Ярким
примером этой ситуации является фирма, которая помимо
своего оборотного капитала, использует кредит. Штраф в этом
случае - % , под который был получен заем.
Такой вид математического моделирования называется целевым
программированием, так как направлено на нахождение
уровней использования различных по эффективности ресурсов,
которые соответствовали цели, поставленной лицом,
принимающим решение.
Конкретные пример :
При изготовлении изделий двух видов используются 2 станка.
Каждый станок может использоваться по 8 часов в сутки,
однако фонд времени можно увеличить еще на 4 часа за счет
сверхурочных
.Каждый
час
сверхурочных
требует
дополнительных расходов 5$ .
Требуется определить объемы производства каждого изделия,
обеспечивающее максимум чистой прибыли.
23
станок
1
2
удельная прибыль
производство изделия (час)
1
5
4
6$
2
6
8
4$
Математическая формулировка
а) Управляемые переменные
Xj , j = 1, 2, 3 – количество изделий .
б) Ограничения :
Если не учитывать возможность сверхурочных :
(x1/5) + (x2/6) < 8 ( станок 1 )
(x1/4) + (x2/8) < 8 ( станок 2 )
Для учета сверхурочных введем переменные y1 и y2 :
ЛЕКЦИЯ 4
Продолжение предыдущей лекции …
(x1/5) + (x2/6) - y1 = 8
(x1/4) + (x2/8) – y2 = 8
Если yi < 0, то имеющий фонд времени не израсходован, если yi >
0, то используются сверхурочные в объеме yi часов .
Отметим, что в любом случае yi < 4 – ограничение времени
сверхурочных .
Целевая функция :
W = 6 x1 + 4x1 – 5(max ( 0, y1 ) + max ( 0, y2 )) ,
24
для того, чтобы устранить нелинейность, введем переменные :
 i = max{0, yi}, которые эквивалентны введению условий :
 i > 0,  i > yi
Полная запись модели :
W= 6x1 + 4x2 - 5( 1 +  2 ) max
(x1/5) + (x2/6) - y1
=8
(x1/4) + (x2/8)
- y2
=8
y1
- 1
<0
y2
- 2 < 0
y1
<4
y2
<4
x1, x2, 1,  2 > 0
y1 y2 - не ограничены
2.5 Задача ЛП-как задача распределения ресурсов .
Задачу ЛП очень часто рассматривают как задачу распределения
ограниченных ресурсов по нескольким видам
производственной деятельности. В общем случае ее можно
сформулировать следующим образом :
W=C1x1+…+Cnxn
max
(1)
a11x1 + … + a1nxn < b1
……………
am1x1 + … + amnxn < bm1
(2)
x 1 … xn > 0
Здесь x1 … xn рассматриваются как n видов деятельности, для
проведения которых используется m ресурсов, запасы которых
b 1 , … , bm .
aij – расход i – го ресурса на j – производства.
Cj – прибыль от единицы продукции j – го производства .
25
2.6 Симплекс – метод решения задачи ЛП .
Рассматривая решение задачи ЛП графическим методом мы
отметили, что оптимальному решению всегда соответствует
одна из узловых точек области
допустимых решений (ОДР).
ОДР представляет собой многогранник в многомерном
пространстве. Такая геометрическая фигура называется
симплексом, Отсюда название симплекс-метода (СМ). СМ –
это упорядоченная процедура перебора угловых точек
симплекса, для отыскания точки, доставляющей экстремум
целевой функции .
Координаты любой точки внутри симплекса называют пленом,
угловых точек симплекса – опорными пленами .
Процедура СМ может быть сформулирована следующим
образом:
В качестве начального решения
выбирается
любая
угловая
точка
симплекса,
которая
называется
D
E
1
начальным
опорным
пленом
или
C
F
начальным решением. Пусть это точка А
.
A
B 2) От исходной точки происходит переход
с смежной (соседней) точке, значение
целевой функции в которой "лучше", чем в начальной . В
простейшем случае выбор производится по коэффициэнтам
целевой функции .
1)
В задаче о краске целевая функция выглядит : Z = 3xH+2xB max
.
Коэффициент через xH больше, значит нужно увеличивать эту
переменную, следовательно новым опорным пленом будет
точка В .
Отметим специально, что каждая последующая точка в симплекс
методе должна быть смежной с предыдущей, то есть переход
от А к С - невозможен.
26
2.6.1
Стандартная ( каноническая ) форма записи
задачи Л.П.
В стандартной форме записи задачи Л.П. :
1) Все ограничения записываются в
неотрицательной правой частью .
2) Все переменные неотрицательные.
виде
равенств
с
Приведение к канонической форме можно свести к
следующим операциям:
а) Ограничения неравенства вида <, например,
x1+2x2 < 6
преобразовывают, прибавляя остаточную переменную например
S1 > 0 :
x1+2x2 + S1 =6, S1 > 0
б) Ограничения неравенства вида >, например,
3x1+2x2 - 3x3 >5,
преобразовывают, вычитаем избыточную переменную например
S2 > 0
3x1+2x2 - 3x3 – S2 = 5, S2 > 0
Избыточная переменная интерпретируется как остаток или
неспользованная часть соответствующего ресурса .
в) Если правая часть получившихся уравнений – отрицательна,
наприме:
2x1+3x2 - 3x3 – S2 = -5, то обе части уравнения на -1
-2x1 - 3x2 + 3x3 + S2 = 5 .
г) Любую переменную yi не имеющую ограничения в знаке,
можно представить как разность двух неотрицательных
переменных :
(*) yi=yi' – yi'', yi', yi'' > 0
После решения задачи, переменную yi ( а она имеет вполне
определенный смысл ) , рассчитывают по формуле (*) .
Отметим что при любом допустимом решении только одна из
переменных может быть положительной . То есть если yi' > 0,
27
то yi'' = 0 , и наоборот . Поэтому yi' называют остаточной, yi''
избыточной .
2.6.1 Опорные планы симплекса.
Если привести к стандартной форме задачу о краске, то мы
получим следующее
Z= 3xH + 2xB + 0*S1 + 0*S2 + 0*S3 + 0*S4
xH + 2xB + S1
=6
2xH + xB
+ S2
=8
-xH + xB
+ S3
=1
xB
+ S4
=2
xH, xB, S1, S2, S3, S4 > 0
При Si = 0 ограничения модели описывают ребра симплекса –
область допустимых решений :
XB
2
E
D
S3=0
C
1 F
S4=0
S1=0
S2=0
XH=0
A
1
2
3
4 B
XH
XB=0
Увеличение Si соответствует смещению точек с ребер во
внутреннюю область симплекса .
28
Занесем координаты угловых точек в таблицу:
точки
А
B
C
D
E
F
нулевые переменные
x нх в
x нs2
s1s2
s1s4
s3s4
x нs3
нулевые переменные
s1 s2 s3 s4
s1 x н s3 s4
x н x в s3 s4
x н s2 s3 x в
s1 s2 x н x в
s1 s2 x н s4
Введем обозначения: m – число уравнений ограний
ограничений, n – число
переменных. Анализируя таблицу можно сделать выводы :
1) Угловым точкам симплекса соответствуют пданы, в которых
равны нулю n переменных.
2) Смежные экстремальные точки отличаются одной переменной
в наборах нулевых и ненулевых переменных .
Внутренним точкам симплекса соответствуют планы, не
содержащие ни одной нулевой переменной. Поэтому
приравнивая нулю (n-m ) переменных в системе ограничений
мы всегда получаем опорный план – то есть координаты
угловой точки. Это свойство симплекса получило название
однозначности экстремальных точек.
Решения системы уравнений, получаемые приравниванием нулю
(n-m) переменных называются базисными .Нулевые
переменные
,им
соответствующие
небазисными.(свободными), остальные- базисными.
Сама процедура перехода от одного опорного плана к другому
состоит в "обмене" одной переменной между множествами
базисных и небазисных переменных. Переменные включаемые
в базисные называется включаемой, исключаемая из базисных
- исключаемой.
2.6.3.
Вычислстельная процедура симплекс - метода.
Симплекс-алгоритм состоит из следующих шагов:
29
0)После приведения задачи к стандартной форме определяют
начальное допустимые стороны решения (первоначальный
опорный план), приравнивая нулю свободные переменные.
1) Из числа свободных переменных выбирается включаемая,
увеличение которой улучшает целевую функцию.
2) Из числа базисных выбирается исключаемая переменная.
3) Находится новый опорный план, далее шаг 1.
Пример
Приведем к стандартной форме задачу о краске.
Z - 3xH - 2xB
xH + 2xB + S1
2xH + xB + S2
-xH + xB
+ S3
xB
+ S4
=0
=6
=8
=1
=2
xH, xB, S1, S2, S3, S4 > 0
Для удобства дальнейших преобразований целевая функция
преобразована в форму , подобную уравнениям-ограничениям.
ЛЕКЦИЯ 5
В качестве свободных переменных выбираем Xн =Xв =0 . В
результате получаем опорный план: {Xн , Xв =0 ,S1,S2,S3,S4}
это координаты т.А, которую мы используем в качестве
первоначального опорного плана (П.О.П.)
Полученные результаты удобно представить в виде таблицы:
Базисны
е
перемен.
Z
S1
S2
S3
S4
Z
1
0
0
0
0
Xн
-3
1
2
-1
0
Xв
-2
2
1
1
1
S1
0
1
0
0
0
S2
0
0
1
0
0
S3
0
0
0
1
0
S4
0
0
0
0
1
Решение
0
6
8
1
2
30
Столбец “базисные переменные” содержит их набор в П.О.П.
Строки таблицы  коэффициенты целевой функции ( Z ) и
соответствующих уравнений ограничений. В столбце
“Решение” содержатся значение целевой функции  0 и
базисное решение
(S1=6, S2=8, S3=1, S4=2) .
Для выбора включаемой переменной существуют
различные процедуры. При использовании компьютера, когда
трудоемкость расчетов не играет роли, разумнее всего выбрать
самую простую: по максимальному положительному
коэффициенту в целевой функции при минимизации и
максимальному отрицательному при максимизации. В нашем
случае такой переменной является Xн . Признаком оптимума
является отсутствие положительных при минимизации и
отрицательных при максимизации коэффициентов Z .
2)
Выбор исключаемой переменной производят таким
образом, чтобы обеспечить в новом опорном плане выполнение
условия: Xн,Xв,S1,,S40. Доказано, что это условие
выполняется при выборе исключаемой переменной по
минимуму величины  :
1)


  m i n   i ,m 2   m i n  0,6,4,1,   4
k
k
  i ,h 
где i,m+2 – элементы столбца “Решение”
i,h –элементы h-го столбца, соответствующего включаемой
переменной (h=2)
min+ –оператор, выбирающий
минимальное положительное значение.
31
Столбец, соответствующий включаемой переменной, назовем
ведущий, а его номер обозначим h (его элементы ih). Строку,
соответствующую
исключаемой
переменной,
назовем
ведущей строкой, а ее номер обозначим k (ее элементы kj ) где
k=3 . Элемент, находящийся на пересечении ведущих строки и
столбца, называется ведущим.
3) Новый опорный план получается решением системы уравнений
ограничений относительно новых базисных переменных
методом исключения (Гаусса - Жордана).
Алгоритм состоит из двух этапов:
а) Формируются элементы новой ведущей строки:
*kj= kj/ kh
б) Рассчитываются значения остальных коэффициентов *ij:
*ij= ij -  ih * * kj
Звездочкой обозначены ”новые” значения
Воспользовавшись формулами, можно получить новый опорный
план:
Базисные
перемен.
Z
Xн
Xв
S1
S2
S3
S4
Решение
Z
S1
Xн
S3
S4
1
0
0
0
0
0
0
1
0
0
-1/2
3/2
1/2
3/2
1
0
1
0
0
0
3/2
-1/2
1/2
1/2
0
0
0
0
1
0
0
0
0
0
1
12
2
4
5
2
1)
2)
3)
4)
*11 = 11 – 12 * *31 = 1 – (–3) * 0
=1
*
* *
 12 = 12 – 12  32 = –3 – (–3) * 1
=0
*13 = 13 – 12 * *33 = –2 – (–3) * (1/2) = –1/2
*14 = 14 – 12 * *34 = 0 – (–3) * 0
=0
и т.д.
32
В новом решении Xн = 4, Xв = 0, что соответствует точке В на
О.Д.З.
Значение В возросло до 12.
В новом опорном плане свободные переменные Xв и S2 = 0, а
базисные
представлены в столбце ”Решение”
Анализируя таблицу, находим: столбец по максимальному
отрицательному коэффициенту целевой функции:
13 = –1/2; h = 3
Включаемая переменная Хв


  m i n   i ,m2   m i n  24, 4 3 ,8,10 3 ,2  4 3
k
k
  i ,h 
Исключаемая - S1
Направляющую строку по формуле:
Пересчет по методу Гаусса – Жордана позволяет составить
следующую таблицу
Базисные
переменн.
Z
Xâ
Xí
S2
S4
Z
Xí
Xâ
S1
S2
S3
S4
Решение
1
0
0
0
0
0
0
1
0
0
0
1
0
0
0
1/3
2/3
-1/3
-1
-2/3
4/3
-1/3
2/3
1
1/3
0
0
0
1
0
0
0
0
0
1
12 2/3
4/3
10/3
3
2/3
В новом базисном решении Хн=3 1/3, Xв=1 1/3 (точка С на
графическом решении).
Значение Z увеличилось с 12 до 12 2/3. Т.к. в строке Z нет ни
одного
отрицательного коэффициента, это значит, что нет
свободных
переменных, увеличение которых ( введение их
в базисные ) увеличит
Z. Таким образом, мы достигли
оптимума.
В примере мы рассматривали вариант поиска максимума. Если
бы искался минимум, то в строке Z
искались бы
максимальные положительные коэффициенты.
33
2.6.4.
Искусственное начальное решение.
В рассмотренном примере П.О.П. получился очень просто – в
качестве
базисных были выбраны остаточные ()
переменные, а переменные
исходной задачи были объявлены свободными и приравнены к
нулю.
В случае, если исходные ограничения содержат знаки () или (=),
могут
возникнуть сложности в расчетах.
Пример:
Z = 4X1 + X2 min
3X1 + X2 = 3
4X1 + 3X2  6
X1 + 2X2  4
X1 , X2  0
Приведем задачу к стандартной форме:
Z = 4X1 + X2 min
3X1 + X2 = 3
4X1 + 3X2 – Õ3 = 6
X1 + 2X2 +Х4 = 4
X1 , X2, Х3, Х4  0
Мы получили задачу с n=4 переменными и m=3 уравнениями
ограничений ; n–m переменных должно быть выбрано
свободными и приравненными нулю; приравняем нулю Х1.
Тогда из 1 уравнения Х2 = 3
из 2
Х3 = ( 9 – 6 ) = 3
из 3
Х4 = 4 – 2 * 3 = –2
Т.к. Х4  0, то мы получили промежуточное решение.
Конечно, для выбора свободных переменных можно применить
метод проб и ошибок, однако на практике применяются другие,
более эффективные методы:
34
а) М – метод ( метод больших штрафов )
В соответствии с М–методом, в каждое уравнение, не
содержащее остаточных переменных (т.е. в уравнения типа(=) и
типа ()), добавляются искусственные переменные R,
например
П.О.П.
3X1 + X2 + R1 = 3
4X1 + 3X2 – Х3 + R2 = 6
X1 + 2X2 +Х4 = 4
X1, X2, Х3, Х4, R1, R2  0
X1, X2, Х3 =0
Х4 = 4, R1 = 3, R2 = 6;
Для того, чтобы решение задачи не изменялось, эти переменные
входят
в
целевую
функцию
с
очень
большими
коэффициентами:
Z = 4X1 + X2 + MR1 + MR2 min
При поиске максимума М 0, минимума М  0; М – штраф,
который “накладывается” за использование ненулевых
значений R1 и R2 (отсюда название метода ). Штраф “заставит”
метод оптимизации превратить R1 и R2 в нули. При подстановке
в симплекс-таблицу обязательно делается подстановка; в
целевую функцию вместо R1 и R2 ставят R1 = 3 – 3X1 – X2, R2 =
6 – 4X1 – 3X2 + Х3 и приводят подобные члены.
б) Двухэтапный метод
Недостаток М-метода в том, что возникают ошибки округления
из-за операций с очень большим числом М и маленькими
коэффициентами уравнений ограничений.
Для их устранения применяют двухэтапный метод:
1-й этап.
Вводятся
искусственные
вспомогательная задача
переменных.
переменные,
минимизации
и
решается
искусственных
35
2-й этап.
Оптимальное решение, полученное на 1-м этапе, используют как
П.О.П.
Пример
1-й этап
r = R1 +R2 = 3–3X1–X2 +6 –4X1 – 3X2 + Х3 = – 7X1 – 4X2 + Х3 + 9
min
3X1 + X2 + R1 = 3
X1, X2, Õ3, Õ4, R1, R2  0
4X1 + 3X2 – Õ3 + R2 = 6
X1 + 2X2 +Х4 = 4
Получаем начальную симплекс-таблицу:
Базисные
X1
X2
Õ3
R1
R2
Õ4
Решение
7
3
4
1
4
1
3
2
-1
0
-1
0
0
1
0
0
0
0
1
0
0
0
0
1
9
3
6
4
переменны
е
r
R1
R2
Õ4
  m i n  3 3 , 6 4 , 4 1  1; i  1
i
Базисные
переменные
X1
r
X1
R2
Õ4
0
1
0
0
X2
Õ3
R1
R2
Õ4
Решение
5/3
1/3
5/3
5/3
-1
0
-1
0
-7/3
1/3
-4/3
-1/3
  m i n  3, 6 5 , 9 5  1 15 ; i  2
i
0
0
1
0
0
0
0
1
2
1
2
3
36
Базисные
переменные
r
X1
X2
Õ4
X1
X2
Õ3
R1
R2
Õ4
Решение
0
1
0
0
0
0
1
0
0
1/5
-3/5
1
-1
3/5
-4/5
1
-1
-1/5
3/5
-1
0
0
0
1
0
3/5
6/5
1
т.к. в r-функции все коэффициенты <0, то процесс завершен.
2-й этап
На первом этапе мы получили преобразованную задачу ЛП:
Z = 4X1 + X2
X1 + 1/5Х3 = 3/5
X2 +3/5Х3 = 6/5
Х3 + Х4 = 1
X1, X2, Х3, Х4  0
R1 = 3, R2 = 6, поэтому их
исключили из решения задачи.
Занесем новые данные в симплекс-таблицу
ЛЕКЦИЯ 6
Продолжение ...
При этом, так же как и в М - методе и на 1-м этапе базисные
переменные исключаются из целевой функции методом
подстановки :
x1=(3/5) - (1/5)x3 ; x2=(6/5)+(3/5)x3
Z =4*((3/5) - (1/5 )x3) + ((6/5)+(3/5)x3) = -(1/5)x3 + 18/5 ;
Б
x1
x2
x3
x4
решение
i
Z
x1
x2
x4
0
1
0
0
0
0
1
0
1/5
1/5
-3/5
1
0
0
0
1
18/5
3/5
6/5
1
3
-2
1
37
0
1
0
0
Z
x1
x2
x3
0
0
1
0
0
0
0
1
-1/5
-1/5
3/5
1
17/5
2/5
9/5
1
1
Так как в функции Z нет положительных козффициэнтов, то
опорные план :
{ x1=2/5; x2=9/5; x3=1; x4=0 }- оптимальный
Отметим, что двух этапный метод имеет то же множество
итераций (таблиц), что и М-метод, но более точен.
2.7 Врожденные решения задачи Л.П.
Пример
Z=3x1+9x2
max
x1+4x2 < 8,
x1+2x2 < 4, x1, x2 > 0 .
Приводим задачу к стандартной форме :
x1+4x2 + x3 = 8,
x1+2x2 + x4 = 4 .
... и решаем :
Б
x1
x2
x3
x4
-3
-9
0
0
Z
решение
0
i
2
2
x3
x4
1
1
4
2
1
0
0
1
8
4
Z
-3/4
0
-3/4
0
18
x2
x4
1/4
1/4
1
0
1/4
-1/2
0
1
2
0
Z
0
0
3/2
3/2
18
x2
0
1
1/2
-1/2
2
x1
1
0
-1
2
0
8
0
38
Вырожденным называется решение, когда один или несколько
базисных переменных равны нулю .
Причиной
появления
вырожденных
решений
является
переопределенность :
то есть одно из ограничений задачи является избыточным .
Это легко увидеть на геометрической интерепретации задачи :
x2
вырожденное
решение
Z
x4=0
x1+4x2 < 8
x1
x1=0
x1+2x2 < 4
x4=0
Следует заметить, что вырожденность решений может
зацикливать некоторые симплекс - алгоритмы, но так как это
случается очень редко, стандартные программы обычно не
защищаются от зацикливания .
2.8 Альтернативные решения задачи Л.П.
Пример : Z=2x1+4x2
max
x1+2x2 < 5
x1+2x2 < 4 ; x1, x2 > 0
x2
если
попытаться
ввести
такую
переменную в
базис, это не
изменит целевую функцию
Z=2x1+4x2
B
C
A
D
x1
x1+x2 < 4
x1+2x2 < 5
39
Решение данной задачи - бесконечное множество решений,
лежащих на отрезке ВС . Такие решения называются
альтернативными. они возникают в тех случаях, когда прямая
или гиперплоскость, представляющая целевую функцию
параллельно прямой или гиперплоскости, соответствующий
связывающему ограничению.
Признак появления альтернативного решения при решении
задачи симплекс методом - появление нулевого коэффициэнта в
целевой функции у свободной переменной .
А
В
С
Б
x1
x2
x3
x4
решение

Z
x3
x4
-2
1
1
-4
2
1
0
1
0
0
0
1
0
5
4
5/2
4
Z
x2
x4
0
1/2
1/2
0
1
0
2
1/2
-1/2
0
0
1
10
5/2
3/2
5
3
Z
x2
x1
0
0
1
0
1
0
2
1
1
0
-1
2
10
1
3
Любое решение, принадлежащее (ВС) можно определить как
положительное среднее взвешанное от координат точек В (
x1=0,x2=5/2) и С ( x1=3,x2=1) .
xˆ1   * 0  (1   ) * 3  3  3
xˆ 2   * (5 / 2)  (1   ) *1  1  (3 / 2) где принадлежит отрезку (0,1)
Информация о наличии алтернативных оптимумов часто
используется при выборе альтернативных экономических
решений .
40
2.9 Неограниченные решения .
Неограниченность решения задачи Л.П. свидетельствует о том,
что разработанная модель неточна, например :
- не учтены какие-либо ограничения ,
- неправильно заданны коэффициэнты ограничений .
Как проявляется неограниченность при решении задачи
симплекс-методом можно увидеть на примере :
Z=2x1+x2 max
2x1+x2< 10
2x1
< 40 x1, x2 > 0
Б
Z
x1
-2
1
2
x3
x4
x2
-1
-1
0
x3
0
1
0
решение
0
10
40
x4
0
1
1
Если на любой итерации свободная переменная имеет в
ограничениях только неположительные коэффициэнты,
пространство решений в данном направлении неограниченно .
Если же, кроме того коэффициэнт в строке Z отрицательный
(положительный) и имеется max (min), то целевая функция так
же неограниченна .
x2
x2
Z
x1
целевая функция
неограниченна
x1
пространство неограниченно но целевая
функция ограниченна и есть решение
41
2.10 Отсутствие допустимых решений .
Это ситуации, когда уравнения ограничений несовместны. Здесь
заслуживает внимания методы получения первоначальных
решений, использующие искусственные переменные R.
Симплекс-метод в этих случаях дает “псевдооптимальное” - то
есть неверное решение. Узнать об этом можно потому, что в
результате итерации, приводящей к оптимуму, по крайней мере
1 из R переменных будет положительна .
2.11 Интерпретация симплекс-таблиц. Анализ на
чувствительность .
Решение задачи Л.П. производится обычно на компьютерах с
помощью стандартных программ. Поэтому основные задачи,
выпадающие на долю исследователя - это постановка задачи и
анализ полученных результатов .
Исследователь вряд ли устроила бы заключительная симплекстаблица, из которой можно получить только оптимальные
значения переменных. В этой главе мы покажем как из
симплекс - таблиц непосредственно, либо с помощью
несложных расчетов получить информацию относительно :
1) оптимального решения;
2) статуса ресурсов;
3) ценности каждого ресурса;
4) чувствительности решения к изменению запасов ресурсов и
изменению коэффициэнтов целевой функции .
Для иллюстрации методов получения этой информации мы
воспользуемся заключительной симплекс-таблицей задачи о
краске :
Z=3xH+2xB
max
xH + 2xB + S1 = 6 ( продукт А )
2xH + xB + S2 = 8 ( продукт В )
- xH + xB + S3 = 1 ( сырье )
42
2xB + S4 = 2 ( сырье )
xН ,xВ,S1,...,S4 > 0
Б
Z
xB
xН
S3
S4
x Н x B S1
S2 S3 S4 решение
0 0 1/3 4/3 0 0
12(2/3)
0 1 2/3 -1/3 0 0
1(1/3)
1 0 -1/3 2/3 0 0
3(1/3)
0 0
-1
1
1 0
3
0 0 -2/3 1/3 0 1
2/3
1) Оптимальное решение .
В столбце базиса содержатся наименования все переменных,
которые не равны нулю, а в столбце решение - их значение,
таким образом
xВ=1(1/3), xН = 3(1/3), S3=3, S4=2/3 .
Переменные S1 и S2 = 0. Обычно исследователя только значения
переменных исходной задачи, в данном случае объемы
производства краски для внутренних xВ и наружных xН
помещений.
Значение целевой функции соответствующее оптимальному
решению, содержится в строке Z столбца решения. В данном
случае оно имеет смысл прибыли от реализации продукции :
12(2/3) тыс. $ / сутки .
2) Статус ресурсов .
Мы ввели подразделение на дефицитные и недефицитные
ресурсы в зависимости от того, полное или частичное их
использование предусматривает оптимальное решение задачи.
Если в результатирующей симплекс-таблице переменная,
соответствующая остатку ресурса равна нулю- ресурс
дефицитный, если нет - недефицитный .
ресурс
Продукт А
Продукт В
переменная
статус ресурса
S1=0
S2=0
Дефицитный
Дефицитный
43
Превышение
объема
производства краски В
по отношению к Н
Спрос на краску В
S3=3
Недефицитный
Недефицитный
S4=2/3
ЛЕКЦИЯ 7
Увеличение дефицитных ресурсов ( в примере запасов краски),
позволяет увеличить прибыль. Часто бывает важно знать:
увеличение, какого из дефицитных ресурсов даст наибольшую
прибыль. Ответ на этот вопрос дает характеристика,
называемая ценность ресурса.
3) Ценность ресурса ( 2 задача на чувствительность ).
Ценность ресурса yi характеризуется величиной улучшения
оптимального значения целевой функции Z, риходящейся на
единицу времени прироста объема данного ресурса Si .
Yi=Z / Si
Значения ценности ресурсов находятся в строке Z симплекс
таблице
в столбцах, соответствующих ресурсам S1,...,S4:
y1=1/3, y2=4/3, y4,y3=0
Естественно, что ценность недефицитных ресурсов равна нулю.
Синонимами термина ценность ресурса являются также
“скрытая цена ”, ”теневая цена”, “двойственная цена”.
4) Максимальное изменения данного ресурса (1 задача на
чувстви- тельность )
Для того чтобы оценить, в каких предметах можно изменять
запас ресурса, используют следующий прием : дают i-му
ресурсу приращение i и определяют его влияние на решение
задачи.
Дадим, например, приращение ресурсу 1: т.е. исходную
симплекс
таблицу вместо 6 запишем 6+ и решим эту задачу в общем
виде.
44
Отметим, что будет меняться только один столбец таблицырешения:
уравнение
Z
начало
0
1
6+
2
3
4
8
2
2
1
12
2+
4
5
2
2
12*(2/3)+(1/3)*
4/3
*
10/3
3
2/3
*
+
2/3
- 1/3 *
- 1 *
- 2/3
Эти коэффициенты (множители ) совпадают со столбцом S1,
поэтому их решать не надо. Так как для базисных переменных
оптимального решения должно выполняться требование
неотрицательности:
xв = 12*(2/3) + (1/3)*0
xн = 4/3
+ (2/3)*0
S3 = 3
0
S4 = 2/3 - (2/3)*0,
которые выполняется при –2  , то есть применение
ресурса вне пределов (6T)-2
приводит к недопустимым
решениям, то есть к другому базису.
5) Максимальное
функции.
изменение
коэффициентов
целевой
Наряду с определением допустимых изменений запасов часто
необходимо проанализировать, как повлияет на оптимальное
решение изменение коэффициентов целевой функции ( 3
задача на чувствительность ).
Для решения задачи
интересующему нас коэффициенту целевой функции дается
приращение, например:
Z=(3+)*XH + 2*XB
45
В результате решения произойдет изменение только в первой
строке -Z :
Б
Z
xB
0
xB
xH
S1
S2
0
1
0
0
xH
S1
S2
S3 S4
решение
0 1/3-(1/3)4/3+(2/3)0 0 12*(2/3)+(10/
3)*
1
2/3
-1/3
0 0
1*(1/3)
0
-1/3
2/3
0 0
3*(1/3)
0
-1
1
1 0
3
0
-2/3
1/3
0 1
2/3
Причем коэффициенты при  будут равны коэффициентам в
соответствующих столбцах
строки xH, коэффициент при
которой получил приращение.
Для того, чтобы рассматриваемый план был оптимальным,
неоходимо, чтобы коэффициенты: 1/3-(1/3)* 0
4/3-(2/3)*0 ,
откуда –2  .
пункты-потребители
Bj
Ai
A1
B1
...
c11
кол-во товара на «m» складе
Bn
ai
c1n
a1
cmn
xmn
bn
am
x11
...
Am
bj
cm1
b1
...
Где
cmn
cтоимость
перевозки от «m» склада к
«n» - му потребителю
еденицы груза .
xmn - кол-во товара,
привезенного из “m”- го
склада к “n”-му
потребителю.
am - кол-во товара
“m”- го склада
bn - потребность “n” го потребителя в товаре .
46
Строки таблицы заполняются так, что выполняются условия:
эти уравнения выполняют роль граничений в
n
транспортной задаче граничений в транспортной
xij  ai
задаче .
j 1

m
x
i 1
ij
 bj
m
n
 a  b
i 1
i
j 1
j
xij  0
Целевая функция здесь записывается так :
m
n
min  F   cij xij
i 1 j 1
то есть минимум стоимости перевозки.
4.5. Транспортная модель –частный случай линейного
программирования.
Симплекс метод позволяет решить любую задачу линейного
программирования. Однако на практике часто применяют
более простые
методы решений, пригодные лишь для
ограниченного класса задач. Одной из таких задач является
транспортная задача.
Суть транспортной задачи в ее классической постановке, состоит
в следующем :
A1
B1
...
cm1
...
Am
cmn
Bn
47
Есть m “складов ”, в каждом из них содержится am единиц
некоторого товара, который оптимальным образом, с учетом
стоимости перевозки
cij нужно доставить к потребителям.
Для задания условий и решения задачи используется
специальная таблица – матрица перевозок.
Решение транспортной задачи методом потенциалов происходит
по следующему алгоритму.
1) Определяется базисное решение задачи (то есть некоторое
начальное решение, от которогодвигаются к оптимальному) .
Рассмотрим ”диагональный” метод получения базисного
решения. Суть метода:
1-ого потребителя “насыщают” товаром с первого склада:
Если не хватает - то добавляют со второго склада; лишний
товар с первого
склада- попадает ко второму потребителю
и так далее .
Например:
Bj
Ai
A1
B1
6
B2
B3
ai
3
2
25
7
5
25
8
15
25
A2
3
5
A3
4
2
6
10
A4
bj
6
8
30
5
6
12
25
25
30
48
ЛЕКЦИЯ 8
2. Находятся потенциалы i и j всех пунктов отправления и
назначения. Потенциалы, это некоторые вспомогательные
переменные, для которых выполняются условия:
(*)
k+l=ckl
где ckl-стоимость перевозки груза из пункта k в l
Для базисных переменных как правило, принимают 1=0 и на
основание (*) рассчитывают остальные потенциалы:
1=6, 2=10, 3=12 ;
табл. *
ai
1
2
3
1=0
6
3
2
25
A1
2=-3
3=-4
25
4=-6
3
7
5
25
A2
A3
A4
Bj
5
4
20
6
8
15
6
10
8
5
6
25
30
25
30
30
b1=c11-1=c11; 1+2=c21=3; 2+2=c22=7 и т.д.
3. По формуле ij=cij-(i+j) находятся коэффициенты для всех
свободных переменных(не входящих в базис )
12=с12-(1+2)=3-(0+10)=-7;
13=с13-(1+3)=2-(0+12)=-10;
23=с23-(2+3)=5-(-3+12)=-4;
31=с31-(3+1)=4-(-4+6)=2;
41=с41-(4+1)=6-(-6+6)=6;
49
42=с42-(4+1)=8-(-6+10)=4;
4.Выбирается свободная переменная xkt с наименьшим отрицат.
kt В данном случае kt=13= -10 если все kt0-полученное
решение оптимальное.
5. Для переменной xkt- строится цикл пересчета, т.е. замкнутая
ломанная линия, все вершины которой, кроме xkt находятся в
базисных точках (см. Рис.). В данном случае xkt=x13 .Далее
вершине xkt=x13 присваивается знак
(+) остальные по
очереди(+)(-)
6. Производится «сдвиг»:
а) выбирается вершина цикла пересчета со знаком (-),которой
соответствует минимальное xij
б) ко всем вершинам цикла, в зависимости от знака вершины
прибавляется или вычитается xij Эта операция соответствует
введению в базис новой переменной xij=x33 в нашем случае
x33=5.
7. Строим новую матрицу перевозок и повторяем для нее п.п.
2-7
1=0;
2=-3;
3=-4;
4=4
B1
B2
B3
A1
6
3
2
A2
20
3
7
5
5
A3
10
4
15
6
8
6
15
8
6
A4
25
bj
ai
1+1=c11;
1+2=c21=3;
2+2=c22=7;
3+2=c32=6;
1+3=c13=2;
4+3=c43=6;
50
Рассчитаем коэффициенты ij для свободных переменных
12=с12-(1+2)=3-(0+10)=-7;
23=с23-(2+3)=5-(-3+2)=4;
31=с31-(3+1)=4-(-4+6)=2;
33=с33-(3+3)=8-(-4+6)=10;
41=с41-(4+1)=6-(4+6)=-4 ;
42=с42-(4+2)=8-(4+10)=-6;
Минимальное kt=12= -7 -строим для нее цикл пересчета
минимальное xij в цикле со знаком (-) - x22. Производим
пересчет и стоим новую таблицу.
1=0;
2=-3;
3=3;
4=4
A1
B1
6
B2
3
B3
2
A2
5
3
15
7
5
5
A3
25
4
6
8
6
15
8
6
A4
25
коэффициенты:
22=с22-(2+2)=7-(-3+3)=7;
23=с23-(2+3)=5-(-3+2)=6;
31=с31-(3+1)=4-(3+6)=-5;
33=с33-(3+3)=8-(3+2)=3;
1+1=c11=6;
1+2=c12=3;
1+3=c13=2;
2+1=c21=3;
3+2=c32=6;
4+3=c43=6;
51
41=с41-(4+1)=6-(4+6)=-4 ;
42=с42-(4+2)=8-(4+3)=1; max 31 - строим цикл пересчета
1=7; 2=3; 3=2;
1=0;
2=2;
3=3;
4=4
B1
6
B2
3
B3
2
A2
3
20
7
5
5
A3
25
4
6
8
A4
5
6
10
8
6
A1
1+1=3;
1+2=2;
3+2=6;
3+1=4;
2+1=3;
4+3=6;
25
Коэффициенты:
11=с11-(1+1)=6-(0+1)=5;
22=с22-(2+2)=7-(3+2)=2;
23=с23-(2+3)=5-(2+2)=1;
33=с33-(3+3)=8-(-4+1)=3;
41=с41-(4+1)=6-(4+1)=1 ;
42=с42-(4+2)=8-(4+3)=1;
Все
коэффициенты
положительны,
оптимальное. Стоимость его реализации:
значит
решение
Fmin    cij xij  3 * 20  2 * 5  4 * 5  6 * 10  6 * 25  757ед.
i
j
Несбалансированные
задачи.
(открытые)
транспортные
52
Транспортная задача называется несбалансированной, если
мощность поставщиков не равна спросу, т.е.
ajbi
Для решения задачи «балансируют»:
1) Если aj<bi, т.е. мощность превышает спрос, добавляется
«фиктивный склад», затраты
на доставку в этот пункт
принимаются равными 0.
3. Если aj>bi, то добавляют «фиктивного поставщика», в
затраты на доставку от этого поставщика включают все убытки,
связанные с неудовлетворением спроса.
3
СЕТИ
Множество задач, существующих в инженерной и
организационной работе, решаются с помощью, так
называемых, сетевых моделей, например:
1) Проектирование газопровода между морской буровой
платформы и скважинной на берегу.
2) Определение кратчайшего пути между двумя городами по
существующей сети шоссейных дорог.
3. Определение
максимальной
пропускной
способности
трубопровода для транспортировки угольной пульпы из шахты
на ТЭЦ.
4. Определить наиболее экономичную схему транспортировки
нефти из пунктов нефтедобычи на перерабатывающие заводы,
учитывая такие варианты, ж.д., грузовики, нефтепроводы и т.д.
сетевые модели принять, классифицировать следующим
образом:
а) задача минимизации сетей;
б) задача нахождения кратчайшего маршрута
в) определение максимальной пропускной способности
г)
минимизация стоимости потока в сети с заданными
пропускными
способностями.
Перечисленные задачи, в принципе, можно решить и методом
линейного программирования, однако из-за ограничений это
53
нецелесообразно. Поэтому для каждого из видов моделей
существуют
специализированные
методы.
Рассмотрим
некоторые из них.
3.1 Задачи минимизации сетей
Задача минимизации сети- состоит в нахождение ребер,
соединяющие все узлы сети и имеющих минимальную длину.
Условием минимизации- является отсутствие циклов круговых замкнутых сетей. Решение задачи можно
проиллюстрировать следующим образом; пусть мы имеем сеть:
18
2
1
4
6
3
Ясно, что в минимальной сети узел 3 соединен с 1 и 2, что дает
минимальную длину последовательности ребер: 4+6=10.
Соединять узлы 1 и 2 нельзя, т.к.
1) сеть не будет минимальной 4+6+18=28
2) возникает цикл.
Т.к. есть, не содержащая циклов дерево, ее называютминимальное
дерево-остов.
Алгоритм построения минимального дерева - остов выглядит
следующим образом:
1) Начиная с любого узла: соединяют его с ближайшим.
Соединенные два узла образуют связное множество С .
Остальные узлы- несвязное множество С
2) В несвязном множестве выбирают узел, ближайший к любому
узлу из связного множества и связывают его.
3) Продолжать процесс до тех пор, пока в связное множество не
войдут все узлы сети.
54
ЛЕКЦИЯ 9
Пример: Студия кабельного телевидения планирует сеть для
обслуживания 5 районов- новостроек.
2
1
ТВ-ЦЕНТР
1
9
5
5
3
6
8
3
5
1
4
3
6
Отсутствие ребер показывает отсутствие возможности протянуть
кабель между узлами:
1) Начиная с узла 1 т.е. с={1};ć={2,3,4,5,6} ближайший к узлу 1- 2,
поэтому :
с={1,2};ć={3,4,5}
2) Ближайший узел 5 :
1 2 3 5
с={1,2,5}; ć={3,4,6}
1
5
3) с={1,2,5,4}; ć={3,6}
3
4
4) с={1,2,5,4,6}; ć={3}
5) с={1,2,5,4,6,3}; ć=0
4
3 6
В случае подключения 3- го узла-2 варианта - 1- 3 и 4- 3, выбираем 1- 3 т.к. в этом случае прием будет лучше. Отметим, что
если бы начали строение дерева не с 1- го узла, то результат
был бы тот же.
3.2 Задачи о кратчайшем пути.
Мы рассмотрим два алгоритма решения этой задачи. Первыйболее простой- для сетей без замкнутых циклов. Второй- более
сложный , для сетей с циклами.
3.2.1. Алгоритм для сетей без циклов.
Пример: Рассмотрим алгоритм на примере. 1- начальная
55
точка, 2- конечная точка. Сеть не имеет циклов, т.е. не имеет
цепей, связывающих узел с самим собой.
2
5
5
6 Введем обозначения: dij - расстояния на
2
1 8
7
1 4 13 31 4 6 9 7 сети между соединяющимися узлами; Uj 0
кратчайшее расстояние между узлом 1 и j.
1
U i  dij )
Вычисление ведется по формуле: U j  min(
i
Из формулы следует, что кратчайшее расстояние uj можно
получить лишь после того, как определено кратчайшее
расстояние до каждого предыдущего узла i, соединенного с
узлом j.
Решение задачи:
этап 1. U1 = 0;
этап 2. U2= U1 + d12 =0+2=2 (из 1)
U3= U1 + d13 =0+4=4 (из 1);
U1  d14 ,U 2  d 24 ,U 3  d 34 } =7 (из 3)
этап 3. U 4  min{
i
U 5  min{U 2  d 25 ,U 4  d 45 }  min{2  5,7  8}  7 (из 2)
i
i
этап 4. U  min{U  d ,U  d }  min{4  1,7  7}  5 2)(из 3)
6
3
36
4
46
i
i
U 5  d57 ,U 6  d 67 }  min{7  6,5  9}  13
этап 5. U 7  min{
i
i
(из 5)
Самый короткий маршрут составляют от последнего этапа к
первому:
1 2 5 7
его длина 13.
3.2.2. Алгоритм для сетей с циклами.
В случае с циклами, т.е. обратными ходами, возможна ситуация,
когда кратчайшей связан с обратным движением из точки с
большим номером в точку с маленьким номером. Проще всего
алгоритм понимается на примере:
56
9
5
2
9
2
5
2
4
7 1
3
4
4
1
6 0
8
2
3
8
1
1 2
2
3
9
1
7
1
5
2
0 3
5
4
1
1
1) dij заносятся в таблицу.
j 1 2 3 4
5 6 7
i
2 8 11 9
1
4
3
5 1
2
1
4
2
3
5
9
2 23
4
2
7
9
5
8 3
5
1
10
6
10 4 2
7
0
2 5 11 7 3 13
Ui
ui
0
2
5
11(8)
7(4)
3
13
2) Ui и i заполняются значениями Ui, рассчитанными по алгоритму
предыдущего параграфа.
U2 = 0 + 2 =2
U3 = min(U1+d13, U2+d23) = min(0+8,2+3) = 5; i = 1,2
U4 = min(U1+d14) = min(0+11)=11
U5 = min(U1+d15, U2+d25) = min(0+9,2+5) = 7
U6
=
min(U2+d26,U3+d36,U4+d46
,U5+d56)
=
min(2+1,5+2,11+2,7+7) = 3
U6 = min(U4+d47,U5+d57,U6+d67) = min(11+23,7+9,3+10) = 13
3) Проверка обратных ходов.
Формально такая проверка получается сравнением dij с Uj-Ui :
Если dij <Uj -Ui , (*) то значения Uj меняется на Uj = Ui + dij,
57
Такая замена означает, что «обратный» ход стал более выгоден
чем прямой.
Результаты первого этапа такой проверки находятся в таблице.
1
1
2
3
4
5
6
7
2
3
2
-2
-5
-11(-8)
-7(-4)
4
5
3
11(8)
5
7(4)
5(2)
-3
-6(-3)
-1
2
8(5)
-2(-5)
4(1)
-6(-9)
6
7
1
-2
-8(-5)
-4(-1)
-10
2(5)
6(9)
10
Ui
0
2
5
11(8)
7(4)
3
13
В таблице только те значения, для которых есть dij. Условия dij <
Uj - Ui- выполнилось для d64: 8 > 5 и d65 : 4 > 1, новые значения
Uj=Ui+dij :
U4= U6 + d64 = 3+5 =8;
U5= U6 + d65 = 3+1 =4.
Данные таблицы после пересчета показаны в скобках.
Теперь осталось только разобраться в том, каким образом по
данным таблицы определить оптимальный путь.
4. Нахождение оптимального пути.
Для нахождения оптимального пути пользуются формулой:
Uj=Ui+dij, например: U7=Ui+di7, di7 находятся в 7 столбце
таблицы коэффициентов. U7=13.
Формуле удовлетворяют 3 варианта:
U7=U6+d67
13=3+10
далее:
U6=U2+d26;3=2+1
U2=U1+d12;2=0+2
Оптимальный путь:
U7=U5+d57
13=4+9
далее:
U5=U6+d65;4=3+1
U6=U2+d26;3=2+1
U2=U1+d12;2=0+2
58
Оптимальный путь:
12657
1267
Как видно существуют два равноценных пути .
Вопросы:
1. Найдите по таблице кратчайший путь из 1 в 4
(1264,U4=8)
2. Из 1 в 5 (1265, U5=4)
В заключение заметим, что существует много задач далеких от
«транспортных», которые сводятся к задачам о кратчайшем
пути.
3.3 Задача о максимальном потоке .
Пусть есть сеть (трубопровод, ЛЭП, информационная система)
между двумя узлами s и t. Цифрами обозначены пропускные
способности дуг цепи Cij, i и j - номера соответствующих узлов
цепи.
1
s
5
9 4
1
5
0
3
9
1
5
3
4
6
25
2
7 8
7
14
51
5 1
3
1
2
4
3
1
t
0 30
В задаче требуется определить максимальный поток (нефти,
информации и т.д.), который способна передать система из S в t
за единицу времени.
Алгоритм решения задачи:
1. Выбирается любая цепь, соединяющая s с t .
2. Обозначим (Cij)- пропускные способности дуг,
составляющих эту цепь, (Cij)+ - сиоответствующих им дуг
обратного направления.
3. Определим  = min (Cij) > 0
59
4. Вычтем  из всех (Cij)- и прибавим  к (Cij)+
5. Выбирается любая другая цепь, соединяющая s и t и т. д.
6. Когда не останется ни одного пути от s к t, полученные
значения Cij используются для расчета потока в дугах:
*
*

 сij  cij , cij  cij
 ij  
*
(А)
0
,
c

c

ij
ij

Где cij- пропускные способности исходной сети,
(Cij)*- пропускные способности модифицированной сети.
ЛЕКЦИЯ 10
Максимальный поток из S в t равен:
Z   x si   x jt
i
j
т.е. определяется как сумма потоков, вытекающих из узла S или
как сума потоков, втекающих в узел t.
Пример:
Рассмотрим сеть на рис. (*)
1) Составим матрицу пропускных способностей:
S
1
2
3
4
t
S
1
10
5+
5
12
3
–
6
7
9+
2
3
5
3 4
t
14 4
9 5–
15
10
10
7 2
8
13
–
+
3 4 5
Столбцы таблицы показывают пропускные способности
входящих в узлы дуг, строки – вытекающих из узла дуг.
60
2) Выберем произвольную цель. Проще всего ее выбрать прямо
по матрице. Положительные значения коэффициентов в
столбцах каждой из строк показывают, что в узлы можно
попасть из
данного узла.
Например:
СS1 = 10 показывает возможность S _ 1
C14 = 5 показывает возможность 1 _ 4
C4t = 13 показывает возможность 4 _ t
Т.о. мы выбрали цепь (S > 1> 4 > t), одну из возможных.
Обозначим ее дуги СS1,C14, C4t знаком “–“, а
противоположные им С1S, C41, Ct4 знаком “+“
3) Найдем = min {Cij} = min {10, 5, 13} = 5
1)
Новые значения Cij заносим в таблицу
S
S
1
2
3
4
t
1
5
2
3
5
10
5 6
12 7 10
3+ 14 –
3+
3
14
9–
15
4
4
0
+
7
8
4
t
10
2–
8
10
5) Выбираем произвольную цепь: (S > 3> 2 > t), обозначаем С+ij
и С–ij
 = min {14, 10, 10} = 10,
новые значения заносим в таблицу
S
S
1
2
3
4
t
1
5–
10
5+
6
22 7+
3 14
2
3
5
3
4
9–
25
7–
0
13
4
4
0
8+
4
10
+
t
0
2
8–
61
6) Новая цепь: (S > 1 > 3 > 4 > t), обозначаем С+ij и С–ij
 = min {5, 9, 7, 8} = 5,
новые значения заносим в таблицу:
S 1 2 3 4
t
S
0 3 4 4–
1 15
5 4 0
2 5 6
25
0
3 22 12 0
2 2
4 3+ 14
13
3–
t
13 4 15
+
Новая цепь ( S > 4 > t )
 = min{4,3} = 3
7)
S
S
1
2
3
4
t
1
0
15
5 6
22 12
6+ 14
2
3
5
3
4–
4
25
0
4
1
0
2
13
13 4+ 18
t
0
2–
0
Новая цепь ( S > 3 > t )
 = min{4,2} = 2
8)
S
S
1
2
3
4
t
1
0
15
5 6
24 12
6 14
2
3
5
0
3
2
4
25
4
1
0
2
13
13 6 18
t
0
0
0
62
Т.к. больше нет цепей между S и t, модификация матрицы
прекращена.
9) Пользуясь формулой (А), составим матрицу Х:
S
S
1
2
3
4
t
1
10
2
10
3
12
5
4
3
5
5
t
10
2
13
Z = 10 + 12 + 3 = 25
cij  cij * , cij  cij * 
xij  

*
 0, cij  cij

Графическое решение показано на рисунке:
5
1
4
5
10
5
3
13
3
S
10
12
2
10
t
63
ЛЕКЦИЯ 11
То, по условиям безопасности поезда не могут следовать один за
другим с интервалом не менее . Если поезда идут часто, то
есть средний интервал между поездом  сопоставим с  то мы
имеем поток с последствием. Поток называется ординарным,
если вероятность попадания на элементарный участок двух и
более событий пренебрежимо мала по сравнению с
вероятностью одного события. Это значит, что события в
потоке приходят по одиночке, а не парами, тройками и т.д.
Простейшим (или стационарным пуассоновским )называется
поток стационарный + без последствий + ординарный. Если
поток не стационарен, но без последствий и ординарен, он
называется нестационарным пуассоновским потоком. В
таком потоке интенсивность (среднее число событий за
единицу времени ) зависит от времени :
 = t ,
в простейшем  = const.
В пуассоновском потоке число событий , попадающих на любой
участок, распределяется по закону Пуассона :
Q m q
P ( m) 
e
m!
( m=0, 1, ... )
где Q- среднее число событий, приходящиеся на участок длиной
.
Для стационарного пуассоновского потока
a = * ,
для нестационарного :
64
a
t0 
  t dt
t0
где t0 -точка, с которой начинается участок  .
Для описания распределения
событиями
простейшего
экспоненциальный закон
интервалов
потока
времени между
используется
f(t)=e -tt
его математическое описание и дисперсия :
mt =1/; t
Доказано что, для простейшего потока:
Р1(t ) =tt; Р0(t )= 1- Р1(t ),
где Р1(t ) и Р0(t ) вероятности попадания на интервал t 1 или
0 событий.
Пуассоновские потоки
марковские цели.
событий
и
непрерывные
Рассмотрим систему S, в момент t находящегося в состоянии L,
как только
S1
21
S2
13
23
31
S3
.....
Si
ij
Sj
придет заявка из пуассоновского
потока с интенсивностью ij,
система перейдет в состояние S j ,
вероятность появления заявки за
интервал t : =ijt , естественно
что она равна вероятности
перехода из Sj в Sj.
Для марковского процесса такая
вероятность равна ijt
65
Таким образом, плотность вероятности перехода ij марковской
цели в данном случае совпадает с интенсивностью потока
заявок .
Если все потоки событий, переводящие систему из одного
состояния в другое, будут пуассоновскими ( то есть потоками
без последствия ), то переход системы из состояния в состояние
будет обусловлен появлением каких либо событий в
пуассоновских потоках и вероятности этих событий не зависят
от предыстории процесса, то есть процесс. протекающий в
системе, будет марковским .
Предельные вероятности состояний
Пусть имеется система S с дискретными сосотояниями :
S1, S2, ... Sn ,
в котором протекает марковский случайный процесс с
непрерывным временем. Предположим, что все интенсивности
потоков событий, переводящих систему из состояния в
состояние, постоянны :ij = const,
то есть все потоки событий - простейшие ( стандартные
пуассоновские ) потоки .
Записав уравнение Колмогорова и решив их, получим
вероятности систояний, как функции времени
n
Р1(t ), Р2(t ), . . . , Рn(t ),

i 1
Рi(t )=1
Поставим теперь вопрос : Что будет происходить с системой при
t .
Пределы функций Рi(t ), если они существуют, называются
предельными вероятностями состояний .
Доказано : если число состояний конечно, то предельные
вероятности существуюти и не зависят от начального
состояния системы.
66
Предельные вероятности пропорциональны среднему времени
пребывания в каждом состоянии, в установившемся
предельном стационарном режиме .
Для расчета предельных вероятностей полагают все левые части
уравнений Колмогорова равными нулю, и решают полученную
алгебраическую систему.
Пример
S1


S2

0 = -5p1 + p3
0 = - p2 + 2p1+2p3
0 = -3p3 + 3p1+2p4
0 = -2p4 + p2

S4
3
S3

Мы получили систему однородных алгебраических уравнений
(без свободного члена). Ее можно решить только с точностью
до постоянного множителя. Но добавив к ней :
p1 + p2 +p3 + p4 = 1,
получим :
p1 = 1/24, p2=1/2, p3=5/24, p4=1/4
Процесс гибели и размножения
Марковская цель вида :
S1
21
12
32
S2
23
Sn
Называется процессом гибели и размножения. Напишем
алгебраическин уравнения для предельных вероятностей ее
состояния :
S1 : p112=21p2
(1)
67
S2: p221+23p2= p112+32p3
но в силу (1) можно сократить, поэтому :
p223=32p3
и так далее .....
pk-1k-1,k = k,k-1pk
ЛЕКЦИЯ 11
Динамическое программирование .
Динамическое программирование ( или точнее по смыслу
“динамическое планирование”) - математический метод
оптимизации, специально приспособленный к многошаговым (
или многоэтапным операциям ) .
В хозяйственной деятельности таким шагом или этапом является
год ( месяц, квартал ), в технике - цикл производительного
процесса, например - этап вывода на орбиту космической
станции .
Н каждом шаге процесса принимается какое-то решение - т.е.
управление операцией складывается из ряда элементарных
управлений на каждом шаге.
Пример:
На предприятии имеется k производителей : П1, . . . , Пk.
Планируется деятельность предприятия на период времени Т
равный М месяцев. Предприятие взяло кредит на срок Т = m
месяцев. В начале работы выделяются какие-то основные
средства, которые распределяются между производителями. В
прцессе работы, рабочие средства расходуются. Доход,
приносимый каждым из производителей, зависит от вложенных
средств. В начале каждого месяца средства могут
переопределяться между производителями .
Как нужно в начале каждого месяца распределять имеющиеся
средства между производителями, чтобы суммарный доход от
всей системы предприятий за весь период T = m был
максимальным ?
Пред нами типичная задача динамического программирования.
68
Если обозначить (xi)( j ) - средства, выделяемые на i - м этапе j - му
предприятию ;
(k )
U i  ( xi(1) ,...,-xуправление
на i-м шаге ;
i )
операций в целом .
U  (U 1 ,...,U- mуправление
)
то эффективность управления можно оценить критерием :
W  W (U )
Управление U , при котором показатель W достигает максимума
- оптимальное управление, обозначим это маленькой буквой
u:
u  (u1 ,..., um )
В нашем примере показатель эффективности можно записать:
W 
m
w ,
i 1
i
где wi - доход предприятия ( сумма доходов
производств)
за i- й месяц. Критерий такого вида называется аддитивным,
так как прибыль от операции равна сумме прибылей этапов.
Предположим что в нашеи примере часть производителей
занимается производством готовой продукции, часть изготовлением технологической оснастки и строительством
новых цехов. Если распределять капиталовложения из критерия
максимума прибыли на данном шаге, то естесственным было
бы вложить все деньги в производство готовой продукции.
Однако, имея ввиду будущие этапы, разумно выделить какуюто долю средств на развитие производства. При этом в текущий
месяц, объем продукции, естесственно будет несколько
меньшим, однако будут созданы условия для увеличения
производства на следующих этапах.
Таким образом, планируя многошаговую операцию, необходимо
выбрать управление на каждом шаге с учетом его будущих
последствий.
Однако из этого правила есть исключеие. Среди всех шагов есть
один, который может планироваться “без оглядки на будущее”
- это последний шаг.
Спланировав оптимально последний шаг, можно “пристроить” к
нему и предпоследний .
Пример:
69
Самолет, летящий на высоте H0 со скоростью V0 должен
подняться до высоты H и разогнаться до скорости
VЗатраты горючего для подъема на определенную высоту и
разгона даны на графике :
H

H
C1






H
 
20












18












16












15












14












12












B1
15












17 S

 B2

 C3








S0
V
V0
V
Для простоты считается, что весь процесс набора скорости и
высоты разделены на ряд последовательных шагов (этапов) и
на каждом шаге самолет увеличивает только высоту или только
скорость.
Для графика, отрезок (H0, H) работает на n2=6 этапов, отрезок
(V0, V) - на n1=8 этапов, значит общее число шагов будет:
n=n1+n2=14
Любой траектории, приводящей из S0 в S, соответствует
определенный расход горючего, например для траектории
помеченной пунктиром:
W= 12+11+10+8+11+10+10+13+15+20+9+12+14 = 163
Нам нужно среди всех траекторий выбрать ту, где расход
горючего минимальный.
Можно перебрать все возможные траектории, но их слишком
много.
70
Решим задачу методом динамического программирования.
1-й этап - Условная оптимизация. Процесс от конца к началу.
Процесс состоит из 14 шагов. Начинаем с последнего.
1) В точку Sможно переместиться из двух точек - Bи B;
из каждой точки только один путь и затраты горючего,
соответственно
17 и 14 , запишем их в кружочки на месте точек ( рисунок
ниже )
2) Предпоследний шаг.
точки Bи B можно попасть из трех точек С, С, С
Из каждой из этих точек мы должны найти оптимальный путь в
S :
Из С1 выбора нет : СB S; (WC1) =15+17=32
Для С2 есть выбор: СB S; (WC2)’ =13+17=30
СB S; (WC1)’’=17+14=31
С1
B1
17
S
127
101
89
73
58
44
32
122
105
91
78
68
57
44
30
14
B2
118
104
91
79
69
60
52
41
26
C3
122
110
98
86
77
70
63
51
35
120
110
102
94
86
80
70
57
42
129
118
111
103
96
91
81
67
51
139
127
121
115
109
105
95
79
61
C2
S
71
Выбираем путь СB S;
Для С3 выбора нет СB SWC3=12+14=26
и так далее...
Таким образом, переходя от точки к точке, можно для каждой
точки выбрать условно оптимальное управление.
Этап условной оптимизации закончен .
На этом этапе мы рассчитали условные управления и условные
выигрыши, исходя из условия, что оптимальная траектория
проходит через рассматриваемую точку.
2-й этап - Безусловная оптимизация. От начала к концу.
Из точки S0 по стрелкам, которые показывают оптимальное
управление, попадаем из точки S0 в S, как это показано.
1.
Общая
постановка
программирования.
задачи
динамического
В общем случае, координаты точек S0 и S бывают не заданы, а
~
указаны лишь области, которым они принадлежат S0  S0 ,
~
~ ~
SW  SW , где SW S 0 -
области, созданные системами ограничений.
Сами координаты точек принято называть фазовыми
координатами ( мы их будем обозначать - [ кси ] ).
Таким образом задача оптимального управления, решаемая
динамическим программированием, формклируется так :
Из множества возможных управлений U найти оптимальное,
то есть выбрать среди U , которые переводят систему из
состояния S0 в состояие Sw такое, которому соответствует
максимум выигрыша W.
Предположим, что мы предполагаем решить задачу за m - шагов.
Тогда на
m - шаге
Wm ( S )  max {Wm ( S ,U m )}
m
Um
m
72
где Sm - состояние системы на шаге m ( характеризуемое
координатами 
 
i ).
Wm ( S ,U m -) “выигрыш” на m - шаге
m
( расход горючего, прибыль предприятия в m - месяц ),
на произвольном i - м шаге:
Wi (S )  max{Wi (S ,U i )  (S(*)}
)
i
Ui
где Wi (S ) - сумма “выигрышей” с i по m шаги, S без индекса,
так как на
i - м шаге обычно несколько вариантов.
U i - управление на i - м шаге,
Wi ( S ,U i )-“выигрыш” на i - м шаге
Wi1 ( S ) - сумма “выигрышей” на i+1 - м шага, по m-й .
Для того, чтобы формулой (*) можно было пользоваться для
оптимизации по Ui
неодходимо задать связь между
предыдущим S и последующим состояниями системы S’, ее
обычно описывают функцией:
S’=i (S,Ui) ,
(**)
с учетом (**),(*) можно записать :
 (S , U ))
Wi ( S )  max Wi ( S , U i )  Wi 1 (
Ui
i
i
(***)
Wi(S) - условный оптимальный выигрыш на всех шагах, начиная
с i - го.
Условный - из условия, что на i - м шаге система
находилась в состоянии S .
Аналогично Ui=Ui(S) - условное оптимальное управление.
Формула (***) - основное функциональное уравнение
динамического программирования .
73
Пользуясь этой формулой, проводят условную оптимизацию первый этап ДП., то есть последовательно находят Ui(S) и Wi(S)
начиная с m до 1.
2. Безусловная оптимизация .
На первом шаге, если известно S0, находим оптимальное
управление:
(U1)* =U1(S0) ,
состояние системы в конце шага :
(S1)* =S0, (U1)* 
и так далее


max
~ Wi ( S )
Если S0 неизвестно, то ищется максимум :
SS 0
Далее, описанные выше процесс - повторяется .
ЛЕКЦИЯ 12
Решая полученную систему уравнений совместно с p1+p2+......+pn1+pn=1,
получим :
pk=p1*((k-1,k*k-2,k-1*....*1,2) / (k,k-1*k-1,k-2*.....*2,1)),
1
p1 
1
n 1,n *..*12
12 23 * 12

...
21 32 * 21
n ,n 1 * 21
Пример:
2
S1
S2
3
3
1
S3
2
S4
2
74
p1 
1
2

2 2 *1 2 *1* 3 5
1 

3 3* 2 3* 2 * 2
p2 
2 2 4
* 
3 5 15
p3 
2 1 2 2
* * 
3 2 5 15
p4 
2 1 3 1
* * 
3 2 2 5
Циклический процесс
Марковский процесс называется циклическим если все состояния
замкнуты в кольцо с односторонними переходами :
S1  S2
S4
Напишем уравнение для предельных вероятностей состояния :
p1: *p1=n1pn
p2: *p2=12p1
p3: *p3=23p2
...
pn: n*pn=12p1
и нормировочное уравнение :
p1 + . . . + pn = 1
p1 
1
1  12 (
1

1
23 34

p2  12 * p1 ;
23
...
1
n ,1
;
)
75
pи 
12
*p ;
n1 1
Пример:
S1  S2
2
p1 
2 * 24 12
p3 

4 * 39 39
S3
48
S4
4
24
1
24 2 24
*

 p2 
 1 1 1  39 48 39 39
1 2*   
 48 4 24 
1
p4 
2 * 24
2

24 * 39 39
Теория массового обслуживания (С.М.О.)
При исследовании операций часто приходится сталкиваться с
анализом систем массового обслуживания СМО.
Примерами таких систем являются телефонные станции,
ремонтные
мастерские,
билетные
кассы,
магазины,
многотерминальные вычислительные комплексы и т.д.
Каждая СНО состоит из какого-то числа обслуживающих единиц
- каналов, отрабатывающих исток заявок, поступающих в
случайные моменты времени. Случающий порядок заявок
приводит к тому, что в какие-то промежутки времени на входе
СМО скапливаются не обслуженные заявки (они либо
образуют очередь, либо покидают СМО не обслуженными), в
другие промежутки времени СМО будут простаивать.
Предмет теории СМО - установление зависимости между
характером
потока
заявок,
числом
каналов,
их
производительностью,
правилами
работы
СМО
эффективностью обслуживания, под которой понимают,
например :
- среднее количество заявок, обслуженных за единицу
времени;
76
- % заявок, уходящих не обслуженными;
- среднее время ожидания и т. д.
КЛАССИФИКАЦИЯ СМО
По поведению заявок - системы с ожиданием ( очередно),
системы с отказами. Системы с ожиданием делятся на
упорядоченные
(заявки
обслуживаются
в
порядке
поступления) и неупорядоченные (заявки обслуживаются в
случайном порядке).
СМО
с ожиданием
с отказами
с ограниыенным
ожиданием
с неограниыенным
ожиданием
упорядоченные
неупорядоченные
Основные характеристики СМО
Абсолютная пропускная способность - среднее число заявок в
единицу времени, которое может обслужить система.
Относительная пропускная способность - средняя доля
обслуженных заявок, поступивших за единицу времени .
Одноканальная СМО с отказами.
Пусть система состоит из 1 канала (n=1) и на нее поступает
поток заявок с интенсивностью Если канал занят, заявка
покидает систему. Обслуживание каждой заявки продолжается
77
случайное время
закону:
Тоб, распределенное по экспоненциальному
f(Tобe-t ,
(*)
где  - интенсивность потока обслуживаний .
Требуется найти
1) абсолютную пропускную способность СМО
2) относительную пропускную способность СМО
Единственный канал СМО может быть рассмотрен как система S
с двумя состояниями- S0 - свободен, S1-занят,
Из состояния S0 в S1 переводит поток заявок

S0
S1 обратно-поток
обслуживаний
с
интенсивностью 

Обозначив p0(t) и p1(t) вероятности состояний S0 и S1ъ
( Естественно что p0(t) + p1(t)=1 ),
составим уравнение Колмогорова:
dp0
   * p0   * p1 ;
dt
dp1
  * p0   * p1 ;
dt
т.к. p1 = (1-p0), то
dp0
   * p0   (1  p0 ),
dt
начальные условия p0(0)=1, p1(0)=0.
Если =const, то решение уравнения:
p0 





 (    ) t
(**)
78
p0- ýòî îòíîñèòåëüíàÿ ïðîïóêíàÿ ñïîñîáíîñòü
для одноканальной СМО с отказами:
В пределе, при t   предельное значение относительной пропускной
способности будет р
авно:
q= 
Для того, чтобы найти абсолютную пропускную способность, нужно
умножить q на интенсивность:
b1
1
p0(t)
p1(t)


t
А=q = 
Вероятность отказа : pотк= 1 - q .
Многоканальная СМО с отказами
n-каналов. Состояния системы:
S0 - все каналы свободны
S1 -1 канал занят;
. . .
Sn- заняты все n каналов.


S1
S0


Sk

k
Sn
n
79
Если приходит 1 дополнительная заявка то из состояния sk
система перескакивает из состояния Sk в состояние Sk+1.
Вправо систему переводит один и тот же поток с интенсивностью
 пределим интенсивность потоков событий, переводящих
систему по стрелкам справа налево:
если работает 1 канал (состояние S1) , то как только кончится
обслуживание заявки, система перейдет в состояние S0,
следовательно, поток S1-S0 имеет интенсивность . Если
обслуживанием занято 2 канала, то поток удваивается:
то есть S2-S1 имеет интенсивность 2;
k - каналов : k
Пользуясь общими правилами, можно составить уравнения
Колмогорова:
dp0
   * p0   * p1 ;
dt
dp1
 (    ) * p1   * p0  2 *  * p2 ;
dt
. . .
dpk
 (   k *  ) * pk 0   * pk 1  ( k  1) * pk 1 ;
dt
dpn
  * pn 1   * n * pn 1 ;
dt
Полученные уравнения получили название уравнений Эрланга,
начальные
условия для них : p0(0)=1; p1,....,pn(0) = 0.
Решение уравнений производится численно на компьютерах.
ЛЕКЦИЯ
13
Рассматриваемый процесс является процессом
“размножения и гибели”, поэтому для расчета предельных
вероятностей состояний можно воспользоваться формулами:
80
*P0 
1
1
 
1!

  k
*Pk 
k!

  2

2!

  n

n!
k
 P0 
 P0
  2     k
Как видно, в этих формулах  и  используются не по
отдельности, а как отношение  /=, которое получило
название “приведенной интенсивности” потока заявок .
– среднее число заявок, приходящих в СМО за время,
необходимое для обслуживания одной заявки.
С учетом нового обозначения, формулы (*) примут вид:
  2
n 
P0  1  


n! 
 1! 2!
Pk 
k
k!
1
* *
 P0 * *
Формулы (**) получили название формул Эрланга.
Рассмотрим теперь основные характеристики СМО:
1) Вероятность отказа Ротк будет равна вероятности того, что все n
каналов заняты:
n
Ротк  Р n 

n!
 P0
2) Относительная пропускная способность (вероятность того, что
заявка будет принята к обслуживанию):
q  1  Pотк  1  Рn
81
3) Абсолютная пропускная способность
A  q   1  Pn 
4) Среднее число занятых каналов:
k  0P0  1P1   nPN
или
k
A


 1  Pn 
  1  Pn 

Вторая формула применяется из следующих предположений:
А – среднее число заявок, обслуживаемых в единицу времени;
1 занятый канал обслуживает за единицу времени  заявок
.
Одноканальная СМО с ожиданием
S0


S1


S3

S4


…
Sm+1

S0 – канал свободен
S1 – канал занят, очереди нет
S2 – канал занят, 1 заявка в очереди
Таким образом, мы имеем разновидность процесса “ гибели и
размножения ”. Пользуясь введенными для этого процесса
формулами, найдем предельные вероятности состояний:
P0 
1
1              
2
Pk     P0
k
m 1
82
или, вводя обозначение / = 

P0  1       m 1

1
1    1   
m2


1
 это геометрич. прогрессия 
1 
1   m2
Pk   k P0
Определим критерии СМО:
1)
Ротк определяется как вероятность того, что занят и канал,
и все место в очереди:
Pот к  Pm 1
 m 1 1   

1   m2
2) Относительная пропускная способность:
q = 1 – Pотк
3) Абсолютная пропускная способность:
А=q
4) Среднее число заявок в очереди (без вывода):
 2 1   m m  1  m 
r 
1   m  2 1   
   m2
 
1   m2
5) Среднее время ожидания:
Определяется из следующих соображений:
В момент прихода заявки с вероятностью Р0 система будет
свободна и время ожидания будет равно 0, с вероятностью Р1 –
в ней будет 1 заявка и время ожидания будет 1/μ, с
83
вероятностью Р2 – в ней будет 2 заявки и время ожидания будет
2/:
t ож  P1
1

 P2
2

   Pm
m

Подставляя Рk, после преобразования получим:
t ож 
1

r
r

6) Время пребывания заявки в системе:
t сист  t ож    r   q   r   qt об
где  – среднее время обслуживания, если заявка
обслуживается, или 0, если заявка получает отказ.
84
Оглавление
ЛЕКЦИЯ 1
2
1.Введение.
2
1.1 Формулировка задачи организационного управления
2
2.
Задача линейного программирования
3
2.1 Построение математической модели
4
2.2 Графическое решение задачи линейного
программировавния
5
ЛЕКЦИЯ 2
9
2.2 Анализ решения задачи на чувствительность
10
2.3.1 Первая задача анализа на чувствительность
11
2.3.2 Вторая задача анализа на чувствительность
13
2.3.3.
Третья задача анализа на чувствительность
14
ЛЕКЦИЯ 3
16
2.4 Примеры применения методов линейного
программирования
16
Задачи об ассортименте продукции
16
Пример 1
16
Математическая формулировка
17
Пример 2
Задача о диете
18
Математическая формулировка
19
Пример 3 Задача о расходе и минимизации обрезков
19
Математическая формулировка
20
Пример 4 Оптимизации работы сборочного конвейера
21
Пример 5 Целевое программирование
22
Математическая формулировка
23
ЛЕКЦИЯ 4
23
Продолжение предыдущей лекции …
23
2.5 Задача ЛП-как задача распределения ресурсов
24
2.6 Симплекс – метод решения задачи ЛП
25
2.6.1 Стандартная ( каноническая ) форма записи задачи Л.П.
26
2.6.1 Опорные планы симплекса.
27
2.6.3. Вычислстельная процедура симплекс - метода.
28
ЛЕКЦИЯ 5
29
2.6.4. Искусственное начальное решение.
33
а) М – метод ( метод больших штрафов )
34
б) Двухэтапный метод
34
85
ЛЕКЦИЯ 6
36
2.7 Врожденные решения задачи Л.П.
37
2.8 Альтернативные решения задачи Л.П.
38
2.9 Неограниченные решения .
40
2.10 Отсутствие допустимых решений .
41
2.11 Интерпретация симплекс-таблиц. Анализ на
чувствительность .
41
1) Оптимальное решение .
42
2) Статус ресурсов .
42
ЛЕКЦИЯ 7
43
3) Ценность ресурса ( 2 задача на чувствительность ). 43
4) Максимальное изменения данного ресурса (1 задача на
чувствительность )
43
5) Максимальное изменение коэффициентов целевой
функции.
44
4.5. Транспортная модель –частный случай линейного
программирования.
46
ЛЕКЦИЯ 8
48
Несбалансированные (открытые) транспортные задачи. 51
3 СЕТИ
52
3.1 Задачи минимизации сетей
53
ЛЕКЦИЯ 9
54
Пример:
54
3.2 Задачи о кратчайшем пути.
54
.2.1 Алгоритм для сетей без циклов.
54
3.2.2. Алгоритм для сетей с циклами.
55
3) Проверка обратных ходов.
56
5. Нахождение оптимального пути.
57
6. Задача о максимальном потоке .
58
Алгоритм решения задачи:
58
ЛЕКЦИЯ 10
59
ЛЕКЦИЯ 11
63
Пуассоновские потоки событий и непрерывные
марковские цели.
64
Предельные вероятности состояний
65
Процесс гибели и размножения
66
ЛЕКЦИЯ 11
67
Динамическое программирование .
67
86
1-й этап - Условная оптимизация. Процесс от конца к
началу.
2-й этап - Безусловная оптимизация. От начала к концу.
1. Общая постановка задачи динамического
программирования.
2. Безусловная оптимизация .
ЛЕКЦИЯ 12
Циклический процесс
Теория массового обслуживания (С.М.О.)
КЛАССИФИКАЦИЯ СМО
Основные характеристики СМО
Одноканальная СМО с отказами.
Многоканальная СМО с отказами
ЛЕКЦИЯ 13
Одноканальная СМО с ожиданием
70
71
71
73
73
74
75
76
76
76
78
79
81
Download