Научная статья на тему 'Об одной маршрутной задаче на узкие места с внутренними работами'

Об одной маршрутной задаче на узкие места с внутренними работами Текст научной статьи по специальности «Математика»

CC BY
187
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАРШРУТИЗАЦИЯ / УСЛОВИЯ ПРЕДШЕСТВОВАНИЯ / ВНУТРЕННИЕ РАБОТЫ / ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / СЛОИ ФУНКЦИИ БЕЛЛМАНА / ROUTING / PRECEDENCE CONDITIONS / INTERNAL TASKS / DYNAMIC PROGRAMMING / LAYERS OF THE BELLMAN FUNCTION

Аннотация научной статьи по математике, автор научной работы — Салий Ярослав Витальевич, Ченцов Александр Георгиевич

Рассматривается экономичный вариант метода динамического программирования для решения задачи на узкие места, связанной с осуществлением маршрутизации с ограничениями в виде условий предшествования и работами, выполняемыми в пунктах посещения. Алгоритм построения оптимального решения реализован на ПЭВМ

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Салий Ярослав Витальевич, Ченцов Александр Георгиевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ON A BOTTLENECK ROUTING PROBLEM WITH INTERNAL TASKS

An economical variant of the dynamic programming method for an extremal bottleneck routing problem with internal tasks constrained by precedence conditions is considered. The algorithm for constructing the optimal solution based on this method is implemented for a personal computer.

Текст научной работы на тему «Об одной маршрутной задаче на узкие места с внутренними работами»

УДК 519.6

ОБ ОДНОЙ МАРШРУТНОЙ ЗАДАЧЕ НА УЗКИЕ МЕСТА С ВНУТРЕННИМИ РАБОТАМИ

© Я. В. Салий, А. Г. Ченцов

Ключевые слова: маршрутизация; условия предшествования; внутренние работы; динамическое программирование; слои функции Веллмана.

Рассматривается экономичный вариант метода динамического программирования для решения задачи на узкие места, связанной с осуществлением маршрутизации с ограничениями в виде условий предшествования и работами, выполняемыми в пунктах посещения. Алгоритм построения оптимального решения реализован на ПЭВМ.

1 Введение

В статье рассматривается одна задача маршрутизации с ограничениями в виде условий предшествования (результаты работы докладывались на конференции «Статистика. Моделирование. Оптимизация» Челябинск, 2011 г., и были анонсированы в [1]).

Исследуется задача последовательного обхода мегаполисов с выполнением на каждом из них тех или иных работ. Рассматриваемый процесс распадается в конечную систему этапов, каждый из которых включает перемещение к соответствующему мегаполису и проведение в его пределах соответствующих работ; осуществление этапов сопровождается затратами, которые агрегируются неаддитивно. В статье исследуется вариант агрегирования, соответствующий задаче на узкие места (в то же время в пределах каждого этапа агрегирование затрат на внешнее перемещение и внутренние работы предполагается аддитивным). Имеющиеся условия предшествования выделяют множество допустимых маршрутов, с каждым из которых связываются трассы посещения мегаполисов; узлы этих трасс целесообразно объединять в упорядоченные пары, элементы которых соответствуют прибытию в мегаполис и отправлению из него.

В работе построен нестандартный вариант метода динамического программирования и на его основе — оптимальный алгоритм, реализованные на ПЭВМ. В ближайшей перспективе планируется разработать параллельную реализацию алгоритма для использования на МВС; алгоритм и используемые в процессе его работы структуры данных допускают параллельную реализацию с общей памятью. При построении процедуры на основе МДП не предусматривается вычисления всего массива значений функции Веллмана, а имеющиеся условия предшествования используются «в положительном направлении» — для снижения сложности вычислений.

Рассматриваемая задача маршрутизации имеет своим прототипом известную (труднорешаемую) задачу коммивояжера (см. [2-4] и др.), которая является одной из классических ЫР-полных задач (см. [5]). В [2] рассмотрен целый ряд задач маршрутизации, подобных задаче коммивояжера, но обладающих особенностями, возникающими в приложениях (морские и авиационные перевозки, технологические процессы). Среди таких особенностей [2] целесообразно отметить задачу коммивояжера с выбором (использование кластеров, составленных из городов) и конструкции, связанные с т. н. задачей курьера (использование условий предшествования, возникающих

в различных приложениях). Наряду с широко используемым методом ветвей и границ [6], при решении вышеупомянутых задач используется МДП; см. [7,8]. Данный метод, применяемый для решения экстремальных задач различной природы (см. [9]), в задачах маршрутизации приводит к существенным трудностям в процессе вычислений и, по этой причине, используется обычно в теоретических исследованиях и при решении маршрутных задач малой размерности. Полезно отметить, что [9] конструкции на основе МДП могут использоваться при решении задач с неаддитивными функциями агрегирования затрат; в частности, это относится к задачам на узкие места (отметим в этой связи работу [10]).

Настоящая работа продолжает исследования [11-14], посвященные изучению задач маршрутизации на узкие места; см. в этой связи также работы [15,16], посвященные вопросам маршрутизации с абстрактной функцией агрегирования затрат. В данной работе широко используются также конструкции аналогичных работ, связанных с решением «аддитивной» задачи маршрутизации (см., в частности, [17-20]). Основой данных построений являются методы, разработанные в [3], которые были использованы, в частности, при решении некоторых задач, возникающих в атомной энергетике, а именно задачи минимизации дозовой нагрузки персонала АЭС при выполнении комплекса работ в условиях повышенной радиации (см. [22]) и задачи о демонтаже оборудования энергоблока, выведенного из эксплуатации (см. [23]).

2 Основные определения и обозначения Обозначения общего характера

В дальнейшем = обозначает равенство по определению, def заменяет фразу «по определению», 0 обозначает пустое множество. Для двух произвольных объектов ж,у обозначим через {х\у} (двухэлементное) множество, содержащее х и у и не содержащее никаких других объектов. Если z — объект, то z = {z;z} есть одноэлементное множество, содержащее г. Для произвольных объектов и и v, следуя [24, с. 67], определим упорядоченную пару с первым элементом и и вторым элементов v как (u,v) = {{и}; {-и; г?}}. Для произвольной упорядоченной пары г (как целого), через pri(z) и pr2{z) обозначим соответственно первый и второй элементы г, однозначно определяемые условием г = (pri(z),pr2(z))- В случае z е А х В, где А и В — множества, pri(z) G А и pr2(z) G В. Используем обычное правило экономии скобок при записи значений функции двух переменных. Введем обозначения для нужных нам числовых множеств

- [0,оо[М£ек|0<£};

- N = {1; 2;...};

- N0 = {0} U N;

- М â {j g N0|(fe ^ j)Hj < 0} VA; € N0V/ € N0

и для некоторых теоретико-множественных понятий: Fin(S) обозначает семейство всех непустых конечных подмножеств произвольного множества S; мощность конечного множества К G Fin (S) обозначается \К\, очевидно, \К\ G N; множество всех биекций [25, с. 86] «отрезка» 1, \К\ на К обозначаем через (bi)[ÜT]. Полагаем, что \0\ = 0.

Специальные обозначения

Всюду в дальнейшем фиксируем непустое множество X и число iV G N, JV ^ 2, определяющее количество целевых множеств (мегаполисов), составляющих кортеж

(MOieî^:MV->FinPO, (2.1)

а также точку х° G X — начальный пункт (базу). В дальнейшем полагаем, что

(х° i Mj Vi € MV)&(Mfc p| Ml = 0 \/k € MV vz € TTiV \ {fc}). (2.2)

Полагая P = (bi)[1, iV], получаем множество всех перестановок [25, с. 87] в 1, 7V, называемых далее (полными) маршрутами. Произвольной a G Р сопоставим a”1 GP - перестановку в 1,АГ, обратную к а :

а(а_1(А:)) = а“1(а(/с)) = к Vfc G l,iV.

Чтобы ввести условия предшествования, фиксируем множество К, К С 1,7V х 1, N, его элементы — упорядоченные пары — назовем адресными парами. Для произвольного z G К, элемент pri(z) G 1, iV назовем отправителем, а элемент pr2(z) G 1,JV — получателем. Смысл условий предшествования состоит в ограничении выбора маршрута теми маршрутами, где для всякой адресной пары посещение отправителя предшествует посещению получателя. С учетом этого, множество допустимых (по предшествованию) маршрутов имеет вид (см. [21, часть 2])

А = {a G P|a-1(pri(£)) < а_1(рг2(г)) \/z G К}. (2.3)

Всюду в дальнейшем полагаем выполненным следующее условие:

Условие 1. Для всякого непустого множества Ко,Ко С К, непременно

3zo G К0 : pri(z0) ф pr2(^) Mz G К.

Тогда А ф 0 [21, Часть 2]. Итак, мы располагаем допустимыми маршрутами (случай К = 0 не исключается и отвечает случаю отсутствия условий предшествования). Обозначим через X множество всех кортежей

(zi)ieOJt : X X X.

Кортежи такого типа играют роль трасс при «движении» вдоль маршрута: если a G Р, то

ха = {(zi)ieojt G X|(zb = (х°, ®°))&(2j € Ma{j) х Ma(j) Vj € MV)} (2.4)

есть множество всех трасс, согласованных с маршрутом а. Легко видеть, что Ха есть непустое конечное множество, т. е. Ха G Fin(X). Разумеется, в (2.4) нам достаточно использовать маршруты из (2.3), т. е. ограничиться случаем a G А. В этом случае каждая пара (a, {zi)ieojj), где (zi)ieo~N ^ может использоваться в качестве решения нашей маршрутной задачи. Фиксируем функции

с : X х X —[0, оо[, с\ : X х X —У [0, оо[,..., с/у : X х X —У [0, оо[.

Введем обозначение для цены трассы (zi)ieo“/v ^ согласованной с маршрутом a G Р:

£a[(*i)ieoTv] - [c(pr2(^),pri(^+i>) + ce(i+i)(zi+i)]. (2.5)

ie0,N-l

%

В конструкциях, связанных с основной задачей маршрутизации (ОЗМ), в соотношениях, подобных (2.5) подразумевается что a € А и (^¿€(уу € ^а' Таким образом, получаем задачу

£a[(*i)ieo3v] min> а 6 А’ teheojf е Ха

о минимизации цены трассы, согласованной с маршрутом. С задачей (2.6) — основной задачей маршрутизации (ОЗМ) связываем экстремум

V = min min С[(*г)*еог] € t0»00! (2-7)

aGA (zi)i£

и непустое множество (оптимальных) решений.

3 Расширение основной задачи маршрутизации

Для построения нужной версии МДП в духе [19,20] потребуется ввести некоторое расширение ОЗМ. В свою очередь, для построения последнего требуется провести редукцию системы ограничений [21, Часть 2], сводящуюся к замене допустимости по предшествованию на допустимость в смысле некоторой процедуры вычеркивания, далее называемой допустимостью по вычеркиванию. С учетом этого, введем ряд дополнительных обозначений. Через N (через 9Т) обозначим семейство всех (всех непустых) подмножеств индексного множества 1,і\ґ; множества из ОТ будем называть списками заданий или просто списками, если ясно, о чем идет речь. Для списка К Є 01 введем

ЦК] к|(рп(г) Є КЩрт2(г) Є К)},

множество всех адресных пар, «полностью» укладывающихся в список К. С учетом этого, введем вычеркивание в виде отображения

I : ОТ -> ОТ,

полагая, как ив [21, Часть 2],

ЦК)^К\{рт2(г):геЦК}}. (3.1)

В терминах этого отображения можно определить допустимость по вычеркиванию не только полных, но и частичных маршрутов. Поскольку ОТ = Ріп(1,ІУ), для К Є ОТ определено число \К\ Є 1,]У и множество (Ы)[К] всех биекций 1, \К\ на К (при этом Р = (Ьі)[1,ЛГ]). Теперь можно ввести множество частичных маршрутов

(I - Ы)[К] ± {а Є (Ьі)[Я]|а(я) Є !({<*(*) : і Є в, |^|}) V« Є 1, \К\}, (3.2)

элементы которого будут использоваться для нумерации заданий из списка К. При этом, согласно [21, Часть 2], справедливо равенство

А = (I — Ьі)[ТУАГ]. (3.3)

Кроме того, отметим, что [21, Предложение 2.2.2]

(I - Ы)[К] Ф 0 УК Є ОТ. (3.4)

Из (2.3),(3.4) вытекает (при условии 1), что А ф 0. Данное свойство уже отмечалось в разделе 2. Для расширения основной задачи потребуются также «частичные» (неполные) трассы посещения мегаполисов. С этой целью введем следующее определение: если х Є Х1К Є ОТ и а Є (I — Ы)[К], то з (ж, К, а) есть Леї множество всех кортежей

&)геЩЩ : оГЩ ЧІХІ, в (3.5)

для каждого из которых го = (ж, ж) и

(3.6)

разумеется, з(х, К, а) есть непустое конечное множество. Теперь можно в обобщенной форме ввести критерий для каждой «укороченной» (частичной) задачи: если х Є X, К Є ОТ, а Є (I — Ьі)[АТ] и есть к°Ртеж (3-5)> то

^((^¿єбТкї) “ тах [с(рг2(гг),ргі(2і+і)) + с«Гі+п(г»+і)1 Є [0,оо[. (3.7)

м=и,|Л| ,е 0,1^1—!

В терминах (3.7) определим сами «укороченные задачи»: для заданных х € X и К требуется £K)((^)ieö^l)^min’Q:e(I_bi)[-f!:])(^)ieö^eä(a;,^,a)- (3.8)

Данная задача совместна, она характеризуется значением (экстремумом)

v(x,K)± min min ((^)ieü^) е [°, °°[. (3.9)

a€(I-bi)[K] (zi)ieöj<ei{x,K,OL)

Кроме того, положим

v{x, 0) 4 о Vx € х. (3.10)

Мы получили функцию

г; : X х N-» [0,оо[, (3.11)

которая в существенной части определяется (3.9); нужное в дальнейшем краевое условие определяется (3.10). Заметим, что (3.9) можно, в частности, определить и при х = х° и К = 1, N. В этом случае следует учитывать (3.3) и очевидное (см. (2.4)) обстоятельство:

2(x0,Tjf,a) = Ха VaGA. (3.12)

Из (2.7),(3.3) и (3.9) вытекает равенство

V = v(x°,TJf). (3.13)

Теорема 3.1. Если х Е X и К £ УХ, то

v(x,K)= min min sup({c(z, pri(z)) + с^(г);у(рт2(г),К \ {j})}). (3.14)

jel(K) zeMjXMj

Доказательство. Пусть n = \K\, тогда n € 1, ЛГ. Имеет смысл отдельно рассмотреть следующие два случая: 1 )п = 1; 2)п € 2,N.

1. Пусть п = 1. Тогда К — одноэлементное множество: К = {j}, где j € 1 ,N. Поэтому (bi) [jFsT] — также одноэлементное множество, содержащее тривиальное отображение а о : {1} —> Л', для которого а0(1) = j- Согласно (3.4), (I - bi)[7^j С (bi)[if], а потому (I - bi)[К] = {ско}- В этом случае з(ж, К, «о) есть множество всех (тривиальных) кортежей

(г*)ге0д : 0,1 -> X х X

таких что zq — (х,х), a z\ 6 Мао^ х Мао^, т. е.

2! G Mj X Му

Наконец, из (3.7) получаем, что

^K0)((Zi)ie Од) = c(pr2(Äö),pri(2!i)) + Cao(1)(2i) =

= c(x,pri(zi)) + Cj{zi) V(zi)i€öl 6 г(х,К,ао).

Поэтому из (3.9) вытекает следующая цепочка равенств: v(x,K)= min ^0)((2г)ге0д) =

(zi)i£Oil€3(X’^iG:o)

min [c(x,pn(2i)) + Cj(zi)] = min [c(x,pri(z))+cj(«)].

(zi)ieöJe2(x’K’a o) zeMjXMj

(3.15)

Теперь рассмотрим множество I(К) — I({jj}). Поскольку К G ОТ, то 1(К) € 0t и, в частности,

ЦК) ф 0.

С другой стороны, 1(К) С К — {j}. Следовательно, I(jFQ = {j}. С учетом (3.15) получаем равенство

v(x,K) = min min [c(x,pri(z)) + Cj(z)] (3.16)

jel(K) zeMjxMj

в рассматриваемом случае n = 1. Поскольку с, ci,..., сдг — неотрицательные функции,

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

c(x,pri(z)) +Cj(z) G [0, oo[ Vj G I(ÜT) Vz G x Mj.

С другой стороны, при j G I(if) и г G Mj x Mj имеем

v(pr2(z),K \ {j}) = г>(рг2{z), 0) = 0, а потому справедливо равенство

sup({c(x, prj (2)) +ci(2);v(pr2(2),i;i:\{j})}) = c(x, pri(z)) +Cj(z), позволяющее преобразовать (3.16) к виду

v(x,K)= min min sup({c(x,pri(z)) + Cj(z)]v(pi2(z),K \ {J})}), (3.17)

jel(K) zeMjXMj

что и требовалось доказать.

2. Пусть теперь п G 2, N. С учетом (3.9) подберем a G (I — bi)[jRT] и (yi)ieG ъ(х,К, а) так, чтобы

V(x,/0 = 4^)«)- (3.18)

Тогда, в частности, (yi)ie: 0, n X х X; при этом уо = (х, х) и

Uj G х Vj £ 1,я. (3.19)

В частности, из (3.19) следует, что

У! G Ма(1) х Ма(1). (3.20)

Напомним, что а € (bi)[К]; значит, а : 1,п —»• К и, согласно (3.2),

a(s) G 1({а(г) : г € s, n}) V« € 1,п. (3-21)

В частности, а(1) € 1({а(г) : г € 1,п}), где в силу биективности а справедливо равенство

К = {а(г) : i G 1,гг}, а потому а(1) G ЦК). Учитывая теперь (3.20), мы получаем неравенство

min min sup({c(x,pri(z)) + Cj{z)\v{pv2{z),K \ {j})}) < jei(K) zeMjxMj (3.22)

^ sup({c(x, pri (j/i)) "4* ca(!^ {yi)j ^(pr2(i/i)) К \ {a(l)})}).

Для краткости, положим T = K \ (а(1)}. Тогда Г/0и, следовательно, Т G Ш, причем

|Г| = п - 1 (3.23)

(поскольку, в частности, а(1) G К). Возвращаясь к (3.22), получаем оценку

(3.24)

sup({c(x>pri(2:)) + cj(z);'!;(pr2(2).^\{i})}) <

jel(K) zeMjXMj

< sup({c(x,pri(yi)) + ca(i)(yi);t;(pr2(yi),T)}).

Вместе с тем, pr2(yi) Е X, T E ОТ и поэтому, согласно (3.24) и (3.9), получаем равенство

«(pr2(yi),T)= min min ^ [0, оо[. (3.25)

a€(I-bi)[T] (^).eü-—TQ(pr2(2/i),T,a)

В силу инъективности а, а(j + 1) ф а(1) Mj Е 1,п — 1. Поэтому,

а (j + 1) Е Т Vj Е 1,гс - 1.

С учетом этого, введем отображение а : 1,п — 1 —» Т по правилу

а = (а(;/ + 1))^ех^т.

Естественно,

аЦ) = а0‘ + 1) V? Е 1,гс-1. (3.26)

Покажем, что а Е (Ы)[Т]. Если £ Е Т, то £ Е ^; при этом, £ ф а(1). В этом случае из определения а следует, что I = а^), где ] Е 2,п и, следовательно, $ — 1 Е 1,п - 1. Поэтому,

а(д - 1) = а(|) =

Поскольку £ выбиралось произвольно, установлено вложение Т С {а(«) : 8 Е 1, п — 1}. Поскольку а принимает значения в Т, данное вложение означает равенство

Т - {о(а) : з е 1,п-1}. (3.27)

Из (3.26) видно, что а «наследует» инъективность а, что с учетом (3.27) дает биективность а, а потому (см. (3.23)) а Е (Ы)[Т]. Более того,

аЕ (I — Ы)[Г]. (3.28)

В самом деле, пусть и Е 1,п — 1. Рассмотрим множество А = {а{г) : г Е — 1} Е ОТ и его образ П(А). Из определения а вытекает, что

А = {а(г) : г Е I/, п - 1} = (а^) :Е ^ + 1, п},

где I/ + 1 Е 2, п. В этом случае, согласно (3.21), а(г/ + 1) Е 1(Л), где по выбору V получаем из (3.26) равенство а{у) = а (и + 1) и, стало быть, а(и) Е 1(А). С учетом определения А получаем, что

а(и) Е 1({й(г) : г Е и, п — 1}). 4 Поскольку выбор у был произвольным, установлено, что

а(з) Е 1({а(г) 'Ле1,п- 1}) V? Е 1, п - 1.

С учетом (3.2), (3.23) и ранее установленной биективности а получаем желаемое свойство (3.28). По выбору (Уг)гео^ имеем> что ¡Л+1 Е I х I У; Е 0,п - 1. Введем (уг)^о^Т по правилу щ = 2/?+1 У7 Е 0,77, - 1. Тогда щ Е Мау+1) х Мау+1) V; Е 1,п - 1. С учетом определения а последнее свойство преобразуется к виду

щ € Afäü) х € 1, n - 1. (3.29)

При этом, по (3.20), у0 = ух € Ма(х Ма(1). Тогда (рга(у0) € Ма(1))&;(рг2(уо) € Ма(1)). Отсюда, Уо = (рг2(Уо),РГ2(:уо)) е Ма(1) х Ма(1); тогда, как следствие, уо £ I х I. Положим щ = у3 У] €

1,п — 1. Мы получили кортеж

(Уг)г€0,п-1 * 71 1 X X X.

Согласно определениям уо и Уо?

Уо = (pr2(yi),pr2(yi)). (3.30)

Из (3.29) вытекает, что yj € х Vj € 1,п — 1. Поэтому (см. (3.23),(3.30))

(У*)<еВ^гт G 3(pr2(yi),T,a). (3.31)

Из (3.24),(3.25),(3.28) и (3.31) получаем очевидную оценку

v(pr2(yi),T) ^ £{т\(т)^о^=л)- (3-32)

Вернемся к (3.18). С учетом (3.7) получаем

v{x,K) = max_[c(pr2(yi),pri(yi+i)) + Ca(i+1)(2/i+i)] =

¿eo,n—1

= sup({c(pr2(yo),pri(yi))+ ca(x)(yi); max [c(pr2(yj),pri(yi+i))+ (3.33)

iel,n-l

+ ca(i+l)(2/i+l)]})-

Отсюда ПО определению (yi)je6^ слеДУеТ

v(x,K) = sup({c(a;,pri(yi) + ca(!)(i/i)); max fc(pr2(w), pri(^+i)) + Ca/i+i^+i)]})-

г€1,п—1

С учетом (3.25) последнее выражение преобразуется к виду

v(x,K) = sup({c(x,pri(yi)) + ca(1)(yi); ma^[c(pr2(yi),pri(yi+i)) + са(г)(Уг+1)]}) =

ге1’"~1 _ _ (3-34)

= sup({c(ar,pri(yi)) + ca(1)(yi); max [c(pr2(yj),pri(yj)) + саф(уг)]}).

г£1,п— 1

Если г € l,n - 1, to i - 1 G 0, n - 2, a тогда рг2(уг) = pr2(y(t-i)+i) = рг2(Уг-1)- Поэтому, согласно (3.34),

v{x,K) = sup({c(x,pri(yx)) + ca(1)(yi); max_[c(pr2(yj-i),pri(yi)) + ca(i)(yi)]}) =

_ (3.35)

= sup({c(®,pri(yx)) + ca(1)(yi); max_[c(pr2(yi),pri(j/<+i)) + ca(i+1)(yi+i)]}).

zG0,n—2

Заметим, что, согласно (3.30), имеем цепочку равенств

рг2(уо) = pr2(yi) = РГ2(Уо)- (3.36)

Если же j € 1,п - 2, то у3 = yj и, следовательно, рг2(у^) = pr2(yj). С учетом (3.36) получаем

систему равенств

pr2(yj) = pr2(y,-) Vj € 0, п - 2. (3.37)

Из (3.35) и (3.37) вытекает равенство

v{x,K) = sup({c(x,pri(yi)) + ca(i)(yi); max_ [с(рг2(&), pri(yi+i)) + ca(m)(yj+i)]}). (3.38)

г€0,п—2

При j е 0,п — 2 выполняется j + 1 е 1,гг — 1, а тогда yj+i = yj+i- Подставляя это равенство в (3.38), получаем

v(x,K) = sup({c(®,pri(yi)) + ca(i)(yi); inax_ [с(рг2(&),pri(ym)) + Ca(i+1)(i/i+i)]})- (3-39)

i£0,n-2 V

Напомним, что T еУ1и справедливо (3.25); учитывая также (3.28) и (3.31), согласно (3.7), получаем

£та)((&)ге 0^l)= max_[c(pr2(&),pri(yi+l)) + са(г+1)(Ут)]- (3-40)

i£0,n—2

Подставив это выражение в (3.39), получаем равенство

v{x, К) = sup({c(x, pri(l/i)) + Ca(1)(yi); ^(ШгеО^т)}'

Применив неравенство (3.32), получаем

sup({c(x, рп (Уг)) + Ca(i)(yi); v(pr2(yi), Т)}) ^ v(x, К).

Учитывая (3.24), получаем из последнего соотношения оценку

mP P?in„ sup({c(x,pri(z)) + Cj(z);v(pr2(z),K\ {j})}) ^v(x,K). (3.41)

jel(K) zeMjXMj Выберем q € I(К) и z € Mq x Mq так, чтобы

sup({c(x,pri(s)) +сд(и);и(рг2(й),<?)}) =

= mK i£in„ suP(ic(;i;>Pri(2:)) + cj(z);v(pr2(z),K\ {j})}), *-3'42^

jel(K) zeMjXMj

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

где

0±к\{д}. (3.43)

Отметим, что 5 € К (см. (3.1)). Поскольку \К\ = п, из (3.43) следует |<3| — п — 1. Рассмотрим позицию (рг2(и),<3) € X х 91. По определению (3.9), ее стоимость имеет вид

^(о0

1 1111X1 V

0IQ] (2<)¿eü^TTe3(Pr2(®),Q,a)

Выберем и зафиксируем маршрут

v(pr2(z),g)= min min £J)((2¿)í65^t)g[0,oo[. (3.44)

ae(I—bi)[Q] (2<)i€ö^TTe3(Pr2(Z!)><3>a)

/?е(1-Ы)[С?] (3.45)

и трассу

(^)гео^т € 3(рГ2(и), (Э, Р) (3.46)

так, чтобы выполнялось равенство

у(рг2(й),<3) = ^((/ц^д^п). *

Применяя (3.7), получаем отсюда

и(рг2(и),ф) = тах_[с(рг2(/гг),рг1(^+1))+ с^+1)(/1*+1)]. (3.47)

гЕ0,п—2

Из (3.42) и (3.47) получаем равенство

min min sup({c(x,pri(2)) + Cj(z);v(pT2(z),K \ {j})}) =

z£.Mj xMj

= sup({c(x,pri(s)) + c9(s); max_[c(pr2(/ii),pri(/ij+i)) + c^(i+1)(/ij+x)]}).

гЕ0,гг—2

(3.48)

Согласно (3.46), кортеж (^)г€0,п-1 ;0,га — 1—>-ХхХ начинается с

Ы = (рг2(и),рг2(и))

и продолжается следующим образом:

ку Е Мт х Мт М] € 1, га - 1. (3.49)

Заметим, что при j 6 1 , га непременно j — 1 € 0. п — 1. а потому определена упорядоченная пара

hj—l £ X X X.

При ] = 1, = /г0, рг1(/1о) = ргг(^о) = рггЫ, а в случае j е 2,п,

^•-1 € х (3.50)

Кроме того, при 6 2,п непременно .7 — 1 € 1,п — 1, а_тогда определен индекс /3(^-1) € <5-Напомним, что /3 : 1,га — 1 —*• <3, /3 € (Ы)[<3]. Определим /3 : 1, га —>■ ЛГ правилом

(Д(1) ^ д)&(Д0') 4 /зи - 1) V € Ъп). (3.51)

Поскольку при ] е К (j = д) V (;; € (5) (см. (3.43)), в силу (3.51) и сюръективности /3 имеем

Ук е К 3] € Т~п : /?(.?) = *.

Заметим, что при j Е Q непременно найдется I <Е 1. п — 1 со свойством ] = /3(/), а тогда / +1 € 2, гг

и/3(/ + 1) = /З(^) = Следовательно, /3 — сюръекция 1 , га на /С. Чтобы проверить инъективность

(3, зафиксируем индексы ¿1б1,гаи<2€1,гасо свойством

т) = т. (з.52)

В связи с «устройством» ¡3 имеет смысл различать случаи и = 1 и и € 2,п, где г 6 1,2. Запишем это в виде (¿х = 1) V (£1 € 2, гг) и (¿2 = 1) V (¿2 € 2, гг), т. е.

((¿1 = 1) V (¿1 € 27п))&((*2 = 1) V (¿2 € 27«)),

откуда по дистрибутивности получаем четыре случая:

((¿1 = 1)&(*г = 1));

V ((¿1 = 1)&(*2 € 27га));

V ((¿1 € 27га)&(*2 = 1));

V ((¿х € 2,п)&(£2 € 2, га)).

Очевидно, в первом случае инъективность не нарушается:

((¿1 = 1)&(*2 = 1)) =► (¿1 = ь). (3.53)

В четвертом случае 6 2, га и € 2, га, следовательно, ¿1 — 1 е 1,гг — 1 и^2 — 1 е1,гг — 1, а тогда (3.52) можно переписать следующим образом:

/?(*! - 1) = Д(*Х) = Д(«2) = 0(*2 - !)•

Таким образом, в четвертом случае инъективность тоже не нарушается: /1 = /2- Второй и третий случаи тождественны с точностью до замены переменной, поэтому достаточно рассмотреть один

из них. Рассмотрим второй случай: (¿1 = 1)&(*2 6 2,77,). Очевидно, здесь ¿2 -- 1 Е 1,п — 1, а тогда Р(Ь) = Ч и /5(^2) = /5(^2 — 1) € (3, что позволяет провести следующие рассуждения:

Д(*1) = Д(*г) ^ Д(1) = (3& - 1) ^ д = /3(£2 “ 1).

Согласно (3.43) и (3.52), подобное невозможно. Таким образом,

№Фт,

что позволяет исключить второй и третий случаи из рассмотрения. Итак, ¿1 = ¿2- Отсюда следует инъективность /3, что в сочетании с сюръективностью означает:

Де {Ы)[К}. (3.54)

Покажем теперь, что на самом деле /3 Е (I — Ы)[/Г]. Прежде всего заметим, что из (3.54) следует,

что К = {/3(г) : г Е 1, \К\}, а потому, по выбору д справедливо включение д Е 1({/3(г) : г Е 1, |^|),

т. е. (см. (3.51))

/3(1) Е 1({/3(г) : г Е Т7Щ}). (3.55)

Пусть теперь г Е 2, |/Г|, где \К\ — 2. Тогда г Е 2,п и, согласно (3.51), /?(г) = /3(т- - 1), где

Т — 1 Е 1,77, — 1. Вместе с тем из (3.3) и (3.45) следует, что

/3(г - 1) Е 1({/3(г) : г Е г — 1, тг — 1}), (3.56)

где, как^уже отмечалось, тт, — 1 = |ф|. При этом множество В = {/3(г) : г Е г — 1,77, — 1} совпадает с В = {/3(г) : г Е г^п}. В самом деле, пусть ц Е В, т. е. \х — /3(г*), где г* Е г — 1,77, — 1. Рассмотрим г* = г* + 1 Е лп. Ясно, что /3(г*) Е В. Поскольку, в частности, г* Е 2,77,, из (3.51) следует равенство /3(г*) = /3(г* — 1) = /3(г*^ что означает справедливость включения /л Е В, чем завершается проверка вложения В а В. Выберем произвольно г/ Е В. Тогда и — /3 (.?*), где Е туп. Тогда .7* — 1 Е г — 1,77, — 1 и, следовательно, /3(,7* — 1) Е В. Поскольку г ^ 2, в частности, Е 2, тг, а тогда (см. (3.51)) /?(.?*) — /9(.7* — 1) Е Б. Тогда г/ Е 5, чем завершается проверка вложения В С. В. Стало быть, В ~ В, где (см. (3.56)) /3{г — 1) Е 1(В). Как следствие, /3(г — 1) Е 1(-В). Поскольку г Е 2,77,, из (3.51) вытекает равенство /3(г) = /3(г — 1); стало быть, /3(г) Е 1(5), т. е.

Д(г) Е 1({Д(г) : г Е туп}).

Поскольку выбор г был произвольным, мы установили, что /3(в) Е 1({/3(г) : г Е 5,?г}) Уз Е 2,7г. С учетом (3.55) получаем теперь систему включений

/3(з) Е 1({/3(г) : г Е V™}) V« Е 1,77,. (3.57)

Из (3.3),(3.54) и (3.57) вытекает, с учетом равенства \К\ = 77,, требуемое свойство

/3 Е (Е-Ы)[К]. (3.58)

Заметим, что при 7 Е 2,77, справедливо ] — 1 Е 1, п — 1 и, согласно (3.50),

Е X Музу_!),

откуда, с учетом (3.51), вытекает включение /^_1 Е х Кроме того, по выбору и имеем

из (3.51) включение и Е ^Д(х) х ^Д(1)* Поэтому,

(х 6 Мд(1) х Мд(1))&(^_1 € М~т х Мда) V? € 27п). (3.59)

Полагаем теперь с учетом этого выражения, что кортеж

(^)гео^ : 0, П -> X X X

определяется условием

(Но = (х,ж))&(/11 = = hj-l Vj Е 2, гг). (3.60)

Из (3.59) и (3.60), в частности, следует, что Е А^Ду) х ^Ду) 47 Е 1,п. С учетом (3.60) и

равенства п = \К\ мы получаем (см. (3.5),(3.6)), что

(^)гео^п ^ 3(ж5 К, (3). (3.61)

Из (3.7) вытекает следующее равенство:

£к}((^)г ео^)= та^[с(рг2(/гг),рг1(/г*+1)) + <- }(/гт)]. (3.62)

г€0,п-1

Конечно, отсюда следует, что

= вир({с(рг2(Ло), РГ1(Л1)) Ч- сд(1)(Л1>; тах_ [с(рг2(/1*),рг 1(^+1)) + сд^^-н)]}).

С другой стороны, из (3.9),(3.58) и (3.61) вытекает, что

у(х,К)^£^((Ы)№). (3.64)

Учитывая (3.51) и (3.60), мы получаем из (3.63) следующее равенство:

е^((*.)<да)= _ _ _ (365)

= 8ир({с(ж,рг1(и)) + с9(и); та^[с(рг2(/1г),рг1(^+1)) + с^+1)(^+1)]}).

г€1,п—1 к '

Отметим теперь, что

с(рГ2(М,рГ!(Л2)) + СД(2)(^2) =

= с(рг2(и),рг1(/г!)) + С0(!)(/11) = (3-66)

= с(рг2(/1о),рг1(/11)) + С^(1)(Л,1).

С другой стороны, при г € 2, п — 1, согласно (3.60), /г?; = /г*—1 и ^г+1 — кроме того, /5(г + 1) = /3(г). Как следствие,

с(рГ2(Л4),рп(Л<+1)) +Сд(т)(^г+1) =

= с(рГ2(/1г_1),рГ1(/^)) + С0ф(/1г) V* € 2,П - 1. С учетом (3.66) мы имеем теперь «полную» систему равенств

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

с(рг2(*4),рг1(/ц+1)) + сд(т)(йт) =

= с(рг2(^_1),рг1.(/&*)) + срщ{Ы) V* € 1,п - 1.

Тогда из (3.65) вытекает равенство

£{к((нг)гео^) = 8иР((Ф>Рг1Ы) + с9(й); тах [с(рг2(/г»-1),рп(/ц)) + с№)(^)]}). (3.67)

С учетом (3.42),(3.47) и (3.67) получаем равенство

откуда с учетом (3.64) извлекается оценка

ь(х,К)^ шш ш 8ир({с(®,рп(г)) + ^(2); т;(рг2(г), # \ {¿})}).

JEЦK)

С учетом (3.41) получаем равенство

у{х,К) ^тт 8ир({с(®,рг!(г)) +с^(г);и(рг2(г),ЛГ\ О'})})

для п Е 2, ЛГ, завершая рассмотрение второго случая.

Таким образом, равенство (3.14) верно во всех возможных случаях.

Следствие 3.1. Справедливо равенство

(3.68)

4 Слои функции Веллмана

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

Напомним, что для К е УХ число \К\ Е 1,АГ обозначает мощность множества К. Положим УХ8 = {К Е = \К\} У5 Е 1, ЛГ. Данное естественное определение имеет смысл распространить на случай пустого множества (пустого списка). Условимся, что N5 = {К Е N¡5 = \К\} Уз Е 0, А7”. Кроме того, отметим, что N0 = {0} и% = ОТдг = {1,Л^}. Выделим из всех списков заданий существенные (с точки зрения условий предшествования) и ранжируем их по мощности; здесь нам потребуются только непустые списки. В этой связи полагаем, что [21, § 4.9]

Список К, принадлежащий С3 для некоторого $ Е 1, -/V, условимся называть существенным списком мощности «5. Кроме того, полагаем при з Е 1, N — 1 и К Е С3] что

Определения (4.1) и (4.2) позволяют ввести специальные множества позиций — слои Д)> &1,..., Проще всего определяются £>о и Ду. Положим

где М есть объединение всех множеств М{, г Е 1,Л^ \ {ргх(г) : г Е К}. Кроме того, положим

С3±{Ке <Пв|У* Е К (рц(г) <£К)У (рг2(*) Е К)} =

(4.1)

= {К € € К (рп(г) € К) =Ф- (рг2(г) € К)} Уз € 1.ЛГ.

&,{К) 4 {г € 1, N \ К\{г} и К € Са+1}.

(4.2)

Д) = М х N0 = М х {0},

(4.3)

Я* = {(х°, 1,ЛГ)}.

(4.4)

Чтобы построить множества А,... , Ду-1 — регулярные слои, нам потребуется ввести клетки пространства позиций, для определения которых введем

м8[#]= и Мг Уа€1,ЛГ-1 УК еС8. (4.5)

ге£э(К)

В терминах множеств (4.5) определяем клетки пространства позиций:

ЩК] 4 {(Х,К) : ж € М5[К]} Уй € 1,ЛГ- 1 УК £ Са. (4.6)

В свою очередь, в терминах клеток (4.6) определяются регулярные слои:

Иа 4 у ЩК) Уз 6 1,ЛГ-1. (4.7)

КеСэ

Теперь мы располагаем слоями 1)5, з е 0, N. Из [21, предложение 4.9.3] следует, что каждое из этих множеств непусто и содержится в X х N. Отметим следующее важное свойство:

(у, К \ {к}) Е А-1 Уз € 1, N У(х, К) Е А У ке ЦК) У у е Мк . (4.8)

С учетом (3.11) определяются сужения функции V (функции Веллмана) на слои пространства

позиций: если з Е 0,ЛГ, то

Vs:Ds->[ 0,оо[ (4.9)

определяется условием

У3(х, К) 4 у(х, К) У(яг, #) Е А,-

Тем самым определен кортеж (И)^€о17 Функций позиции. Отметим некоторые вспомогательные обстоятельства. Так, если з Е 1, Л^, (ж, К) Е А? 3 £ и г Е Mj х Mj, то, согласно (4.8),

(РГ2(*),ЯЛШ) € А-1,

а потому определено значение Vs_i(pr2(z),K \ {j}) Е [0, оо[. Поэтому при s Е 1,7V и (ж, jFT) Е А определена величина

min min sup({c(a;,pri(^))+Cj(^);Ve_i(pr2(^),Ä'\{j})}) =

jel(K) zGMjXMj

= min min sup({c(x,pri(2)) + Cj(z);и(рг2(г),К\{j})}) € [0,oo[.

jel(K) zeMjXMj

Но тогда из теоремы 3.1 имеем по определению функций (4.9), что Va(x,K) = min min sup({c(x,pri(z)) +Cj(z); Vs-i(pr2(z),K \ {;})})

j&(K) zEMjXMj ^4>1q^

Vs € TjV У(х, K) € Ds.

Тем самым при s € 1, N определено правило преобразования в Vs. К этому следует добавить, что, согласно (3.10) и (4.3),

V0(x, 0) = 0 Ух е М. (4.11)

Последнее выражение определяет функцию Vo- Дальнейшее построение осуществляется рекур-рентно.

Пусть т G 0, N - 1 и уже построены функции V*, г € 0,т. Применим для построения Vm+i соотношение (4.10):

Vm+i(x,K) = min min sup({c(x,pri(;z)) + cj(z); Vm(pr2(z), К \ {j})})

jeI{K)z£MjXMj (4.12)

У(х,К) e Dm+1.

Таким образом, осуществляется преобразование Ут Ут+1. После конечного числа шагов, подобных (4.12), все функции Е 0,А^ будут построены. В частности, будет определено

(см. (3.13),(4.4)) значение

V = v(x0,TJj) = VN(x0,TJJ), (4.13)

являющееся экстремумом основной задачи. В связи с (4.10),(4.13) отметим, что (см. (3.68))

V= min_ min sup({c(a:o,pr1(z))H-cj(2;);VAr_i(pr2(z),l,Ar\{j})}). (4.14)

j&(l,N) z£MjxMj

5 Построение оптимального решения

Располагая функциями-сужениями Vo, Vi,..., Vyv-i и значением У, построим оптимальное решение основной задачи в виде некоторой пары маршрут-трасса. Будем полагать, что щ = (х°,х°). Далее, используя (4.14), выберем jji Е 1(1, iV), а также

ть\ Е Mh х Mh (5-1)

так, чтобы выполнялось равенство

V = sup({c(x°,pri(si)) + Ск(щ); Vjv-i(pr2(z:i), 1 ,N\ {ji})})- (5.2)

После этого перемещаемся в точку pri(sj) € Mjx для последующего выполнения «работы» на Л/jj. после чего мы обязаны оказаться в точке pr2(si) G Л/j,. В результате складывается позиция

(pr2(zi), 1, N \ {ji}) е X х ЭТлг-1-

Более того, с учетом (4.8) мы получаем по выбору jji и щ, что

(рг2(^1),1^\{з1}) е Им-!. (5.3)

В самом деле, (х°,1,М) € Ду, ¿1 £ 1(1,-^) и рг2(их) € М^, согласно (5.1), а потому можно применить (4.8) для получения (5.3). Учитывая (4.10) и (5.3), мы получаем равенство

Vjv-i(pr2(si), 1,N\ {jji}) =

= Шп sup({c(pr2(ai),pri(«)) + cj(z); (b 4\

>’лг-2(рг2(г), 1, N \ {¿х; Л)}).

С учетом (5.4) выберем индекс

Ье1(МУ\Й1» (5.5)

и точку

и2 € мь х М|2, (5.6)

на которых реализуется равенство

Vjv-i(pr2(si), 1, АГ \ {j 1}) =

(5.7)

= вир({с(рг2(щ), рг 1 (а2)) + щ2 (я2); Удг-2 (ргг(®2), 1, N \ {дх; &})}).

Заметим сразу, что, согласно (5.2) и (5.7), справедлива следующая цепочка равенств:

V = вир({с(х0, рг1(их)) + С[1 (щ);

8ир({с(рг2(й1),рг1(й2)) + СЬ(и2); 2(рГ2(й2),1,Л^ \ Шш})})}) =

= вир({8ир({с(х°,рг1(и1)) + с^1(и1);с(рг2(®1),рг1(и2)) + С|2(а2)}); (5 8)

1;лГ-2(рГ2(и2),1,Л/'\ {¿1^2})}) =

= 8ир({тах [с(рг2(^_1),рг1(и*;)) + с^Ой*)]; Удг_2(рг2(й2), 1, \ {¿Шг})})-

ке1,2

Замечание 4.1. В целях иллюстрации допустим в пределах настоящего замечания, что N =

2. Тогда мы имеем кортежи

При этом, согласно (5.5), ¿х ф ¿2, а тогда (|з)5€г# = есть перестановка в 1, ТУ = 1,2.

Кроме того, дх Е 1(1, ЛГ), где 1(1,ЛГ) = 1({дв : 5 Е 1,2}), и д2 Е 1({лг}), откуда в силу (3.2), (3.3) вытекает, что (¿5)5€Г77 £ С другой стороны, из (5.1) и (5.6) следует, что (см. (2.4)) Е где а = Сь)5£х^г, а ™гда (а, (я8)аео^) есть допустимая пара маршрут-трасса. С учетом (3.10), (4.3), (5.8), определим значение критерия для этой пары:

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

V = 8ир({шах[с(рг2(йА.-х)5рг1(иА;)) + <^ (и*)]; 0}) = к £1,2

= ПШ [с(рг2(й^_х), ргх(й^)) + ^к(щ)\ =

&€1,ЛГ

= шах [с(рг2(^),ргх(^+х)) + си^(щ+1)] = ^[(а*).^],

г€0,АГ-1

что означает оптимальность решения (а, (г8)зео~^) = (а, (^5)5^02)* П

Возвращаясь к общему случаю ТУ, предположим, что п Е 2, N и уже определены два кортежа

Сь)8ет^: 1>п 1>^; (5-9)

Ы*еб^ (5.10)

для которых выполняются следующие условия:

1') Зк Ф м Ук € Т7п V/ € 1~п \ {к};

2') (ио = (я0, х°))к(я3 € х V« € 1, гг);

з') Ь € 1(1, N \ {¿к : к Е 1,5 - 1} Уз € 1, п;

4') (рг2(иа), 1, N \ {$к : к € 1, в}) € У в Е 1, п;

5') V = зцр({тах;ье1^ [с(рг2^-1),рг1^)) + Цк{ък)\\ ''/’лг-п(рг2(®п)) 1, N \ {л8 : з € 1, гг})}).

Заметим, что в случае п = 2 все условия 1') Г/) выполнены. В самом деле, К ЛГ = 1. Лг \ :

в € 170}, а потому е 1(1,N \ : з <Е 1,0}) по выбору |х. Учитывая (5.5), получаем 3').

Далее, 1') следует из (5.5). Напомним определение щ и то, что (см. (5.1), (5.6)) в нашем случае %и 6 М|а х М^в Уз € 1 ,п. Стало быть, 2') справедливо (при п' = 2). Свойство 4') проверяется следующим образом. У нас (рг2(йо), 1, ./V) — (а?0,1,ТУ) € Д/у, ,|1 € 1(1, ./V) и рг2(их) € М^; с учетом (4.8)

(рг2(и1),1,Лг\-У1» € Г>лг-1- (5-11)

С учетом (5.11), (5.5) и (5.6) получаем также

(рг2(а2),1,ЛГ\ {.)* : к € 1,2}) = (рг2(я2), 1, N \ {ли|2}) =

= (рг2(и2), (1, N \ {]ц}) \ {¿2}) € Ду-2-

Тогда из (5.11) и (5.12) имеем 4'). Наконец, 5;) вытекает из (5.8). □

Вернемся к общему случаю п Е 2, N. Тогда возможно одно из двух:

(п = АТ) У(пе2,ЛГ-1). (5.13)

Оба случая мы рассмотрим отдельно.

а) Пусть сначала п = N. Тогда из (5.9) и (5.10) имеем, что

0ь)5£1?л/- ’ 1,ТУ, (^5)5^0,N * 0, N —> X х X; (5.14)

для краткости обозначим г\ == Сь)^!#- ^ учетом 1') 77 Е Р. Тогда, в частности, из 3') вытекает, что

Ф) = Зв £ Ц{з к : & Е з, Щ) Уз Е 1, N (5.15)

(здесь мы учитываем, что, в силу биективности 77,

{¿к : к Е з, Щ = 1, N \ {¡к : к Е 1,5 - 1},

где в Е 1,ТУ). Из (5.15), по определению 77, следует, что

7/00 € 1({7?(*0 : к Е з,Щ) Уз Е 1,ЛГ,

т. е. 77 Е (I — Ы)[1,7У’] или (см. (3.3)) г] Е А; иными словами, установлена допустимость маршрута 'П ~ ^ Учетом 20 мы в рассматриваемом сейчас случае имеем для второго кортежа из

(5.14), т. е. для (^)5(Ео1у ^ свойства

(230 = (х0,х°))к(я8 € Мф) х Мф) V« € 1, Ы).

С учетом (2.4) получаем включение (из)3£оЛ Е Таким образом, (77, (%з)зеол) есть Д°ПУ'

стимая пара маршрут-трасса:

77 € А : (жв)вда € 3^. (5.16)

Напомним, что, согласно 4'), в рассматриваемом случае п = N справедливо равенство (см. (4.9),

(4-11)) ____

п(рг2(®п),1,^\ (л® : « е 1,п}) = Уо(рг2(и^),0) = 0,

где (рг2(илг), 1, N \ {¿к : к € 1, ./V}) = (рг2(и^), 0) е Д). Поэтому, согласно (2.5) и 5'),

У = зир({тах [с(рг2(й*_1),рг1(иЛ)) + с„(*л(^)]; 0}) =

Ле1,ЛЛ

= тах [с(рг2(иА_1),рг!(иЛ)) + с-пл&к)] — feel>^v

= ^7?[(иг)г6о^У:])

что с учетом (2.7) и (5.16) означает, что (г), (и5)з6о~лг) есть оптимальное решение задачи (2.6). Итак, в случае а) мы уже располагаем в виде пары кортежей (5.9),(5.10) оптимальным решением основной задачи.

Ь) Пусть п € 2, ТУ — 1. Тогда п + 1 £ 3, Л’. С учетом 4') имеем, в частности, что

(рг2(и„), 1, N \ {ль : к Е 1, п}) € £>лг-п, (5-17)

где N — п € 1, N — 2. Из (4.10) и (5.17) вытекает, что

Улг-п(рг2(ип), 1, \ {Ь : к е 1, та}) =

___тш ¡шп 8ир({с(рг2(жп),рг1(г)) + с,-(г); (5 18\

jeЦl,N\{jk■.keT¿i})zeMjxMj V ' >

Уя-(П+1)(РГ2(^), (1,ЛГ\ и к:ке 1,та}) \ {;})})•

С учетом этого выражения, выберем такие

¿„+1 6 1(1, N \{$к : к Е Т~п}); (5.19)

®п+1 Е Щп+1 х А0п+1, (5.20)

ЧТО

У^_п(рг2(ип), 1, N \ {¿к : к Е Мг}) =

= 8ир({с(рг2(йп),рг1(йп+1)) +С|п+1(ип+1); (5.21)

1;Я-(п+1)(рг2(Еп+1),1,ЛГ\{|к : к Е 1,п + 1})}).

Тем самым получаем (см. (5.9),(5.10),(5.19),(5.20)) «удлиненные» кортежи

(ъ)5еТ^+Т : -> (5.22)

(й«)5€о;п+1 : 0, п + 1 ->• X х X. (5.23)

Заметим, что, согласно (5.19), ¿п+х € I, N \ {$к : к € Т^п}, а потому (см. 1')) справедливо

1/;) ¿А; Ф Ук €1,тг + 1У/€1,п + 1\ {к}.

Кроме того, из 2') и (5.20) вытекает

2") (и0 = (х°, х°))&с(ш,3 € М\3 х V« € 1,7г + 1).

Далее, из свойства 3') и (5.19) получаем справедливость следующего свойства:

3") ^ € 1(1,N \ : А; Е 1 ,з- 1}) Уя € 1,п+ 1.

Заметим, что (см. (4.8),(5.19),(5.20)) из рг2(кп+1) Е Мп+х следует (рг2(и„+1), 1, N \ {¡к : к Е 1,п + 1}) =

= (рг2(яп+1),(1,ЛГ\ {¡к : к Е М}) \{Лп+1}) € Ом_{п+1).

С учетом 4') получаем справедливость свойства

4") (рг2(ив), 1, N \ {л*; : к Е 1, в}) € 1>лг-3 V« € 1, гг + 1.

Наконец, из 5Г) и (5.21) вытекает следующая цепочка равенств:

V = вир({тах [с(рг2(и*;_1),рг1(жй)) + с^(и*;)];8ир({с(рг2(жп),рг1(ип+1)) + ^п+1(и„+1);

к£1,п

Улг-(п+1)(рг2(®п+1)>1># \ Цк : к Е 1,п + 1})})}) =

= 8ир({вир({тах [с(рг2(и*_1),рг1(®А:)) + с^(й*;)];с(рг2(ип),рг1(ип+1)) + ^п+1(и„+1)});

к€1,п

Удг_(п+1)(рг2(ип+1), 1,лг \ {¿Д. : А: € 1,п + 1})}) =

= эир({ тах \с{\>У2Ык-\),Щ\Ык)) + с^Ык)У,

к£1,п+1

(п+1)(рг2(®п+1), 1,ЛГ \ {¿А: ; к € 1, гг + 1})}).

Эта цепочка означает, в частности, что

5^) V = вир({ тах_[с(рг2(як-1),-рг1(як)) + С1к(я,к)};

&£1,п-М

Улг_(п+1)(рг2(еп+1),1,ЛГ\ {¿д. ; к Е 1,гг + 1})}).

Таким образом, в случае Ь) каждый из кортежей (5.14) удалось продолжить «на один шаг» (см. (5.22),(5.23)) с сохранением всех основных свойств: система 1/)~5/) преобразовалась в 1")-5"). После выполнения конечного числа (регулярных) шагов типа Ь) будет реализована ситуация случая а), т. е. оптимальное решение основной задачи.

6 Вычислительный эксперимент

С целью проведения вычислительного эксперимента была написана программа на языке программирования C++ с использованием нововведений стандарта C++11, работающая в среде 64-разрядной ОС Windows 7 Professional; для компиляции использовался компилятор Microsoft Visual C++ 2010. «Верхний» уровень задачи был реализован отдельно от «нижнего», т. е. экстремумы всевозможных внутренних работ предполагались известными на момент начала работы программы. Подобный подход имеет свои преимущества, позволяя решать задачи с различными вариантами внутренних работ, не модифицируя решение задачи верхнего уровня. Эксперимент проводился на ПЭВМ со следующими характеристиками:

- 2-ядерный процессор Intel® Core™ 2 Duo Е8400 (3 ГГц);

- 2 х 2 ГБ ОЗУ РС2-6400 (400 МГц) в двухканальном режиме.

Исследовалась задача на плоскости X — RxRcN — 27 мегаполисами и |К| = 25 условиями предшествования при одинаковом числе городов в каждом мегаполисе, равном 10, 20, 25. Ниже перечислены условия предшествования в виде адресных пар: (1,10); (12,2); (2,13); (13,15); (6,16); (15,16); (18,27); (9,27); (10,9); (11,19); (20,19); (25,26); (23,22); (21,20); (24,22); (14,16); (7,10); (8,2); (1,9); (14,26); (2,27); (3,6); (3,19); (18,17); (14,25). За стоимость внешних перемещений принималось евклидово расстояние в X, за стоимость внутренних принималась манхеттанская норма || • || перемещения от “точки входа” в мегаполис до “точки выхода” из мегаполиса через его центр (если х = (х\,х2),У = 0/ъУ2) — Два плоских вектора, то ||я; - у|| = \х\ - у\\ + \х2 - 2/2I)- Мегаполисы представляют собой круги одинакового радиуса, города расположены по окружности мегаполиса и разделены равными дугами соответствующей угловой величины (зависящей от числа городов в мегаполисе). Отметим, что использование условий предшествования заметно сокращает работу. Так, в отсутствие условий предшествования, требовалось бы проанализировать 2N = 227 существенных списков, тогда как с учетом вышеуказанных условий предшествования число существенных списков не превосходит 450 тыс. — менее чем 219. Имеющийся объем оперативной

памяти не позволяет решить задачу без условий предшествования — только на то, чтобы просто

описать (т. е. на хранение в памяти всех существенных списков, их существенных продолжений и возможных “точек входа” — баз, с которых можно обойти существенный список, не нарушив условий предшествования) все существенные списки, без учета значений функции Веллмана, в этом случае потребовалось бы 2ГБ оперативной памяти (на хранение этой информации расходуется по 16 байт на каждый существенный список). Массив же значений функции Веллмана для одного из самых населенных слоев, 13-го, займет, как минимум, около 1,32 ГБ: всего существенных списков на этом уровне С27, в каждый можно зайти из 27 — 13 = 14 мегаполисов, в каждом из которых 10 городов (наименьшая размерность, рассмотренная нами); само значение функции занимает 2 байта, к тому еще 2 байта на хранение номера базы, с которой начинается обход, что приводит к расходу более чем 1,41 млрд байтов, т. е. около 1,32 ГБ. Примерно столько же места нужно на хранение значений функции Веллмана для 14-го слоя, что уже приводит к расходу более чем 4 ГБ. Ниже указано время счета в каждом из трех случаев, для которых проводились расчеты:

27 мегаполисов по 10 городов - 542 с;

27 мегаполисов по 20 городов - 4154 с;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

27 мегаполисов по 25 городов - 8081 с.

Ниже изображена оптимальная трасса для 27 мегаполисов по 20 городов с 25 условиями предшествования. Кругами здесь обозначены мегаполисы, маленькими квадратами — города, попавшие в

г-0

Ф \

Г-Н.. Г-0

% ХА...............

г-G

\ Ч

..40"

4w*\"

ш

Vf.....

.'"Г......... Ш

>4 ...............ф ....Ьчн

,• ..........................................

/ \ •-%] .../.............чё /

"■й

••■в.

'■В*-

М3

&&■

ЕГ'

оптимальную трассу (включая базу), пунктиром показаны перемещения внутри мегаполисов, перемещения между мегаполисами изображены линиями, состоящими из точек; база расположена в нижнем левом углу. Координаты центров мегаполисов генерировались случайным образом так, чтобы мегаполисы не перекрывались, с целью упрощения визуализации результатов работы алгоритма.

В ближайшее время планируется осуществить параллельную реализацию алгоритма на основе библиотеки ОрепМР и провести расчеты на МВС; предполагается распределить между несколькими исполнителями работы по расчету стоимости подзадач одного слоя, что не представляет особой сложности по причине того, что такие расчеты для разных подзадач одного уровня являются независимыми. Соответственно, проблем, связанных с конкуренцией между исполнителями, удастся избежать.

Список литературы

1. Чепцов А.Г., Салий Я. В. Об одной задаче на узкие места // Сборник трудов Всероссийской конференции (Челябинск, 28 ноября - 3 декабря 2011 г.). Челябинск: Издательский центр ЮУрГУ, 2011.

2. Меламед И.И., Сергеев С.И., Сигал И.Х. Задача коммивояжера. Вопросы теории // Автоматика и телемеханика. 1989. № 9. С. 3-34.

3. Меламед И.И., Сергеев С.И., Сигал И.Х. Задача коммивояжера."Точные алгоритмы // Автоматика и телемеханика. 1989. № 10. С. 3-29.

4. Меламед И.И., Сергеев С.И., Сигал И.Х. Задача коммивояжера. Приближенные алгоритмы // Автоматика и телемеханика. 1989. № 11. С. 3-26.

5. Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. М.: Мир, 1982. 416 с.

6. Литл Дж., Мурти К., Суини Д., Кэрел К. Алгоритм для решения задачи о коммивояжере // Экономика и мат. методы. 1965. Т. 1. С. 94-107.

7. Беллман Р. Применение динамического программирования к задаче о коммивояжере // Кибернетический сборник. М.: Мир, 1964. Т. 9. С. 219-228.

8. Хелд М., Карп P.M. Применение динамического программирования к задачам упорядочения // Кибернетический сборник. М.: Мир, 1964. Т. 9. С. 202-218.

9. Мину М. Математическое программирование. Теория и алгоритмы. М.: Наука, 1990. 488 с.

10. Сергеев С.И. Алгоритмы решения минимаксной задачи коммивояжера. I // Автоматика и телемеханика. 1995. № 7. С. 144-150.

11. Коротаева Л. H., Ченцов А. Г. Об одном обощении задачи коммивояжера “на узкие места” // Журнал вычисл. матем. и матем. физ. 1995. Т. 35. № 7. С. 1067-1076.

12. Ченцов A.A., Ченцов А.Г. Экстремальная задача маршрутизации “на узкие места” с ограничениями в виду условий предшествования // Труды ИММ УрО РАН. 2008. Т. 14. № 2. С. 129-142.

13. Сесекин A.H., Ченцов A.A., Ченцов А.Г. Об одной задаче маршрутизации “на узкие места” // Труды ИММ УрО РАН. 2010. Т. 16. № 1. С. 152-170.

14. Ченцов A.A. Метод итераций в задаче последовательного обхода множеств (обобщенная версия задачи коммивояжера на узкие места) // Алгоритмы и программные средства параллельных вычислений. Екатеринбург: УрО РАН, 2002. Вып. 6. С. 209-230.

15. Маркелова Е.Ю., Рольщиков В.E., Ченцов А.Г. Задача маршрутизации конечного числа переходов системы с абстрактной функцией агрегирования затрат / Челяб. гос. ун-т. Челябинск, 1998. 17 с. Деп. в ВИНИТИ 25.05.98, № 1577-В98.

16. Сесекин А.Н, Ченцов A.A., Ченцов А.Г. Маршрутизация с абстрактной функцией агрегирования стоимости перемщений // Труды ИММ УрО РАН, 2010. Т. 16. № 3. С. 240-264.

17. Ченцов A.A., Ченцов А.Г., Ченцов П.А. Экстремальная задача маршрутизации “на узкие места” с ограничениями в виде условий предшествования // Труды ИММ УрО РАН, 2008. Т. 14. № 3. С. 183-201.

18. Ченцов A.A., Ченцов А.Г., Ченцов П.А. Метод итераций в задаче маршрутизации с внутренними потерями // Труды ИММ УрО РАН, 2009. Т. 15. № 4. С. 270-289.

19. Ченцов A.A., Ченцов А.Г., Ченцов П.А. Экстремальная задача маршрутизации перемещений с ограничениями и внутренними потерями // Известия вузов. Математика. 2010. № 6. С. 64-81.

20. Ченцов А.Г. Метод динамического программирования в экстремальных задачах маршрутизации с ограничениями // Известия РАН. Теория и системы управления. 2010. № 3. С. 52-66. (Оптимальное управление).

21. Ченцов А.Г. Экстремальные задачи маршрутизации и распределения заданий: вопросы теории. М.: Ижевск, НИЦ «Регулярная и хаотическая динамика», Ижевский институт компьютерных исследований, 2008. 240 с.

22. Сесекин А.Н., Ташлыков О.Л., Щеклеин C.E., Куклин М.Ю., Ченцов А.Г., Кадников A.A. Использование метода динамического программирования для оптимизации траектории перемещения работников в радиационно опасных зонах с целью минимизации дозовой нагрузки // Изв. вузов. Ядерная энергетика. 2006. № 2. С. 41-48.

23. Ташлыков О.Л., Сесекин А.Н., Щеклеин C.E., Ченцов А.Г. Разработка оптимальных алгоритмов вывода АЭС из эксплуатации с использованием методов математического моделирования // Изв. вузов. Ядерная энергетика. 2009. № 2. С. 115-120.

24. Куратповский К., Мостовский М. Теория множеств. М.: Мир, 1970. 416 с.

25. Кормен Т., Лейзерсон К., Ривест Р. Алгоритмы: построение и анализ. М.: МЦНМО, 2000. 960 с.

Поступила в редакцию 6 июня 2012 г.

Salii Ya.V., Chentsov A.G. On a bottleneck routing problem with internal tasks.

An economical variant of the dynamic programming method for an extremal bottleneck routing problem with internal tasks constrained by precedence conditions is considered. The algorithm for constructing the optimal solution based on this method is implemented for a personal computer.

Key words: routing; precedence conditions; internal tasks; dynamic programming; layers of the Bellman function.

i Надоели баннеры? Вы всегда можете отключить рекламу.