
книги из ГПНТБ / Васильев, В. В. Гибридные модели задач оптимизации
.pdfнижнее число, замыкающее на себя равнобедренный треугольник из этих чисел.
При таком'способе представления задачи коммивояжера в виде унифицированного дерева маршрутов появляется возможность па раллельного анализа вариантов. Покажем, что это так.
Из исходного города коммивояжер может следовать в п — 1 го род. Так как неизвестно, какой из них он выберет, то рассматрива ем параллельно каждый из вариантов. Пусть он следует из перво го города во второй, тогда со второго он может следовать в третий, четвертый и т. д. в п-й город. Предположим, что коммивояжер сле дует из первого не во второй город, а в третий, тогда с третьего он может следовать во второй, четвертый и т. д. в п-й. Таким образом, рассматриваем одновременно все варианты последующего движе ния. В этом и состоит основное отличие предлагаемого метода от существующих, в которых производится последовательный анализ.
Способ построения унифицированного дерева задачи для шести городов показан на рис. 4. Перед построением все города должны быть в произвольном порядке пронумерованы. Удобно строить де рево как совокупность кустов, состоящих из ветвлений на каждом уровне. При таком представлении упрощается способ отыскания одинаковых продолжений. Построение дерева начинается из исход ного (первого) города, расположенного на первом уровне. В зоне этого уровня строим п — 1 = 5 ветвей, исходящих из первого во второй и т. д. пятый города. Эти ветви являются основой кустов дерева. Условно куст, имеющий в основе ветвь ѵп , пронумеруем первым и т. д., ѵіа — пятым кустом. Концы ветвей 1-й зоны образу ют второй уровень, из каждой вершины которого исходит п — 2 = = 4 ветви, т. е. в каждом последующем варианте исключаются го
рода, |
которые посетил коммивояжер. Всего в |
зоне будет (п — 1)х |
X (п |
— 2) = 5 X 4 ветвей. Этим количеством |
определяется суще |
ствование различных ветвей в дереве. Концы их образуют третий уровень, с каждой вершины которого исходит п — 3 = 3 ветви. В зоне этого уровня располагается (п — 1) X (п — 2) X (п — 3) = = 5 x 4 x 3 ветвей. Отсюда видно, что на этом и на каждом по следующем уровнях начинаются повторения. Вершины, имеющие одинаковые продолжения, объединяются между собой. Закономер ность объединения следующая: в зоне третьего уровня объедине ния производится между кустами — объединяются ветвления 1-го рода, в зоне четвертого уровня объединения производится между ветвлениями 1-го рода, а затем между кустами; в зоне пятого уров ня объединения производится внутри ветвлений 1-го рода, затем между ветвлениями 1-го рода, затем между кустами; в зоне шестого уровня объединения производится внутри ветвлений 2-го рода, за тем между ветвлениями 2-го рода, затем между ветвлениями 1-го рода, а затем между кустами. Эту закономерность можно просле дить на рис. 4.
Таким образом, задача коммивояжера сведена к задаче о крат чайшем пути на расширенном графе с числом ветвей 2 (п — 1) +
20
24 |
2526 |
34 |
3536 |
454636 |
Уровень I
+ (л — 1) (п — 2) • 2"-3, которое определяет объем памяти, не обходимый для решения этой задачи. Был исследован рост коли- 1 чества ветвей для полного и унифицированного деревьев с увеличе нием количества городов на единицу. На основании расчетных дан ных построены графики рис. 5: а — для унифицированного дерева, б — для полного, где по оси абсцис отложено отношение количества
ветвей дерева для л + 1 городов к количеству ветвей дерева для л го родов, а по оси ординат — чему это отношение равно. Видно, что при анализе (л — 1)! вариантов на полном дереве увеличение коли чества городов в задаче от л до л + 1 вызывает возрастание количе ства ветвей дерева в л + 1 раз, тогда как при анализе того же ко личества вариантов на унифицированном дереве увеличение коли чества городов на единицу вызывает рост количества ветвей в т < < 3 раз, а при увеличении л т стремится к двум, т. е.
|
Н т |
-----------2я 4- я (я |
1) 2 п ~ 2------- |
|
|
|
п-оо |
2 (я — 1) + (я — 1) (я — 2) 2П—3 |
|
||
= 1іт |
j n [1 + ( » - l i r * L |
_ = Um |
n ( n - 1) |
д 2j |
|
П”+оо |
2 (я— 1)11 + (л — 2)2П_3] |
я (я— 1)2П_3 |
|
22
Такой же рост памяти, наблюдаемый М. Хелдом и Р. Корном 112], характеризуется выражением (п — 1) 2п~2, т. е.
Вследствие возможности параллельного анализа вариантов вре мя решения задачи практически не зависит от размерности ее и определяется разрешающей способностью элементов, с помощью которых моделируется унифицированное дерево, тогда как для мето да Литла и других это время экспоненциально зависит от размер ности задачи.
К тому же этот метод не требует вычисления на каждом шаге функции предпочтения, заведомо исключаются из рассмотрения неперспективные варианты, полностью исключается образование подциклов.
Кроме того, способ представления задачи коммивояжера в виде унифициррванного дерева, на наш взгляд, представляет интерес как с точки зрения построения моделей, так и с точки зрения реше ния на универсальных вычислительных машинах, так как уже су ществуют методы параллельного анализа вариантов на ЦВМ [194].
1.6.ЗАДАЧ А СЕТЕВОГО ПЛАНИРОВАНИЯ
ИУПРАВЛЕНИЯ
Как разновидность автоматизированных систем управления, системы сетевого планирования и управления в настоящее время получили широкое распространение. Вопросам теории и ме тодологии таких систем посвящено много работ [11, 95, 97, 142, 144, 156, 164].
Задачи сетевого планирования и управления являются комплекс ными в том смысле, что представляют собою комплекс целого ряда взаимосвязанных экстремальных задач математического програм мирования и задач организационного характера. Они возникают при планировании и управлении ходом выполнения комплекса взаимо связанных разнородных работ в различных отраслях народного хозяйства, науки, техники. Одними из основных в системах СПУ являются понятия сетевого графика (сетевой модели), работы и со бытия.
Сетевой график представляет собой наглядное изображение ком плекса работ или проекта такого комплекса в виде специальной стре лочной диаграммы (направленного графа без петель и контуров), которая однозначно отражает взаимную связь и технологическую последовательность выполнения работ. Элементами сетевого гра фика являются направленные дуги, которые изображают работы и обычно называются работами, и вершины, изображающие резуль тат выполнения ряда работ и называемые событиями. При состав
23
лении сетевой модели абстрагируются от конкретного содержания работ и работам сетевого графика приписывают лишь наиболее су щественные характеристики, такие как продолжительность и стои мость выполнения, интенсивность потребления различных ресур сов и т. п.
Структура сетевого графика и характеристики работ могут но сить детерминированный или случайный характер, и от этого будут существенно изменяться особенности задач СПУ. Здесь мы будем рассматривать только детерминированные сети.
Задача анализа сетевого графика с одновременным учетом зави симости продолжительности выполнения работ от их стоимости и ресурсных ограничений очень сложная, и в настоящее время, к со жалению, нет строгих методов ее решения. Поэтому обычно решение производится по этапам. На первом этапе анализируется сетевой график с учетом только продолжительности выполнения работ, а затем производится оптимизация с учетом стоимостных и ресурсных ограничений. Однако часто самостоятельное значение имеют и упрощенные задачи СПУ с учетом только продолжительности выпол нения работ.
Рассмотрим постановку временной разновидности задачи расче та сетевого графика. Структура сетевого графика диктует необхо димость соблюдения определенной очередности выполнения работ. Так, работы № 4, 5 (рис. 6) не могут быть начаты, пока не оконче на работа № 1, работы № 8, 9 не могут быть начаты, пока не окон чены работы № 2, 5 и т. д. Нетрудно видеть, что минимальное вре мя, за которое может быть выполнен комплекс работ, определяет ся совокупностью наиболее медленных работ, тогда как целый ряд работ имеет резервы времени. В нашем примере такой совокупно
стью будут работы № 2, 8, 15, 16. Их суммарная |
продолжитель |
ность равна 63 единицам времени. |
расчета сете |
З а д а ч а 1. Временная разновидность задачи |
вого графика состоит в определении формы и длины максимально го пути между начальным и конечным событиями, так называемого критического пути. Методология сетевого планирования и управле ния использует целый ряд характеристик сети, которые опреде ляются через длины критических путей между различными события ми графика. Определение этих характеристик и составляет содержа ние первой задачи.
Наиболее употребительными являются следующие характери стики:
/кр — длина критического пути (максимально возможная сум ма продолжительностей выполнения работ, лежащих на одном пути, соединяющем начальное и конечное события графика);
4 — наиболее раннее (минимальное) время возможного наступле ния события 5/, определяется временем выполнения последней ра
боты, предшествующей событию 5/: |
|
4 = tKp (SaS,) = |
(1.21) |
24 •
tpH— наиболее раннее (минимальное) время возможного начала! работы, соединяющей события S c и Sj, определяется как длина критического пути между начальным событием графика и началь ным событием выбранной работы:
& = С ' |
(1-22)' |
tpo — наиболее раннее (минимальное) |
время возможного окон |
чания работы, соединяющей события S ( и Sj, |
оно на величину про |
|
должительности выполнения работы больше ірп, т. е. |
|
|
і‘ѵо = ірн + tie, |
' |
(1.23) |
t„ — наиболее позднее (максимальное) время допустимого на ступления события Sj, определяется как разность полного крити ческого пути и критического пути между событиями S) и Sk'-
ti = C - i kP; |
(1.24) |
tno — наиболее позднее (максимальное) время допустимого окон чания работы, соединяющей события S { и
tlL = h = C - t % - , |
(1.25) |
^пн — наиболее позднее (максимальное) время допустимого на чала работы, соединяющей события S t и Sj, оно на величину про
должительности выполнения работы меньше tlJ0:
& = |
. |
(1.26) |
P'J — полный резерв времени |
работы, соединяющей |
события |
S t и Sj, определяется как максимальное увеличение продолжитель ности работы, не приводящее к увеличению длины критического пути:
Р[І = іц = й* - 1%- 1%- 14; (1.27)
PlJ — свободный резерв времени, определяется как максималь но допустимое увеличение продолжительности работы, не нарущаю-
25
щее возможности начинать все работы, выходящие из события 5/, в их наиболее ранние допустимые сроки tp:
P j = tp — tp — t[j = ijp — /Kp — 4/> |
(1 -28) |
P'n — независимый резерв времени, определяется как макси мально допустимое увеличение продолжительности работы, при ко тором не изменяются резервы времени других работ:
PÜ = шах [0, 4 — 4 — *,/]. |
(1.29) |
З а д а ч а 2. Пусть для выполнения комплекса работ необходи мо k видов ресурсов, причем каждая работа выполняется одним ви дом ресурса и известна интенсивность его потребления при задан ной продолжительности работы.
Задача 2, а. Определить времена начала работ (с учетом их тех нологической последовательности), при которых комплекс работ будет выполнен в минимально возможное время без превышения ограничений по каждому виду ресурса.
Задача 2, б. Определить времена начала работ (с учетом их тех нологической последовательности), при которых потребление ре сурсов было бы оптимальным. Оптимальность здесь может опреде ляться в смысле минимизации среднеквадратичного уклонения потребляемых ресурсов наибольшего по модулю уклонения потреб ляемого ресурса от среднего ежедневного значения или другим критериям. Время выполнения всего комплекса работ в этом слу чае считается заданным.
З а д а ч а 3. Пусть для каждой работы сетевого графика из вестна зависимость стоимости прямых затрат на ее выполнение от продолжительности в некотором допустимом диапазоне изменения последней. .
Задача 3, а. Оптимально использовать резерв некритических работ, при котором минимизируется стоимость всего комплекса работ.
Задача 3, б. Определить продолжительности выполнения работ в допустимых пределах, при которых минимизируется стоимость выполнения комплекса при заданном времени его окончания.
1.7. ЗАДАЧИ О ПОТОКАХ В СЕТЯХ
Многие задачи науки и техники сводятся к решению транспортных сетей. Большое распространение получили задачи об оптимальном распределении потока в транспортной сети. Важней шими из них являются задачи определения максимального и мини мального потоков транспортной сети. Решение этих задач важно для повышения эффективности многих систем, имеющих сетевую структуру (системы связи, системы транспортных дорог, газопрово дов). Определение максимального и минимального потоков нахо
26
дит широкое применение при решении задач о наименьшем покры тии [10], задач теории информации и т. п. Согласно теории Келли [323, к задаче о максимальном потоке может быть сведена парамет рическая задача минимизации стоимости при планировании. К за дачам об экстремальных потоках сводятся задачи минимизации бу левых функций определенного класса [69].
Определение экстремальных потоков состоит в следующем. За дана транспортная сеть — конечный граф без петель G (N, А). Граф состоит из совокупности N элементов хи х2, ..., хп вместе с А не которых пар (Х[, X/) элементов, взятых из N. Обычно элементы мно жества N называют узлами, вершинами и т. п., а элементы множест ва Л — ветвями, дугами, ребрами и т. п. Каждая ветвь характери зуется числом dij, которое определяет пропускную способность
ветви. Существует один такой узел к, что f,7l = 0 , этот узел называ ется входом или истоком. Существует один такой узел к, что Гк =
=0 . Он называется выходом или стоком.
■Задача определения максимального потока [10] достаточно под робно рассмотрена Фордом и Фалкерсоном [171].Максимальный по ток через сеть определяется структурой сети и максимальными про пускными способностями ветвей dt/-, составляющими эту сеть. При рассмотрении задачи о максимальном потоке важным понятием яв ляется разрез [171].
Разрез сети (N , А), отделяющий ник, есть множество дуг (X , X), где к £ X, а к £ X. Число D (X, X) называется пропускной спо
собностью разреза (X, X), которая равна сумме пропускных спо собностей ветвей, составляющих его. Любой путь из н в к содержит по крайней мере одну дугу каждого разреза.
Решение задачи о максимальном потоке состоит в определении всех путей между к и к и полном использовании их пропускных спо собностей. При этом следует учитывать, что если ветвь участвует
внекотором пути, то она может участвовать в другом пути только
сизмененной пропускной способностью, определяемой как
du = dtj — S |
®л- |
(U)£Sn |
|
Здесь Ѳ„ — пропускная способность |
л-го пути; Sn — совокуп |
ность ветвей, принадлежащих одному пути. Пропускная способ ность одного пути определяется пропускной способностью ветви с минимальной величиной йц:
Ѳт = min di,.
Таким образом, решение задачи сводится к отысканию суммы минимальных пропускных способностей всех путей транспортной сети. Данный способ реализуется на универсальных цифровых вы числительных машинах. При этом в машину вводится матрица свя зей с указанием истока и стока сети. Затем осуществляется по следовательный перебор путей в сети, идущих от истока к стоку,
27
и в каждом пути выделяются ветви, обладающие минимальной про пускной способностью, которые удаляются из сети. Как только не станет ни одного пути из начала в конец сети, пропускные способ ности удаленных ветвей складываются — это и будет величина мак симального потока в сети.
Такой метод решения задачи о максимальном потоке достаточно трудоемкий, так как приходится делать, в общем случае, перебор всех возможных путей.
Для определения максимального потока транспортной сети мож но применить алгоритм, заключающийся в реализации арифмети-
|
|
ческой операции |
суммирования |
|||||||
|
|
потоков для |
параллельных |
вет |
||||||
|
|
вей и логической операции опре |
||||||||
|
|
деления |
минимума для |
после |
||||||
|
|
довательных |
ветвей. |
При |
|
этом |
||||
|
|
поток, ограниченный максималь |
||||||||
|
|
ной |
пропускной |
способностью, |
||||||
|
|
устанавливается |
для |
всех |
по |
|||||
н |
|
следующих |
и предыдущих |
по |
||||||
|
|
следовательных |
ветвей, |
т. е. |
||||||
|
|
при |
реализации |
данного |
алго |
|||||
|
|
ритма должен выполняться прин |
||||||||
|
|
цип |
непрерывности |
[166]. |
На |
|||||
Рис. |
7 |
основании этого алгоритма пред |
||||||||
ложены [166] модели для решения |
||||||||||
|
|
|||||||||
|
|
задачи |
о максимальном потоке. |
Форд и Фалкерсон [171] для задачи о максимальном потоке уста новили следующую теорему.
Для любой сети максимальная величина потока из н в к равна минимальной пропускной способности разреза, отделяющего н и к .
Исходя из этого задача о максимальном потоке сводится к задаче определения кратчайшего пути. Для определения макси мального потока необходимо построить граф, двойственный исход ной транспортной сети. На рис. 7 показана планарная транспорт ная сеть (ветви проведены прямыми линиями) и двойственный ей граф (ветви показаны волнистой линией). Построение двойственно го графа состоит в замене граней исходной сети узлами и соедине нии этих узлов дугами таким образом, чтобы пути двойственного графа соответствовали разрезам исходной сети. Так, разрез, про ходящий по ветвям (я, а), (b, d) исходной транспортной сети, соответ
ствует пути (я', ßj), (alt bj), (blt к ) двойственной |
сети; разрез (a, |
с), |
{b, d) — пути («', Ьг), (Ь, /с'); разрез (а, с), (d, с), |
(d, к) — пути |
(я', |
£>і), (Ьъ q), (q, ку) и т. д. Каждой ветви двойственного графа припи сывается длина, равная пропускной способности той ветви исходной сети, которую данная ветвь пересекает слева, и равная нулю, если, ветвь двойственной сети пересекает ветвь исходной сети справа. Левая и правая стороны ветви исходной сети определяются по направлению потока в этой ветви. Таким образом, длина каждого,
28.
пути двойственной сети будет соответствовать пропускной способ ности соответствующего разреза. Например,
L {(а, с); (d, с); (d, k)) = D {(я', b^\ (bv сх); (clt k')} = 19.
Для определения максимального потока транспортной сети, как следует из теоремы Форда — Фалкерсона, необходимо определить минимальное сечение. Для этого достаточно в двойственном графе найти кратчайший путь из « в к, который будет соответствовать максимальному потоку истока к в сток к транспортной сети. В слу чае, если исходная транспортная сеть непланарная, т. е. существу ют перекрещивающиеся ветви (на-рис. 8 (а, d) и («, с)), то предва рительно такая сеть преобразует ся в планарную. Преобразование осуществляется заменой пересека ющихся ветвей ветвями, сходя щимися в одном узле. Узел обра зуется в точке пересечения ветвей.
Пропускные |
способности |
преоб |
||
разованных |
ветвей записываются |
|||
равными пропускным |
способнос |
|||
тям исходных |
ветвей. |
На |
рис. 8 |
|
преобразована |
ветвь (я, с) в ветви |
|||
(я, т) и (т, с), |
а ветвь (а, d) — в ветви (а, т) и (т , d). |
|||
В отличие от проблемы определения максимального потока тран |
||||
спортной сети, |
задача |
о минимальном потоке содержит ограни |
чения потока снизу [10].
Особенностью задачи о минимальном потоке является требова ние однонаправленности ветвей. Поэтому для каждой ветви, по которой проходит поток, требуется указать его направление. В противном случае определение потока в двух направлениях эк вивалентно установлению нулевого потока. Далее для определен ности будем рассматривать однонаправленные транспортные сети, не содержащие циклы.
Известны методы определения максимального потока в сети [10, 39].
Представляет интерес метод решения задачи о минимальном по токе, заключающийся в определении искомого потока как разнос ти допустимого и максимального избыточного потоков. Этот метод является конкретизацией алгоритма нахождения минимального по тока, описанного К. Бержем в работе ПО].
Однако Берж привел алгоритм в сокращенном виде и без дока зательства, что способствует в некоторых случаях неправильному его пониманию. В частности, в работе [166], а вслед за ней и в [4] утверждается, что этот алгоритм применим только к одному пути. Данные утверждения не верны.
Пусть задана сеть, представленная ориентированным линейным графом без циклов G (N , Л), состоящим из совокупности множества
29