Научная статья на тему 'К вопросу об оптимизации точки старта в задаче маршрутизации с ограничениями'

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

CC BY
61
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ / МАРШРУТ / УСЛОВИЯ ПРЕДШЕСТВОВАНИЯ / DYNAMIC PROGRAMMING / ROUTE / PRECEDENCE CONDITIONS

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

Рассматривается экстремальная задача маршрутизации перемещений с аддитивным критерием, терминальная компонента которого зависит от точки старта. Данная зависимость может, в частности, быть связана с требованием возврата в район точки старта после выполнения конечной системы заданий, которые требуется упорядочить. В работе предполагается, что задания, подлежащие выполнению, связаны с посещением непустых конечных множеств мегаполисов. С упомянутыми посещениями связано, в свою очередь, выполнение работ, стоимость которых участвует в формировании критерия. Наконец, стоимость внешних перемещений (между мегаполисами) дополняет формирование аддитивного критерия, подлежащего минимизации. Требуется найти глобальный экстремум и решение, включающее точку старта, очередность посещения мегаполисов и конкретную траекторию процесса. Для решения используется широко понимаемое динамическое программирование (ДП). Существенно то, что процедуры на основе ДП «привязаны» к точке старта. Поэтому требуется перебор упомянутых точек. В статье предлагается подход к решению проблемы сокращения данного перебора за счет применения вспомогательных вариантов ДП, которые универсальны по отношению к выбору точки старта. Построен и реализован на ПЭВМ оптимальный алгоритм с использованием упомянутого подхода.We consider the extreme routing problem with an additive criterion, the terminal component of which depends on the starting point. This dependence may be associated, in particular, with the requirement to return to the starting point region after completing the final system of tasks that need to be ordered. The work assumes that the tasks to be performed are related with visiting non-empty finite sets called megacities. In turn, the mentioned visits are associated with the performance of works, the costs of which are involved in the formation of the criterion. Finally, the costs of external movements (between megacities) supplement the formation of an additive criterion to be minimized. It is required to find a global extremum and a solution that includes a starting point, the order of visits to megacities and a specific trajectory of the process. The solution uses widely understood dynamic programming (DP). It is significant that procedures based on DP use starting point. Therefore, enumeration of mentioned points is required. The article proposes an approach to solving the problem of reducing this enumeration through the use of auxiliary DP that are universal with respect to the choice of a starting point. The optimal algorithm was built and implemented on a PC using the aforementioned approach.

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

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

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

Текст научной работы на тему «К вопросу об оптимизации точки старта в задаче маршрутизации с ограничениями»

Известия Института математики и информатики Удмуртского государственного университета

2020. Том 55. С. 135-154

УДК 519.6

© А. Г. Ченцов, П. А. Ченцов

К ВОПРОСУ ОБ ОПТИМИЗАЦИИ ТОЧКИ СТАРТА В ЗАДАЧЕ МАРШРУТИЗАЦИИ С ОГРАНИЧЕНИЯМИ

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

Ключевые слова: динамическое программирование, маршрут, условия предшествования. 001: 10.35634/2226-3594-2020-55-09

Введение

Задачи маршрутизации перемещений возникают в самых различных областях человеческой деятельности и, в частности, в актуальных инженерных приложениях. Отметим сейчас задачу управления инструментом при листовой резке деталей на машинах с ЧПУ и задачу минимизации дозовой нагрузки при демонтаже системы радиационно опасных элементов при авариях на АЭС, подобных авариям в Чернобыле и Фукусиме. Во многих задачах такого типа, наряду с выбором способа нумерации объектов посещения и конкретной трассы перемещений, важным представляется выбор точки старта в качестве дополнительного элемента оптимизирующей процедуры. В то же время нередко точка старта совмещается с точкой финиша, что подобно ситуации в так называемой замкнутой задаче коммивояжера (ТБР — в англоязычной литературе). Тогда оптимизация точки старта-финиша представляет серьезные затруднения. Задачи подобного типа рассматриваются в статье.

Заметим, что прототипом исследуемой в работе задачи является ТБР; в этой связи отметим работы [1-6]. Особенно выделяем [5,6] в связи с применением динамического программирования (ДП). Применяемый в статье вариант ДП является развитием схемы [5] (в исследованиях ТБР и задач типа ТБР более широко используется вариант ДП, восходящий к [6]). Отметим обстоятельный обзор [7-9], относящийся к исследованию ТБР и задач типа ТБР. Задача, исследуемая в статье, содержит существенные особенности (в сравнении с ТБР), причем не только количественного, но и качественного характера. Настоящее исследование продолжает [10], где рассматривается декомпозиционный (и, вообще говоря, не оптимальный) алгоритм на основе ДП. При этом для решения основной маршрутной задачи в [10] был применен вариант ДП, обладающий определенной универсальностью относительно точки старта. В то же время случай, рассматриваемый в [10] (и в настоящей работе),

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

При использовании ДП в данной ситуации приходится, в случае поиска оптимальных решений, ориентироваться на индивидуальные (свои для каждой точки старта) варианты, что, по-видимому, неизбежно: построение функции Беллмана начинается с использования терминальной компоненты критерия с зависимостью от точки старта. При «большом» множестве возможных начальных состояний (точек старта) это приводит к существенному усложнению процедуры, что касается прежде всего этапа, связанного с построением функции Беллмана; приходится (в схеме, развивающей подход [5]) строить столько функций Беллмана, сколько у нас имеется возможных точек старта. Представляется, однако, возможным некоторое априорное (по отношению к применению индивидуальных вариантов ДП) сокращение возможных точек старта с выделением подмножества таких точек, претендующих на оптимальность. В частности, возможно применение некоторого «статического» аналога метода ветвей и границ [4], с использованием мажорантной и минорантной задач, допускающих решение с применением универсальных вариантов ДП. Экстремум критерия мажорантной задачи используется в качестве порогового уровня для значений экстремума минорантной задачи. Тем самым исходное множество стартовых точек сокращается до соответствующего множества Лебега функции значения минорантной задачи.

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

Заметим, что, как представляется, естественное требование возврата в точку старта или в окрестность данной точки можно в случае задач, связанных с листовой резкой на машинах с ЧПУ, связать с решением больших серий задач, имеющих один и тот же раскройный план. В этом случае оптимизация точки старта-финиша может быть весьма полезным дополнением к оптимизации маршрута и трассы движения инструмента в процессе резки.

§ 1. Общие обозначения и определения

В статье используется стандартная теоретико-множественная символика (кванторы,

связки, 0 — пустое множество и др.); = обозначает равенство по определению. Семейством называем множество, все элементы которого сами являются множествами. Если х и у — объекты, то через {х; у} обозначаем (единственное) множество, содержащее х, у и не содержащее никаких других элементов. Тогда для каждого объекта г в виде {г} = {г; г} имеем синглетон (одноэлементное множество) со свойством г € {г}. Множества рассматриваем как объекты, а тогда, следуя [14, с. 67], для любых объектов р и д полагаем

(р; д) = {{р}; {р; д}}, получая упорядоченную пару (УП) с первым элементом р и вторым элементом д. Если к — произвольная УП, то через рг^к) и рг2(к) обозначаем первый и второй элементы к соответственно, к = (рг1(к),рг2(к)). Для любых трех объектов а, Ь и с,

следуя [15, с. 17], полагаем (а, Ь, с) = ((а, Ь), с). Напомним в этой связи, что для любых

трех непустых множеств А, В и С согласно [15, с. 17] А х В х С = (А х В) х С. Если же Д — непустое множество и д — отображение из А х В х С в Д, то при х € А х В и у € С

определено значение д(х,у) в точке (х,у) = ((х1;х2),у), где х1 = рг1(х) и х2 = рг2(х); в этой связи используем также традиционное обозначение д(х1;х2, у) для элемента д(х,у).

Как обычно, Е — вещественная прямая, Е+ = {£ € К | 0 ^ £}, N = {1; 2;...} и N =

= {0} и N = {0; 1; 2;...}; при т € N и п € N полагаем, что

туп = {к € N | (т ^ к)&(к ^ п)}

(случай т, п = 0 не исключается). Если К — непустое множество, то |К| € N есть, по определению, мощность К, а (Ы) [К] — множество всех биекций [16, с. 87] «промежутка» 1, |К| на К.

Если Т есть непустое множество, то через [Т] обозначаем множество всех неотрицательных вещественнозначных функций на Т (т. е. функций из Т в Е+).

Если Н — множество, то через Р(Н) обозначаем семейство всех подмножеств (п/м) Н,

Р'(Н) = Р(Н) \ {0} есть семейство всех непустых п/м Н, а Пп(Н) — семейство всех конечных множеств из Р'(Н), т.е. семейство всех непустых конечных п/м Н. Если Б — непустое конечное множество, то Р'(Б) = Пп(Б).

§2. Специальные понятия и обозначения; содержательное обсуждение задачи

Фиксируем непустое множество X, X0 € Пп(Х), N € N со свойством N ^ 2, N множеств

М1 € Пп(Х),..., Им € Пп(Х), (2.1)

а также N отношений

М1 € Р'(М1 х М1),... ,Мм € Р'(Мм х Ыи); (2.2)

ясно, что Mj G Fin(Mj х Mj) Vj G 1, N. Полагаем далее, что

(X0 р| Mj = 0 Vj G 17N) & (Mp P Mq = 0 Vp G Vq G \ {p}).

Множества (2.1) именуем мегаполисами, отношения (2.2) определяют (по сути дела) варианты выполнения работ, связанных с посещением мегаполисов и именуемых внутренними, X0 — множество всевозможных точек старта для процессов вида

(X g X0) (41) G Me(D - x« G Me(D) ... (2 3)

... (x1N) G M«(N) - xf) G M«(N)), .

где а — перестановка [16, с. 87] индексного множества .В (2.3) прямые стрелки соответствуют внешним перемещениям, а волнистые — перемещениям при выполнении внутренних работ. При этом (2.3) дополняется системой условий

г(1) = (х11),х21)) € М«(1),...,г(^) = (х^^) € М^. (2.4)

Предметом последующего рассмотрения являются процессы (2.3), (2.4); объектом нашего выбора является кортеж (ж, а, г(1),..., г)).

Пусть Р = (Ы)[1,Ж] (множество всех перестановок индексного множества 1,^); элементы Р называем маршрутами. Если а € Р, то через а-1 обозначаем перестановку, обратную по отношению к а: а-1 € Р, и при этом

а(а-1(к)) = а-1(а(к)) = к Ук € 1ГЖ

Выбор а € Р в (2.3), (2.4) может быть стеснен условиями предшествования, для введения которых фиксируем множество

К € Рх Т^) (2.5)

УП, именуемых адресными парами (при г € К рг1(г) играет роль отправителя, а рг2(г) — получателя груза, сообщения и т. п.). Итак, К С 1, N х 1, N. Предполагаем в дальнейшем, что

УКо € Р'(К)3*, € Ко : рг^с) = р^г) У,г € Ко (2.6)

(в [17, ч. 2] указаны конкретные классы задач, для которых К (2.5) удовлетворяют (2.6)). Тогда [17, (2.2.53)]

А = {а € Р | а-1(рг1(*)) < а-1(рг2(*)) У* € К} = 0;

итак, А € Р'(Р) и, в частности, А € Пп(Р). В отношении (2.3), (2.4) предполагаем, что в этих соотношениях допускается только случай а € А.

Как видно из (2.3), (2.4), выбор маршрута еще не определяет (в отличие от ТБР) реализацию процесса. Наряду с ж € X0 важную роль играют траектории или трассы, согласованные с маршрутом (см. ..., ) в (2.4)). Для их точного определения введем сначала при ] € 1, N конечные множества

(М, = {рг1(*): * € М,}) & (М, = {рг2(*): * € М,}). (2.7)

В терминах (2.7) определяем X € Ип(Х) и X € Пп(Х), полагая

N N

(X = X0 и (Ц1 м*)) & (X = X °и ^ М*)).

*=1 *=1

Пусть 2 — множество всех отображений (кортежей) (г^^^: 0, N —> X х X. При ж € X0

и а € Р о

ад = € 2 | (г° = (ж, ж)) & (г € Ма({) У* € ТУВД € Fiп(Z) (2.8)

есть пучок траекторий, согласованных с маршрутом а и стартующих из УП (ж, ж). Если же

ж € X0, то

ОД = {(а, 2) € А х 2 | 2 € 2а[ж]} € Fin(A х 2)

есть множество всех допустимых решений (ДР), соответствующих ж и определяемых каждое в виде УП «маршрут-трасса». Соответственно,

Б = {(а, ж) € А х 2 х X0 | (а, 2) € ОД} € Fin(A х 2 х X0)

есть множество всех ДР формулируемой ниже полной задачи. Для ее постановки введем сначала функции стоимости

с € ^+[Х х X х ЭТ],С1 € ^+[Х х X х ЭТ],..., CN € ^+[Х х X х ЭТ], / € ^+[Х х X0], (2.9)

где N = P'(1, N) (элементы N — непустые п/м 1, N и только они — именуются списками заданий). При x £ X0, а £ P и (zt)te0N £ Z полагаем

N

Ca[(Zt)te0TÑ |x]

= [c(Pr2(zt-i), Pri(zt), a1(t, N))+ca(t)(zt, а1^, N))]+/(pr2(zN),x). (2.10) t=i

Посредством (2.10) определяется аддитивный критерий, учитывающий (см. (2.9)) стоимость внешних перемещений, внутренних работ и терминального состояния. Если x £ X0, то в виде

Ca[z | x] —> min, (а, z) £ DD[x], (2.11)

имеем x-задачу, характеризуемую экстремумом

V[x] = min Ca [z | x] £ R+ (2.12)

(a,z)eD[x]

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

(SOL)[x] = {(а, z) £ D[x] | Ca[z | x] = V[x]} £ P'(D[x]). (2.13) Соответствующая полная задача имеет вид

Ca[z | x] —> min, (а, z,x) £ D, (2.14) и характеризуется экстремумом

V = min Ca[z | x] = min V[x] £ R+ (2.15)

(a,z,x)eD xeX0

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

SOL = {(а,z,x) £ D | Ca[z | x] = V} £ Fin(D).

Решение задачи (2.14) является нашей главной целью. В качестве основного инструмента используем ДП в том его варианте, который развивает подход [5], применявшийся для решения TSP.

§ 3. Индивидуальное динамическое программирование

В настоящем параграфе анализируется x-задача (2.11). Имеется в виду, что после решения всех таких задач будет получена (см. (2.12)) функция

V[■] = (V[x])xgxо £ R+ [X0], (3.1)

после чего может быть определена оптимальная точка старта (влияющая на точку финиша), для которой можно будет применить пару «маршрут-трасса» из соответствующего множества (2.13). Существенно то обстоятельство, что в силу (2.9) (имеется в виду зависимость значений / от точки старта) конструируемая на основе ДП функция Беллмана оказывается «привязанной» к точке старта. Поэтому возникает целый набор беллмановских процедур (в количестве |X0|), которые будем именовать индивидуальными. Одну из таких процедур рассмотрим в настоящем параграфе, фиксируя здесь x0 £ X0.

Используемая в возникающей x0-задаче процедура на основе ДП соответствует [11], и мы ее напомним предельно кратко, ограничиваясь алгоритмическим вариантом.

Для этого сначала введем оператор вычеркивания I, действующий в N по правилу: при

К € N

1(К) = К \{рг2(г): г € ~[К]},

где £[К] = {г € К | (рг1(г) € К) & (рг2(г) € К)}. Семейство существенных списков (заданий) определяем условием

С = {К € N € К (рг1(г) € К) ^ (рг2(г) € К)}. (3.2)

Если ^ € 1, N, то (з = {К € ( | 5 = |К|}. Тогда {(1;...; } есть разбиение ( и при этом <1 = {{¿}: Ь € \ К1}, где К1 = {рг1(г): г € К}; (м = {Т,^}. Наконец,

Zs-i = {K \{t} : K G G I(K)} Vs G 2, N. (3.3)

Посредством (3.3) определена рекуррентная процедура

Zn ZN-1 ... Zi, (3.4)

стартующая из синглетона {1^}. В терминах (3.4) конструируются слои пространства позиций ,..., . Так, Д0 = {(х, 0): х € ММ}, где

м = и м

¿€1,М\К1

Кроме того, = {(х0,1, N)} (синглетон; здесь проявляется (как и в [11, раздел 4]) «индивидуальность» процедуры). Если же 5 € 1, N — 1 и К € то определяем

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

Л(К) = О € Т^ \ К | ^^ К € Zs+l}, М5[К] =

= и М, °з[К] = {(х, К): х €МЛК]}. (3.5)

Тогда при s G 1, N — 1 на основе (3.5) определяется множество Ds:

Ds = U Ds[K]. KeCs

При этом Dz G P'(X x P(1, N)) VI G 0, N. Напомним важное свойство [11, (4.9)]:

(pr2(z), K \ {j}) G Ds-i Vs G 1, N V(x, K) G Ds Vj G I(K) Vz G Mj. (3.6)

Теперь мы последовательно конструируем слои индивидуальной функции Беллмана:

Vo[x0] GR+[Do],vi[x0] GR+[Di],...,VN[x0] GR+[Dn].

Итак, v0[x0](x, 0) = f (x,x0) Vx G ЛЛ. Если s G 1,N то преобразование vs-i[x0] в vs[x0] определяется (с учетом (3.6)) следующим правилом: при (x,K) G Ds

vs[x0](x,K)= min min[c(x, pri(z),K)+ cj(z,K)+ vs-i[x0](pr2(z),K \ {j})]. (3.7)

jei(K) zeMj

Итак, посредством (3.7) реализуется рекуррентная процедура

v0[x0] —^ vi[x0] —^ ... —^ vn[x0]. (3.8)

При этом у^ [ж0] € ] полностью определяется единственным своим значением

V [ж0 ] = у« [ж0] (ж0, ^). (3.9)

у« [ж0](ж0, 1, N) € для которого

Равенство (3.9), реализуемое на основе процедуры (3.8), следует из построений [11, раздел 4] (см. также для более общей задачи [12, разделы 5,6]). Дело в том, что у5[ж0] € € 5 € , — суть сужение индивидуальной (и «привязанной» к ж0) функции

Беллмана. Тем самым реализуется экстремум ж0-задачи. Совсем кратко напомним построение решения из множества (ЯОЬ)[ж0] (подробнее см. в [11, раздел 4], [12, раздел 7]).

Итак, полагаем, что процедура (3.8) завершена и все функции у0[ж0], VI[ж0],... ,у«[ж0] нам уже известны. В частности, известен экстремум (3.9), для которого согласно (3.7)

V[ж0] = шт[е(ж0, рг^г), ) + с,(г, )+ у«^[ж^рг^г), \ Ш)]. (3.10)

j&I(l,N) ¿ем^

Полагаем 2(0) = (ж0, ж0) и, учитывая (3.10), находим п1 € 1(1, N) и 2(1) € МП1, для которых

V[ж0] = с(ж0,рг^(1)),Т^) + СП1 (2(1),+ V«-1[ж0](рг2(2(1)),\ {П1}). (3.11)

В связи с (3.11) заметим, что согласно (3.6)

(РГ2(2(1)), \{щ}) € Б«-1 (3.12)

(поэтому последнее слагаемое в (3.11) определено корректно). Из (3.7) и (3.12) вытекает, что _

у«-1[ж0](рг2^(1)), 1, N \{П1}) =

= ШМ [с(рг2(г(1)), рг1(г), ^ \{П1})+ (3.13)

+ с,(г, 1, N \ {щ}) + у«-2[ж0](рг2(г), 1, N \ {щ;Л)]. С учетом (3.13) находим индекс п2 € 1(1, N \ {п1}) и УП 2(2) € МП2, для которых

у«-1[ж°](рг2(^, ^ \{щ}) = с(рг2(2(1)), рг1(^2)), \{щ}) + (314)

СП2(z(2), 1, N \ {щ}) + у«-2[ж0](pг2(z(2)), 1, N \ {щ; П2}); (3.14)

при этом согласно (3.6) и (3.13)

(р^(2)), \ {щ; П2}) = (р^(2)), (^ \ {щ}) \ Ы) € Б«-2.

Далее процедуру выбора индексов и УП, подобную (3.14), следует продолжать вплоть до исчерпывания полного списка заданий, определяемых индексным множеством .В результате будут построены маршрут п = (п,€ А и траектория z = € Да[ж0] со свойством V[ж0] = ^ | ж0], т. е.

(П, z) € (ЯОЬ)[ж0]. (3.15)

В связи с (3.15) заметим, что согласно (3.11) и (3.14)

V [ж0] = с(ж0, рг^(1)), !;Ж) + с(рг2^(1)), pГl(z(2)), ^ \{П1})+ (3

+ СП1 (z(1), 1,^) + СП2 (¿2), ^\{П1})+ у«-2[ж0](рг2 (z(2)), \{П1; П2}); ( . )

при N = 2 свойство (3.15) непосредственно следует из (3.16) по определению функции у0[ж0].

§ 4. Универсальное динамическое программирование

В предыдущем параграфе указано оптимальное решение произвольной x-задачи (2.11). Перебирая x G X0 и применяя всякий раз процедуру § 3, мы построим, конечно, функцию (3.1), найдем точку ее минимума и, отождествляя x0 в предыдущем разделе с этой точкой, получим элемент SOL и глобальный экстремум V. Проблема состоит в трудоемкости процесса реализации всех индивидуальных процедур построения слоев функции Беллмана (см. § 3). Возникает естественный вопрос: а нельзя ли такие процедуры применять не для всех x-задач? В настоящей работе делается попытка продвинуться в этом направлении. Мы намерены применить для этого подход [13], где использовалась единая для всех точек x G X0 процедура ДП. Ее будем далее называть универсальной, имея в виду универсальность относительно x G X0. Правда, данную универсальность удается достичь в случае, когда терминальная функция (см. (2.9)) не зависит от точки старта. Поэтому в нашем случае данный подход непригоден, если иметь в виду задачу (2.14) при условиях (2.9). Можно, однако, использовать его для решения вспомогательных задач. В настоящем разделе мы напомним данную конструкцию, предполагая, что функция f в (2.9) заменена некоторой вспомогательной функцией

f G R+[X] (4.1)

(в случае TSP это соответствует незамкнутой задаче). Итак, мы рассмотрим задачи § 2 при одном изменении: полагаем, что вместо f используется f (4.1). В этом случае (2.10) заменяется выражением

¿a[(zt)teöN I f] = 5>(pr2(zt-i), pri(zi),ai(t,n)) + ca(t)(zt, ai(t, N))] + f(p^(zN)), (4.2) t=i

где a G P и (zi)te0rN G Z. Соответственно, (2.11) заменяется задачей

£a [z | f] —► min, (a, z) G D[x], (4.3)

где x G X0; экстремум задачи (4.3) обозначаем через V[x | f], имея в виду наименьшее из чисел £a[z | f], (a, z) G D[x]. Аналогичным образом (2.14) заменяется задачей

¿a[z | f] —> min, (a, z,x) G D, (4.4)

экстремум которой обозначим через V[f]:

V[f] = min £a[z | f] G R+.

(a,z,x)eD

Подчеркнем, что в наших вспомогательных задачах на основе (4.3), (4.4) потребуются только экстремумы (значения задач), и мы не будем рассматривать соответствующие множества оптимальных решений. Сейчас мы напомним алгоритм на функциональном уровне (см. [10, раздел 3]).

Мы полностью сохраняем процедуру (3.2)-(3.4) построения семейства Z и его подсемейств Zb ..., ZN. Далее, мы конструируем слои D0, Di,..., DN пространства позиций, полагая, что

(Ds = Ds Vs G 0, N - 1) & (Dn = {(x, 17N): x G X0}) (4.5)

(изменяется только один слой). Свойство (3.6) преобразуется в следующее:

(pr2(z), K \ {j}) G Ds-1 Vs G 1, N V(x, K) G Vs Vj G I(K) Vz G Mj. (4.6)

Замечание 1. В силу (4.5) для проверки (4.6) достаточно рассмотреть случай

(х,К) € , 3 € 1(К) и г € М,. Тогда х € X0 и К = Т^Ж Кроме того, 3 € 1(17Ж) и К \ {3} = 1, N \ {3} € (м-1. При этом в силу (3.5) имеем, что

3 € /м-1(К \ {3}), М^- С Мм-1[К \ {3}] (4.7)

и, кроме того, Ом-1[К \ {3}] = {(у, К \ {3}): у € Мм-1[К \ {3}]}. Тогда при г € М^-в силу (2.7) и (4.7) (рг2(г),К \ {3}) € Ом-1[К \ {3}], где Ом-1[К \ {3}] С Дм-1 = ©м-1; поэтому

(рг2(г), К \ {3}) = (рг2(г), \ {3}) € ©м-1. Требуемый вариант (4.6) установлен. □

Теперь мы конструируем функции

40) € ], ^ € Я+[£>1],. . . , ) € ].

,(0Ь д ч △

Итак, полагаем, что г>( ) (х, 0) = {(х) Ух € М (учитываем равенство ©о = До). Далее, при

(8-1) (8 ^ в

s Е 1,N преобразование в v(s) имеет [10, (3.23)] следующий вид: если (x,K) Е

то

v(s)(x,K) = min min[c(x, p^(z),K) + с,(z, K) + v(s-1)(pr2(z), K \ {j})]. (4.8)

jei(K) zeMj

Тогда реализуется (единая для x Е X0) рекуррентная процедура

v(0) ... ). (4.9)

Важное свойство состоит в том, что

,(N)

У[х | А = ^(х, 1, N) Ух € X0. (4.10)

Поскольку нам не требуется построение решений в задаче (4.3), при реализации (4.9) можно использовать процедуру с перезаписью слоев, при которых в памяти вычислителя находится массив значений только одной из функций в (4.9).

В самом деле, ^(0) нам известна. Пусть в € и мы располагаем функцией €

€ ^+[Р8-1]. Тогда по формуле (4.8) мы насчитываем все значения функции после чего массив значений ^ 1) уничтожается и заменяется массивом значений функции Если

при этом в = N, то процедура (4.9) завершена, а если в < N, то используется для

(8 + 1)

построения ^ , после чего уничтожается.

В заключение раздела отметим, что в одной из вспомогательных задач нам все же потребуется и построение оптимальных решений. Эту стандартную для ДП процедуру напомним в следующем параграфе (см. также [10, раздел 3]).

§ 5. Мажорантная и минорантная задачи

В параграфе будут введены две вспомогательные задачи, для решения каждой из которых применима процедура универсального ДП предыдущего раздела. Целью решения каждой из них является построение оценочной функции значения (экстремума). Сначала напомним построения [13], относящиеся к формулируемой ниже мажорантной задаче. Пусть О € ^+[Х] есть, по определению, функция, тождественно равная нулю, т.е.

О(х) = 0 при х € X. В терминах (4.2) реализуются значения

Л м _

Са[(гI О] = Е[фг2(г4_1),рг^),«1^)) + + с«^,«1 (М=))] € Е+,а € Р, € 2.

С учетом (5.1) получаем вариант задачи (4.3), приведенной к x G X0. В итоге получаем экстремум

V>[x | O] G R+.

Здесь, однако, нам потребуется дополнительное построение множеств

(O - sol)[x] = {(a0, z0) G D[x] | ¿«0[z0 | O] = V[x | O]} G P'(D[x]), (5.2)

где x G X0. Сейчас совсем кратко напомним процедуру построения (оптимальных) решений из множества (5.2), являющуюся вариантом [11,12].

Итак, пусть x* G X0. Полагаем при решении этой задачи, что (4.9) реализована в «полном» ее варианте: функции , VoV.. лО^ построены и сохранены в памяти вычислителя

(мы имеем в виду универсальную версию ДП §4). Полагаем, что z0 = (x*,x*). С учетом (4.8) и (4.10) имеем

V>[x* | O] = min min[c(x*, pri(z), + Cj(z,I^N) + vCN-i)(pr2(z), \{k})], (5.3)

jei(i,N) zeMj

при этом согласно (4.5) (ж*, 1, N) е . С учетом (5.3) выбираем ^ е 1(1, N) и 71 е М^ так, что

У[ж* | О] = с(ж*,РГ1(71),Т^) + ^(71, 1ГЖ) + ^-1)(рг2(71), \ ^1}). (5.4)

При этом согласно (4.6) (pr2(zi), 1, N \ {ji}) G DN-ь а потому (см. (4.8))

vO-1)(pr2(zi), 1, N \{ji})= min min[c(pr2(zi), pri(z), 1,N \ {ji}) +

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

_ jei(i,N\{ji}) zeMj __(5.5)

+ Cj(z, 1, N \ {ji}) + viN-2)(pr2(z), 1, N \ {ji; j})].

С учетом (5.5) находим j2 G I(1, N \ {ji}) и z2 G Mj2, для которых

vif-i)(pr2(zi), I^N \ {ji}) = c(pr2(zi), pri(z2), I^N \ {ji}) +

JO \f-2\ "1J1 ^ 1 ^ ' \ 1Л J J F1 i\"2j > ^ ■, + ' \ LJi J J 1 (56)

+ Cj2 (z2, ITN \{ji })+ v(N-2)(pr2(z2), ^ \ {ji; j2}), ( . )

где (pr2(z2), 1, N \ {ji; j2}) G DN-2 в силу (4.6). Из (5.4) и (5.6) получаем, что

5[ж* | О] = с(ж*, РГ1(71), 1, N)+ с(рГ2(71), РГ1(72), ^ \ {jl})+ Сл (^1, 1,N) + + ^ (72, 1, N \ {ц}) + -2)(РГ2(72), 1, N \ {Л; j2}).

Далее процесс выбора локальных решений, подобный (5.6), следует продолжать вплоть до

исчерпывания индексного множества .В результате будут построены маршрут 3 =

= (Ь)ке1Ж е А и траектория г = ^)ке0т^ е ^[ж*], для которых С^[г | О] = У[ж* | О]; иными словами, (3, г) е (О—во1)[ж*]. Мы полагаем далее, что с помощью вышеупомянутой процедуры нам удастся построить все множество (О —во1)[ж*] (см. в этой связи [10, раздел 3, пункт 20]).

Далее используем [10, (3.6)]: при ж е X0 и (а0, г0) е (О — во1)[ж] полагаем, что

£(а0, 7о, ж) = 1>[ж | О] + /(рГ2(7о^)),ж) е Е+. (5.7)

При этом (см. [10, предложение 4.1])

V[ж] ^ £(а0, 70,ж) Уж е X0 У(а0, 70) е (О — во1)[ж]. (5.8)

Напомним, что (5.2) суть непустые конечные множества. С учетом этого вводим при x Е X0

V[x] = min v(a0, z0,x) = V[x | O] + min f (pr2(z(N)), x) Е R+. (5.9)

(a,z)e(O-sol)[x] (a,z)e(O-sol)[x]

Из (5.8) и (5.9) вытекает следующая система оценок:

V[x] ^ V[x] Vx Е X0. (5.10) Полагаем также с учетом (5.9), что

V = min V[x]; (5.11)

жех0

V Е R+. Из (2.15), (5.10) и (5.11) получаем, что

V ^ V. (5.12)

Итак, (5.11) есть реализуемая в рамках универсального ДП верхняя оценка глобального экстремума.

Замечание 2. Отметим, что для используемого ниже метода годится, конечно, любая верхняя оценка, а не только V. Но при использовании другой оценки мы можем получить более трудоемкую переборную процедуру. Это, в частности, может случиться, если в (5.9) определить минимум не по всему множеству (5.2), а по какому-то его п/м.

Итак, располагая оценкой (5.12) (или какой-то более грубой верхней оценкой), мы рассмотрим минорантную задачу, для которой также применима универсальная (в пределах X0) процедура ДП. Для этого введем функцию ф Е R+ [X] по следующему правилу:

0(x) = min f (x,x) Vx Е X. (5.13)

Далее рассмотрим процедуру § 4 при f = ф. Итак, (4.9) сводим к процедуре

«Г 4" ... «Г). (5.14)

для которой в финале получаем (см. (4.10)), что

V>[x | ф] = ^N)(x, 1TN) Vx Е X0. (5.15)

Подчеркнем, что в данном случае (см. (5.14), (5.15)) нам достаточно построения функции значения | ф], а потому может использоваться процедура § 4 с перезаписью слоев функции Беллмана.

Введем в рассмотрение следующее множество:

X0 = {x Е X0 | V>[x | ф] ^ V}. (5.16)

Предложение 5.1. Для множества X0 (5.16) справедлива оценка

{x Е X0 | V[x] = V} С X0. (5.17)

Доказательство. Обозначим через Y множество в левой части (5.17). Пусть ж* £ Y, т. е. ж* £ X0 и при этом V[ж*] = V. Тогда в силу (2.13) для некоторых (a', z') £ DD [ж*]

Ca'[z' | ж*] = V. (5.18)

При этом согласно (2.10) имеем, что

N _

Ca'[z' | ж*] = £[c(pr2(z'(t - 1)),pr1(z'(í)), (a')1(t,N)) + t=i

__N _

+ Ca'(t)(z'(t), (a')1(t, N))] + f (pr2(z'(N)), ж*) ^[c(pr2(z'(t - 1)), pri(z'(t)), (a')1(t, N)) +

_ t=1

+ Ca'(t)(z'(t), (a')1(t,N))] + 0(pr2(z'(N))) = Ca'[z' | ф] ^ 1>[ж* | ф].

Л (5.19)

Из (5.12), (5.18), (5.19) получаем, что У[ж* | ф] ^ V ^ V, что означает (см. (5.16)) справедливость свойства ж* £ X0. Поскольку выбор ж* был произвольным, установлено, что Y С Xo, ч.т.д. □

Из (2.15) и предложения 5.1 вытекает, что X0 = 0, а точнее, X0 £ P'(X0),

Предложение 5.2. Справедливо равенство

V = min V[ж].

Доказательство.В силу (2.15) имеем, что

V ^ min V[ж]. (5.20)

xeXo

С другой стороны, пусть ж £ X0 таково, что V[ж] = V. Тогда в силу предложения 5.1 ж £ X0, а потому

min V [ж] ^ V [ж] = V.

xeXo

С учетом (5.20) получаем требуемое равенство. □

С учетом предложений 5.1 и 5.2 получаем следующую схему решения основной задачи (2.14).

1. Построение верхней оценки V (5.11) на основе решения мажорантной задачи с использованием универсального (и, значит, более простого) варианта ДП.

2. Построение функций (5.14) на основе универсальной версии ДП с перезаписью слоев.

3. Построение функции | ф] и множества X0 (5.16).

4. Решение всех ж-задач (2.11) при ж £ X0, определение ж^ £ X0 со свойством V[жор^ = V и ДП (aopt,zopt) £ (ЯОЬ)[жо^] (используются индивидуальные процедуры § 3 на основе ДП). В итоге (aopt, zopt,жо^) £ SOL.

Успех в применении алгоритма достигается в случае |X0| < |X0|.

Для проведения вычислений использовался компьютер с процессором Intel Í5-2400 и 8 Гб оперативной памяти, работающий под управлением Linux Kubuntu 18.04 (64-bit). Программа разработана на языке C++, скомпилирована при помощи компилятора gcc с использованием библиотеки Qt.

Для оценивания внутренних работ использовались функции, подобные [11, разделы 5, 6]. В частности, значения f (x, ж) функции f определялись временем перемещения из точки x £ X в точку ж £ X0 при заданной скорости холостого хода. Напомним, что в данных функциях учитывается площадь металла в области возле участка завершения

реза (имеется в виду, что часть этой области может пересекаться с пустотами от вырезанных контуров и пространством за пределами листа). Данное условие возникает из требования рассеивания тепла на машинах с термической резкой. При вычислениях использовался «ступенчатый» принцип формирования штрафов: если площадь пустот в металле и пространства за пределами листа, покрываемых областью завершения реза, превышает 25% от площади этой области, то значение штрафа принимается равным 1000000, в противном случае штраф отсутствует.

Пример 1.

В рассматриваемом примере количество контуров N = 22. Была зафиксирована 51 точка старта-финиша. Это соответствует тому естественному требованию, что постулируется возврат в точку старта, которая при этом может оптимизироваться. Данные точки располагались на прямоугольнике, заданном точками (0 мм, 0 мм), (0 мм, 1000 мм), (1550 мм, 1000 мм), (1550 мм, 0 мм). Первая точка находилась в координате (0, 0). Остальные откладывались на прямоугольнике по часовой стрелке с шагом в 100 мм.

Длина области завершения реза (при учете тепловых допусков) составила 500 мм, ширина — 250 мм. Скорость внешних перемещений (перемещений между контурами) 500 мм/с (имеется в виду скорость холостого хода, см. [11]). Для перемещений, связанных с резкой контуров (подход к контуру, рез контура и отход от контура), была выбрана скорость 10 мм/с.

Для начала был произведен расчет, в котором задача решалась для каждой точки в отдельности. Получены следующие результаты: значение экстремума 3000051, время счета 27 мин 50 с. Координаты точки старта (0 мм, 600 мм) и точки финиша (0 мм, 600 мм). Маршрут и трасса показаны на рис. 1.

0 120 240 360 430 600 720 840 Э60 1080 1200 1320 1440

Рис. 1. Пример 1. Маршрут и трасса обхода множеств. Оптимальный вариант

Далее расчеты были выполнены в соответствии с рассматриваемой в данной работе схемой. Множество допустимых точек старта-финиша предполагалось тем же самым. Была получена верхняя оценка со следующим значением 3000051 (время вычислений 32 с). Далее была выполнена процедура сокращения числа стартовых точек, в ходе которых число данных точек удалось сократить до 38 (время вычислений также 32 с). После этого для данных 38 точек была решена задача с использованием точного алгоритма. Результат, как и ожидалось, совпал с первым случаем (когда вычисления производились для всех точек). Но при этом время вычислений сократилось до 20 мин 38 с. С учетом двух предшествовавших этапов, предназначенных для сокращения списка точек старта-финиша, затраченное

время составило 21 мин 42 с. Иными словами, общая экономия времени счета составила порядка 22 %.

§6. Релаксация задачи маршрутизации с оптимизацией точки старта-финиша

В настоящем параграфе исследуется следующий вариант задачи (2.14): функция f (см. (2.9)) определяется в существенной части расстоянием от точки х € X до некоторого п/м X0, зависящего от точки старта из X0. Данная модель отвечает ситуации, когда в исходной содержательной задаче требуется, после всех перемещений (2.3), осуществить возвращение в район точки старта, но необязательно в саму эту точку (мы ослабляем, стало быть, ограничение «замкнутой» задачи примера 1, т. е. осуществляем некоторую естественную релаксацию последней задачи).

Полагаем далее, что X = К х К (случай плоской задачи), а р — евклидова метрика

на X. Тогда р € ^+[Х х X]; если х € X и А € Р'(Х), то р(х; А) = т£({р(х,а): а € А}) есть обычное расстояние от х до множества А. Фиксируем для определенности число е € €]0, т. е. е € К+ и е = 0. С каждой из точек х € X0 связываем шар В0(х, е) радиуса е в подпространстве (X, р) с «единицей» X0, полагая, что

В0(х,е) = {у € X0 | р(х,у) ^ е} € Р'^0). (6.1)

Будем рассматривать содержательную постановку, в рамках которой в случае старта из х € X0 после посещения всех мегаполисов требуется осуществить перемещение в множество В0(х,е); последнее выступает в роли множества возможных точек финиша. Упомянутое требование можно, как легко видеть, отразить в случае метрической задачи следующим образом: не изменяя формально определение траекторий в (2.8), введем f (2.9) по естественному правилу, полагая при х € X и х € X0, что

△ р(х; В°(х, е)) f (х,х) = ' Л ' , (6.2)

где зд €]0, т. е. г>0 € К+ и г>0 = 0; в виде г>0 имеем скорость перемещения; в случае листовой резки зд — скорость перемещения инструмента в режиме холостого хода. Естественно, принимая (6.2), мы ориентируемся и при конкретизации других функций (2.9) на задачу быстродействия, используя в качестве значений этих функций соответствующие времена перемещений (при листовой резке — в режиме рабочего и холостого хода) с возможной коррекцией в виде штрафов за нарушения ограничений.

При f, определяемой в (6.2), реализуются оценочные построения § 5 (в частности, конкретизируются (5.7) и (5.13)). Последнее имеет смысл отметить.

Предложение 6.1. При условии (6.2) функция ф (5.13) такова, что

ф(х) = — р(х, X0) Ух € X. (6.3)

Доказательство. Пусть х* € X. Тогда р^*^0) есть наименьшее из чисел

0

У*

р(х*,у), у € X0. Пусть х* € X0 таково, что р(х*,х*) = р^*^0). Заметим, что, поскольку

*

х* € В0(х*,е), имеем неравенство

f (х*,х*) = — р(х*; В0(х*,е)) ^ — р(х*,х*). ^0 р ^0

В итоге f (х*,х*) ^ ^р(x*,X0). С другой стороны, в силу (6.1)

р(х*; X0) ^ р(х*,у) Уу € В0(х*,е)

по определению р(ж*; X0). Это означает, что р(ж*; X0) < р(ж*; Я°(ж*,£)), а тогда согласно (6.2)

-р(ж*; X0) < /(ж*, ж*). Получим равенство /(ж*, ж*) = V-р(ж*; X0). С учетом (5.13) имеем теперь, что

V—

1

ф(ж*) р(ж*; X0). (6.4)

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

С другой стороны, из (6.1) следует неравенство р(ж*; X0) < р(ж*; вр(ж,£)) Уж е X0. Как следствие (см. (6.2)),

—р(ж*; X0) < /(ж*, ж) Уж е X0. Теперь уже в силу (5.13) V— р(ж*; X0) < ф(ж*), что с учетом (6.4) означает равенство

ф(ж*) = — р(ж*; X0). (6.5)

Поскольку выбор ж* был произвольным, из (6.5) вытекает (6.3). □

В рассматриваемых ниже примерах в качестве р использовалось евклидово расстояние на плоскости. Пример 2.

Данный пример аналогичен примеру 1 во всем, кроме уменьшенной области завершения реза (длина 350 мм, ширина — 150 мм) и возможности выбора финишной точки в окрестности точки старта (не далее чем £ = 500 мм). Кроме того, предполагается, что точка завершения может не совпадать с точкой старта, но при этом расстояние между ними не должно превышать 500 мм.

Для начала был произведен расчет, в котором задача решалась для каждой точки в отдельности. Получены следующие результаты: значение экстремума 50.8, время счета 26 мин 54 с. Координаты точки старта (600 мм, 1000 мм) и точки финиша (1000 мм, 1000 мм). Маршрут и трасса показаны на рис. 2.

Рис. 2. Пример 2. Маршрут и трасса обхода множеств. Оптимальный вариант

Далее расчеты снова были выполнены в соответствии с рассматриваемой в данной работе схемой. Множество допустимых точек старта-финиша предполагалось тем же самым.

Была получена верхняя оценка со следующим значением: 51.2 (время вычислений 31 с). Далее была выполнена процедура сокращения числа стартовых точек, в ходе которых число данных точек удалось сократить до 34 (время вычислений также 31 с). После этого для данных 34 точек была решена задача с использованием точного алгоритма. Результат, совпал с тем случаем, когда вычисления производились для всех точек. Но при этом время вычислений сократилось до 18 мин 7 с. С учетом двух предшествовавших этапов, предназначенных для сокращения списка точек старта, затраченное время составило 19 мин 9 с. Общая экономия времени составила порядка 29 %.

Пример 3.

В рассматриваемом примере количество контуров N = 10. Были зафиксированы 30 возможных точек старта, составляющие множество X0. Данные точки располагались на прямоугольнике, заданном точками (0 мм, 0 мм), (0 мм, 1000 мм), (500 мм, 1000 мм), (500 мм, 0 мм). Первая точка имела координаты (0, 0). Остальные откладывались на прямоугольнике по часовой стрелке с шагом в 100 мм. Кроме того, предполагается, что точка завершения может не совпадать с точкой старта, но при этом расстояние между ними не должно превышать е = 300 мм.

Длина области завершения реза (при учете тепловых допусков) составила 300 мм, ширина — 100 мм. Скорость внешних перемещений 500 мм/с. Для перемещений, связанных с резкой контуров была выбрана скорость 10 мм/с.

Для начала был произведен расчет, в котором задача решалась для каждой точки в отдельности. Получены следующие результаты: значение экстремума 22.306, время счета 15 с 631 мс. Координаты точки старта (300 мм, 1000 мм) и точки финиша (500 мм, 800 мм). Маршрут и трасса показаны на рис. 3.

Рис. 3. Пример 3. Маршрут и трасса обхода множеств. Оптимальный вариант

Далее расчеты были выполнены в соответствии с рассматриваемой в данной работе схемой. Множество допустимых точек старта предполагалось тем же самым. Была получена верхняя оценка со следующим значением 22.374 (время вычислений 488 мс). Далее была выполнена процедура сокращения числа стартовых точек, в ходе которой число данных точек удалось сократить до 12 (время вычислений также 488 мс). После этого для данных

12 точек была решена задача с использованием точного алгоритма. Результат такой же, как в случае с полным перебором точек старта. Время вычислений сократилось до 6 с 613 мс. С учетом двух предшествовавших этапов, предназначенных для сокращения списка точек старта-финиша, затраченное время составило 7 с 590 мс. Общая экономия времени составила порядка 66 %.

Финансирование. Работа поддержана РФФИ (грант № 18-07-00637).

СПИСОК ЛИТЕРАТУРЫ

1. Gutin G., Punnen A. (Eds.) The traveling salesman problem and its variations. Springer US, 2007. https://doi.org/10.1007/b101971

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. 220 с.

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

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

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

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

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

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

10. Ченцов А. Г., Ченцов П. А. Об одной задаче маршрутизации с оптимизацией точки старта-финиша // Известия Института математики и информатики Удмуртского государственного университета. 2018. Т. 52. С. 103-115. https://doi.org/10.20537/2226-3594-2018-52-08

11. Ченцов А. Г., Ченцов П. А. Маршрутизация в условиях ограничений: задача о посещении мегаполисов // Автоматика и телемеханика. 2016. № 11. С. 96-117. http://mi.mathnet.ru/at14599

12. Ченцов А. Г. К вопросу о маршрутизации комплексов работ // Вестник Удмуртского университета. Математика. Механика. Компьютерные науки. 2013. Вып. 1. С. 59-82. https://doi.org/10.20537/vm130107

13. Ченцов А. Г., Ченцов П. А. Оптимизация точки старта в задаче последовательного обхода мегаполисов при наличии условий предшествования // Вест. ЮУрГУ. Сер. Матем. моделирование и программирование. 2018. Т. 11. № 2. С. 83-95. https://doi.org/10.14529/mmp180207

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

15. Дьедонне Ж. Основы современного анализа. М.: Мир, 1964.

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

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

Поступила в редакцию 12.01.2020

Ченцов Александр Георгиевич, д. ф.-м. н., главный научный сотрудник, чл.-корр. РАН, Институт математики и механики им. Н. Н. Красовского УрО РАН, 620219, Россия, г. Екатеринбург, ул. С. Ковалевской, 16;

профессор, Уральский федеральный университет, 620002, Россия, г. Екатеринбург, ул. Мира, 19. E-mail: chentsov@imm.uran.ru

Ченцов Павел Александрович, к. ф.-м. н., старший научный сотрудник, Институт математики и механики им. Н. Н. Красовского УрО РАН, 620219, Россия, г. Екатеринбург, ул. С. Ковалевской, 16; старший научный сотрудник, Уральский федеральный университет, 620002, Россия, г. Екатеринбург, ул. Мира, 19.

E-mail: chentsov.p@mail.ru

Цитирование: А. Г. Ченцов, П. А. Ченцов. К вопросу об оптимизации точки старта в задаче маршрутизации с ограничениями // Известия Института математики и информатики Удмуртского государственного университета. 2020. Т. 55. С. 135-154.

A. G. Chentsov, P. A. Chentsov

To the question of optimization of the starting point in the routing problem with restrictions

Keywords: dynamic programming, route, precedence conditions. MSC2010: 93C83

DOI: 10.35634/2226-3594-2020-55-09

We consider the extreme routing problem with an additive criterion, the terminal component of which depends on the starting point. This dependence may be associated, in particular, with the requirement to return to the starting point region after completing the final system of tasks that need to be ordered. The work assumes that the tasks to be performed are related with visiting non-empty finite sets called megacities. In turn, the mentioned visits are associated with the performance of works, the costs of which are involved in the formation of the criterion. Finally, the costs of external movements (between megacities) supplement the formation of an additive criterion to be minimized. It is required to find a global extremum and a solution that includes a starting point, the order of visits to megacities and a specific trajectory of the process. The solution uses widely understood dynamic programming (DP). It is significant that procedures based on DP use starting point. Therefore, enumeration of mentioned points is required. The article proposes an approach to solving the problem of reducing this enumeration through the use of auxiliary DP that are universal with respect to the choice of a starting point. The optimal algorithm was built and implemented on a PC using the aforementioned approach.

Funding. This work was supported by RFBF, grant no. 18-07-00637.

REFERENCES

1. Gutin G., Punnen A. (Eds.) The traveling salesman problem and its variations, Springer US, 2007. https://doi.org/10.1007/b101971

2. Cook W. J. In pursuit of the traveling salesman. Mathematics at the limits of computation, Princeton, New Jersey: Princeton University Press, 2012.

3. Gimadi E. Kh., Khachai M.Yu. Ekstremal'nye zadachi na mnozhestvakh perestanovok (Extreme problems on sets of permutations), Yekaterinburg: UMC UPI, 2016, 220 p.

4. Little G. 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. https://doi.org/10.1287/opre.1L6.972

5. Bellman R. Dynamic programming treatment of the travelling salesman problem, Journal of the ACM, 1962, vol. 9, issue 1, pp. 61-63. https://doi.org/10.1145/321105.321111

6. Held M., Karp R. M. A dynamic programming approach to sequencing problems, Journal of the Society for Industrial and Applied Mathematics, 1962, vol. 10, no. 1, pp. 196-210. https://doi.org/10.1137/0110015

7. 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.

8. Melamed 1.1., 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.

9. 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.

10. Chentsov A. G., Chentsov P. A. On one routing task with the optimization of the start-finish point, Izvestiya Instituta Matematiki i Informatiki Udmurtskogo Gosudarstvennogo Universiteta, 2018, vol. 52, pp. 103-115 (in Russian). https://doi.org/10.20537/2226-3594-2018-52-08

11. 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. https://doi.org/10.1134/S0005117916110060

12. Chentsov A. G. To question of routing of works complexes, Vestnik Udmurtskogo Universiteta. Matematika. Mekhanika. Komp'yuternye Nauki, 2013, issue 1, pp. 59-82 (in Russian). https://doi.org/10.20537/vm130107

13. Chentsov A. G., Chentsov P. A. Optimization of the start point in the GTSP with the precedence conditions, Vestnik Yuzhno-Ural'skogo Universiteta. Seriya Matematicheskoe Modelirovanie i Pro-grammirovanie, 2018, vol. 11, no. 2, pp. 83-95 (in Russian). https://doi.org/10.14529/mmp180207

14. Kuratowski K., Mostowski A. Set theory, Amsterdam: North-Holland, 1967.

15. Dieudonne J. Foundations of modern analysis, New York: Academic Press, 1960.

16. Cormen T. H., Leiserson C. E., Rivest R. L. Introduction to algorithms, Cambridge, MA: MIT Press, 1990.

17. 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.

Received 12.01.2020

Chentsov Aleksandr Georgievich, Chief Researcher, Corresponding Member of the RAS, Institute of Mathematics and Mechanics, Ural Branch, Russian Academy of Sciences, ul. S. Kovalevskoi, 16, Yekaterinburg, 620219, Russia;

professor, Ural Federal University, ul. Mira, 19, Yekaterinburg, 620002, Russia. E-mail: chentsov@imm.uran.ru

Chentsov Pavel Aleksandrovich, Candidate of Physics and Mathematics, Senior Researcher, Institute of Mathematics and Mechanics, Ural Branch, Russian Academy of Sciences, ul. S. Kovalevskoi, 16, Yekaterinburg, 620219, Russia;

Senior Researcher, Ural Federal University, ul. Mira, 19, Yekaterinburg, 620002, Russia. E-mail: chentsov.p@mail.ru

Citation: A. G. Chentsov, P. A. Chentsov. To the question of optimization of the starting point in the routing problem with restrictions, Izvestiya Instituta Matematiki i Informatiki Udmurtskogo Gosudarstvennogo Universiteta, 2020, vol. 55, pp. 135-154.

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