Известия Института математики и информатики УдГУ
2018. Том 52
УДК 519.6
© А. Г. Ченцов, П. А. Ченцов
ОБ ОДНОЙ ЗАДАЧЕ МАРШРУТИЗАЦИИ С ОПТИМИЗАЦИЕЙ ТОЧКИ СТАРТА-ФИНИША
Рассматривается одна оптимизирующая процедура для решения задачи последовательного обхода мегаполисов при наличии условий предшествования и функций стоимости, зависящих от списка заданий. Исследуется постановка замкнутой в следующем смысле задачи: стартовая точка (база процесса) и терминальное состояние должны совпадать (аналог замкнутой задачи коммивояжера). Данное условие естественно для целого ряда прикладных задач, связанных с проведением серий однородных процедур с элементами маршрутизации. Так, в частности, в задачах, связанных с листовой резкой деталей на машинах с ЧПУ, при работе с сериями деталей, отвечающих одному и тому же раскройному плану, режущий инструмент следует возвращать в точку старта для проведения повторных операций. В такой постановке задача оптимизации точки старта представляет не только теоретический, но и определенный практический интерес. На уровне математической постановки необязательно требовать упомянутого возврата в точку старта: данное условие может быть отражено посредством введения соответствующей терминальной функции, аргументом которой является последняя из точек посещения контуров детали. Такой подход позволяет охватить и некоторые более общие случаи, когда задается стоимость терминального состояния, включающая в виде параметра точку старта. В результате точки старта и финиша связываются функциональной зависимостью в виде цены, определяющей качество финального состояния процесса. Данное представление используется в статье.
Ключевые слова: маршрут, трасса, условия предшествования.
Б01: 10.20537/2226-3594-2018-52-08 Введение
Задачи маршрутизации перемещений возникают в самых разных областях человеческой деятельности. В частности, это относится к некоторым задачам, возникающим в атомной энергетике и касающимся минимизации дозовой нагрузки исполнителя при выполнении комплекса работ в условиях повышенной радиации (см. [1]). Другая инженерная задача (см. [2]), возникающая в машиностроительном производстве, связана с управлением режущим инструментом при осуществлении листовой резки деталей на машинах с ЧПУ. Упомянутые прикладные задачи осложнены ограничениями различных типов; кроме того, в них может возникать потребность в применении функций стоимости, допускающих зависимость от списка заданий. Так, в задаче о демонтаже радиоактивного оборудования, находящегося в различных точках местности, очевидным образом «светят» те и только те источники, которые не были демонтированы на данный момент времени. Как следствие, возникают функции стоимости, зависящие от списка заданий, которые еще не выполнены.
Вышеупомянутые прикладные задачи с элементами маршрутизации существенно отличаются от своего прототипа — известной труднорешаемой задачи коммивояжера (ТБР — в англоязычной литературе), хотя трудности вычислительного характера сохраняются и, более того, усугубляются. Прежде всего это касается ограничений и усложненных функций стоимости, естественных для многих прикладных задач с элементами маршрутизации. Тем не менее отметим ряд исследований по задаче коммивояжера: см. [3-10], а также недавнюю монографию [11].
Отметим, что задача коммивояжера обычно рассматривается как замкнутая: точки старта и финиша традиционно отождествляются. В прикладных задачах такое предположение может иметь весьма конкретный смысл: имеется в виду повторяемость решения однородных задач.
Так, в частности, при листовой резке деталей на машинах с ЧПУ нередко возникает процесс обработки серий листов с одним и тем же раскройным планом, а потому вполне естественно применять на этапах резки одну и ту же схему маршрутизации. Это обстоятельство предполагает, однако, что по завершении резки инструмент должен возвращаться в точку парковки, которую естественно зафиксировать. Оптимизация данной точки при упомянутом многократном повторении резки представляет поэтому ощутимый практический интерес. Данная оптимизация должна, конечно, согласовываться с оптимизацией траектории инструмента и может осуществляться в рамках аппарата динамического программирования (ДП).
Вместе с тем требование, связанное с возвратом инструмента в точку старта, приводит к тому, что терминальная функция стоимости оказывается зависимой от конкретного выбора этой точки. В результате процедуру решения на основе ДП приходится проделывать для каждой точки старта-финиша отдельно, что приводит к серьезным затруднениям на этапе построения функций Беллмана для задач маршрутизации, привязанных каждая к соответствующей точке старта-финиша.
В этой связи в настоящей работе, продолжающей [12-14], предлагается некоторый вариант декомпозиционного подхода, при котором удается использовать единую процедуру построения слоев функции Беллмана (мы используем так называемые условия предшествования, типичные для приложений и позволяющие отказаться от насчитывания всего массива значений функции Беллмана).
§ 1. Обозначения и определения общего характера
Используется стандартная теоретико-множественная символика (кванторы, связки); 0 —
пустое множество, = — равенство по определению, а ёе! заменяет фразу «по определению». Если ж и у — объекты, то через (ж; у} обозначаем единственное множество, содержащее ж, у и не содержащее никаких других элементов ({ж;у} — неупорядоченная пара объектов х, у).
Тогда для каждого объекта г в виде (г} = (г; г} имеем синглетон, содержащий г (итак, г € (г}; других элементов множество (г} не содержит). Каждое множество — объект. С учетом этого,
следуя [15, с. 67], для произвольных объектов р и q используем соглашение (р, q) = ((р}; (р; д}}, получая упорядоченную пару (УП) с первым элементом р и вторым элементом д. Если же г есть произвольная УП, то через рп(г) и рг2(г) обозначаем первый и второй элементы г соответственно; эти элементы однозначно определяются равенством г = (рп(г),рг2(г)). Если г € А х В, где А и В — множества, то рп(г) € А и рг2(г) € В. Как обычно [16, с. 17], для
любых трех объектов а, Ь и с посредством (а, Ь, с) = ((а, Ь),с) определяется триплет с первым элементом а, вторым элементом Ь и третьим элементов с. Соответственно, для любых трех множеств А, В и С, следуя [16, с. 17], используем соглашение А х В х С = (А х В) х С; тогда при ж € А х В и у € С имеем (ж, у) € А х В х С.
Для любых двух непустых множеств Р и Q через QP обозначаем множество всех отображений из Р в Q. Условимся об одном соглашении в части обозначений для значений функции нескольких переменных. Итак, если А, В, С и Б — непустые множества, Н € БАхВхС, ж € АхВ и у € С, то Н(ж, у) € Б есть значение Н в точке (ж, у) € А х В х С, для которого полагаем также Н(ж,у) = Н(ж1, ж2,у), где ж1 € А, ж2 € В и ж = (ж1,ж2).
Если Н — множество, то Р(Н) есть ёе! семейство всех подмножеств (п/м) Н, Р'(Н) =
△ Р(Н) \ (0}, а Пп(Н) — семейство всех конечных множеств из Р'(Н); итак, Пп(Н) есть семейство всех непустых конечных п/м Н. Если А и В — непустые множества, / € ВА и С € Р(А),
то / 1(С) = (/(ж): ж € С} € Р(В) есть образ С при действии /, / 1(С) = 0 при С = 0.
Как обычно, М — вещественная прямая, N = (1; 2;...}, N0 = (0} и N = (0; 1; 2;...} и при этом
РГд = {к €Н0|(р < к)к(к < д)} Ур € М0 Уд € М0
(заметим, что 1,0 = 0). Если — непустое конечное множество, то \К\ € N есть ёе! мощность К; кроме того, через (Ы)[К] обозначаем (непустое) множество всех биекций [17, с. 87]
«промежутка» 1, \К\ на К. Пусть |0| = 0. Перестановка непустого множества есть биекция этого множества на себя.
Пусть, как обычно, М+ = (£ € М | 0 ^ £}. Если Б — непустое множество, то через Р.+ [5] обозначаем множество всех функций из Б в М+; итак, Р.+ [5] = (М+)^.
§ 2. Постановка задачи
Фиксируем непустое множество X, а также его п/м X0 € Р'(X), играющее роль множества возможных начальных состояний. Пусть N € N N ^ 2, заданы множества
М1 € Пп(Х),..., Им € Пп(Х),
именуемые далее мегаполисами, а также отношения Mi € P'(Mi xMi),..., Mn € P'(Mn xMn); итак,
M1 С M1 X M1,..., MN С MN X Mn , причем Mj ф 0 при г € 1, N. Полагаем далее, что
(х° п мк = 0 Уке MV)&(Mp п мд = 0 Уре T7n Vq е MV \ {р}).
При s € 1,N отношение Ms определяет возможные варианты выполнения работ при посещении мегаполиса Ms. Эти работы будем называть внутренними, в то время как перемещения между мегаполисами, а также из x € X0 к мегаполисам — внешними. Мы рассматриваем процессы вида
X0 € X0 ^ (x^ € Ma(i) - x21) € Ma(i)) ^ ... ^ (xiN) € M«(N) - x2N) € M«(N)), (2.1)
где z(1) △ (x11),x^1)) € Ma(1),... , z(N) = (x1N),x^N)) € Ma(N), а x^N) некоторым образом связано с x0 (в простейшем случае (2.1) дополняется этапом возврата в точку x0; в более общем случае связь х° и х^ характеризуется платежной функцией); а — перестановка множества 1 ,N. В (2.1) прямые стрелки соответствуют внешним перемещениям, а волнистые — перемещениям при выполнении внутренних работ. Из (2.1) видно, что выбор а не определяет еще течение процесса; возникает потребность в дополнительном понятии трассы, связанной с кортежем (x0 ,z(1) ,...,z(N)).
Пусть Р = (bi)[l, N]; элементы Р (а это — перестановки 1, N) называем маршрутами. Выбор маршрута может быть стеснен условиями предшествования, для введения которых зафиксируем множество
К € V(L~N х T^N) (2.2)
так называемых адресных пар индексов из 1 ,N (итак, Ж, С 1,N х 1,7V; случай К = 0 не исключается и отвечает отсутствию условий предшествования). Полагаем, что множество K (2.2) удовлетворяет условию
VK0 €P'(K) 3^0 € K0 : pr 1(2:0) = pr2(z) Vz € K0 (2.3)
(в [12, часть 2] указаны конкретные классы задач со свойством (2.3)). Тогда [14, (3.8)]
A △ {а € P | a-1(pn(z)) < a-1(pr2(z)) Vz € K} € P'(P)
есть непустое множество всех допустимых по предшествованию маршрутов.
С целью определения трасс (траекторий), согласованных с маршрутами, введем сначала при j € 1, N конечные множества
(Mj △ {pr1 (z): z € Mj})&(Mj △ {pr2(z): z € Mj}). (2.4)
С учетом (2.4) полагаем теперь, что
NN
X = X0[J(Q Mi), X △ X0[J(Q Mi).
i=1 i=1
Через Z обозначим множество всех кортежей (zj)ieq-^: 0,N —> X х X. Тогда при х € Х° и а € P в виде
Za[x] = {(zt)t€ojy G Z j (z0 = {x,x))k{zt € Ma(t) Vi € ljf)} € Fin(Z) (2.5)
имеем множество всех трасс (см. (2.1)), стартующих из x и согласованных с маршрутом а. Если а € A и z € Za[x], где x € X0, то УП (а, z) есть допустимое решение (ДР), стартующее из x. Поэтому при x € X в виде
DD[x] △ {(а,z) € A x Z | z € Z«[x]} € Fin(A x Z) (2.6)
имеем множество всех ДР, стартующих из ж. Кроме того,
D △ {(а,z,ж) € A х Z х X0 | (а,z) € ¿[ж]} € P'(A х Z х X0)
есть множество всех ДР (отвечающих всевозможным точкам старта). Пусть = 'Р/(1,Х). Полагаем заданными функции
с € ^+[Х х X х ЭТ], С1 € ^+[Х х X х ЭТ],..., см € ^+[Х х X х Ж],/ € [X х X0].
Если х € X0, а € Р и z € то полагаем, что
€a[z\x] = ^[c(pr2(z(i-l)),m(z(i)),a4i,X))+ca(t)(z(i),a1(i,X))] + /(pr2(z(X))^). (2.7) t=i
Для нас в (2.7) важен тот случай, когда (при ж € X0) а € A и z € Za[x], то есть случай, когда (см. (2.6)) (а, z) € DD [ж]. При ж € X0 получаем задачу
Ca[z|x] ^ min, (а, z) € DD [ж], (2.8)
которой сопоставляется значение
V[ж] = min £«Иж] = min min Ca [z^] € R+, (2 9)
(a,z)eD[x] aeA zv ' 7
а также (непустое) множество
(SOL)M △ {(а,z) € ¿[ж]|£аМж] = V[ж]} всех оптимальных решений задачи (2.8). С учетом (2.9) получаем также задачу
V[ж] ^ inf, ж € X0. (2.10)
В связи с (2.10) получаем, что
V △ inf V [ж] = inf Ca [z | ж] € R+ (2 11)
xeX0 (a,z,x)eD
есть экстремум (значение) задачи (2.10). Для решения задачи (2.10) можно, конечно, использовать такую схему: сначала при ж € X0 решаем задачу (2.8) и определяем V[ж] (2.9); затем выполняется (в меру возможного) перебор ж € X0 с целью приближения по результату к V.
Разумеется, реализация данного подхода осуществима лишь для задач малой размерности и для конечного множества X0; основную трудность представляет применение процедуры ДП (мы ограничиваемся применением ДП) для всех ж € X0, поскольку от ж зависит стоимость терминального состояния. В этой связи в следующем разделе предлагается оптимизирующая процедура с элементами декомпозиции, существенную часть которой составляет универсальная (относительно ж € X0) версия ДП.
§ 3. Оптимизирующая процедура с применением динамического программирования
В настоящем разделе предлагается алгоритм (на функциональном уровне) для решения задачи (2.10). Данный алгоритм предполагает декомпозицию с выделением финального фрагмента задачи (в типичных случаях — этап возвращения в стартовую точку). Итак, введем в рассмотрение при а € P и z € Z
n ___
£a[z] = £ [c(Pr2(z(t — l)),pri(z(t)),a1(t, N)) + ca(t)(z(t), al(t, X))]. (3.1)
t=i
Тогда, в частности (см. (2.7), (3.1)), при x € X0, а € A и z € Za[x]
C«[z|x] = ¿«[z] + f (pr2(z(N )),x). (3.2)
С учетом (3.1) и (3.2) рассмотрим при x € X0 задачу
¿a[z] ^ min, (а, z) € DD[x]. (3.3)
Разумеется, (3.3) есть вариант задачи, рассматриваемой в [14] (и во многих других работах), при условии зануления терминальной функции. С задачей (3.3) связывается экстремум:
V"[x] △ min ¿«[z] € R+ V x € X0. (3 4)
(a,z)€D[zj
Кроме того, при x € X0 имеем (непустое) множество
(sol)[x] △ {(а0,z0) € DD[x] | ¿ао[z0] = F[x]} € P'(iD[x]). (3.5)
Для определения (3.4) и (3.5) можно использовать вариант ДП работы [14] (в [13] приведена более общая конструкция на основе ДП; см. также [18]). Однако сейчас мы вернемся к задаче (2.10) и попытаемся использовать (3.3)—(3.5) для ее исследования. Если x € X0 и (а0, z0) € (sol)[x], то полагаем, что
v(a0,z0,x) △ F[x] + f(pr2(z0(N)),x); (3.6)
£(а0, z0, x) € R+.
Имеем следующее весьма очевидное
Предложение 3.1. При x € X0 и (а0, z0) € (sol)[x] V [x] ^ й(а0, z, x).
Доказательство. Фиксируем x € X0 и УП (а0,z0) € (sol)[x]. Тогда (а,z0) € DD[x], а0 € A и z € Zao[x]. В частности, z0 € Z (см. (2.5)), а тогда
z0 : 0, N ^ X х X. В частности, z0(N) € X х X. Из (2.5) следует, что z0(0) = (ж, ж) и
z0(i) eMao(i)Vi € MV. (3.7)
Из (3.7) имеем, в частности, что z0(N) € Mao(N), а тогда (см. (2.4))
pr2(zo(N)) € Mao(N).
При этом (см. (3.1)) определено значение ¿ao[z0] € R+ и согласно (3.5) справедливо равенство
¿«0 [z0 ] = ^[ж]. (3.8)
Тогда согласно (2.7) Cao[z0|x] € R+ и (см. (3.2))
Cao [z0 |ж] = ¿ao [z0] + f (p^(N)),ж). (3.9)
Из (2.9) получаем неравенство
V [ж] < Cao [z0 |ж]. (3.10)
Поэтому из (3.9) и (3.10) вытекает неравенство
V[ж] < ¿ao [z0] + f (pr2(z0(N)),Ж). (3.11)
В свою очередь, из (3.8) и (3.11) следует, что
V[ж] < У[ж] + f (pr2(z0(N)), ж).
С учетом (3.6) получаем теперь нужное неравенство V[ж] ^ г)(а0,z0,ж). □
Из (2.11) и предложения 3.1 получаем, что
V < г)(а0, z0, ж) Уж € X0 У(а0, z0) € (во1)[ж]. (3.12)
Учтем, что при ж € X0 согласно (2.6) (во1)[ж] € Fin(A х Z). Тогда в силу (3.12)
V ^ min £(а, £,ж) Уж € X0. (3 13)
(a,z)e(sol)[x] ( . )
В связи с (3.13) введем в рассмотрение
V = inf min £(а, £,ж) € R+. (3 14)
xeX0 (a,z)e(soi)[x] + (3.14)
Из (3.13), (3.14) вытекает очевидное неравенство
V < V, (3.15)
позволяющее оценивать сверху экстремум задачи (2.10). Теперь мы рассмотрим построение декомпозиционного решения данной задачи (не являющегося, вообще говоря, оптимальным). Будем полагать при этом, что X0 — конечное множество: X0 € Fin(X).
Алгоритм на функциональном уровне
10. Используем процедуру «усеченного» ДП для решения задачи (3.3). Для этого сначала напомним общие конструкции [12-14, 16], имея своей целью построение (на основе ДП) процедуры, универсальной для точек из множества X0 (для определенности будем следовать [14]). Итак, пусть I — оператор, действующий в N по правилу [14, (3.9)]: при K € N
I(K) = K\{pr2(z): z € Е[К]}, где Е[К] = {z € К | K)k(pr2(z) € К)}. Итак, I: ОТ —>■ ОТ.
Тогда, кстати, А = {а € Р | (а(1) € 1(1, N))k(cx(j) € 1(1, N \ al(l,j - 1)) Vj € 2, N)}. Следуя [14, раздел 4], полагаем, что
£ △ {K € N| yz € K (pri(z) € K) ^ (pr2(z) € K)}
(элементы £ — существенные списки заданий).
Кроме того, пусть £s = {К € £ | s = \К\} Vs € 1,N. В виде семейства {£.,: s € 1, iV} имеем разбиение £. Легко видеть, что £jv = {1, А?"} и
ti = {{t}:t£ l,iV\Ki}, (3.16)
где K1 △ {pr1(z): z € K}. Наконец (см. [14, (4.6)]),
6-1 = {К\{Ц: К ¿€1 (К)} У^€2,ЛГ.
Таким образом, имеем рекуррентную процедуру
£м ^ ... ^ £ъ
реализующую все существенные списки заданий. Данное построение позволяет ввести слои пространства позиций, обозначаемые далее через
При этом
£)0 = {(х,0): х € _у М*}, (ЗЛ7)
г€1,Л?\К1
Бц = ж €Х0} = Х° х {Т^} (3.18)
В (3.17), (3.18) введены крайние слои пространства позиций; (3.18) обладает понятной особенностью в сравнении с [14]: мы исследуем задачу с произвольными начальными состояниями х € X0. Для построения промежуточных слоев введем сначала следующие обозначения: при в £ 1,^-1 и Л" € ^ последовательно определяем ■13(К) = {] € 1,Х \ К | {.]}[] К € £3+1},
М8[К] = и Мз, Д,[К] = {(х, К): х € М5[К]} = М8[К] х {К}. С учетом этих соглашений
з еJs(к) полагаем, что
Б8= и ЩК] (3.19)
кеб
при этом (см. [12, предложение 4.9.3]) Д0 = 0, Д1 = 0, ..., Д^ = 0. Точнее, слои Д0, Д^ ..., являются непустыми подмножествами X х Т>( 1,Х), то есть непустыми множествами позиций. При этом [12, предложение 4.9.4]
(у, К, \ Ш) € Д _ 1 Ув е 1, ЛГ У(ж, К) е Б8 V? е Уу е М,.
Как следствие, получаем следующее свойство: если § € 1, X, (ж, К) € Д,, j € 1(-К") и г € М.,-,
то
(рг2(^),К \Ш) € Дв-Ь (3.20)
Теперь последовательно конструируем функции
Итак, полагаем (см. (3.17)), что
уо(х,0)= 0 Ух£ и М^;
г€МУ\Кх
получаем функцию Уо: Vо —>■ М+. Если з € 1, X и функция € 7£+[Д,_1] уже построена, то с учетом (3.20) полагаем, что г5 € Р.+ [Д8] определяется условиями
г5(х,К)= шт ш1п[е(х,рг1 (г), К) + сз(г, К)+ г8-1(»г2(г), К \ Ь'})] У(х, К) € Д5. (3 21)
Зе1(к) ¿ем/ ^ V V ^ -1 у 7
Тем самым определена рекуррентная процедура
г0 ^ г1 ^ ... ^ г^. (3.22)
Замечание 1. Обсудим построение Д\ и г\ € учитываем (3.17). Тогда [14, замечание 1]
при £ (Е 1, Ж \ К1. Тем самым определяются все множества 1\{К), К (Е £1. Здесь мы используем (3.16). Далее определяются все множества £ е 1, N \ К1;
■М1 [{'}]= и М Зуге!д\к1. Используя (3.19), получаем равенство
£>1= _У {(хД^хеЛШ}]}-
Тогда функция VI полностью определяется (см. [14, (4.11)]) условиями
VI(ж, {¿}) = тт[с(х,рг1(г),{1}) + сн(г,{г})} Уге1,ЛГ\К1 Ух € ЛЫВД].
Данное представление вытекает из (3.21). □
Возвращаясь к (3.21), (3.22), отметим, что [14, (3.18), (4.12)]
У[х] = ум(х,1,Х)Ух (3.23)
Из (3.21), (3.23) вытекает, что справедливо представление
У[х] = тт тт [с(ж, рг\(г), 1, А/") + 1, Ар + Ум-г(рг2(г), 1, N \ Щ)1 Уж € Х°. (ъол)
j&(l,N)z€Щ >
Из (3.21), (3.24) видно, что существенная часть процедуры построения слоев функции Беллмана является одной и той же для всех х € X0 (зависимость от х проявляется лишь в финале, то есть в (3.24)).
20. Слои функции Беллмана используем для поиска ДР из (8о1)[х], х € X0.
Речь идет о реализации вариантов достаточно понятной процедуры [14, (4.13), (4.14)]. В связи с (3.14), (3.15) нам желательно при каждом х € X0 определить все множество (во1)[х]. В противном случае возможно некоторое загрубление оценки (3.15). Мы будем допускать такую возможность при реализации алгоритма; однако для каждого х € X0 некоторое решение (а, z) € (яо1)[х] будет определятся по схеме [14, (4.13), (4.14)], которую сейчас напомним очень кратко.
Итак, пусть х0 € X0 фиксировано. Полагаем z0 = (х0, х0). Далее, с учетом (3.24) определяем Л1 € 1(1, X) и ъ\ € М^, для которых
У[ж°] =с(ж0,рт1(г1),МУ)+с11(г1,МУ)+зд_1(рт2(г1),МУ\{Л1}). (3.25)
Тогда (ж0,1, А/") € Ду в силу (3.18), а потому согласно (3.20)
(рг2(21),1,ЛГ\{Л1}) (3.26)
Поскольку N — 1 ^ 1, из (3.21) и (3.26) имеем равенство
зд_1(рт2(г1), 1, N \ {ЛГ1}) = тт тт [с(рг2(г1),рп(г), 1, N \ {Л1}) +
j&(l,N\{J1})
+ ф, 1, N \ №}) + ум_2(рф), 1, N \ {ЛиЯ)]- (3-27)
С учетом (3.27) определяем Л2 € 1(1, N \ {ЛГ1}) и г2 € Мл2 так, что
Умффг), 1, N \ №}) = с(рг2(г1),рг1(г2), 1, N \ +
+ с12 (г2,1, N \ №}) + ум_2(рф2), 1, N \ Л2}). (3.28) При этом согласно (3.20) и (3.26) имеем
(рг2(г2),1,ЛГ\{Л1;Л2}) (3.29)
Далее процедуру на основе (3.25)-(3.29) следует продолжать вплоть до исчерпывания полного списка заданий (в этой связи отметим, что в силу (3.25), (3.28)
У[жи] = с(рфо),рф 1), 1, АО + с(рт2(г!),^1(г2), 1, N \ + сфъ 1, X) +
+ с12(г2,1,Х\{Л1})+зд_2(рт2(г2),1,Х\{^: к € 1,2});
дальнейшие преобразования на основе (3.25) и (3.28) приводят к аналогичным представлени-
А " 6 А и тРасса й = -
со свойством
0
ям). В результате будут построены маршрут г) = ^ ^ и трасса ъ = (^к)^сПу ^ х°]
У[х0] =
Ясно, что при этом (см. (3.5))
(Z, Z) € (sol) [x0]. (3.30)
Заметим, что неединственность оптимального ДР (3.30) (при фиксации x0 € X0) может быть связана с тем, что выбор Ji, J2, zi, z2 в (3.25), (3.28), а также выбор экстремальных элементов в соотношениях, подобных (3.25) и (3.28), может быть не единственным. Если (n,z) € (sol)[x0], то, конечно же, ¿п[?] = ¿чй, однако значения f (pr2(z(N)),x0) и f (pr2(z(N)),x0) могут различаться, что приведет к различию Cn[z|x0] и Cn[z|x0]. В конечном итоге могут различаться значения v(n?,Z,x0) и v(nzz,x0); см. (3.6).
Сейчас будем предполагать, что посредством вышеупомянутой процедуры (см. (3.25)— (3.29)) построены множества (sol)[x], x € X0. Это будет, в частности, в случае, когда каждое из множеств (sol)[x], x € X0, одноэлементно. Тогда вышеупомянутая процедура последовательного построения оптимальных ДР в задачах (3.3) обеспечит построение (sol)[x], x € X0. 30. Располагая множеством (sol)[x],x € X0, мы в силу равенства
V= min min v(a, z,x)
iex0 (a,z)e(soi)[®|
(напомним, что X0 — конечное множество) можем определить решение задачи
min v(a, z,x) ^ min, x € X0,
(a,z)€(sol) [ж]
(напомним, что, поскольку множества (sol)[x], x € X0, построены, мы располагаем значениями
min v(a, z,x), x € X0,
(a,z)€(sol) [ж]
то есть для их определения используется (3.6)); x0 € X0, для которого
m/n v(a,z,x0 )= V, (3.31)
(a,z)€(sol) [жо] v 7
рассматривается как результат применяемой декомпозиционной процедуры. Разумеется, x0 € X0 со свойством (3.31) является некоторым ДР задачи (2.10); в этой связи см. (3.15).
§ 4. Вычислительный эксперимент
В ходе вычислительного эксперимента рассматривались четыре примера, для каждого из которых были произведены два варианта расчетов. В первом случае использовался рассмотренный выше «быстрый» способ оптимизации, не обеспечивающий, вообще говоря, оптимального решения (назовем его псевдооптимальным), а во втором — оптимальный расчет для каждой допустимой точки начала и завершения движения. По соображениям экономии места подробно рассмотрен только первый пример, по остальным дается краткий обзор результатов счета. Вычисления производились на компьютере с процессором Intel i5-2400 и 8 Гб оперативной памяти, работающем под управлением Linux Kubuntu 18.04 (64-bit). Программа разработана на языке C++, скомпилирована при помощи компилятора gcc с использованием библиотеки Qt.
Рассматривался модельный вариант задачи управления инструментом при листовой резке на машинах с ЧПУ, соответствующий схеме [14, разделы 5, 6] (процедура раскроя предполагается выполненной). Считаем, что мегаполисы получены дискретизацией контуров, подлежащих резке. С каждым «городом» мегаполиса (т. е. с точкой на эквидистанте) связываются точка врезки и точка выключения инструмента; получаемый триплет именуем системой врезки. Время резки по эквидистантам не учитываем, поскольку оно одно и то же для всех ДР. Конкретный выбор ДР влияет на время внешних перемещений, время перемещений для каждой системы врезки и время перемещения к заданной терминальной точке.
В первом примере предполагаем, что множество X, содержащее мегаполисы, представляет из себя прямоугольник на плоскости (т.е. в R х R), определяемый точками (0мм, 0мм), (0мм, 1000 мм), (1320 мм, 1000 мм) и (1320 мм, 0 мм); X0 — граница упомянутого прямоугольника. Шаг выбора начальных точек на прямоугольнике — 100 мм. Используемые функции стоимости
Рис. 1. Маршрут и трасса обхода множеств. Псевдооптимальный вариант
соответствуют [14, разделы 5, 6] и характеризуют время движения инструмента. При этом стоимость внешних перемещений, определяемая функцией с, соответствовала скорости 500 мм/с. Аналогично задавалась стоимость перемещения в терминальную точку, характеризуемая посредством f. Стоимость внутренних работ для каждой системы врезки определялась в виде суммы двух слагаемых, одно из которых определялось временем перемещений в системе врезки (от точки врезки до соответствующей ей точки на эквидистанте и от этой последней точки до точки выключения инструмента) со скоростью 10 мм/с, а второе определялось штрафом, связанным с использованием тепловых допусков. Соответствующий вариант оценивания внутренних работ приведен в [14, разделы 5, 6] (в частности, см. [14, (6.1)]). Различие в скоростях соответствует движениям в режиме холостого хода и в металле.
Предполагалось, что N = 27, множество К адресных пар имело мощность |К| = 16. Точные координаты точек не приводятся из соображений экономии места.
Стоимость найденного псевдооптимального маршрута — 61,675, время счета — 3мин 46 с. Псевдооптимальная точка начала и завершения движения (см. (3.14)) есть (1000,1000). Маршрут и трасса приведены на рис. 1.
Стоимость найденного оптимального маршрута — 60,632, время счета — 3 ч 2 мин 47 с. Оптимальная точка начала и завершения движения — (1320,320). Маршрут и трасса приведены на рис. 2. Таким образом, в случае псевдооптимального алгоритма результат получился хуже всего лишь на 1,7%, при том что оптимальный алгоритм считал в 48 раз дольше.
Во втором примере N = 24, |К| = 13. Область выбора стартовой и финишной точек представляла из себя прямоугольник, определяемый точками (0 мм, 0 мм), (0 мм, 1000 мм), (1484 мм, 1000 мм), (1484 мм, 0 мм). Шаг выбора точек на прямоугольнике для данного и последующих двух примеров 100 мм. Для псевдооптимального алгоритма результат 55,818, время счета — 32 с. Для оптимального алгоритма результат 54,305, время счета — 27мин 40 с. Таким образом, для псевдооптимального алгоритма проигрыш по результату составил 2,8 % при выигрыше по времени в 52 раза.
В третьем примере N = 24, |К| =7. Область выбора стартовой и финишной точек — прямоугольник, определяемый точками (0мм, 0мм), (0мм, 1500мм), (1565мм, 1500мм), (1565мм, 0 мм). Для псевдооптимального алгоритма результат 58,343, время счета — 4 мин 15 с. Для оптимального алгоритма результат 57,297, время счета — 4 ч 41 мин 43 с. Для псевдооптимального алгоритма проигрыш по результату составил 1,8% при выигрыше по времени в 66 раз.
0 112 224 336 448 560 672 784 896 1002 1114 1226
У
x
Рис. 2. Маршрут и трасса обхода множеств. Оптимальный вариант
В четвертом примере N = 24, |K| = 13. Область выбора стартовой и финишной точек — прямоугольник, определяемый точками (0 мм, 0 мм), (0 мм, 1971мм), (2690 мм, 1971мм), (2690 мм, 0 мм). Для псевдооптимального алгоритма результат 67,174, время счета — 1мин 23 с. Для оптимального алгоритма результат 65,004, время счета — 2 ч 11 мин 24 с. Для псевдооптимального алгоритма проигрыш по результату составил 3,3 % при выигрыше по времени в 94 раза.
На основе вычислительного эксперимента можно сделать следующий вывод: при использовании псевдооптимального алгоритма результат счета отстает от оптимального всего лишь на несколько процентов, но время счета уменьшается в десятки раз.
Финансирование. Работа выполнена при финансовой поддержке Российского Фонда Фундаментальных Исследований (грант № 18-07-00637).
Список литературы
1. Коробкин В.В., Сесекин А.Н., Ташлыков О.Л., Ченцов А.Г. Методы маршрутизации и их приложения в задачах повышения безопасности и эффективности эксплуатации атомных станций. М.: Новые технологии, 2012. 234 с.
2. Петунин А.А. О некоторых стратегиях формирования маршрута инструмента при разработке управляющих программ для машин термической резки материала // Вестник УГАТУ. Сер. Управление, вычислительная техника и информатика. 2009. Т. 13. № 2 (35). С. 280-286.
3. Gutin G., Punnen A.P. The traveling salesman problem and its variations. Boston: Springer US, 2007. DOI: 10.1007/b101971
4. Cook W.J. In pursuit of the traveling salesman. Mathematics at the limits of computation. Princeton, New Jersey: Princeton University Press, 2012. 248 p. DOI: 10.1515/9781400839599
5. Меламед И.И., Сергеев С.И., Сигал И.Х. Задача коммивояжера. Вопросы теории // Автоматика и телемеханика. 1989. № 9. С. 3-33.
6. Меламед И.И., Сергеев С.И., Сигал И.Х. Задача коммивояжера. Точные методы // Автоматика и телемеханика. 1989. № 10. С. 3-29.
7. Меламед И.И., Сергеев С.И., Сигал И.Х. Задача коммивояжера. Приближенные алгоритмы // Автоматика и телемеханика. 1989. № 11. С. 3-26.
8. Литтл Дж., Мурти К., Суини Д., Кэрел К. Алгоритм для решения задачи о коммивояжере // Экономика и математические методы. 1965. Т. 1. Вып. 1. С. 94-107.
9. Беллман Р. Применение динамического программирования к задаче о коммивояжере // Кибернетический сборник. М.: Мир, 1964. Т. 9. С. 219-228.
10. Хелд М., Карп Р.М. Применение динамического программирования к задачам упорядочения // Кибернетический сборник. М.: Мир, 1964. Т. 9. С. 202-218.
11. Гимади Э.Х., Хачай М.Ю. Экстремальные задачи на множествах перестановок. Екатеринбург: УМЦ УПИ, 2016. 220 с.
12. Ченцов А.Г. Экстремальные задачи маршрутизации и распределения заданий: вопросы теории. М.-Ижевск: НИЦ «Регулярная и хаотическая динамика», Ижевский институт компьютерных исследований, 2008. 240 с.
13. Ченцов А.Г., Ченцов А.А. Задача маршрутизации с ограничениями, зависящими от списка заданий // Доклады Академии наук. 2015. Т. 465. № 2. С. 154-158. DOI: 10.7868/S0869565215320043
14. Ченцов А.Г., Ченцов П.А. Маршрутизация в условиях ограничений: задача о посещении мегаполисов // Автоматика и телемеханика. 2016. Вып. 11. C. 96-117.
15. Куратовский К., Мостовский А. Теория множеств. М.: Мир, 1970. 416 с.
16. Дьедонне Ж. Основы современного анализа. М.: Мир, 1964. 430 с.
17. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы. Построение и анализ. М.: МЦНМО, 2002. 960 с.
18. Ченцов А.Г. Задача последовательного обхода мегаполисов с условиями предшествования // Автоматика и телемеханика. 2014. № 4. С. 170-190.
Поступила в редакцию 23.09.2018
Ченцов Александр Георгиевич, д. ф.-м. н., член-корреспондент РАН, главный научный сотрудник, Институт математики и механики им. Н. Н. Красовского УрО РАН, 620990, Россия, г. Екатеринбург, ул. С. Ковалевской, 16;
профессор, Уральский федеральный университет, 620002, Россия, г. Екатеринбург, ул. Мира, 19. E-mail: [email protected]
Ченцов Павел Александрович, к. ф.-м. н., старший научный сотрудник, Институт математики и механики им. Н.Н. Красовского УрО РАН, 620990, Россия, г. Екатеринбург, ул. С. Ковалевской, 16; старший научный сотрудник, Уральский федеральный университет, 620002, Россия, г. Екатеринбург, ул. Мира, 19.
E-mail: [email protected]
A. G. Chentsov, P. A. Chentsov
On one routing task with the optimization of the start—finish point
Citation: Izv. Inst. Mat. Inform. Udmurt. Gos. Univ., 2018, vol. 52, pp. 103-115 (in Russian).
Keywords: route, track, precedence conditions.
MSC2010: 93C83
DOI: 10.20537/2226-3594-2018-52-08
The optimizing procedure for solving the problem of sequential visiting of megacities under precedence conditions and cost functions depending on the tasks list is considered. The formulation of the problem closed in the sense of coincidence of the starting point (process base) and terminal state is investigated (this is an analog of the closed travelling salesman problem). This condition is natural for applied problems concerning series of procedures with elements of routing. In particular, in problems involved in sheet cutting on CNC, in working with a series of parts corresponding to one cutting plan, the cutting tool must be returned to the starting point for repeated operations. In this setting, optimization of the starting point is interesting not only for theoretical, but also practical reasons. In a mathematical setting, it is not necessary to require the above-mentioned return to the starting point: this condition can be reflected by introducing the corresponding terminal function whose argument is the last point of visiting in the contours of the parts. Such an approach allows one to cover some more general cases where the cost of the terminal state, which includes the starting point in the form of a parameter, is given. As a result, the starting point and the finishing point are related by a functional dependence in the form of the value defining the quality of the final state of the process. This representation is used in the article.
Funding. The research was supported by the Russian Foundation for Basic Research (project no. 18-07-00637).
REFERENCES
1. Korobkin V.V., Sesekin A.N., Tashlykov O.L., Chentsov A.G. Metody marshrutizatsii i ikh prilozheniya v zadachakh povysheniya bezopasnosti i effektivnosti ekspluatatsii atomnykh stantsii (Routing methods and their applications in problems of improving the safety and efficiency of operation of nuclear power plants), Moscow: Novye Tekhnologii, 2012, 234 p.
2. Petunin A.A. On some strategies of the programming of tool route by developing of control programs for thermal cutting machines, Vestnik Ufimskogo Gosudarstvennogo Aviatsionnogo Tekhnicheskogo Universiteta. Seriya: Upravlenie, Vychislitel'naya Tekhnika i Informatika, 2009, vol. 13, no. 2 (35), pp. 280-286 (in Russian).
3. Gutin G., Punnen A.P. The traveling salesman problem and its variations, Boston: Springer US, 2007. DOI: 10.1007/b101971
4. Cook W.J. In pursuit of the traveling salesman. Mathematics at the limits of computation, Princeton, New Jersey: Princeton University Press, 2012, 248 p. DOI: 10.1515/9781400839599
5. Melamed I.I., Sergeev S.I., Sigal I.Kh. The traveling salesman problem. I: Theoretical issues, Automation and Remote Control, 1989, vol. 50, no. 9, pp. 1147-1173.
6. Melamed I.I., Sergeev S.I., Sigal I.Kh. The traveling salesman problem. II: Exact methods, Automation and Remote Control, 1989, vol. 50, no. 10, pp. 1303-1324.
7. Melamed I.I., Sergeev S.I., Sigal I.Kh. The traveling salesman problem. Approximate algorithms, Automation and Remote Control, 1989, vol. 50, no. 11, pp. 1459-1479.
8. Little J.D.C., Murty K.G., Sweeney D.W., Karel C. An algorithm for the traveling salesman problem, Operations Research, 1963, vol. 11, issue 6, pp. 972-989. DOI: 10.1287/opre.11.6.972
9. Bellman R. Dynamic programming treatment of the travelling salesman problem, J. ACM, 1962, vol. 9, issue 1, pp. 61-63. DOI: 10.1145/321105.321111
10. Held M., Karp R.M. A dynamic programming approach to sequencing problems, Journal of the Society for Industrial and Applied Mathematics, 1962, vol. 10, issue 1, pp. 196-210. DOI: 10.1137/0110015
11. Gimadi E.Kh., Khachai M.Yu. Ekstremal'nye zadachi na mnozhestvakh perestanovok (Extremal problems on sets of permutations), Yekaterinburg: UMC UPI, 2016, 220 p.
12. Chentsov A.G. Ekstremal'nye zadachi marshrutizatsii i raspredeleniya zadanii: voprosy teorii (Extremal problems of routing and assignment of tasks: questions of theory), Moscow-Izhevsk: Regular and Chaotic Dynamics, Institute of Computer Science, 2008, 240 p.
13. Chentsov A.G., Chentsov A.A. Route problem with constraints depending on a list of tasks, Doklady Mathematics, 2015, vol. 92, no. 3, pp. 685-688. DOI: 10.1134/S1064562415060083
14. Chentsov A.G., Chentsov P.A. Routing under constraints: Problem of visit to megalopolises, Automation and Remote Control, 2016, vol. 77, no. 11, pp. 1957-1974. DOI: 10.1134/S0005117916110060
15. Kuratowski K., Mostowski A. Set theory, Amsterdam: North-Holland, 1967, xi+417 p.
16. Dieudonne J. Foundations of modern analysis, New York: Academic Press, 1960, 361 p.
17. Cormen T., Leizerson C., Rivest R. Introduction to algorithms, Cambridge: MIT Press, 1990.
18. Chentsov A.G. Problem of successive megalopolis traversal with the precedence conditions, Automation and Remote Control, 2014, vol. 75, no. 4, pp. 728-744. DOI: 10.1134/S0005117914040122
Received 23.09.2018
Chentsov Aleksandr Georgievich, Doctor of Physics and Mathematics, Corresponding Member of the Russian
Academy of Sciences, Chief Researcher, N. N. Krasovskii Institute of Mathematics and Mechanics, Ural
Branch of the Russian Academy of Sciences, ul. S. Kovalevskoi, 16, Yekaterinburg, 620990, Russia;
Professor, Ural Federal University, ul. Mira, 19, Yekaterinburg, 620002, Russia.
E-mail: [email protected]
Chentsov Pavel Aleksandrovich, Candidate of Physics and Mathematics, Senior Researcher, N. N. Krasovskii
Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, ul. S. Kovalevskoi,
16, Yekaterinburg, 620990, Russia;
Senior Researcher, Ural Federal University, ul. Mira, 19, Yekaterinburg, 620002, Russia.
E-mail: [email protected]