Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы оптимизации сложных систем. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
71
ЭВМ. Если все-таки пользоваться графическими построениями, то можно выпол-
1
01
1
( ) ( ) ( ) ( ) ( )
()
0 1 1
, ,..., ,..., ,..., ,
k l m m
j j j j j
j
k l m m
S S S S S S
1
j n n–1 . . . 2 1
0 1 2 . . . m–1 m i
(2)
1mS
нять их и в формах, отличающихся от обсуждаемой схемы. Одна из таких форм рассмотрена ниже в § 5.4.
Заметим также, что в процессе решения можно обойтись без использования
понятия шагового управления: существенно лишь, в какое состояние происходит
переход за очередной шаг. Тем не менее, будем применять этот термин и в даль- нейшем изложении, следуя сложившимся традициям и соображениям удобства.
В основе решения лежит утверждение, использующее приведенные выше
понятия и известное под названием «принцип оптимальности»
.
Рис. 5.2. Возможная траектория в пространстве состояний
Каково бы ни было состояние перед очередным шагом, следует выби-
рать управление так, чтобы сумма затрат на этом шаге и оптимальных
затрат на всех последующих шагах была минимальной.
Возможна и следующая формулировка этого принципа.
Любая часть оптимальной траектории также оптимальна.
Под частью оптимальной траектории здесь следует понимать траекторию, точ-
ки начала и конца которой принадлежат оптимальной траектории.
Взаимная связь этих формулировок легко обнаруживается, если во второй
из них под частью траектории подразумевать «последующие шаги», упоминаемые в первой. Первая формулировка оказывается удобнее при построении решения, которое еще будет рассмотрено в следующем параграфе. Оба утверждения бази-
руются на свойстве аддитивности критерия и с его помощью могут быть
доказаны. В частности, легко доказывается от противного второе утверждение.
Действительно, пусть некоторая траектория оптимальна и образована со-
стояниями
Принцип оптимальности встречается в литературе в разных формулировках, отлича-
ющихся, в частности, и от предложенной основоположником ДП Р. Беллманом. Здесь дана
формулировка, близкая к приведенной в книге [4].
,
72
среди которых выделены два промежуточных для шагов с номерами
kи l
j
1
W
3
W
2
W
*
1 2 3
W W W W
T
2
W
2
W
2
W
2
W
T
1 2 3
W W W W
*
W
*
i
W
()k
i
S
**
1
min
i i i
W w W
j

j n
1 0 1 k l m–1 m i
T
,W
2
2
T,W

W
1
3
W
Символы
с индексами, как и ранее, означают номера состояний из перечня
возможных.
Примерный вид траектории показан на рис. 5.3. Участки траектории для шагов
0 – k и l – m изображены утолщенными линиями, частично – крупным пункти-
ром. Величины затрат на этих участках обозначены
и
. Часть T
траектории для шагов k – l нанесена штрихпунктирной линией. Затраты на этой
части равны
.
.
Рис. 5.3. К принципу оптимальности
В силу предполагаемой оптимальности траектории и на основании свой-
ства аддитивности критерия имеем
. (5.7)
Предположим теперь, что часть T не оптимальна, т. е. существует другая
траектория торой затраты составляют величину
Тогда полные затраты для траектории, включающей часть
с тем же началом и концом (показана мелким пунктиром), для ко-
<
, меньшую
. (5.8)
:
, составят (снова с
учетом аддитивности)
и в силу (5.8) окажутся меньше
, что противоречит исходному предположе-
нию об оптимальности всей траектории. Утверждение доказано. Вернемся к первой формулировке принципа оптимальности. Введем обо-
значение:
некоторого состояния следним шагом m. Тогда принцип оптимальности можно записать в виде
формулы
– оптимальные затраты для части траектории, начинающейся с
перед очередным шагом i и заканчивающейся по-
. (5.9)
73
Номер шага i здесь может быть любым от 1 до (
1m
*
1iW
im
*
1mW
()j
i
S
i
w
i
()k
i
S
j
( ) ( )
( , )
kj
i i i
w S S
*
1iW
im
m
w
1m
1mw
n
n
). Через
обозначена
величина, названная в упомянутой формулировке «оптимальными затратами на всех последующих шагах». Поскольку последний шаг не сопровождается ника-
кими «последующими», в формулу (5.9) при
следует внести изменение:
положить
= 0.
Символ j указывает, что в результате очередного шага должно быть выбра-
но состояние
фигурных скобках. Символ
на шаге
. Они зависят и от состояния
и от выбора номера
которые можно обозначить
, при котором достигается минимум выражения, стоящего в
по-прежнему означает затраты непосредственно
, предшествующего очередному шагу,
следующего состояния. По существу, это набор величин,
. От выбора j зависит и
. Для со-
кращения записи эти зависимости непосредственно в формуле (5.9) не отражены. Принцип оптимальности и формула (5.9) могут быть положены в основу эффективной вычислительной процедуры, допускающей и непосредственную реализацию на компьютере. Это тема следующего параграфа.
§ 5.3. Алгоритм ДП
Начнем с ключевого положения, фигурировавшего в предыдущих пара­графах: с задачей оптимизации связан некоторый процесс смены состояний, для которого можно указать начало и конец – первый и последний шаги. Будем да­лее считать, что состояния в начале первого и в конце последнего шагов точно
известны (концы траектории «закреплены»). Такое предположение необяза-
тельно, но оно приводит к некоторым упрощениям и наглядности изложения. Комментарии к этому допущению еще будут даны позже.
Отличительной чертой алгоритма поиска оптимального решения является то, что его начинают с последнего шага (
). Затраты на нем находятся од­нозначно при условии, что известно состояние, непосредственно предшествую­щее последнему шагу (одно из n). Они определяются величинами
. Одно-
значно определяется и вид траектории на последнем шаге при том же условии.
Обратимся теперь к предпоследнему шагу с номером (
). Снова бу-
дем предполагать, что рассматриваются траектории, начинающиеся из какого-
то непосредственно предшествующего ему состояния. Соответствующая опти­мальная траектория на двух последних шагах может быть найдена с помощью
принципа оптимальности в словесной формулировке или в виде формулы (5.9). Траектория должна быть такой, чтобы сумма непосредственных затрат
на
предпоследнем шаге и оптимальных затрат на последующей ее части была ми­нимальной. Отметим важный момент: эти оптимальные затраты и
соответствующая часть траектории уже известны в результате только что рас-
смотренного шага с номером m. Поиск сведется к перебору
состояний, являющихся концом предпоследнего и началом последнего шагов (разделяю­щих их) и выделению из них наилучшего. Таким же образом рассмотрим
остальные «предшествующие» состояния. Результатом будет
двухшаговых
траекторий.
74
При последующих действиях снова придется рассматривать части траек-
2m
n
2m
1m
1m
n
n
1m
n
0
()0j
S
m
j
3
2
1 0 1 2 3 4 5 i
торий, имеющие начало в одном из допустимых состояний, и обеспечивающие минимум затрат. Для краткости будем называть их условными оптимальными траекториями (УОТ), понимая под условием указание на то, из какого состоя-
ния траектория берет начало.
Рассмотрим шаг (
) («пред-предпоследний»). Действия на нем прин-
ципиально не отличаются от действий на предпоследнем шаге. Зададимся снова
одним из состояний в качестве начального и найдем выходящую из него опти-
мальную траекторию (УОТ). Это потребует перебора шаги (
) и (
), и отыскания наилучшего из них с точки зрения принципа
состояний, разделяющих
оптимальности. Важно, что число перебираемых вариантов осталось тем же, что и на шаге (
Поступая аналогично, найдем вплоть до При поиске каждой из них требуется перебор
). В результате определится n трехшаговых УОТ.
УОТ длиной четыре, пять и т. д. шагов
УОТ, насчитывающих (
) шагов и начинающихся с шага 2.
вариантов, что является след-
ствием принципа оптимальности и, как будет скоро видно, способствует
радикальному сокращению вычислений.
Шаг с номером 1 выполняется так же, как и остальные с той только раз-
ницей, что он не требует построения УОТ с разными началами, поскольку состояние перед первым шагом известно. Нужна единственная УОТ с началом
в состоянии
, которое предполагается известным. Она же дает решение
всей задачи. Для уточнения этой траектории полезно просмотреть полученные
результаты теперь от начала к концу (от шага 1 до
).
На рис. 5. 4 показан пример процесса поиска оптимальной траектории в графическом представлении для пяти шагов (m = 5) и трех (n = 3) состояний. В качестве начального задано состояние 1, в качестве конечного – 2. Ввиду сугу-
бо иллюстративного характера примера затраты на отдельных шагах и в целом не приведены. Утолщенными линиями показаны только предполагаемые УОТ.
Пунктирными линиями изображены части траекторий, отброшенные по итогам
сравнения вариантов. Оптимальную траекторию образует последовательность
состояний 1-3-2-3-2-2.
Рис. 5.4. Пример построения оптимальной траектории
75
Вернемся к вопросу задания состояний в крайних точках траектории. Ес-
n
n
2
n
3
n
m
1mn
m
m
m
m
n
2
n
m
2
mn
1
ли состояния в начале и конце не заданы точно, а могут быть выбраны из той же совокупности допустимых состояний, которая использована при анализе
промежуточных шагов, то количество перебираемых в ходе поиска вариантов
несколько возрастет. На последнем шаге УОТ не будут однозначно определять­ся, а найдутся после сравнения вариантов, отличающихся возможными состояниями в конце последнего шага. На первом шаге должна быть рассмот­рена не единственная УОТ, а
штук, имеющих начала в разных состояниях. Из
них затем должна быть выбрана наилучшая. Все это не слишком увеличивает
объемы вычислений. К вычислительным сторонам алгоритма ДП сейчас и об-
ратимся. Как уже ясно, решение задачи достигается часто используемым в проце-
дурах оптимизации перебором вариантов. В этом плане метод ДП не
представляет чего-то особенного. Ключевой вопрос здесь – количество этих ва­риантов по сравнению с полным их перебором1. Оценим сначала число многошаговых траекторий, из которых потребовался бы выбор посредством полного перебора. Будем предполагать, что концы траекторий «не закреплены» (это только что обсуждалось). При этом все шаги, включая первый и послед­ний, окажутся «равноправными», и немного упростится запись формул. В начале процесса имеется n точек, откуда могут начинаться траектории.
Каждая из них имеет
вариантов продолжения на первом шаге. Таким обра-
зом, одношаговый процесс может иметь двухшагового процесса это количество равно число траекторий процесса, насчитывающего
различных траекторий. Для
. По индукции получаем, что
шагов достигает значения Именно такое число вариантов придется сравнивать, если оперировать много­шаговыми траекториями целиком и осуществлять их полный перебор. Алгоритм ДП требует анализа УОТ различной длины от одного шага в
начале процедуры до личению объема вычислений: вместо траекторий одинаковой длины придется анализировать числе и
-шаговые. Однако в итоге получается существенное сокращение
в конце. На первый взгляд это должно привести к уве-
шагов
групп траекторий с разным числом шагов, в том
объема вычислений за счет того, что в каждой группе число исследуемых вари-
антов оказывается сравнительно небольшим. В самом деле, число УОТ в группе одно и то же независимо от их длины
и равно числу возможных состояний n, откуда они исходят. Выявление каждой УОТ требует сравнения
вариантов независимо от длины каждой из них. Это
обстоятельство было специально подчеркнуто при изложении алгоритма как
непосредственное следствие принципа оптимальности. Таким образом, для отыскания УОТ в группе требуется сравнение
вариантов. При числе групп
.
общее число вариантов составит
Количество вариантов еще не характеризует полностью объем вычислений, на кото-
ром может сказаться, например, длина траектории (в шагах). Однако это, конечно, главный показатель.
.
76
Можно представить себе ситуации, когда метод ДП не дает выигрыша по
n
21
10
2
20 10
610
15
10
3
2 10
сравнению с полным перебором. Скажем, при n = 2 и m = 2 число вариантов одинаково и равно 8. Однако для практики такие случаи совершенно не инте-
ресны. Гораздо важнее ситуации, в которых
и m достигают больших значений – порядка десятков и выше. Тогда преимущества ДП становятся оче­видными. Например, при n = 10 и m = 20 число вариантов для полного перебора
составит
, а для алгоритма ДП только
. Сравнение будет выглядеть
красноречивее, если сопоставить время, требуемое для вычислений. Допустим,
продолжительность анализа одного варианта составляет 1 микросекунду
(
с). Полный перебор потребует
ДП уложится в
с.
с, что больше 30 миллионов лет. Метод
Рассмотрим еще несколько замечаний, дополняющих изложенные сведе­ния об алгоритме ДП.
1. Для некоторых задач сопоставляемые с ними траектории связаны со временем только условно (как в примере 5.1), а потому вместо конца вполне
можно рассматривать их начало. Даже если время фигурирует в постановке за-
дачи явно (как в примере 5.2), формулировку можно изменить так, что начало и
конец траектории поменяются местами. Таким образом, объявленное в алго-
ритме ДП движение «от конца к началу» принципиального значения не имеет; важен его «шаговый» характер.
2. В некоторых случаях разные УОТ могут сопровождаться одинаковыми затратами: решение на очередном шаге неоднозначно. Неоднозначность остает-
ся и в решении всей задачи. Это обстоятельство дополнительных трудностей не порождает. Напротив, создаются условия для учета возможных дополнитель-
ных соображений, позволяющих предпочесть одну траекторию другим, равным ей по затратам.
3. При практической реализации оптимальное решение может быть по каким-то причинам изменено: на некотором шаге вынужденно выбрано не оп-
тимальное продолжение. Конечно, это повлечет определенное увеличение
затрат, но решения видоизменившейся задачи по существу не потребует. Легко может быть найдена скорректированная оптимальная траектория, поскольку
оптимальные продолжения известны уже при первоначальном решении для
всех траекторий, в том числе и не оптимальных.
4. В изложенном алгоритме ДП предполагалось, что выбор состояний на каждом шаге осуществляется из одного и того же множества с n элементами.
Может оказаться, что на различных шагах поиска выбор ограничивается мно-
жествами с меньшим числом элементов. Скажем, в задаче о прокладке пути на
некоторых участках трассы допустимый угол изменения ее направления (а вслед за тем и выбор состояния) может резко ограничиться природными факто­рами (болота, горы и т. п.). Дополнительных проблем это тоже не повлечет, а
даже уменьшит число перебираемых вариантов. Вообще, наличие ограничений для задач ДП является благоприятным фактором (из-за того же сокращения ва-
77
риантов). Причина этого уже не сам принцип оптимальности, а опора алгорит-
12
...
m
W w w w
i
w
12
...
m
W w w w
log , log
ii
W W w w


ма ДП на перебор вариантов.
5. В качестве условия применения метода ДП в начале главы было
названо свойство аддитивности (5.1) критерия оптимальности. Во многих зада-
чах оно проявляется так естественно, что не вызывает потребности в проверке. В других задачах его отсутствие не сразу заметно, но оказывается непреодоли-
мым препятствием для применения метода. В третьей категории задач критерий, первоначально не обладающий этим свойством, может быть преобра-
зован к нужному виду без искажения окончательного результата. Для примера
приведем критерий, имеющий вид произведения затрат на отдельных шагах
траектории (мультипликативный)
.
Если вместо этого критерия ввести его логарифм (по любому основанию) и ло­гарифмы затрат
(i = 1,2,…,m), то новый критерий уже будет обладать
свойством аддитивности
,
где
.
Решение (положение минимума) при этом не изменится, поскольку логарифм – монотонно возрастающая функция.
§ 5.4. Оптимальный график установки оборудования
В качестве иллюстрации процедуры оптимизации рассмотрим теперь
пример, использующий числовые данные.
Пусть на предприятие доставлено для установки оборудование двух ти-
пов в количестве M и N единиц. Для краткости будем называть единицы
оборудования станками. Бригада монтажников может одновременно устанав-
ливать один станок какого-либо из двух типов.
Затраты на установку станка зависят от его типа, а также от того, сколько
станков обоих типов было установлено до этого. Последнее обстоятельство
может быть связано с тем, что вновь установленный станок начнет давать про-
дукцию в количестве, зависящем от уже подготовленного на базе других станков производства, и это может быть учтено в качестве компенсации затрат непосредственно на монтаж. Затраты могут уменьшиться за счет использования линий подачи энергии, уже проложенных для ранее установленных станков.
Они могут увеличиться из-за сужения возможностей для маневра при занятии производственных площадей уже установленными станками.
Пусть эти и подобные им факторы могут быть заранее выражены количе-
ственно с помощью двух показателей:
x(i, j)  затраты на установку станка 1-го типа при условии, что уже уста-
новлено i станков 1-го и j станков 2-го типа (i = 0,1, ..., M –1;j = 0,1, ..., N),
y(i, j) затраты на установку станка 2-го типа при условии, что уже
78
установлено i станков 1-го и j станков 2-го типа (i = 0,1, ..., M; j = 0,1, ..., N–1).
12
12
12
10
10
10
10
8
8
7
7
7
8
9
9
9
9
8
9
10
8
9
10
8
8
7
7
9
8
8
9
9
9
9
9
8
8
9
9
8
8
9
10
9
8
7
7
7
8
9
9
8
8
9
10
9
9
8
8
j 4
3
2
1
0
1 2 3 4 5 6 i
Требуется определить порядок (график) установки станков, при котором
суммарные затраты после монтажа всех (m + n) станков были бы минимальны.
Исходные данные удобно представить на сетке, построенной в системе
координат i, j. Узел сетки с координатами i, j соответствует ситуации, когда установлено i станков 1-го и j 2-го типов. Затраты x(i, j) указываются в разры­ве горизонтального отрезка, исходящего из этого узла, а затраты y(i, j) в разрыве вертикального отрезка. На рис. 5.5 показан пример такого представления данных для M = 6, N = 4. При считывании с сетки получим x(0, 4) = x(1, 4) = 12, x(4, 2) = y(4, 2) = 9, x(5, 3) = y(5, 3) = 8 и т. п. Предполагается, что эти затраты исчисляются в условных единицах, например, в тысячах рублей.
Составление оптимального графика эквивалентно построению на сетке
ступенчатой траектории, проходящей по горизонтальным и вертикальным от-
резкам из узла (0, 0) в узел (6, 4), для которой сумма затрат на всех отрезках минимальна. Следует добавить, что номера узлов i, j, через которые проходит траектория, должны образовывать две неубывающие последовательности. На каждом шаге может увеличиваться на 1 только i или только j (устанавливается лишь один станок).
Очевидно, что координатная система с возможными в ней траекториями
будет выглядеть иначе, чем обсуждавшиеся в предыдущих параграфах. В при-
нятом теперь варианте она позволяет проще учесть исходные данные,
представленные именно в такой системе, а также легко учесть ограничения,
Рис. 5.5. Пример исходных данных на сетке
79
оставляющие на каждом шаге возможность выбора не более двух вариантов.
10MN
( 1)( 1) 35MN
20
10
10
10
7
8
9
17
8
9
8
25
9
9
4,4
5,4
6,4
6,3
26
9
18
4,3
6,2
5,3
5,2
При желании можно было воспользоваться и системой координат принятого ранее вида. По оси абсцисс пришлось бы отложить ординат
состояний. В силу имеющихся ограничений УОТ
шагов, а по оси
образовали бы в этой системе весьма разреженную картину, что все равно не
перевесило бы преимуществ варианта, принятого теперь.
Приступим к решению, следуя алгоритму ДП и используя для пояснений рис. 5.6, где опущены обозначения координатных осей, а номера узлов обозна- чены рядом с каждым из них двумя цифрами через запятую. В конечный узел
(6,4) ведут две траектории, начинающиеся в узлах (5,4) и (6,3). В силу един­ственности путей перехода (остается не установленным только один станок) это одновременно и оптимальные траектории (УОТ) с началами в указанных
узлах. На рисунке обозначим их, как и ранее, утолщенными линиями. Затраты на этих (а затем и на других) УОТ для удобства дальнейших сравнений указаны
в квадратах на месте узлов. Они снимаются с сетки, где сохранены в разрывах
линий с рис. 5.5, и для упомянутых узлов составляют 10 и 9 единиц.
Рис. 5.6. Начало поиска оптимальной траектории
по верхней линии сетки. Затраты для нее составляют 20 единиц. Аналогичные результаты получаются для узла (6,2): УОТ проходит по правой границе сетки и влечет затраты 18 единиц. Можно было бы и дальше перебирать узлы на верхней и правой границах, получая однозначные результаты. Однако пора об­ратиться и к внутренним узлам, на которых и обнаруживаются преимущества
алгоритма ДП.
два одношаговых варианта: переход в узел (6, 3), т. е. установка станка типа 1 или в узел (5, 4) установка станка типа 2. Существенно, что нет никакой
необходимости в подробном анализе возможных продолжений искомой траек-
Обратимся к узлу (4,4), для которого УОТ определяется тоже однозначно –
Найдем УОТ с началом в узле (5, 3). Для этого достаточно сравнить всего
80
тории из узлов (6, 3) или (5, 4), хотя в данном случае это совсем несложно. Дей-
64
52
40
30
20
10
62
54
45
35
25
17
9
63
56
49
42
34
26
18
71
63
56
49
42
35
28
80
72
65
57
50
44
38
0 1 2 3 4 5 6
4
3
2
1
0
ствительно, согласно принципу оптимальности эти продолжения как части оптимальной траектории должны быть оптимальными траекториями перехода из узла (6, 3) или (5, 4) в конечный узел (6, 4). А они уже известны из предыду-
щего построения, и затраты для них составляют 9 и 10. Остается сравнить два
числа: сумму затрат при переходе в узел (6, 3) и из него в (6, 4) с суммой затрат при переходе в узел (5, 4) и из него в (6, 4). Эти числа равны 8+9=17 и 8+10=18. УОТ, стартующей из узла (5, 3), будет та, для которой эта сумма равна 17, что и
показано утолщенной линией и числом в квадрате.
По мере удаления от конечного узла сетки преимущества метода сказы-
ваются все более определенно. Так, построение УОТ из узла (4,3) потребовало
бы без применения принципа оптимальности сравнения трех вариантов с под-
счетом по каждому суммы трех чисел. По методу динамического програм-
мирования действия нисколько не усложняются по сравнению с предыдущим рассмотренным узлом. Снова требуется сравнить только два числа: затраты на переход в узел (4, 4) плюс число, присвоенное этому узлу, и затраты на переход
в узел (5, 3) плюс число, присвоенное ему. Эти две суммы равны (7 + 20) = 27 и
(8 + 17) = 25, так что предпочтение следует отдать переходу в узел (5, 3), а узлу (4, 3) присвоить число 25 сумму затрат при оптимальном переходе из него в (6, 4). Для узла (5, 2) сравниваются числа 9 + 17 = 26 и 9 + 18 = 27, определяет-
ся, что УОТ должна проходить через узел (5, 3) и т. д.
Окончательный результат представлен на рис. 5.7. Затраты на отдельных шагах для краткости опущены. Их легко определить по рис. 5.5. Обозначения отрезками сохранены только для частей УОТ. Восстановлена нумерация узлов
по горизонтали и вертикали.
Рис. 5.7. Результат поиска оптимального решения
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]