Автоматика и телемеханика, № 5, 2023
Оптимизация, системный анализ
и исследование операций
© 2023 г. А.Г. ЧЕНЦОВ, чл.-корр. РАН (chentsov@imm.uran.ru),
П.А. ЧЕНЦОВ, канд. физ.-мат. наук (chentsov.p@mail.ru)
(Институт математики и механики им. Н.Н. Красовского УрО РАН,
Екатеринбург;
Уральский федеральный университет им. Б.Н. Ельцина,
Екатеринбург)
ДВУХЭТАПНОЕ ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
В ЗАДАЧЕ МАРШРУТИЗАЦИИ
С ЭЛЕМЕНТАМИ ДЕКОМПОЗИЦИИ
Рассматривается экстремальная задача маршрутизации перемещений
с ограничениями. Одно из таких ограничений связано с выделением в со-
ставе исходной задачи предваряющей и финальной подзадач; задания, от-
носящиеся к предваряющей подзадаче, должны быть выполнены прежде,
чем начнется выполнение заданий финальной подзадачи. Такое условие
может, в частности, возникать в задаче об управлении инструментом при
термической резке на машинах с числовым программным управлением
(ЧПУ): при наличии среди заготовок так называемых длинномерных де-
талей вблизи узкой границы материала процесс резки следует начинать
с этих заготовок, так как такие детали подвержены тепловым дефор-
мациям, что потенциально может привести к браку. В рассматриваемой
постановке выделяются две зоны, связанные с обслуживанием деталей.
Предполагается, что совокупный маршрутный процесс в исходной зада-
че включает точку старта, собственно маршрут (перестановку индексов)
и конкретную траекторию, согласованную с упомянутыми маршрутом и
точкой старта. Предполагается, что в каждой из подзадач выделены свои
условия предшествования, а функции стоимости, формирующие аддитив-
ный критерий, могут допускать зависимость от списка заданий. Для при-
менения динамического программирования в качестве метода решения
вводится специальная двухэтапная процедура. Установлена структура оп-
тимального решения и, на ее основе, построен алгоритм, реализованный
на персональной электронно-вычислительной машине (ПЭВМ). Проведен
вычислительный эксперимент.
Ключевые слова: динамическое программирование, маршрут, мегаполис,
условия предшествования.
DOI: 10.31857/S0005231023050070, EDN: AJGKXO
1. Введение
В прикладных задачах нередко возникает необходимость в выборе оче-
редности тех или иных заданий с соблюдением разнообразных ограничений.
133
Последнее обстоятельство приводит к существенным отличиям уже на уровне
постановки данных задач в сравнении с естественным прототипом — задачей
коммивояжера (ЗК или TSP в англоязычных публикациях); см. [1-7] и др.
Ряд обстоятельств, включая наличие ограничений, потребовал разработки
специальной теории для решения задач маршрутизации прикладной направ-
ленности (сейчас отметим только монографии [8-10]).
Так, в частности, выяснилось [8, § 4.9], что условия предшествования, есте-
ственные для инженерных приложений, можно использовать “в положитель-
ном направлении” в смысле снижения вычислительной сложности; данный
факт был установлен теоретическим путем. Оказалось также, что ограни-
чение, являющееся основным в данной работе (см. также [11, 12]), также
работает “в положительном направлении”, что видно, например, из резуль-
татов [11, раздел 10].
Речь идет о постановке, когда все множество заданий, подлежащих по-
следовательному выполнению, разбито на два (дизъюнктных) подмножества
(п/м), причем выполнение заданий, относящихся ко второму п/м, можно на-
чинать только после выполнения всех заданий, относящихся к первому п/м
(отметим, что в данной задаче могут присутствовать свои условия предше-
ствования, а функции стоимости, формирующие аддитивный критерий, до-
пускают зависимость от списка заданий). Такая ситуация складывается в за-
даче, связанной с фигурной термической резкой деталей на машинах с ЧПУ.
Речь идет о возможности эффективного отвода тепла, что мотивируется со-
ображениями, связанными с термическими деформациями (подробнее см.
в [10, § 1.3]: правила жесткости детали и жесткости листа). Упомянутые сооб-
ражения приводят, в частности, к идее резки зонами (см. [10, § 1.3.3]); в свя-
зи с реализацией данной идеи отметим, в частности, построения [12, § 12],
относящиеся к многоэтапному варианту процедуры на основе динамического
программирования (ДП).
Опуская подробности (см. [10, гл. 1]), ограничимся сейчас обсуждением
одного характерного случая двух зон. Рассмотрим вопрос о предваряющей
резке длинномерных деталей (см. [11, раздел 10]); это детали, у которых
[10, с. 46] один из габаритов больше другого не менее чем в 10 раз. Такие
заготовки подвержены максимальным тепловым деформациям, а потому, ес-
ли заготовки находятся вблизи узкой границы материала, процесс резки сле-
дует начинать с них; тогда при осуществлении резки этих заготовок возле
точек врезки и выключения инструмента будет находиться достаточно “мно-
го” сплошного металла. Естественная реализация данного принципа состо-
ит в формировании зоны, включающей длинномерные (и, возможно, еще
какие-то) детали; данную зону следует связать с предваряющей задачей.
Оставшиеся детали образуют вторую (финальную) зону. Разумеется, дан-
ный вариант является простейшим всего лишь в части резки зонами, но на
нем остановимся подробнее, продолжая построения [11, 12] и сопровождая
алгоритмические построения теоретическими обоснованиями. В частности,
134
положения [11, 12] будут дополнены некоторыми свойствами предваряющей
задачи.
Отметим, что разделение исходной задачи на совокупность двух подзадач
можно свести к наложению новых условий предшествования. В этом случае
реализуется “стандартная” (в смысле [8, 13, 14]) экстремальная задача марш-
рутизации, для которой структура оптимального решения известна; однако
для задач ощутимой размерности возникают (понятные в связи с известной
труднорешаемостью ЗК) трудности с вычислительной реализацией. Деком-
позиционный подход [11, 12] позволяет в значительной степени эти трудно-
сти преодолеть (см. результаты вычислительного эксперимента в [11, 12]), не
теряя оптимальность. Это делает целесообразным его детальное исследова-
ние особенно в связи с работами по фигурной листовой резке на машинах с
ЧПУ (см., в частности, [10, 15-18]). Здесь будем ориентироваться на вариант
с предваряющей резкой длинномерных деталей. Условия предшествования
полагаем сразу локализованными для предваряющей и финальной подзадач.
2. Общие понятия и обозначения; постановка задачи
Отметим используемые ниже аббревиатуры: в/з (вещественнозначная),
ДП (динамическое программирование), ДР (допустимое решение), ЗК (за-
дача коммивояжера), МП (маршрутный процесс), п/м (подмножество), УП
(упорядоченная пара). Задачи, исследуемые в статье и традиционно рассмат-
риваемые как труднорешаемые, требуют для построения оптимальных проце-
дур прежде всего обстоятельной формализации. Это тем более существенно
в условиях ограничений, которые возникают в инженерных приложениях и
существенно осложняют постановку в сравнении с более традиционными для
дискретной оптимизации задачами типа ЗК. В этой связи потребуется сводка
определений общего характера, включая некоторые положения теории мно-
жеств. Последнее существенно уже для корректной постановки задачи.
Используем стандартную теоретико-множественную символику (кванто-
ры, связки и др.); — пустое множество, — равенство по определению.
Семейством называем множество, все элементы которого — множества. Как
обычно [19, c. 62], выражение { a ∈ A | . . .} обозначает множество всех эле-
ментов a ∈ A со свойством . . . ; данное соглашение широко используется в
дальнейшем.
Двум любым объектам x и y сопоставляется неупорядоченная пара
{x;y} : {x;y} — множество, содержащее x, y и не содержащее никаких дру-
гих элементов. Тогда объекту z сопоставляем синглетон {z} {z; z}, со-
держащий z. Множество является объектом, а потому, следуя [19, с. 67],
любым двум объектам u и v сопоставляем их упорядоченную пару (УП)
(u, v) {{u}; {u; v}} с первым элементом u и вторым элементом v. Если же h
есть УП, то через pr1(h) и pr2(h) обозначаем соответственно первый и второй
элементы h, h = (pr1(h), pr2(h)). Трем любым объектам x, y и z сопостав-
ляется их (упорядоченный) триплет (x, y, z) ((x, y), z) [20, с. 17] с первым
135
элементом x, вторым элементом y и третьим элементом z. Итак, упорядочен-
ный триплет вводится (см. [20, c. 17]), строго говоря, как УП специального
вида (соглашение, используемое в теории множеств); иногда это используется
в дальнейшем.
Через P(H) и P(H) обозначаем соответственно семейства всех и всех
непустых п/м произвольного множества H, а через Fin(H) — семейство
всех непустых конечных п/м H; Fin(H) ⊂ P(H). Для конечного множе-
ства H имеем Fin(H) = P(H). Если A, B и C — три множества, то
[20, с. 17] A × B × C (A × B) × C; поэтому при x ∈ A × B и y ∈ C имеем
(x, y) ∈ A × B × C. Для любых непустых множеств S и T через TS обозна-
чаем (см. [19, с. 76]) множество всех отображений (функций) из S в T ; вы-
ражения h ∈ TS и h : S → T отождествимы. Значение отображения в точке
области определения (здесь — множество S) обозначается традиционно: при
g ∈ TS и s ∈ S имеем g(s) ∈ T. Для непустых множеств S, T, C ∈ P(S) и
отображения h ∈ TS
h1(C) {h(x) : x ∈ C} ∈ P(T)
есть образ C при действии h. Следуем традиционным обозначениям для
функций нескольких переменных; отметим только, что для непустых мно-
жеств S, T , P , Q, отображения ψ ∈ QS×T×P и точек h ∈ S × T , l ∈ P опре-
делено ψ(h, l) = ψ(pr1(h), pr2(h), l) ∈ Q. В качестве Q часто используем
R+ {ξ ∈ R | 0 ξ}, где R — вещественная прямая. Если H — непустое мно-
жество, то R+[H] (R+)H есть множество всех неотрицательных веществен-
нозначных (в/з) функций на H.
В дальнейшем N ≜ {1; 2; . . .} ∈ P(R+) и N0 {0} ∪ N = {0; 1; 2; . . .} ∈
∈ P(R+); при K ∈ P(N) и m ∈ N имеем K ⊕ m {k + m : k ∈ K} ∈ P(N).
При p ∈ N0 и q ∈ N0
p,q {k ∈ N0 | (p k)&(k q)} ∈ P(N0)
(случай p, q = не исключается). Заметим, что
1, 0 = и
1, m =
= {k ∈ N | k m} при m ∈ N. Для непустого конечного множества K в ви-
де |K| ∈ N имеем мощность K и, в виде 1, |K| = {j ∈ N | j |K|}, непустой
дискретный интервал N. Если m ∈ N, то (bi)[1, m] есть (непустое) множество
всех перестановок [21, с. 87] дискретного интервала 1, m; при α ∈ (bi)[1, m] в
виде α-1 (bi)[1, m] имеем перестановку, обратную к α:
α(α-1(k)) = α-1(α(k)) = k ∀k ∈ 1, m.
Отображения, определенные на конечных п/м N0, называем кортежами, ис-
пользуя для них понятие образа непустых п/м области определения; в частно-
сти, это касается перестановок. Будем часто использовать индексную форму
записи отображений и, в частности, кортежей (семейство с индексом; см. [22,
с. 11]). Символы и будут использоваться для обозначения операций скле-
ивания кортежей.
136
Как и принято в теории множеств (см. [19]), отношением называем мно-
жество, состоящее из УП.
2.1. Постановка задачи
В дальнейшем X — непустое множество, X0 Fin(X) — множество воз-
можных точек старта рассматриваемых процессов, n ∈ N, n ≥ 4; фиксирова-
ны множества
(2.1)
M1 Fin(X),... ,Mn
Fin(X),
называемые мегаполисами, а также отношения
(2.2)
M1 ∈ P(M1 × M1),... ,Mn ∈ P(Mn × Mn
).
При каждом j ∈ 1, N предполагается, что элементами отношения Mj явля-
ются всякий раз УП, включающая пункт прибытия в мегаполис Mj и пункт
отправления из Mj; само Mj есть множество всех УП упомянутого вида.
В отношении X0 и мегаполисов (2.1) полагаем, что
(
)
(
)
(2.3)
Mj ∩ X0 = ∀j ∈ 1,n
&
Mp ∩ Mq = ∀p ∈ 1,n ∀q ∈ 1,n \ {p}
Условия (2.3) типичны для обсуждаемых задач маршрутизации. В виде
M {Mi :i ∈ 1,n} получаем семейство мегаполисов основной задачи, подле-
жащих посещению из той или иной точки X0. Полагаем, что M реализуется
в виде суммы двух непустых подсемейств. Для их введения фиксируем число
N ∈ 2,n - 2, в терминах которого полагаем, что
(2.4)
M1 {Mi : i ∈ 1,N}, M2 M \ M1 = {Mi
: i ∈ N + 1,n}
(последнее в (2.4) свойство легко проверяется с учетом (2.3)). Каждое из
семейств (2.4) содержит не менее двух мегаполисов. Определяя семейства
(2.4), рассмотрим задачу о посещении мегаполисов из M как совокупность
двух связанных подзадач: задачу о посещении мегаполисов из M1 и задачу о
посещении мегаполисов из M2. В этой связи полагаем при j ∈ 1, n - N, что
(см. (2.2))
M(j) MN+j Fin(X) ∀j ∈ 1,n - N.
Из (2.4) следует, что M2 = {M(j) : j ∈ 1, n - N}. В связи с упомянутым под-
ходом уместно принять соглашение о том, что условия предшествования, воз-
можно имеющиеся в M-задаче, локализуются в M1- и M2-задаче. С учетом
этих соображений введем множества
(K1 ∈ P(1, N × 1, N ))&(K2 ∈ P(1, n - N × 1, n - N)),
137
элементы которых (а это УП) называем адресными парами; у каждой та-
кой пары первый элемент называем отправителем, а второй — получателем.
Полагаем далее, что
(2.5)
(K0 ∈ P(K1) ∃z0 K0 : pr1(z0) = pr2(z) ∀z ∈ K0)
&(K0 ∈ P(K2) ∃z0K0 : pr1(z0) = pr2(z) ∀z ∈K0).
Условия (2.5) обычно выполняются в практических задачах (см. обсуждение
в [8, часть 2]). Так, в случае листовой резки к этому условию сводится сле-
дующее традиционное требование: если вырезаемая деталь имеет ряд внут-
ренних контуров, то их резка должна осуществляться раньше по отношению
к резке внешнего (объемлющего) контура; см. далее [8, замечание 2.2.1].
Замечание 1. Если ввести
K2 {(pr1(z) + N,pr2(z) + N) : z ∈ K2}, то
в виде K1 и
K2 получим два п/м 1,n × 1,n. Можно рассматривать случай,
когда K1K и
K2K, гдеK 1,n × 1,n, аK ∈ P(1,n × 1,n) можно рас-
сматривать как совокупное множество адресных пар и использовать для вве-
дения совокупных условий предшествования. Если при этом УП z ∈K тако-
ва, чтоk pr1(z) 1, N иl pr2(z) ∈ N + 1, n, то в рамках данной поста-
новки с выделением M1- и M2-задачи посещение Mˆk раньше, чем Mˆl, будет
осуществляться автоматически и специального учета z как адресной пары
уже не требуется. Если же z ∈K обладает свойствомk pr1(z) ∈ N + 1, n
и lpr2(z) 1,N, то задача с условиями предшествования, определенны-
ми посредствомK, неразрешима при предваряющем решении M1-задачи и
последующем решении M2-задачи. С учетом этих соображений вполне есте-
ственным, в рамках данной постановки с выделением M1-задачи и M2-за-
дачи, представляется случай, когда
K= K1K2, т.е. дополнительное рас-
смотрение перекрестных условий предшествования не требуется, если толь-
ко рассматривается разрешимая, в условиях вышеупомянутой декомпозиции,
совокупная задача.
Пусть P1 (bi)[1, N ] и P2 (bi)[1, n - N]; тогда (см. [8, (2.1.5), (2.2.53);
10, (4.4.6)]) имеем с учетом (2.5), что
{
}
(2.6)
A1
α ∈ P1 | α-1(pr1(z)) < α-1(pr2(z)) ∀z ∈ K1
∈ P(P1
),
{
}
(2.7)
A2
α ∈ P2 | α-1(pr1(z)) < α-1(pr2(z)) ∀z ∈ K2
∈ P(P2
).
Итак, имеем (при условиях (2.5)) непустые множества допустимых по пред-
шествованию маршрутов (перестановки индексов называем маршрутами) в
M1- и M2-задаче. Пусть теперь P ≜ (bi)[1,n] (множество всех маршрутов
полной задачи). При α ∈ P1 и β ∈ P2 (склеенный) маршрут α ♦ β ∈ P опреде-
ляется правилом
(
)
(2.8)
(α ♦ β)(k) α(k) ∀k ∈ 1, N &
(
)
& (α ♦ β)(l) β(l - N) + N ∀l ∈ N + 1, n
138
Здесь говорится о склеивании перестановок специального вида (склейка со
сдвигом). Ниже будет введена еще одна операция склеивания, которая будет
применяться уже не к перестановкам, а к фрагментам траекторий, в связи с
чем там будет использоваться другое обозначение. В (2.8) можно, в частности,
использовать маршруты из множеств (2.6), (2.7). С учетом этого получаем,
что
(2.9)
P ≜ {α ⋄ β : α ∈ A1,β ∈ A2} = {pr1(z) pr2(z) : z ∈ A1 × A2} ∈ P
(P).
Маршруты из P (2.9) рассматриваем как допустимые в M-задаче (исходя из
идеи предварительного решения M1-задачи и последующего решения M2-за-
дачи). Следуя [11, (2.11)-(2.13)], естественным образом приходим к траекто-
риям [11, (2.14)]. Для этого полагаем сначала, что Z ≜ (X × X)0,n. Тогда при
x ∈ X0 и γ ∈ P в виде
{
}
(2.10)
Zγ[x] (zt)t∈0,n Z | (z0 = (x,x))&(zτ Mγ(τ) ∀τ ∈ 1,n)
Fin(Z)
имеем (см. [11, (2.11)-(2.13)]) пучок траекторий, стартующих из x (в редак-
ции [11, 12] из (x, x); различие несущественно) и согласованных с γ. Кроме
того, при x ∈ X0
{
}
(2.11)
D[x] (γ, (zt)t∈0,n) P × Z | (zt)t∈0,n ∈ Zγ[x]
Fin(P × Z)
рассматриваем как множество всех допустимых решений (ДР) в M-задаче
со стартом в x, т.е. допустимых в (M, x) — задаче. Наконец в виде
(2.12){
}
D ≜ (γ,(zt)t∈0,n,x) P × Z × X0 | (γ,(zt)t∈0,n) D [x]
Fin(P × Z × X0)
имеем множество всех ДР M-задачи, называемых маршрутными процес-
сами (МП). Подробности содержательного характера см. в [11, 12]. Сле-
дуя [11, (2.17)], при j ∈ 1, n введем (см. (2.2)) множества
(
)
(
)
Mj {pr1(z) : z ∈ Mj} ∈ Fin(Mj) & Mj {pr2(z) : z ∈ Mj} ∈ Fin(Mj)
со свойством Mj Mj × Mj ⊂ Mj × Mj . При j ∈ 1, n - N имеем, конечно, что
(2.13)
M(j) = MN+j Fin(X), M(j) ≜ MN+j ∈ P(M(j) × M(j)
),
M(j) ≜ MN+j Fin(M(j)), M(j) ≜ MN+j Fin(M(j)).
Здесь имеем простую перенумерацию множеств, используемых в финальной
задаче. Кроме того, с учетом (2.13) полагаем (см. [11, (2.18)]), что
M есть
объединение всех множеств M(i), i ∈ 1, n - N. Пусть, наконец, N ≜ P(1, n);
множества из N называем далее списками. Следуя [11, (2.19)], имеем, что
(
) (
)
(2.14)
X ≜ MiFin(X) & X ≜ ( Mi) ∪ X0Fin(X)
;
i=1
i=1
139
фиксируем в дальнейшем следующие в/з функции:
(2.15) c ∈ R+[X × X × N], c1 ∈ R+[M1 × N], . . . ,
cn ∈ R+[Mn × N], f ∈ R+[M].
Отметим в этой связи, что при γ ∈ P и τ ∈ 1, n в виде γ1(τ, n) N имеем
образ дискретного интервала τ, n при действии γ. Значения c используем
для оценивания внешних перемещений, значения c1, . . . , cn — для оценива-
ния внутренних работ, связанных с посещением мегаполисов, а значения f
для оценивания терминального состояния. Заметим, что одним из аргумен-
тов функций c, c1, . . . , cN является список заданий. Данная зависимость мо-
жет возникать в задаче, связанной с листовой резкой, из соображений уче-
та возможности тепловых деформаций деталей при врезке путем введения
штрафов. Говоря об общей постановке, отметим, что зависимость от спис-
ка заданий может возникать и в силу других причин (например, в задачах
последовательного демонтажа радиационно опасных объектов “светят” те и
только те объекты, которые не демонтированы на данный момент). Присту-
паем к построению аддитивного критерия. Итак, следуя [11, (2.21)], имеем
при x ∈ X0, γ ∈ P и (zt)t∈0,n ∈ Zγ [x], что
[
]
∑[
(2.16) Cγ (zt)t∈0,n
c(pr2(zt-1), pr1(zt), γ1(t, n)) +
t=1
]
+ cγ(t)(zt1(t,n)) + f(pr2(zn));
разумеется (см.
(2.11)), значение
(2.16) определено при x ∈ X0 и
(
)
γ,(zt)t∈0,n
D[x]. При x ∈ X0 вводим (M, x)-задачу
[
]
(
)
(2.17)
Cγ (zt)t∈0,n
min, γ, (zt)t∈0,n
D
[x],
для которой определен экстрему
V [x] R+ и непустое множество (sol)[x]
всех ее оптимальных решений:
[
]
(2.18)
V
[x]
min
Cγ (zt)t∈0,n
R+,
(γ,(zt)t∈0,n)D[x]
{(
)
[
]
}
(2.19)
(sol)[x]
γ0,(z0)t∈0,n
D[x] | Cγ0 (z0)t∈0,n
=
V [x]
Fin(D[x]).
t
t
В (2.17) оптимизируется сумма затрат на внешние перемещения, внутрен-
ние работы и реализацию терминального состояния. В случае листовой рез-
ки в первом случае имеется в виду оценивание фрагментов холостого хода,
во втором — оценивание собственно резки, реализуемой в режиме рабочего
хода; в третьем случае может, например, оцениваться перемещение инстру-
мента к точке “парковки” в режиме холостого хода. В простейшем случае все
140
упомянутые компоненты могут иметь смысл соответствующих времен испол-
нения указанных операций. В общем случае имеем задачу на минимум ад-
дитивного критерия (2.16) в клаcсе ДР, определяемых каждое в виде УП
маршрут-траектория; (2.19) есть множество всех экстремальных в упомяну-
том смысле УП маршрут-траектория. Допускаем возможность варьирования
x ∈ X0. Как следствие, возникает основная M-задача:
[
]
(
)
(2.20)
Cγ (zt)t∈0,n
min, γ, (zt)t∈0,n, x
D;
задаче (2.20) сопоставляется глобальный экстремум V и непустое множество
SOL всех оптимальных МП:
[
]
V≜
min
Cγ (zt)t∈0,n
=
(γ,(zt)t∈0,n,x)D
(2.21)
[
]
= min
min
Cγ (zt)t∈0,n
= min
V [x] R+,
x∈X0 (γ,(zt)t∈0,n)D[x]
x∈X0
{
}
(2.22)
SOL ≜ (γ0, (z0t)t∈0,n, x0) D | Cγ0 [(z0t)t∈0,n] = V
Fin(D)
(в (2.21) учтены (2.12) и (2.18)). Элементы множества (2.22) суть оптималь-
ные МП. Они являются триплетами в отличие от элементов (2.19). С зависи-
мостью
(2.23)
V [·]
V [x])x∈X0 ∈ R+[X0]
связываем задачу оптимизации точки старта
(2.24)
V [x] min, x ∈ X0,
в которой (2.23) выступает в роли критерия; экстремум задачи (2.24) совпа-
дает (см. (2.21)) с V, а экстремальное множество есть
{
}
(2.25)
X0opt x ∈ X0
V [x] = V
∈ P(X0
).
В (2.24) оптимизируется точка старта при том условии, что в случае кон-
кретного ее выбора ДР в виде УП маршрут-траектория также выбирается
оптимальным. Результатом является реализация глобального экстремума.
Предложение 1. Если x ∈ X0opt и (γ,(zt)t∈0,n) (sol)[x], то
(γ, (zt)t∈0,n, x) SOL.
Доказательство получается очевидной комбинацией (2.19), (2.22) и (2.25).
Действительно, здесь речь идет фактически о последовательной реализации
в (2.21): сначала минимум по ДР типа элементов (2.11) при фиксации точки
старта, а затем — по самой точке старта (см. (2.24), (2.25)).
141
3. Предваряющая и финальная задачи маршрутизации
Как уже отмечалось, для решения задачи (2.20) здесь используем (по су-
ти дела) декомпозицию в совокупность M1-задачи и M2-задачи. Дан-
ная декомпозиция будет в некотором смысле оптимальной: будем находить
(2.21) и какой-либо МП из множества (2.22). Данный оптимальный способ
(см. [11, 12]) обсудим на содержательном уровне после формулировки упомя-
нутых частичных задач. При этом постановка M1-задачи будет зависеть от
набора параметров, определяемых при решении M2-задачи. По этой причине
сначала мы обсудим M2-задачу (задачу верхнего уровня) или финальную
задачу. Однако в самой ее постановке присутствует объект, связанный очень
просто с M1-задачей. С него и начнем. Речь идет о множестве точек старта
в M2-задаче. Итак, полагая
(3.1)
K1 {pr1(h) : h ∈ K1
},
получаем [8, (4.9.9), предложение 4.9.3], что 1, N \
K1 ∈ P(1,N), и определя-
ем (см. (2.14)) в виде
(3.2)
X00
Mi
Fin(X)
i∈1,N\
˜
K
1
множество всех возможных точек старта M2-задачи, в которой M(1), . . . ,
M(n-N) определяют семейство мегаполисов, подлежащих посещению.
Множество X00 играет роль “входной переменной” для M2-задачи. С мо-
мента построения X00 (3.2) она является вполне определенной с точки зрения
набора параметров. Далее осуществляется ее решение в части определения
нужных фрагментов (слоев) функции Беллмана (построение оптимального
решения M2-задачи откладывается) и, как результат, нахождение функции
экстремума, определенной на X00. Данная функция определяет затем тер-
минальную компоненту аддитивного критерия M1-задачи и в этом смыс-
ле имеет смысл “выходной переменной” M2-задачи. M2-задача участвует в
построении критерия предваряющей M1-задачи. В результате получаем воз-
можность решения M1-задачи (критерий полностью определен). Осуществ-
ляем теперь построение нужных фрагментов (слоев) функции Беллмана дан-
ной задачи и, в частности, функции экстремума, определенной на X0. Этого
достаточно, как показано в [12], для нахождения V и оптимальной точки стар-
та, для которой затем стандартно строится M1-оптимальное ДР, фиксиру-
ется его финишная точка, из которой реализуется оптимальное M2-решение
в виде УП маршрут-траектория, которое склеивается с M1-решением и об-
разует оптимальное ДР полной задачи с фиксированным стартом. Допол-
няя последним склеенное (покомпонентно) ДР, получаем оптимальный МП.
Такова общая схема исследования; к ней еще вернемся, а сейчас напомним
некоторые понятия, связанные с финальной задачей.
При j ∈ 1, n - N с мегаполисом M(j) связывается отношение M(j), для
которого (см. (2.13))
142
(
)
(3.3)
M(j) = {pr1(z) : z ∈ M(j)} ∈ Fin(M(j)) &
(
)
& M(j) = {pr2(z) : z ∈ M(j)} ∈ Fin(M(j))
Посредством A2 определяется множество всех допустимых маршрутов M2-
задачи. Пусть Z (X × X)0,n-N ; при x ∈ X00 и β ∈ A2 в виде
{
(3.4) Z∗β[x] (zt)t∈0,n-N Z | (z0 = (x, x)) &
}
& (zt M(β(t)) ∀t ∈ 1,n - N)
Fin(Z)
имеем пучок траекторий M2-задачи, стартующих из x и согласованных с β.
Из (2.13) и (2.14) имеем, что M(j) X при j ∈ 1, n - N; кроме того, в силу
(2.14) и (3.2) X00 X. Из (2.13), (2.14), (3.3) и (3.4) получаем при x ∈ X00,
β ∈ A2, (zt)t∈0,n-N ∈ Z∗β[x] и τ ∈ 1,n - N, что pr1(zτ) X и pr2(zτ) X. По-
этому (см. (2.13)) при x ∈ X00, β ∈ A2, (zt)t∈0,n-N ∈ Z∗β[x] и τ ∈ 1, n - N опре-
делено c(pr2(zτ-1), pr1(zτ ), K) R+ и cN+β(τ)(zτ , K) R+, где K ∈ N. С уче-
том (3.4) имеем при x ∈ X00, что
{
}
(3.5) D[x] (β, (zt)t∈0,n-N ) ∈ A2 × Z | (zt)t∈0,n-N ∈ Z∗β[x]
Fin(A2 × Z)
есть множество всех ДР (M2, x)-задачи, т.е. M2-задачи со стартом в x. Пусть
N P(1,n - N) (семейство всех непустых п/м 1,n - N); при K ∈ N имеем
список
(3.6)
K ⊕ N = {k + N : k ∈ K} ∈ N
основной задачи. Легко видеть (см. [11, (4.9)]), что при x ∈ X00, β ∈ A2 и
(zt)t∈0,n-N ∈ Z∗β[x] определено значение
[
(3.7)
c(pr2(zt-1), pr1(zt), β1(t, n - N) ⊕ N) +
t=1
]
+ cN+β(t)(zt1(t,n - N) ⊕ N) + f(pr2(zn-N)) R+.
Для представления данных значений введем преобразование функций стои-
мости с целью получения выражений, подобных [14, (3.16)]. Для этого снача-
ла введем
(
(
)
)
(3.8)
X
M(i)
Fin(X) &
i=1
(
(
)
)
& X
M(i)
∪ X00Fin(X)
i=1
143
со свойством X X и X X (учитываем (2.13), (2.14), (3.2)), после чего
c ∈ R+[X × X × N] определяем правилом (см. (2.15), (3.6))
(3.9)
c(x, y, K) ≜ c(x, y, K ⊕ N) ∀x ∈ X ∀y ∈ X ∀K ∈ N.
Посредством (3.8), (3.9) определены стоимости внешних перемещений M2-
задачи (см. (3.7)). При j ∈ 1, n - N определяем c∗j ∈ R+[M(j) × N] посред-
ством правила
(3.10)
c∗j(z,K) cN+j(z,K ⊕ N) ∀z ∈ M(j) ∀K ∈ N;
посредством (3.10) определяются стоимости внутренних работ для M2-за-
дачи. Наконец, терминальную компоненту аддитивного критерия полага-
ем совпадающей с f (см. (2.15)). Итак, в виде (c, c1, . . . , cn-N , f) имеем
кортеж в/з функций стоимости M2-задачи. Тогда при x ∈ X00, β ∈ A2 и
(zt)t∈0,n-N ∈ Z∗β[x] выражение (3.7) сводится к виду
[
[
(3.11) C
(zt)t∈0,n-N
c(pr2(zt-1), pr1(zt), β1(t, n - N)) +
β
t=1
]
+ c∗β(t)(zt1(t,n - N)) + f(pr2(zn-N)) R+.
Тем самым определен аддитивный критерий M2-задачи. При x ∈ X00 полу-
чаем (M2, x)-задачу
[
]
(
)
(3.12)
C
(zt)t∈0,n-N
min, β, (zt)t∈0,n-N
D
[x],
β
которой сопоставляется экстремум
V [x] R+ и (непустое) множество
(sol)[x] всех оптимальных решений:
[
]
(3.13)
V[x]
min
C
(zt)t∈0,n-N
R+,
β
(β,(zt)t∈0,n-N )D[x]
{(
)
[
]
}
(3.14) (sol)[x] β, (zt)t∈0,n-N
D[x] | C
(zt)t∈0,n-N
=
V[x]
β
Fin(D[x]).
Посредством (3.13) определена важная функци
V[·] вида
(3.15)
x
V [x] : X00 R+.
Рассмотрим (3.14), (3.15) как своеобразные результанты M2-задачи; с ис-
пользованием (3.15) сконструируем аддитивный критерий M1-задачи, к рас-
смотрению которой сейчас приступаем.
Пусть Z (X × X)0,N ; при x ∈ X0 и α ∈ A1 в виде
{
}
(3.16) Z♮α[x] (zt)t∈0,N Z | (z0 = (x, x))&(zτ Mα(τ) ∀τ ∈ 1,N)
Fin(Z)
144
имеем пучок траекторий M1-задачи, стартующих из x и согласованных с
маршрутом α. Введем в рассмотрение множества
(
)
(
(
)
)
(3.17)
X ≜ Mi Fin(X) & X
Mi
∪ X0Fin(X)
,
i=1
i=1
для которых (см.(2.14)) X X и X X. При x ∈ X0 определяем множество
всех ДР (M1, x)-задачи (т.е. M1-задачи со стартом в x):
{(
)
}
(3.18)
D[x] α, (zt)t∈0,N
∈ A1 × Z | (zt)t∈0,N ∈ Z♮α[x]
Fin(A1 × Z
).
Отметим весьма очевидное, но важное свойство, позволяющее “привязывать”
M2-задачу к M1-задаче. А именно (см. [11, предложение 3.3]): если x ∈ X0,
α ∈ A1 и (zt)t∈0,N ∈ Zα[x], то
(3.19)
pr2(zN ) ∈ X00.
Теперь последовательно введем функции стоимости, формирующие аддитив-
ный критерий M1-задачи. Начнем с терминальной компоненты, фактически
отождествляя ее с функцие
V[·] (3.15). Точнее, полагая, что M есть объеди-
нение всех множеств Mi, i ∈ 1, N , принимаем, что f ∈ R+[M] определяется
правилом
(
)
(
)
(3.20)
f (x)
V [x]
∀x ∈ X00
& f(x) 0 ∀x ∈ M \ X00
Второе выражение в (3.20) несущественно и введено для согласования с [14].
Пусть N P(1, N ) (семейство всех непустых п/м 1, N ). Полагаем с учетом
(2.15), что c ∈ R+[X × X × N] определяется условиями
(3.21)
c(z, K) ≜ c(z, K ∪ N + 1, n) ∀z ∈ X × X ∀K ∈ N.
При j ∈ 1, N функцию c♮j ∈ R+[Mj × N] определяем правилом
(3.22)
c♮j (z, K) cj (z, K ∪ N + 1, n) ∀z ∈ Mj ∀K ∈ N.
Итак, посредством (3.20)-(3.22) определен кортеж (c, c1, . . . , c♮N , f) в/з функ-
ций стоимости M1-задачи. При x ∈ X0, α ∈ A1 и (zt)t∈0,N ∈ Zα[x] полагаем,
что (см. (3.20)-(3.22))
∑[
(3.23) C♮α[(zt)t∈0,N ]
c(pr2(zt-1), pr1(zt), α1(t, N)) +
t=1
]
[
+ c♮α(t)(zt1(t,N)) + f(pr2(zN)) =
c(pr2(zt-1), pr1(zt), α1(t, N )) +
t=1
]
+ c♮α(t)(zt1(t,N))
+
V[pr2(zN )];
145
здесь учтено (3.19) и (3.20). Если x ∈ X0, то (M1, x)-задачу определяем как
[
]
(
)
(3.24)
C
(zt)t∈0,N
min, α, (zt)t∈0,N
D
[x];
α
данной задаче сопоставляем экстремум V[x] и (непустое) множество (sol)[x]
всех оптимальных решений:
[
]
(3.25)
V[x]
min
C
(zt)t∈0,N
R+,
α
(α,(zt)t∈0,N )D[x]
{(
)
[
]
}
(3.26) (sol)[x] α, (zt)t∈0,N
D[x] | C
(zt)t∈0,N
= V [x]
α
Fin(D[x]).
В виде x → V[x] : X0 R+ имеем функцию V[·] экстремума M1-задачи,
аргументом которой является точка старта. Выделяем для отдельного рас-
смотрения задачу
(3.27)
V [x] min, x ∈ X0,
которой сопоставляется экстремум V R+ и (непустое) множество
Xopt Fin(X0) всех оптимальных точек старта:
(3.28)
V min
V [x] R+,
x∈X0
{
}
(3.29)
Xopt
x ∈ X0 | V [x] = V
Fin(X0
).
Итак, введены две взаимосвязанные задачи, ориентированные на (декомпо-
зиционное) решение основной задачи.
4. Структура решения на функциональном уровне
(содержательное обсуждение)
В настоящем кратком разделе наметим схему оптимального решения (ос-
новной) M-задачи, соответствующую построениям двух предыдущих разде-
лов; ограничиваемся здесь описанием логической цепочки. Фактически речь
идет об алгоритме на функциональном уровне.
Шаг 1. Используя (3.2), определить множество X00 возможных точек
старта M2-задачи.
Шаг 2. Сформировать M2-задачу в виде системы (M2,x)-задач (3.12), где
x∈X00, определить при этом функци
V [·] (3.15) экстремума, которая ис-
пользуется для построения терминальной компоненты критерия M1-задачи
(см. (3.20)).
146
Шаг 3. Сформировать M1-задачу в виде системы (M1,x)-задач (3.24),
где x ∈ X0, найти функцию экстремума V[·], экстремум V задачи (3.27) и
некоторую (оптимальную) точку старта x0 ∈ Xopt; также определить опти-
мальное в (M1, x0)-задаче решение из множества (3.26), где x = x0, называя
его M1-решением.
Шаг 4. Принять финишную точку x00 M1-решения, являющуюся эле-
ментом X00 (см. (3.19)), за стартовую в M2-задаче. После этого построить
оптимальное решение (M2, x00)-задачи, получая M2-решение.
Шаг 5. Склеить M1-решение и M2-решение (раздельно склеиваются
маршруты и траектории), получая в совокупности с x0 оптимальный МП.
Важно отметить равенство V = V, установленное в [11, 12]. Это позволя-
ет более просто реализовать V в условиях, когда не требуется определять
оптимальный МП, а важно установить только глобальный экстремум и оп-
тимальную точку старта. В этом случае этапы 1) и 2) сохраняются, а этап
3) сводится к нахождению функции экстремума V[·], минимизация которой
на X0 как раз и доставит требуемое значение V и точку старта, его реали-
зующую.
Заметим, что в качестве инструмента реализации этапов 1)-4) использу-
ется широко понимаемое ДП.
Введем в рассмотрение процедуру естественного склеивания траекторий.
Данная процедура отличается от склеивания перестановок; она относится к
траекториям, а это — совсем другие объекты. В этой связи введем новое
обозначение. Для этого сначала полагаем, что при z Z и z′′ Z кортеж
z□z′′ Z определяется правилом
(
)
(4.1)
(z□z′′)(τ) ≜ z(τ) ∀τ ∈ 0,N &
(
)
& (z□z′′)(τ) ≜ z′′(τ - N) ∀τ ∈ N + 1, n
В частности, в качестве z и z′′ в (4.1) могут использоваться траектории.
При этом (см. [11, предложение 6.4]) ∀x ∈ X0
∀α∈ A1
∀β ∈ A2
z ∈ Zα[x]
z′′∈ Z∗β[pr2(z(N))]
(4.2)
z□z′′ ∈ Zαβ
[x].
Легко видеть, что (см. (3.19)) pr2(zN ) ∈ X00 при x ∈ X0, α ∈ A1, β ∈ A2 и
(zt)t∈0,n ∈ Zαβ [x]. Напомним здесь же [11, предожение 6.5]: если x ∈ X0,
α ∈ A1, β ∈ A2, (zt)t∈0,n ∈ Zαβ[x] и кортеж (z∗t )t∈0,n-NZ определяется
правилом
(
)
(
)
z0 (pr2(zN ),pr2(zN )) & z∗τ zτ+N ∀τ ∈ 1,n - N
,
то непременно реализуется включение
(4.3)
(z∗t)t∈0,n-N ∈ Z∗β[pr2(zN
)].
147
С учетом (4.2), (4.3) устанавливается следующее уже упоминавшееся поло-
жение (см. [12, теорема 1]):
(4.4)
V=V;
в (4.4) следует учитывать (3.28) и [12, (6.12)]. В связи с логической цепочкой
1)-5) отметим следующее положение.
Предложение 2.
Пусть x0 ∈ Xopt, (ξ, (yi)i∈0,N ) (sol)[x0] и (η, (ŷi)i∈0,n-N ) (sol)[pr2(yN )].
Тогда решение
(
)
(4.5)
ξ ⋄ η,(yi)i∈0,N(ŷi)i∈0,n-N
D[x0]
таково, что
[
]
(4.6)
Cξ⋄η (yi)i∈0,N(ŷi)i∈0,n-N
= V.
Предложение 2 (доказательство — в Приложении) указывает фактически
конкретный способ построения оптимального МП.
В самом деле, пусть выполнены все условия предложения 2 (имеются в
виду условия на x0, (ξ, (yi)i∈0,N ), (η, (ŷi)i∈0,n-N )). Тогда в силу (2.12) и (4.5)
имеем, поскольку x0 ∈ X0 (см. (3.29)), что
(
)
(4.7)
ξ ⋄ η,(yi)i∈0,N(ŷi)i∈0,n-N
,x0
D
(получили допустимый МП со свойством (4.6)). В силу (2.22) и (4.6) имеем
теперь, что
(
)
(4.8)
ξ ⋄ η,(yi)i∈0,N(ŷi)i∈0,n-N
,x0
SOL,
т.е. построен оптимальный МП. Заметим здесь же, что в силу (2.18), (2.21),
(4.4)-(4.6
V [x0] = V, а потому (см. (2.25)) x0 ∈ X0opt. В следующих разделах
обсудим реализацию этапов 1)—5) в свете (4.4) и (4.8).
Отметим в дополнение к положениям [11, 12] ряд свойств, подобных, в
части конструкций склеивания, обсуждаемому в предложении 2 и важных
для последующего применения ДП.
Предложение 3. Если x ∈X0, (ξ,(yi)i∈0,N)D[x] и (η,(ŷi)i∈0,n-N)
D[pr2(yN)], то
[
]
[
]
[
]
[
]
Cξ⋄η (yi)i∈0,N (ŷi)i∈0,n-N
=C
(yi)i∈0,N
V pr2(yN)
+C
(ŷi)i∈0,n-N
ξ
η
Доказательство проводится в существенной части подобно обоснованию пред-
ложения 2.
148
Следствие 1. Если x ∈ X0, (ξ,(yi)i∈0,N) D[x] и (η,(ŷi)i∈0,n-N)
(sol)[pr2(yN )], то
[
]
[
]
Cξ⋄η (yi)i∈0,N (ŷi)i∈0,n-N
=C
(yi)i∈0,N
ξ
Следствие 2. Если x ∈ X0, (ξ,(yi)i∈0,N) (sol)[x] и (η,(ŷi)i∈0,n-N)
(sol)[pr2(yN )], то
Cξ⋄η[(yi)i∈0,N (ŷi)i∈0,n-N ] = V[x].
Предложение 4. Справедливо равенство X0opt = Xopt.
Доказательство приведено в Приложении. Из (4.4) и предложения 4 сле-
дует, что при таком построении M1-задача воспроизводит наиболее важные
элементы исходной M-задачи: глобальный экстремум (2.21) и экстремальное
множество задачи (2.24). Отметим еще одно полезное, хотя и не используемое
в дальнейшем, положение о совпадении функций экстремума.
Предложение 5. Если x∈X0, то V[x]
V [x].
Обоснование осуществляется по схеме, подобной доказательству предло-
жения 4.
5. Финальная задача
В настоящем разделе обсудим вопрос о том, как именно реализовать эта-
пы 1)-5), применяя аппарат широко понимаемого ДП (см. [13, 14] и др.).
Рассмотрение начнем с решения M2-задачи, следуя этапу 2) и придер-
живаясь алгоритмического варианта изложения, подобного [13, 14]. Речь
пойдет о построении слоев функции Беллмана, где активно используют-
ся условия предшествования. Данные конструкции неоднократно использо-
вались авторами и ранее, а потому вводятся в достаточно краткой фор-
ме с необходимыми ссылками. Прежде всего введем оператор вычеркива-
ния (заданий из списка) I, действующий в N по правилу: при K ∈ N
и Ξ[K] { z ∈ K2 | (pr1(z) ∈ K)&(pr2(z) ∈ K)} полагаем, что множество
I(K) N есть
(5.1)
I(K) K \ {pr2(z) : z ∈ Ξ
[K]}
(определение I (5.1) соответствует [8, (2.2.27), (2.2.28)]). С использованием I
определяются существенные [13, 14] списки заданий. Полагаем, что
(5.2)
S {K ∈ N| ∀z ∈ K2 (pr1(z) ∈ K) = (pr2
(z) ∈ K)} ;
множества — элементы (5.2) — назовем существенными списками в M2-за-
даче. При s ∈ 1, n - N полагаем S∗s { K ∈ S | s = |K|}. Тогда Sn-N =
= {1, n - N} (синглетон) и приK 2 { pr1(z) : z ∈ K2}
S1 = { {t} : t ∈ 1,n - N \K2}.
149
Кроме того, имеем (см. [14, (4.6)]) при s ∈ 2, n - N
(5.3)
S∗s-1 = { K \ {t} : K ∈ S∗s, t ∈ I
(K)}.
Посредством (5.3) определена следующая рекуррентная процедура:
(5.4)
Sn-N -→ Sn-N-1 -→ ... -→ S1.
Регулярный шаг процедуры (5.4) реализуется посредством (5.3).
Располагая множествами S∗s, s ∈ 1, n - N, приступаем к построению слоев
пространства позиций, обозначаемых через D0, D1, . . . , Dn-N . При этом
M
(5.5)
D0 {(x,) : x ∈
},
где
M отождествляется с объединением всех множеств M(j), j ∈
1, n - N
K2. Кроме того, полагаем, что
{
}
(5.6)
Dn-N
(x, 1, n - N) : x ∈ X00
Рассмотрим построение D∗s при s ∈ 1, n - N - 1; сначала при всяком K ∈ S∗s
конструируем последовательно
{
}
J∗s(K)
j ∈ 1,n - N \ K | {j} ∪ K ∈ S∗s+1
, M∗s[K]
M(j),
j∈J∗s(K)
D∗s[K] {(x,K) : x ∈ M∗s[K]}
(реализуется процедура: J∗s(K) → M∗s[K] D∗s[K]), после чего полагаем
(5.7)
D∗s
D∗s
[K].
K∈S∗s
Каждый слой D∗j, j ∈ 0, n - N, есть непустое множество (см. [8, предложе-
ние 4.9.3]). Отметим важное свойство [11, (5.5)]. При s ∈ 1, n - N, (x, K) ∈ D∗s,
j ∈ I(K) и z ∈ M(j)
(5.8)
(pr2(z), K \ {j}) ∈ D∗s-1
(см. также [8, предложение 4.9.4]).
Следующий шаг — построение слоев функции Беллмана: v0, v1, . . . , vn-N .
Используем уравнение Беллмана (см. [23, теорема 5.1]) и сужения получаю-
щейся функции Беллмана на слои пространства позиций. Данные построения
можно свести к рекуррентной процедуре
(5.9)
v0 → v1 → ... → vn-N.
150
При этом v0 ∈ R+[D0] определяется правилом
(5.10)
v0(x,) f(x) ∀x ∈
M.
Регулярный шаг процедуры реализуется следующим образом, учитывающим
(5.8): при s ∈ 1, n - N определяем v∗s ∈ R+[D∗s] на основе v∗s-1 ∈ R+[D∗s-1] по
правилу [11, (5.6)], т.е.
[
(5.11) v∗s(x, K) min min
c(x, pr1(z), K) + c∗j(z, K) +
j∈I(K) z∈M(j)
]
+ v∗s-1(pr2(z),K \ {j})
(x, K) ∈ D∗s.
Для финальной функции vn-N ∈ R+[Dn-N ] имеем, что
(5.12)
V[x] = vn-N(x,1,n - N) ∀x ∈ X00.
Замечание 2. Подчеркнем, что в случае, когда требуется определить
V[·] и не требуется построение оптимального в M2-задаче маршрутного про-
цесса, реализацию (5.9) можно осуществить с перезаписью слоев (отметим по-
строения [24] для несколько иной задачи). В этом случае предполагается, что
при s ∈ 1, N - 1 в памяти вычислителя находится слой v∗s-1 функции Белл-
мана, который после определения v∗s уничтожается и заменяется слоем v∗s.
Если при этом s N - 2, то для построения v∗s+1 используется слой v∗s. Дан-
ное простое обстоятельство непосредственно следует из (5.11) и доставляет
некоторую экономию ресурсов памяти (см. [25]).
После построения vn-N приступаем к решению M1-задачи, используя
(5.12). Итак, переходим к этапу 3), используя (3.20) для определения тер-
минальной компоненты аддитивного критерия.
6. Предваряющая задача
Посредством (3.20) и (5.12) находим функцию f (теперь существенно, что
f (x) vn-N (x, 1, n - N) ∀x ∈ X00,
что позволяет явным образом определить f). Дальнейшие построения анало-
гичны построениям для M2-задачи и потому излагаются в краткой форме;
имеется в виду реализация ДП в духе [13, 14] (в основе находятся конструк-
ции [8, §4.9]).
Вводим оператор вычеркивания I, действующий в N: при K ∈ N и
Ξ[K] { z ∈ K1| (pr1(z) ∈ K)&(pr2(z) ∈ K)}
полагаем, что множество I(K) есть
(6.1)
I(K) K \ { pr2(z) : z ∈ Ξ
[K]}.
151
Далее рассматривается построение существенных списков заданий в M1-за-
даче; пусть
(6.2)
S { K ∈ N| ∀z ∈ K1 (pr1(z) ∈ K) = (pr2
(z) ∈ K)},
множества — элементы семейства (6.2) — называем существенными списками
в M1-задаче. При s ∈ 1,N полагаем, что
S♮s { K ∈ S|s = |K|}.
Легко видеть, что S♮N = {1, N } (синглетон). Далее, при
K1 { pr1(z) :
z ∈ K1}, получаем, что S1 = { {t} : t ∈ 1,N \ K 1}. Легко видеть, что при s ∈
2, N
{
}
(6.3)
S♮s-1 = K \ {j} : K ∈ S♮s, j ∈ I(K)
Посредством (6.3) определена рекуррентная процедура
(6.4)
S♮N -→ S♮N-1 -→ ... -→ S1
((6.3) определяет регулярный шаг процедуры (6.4)). Располагая множества-
ми Ss, s ∈ 1, N , конструируем слои пространства позиций, обозначаемые че-
рез D0, D1, . . . , D♮N . Полагаем, что
(
)
(
)
(6.5)
D0 { (x,) : x ∈ X00} & D♮N { (x,1,N) : x ∈ X0} ,
получая крайние слои пространства позиций. Если s ∈ 1, N - 1, то сначала
при K ∈ Ss последовательно определяем
(6.6)
J♮s(K) { j ∈ 1,N \ K| {j} ∪ K ∈ S♮s+1}, M♮s(K)
Mj,
j∈
s (K)
D♮s[K] {(x,K) : x ∈ M♮s(K)}
(реализуется процедура
J♮s (K) → Ms(K) Ds[K]); слой Ds определяем
правилом
(6.7)
D♮s
D♮s
[K].
K∈Ss
Итак, все слои D0, D1, . . . , D♮N построены; при этом все эти слои — непу-
стые множества (см. [8, предложение 4.9.3]). Отметим, что при s ∈ 1, N,
(x, K) ∈ Ds, j ∈ I(K) и z ∈ Mj
(6.8)
(pr2(z), K \ {j}) ∈ D♮s-1.
152
Конструкция (6.6)-(6.8) используется при построении слоев функции Белл-
мана: последовательно определяем функции v0 ∈ R+[D0], v1 ∈ R+[D1], . . . ,
v♮N ∈ R+[D♮N ], совпадающие с сужениями функции Беллмана на слои про-
странства позиций. При этом
(6.9)
v0(x,)
V[x] = vn-N(x,1,n - N) ∀x ∈ X00.
Если s ∈ 1, N и функция v♮s-1 уже построена, то с учетом (6.8) полагаем, что
vs ∈ R+[Ds] такова, что
[
(6.10) v♮s(x, K) min
min c(x, pr1(z), K) + c♮j (z, K) +
j∈I(K)
z∈Mj
]
+ v♮s-1(pr2(z),K \ {j}) (x, K) ∈ Ds.
Получили следующую рекуррентную процедуру:
(6.11)
v0 -→ v1 -→ ... -→ v♮N;
регулярный шаг процедуры (6.11) характеризуется посредством (6.10). При
этом
(6.12)
v♮N(x,1,N) = V[x] ∀x ∈ X0.
Это свойство следует из того, что все функции в (6.11) суть сужения функции
Беллмана; см. также (6.5). Располагая функцией v♮N , определяем (см. (3.28),
(3.29)) V и точку из Xopt. При этом в силу (3.28), (4.4) и (6.12)
(6.13)
V = min
v♮N
(x, 1, N ),
x∈X0
а точка x0 ∈ Xopt (см. (4.4), предложение 4) определяется из следующего
условия: точка x0 ∈ X0 такова, что
(6.14)
V = v♮N(x0
, 1, N ).
Посредством (6.13), (6.14) определили глобальный экстремум и оптималь-
ную точку старта, не прибегая к построению МП. Тем самым реализована
существенная часть этапа 3). Отметим, что логика замечания 2 полностью
применима к процедуре (6.11): для получения V и x0 может использоваться
вариант с перезаписью слоев. По сути дела, имеем единую склеенную проце-
дуру
(6.15)
(v0 -→ v1 -→ . . . -→ vn-N ) (v0 -→ v1 -→ . . . -→ v♮N
),
где склеивание реализуется посредством (6.9).
Рассмотрим сейчас построение оптимального МП, полагая при этом, что
владеем всеми функциями, участвующими в (6.15), т.е. процедура (6.15)
153
реализована с сохранением упомянутых функций в памяти вычислителя.
Следуя 3), начинаем с определения M1-решения. Итак, имеем V R+ и
x0 ∈ Xopt (см. (6.13), (6.14)). Учитываем (4.4) и предложение 4. Полагаем,
что y0 (x0, x0), получая по выбору x0, что (см. (6.5))
(6.16)
(pr2(y0), 1, N ) = (x0, 1, N ) ∈ D♮N .
Из (6.10) и (6.14) имеем равенство
[
(6.17) V = min
min c(x0, pr1(z), 1, N ) + c♮j (z, 1, N ) +
j∈I(1,N)
z∈Mj
]
+ v♮N-1(pr2(z),1,N \ {j}) .
С учетом (6.16), (6.17) выбираем ξ1 I(1,N) и y1 Mξ1 , для которых
V = c(x0,pr1(y1),1,N) + c♮ξ
(6.18)
(y1, 1, N ) + v♮N-1(pr2(y1), 1, N \ {ξ1
}).
1
Из (6.8) и (6.16) вытекает, что (pr2(y1), 1, N \ {ξ1}) ∈ D♮N-1. Поэтому согласно
(6.10) имеем равенство
(6.19) v♮N-1(pr2(y1), 1, N \ {ξ1}) =
[
= min
min c(pr2(y1), pr1(z), 1, N \ {ξ1}) +
j∈I(1,N\{ξ1})
z∈Mj
]
+ c♮j(z,1,N \ {ξ1}) + v♮N-2(pr2(z),1,N \ {ξ1;j}) .
С учетом (6.19) выбираем ξ2 I(1,N \ {ξ1}) и y2 Mξ2, для которых
(
)
(
)
(6.20)
v♮N-1
pr2(y1),1,N \ {ξ1}
=c
pr2(y1),pr1(y2),1,N \ {ξ1}
+
(
)
(
)
+c♮ξ
y2,1,N \ {ξ1}
+v♮N-2
pr2(y2),1,N \ {ξ1;ξ2}
;
2
при этом согласно (6.8) (pr2(y2), 1, N \ {ξ1; ξ2}) ∈ D♮N-2. Согласно (6.18) и
(6.20) имеет место равенство
(
)
(
)
(6.21)
V=c
x0,pr1(y1),1,N
+c
pr2(y1),pr1(y2),1,N \ {ξ1}
+
(
)
(
)
(
)
+c♮ξ
y1,1,N
+c♮ξ
y2,1,N \ {ξ1}
+v♮N-2
pr2(y2),1,N \ {ξ1;ξ2}
1
2
Замечание 3. При N = 2 из (6.21) легко извлекается свойство опти-
мальности УП ((ξi)i∈1,2, (yi)i∈0,2) в (M1, x0)-задаче.
В общем случае N 2 процедуры, подобные (6.18), (6.20), следует про-
должать вплоть до исчерпания 1, N . В результате будут построены кортежи
ξ (ξi)i∈1,N ∈ A1 и (yi)i∈0,N ∈ Z♮ξ[x0] со свойством
(6.22)
C♮ξ[(yi)i∈0,N
] = V.
154
Тогда (см. (3.18)) (ξ, (yi)i∈0,N ) D[x0]. При этом согласно (3.25), (3.28), (4.4)
и (6.22)
V V[x0] ≤ C♮ξ[(yi)i∈0,N] = V = V,
а потому C♮ξ[(yi)i∈0,N ] = V [x0] = V = V. Из (3.26) имеем теперь свойство
(6.23)
(ξ, (yi)i∈0,N ) (sol)[x0
].
С другой стороны, поскольку V [x0] = V, имеем из (3.29), что x0 ∈ Xopt. Сле-
довательно (см. (6.23)),
(6.24)
x0 ∈ Xopt : (ξ,(yi)i∈0,N ) (sol)[x0
].
Итак, этап 3) завершен построением M1-решения (6.23).
7. Композиционное решение полной задачи:
оптимальный маршрутный процесс
В настоящем разделе завершаем этапы 4), 5). Напомним в этой связи, что
pr2(yN) ∈ X00 согласно (3.19). С учетом этого полагаем, что x00 pr2(yN),
получая, что
(7.1)
x00 pr2(yN) ∈ X00.
Напомним, что функции v0, v1, . . . , vn-N известны; особо отметим (5.12).
С учетом (7.1) полагаем, что
ŷ0 (x00,x00) = (pr2(yN),pr2(yN));
ŷ0 ∈ X00 × X00. При этом согласно (5.6)
(7.2)
(x00, 1, n - N) = (pr2(ŷ0), 1, n - N) ∈ Dn-N .
С учетом (5.11) и (7.2) получаем следующее равенство:
[
(7.3) vn-N (x00, 1, n - N) =
min
min
c(x00, pr1(z), 1, n - N) +
j∈I(1,n-N) z∈M(j)
]
+ c∗j(z,1,n - N) + vn-N-1(pr2(z),1,n - N \ {j}) .
С учетом (7.3) выбираем η1 I(1,n - N) и ŷ1 M(η1), для которых
(7.4)
vn-N (x00,1,n - N) = c(x00,pr1(ŷ1
), 1, n - N) +
+c∗η
(ŷ1,1,n - N) + vn-N-1(pr2(ŷ1),1,n - N \ {η1}),
1
155
где (pr2(ŷ1), 1, n - N \{η1}) ∈ Dn-N-1 согласно (5.8). Из (5.11) имеем поэтому
следующее равенство:
vn-N-1(pr2(ŷ1),1,n - N \ {η1}) =
[
=
min
min
c(pr2(ŷ1), pr1(z), 1, n - N \ {η1}) +
j∈I(1,n-N \{η1}) z∈M(j)
]
+ c∗j(z,1,n - N \ {η1}) + vn-N-2(pr2(z),1,n - N \ {η1;j}) .
С учетом этого выбираем η2 I(1,n - N \ {η1}) и ŷ2 M(η2), для которых
(7.5)
vn-N-1(pr2(ŷ1),1,n - N \ {η1
}) =
= c(pr2(ŷ1),pr1(ŷ2),1,n - N \ {η1}) +
+c∗η
(ŷ2,1,n - N \ {η1}) + vn-N-2(pr2(ŷ2),1,n - N \ {η1;η2}),
2
причем (pr2(ŷ2), 1, n - N \ {η1; η2}) ∈ Dn-N-2 согласно (5.8). Отметим, что
из (7.4), (7.5) вытекает, что
(7.6)
vn-N (x00,1,n - N) = c(x00,pr1(ŷ1
), 1, n - N) +
+ c(pr2(ŷ1),pr1(ŷ2),1,n - N \ {η1}) +
+c∗η
(ŷ1,1,n - N) + c∗η
(ŷ2,1,n - N \ {η1}) +
1
2
+ vn-N-2(pr2(ŷ2),1,n - N \ {η1;η2})
(легко видеть, что при n = N + 2 из (7.6) вытекает оптимальность реше-
ния ((ηi)i∈1,2, (ŷi)i∈0,2) в (M2, x00)-задаче; здесь имеется аналогия с замеча-
нием 3). В общем случае N ∈ 2, n - 2 процедуры выбора (а на самом деле,
решения локальных экстремальных задач), подобные (7.4), (7.5), следует про-
должать вплоть до исчерпывания 1, n - N. В итоге будут построены кортежи
η (ηi)i∈1,n-N ∈ A2 и (ŷi)i∈0,n-N ∈ Z∗η[x00], для которых (см. (5.12))
(7.7)
C∗η[(ŷi)i∈0,n-N ] = vn-N (x00,1,n - N)
V[x00
].
Поскольку при этом (см. (3.5)) (η, (ŷi)i∈0,n-N ) D[x00], имеем из (3.14)
и (7.7), что
(7.8)
(η, (ŷi)i∈0,n-N ) (sol)[x00
].
С учетом (7.1) и (7.8) имеем, конечно, свойство
(7.9)
(η, (ŷi)i∈0,n-N ) (sol)[pr2(yN
)].
С учетом (6.24), (7.9) и предложения 2 получаем, что
(ξ ⋄ η, (yi)i∈0,N (ŷi)i∈0,n-N )D[x0]
156
и (см. (4.6)) Cξ⋄η[(yi)i∈0,N (ŷi)i∈0,n-N ] = V. Тогда в силу (2.12), (3.29) и (6.24)
триплет
(ξ ⋄ η, (yi)i∈0,N (ŷi)i∈0,n-N , x0) D
непременно является оптимальным МП, т.е. справедливо (4.8). Итак, реали-
зована двухэтапная процедура
[x0 (ξ1, y1) → . . . → (ξN , yN )]
[x00 = pr2(yN ) (η1, ŷ1) → . . . → (ηn-N , ŷn-N )],
приводящая к оптимальному МП (4.8). При этом x0 ∈ X0opt в силу предложе-
ния 4, т.е. x0 есть оптимальная точка старта в смысле (2.24).
8. Вычислительный эксперимент
(предваряющая резка длинномерных деталей)
Рассмотрим модельный пример, касающийся вопросов листовой рез-
ки деталей на машинах с ЧПУ. Полагаем в настоящем разделе, что
X = [0,a] × [0,b], где a > 0, b > 0 — два заданных числа. Предполагается за-
данным (для листа X) раскройный план. Имеется n попарно дизъюнктных
контуров, подлежащих резке. Мегаполисы сопоставлены контурам по стан-
дартному правилу: для каждого контура задается эквидистанта, на которой
располагаются возможные точки врезки и отвечающие им точки выключе-
ния инструмента. Внешние перемещения (между мегаполисами, а также из
точки старта к мегаполисам) осуществляются в режиме холостого хода, т.е.
“быстро”. Каждое перемещение от точки врезки до точки начала реза на кон-
туре и, после окончания реза, к точке выключения инструмента реализуются
в режиме рабочего хода, т.е. “медленно”. Оптимизируем совокупное время,
исключая собственно время резки самих контуров, которое является одним и
тем же для всех вариантов решения задачи. При этом, однако, учитываются
соображения, связанные с тепловыми деформациями и приводящие к исполь-
зованию штрафов за нарушение требований по эффективному отводу тепла;
см. [14, разделы 5, 6]. Такое использование приводит (см. [14, раздел 6]) к
функциям стоимости с зависимостью от списка заданий.
Условия предшествования в совокупной задаче определяются соображе-
ниями, связанными с вложенностью контуров и деталей. Так, у детали, имею-
щей внутренние контуры, их резка должна предшествовать резке внешне-
го контура; аналогичное требование относится к резке вложенных деталей
(см. [10, § 1.3.2]). Таким образом, определяется множествоK (см. замечание 1)
совокупных адресных пар. Предполагаем, однако, что семейство M мегапо-
лисов разбито в дизъюнктную сумму подсемейств M1 и M2 (см. раздел 2),
с учетом что в M1 включены мегаполисы, отвечающие контурам длинно-
мерных деталей (см. раздел 1). Отметим, что имеются и другие варианты
выделения контуров для первоочередной резки, см. в этой связи [10, § 1.3.3]).
Предполагается, чтоK-ограничение сведено к варианту, определяемому мно-
157
жествами K1 иK2 замечания 1, гдеK2 определяется посредством рациональ-
ного выбора K2. Эти соображения легко реализовать, опираясь на правила
вложенности (грубо говоря, используя распределение по объемлющим дета-
лям и их контурам). При этом, конечно, построение M1 и M2 требует пред-
варительной работы, связанной с реализацией условий предшествования, от-
вечающих M1- и M2-задаче. Полагаем далее этот (весьма несложный) этап
постановки выполненным.
Допускаем возможность выбора различных точек старта в интересах опти-
мизации аддитивного критерия, задавая конечное множество X0; как прави-
ло, X0 является п/м границы листа X. Это множество является одновременно
множеством возможных точек старта M1-задачи; множество X00, исполняю-
щее аналогичную роль для M2-задачи, формируется алгоритмом на этапе 1).
Вычислительный эксперимент. Вычисления производились на персональ-
ной ЭВМ с процессором Intel i5-11300H с 8Гб оперативной памяти, работаю-
щей под управлением Windows 11 (64-bit). Для разработки программы бы-
ли использованы язык C++, компилятор MinGW и интерфейсная библио-
тека Qt. Далее приводятся данные примера (непосредственно координаты
точек контуров, точек врезки, точек начала реза контура и точек выключе-
ния инструмента не приводятся из соображений экономии места). Количество
контуров — 42, количество деталей — 24, количество адресных пар — 20. Все
контуры разделены на два кластера. В первый вошли контуры семи длинно-
мерных деталей (19 контуров). Во второй — контуры семнадцати компакт-
ных деталей (23 контура). Для простоты здесь предполагается, что X0
одноэлементное множество (синглетон), соответствующее началу координат.
Значения f отвечают вычислению времени холостого хода при возвраще-
нии инструмента в начало координат (исследуется более понятный случай
замкнутой задачи). В примере учитывались тепловые ограничения, описан-
ные в [14, разделы 5, 6]. Речь идет о формировании специальных областей
завершения реза с выделением порогового отношения (значения), характери-
зующего долю сплошного металла в каждой такой области. Именно, область
завершения реза имеет длину 100 мм и ширину 25 мм. Пороговое значение
для использования штрафа равно 0,5 от площади области завершения реза.
На рисунке указано размещение на листе деталей, подлежащих резке, и
траектория процесса, полученная в результате вычислительного эксперимен-
та. Ромб в начале координат — точка начала и завершения движения. Квад-
раты — точки врезки. Крестики — точки выключения инструмента. Плюсы
на контурах — точки начала и завершения реза. Траектория холостого хода —
набор отдельных линий. Именно, линия от точки старта до точки врезки для
первого контура, линии от точки выключения инструмента для предыдущего
контура до точки врезки следующего контура и линия от точки выключения
инструмента для последнего контура до точки завершения движения. Траек-
тория резки — набор линий, каждая из которых состоит из линии, идущей от
точки врезки до точки начала реза контура, самого контура и линии, идущей
от точки завершения реза контура до точки выключения инструмента.
158
Y
1184
1036
888
740
592
444
296
148
0
148
296
444
592
740
888
1036
1184
1332
1479
1627
1775 X
Результат работы алгоритма.
Подробное описание постановки данной конкретной задачи соответству-
ет [14, разделы 5, 6], и здесь ограничимся совсем краткими напоминаниями.
Как уже отмечалось, оптимизируется совокупное время (единицы измере-
ния — секунды). Все штрафные константы совпадают с 1 000 000. Получен-
ный результат (значение V) 97,724 существенно меньше данной константы,
что означает соблюдение всех ограничений, связанных с отводом тепла (об-
щие соображения на эту тему приведены в начале раздела). Время счета со-
ставило 7 мин 8 с, что вполне приемлемо с точки зрения решения реальных
практических задач, при том что 42 контура соответствуют задаче ощутимой
размерности. Полезно отметить (см. [26, раздел 5]), что для задач меньшей
размерности при решении по методу ДП без применения декомпозиции вре-
мя счета существенно выше (при N = 30 и |K| = 20 в [26, раздел 5] получено
время счета 51 мин 58 с; имеется в виду вариант стандартной резки). Таким
образом, прием, использованный в настоящей работе, является актуальным с
точки зрения учета технологических ограничений и позволяет надеяться на
возможность применения в практических задачах.
В заключение отметим, что в [26, Введение] приведен детальный обзор
исследований, связанных с листовой резкой на машинах с ЧПУ.
9. Заключение
В работе построен метод решения экстремальной задачи маршрутизации с
выделенной системой первоочередных заданий. В основе исследования нахо-
159
дится декомпозиция с выделением предваряющей и финальной экстремаль-
ных задач и применением в каждой из упомянутых частичных задач ши-
роко понимаемого динамического программирования. Это позволяет решать
маршрутные задачи ощутимой размерности за приемлемое время. Одно из
возможных применений разработанного метода касается задачи управления
инструментом при фигурной листовой резке деталей зонами на машинах с
ЧПУ.
ПРИЛОЖЕНИЕ
Доказательство предложения 2. Учитываем (4.2),
(ωt)t∈0,n (yt)t∈0,N (ŷt)t∈0,n-N ∈ Zξ⋄η[x0].
Поскольку ξ ⋄ η ∈ P, получаем (4.5), т.е.
(Π.1)
(ξ ⋄ η, (ωt)t∈0,n)D[x0
].
При этом согласно (3.26) и (3.21) C♮ξ[(yt)t∈0,N ] = V[x0] = V, причем pr2(yN )
∈X00 всилу (3.19)
V [pr2(yN)] R+. Кроме того,
(Π.2)
C∗η[(ŷi)i∈0,n-N]
V [pr2(yN
)].
Заметим, что в силу (3.9)-(3.11) имеем, однако, что
[
(Π.3) C∗η[(ŷi)i∈0,n-N ] =
c(pr2(ŷt-1), pr1(ŷt), η1(t, n - N) ⊕ N) +
t=1
]
+ cN+η(t)(ŷt1(t,n - N) ⊕ N) + f(pr2(ŷn-N)).
Кроме того, по выбору ξ и (yt)t∈0,N имеем, что (см. (3.21), (3.22))
∑[
(Π.4) C♮ξ[(yt)t∈0,N ] =
c(pr2(yt-1), pr1(yt), ξ1(t, N) ∪ N + 1, n) +
t=1
]
+ cξ(t)(yt1(t,N) ∪ N + 1,n)
+
V [pr2(yN)].
Наконец, с учетом (2.16) и (П.1) получаем равенство
∑[
(Π.5) Cξ⋄η[(ωt)t∈0,n] =
c(pr2(ωt-1), pr1(ωt), (ξ ⋄ η)1(t, n)) +
t=1
]
[
+ c(ξ⋄η)(t)(ωt,(ξ ⋄ η)1(t,n)) +
c(pr2(ωt-1), pr1(ωt), (ξ ⋄ η)1(t, n)) +
t=N+1
]
+ c(ξ⋄η)(t)(ωt,(ξ ⋄ η)1(t,n)) + f(pr2(ωn)).
160
С учетом (4.1), (П.5) и определения (ωt)t∈0,n получаем, что
∑[
(Π.6) Cξ⋄η[(ωt)t∈0,n] =
c(pr2(yt-1), pr1(yt), ξ1(t, N) ∪ N + 1, n) +
t=1
]
+ cξ(t)(yt1(t,N) ∪ N + 1,n)
+
[
+
c(pr2(ŷt-N-1), pr1(ŷt-N ), η1(t - N, n - N) ⊕ N) +
t=N+1
]
+ cη(t-N)+N(ŷt-N1(t - N,n - N) ⊕ N) + f(pr2(ŷn-N)).
Учтена цепочка равенств pr2(ωN ) = pr2(yN ) = pr2(ŷ0) (см. (3.4), (3.5), (3.14)).
Из (П.3), (П.4) и (П.6) вытекает, что
Cξ⋄η[(ωt)t∈0,n] = C♮ξ[(yt)t∈0,N ]
V [pr2(yN)] +
[
+
c(pr2(ŷτ-1), pr1(ŷτ ), η1(τ, n - N) ⊕ N) +
τ=1
]
+ cη(τ)+N(ŷτ1(τ,n - N) ⊕ N) + f(pr2(ŷn-N)) =
=C♮ξ[(yt)t∈0,N]
V[pr2(yN)] + C∗η[(ŷi)i∈0,n-N ],
а потому с учетом (П.2) получаем равенство
(Π.7)
Cξ⋄η[(ωt)t∈0,n] = C♮ξ[(yt)t∈0,N
],
где по выбору (ξ, (yt)t∈0,N ) имеем из (3.26), что C♮ξ[(yt)t∈0,N ] = V[x0] = V.
В силу (4.4) и (П.7) получаем цепочку равенств
Cξ⋄η[(ωt)t∈0,n] = V = V;
с учетом определения (ωt)t∈0,n получаем теперь (4.6), где (4.5) выполнено в
силу (П.1).
Доказательство предложения 4. Пусть x∈Xopt, т.е. x∈X0 и
V[x] = V (см. (4.4)). Используя (3.27), выберем
(ξ, (yi)i∈0,N ) (sol)[x],
получая (ξ, (yi)i∈0,N ) D[x] со свойством C♮ξ[(yi)i∈0,N ] = V[x] (оптималь-
ное в (M1, x)-задаче ДР). Тогда (см. (4.4)) C♮ξ[(yi)i∈0,N ] = V. С учетом (3.15)
выберем
(η, (ŷi)i∈0,n-N ) (sol)[pr2(yN )],
получая (η, (ŷi)i∈0,n-N ) D[pr2(yN )] со свойством
C∗η[(ŷi)i∈0,n-N]
V [pr2(yN)].
161
Из предложения 2 следует, что (ξ ⋄ η, (yi)i∈0,N (ŷi)i∈0,n-N )D[x] таково,
что справедливо (4.6). С учетом (2.18) имеем неравенство
V [x] ≤ Cξ⋄η[(yi)i∈0,N (ŷi)i∈0,n-N ] = V,
где V
V [x] в силу (2.21). В итог
V [x] = V, а потому (см. (2.25)) x ∈ X0opt.
Итак,
(Π.8)
Xopt ⊂ X0opt.
Пусть x ∈ X0opt, т.е. x ∈ X0
V [x] = V. С учетом (2.19) выберем оптималь-
ное ДР
(α, (zi)i∈0,n) (sol)[x];
тогда Cα[(zi)i∈0,n]
V [x] = V. При этом α ∈ P, а потому α = α1 ⋄ α2,
где α1 ∈ A1 и α2 ∈ A2. Поэтому (см.
(2.11)) (zi)i∈0,n ∈ Zα1⋄α2 [x]. Тогда
(zi)i∈0,N ∈ Zα1 [x], а потому (см. (3.18))
(α1, (zi)i∈0,N ) D[x].
Введем кортеж (zi)i∈0,n-N в X × X посредством правила
(z0 (pr2(zN),pr2(zN)))&(zt zN+t ∀t ∈ 1,n - N).
Легко видеть, что (zt)t∈0,n-N ∈ Z∗α2 [pr2(zN )] (см. (4.3)), а потому (см.(3.5))
(α2, (zt)t∈0,n-N ) D[pr2(zN )].
При этом (zt)t∈0,n = (zt)t∈0,N (zt)t∈0,n-N . Поэтому согласно предложению 3
и (4.4)
V = Cα[(zt)t∈0,n] = C♮α
[(zt)t∈0,N ]
V[pr2(zN )] + C∗α
[(zt)t∈0,n-N ],
1
2
где (см. (3.14)
V [pr2(zN)] ≤ C∗α2[(zt)t∈0,n-N]. Получаем теперь, что
C♮α
[(zt)t∈0,N ] = V - C∗α
[(zt)t∈0,n-N ]
V[pr2(zN )] ≤ V.
1
2
Тогда V ≤ Cα1 [(zt)t∈0,N ] ≤ V. В итоге Cα1 [(zt)t∈0,N ] = V[x] = V, а потому
(см. (3.29)) x ∈ Xopt, чем завершается проверка свойства X0opt ⊂ Xopt, а сле-
довательно (см. (П.8)), и равенства X0opt = Xopt.
162
СПИСОК ЛИТЕРАТУРЫ
1.
Gutin G., Punnen A. The traveling salesman problem and its variations. Berlin:
Springer, 2002.
2.
Cook W.J. In pursuit of the traveling salesman. Mathematics at the limits of
computation. Princeton, New Jersey: Princeton University Press, 2012.
3.
Гимади Э.Х., Хачай М.Ю. Экстремальные задачи на множествах перестановок.
Екатеринбург: УМЦ УПИ, 2016.
4.
Меламед И.И., Сергеев С.И., Сигал И.Х. Задача коммивояжера // АиТ. 1989.
№ 9. С. 3-33; № 10. С. 3-29; № 11. С. 3-26.
5.
Литл Дж., Мурти К., Суини Д., Кэрел К. Алгоритм для решения зада-
чи о коммивояжере // Экономика и математические методы. 1965. Т. 1. № 1.
С. 94-107.
6.
Беллман Р. Применение динамического программирования к задаче о комми-
вояжере / Кибернетический сборник. М.: Мир, 1964. Т. 9. С. 219-228.
7.
Хелд М., Карп Р. М. Применение динамического программирования к задачам
упорядочения / Кибернетический сборник. М.: Мир, 1964. Т. 9. С. 202-218.
8.
Ченцов А.Г. Экстремальные задачи маршрутизации и распределения заданий:
вопросы теории. М.-Ижевск: Регулярная и хаотическая динамика, Ижев. ин-т
компьют. исслед., 2008.
9.
Ченцов А.Г., Ченцов А.А., Сесекин А.Н. Задачи маршрутизации перемещений
с неаддитивным агрегированием затрат, М.: Ленанд, 2021.
10.
Петунин А.А., Ченцов А.Г., Ченцов П.А. Оптимальная маршрутизация инстру-
мента машин фигурной листовой резки с числовым программным управлением.
Математические модели и алгоритмы. Екатеринбург: УрФУ, 2020.
11.
Ченцов А.Г.,Ченцов П.А. Динамическое программирование в задаче маршрути-
зации: декомпозиционный вариант // Вестник российских университетов. Ма-
тематика. 2022. Т. 27. № 137. С. 95-124.
12.
Ченцов А.Г.,Ченцов П.А. Экстремальная двухэтапная задача маршрутизации
и процедуры на основе динамического программирования // Тр. Ин-та мат. и
механики УрО РАН. 2022. Т. 28. № 2. С. 215-248.
13.
Ченцов А.Г. Задача последовательного обхода мегаполисов с условиями пред-
шествования. АиТ. 2014. № 4. С. 170-190.
14.
Ченцов А.Г., Ченцов П.А. Маршрутизация в условиях ограничений: задача о
посещении мегаполисов // АиТ. 2016. № 11. C. 96-117.
15.
Петунин А.А. О некоторых стратегиях формирования маршрута инструмента
при разработке управляющих программ для машин термической резки мате-
риала // Вестн. Уфим. гос. авиац. техн. ун-та. 2009. Т. 13. № 2. С. 280-286.
16.
Фроловский В.Д. Автоматизация проектирования управляющих программ теп-
ловой резки металла на оборудовании с ЧПУ // Информ. технологии в проек-
тировании и производстве. 2005. № 4. C. 63-66.
17.
Wang G.G., Xie S.Q. Optimal process planning for a combined punch-and-laser
cutting machine using ant colony optimization // Int. J. Product. Res., 43:11, Jun.
(2005), P. 2195-2216.
18.
Lee M.-K., Kwon K.-B. Cutting path optimization in CNC cutting processes using
a two-step genetic algorithm // Int. J. Product. Res. 2006. No. 44. P. 5307-5326.
163
19. Куратовский К., Мостовский А. Теория множеств. М.: Мир, 1970.
20. Дьедонне Ж. Основы современного анализа. М.: Мир, 1964.
21. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ.
М.: МЦНМО, 2002.
22. Варга Дж. Оптимальное управление дифференциальными и функциональными
уравнениями. М.: Наука, 1977.
23. Ченцов А.Г. К вопросу о маршрутизации комплексов работ // Вестн. Удмурт.
ун-та. Математика. Механика. Компьютерные науки. 2013. Вып. 1. С. 59-82.
24. Lawler E.L. Efficient implementation of dynamic programming algorithms for
sequencing problems, Report BW106, Amsterdam: Mathematisch Centrum, 1979.
P. 1-16.
25. Ченцов А.Г., Ченцов А.А. К вопросу о нахождении значения маршрутной задачи
с ограничениями // Проблемы управления и информатики. 2016. № 1. С. 41-54.
26. Петунин А.А., Ченцов А.Г., Ченцов П.А. Оптимальная маршрутизация в зада-
чах последовательного обхода мегаполисов при наличии ограничений // Челяб.
физ.-мат. журн. 2022. Т. 7. № 2. С. 209-233.
Статья представлена к публикации членом редколлегии А.А. Лазаревым.
Поступила в редакцию 17.10.2022
После доработки 24.01.2023
Принята к публикации 26.01.2023
164