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

книги из ГПНТБ / Васильев, В. В. Гибридные модели задач оптимизации

.pdf
Скачиваний:
21
Добавлен:
21.10.2023
Размер:
9.08 Mб
Скачать

нижнее число, замыкающее на себя равнобедренный треугольник из этих чисел.

При таком'способе представления задачи коммивояжера в виде унифицированного дерева маршрутов появляется возможность па­ раллельного анализа вариантов. Покажем, что это так.

Из исходного города коммивояжер может следовать в п — 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 — независимый резерв времени, определяется как макси­ мально допустимое увеличение продолжительности работы, при ко­ тором не изменяются резервы времени других работ:

= шах [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

Соседние файлы в папке книги из ГПНТБ