Научная статья на тему 'ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ В ЗАДАЧЕ МАРШРУТИЗАЦИИ: ДЕКОМПОЗИЦИОННЫЙ ВАРИАНТ'

ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ В ЗАДАЧЕ МАРШРУТИЗАЦИИ: ДЕКОМПОЗИЦИОННЫЙ ВАРИАНТ Текст научной статьи по специальности «Математика»

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

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

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

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

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

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

DYNAMIC PROGRAMMING IN THE ROUTING PROBLEM: DECOMPOSITION VARIANT

The questions of applying the dynamic programming (DP) apparatus to the routing problem with constraints and cost functions with the tasks list dependence are investigated. It is supposed that binary partition of the task set is given; tasks of the first task group must be fulfilled before the fulfillment of the task of the second group begins. In each of the groups, precedence conditions may be present. This setting can be applied in the case of sheet cutting on CNC machines, where two above-mentioned groups form zones planned at the cutting stage. In general case, for the optimal solution construction, the two-stage variant of DP is used. Linking two versions of DP is realized by identification of the criterion terminal component for service problem of the first group with extremum function connected with the second group. The connection of optimal solutions for above-mentioned two problems allows to construct an optimal solution for the initial joint problem. Based on the theoretical constructions algorithm realized on personal computer is constructed; computing experiment is realized.

Текст научной работы на тему «ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ В ЗАДАЧЕ МАРШРУТИЗАЦИИ: ДЕКОМПОЗИЦИОННЫЙ ВАРИАНТ»

ISSN 2686-9667. Вестник российских университетов. Математика

Том 27, № 137

(g Ченцов А.Г., Ченцов П.А., 2022 DOI 10.20310/2686-9667-2022-27-137-95-124 УДК 517.958, 530.145.6

2022

м9

OPEN fil ACCESS

Динамическое программирование в задаче маршрутизации:

декомпозиционный вариант

Александр Георгиевич ЧЕНЦОВ, Павел Александрович ЧЕНЦОВ

ФГБУН «Институт математики и механики им. Н.Н. Красовского» Уральского отделения Российской академии наук 620108, Российская Федерация, г. Екатеринбург, ул. Софьи Ковалевской, 16 ФГАОУ ВО «Уральский федеральный университет им. первого Президента России Б.Н. Ельцина» 620002, Российская Федерация, г. Екатеринбург, ул. Мира, 19

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

Ключевые слова: динамическое программирование, маршрут, условия предшествования

Благодарности: Работа выполнена в рамках исследований, проводимых в Уральском математическом центре при финансовой поддержке Министерства науки и высшего образования Российской Федерации (номер соглашения 075-02-2021-1383).

Для цитирования: Ченцов А.Г., Ченцов П.А. Динамическое программирование в задаче маршрутизации: декомпозиционный вариант // Вестник российских университетов. Математика. 2022. Т. 27. № 137. С. 95-124. БО! 10.20310/2686-9667-2022-27-137-95-124.

© A. G. Chentsov, P. A. Chentsov, 2022 DOI 10.20310/2686-9667-2022-27-137-95-124

Dynamic programming in the routing problem: decomposition variant

Aleksandr G. CHENTSOV, Pavel A. CHENTSOV

N. N. Krasovskii Institute of Mathematics and Mechanics of the Ural Branch of the Russian Academy of Sciences 16 S. Kovalevskaya St., Yekaterinburg 620108, Russian Federation Ural Federal University named after the first President of Russia B.N. Yeltsin 19 Mira St., Yekaterinburg 620002, Russian Federation

Abstract. The questions of applying the dynamic programming (DP) apparatus to the routing problem with constraints and cost functions with the tasks list dependence are investigated. It is supposed that binary partition of the task set is given; tasks of the first task group must be fulfilled before the fulfillment of the task of the second group begins. In each of the groups, precedence conditions may be present. This setting can be applied in the case of sheet cutting on CNC machines, where two above-mentioned groups form zones planned at the cutting stage. In general case, for the optimal solution construction, the two-stage variant of DP is used. Linking two versions of DP is realized by identification of the criterion terminal component for service problem of the first group with extremum function connected with the second group. The connection of optimal solutions for above-mentioned two problems allows to construct an optimal solution for the initial joint problem. Based on the theoretical constructions algorithm realized on personal computer is constructed; computing experiment is realized.

Keywords: dynamic programming, route, precedence conditions

Acknowledgements: The work was performed as part of research conducted in the Ural Mathematical Center with the financial support of the Ministry of Science and Higher Education of the Russian Federation (Agreement number 075-02-2021-1383).

Mathematics Subject Classification: 93C15, 49N30, 49N35.

For citation: Chentsov A.G., Chentsov P.A. Dinamicheskoye programmirovaniye v zadache marshrutizatsii: dekompozitsionnyy variant [Dynamic programming in the routing problem: decomposition variant]. Vestnik rossiyskikh universitetov. Matematika - Russian Universities Reports. Mathematics, 2022, vol. 27, no. 137, pp. 95-124. DOI 10.20310/2686-9667-2022-27137-95-124. (In Russian, Abstr. in Engl.)

Введение

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

Мы полагаем, что в каждой из двух упомянутых подзадач могут быть условия предшествования; в задаче, связанной с листовой резкой, они, в частности, отражают следующее естественное в инженерном отношении требование: у каждой детали, содержащей внутренние контура, резка последних должна предшествовать резке внешнего контура. При этом возникают адресные пары «отправитель»-«получатель» (терминология транспортных задач); очередность выполнения работ должна быть такой, чтобы для всякой адресной пары ее «отправитель» посещался бы раньше «получателя». Конечно, можно допустить и перекрестные условия предшествования. Однако, если в этом случае «отправитель» соответствует первой (предваряющей) подзадаче, а «получатель» - второй, то такое условие в рамках нашей совокупной задачи будет выполнено автоматически и поэтому какого-либо специального рассмотрения не требует. Если же имеется адресная пара, у которой «отправитель» соответствует второй задаче, а «получатель» - первой, то исходная задача неразрешима. Это говорит о том, что бинарное разбиение множества заданий должно подбираться с учетом определенных условий, исключающих зацикливание маршрутов.

Уже вышеупомянутые обстоятельства показывают, что исследуемая постановка существенно отличается от своего прототипа - задачи коммивояжера или ТБР (см. [1-3] и др.) в англоязычных источниках. Здесь же отметим исследования в области решения задачи коммивояжера с условиями предшествования или ТБР-РС (см. [4,5]), а также обобщенной задачи коммивояжера или ОТБР (см. [6-8]); отметим также задачу ОТБР с условиями предшествования или ОТБР-РБ в [9]. Отметим также естественную связь развиваемого подхода с конструкциями декомпозиций в задачах дискретной оптимизации (см. [10-12])).

Применяемые в статье варианты динамического программирования (ДП), восходящие к [13, разд. 3.2,4.9], допускают естественную аналогию с [14] (в дискретной оптимизации чаще используется схема [15]). Мы ориентируемся на двухэтапный аналог схемы [13, разд. 4.9], в рамках которой (при наличии условий предшествования) удается от-

казаться от построения всего массива значений функции Беллмана. На каждом этапе используются построения [16-19], но при этом учитывается взаимозависимость решений предваряющей и финальной задач; здесь существенную роль играет отмеченное в [17] свойство универсальности применяемой авторами процедуры ДП относительно выбора точки старта.

1. Общие понятия и обозначения

Используется стандартная теоретико-множественная символика (кванторы, пропозициональные связки и др.); 0 —пустое множество, = —равенство по определению. Семейством называем множество, все элементы которого — множества. Любым двум объектам x и y сопоставляется их неупорядоченная пара {x; y}, т. е. множество, содержащее x, y и не содержащее никаких других элементов. Каждому объекту z сопоставляется синглетон {z} = {z; z}, содержащий z : z E {z}. Множество является объектом. С учетом этого, следуя [20, с. 67], любым двум объектам x и y сопоставляем упорядоченную пару (УП) (x,y) = {{x}; {x; y}} с первым элементом x и вторым элементом y. Для произвольной УП h через pr^h) и pr2(h) обозначаем соответственно первый и второй элементы h, однозначно определяемые равенством h = (pr1(h),pr2(h)). Для любых трех объектов x, y и z в виде (x,y,z) = ((x,y),z) имеем (см. [21, с. 17]) упорядоченный триплет с первым элементом x, вторым элементом y и третьим элементом z.

Каждому множеству H сопоставляем семейство P(H) всех подмножеств (п/м) H и семейство P'(H) = P(H) \ {0} всех непустых п/м H, а также семейство Fin(H) всех непустых конечных п/м H; ясно, что Fin(H) С P'(H) и, если множество H конечно, то Fin(H) = P'(H). Используя стандартное понятие декартова произведения двух множеств, для любых трех множеств A, B и C полагаем, как обычно (см. [21, с. 17])) A х B х C = (A х B) х C, что согласуется с вышеупомянутым определением триплета.

Для любых непустых множеств S и T через TS обозначаем (см. [20, с. 76]) множество всех отображений (функций) из S в T; выражения h E TS и h : S —> T отождествимы. Значение отображения в точке обозначается традиционно: g(s) E T при g E TS и s E S. Для непустых множеств A, B и C E P'(A), а также отображения u E BA в виде

u1(C) = { u(x) : x E C} EP'(B)

имеем образ C при действии u. Если S, T и R —три множества, m E RSxT, s E S и t E T, то, как обычно, m(s,t) = m((s,t)) E R. Если же S, T, P и R — непустые множества, а ф E RSxTxP, то при s E S, t E T и p E P, как обычно, ^(s,t,p) = ^((s,t,p)) E R; если же h E S х T и l E P, то (h,/) E S х T х P и определено ^(h, /) = ^(pr1(h), pr2(h), /) E R. В частности, упомянутые соглашения понадобятся в случаях R = R, где R — вещественная прямая, и R = R+, где R+ = {£ E R|0 < £} — ее неотрицательная полуось; R+[H], где H — непустое множество, есть по определению множество всех неотрицательных ве-щественнозначных (в/з) функций на H : R+[H] = (R+)H.

Пусть N = {1; 2;...} и N0 = {0} U N = {0; 1; 2;...}; при K E P'(N) и m E N имеем K 0 m = {k + m : k E K}e P'(N). При p E No и q E No

pTg = { k E No|(p < k)&(k < q)} E P(No)

(случай р,д = 0 не исключается; 1,т = {к € М|к < т} € Р'(М) при т € N). Если К — непустое конечное множество, то через |К| обозначаем мощность К, |К| € М; полагаем также |0| = 0. Для непустых множеств Б и Т через (Б1)[Б; Т] обозначаем множество всех биекций [22, с. 87] Б на Т; ясно, что (Б1)[Б; Т] С Т5. Если же К — непустое конечное множество, то (Ы)[К] = (Б1)[1; |К|; К]. Тогда [22, с. 87] при т € N в виде (Ы)[1,т] = (Б1)[1,т; 1,т] имеем множество всех перестановок дискретного интервала 1,т; при а € (Ы)[1,т] в виде а-1 € (Ы)[1,т] имеем перестановку, обратную к а : при к € 1, т

а(а-1(к)) = а-1(а(к)) = к.

В дальнейшем кортежи рассматриваем как отображения (функции), определенные на конечном п/м N0; для таких отображений определено, конечно, понятие образа п/м области определения. Часто используется индексная форма записи кортежей (семейство с индексом; см. [23, с. 11]). Как и принято в теории множеств (см. [20]), отношением называем п/м декартова произведения двух множеств; ясно, что элементами отношений являются УП.

2. Постановка задачи

В дальнейшем X — непустое множество с выделенным п/м X0 € Пп(Х) (элементы X0 играют далее роль точек старта исследуемых процессов), п € М, п > 2, множества

М1 € Пп(Х), ..., Мп € Пп(Х)

называем мегаполисами; кроме того, фиксируем следующие отношения

М1 € Р'(М1 х М1), ..., Мп € Р'(Мп х Мп) (2.1)

(разумеется, все отношения в (2.1) конечны). В отношении X0, М1,..., Мп полагаем, что (М, П X0 = 0 У? € ТТп)&( Мр П Ид = 0 Ур € ^ Уд € \ {р}).

Тогда М = { Мг : г € 1, п} — семейство мегаполисов основной задачи; данные мегаполисы подлежат посещению из точки множества X0, которая может выбираться исполнителем. Для наших целей интересен случай достаточно больших значений п; в этой связи полагаем заданным число

N € 2, п - 2 (2.2)

((2.2) накладывает, конечно, дополнительное условие на п; во всяком случае 4 < п). В терминах N определяем семейства

М1 = { Мг : г € ^}, М2 = М \ М1 = { М : г € N + 1, п}, (2.3)

определяющие бинарное разбиение М : М = М1 иМ2 и М1 ПМ2 = 0. Каждое из семейств (2.3) содержит не менее двух мегаполисов. Полагаем при ] € 1, п — N что

(М(,) = )&(М(,) = ); (2.4)

ясно, что М€ Пп^) и М(,) € Р'(Мх М(,)). В дальнейшем рассматриваются как основная М -задача (о посещении мегаполисов семейства М ), так и частные М1 - и М2 -задачи, где требуется осуществить посещение мегаполисов из М1 и М2 соответственно;

М1 -задача является предваряющей, а М2 -задача - финальной. Полагаем, что в двух последних задачах возможны условия предшествования. Итак, фиксируем множества

К1 еР(^ х ^), К2 еР(1, п - N х 1, п - N)

(случаи К1 = 0 и К2 = 0 не исключаются и отвечают отсутствию условий предшествования в соответствующей задаче); УП, являющиеся элементами К1 и К2, называем адресными.У каждой адресной УП первый элемент называем отправителем, а второй -получателем. Полагаем в дальнейшем, что

(УК0 е Р'(К0 Зг0 е К0 : рг^г0) = рг2(г) Уг е К0) (2 5)

&(УК0 е Р'(К2) Зг0 е К0 : рг1(50) = рг2(г) Уг е К0); ( )

условия (2.5) неограничительны (см. [13, часть 2]) с точки зрения практики и предотвращают зацикливание маршрутов, определяемых в виде перестановок индексов. Из (2.5) следует, в частности, что

(рг1(г) = рг2(г) Уг е К^^рг^) = р^г) Уг е К2). (2.6)

Далее (2.5) и (2.6) используются без дополнительных пояснений. Пусть Р1 = (Ы)[1,Ж[ и Р2 = (Ы)[1, п - N]. Тогда (см. [13, (2.1.5)] и [ , (4.4.6)] имеем (с учетом ( )), что

А = { а е Р1|а-1(рг1(г)) < а-1(рг2(г)) Уг е К1} е Р'(Р1), (2.7)

А = { в е Р2|в-1(рг1(г)) < в-1(рг2(г)) Уг е К2} е Р'(Р2) (2.8)

определяют множества всех допустимых по предшествованию маршрутов для предваряющей и финальной задач соответственно. Полагаем также Р = (Ы)[1 , п]; элементы множеств Р1, Р2 и Р называем маршрутами (точнее, маршрутами в М1 —, М2- и М -задачах соответственно). Если а е Р1 и в е Р2, то склеенный маршрут аОв е Р определяем условиями

((аОв)(к) = а(к) Ук е 1,Ж)&((а0в)(/) = в(/ - N) + N У/ е N + 1, п). (2.9) С учетом (2.7)-(2.9) получаем, в частности, что

Р = { аОв : а е А, в е А2} = { рг1(г)Орг2(г) : г е А х А} е Р'(Р); (2.10)

элементы Р — суть маршруты М -задачи, допустимые по предшествованию. С каждым маршрутом 7 е Р и точкой х е X0 связываем пучок траекторий, на содержательном уровне характеризуемый схемой

х —»(х1,1 е М7(1) ^ х1,2 е М7(1)) —»... —» (хп,1 е М7(п) ^ Хп,2 е М7(п)), (2.11)

(Х1,1,Х1,2) е М7(1),..., (хп,1,хп,2) е М7(п). (2.12)

Итак, посещение мегаполисов подчинено условиям принадлежности отношениям; см. (2.1). Это связано с необходимостью выполнения, при посещении мегаполисов, работ, именуемых внутренними (прямые стрелки в (2.11) характеризуют внешние перемещения, а волнистые - перемещения, связанные с внутренними работами). Для дальнейшего удобно свести (2.11), (2.12) к перемещениям УП:

(х, х) (¿1 е М7(1)) ... (гп е М7(п)). (2.13)

В точном определении мы ориентируемся на (2.13). При Z = (X х X)0'n, x G X0 и 7 G P

л

[х] = { (^да € 3| (^0 = (х, х))&(гт € М7(Т) Ут € 1, п)} € Пп(3) (2.14)

есть пучок траекторий, согласованных с маршрутом 7 и стартующих из х (в редакции (2.13) - из (х, х)). Соответственно, при х € X0 элементы множества

Б[х] = { (7, Ыда) € р X 3|(*4км € [х]} € Пп(Р х 3) (2.15)

рассматриваем как допустимые решения (ДР) в (М, х) -задаче, т. е. в М -задаче со стартом из х. Наконец,

О = { (7, (*)4€0Н,х) € Р х 3 х X°|(7, (г*)^) € Б[х]} € Пп(Р х 3 х X0) (2.16)

рассматриваем как множество всех допустимых маршрутных процессов в М -задаче.

В целях более экономного задания функций стоимости, реализующих аддитивный критерий, введем ряд дополнительных определений. Так, при ] € 1, п имеем

(М, = { рг^г) : г € М,} € Ип(М,))&(М, = { рг2(г) : г € М,} € Ип(М,)); (2.17)

ясно, что М, С М, х М,. Кроме того, вводим N = Р'(1, п) и называем множества из N списками (заданий). В виде

п-М

ММ = У Мм+, € Fiп(X) (2.18)

имеем множество терминальных состояний рассматриваемых маршрутных процессов. Наконец, получаем, что

пп

(X = у М, € Fiп(X))&(Х = (у М,) и X0 € Fin(X)). (2.19)

,=1 ,=1

С учетом (2.17)-(2.19) фиксируем п + 2 функции стоимости

с € ^+[Х х X х N1, с1 € ^+[М1 х N ... ,сп € ^+[Мп х N], / € [М]; (2.20)

в (2.20) имеем функции стоимости, определяющие аддитивный критерий. Если х € X0, 7 € Р и (г^^п € [х], то при т € 1, п определены значения

(с(рг2(гт-1),рг^т),71 (т,п)) € е+)&(с7(т)(^т,71(Т,п)) € Е+),

а также f (pr2(zn)) G R+ (учитываем, что 7(n) G N + 1, n). Напомним, что 7:(г, n) есть образ дискретного промежутка т, n при действии 7 G P, где т G 1, n. С учетом этого имеем при x G X0, 7 G P и (zt)ieorn G ZY [x], что

n

Cy[(zt)teo^] = ^[c(pr2(zt-i),pr1(zi),71(i;n)) + CY(t)(zt,7^))] + f (pi2(zn)) G R+; (2.21) t=i

посредством (2.21) определен аддитивный критерий; значение (2.21) определено при x G X0 и (7, (zt)ieorn) G D[x]. С учетом этого рассматриваем при x G X0 следующую (M, x) -задачу:

C7[(z)t€ö^] min, (7, (zt)teön) G D[x]; (2.22)

задаче (2.22) сопоставляются значение (экстремум) V[x] и множество (sol)[x] всех оптимальных решений:

V[x] = min _ C7[(zt)^ G R+, (2.23)

(7,(zí)íe0H)eD[x]

(sol)[x] = { (7o, (zt)teö~n) G DD[x]| C7o[(zto)te0n] = V>[x]} G Fin(D[x]). В качестве основной мы рассматриваем следующую M -задачу:

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

C7[(zt)t^j min, (y, (zt)tesH, x) G D; (2.24)

задаче (2.24) сопоставляется значение (глобальный экстремум) V и множество SOL всех оптимальных маршрутных процессов:

V = min C7 [(zt)t€0n] G R+, (2.25)

(Y.(zt)teo,n>x)eD

SOL = { (y, (zt)teöH, x) G D|C7[(zt)teo,n] = V} G Fin(D). (2.26)

Наконец, с (2.23) мы связываем следующую задачу

V[x] —> min, x G X0,

для которой значение (экстремум) совпадает с V (2.25) (см. (2.16)), а экстремальное множество есть

XOpt = { x G X0|V>[x] = V}GP'(X0).

Замечание 2.1. Множество (2.10) всех допустимых маршрутов можно было бы определить наложением на выбор перестановки y G P «перекрестных» условий предшествования. Точнее, можно было бы ввести новые адресные пары (i,j), i G 1,N, j G N + 1, n. Тогда требование опережающего решения Mi -задачи в сравнении с M2 -задачей можно было бы реализовать в рамках постановки [17] (см. также идейные аналогии в [16,18,19]), для которой по схеме [17] можно было бы применить аппарат «глобального» ДП. Однако, в данном случае, имея целью решение задач маршрутизации ощутимой размерности, представляется предпочтительной идея декомпозиции, что, кстати, позволит получать оптимальное в (Mi, M2) -смысле решение за приемлемое время; конструкция [17], применяемая при вышеупомянутых дополнительных «перекрестных» условиях предшествования, на этапе вычислительной реализации (для задач такой размерности) приводит, как правило, к существенным затруднениям.

В порядке заключительных замечаний данного раздела наметим на содержательном уровне схему предлагаемого алгоритма, базирующегося на идее декомпозиции исходной задачи с оптимизацией процесса стыковки подзадач, отвечающих семействам Mi и M2. Итак, прежде всего мы, используя условия предшествования Mi -задачи, определяем некоторое, достаточное для всех наших целей, множество точек старта M2 -задачи. Затем, следуя идее [13, разд. 4.9.3], мы последовательно определяем семейства существенных списков заданий, слои пространства позиций и, наконец, слои функции Беллмана для M2 -задачи с нефиксированной точкой старта (здесь мы используем логику работы [17]). На последнем этапе построения слоев функции Беллмана находим зависимость экстремума M2 -задачи от точки старта. Эту зависимость используем в качестве терминальной компоненты критерия Mi -задачи. Тем самым завершается формирование системы условий

данной задачи, после чего, снова используя логику [13, разд. 4.9.3], осуществляем последовательное построение существенных списков заданий, слоев пространства позиций и, наконец, слоев функции Беллмана для М1 -задачи. В качестве наименьшего значения последнего слоя функции Беллмана (для данной задачи) мы, как будет показано, получаем глобальный экстремум исходной полной задачи, а также оптимальную точку старта. Для последней конструируем, используя слои функции Беллмана М1 -задачи с конкретизированной вышеупомянутым способом терминальной компонентой критерия, оптимальное решение в М1 -задаче с данной точкой старта. Получающуюся финишную точку принимаем в качестве стартовой для М2 -задачи и, используя слои функции Беллмана для М2 -задачи, определяем оптимальное решение последней при фиксации упомянутой стартовой точки. Наконец, склеиваем найденные частные решения (раздельно реализуем склеивание для маршрутов и для траекторий), получая оптимальное решение исходной «большой».

Заметим, что данный подход может применяться и в том случае, когда разбиение М на подсемейства М1 и М2 отсутствует, т. е. решается задача в постановке [17]. Мы можем ввести здесь М1 и М2 искусственно, получая по вышеупомянутым правилам некоторую оптимизирующую процедуру (конечно, решение исходной «большой» может уже не быть оптимальным), которая может быть полезна для целей приближенного решения задачи большой размерности.

3. Некоторые представления, связанные с предваряющей задачей маршрутизации

Мы выделяем для специального рассмотрения задачу о посещении мегаполисов М1, . . . , ММ, называемую предваряющей или М1 -задачей. Ее точная постановка будет приведена позднее, когда будет указана терминальная компонента соответствующего аддитивного критерия. Сейчас мы сосредоточимся на определениях и простейших свойствах ДР. Пусть 3а = (X х X)0,м. Тогда при х € X0 и а € А

[х] = { (г4)4вЩ € 3*|(г0 = (х,х))&(гт € М^ Ут € 1,^)} € Кп(3а) (3.1)

есть множество всех траекторий М1 -задачи, стартующих из х и согласованных с маршрутом а. В целях большего согласования с [16-19] введем

ММ

(X* = У Мг € Fin(X))&(Ха = (у Мг) и X0 € Fin(X)),

г=1 г=1

X* С X, Ха С X. Легко видеть, что при х € X0, а € А1, (г^^ € ¿Ц[х] и т € 0, N

(рг1(гт) € X* и X0)&(рг2(^т) € Ха).

Пусть теперь при х € X0 множество всех ДР М1 -задачи со стартом в х определяется как

Б"[х] = { (а, (^да) € А х 3а|(^)€ ¿а [х]} € Fiп(A х 3а). (3.2)

Наконец, в интересах последующей оптимизации точки старта отметим, что

= { (а, (^),х) € А х 3а х X0|(а, (^)) € Ба[х]} € Fiп(A х 3а х X0). (3.3)

Предложение 3.1. Если х Е X0, а Е А.1, в £ и (г^^ц/п Е [х], то

е да[х].

Доказательство следует из определений (см. (2.14), (3.1)).

Предложение 3.2. Если х € X0, а £ А1 и Е [х], то

Ув € А2 3(54)4ео7й Е [х] : ^ = С Ут € 0,Х.

Доказательство легко получается непосредственной комбинацией (2.14) и (3.1). Введем в рассмотрение множество

К1 = { рг^к) : к Е К1} Е Р(1,Х). (3.4)

Тогда (см. [13, (4.9.9), предложение 4.9.3]) 1,Х \ К 1 = 0 и, как следствие, определено (непустое) множество

X00 = У ЕР'(Х^); (3.5)

геТ/м\к 1

в частности, X00 Е Р'(X).

Предложение 3.3. Если х Е X0, а Е А1 и (г4)4е0м Е [х], то рг2(гм) Е X00. Доказательство. Согласно (3.1) Е Ма(м и, как следствие (см. (2.17)),

рг2(^м) Е Ма(м), (3.6)

где а(Х) Е 1,Х. Покажем, что а(Х) Е К 1. Действительно, допустим противное: пусть а(Х) Е К1. В силу (3.4) можно указать Ь Е К1 со свойством а(Х) = рг1(Ь). Тогда а-1(рг1(Ь)) = N и, как следствие (см. (2.7)), N < а-1(рг2(Ь)). Последнее невозможно, т. к. а-1(рг2(Ь)) Е 1,Х. Полученное противоречие показывает, что наше предположение неверно и на самом деле а(Х) Е К1, т. е. а(Х) Е 1,Х \ К1, а потому (см. (3.5)) Ма(м) С X00. С учетом (3.6) получаем требуемое утверждение. □

Итак, мы ввели ДР предваряющей задачи и указали некоторые простейшие их свойства. В следующем разделе рассмотрим финальную задачу, при решении которой будет сформирована терминальная компонента критерия предваряющей задачи.

4. Финальная задача маршрутизации (постановка и краткое обсуждение)

Рассмотрим постановку финальной задачи, связанной с обслуживанием мегаполисов из семейства М2, или, более кратко, М2 -задачи. Прежде всего условимся, что X00 (см. (3.5)) используется в ней в качестве множества точек старта. Далее полагаем при ] Е 1, п — N наряду с (2.4), что

(м(Л = тИ+] )&(м(л = м^-), (4.1)

получая при этом в силу (2.17), что (М(Л = { рг1(г) : г Е М(^} Е Ет(М(Л))&(М(^ = { рг2(г) : г Е М(Л} Е Ип(М(Л)). (4.2)

Кроме того, введем аналоги множеств (2.19) в следующем виде:

п-М п-М

(X* = у М(,) € Fin(X))&(Х* = ( у М(') и X00 € Fin(X)). (4.3)

,=1 ,=1

Заметим, что согласно (2.19), (3.5) и (4.3) X* С X и Х* С Х. В качестве допустимых маршрутов М2 -задачи используем перестановки из А2. Пусть 3* = (X х X)0,п-М. Если х € X00 и в € А2, то

¿*[х] = { € 3*| (^0 = (х,х))&(*4 € М(в(4)) У* € 1, п - N)} € Ип(3*) (4.4)

есть пучок траекторий М2 -задачи, согласованных с в и стартующих из х (точнее, из (х,х)); заметим, что при (¿¿)4€0,п-М € ¿*[х] и т € 0, п — N

рг2(5т) € Х*. (4.5)

Если теперь т € 1, п — N то (см. (2.19), (4.4)) рг1(5т) € X, а потому (см. (2.21), (4.5)) при К € N определено значение

с(рг2(5т-1),рг1(5т),К) € Е+; (4.6)

кроме того, в силу (2.21) и (4.4) имеем, что Сд(т)(гт, К) € К+. Свойства (4.5), (4.6) потребуются при построении аддитивного критерия М2 -задачи. При х € X00 имеем в виде

Б*[х] = { (в, (*04€0п-м) € А х 3*|(*)4€05-м € ¿*[х]} € ^(А х 3*) (4.7)

множество всех ДР М2 -задачи со стартом в х. В связи с последующим определением функций стоимости данной задачи отметим, что

N = Р '(1, п — N)

есть семейство всех списков заданий для М2 -задачи. Если К € то

К ф N = { к + N : к € К} € N. (4.8)

При х € X00, в € А, (^)€0,п-м € ¿*[х], К € N и т € 1, п — N определено значение

ф^т-1), рг^т), К) € Е+,

поскольку рг2(гт-1) € Х и рг1(гт) € X. Кроме того, при ] € 1, п — N имеем N + ] € N +1, п и Мм+, = М(,), а тогда при г € М(,) определено значение см+,(г, К) € Е+, где К € N. Как следствие при х € X00, К € в € А, (¿¿)4€0)п-М € ¿*[х] и т € 1, п — N определено значение

См+в(т)(гт,К ф N) € Е+,

где учитывается, что согласно (4.2) и (4.4) гт € Мм+в(т). Наконец, при х € X00, в € А и (^)4е0п=М € ¿*[х] имеем ¿п-м € Мм+в(п-м) и, в частности, р^п-м) € ММ (см. (2.18)), а тогда определено значение /(рг2(гп-м)) € Е+. С учетом этих рассуждений при х € X00, в € А и (г4)4€0 п-м € ¿*[х] определена сумма

п-м

^ [с(рг2(г4-1), рг^),в 1(*, п — N^)+См+в№(^,в 1(*, п — N)фN)]+/(р^п-м)). (4.9)

4=1

В интересах представления (4.9) введем специальные функции стоимости M2 -задачи. Итак, полагаем, что c* е R+[X* х X* х N*] определяется правилом (см. (4.8))

c*(x,y,K) = c(x,y,K ф N) Vx е X* Vy е X* VK е N*. (4.10)

Далее, при j е 1, n — N определяем функцию с* е R+[M(j) х N*] правилом (см. (4.8))

c*(z,K) = CN(z,K ф N) Vz е M(j) VK е N*. (4.11)

В отношении f напомним только, что согласно (2.18) и (4.1)

n-N

M = у M(j) е Fin(X) j=i

и f е R+[M]. С учетом(4.4), (4.5) и (4.9)-(4.11) получаем теперь, что при x е X00, в е A2

и (zi)te0;n-w е Ze[x]

n-N

Св[(zt)teo,n=N] = E [c*(Pr2(zt-i), pr1(zi),e1(t;n—N)) t=1

n-N

+ ce(t)(zt,e1(t, n — N))] + f (pr2(zn-N)) = E [c(pr2(zt-i),рг^),в1 (t n — N) ф N)

t=1

+ CN+e(t)(zt,в 1(t, n — N) ф N)] + f (pr2(Zn-N)). (4.12)

Итак, мы получили кортеж функций стоимости M2 -задачи в виде

c* е R+[X* х X* х N*], с1 е R+[M(1) х N*], ..., cn-N е R+[M(n-N) х N*], f е R+[M],

в терминах которого определен аддитивный критерий (4.12). Ясно, что при x е X00 посредством (4.12) каждому ДР (в, (zt)te0 n-N) е D*[x] сопоставлено неотрицательное число. Тогда при x е X00 определяем (M2,x) -задачу в виде

Св K^teü/n-W] —► min, (в ^teö/n-N) е D*[x];

сопоставляем этой задаче значение у*[x] и (непустое конечное) множество (sol)*[x] всех ее оптимальных решений:

V*[x] = {я{ ^ min Св [(zt)teövn—N] е R+,

(sol)*[x] = { (в, (zt)teövn-N) е D*[x]| СвК^ес^] = У*[x]} е Fin(D*[x]). (4.13)

В M2 -задаче мы не будем оптимизировать точку старта, ограничиваясь определением зависимости у*[■] е R+[X00] следующего вида

x —^ У*[x] : X00 —► R+. (4.14)

Посредством этой зависимости будет (в существенной части) определена терминальная компонента аддитивного критерия M1 -задачи, чем и будет определяться связка предваряющей и финальной задач.

5. Решение М2 -задачи (динамическое программирование)

Итак, в целях привязки М2 -задачи к (предваряющей) М1 -задаче нам следует указать прежде всего работоспособную процедуру построения функции (4.14). Эта процедура соответствует [17] и восходит к [13, разд. 4.9]. Мы рассмотрим ее в краткой форме, имея целью получить алгоритм на функциональном уровне и выделяя при этом его основные этапы. В дальнейшем используем отображение I*, действующее в N по правилу: при К € N

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

где 2*[К] = { г € К2|(рг1(г) € К)&(рг2(г) € К)}; данное определение соответствует [13, (2.2.27),(2.2.28)]. При * € 1, п — N в виде {*} € N имеем неподвижную точку I* : 1*({*}) = {*}.

1) Построение существенных списков заданий. Следуя [13, (4.9.1)], полагаем, что

е* = { К € N4 Уг € К2 (рг1(г) € К) (рг2(г) € К)}. (5.1)

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

Множества — элементы семейства (5.1) — называем существенными (в М2 -задаче) списками заданий. При в € 1, п — N полагаем, что е* = { К € е*| 5 = |К|}. Тогда еп-м = {1, п — N} (синглетон) и е1 = { {*} : * € 1, п — N \ К2}, где

КК2 = { рг^г) : г € К2}.

При этом е* = 0 (см. [13, предложение 4.9.2]); кроме того,

е*-1 = { К \ {*} : К € е*, * € 1*(К)} Ув € 2, п — N. (5.2)

Для построения всех существенных списков используем очевидную рекуррентную процедуру

еп-м —^ еп-м-1 —^... —^ е1. (5.3)

Регулярный шаг процедуры (5.3) реализуется правилом (5.2).

2) Построение слоев пространства позиций. Позициями в М 2 -задаче называем УП (х, К), где х € X и К € Р (1, п — N). Введем в рассмотрение множества , £1,... ,

м в пространстве позиций, называемые слоями. Для определения введем

М * = и М(Л;

^€1,п-м\К 2

тогда слой £0 определяется следующим правилом: £0 = { (х, 0): х €М *}. Кроме того, полагаем, что м = { (х, 1, п — N) : х € X00}. Итак, определены крайние слои.

Если в € 1, п — N — 1 и К € е^, то последовательно определяем (см. [17-19]) множества

Л* = {з € 1, п — N \ К |{з} и К € е;+1>, М*[К ] = у М(^,

ВД = { (х, К): х €М*[К]}.

Тогда полагаем при в Е 1, п — N — 1, что слой Д* имеет вид

л

кеб

D* = У D * [K]. (5.4)

Итак (см. (5.4)), мы получили все слои , Д,... , N; каждый из этих слоев есть непустое множество (см. [13, предложение 4.9.3]). При этом

(рг2(г), К \ О}) Е У в Е 1, п — N У(х,К) Е Д* У? Е I * (К) Уг Е М(Л; (5.5)

см. [17, (4.11)]. Свойство (5.5) показывает, что, осуществляя выбор индекса с учетом действия I * и произвольную УП из соответствующего отношения, мы сохраняемся в слоях пространства позиций.

3) Построение слоев функции Беллмана в М2 -задаче. Мы следуем [1619] и конструируем слои г0, г*!,..., гП_N функции Беллмана в виде сужений этой функции на слои пространства позиций. Этим построениям можно придать [17] смысл рекуррентной процедуры. Сначала определяем г0 Е [Д0] посредством правила, учитывающего структуру Д0 :

г0(х, 0) = /(х) Ух Е М*.

Пусть теперь s е 1, n — N и функция v*-1 е R+[D*-1] уже построена; тогда полагаем, что v* е R+[D*] имеет вид (см. (5.5))

v* (x,K) = min min [c * (x, pr1(z),K) + c* (z,K) + v^p^z), K\{j })] V(x,K) е D*. (5.6)

jei*(K) zeM(j) j

Таким образом, определена рекуррентная процедура

* . * * г0 -► г1 -► ... -► гп-М,

для которой сечение финальной функции совпадает с (4.14):

(5.7)

С *[х] = гП-м(х, 1, п — N) Ух Е X00. (5.8)

Теперь, располагая функцией V/ * [•], мы приступаем к строгой постановке и решению предваряющей М1 -задачи. Заметим, что нужное ДР М2 -задачи (маршрут и траекторию) мы будем строить после решения М1 -задачи, когда будет, в частности, конкретизирован выбор точки старта из X00.

6. Постановка М1 -задачи и вопросы склеивания траекторий

Полагаем сейчас выполненными построения предыдущего раздела и, в частности, считаем известной функцию V/ *[•] (см. (5.8)). Данную функцию используем при определении терминальной компоненты критерия М1 -задачи. А именно, мы полагаем, что функция

N

f Е^+У Мг]

г=1

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

N

^(х) = гП^(х, 1, п — N) Ух Е X00)&(f(х) = 0 Ух Е (у Мг) \ X00). (6.1)

г=1

Доопределение у*[•] (см. второе выражение в (6.1)) несущественно и делается с тем только, чтобы схема построения соответствовала [17-19]. Важно, что (см. (5.8), (6.1))

ед = У*[х] Ух € X00 (6.2)

(здесь полезно учитывать предложение 3.3). Полагаем, что N = Р'(1, N). С учетом этого вводим функции (см. раздел 3.)

са € [Ха х X* х #], с1 € ^+[М1 х #], ..., см € ^+[Мм х #].

Итак, полагаем при г € Х* х X* и К € N

л

c*(z,K) = c(z, K U N +1, n) (6.3)

(разумеется, с*(г,К) = с*(рг1(г),рг2(г),К); см. раздел 1.). Далее, при з € 1,N полагаем, что с} € х определяется правилом

с}-(г, К) = с,-(г, К и N + 1, п) Уг € М, УК € N (6.4)

Итак, (с*, с1,... , См, f) есть стандартный набор функций стоимости М1 -задачи. С учетом (6.3), (6.4) получаем при х € X0, а € А1 и (г4)4е0м € ¿0,[х], что (см. (3.1))

м

СЛЫда] = ^[с*(рг2(г4-1), рг1 Ы, а1^)) + с^, а1^))] + {(р^м)). (6.5)

4=1

(6.6)

Из (6.3)-(6.5) вытекает, что при x G X0, а G Ai и (zt)teöw G ZOO,[x]

N _ _

СЛЫда] ^[c(pr2(zt-i), pri(zt), ai(t, N) U N +1, n)

t=i _ _

+ ca(t)(zt, ai(t, N) U N +1, n)] + f(pr2(zN)).

Если x G X0, то (Mi, x) -задачу задаем в следующем виде:

^K^teöN —► min, (а, (zi)ie0,w) G D*[x]

(см. (3.2)). При x G X0 данной задаче сопоставляется значение

VHx] = min CJO^Ön] G R+ (6.7)

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

(sol)Hx] = { (а, (zt)t€öN) G D^[x]|Cae[(zt)t€0,N] = V*[x]} G Fin(D*[x]). Введем теперь в рассмотрение «полную» Mi -задачу, используя (3.3):

СЛЫда] min, (а, (zt)teo,N,x) G D*. (6.8)

Ее значением является экстремум критерия (6.5), (6.6):

л

min CQ[(zt)te0N] = mm min ^[(^да] = min V*[x] G R+. (6.9

Соответственно, множество всех оптимальных решений задачи (6.8) есть

SOL* = { (а, ,x) е D*= V*} е Fin(D*). (6.10)

Наконец, выделяем для отдельного рассмотрения задачу оптимизации точки старта:

V*[x] —> min, x е X0. (6.11)

В силу (6.9) V* - значение (экстремум) задачи (6.11), а

Xo0pt = {x е X0|V*[x] = V*} е Fin(X0)

есть множество всех оптимальных точек старта M1 -задачи. Учтем предложение 3.3 и (6.2). Тогда при x е X0, а е A1, (zt)te0;N е Z* [x]

N _ _

Ca[(*t)teöN] = £№2(^-1), pr1(zt), a1(t, N) U N +1, n) t=1

„1

+ c«(t) (zt, а1 (t, N) U N + 1, n)] + V/ * [p^ (zw)];

см. (6.2), (6.6). Отметим очевидное свойство: если а е A1, в е A2 и t е 1, N, то (см. (2.9)

(аОв)1(^, п) = а1(^, N) и N +1, п. (6.12)

Отметим некоторые положения, касающиеся вопросов склеивания траекторий. Полагаем, что при 7/ Е 3а и 7" Е 3 * кортеж Е 3 определяется правилом

А , / ч , , Т^ГТч г, , , „-, / ч А

((7/^7//)(т) = 7'(т) Ут Е 0, N)&((7/^7//)(т) = (т — N) Ут Е N +1, п). (6.13)

Из определений (см. (6.13)) легко следует положение о склеиваемости.

Предложение 6.4. Если х Е X0, а еА , в ЕА2, 7/ е^а [х] и 7 е^з [рг^ (N)],

то

7/^7// Е 2а0в [х].

Кроме того, из предложений 3.1 и 3.3 вытекает, что при х Е X0, а Е А1, в € А2 и (^ем Е ^«0в[х]

рг2(^) Е X00.

Предложение 6.5. Пусть х е X0, а Е А1, в Е А2 и (г4)4е0п Е 2«ов[х]. Пусть, кроме того, кортеж (г*)4е0тп—N Е 3 * обладает представлением

(г0 = (рг2(^), )))&(г* = У£ Е 1, п — N).

Тогда данный кортеж является траекторией М2 -задачи, стартующей из рг2(^) и согласованной с в :

«)4е0/п—N Е ^з [рг2 (zN)]. Доказательство следует из определений.

7. Решение М1 -задачи по методу динамического программирования

Вернемся к задаче (6.8), которая представляет собой стандартную в смысле [17] экстремальную задачу, оперирующую с кортежем (с0, с1,... , cN, f) функций стоимости. Применяемая ниже схема решения на основе ДП соответствует [16-19]. Совсем кратко перечислим основные этапы процедуры, подобные отмеченным в разделе 5. для М2 -задачи.

1) Построение существенных списков заданий. Полагаем, что N = Р^^) (семейство всех непустых п/м 1,N), и определяем отображение I0, действующее в N по следующему правилу: при К Е N

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

10(К ) = К \{ рг2 (г): г Е [К]},

где ~°[К] = { г е К11 (рг1(г) Е К)&(рг2(г) е К)}. Отметим, что 10({*}) = {*} У* Е В виде

60 = { К Е N| Уг Е К1 (рг1(г) Е К) (рг2(г) Е К)}

имеем семейство всех существенных списков М1 -задачи. Полагаем, что

б, = {К е е°|в = |К|} Ув е (7.1)

Легко видеть, что при К1 = { рг1(г) : г Е К1} реализуется (см. (7.1)) равенство

61 = {{*} : * Е \ КК1},

кроме того, ©N = {1,N} (одноэлементное семейство). Наконец,

б*-1 = { К \ О} : К е 6, з Е 10(К)} Ув Е (7.2)

На основе (7.2) реализуется рекуррентная процедура ©N —^ 1 —^ ... —^ б1, в основе которой находится (7.2).

2) Построение слоев пространства позиций. Позицией в М1 -задаче называем УП (х, К), где х Е X и К Е Р(1, N). Действуя по аналогии с разделом 5., конструируем множества , ,... , , именуемые слоями пространства позиций. Полагаем

(Д0 = { (х, 0) : х Е X00})&(DV = { (х, : х Е X0}), (7.3)

получая крайние слои. Если в Е 1, N — 1 и К Е 6^, то определяем последовательно

¿?(К) = { з Е Т^ \ К|{з} и К Е е*+Л, М*(К)= и М,-,

¿ея?(к) (7.4)

[К] = {(х, К) : х Е М*(К)}. В терминах (7.4) определяем при в е 1, N — 1 слой Д0 правилом

ДО = и [К]. (7.5)

кеб*

Таким образом, посредством (7.4), (7.5) определяются промежуточные слои пространства позиций. Итак, мы располагаем множествами ^0, ,... , ; все эти множества-слои

непусты (см. [13, предложение 4.9.3]). С учетом [13, предложение 4.9.4] имеем, что при в € (х, К) € £, з € 1°(К) и г € М,

(рг2(г),К \{з}) € £>¡-1. (7.6)

3) Построение слоев функции Беллмана. Располагая слоями позиций, мы определяем функции

являющиеся сужениями функции Беллмана на упомянутые слои. Функцию г0 € [£] задаем правилом

г0(х, 0) = {(х) Ух € X00. С учетом (5.8) и (6.2) получаем, как следствие, что (см. (7.3))

v0(x, 0) = V*[x] = N(x, 1, n - N) Vx G X00.

Дальнейшее построение реализует следующее правило (см. [17]): если s G 1, N и функция vj_i G R+[D*-i] уже построена, то функция v* G R+[D*] такова, что (см. (7.6))

v* (x,K)= min min[c*(x, pri(z),K) + cj (z,K) + i(pr2(z),K\{j})] V(x, K) G D*. (7.7)

) zeMj j

Итак, реализуется следующая рекуррентная процедура:

v0 v* ... vN. (7.8)

Финальная функция vN является зависимостью (6.7):

N

(x, 1, N) = V*[x] Vx G X0. (7.9)

С учетом этого задача (6.11) сводится к виду vN(x, 1, N) —^ min, x G X0; при этом

= min vL (x, 1, N), xex0

X°pt = {х € X0|гм(х, 1, N) = С учетом этих соотношений определяем V* и точку х0 € X(0pt, которую фиксируем;

¥° = V °[х0] = г^ (х0,). (7.10)

4) Построение оптимального решения М1 -задачи. Располагая функциями-слоями г0, г°,... , гм и свойством (7.10), мы конструируем оптимальное ДР М1 -задачи со стартом в х0.

Итак, пусть у0 € X0 х X0 определяется условием у0 = (х0,х0). По выбору х0 имеем

(x0,1, N) = (pr2M, 1, N) G DN. (7.11)

Тогда в силу (7.7), (7.9) и (7.11) имеем следующую цепочку равенств:

= V*[x0] = vN(x0,) = min min[c*(x0,pr i(z), )

_jei(i,N) zeMj __(7 12)

+ cj(z,^) + i(pr2(z), \ {j})],

где (pr2(z), 1, N \ {j}) G DN-1 при j G I*(1,N) и z G Mj (см. (7.6)). С учетом (7.12) находим G I*(1,N) и yi G M^, для которых

V* = c*(x°, pri(yi), 17N) + ^ (yi, vN-i(pi2(yi),I^N \{£i}), (7.13)

получая при этом, что (pr2(yi), 1, N \ }) G D\_i. Согласно (7.7) при этом

vN—i (pr2(yi), 1,N \{£i}) = min min (pr2 (У i), pri(z) 1,N \{£i})

+ cj (z,lTN \{£i}) + vN—2(pr2(z),lTN \{£i; j})]. (7.14) С учетом (7.14) находим £2 G I*(1, N \ {^i}) и y2 G M?2, для которых

vN—i(pr2(yi),^\ {£i}) = cWyi),pri(y2),^\ {£i})

+ ^ (y2, ITn \{£i})+ v^—2(pr2(y2), ^ \{£b Ы), (7.15)

где согласно (7.6) (pr2(y2), 1,N \ {£^ £2}) G D\_2. Из (7.13) и (7.15) вытекает равенство

V* = c* (pr2(y°), pri(yi), I,N) + c^(pr2(yi), pri(y2), l^N \ {£i})

+ c^i (yi, I,N)+ 4 (y2, \{£i})+ vN—2(pr2(y2), lTN \{£i; £2}). (7.16)

Легко видеть (см. (7.16)), что при N = 2 УП ((£^ет2 (yi^д^) является оптимальным решением (Mi, x°) -задачи. В общем же случае N G 2, n — 2 процедуры, подобные выбору в (7.13), (7.15), следует продолжать вплоть до исчерпывания индексного множества 1,N (см. [19])). В итоге будут построены кортежи

£ = (6W G Ai, Ы^ G Z*[x°], (7.17)

для которых (£, (yi)ie°^) G D*[x°] и при этом

4 [Ыда ] = = V *[x°]. (7.18)

Разумеется, (£, , x°) G D*, откуда вытекает (см. (6.10), (7.18)), что

(£, (yi)ieö,N,x°) G SOL*, (7.19)

где (£, (y^eJN) G (sol)*[x°]. При этом £ действует в 1,N так, что £(t) = £t при t G 1,N. Итак, решение (Mi, x°) -задачи, а, стало быть, и «полной» Mi -задачи завершено. В частности (см. (7.17), предложение 3.3), определена точка

pr2(yw) G X°°. (7.20)

Данную точку мы будем использовать в качестве стартовой для M2 -задачи.

8. Построение декомпозиционного решения

Мы охраняем все соглашения предыдущего раздела в отношении x°, £, , учи-

тываем (7.19) и (7.20). Принимая pr2(yN) за точку старта в M2 -задаче, рассмотрим построение оптимальной пары маршрут-траектория. Итак, полагаем, что

y° = (pr2(yw), pr2(yw)), (8.1)

получая (в (8.1)) точку из X00 х X00. Далее, согласно (5.6) и (5.8)

[рг2(Ум)] = <-м(рг2(Ум), 1 п — N) = [с*(рг2(Ум), рг1(г) 1, п — N)

(1,п-м) ^еМ(^)

+ с*(г, 1, п — N) + гп-м-1(рг2(г), 1, п — N \ {з})], (8.2)

где (см. (5.5)) (рг2(г), 1, п — N \ {з}) € £п-м-1 при з € 1*(1, п — N) и г € М(}) (здесь мы учли, что (рг2(ум), 1, п — N) € £п-м ). С учетом (8.2) определяем теперь п1 € 1*(1, п — N) и у1 € М(п1), для которых

У*[рг2(ум)] = с*(рг2(ум),рг1(у1), 1, п — N) + 4(У1, 1, п — N)

+ гп-м-1(рг2(У1), 1, п — N \{П1}). (8.3)

Ясно, что (рг2(у1), 1, п — N \ {п1}) € £п-м-1. Поэтому, согласно (5.6),

<-м-1 (рг2(у1), 1, п — N \ {П1}) = miп ^р^Ш^ рг1(г),1, п — N \ {П1})

}€1*(1,п-м\{п1})

+ с*(г, 1, п — N \Ы)+ гп-м-2(рг2(г), 1, п — N \ {щ;з})], (8.4)

где (рг2(г), 1, п — N \ {п1;з}) € £п-м-2 при з € I*(1, п — N \ {п1}) и г € М(}). С учетом (8.4) определяем п2 € 1*(1, п — N \ {п1}) и у2 € М(п2) так, что

<-м-1 (рг2^ 1, п — N \ {П1}) = с*(рг2(у1), рг1 (у2), 1, п — N \ {П1})

+ ^(У2,1, п — N \{щ}) + гп-м-2(рг2(У2), 1, п — N \ {щ; П2}), (8.5)

где (рг2(у2), 1, п — N\{п1; п2})) € £п-м-2 . Из (8.3) и (8.5) получаем следующее равенство

У* [рг2(Ум)] = с* (рг2(Ум), р^Ш^ 1 п — N) + с* (рг2(у1), рг1 (у2), 1, п — N \ {П1})

+ с^1 (У1,1, п — N) + с;(У2,1, п — N \ {щ}) + гп-м-2^2(^2), 1, п — N \ {щ; П2}); (8.6)

легко видеть, что при п = N + 2 (8.6) означает (см. (8.1)) оптимальность решения ((пОге!^, (Юге^) в (М2, рг2(ум)) -задаче. В общем же случае N € 2, п — 2 процедуры выбора, подобные (8.3), (8.5) следует продолжать вплоть до исчерпывания индексного множества 1, п — N (см. построения [19, § 7]). В итоге будет получено (оптимальное в (М2, р^(ум)) -задаче) ДР

(П (Юге^-м) € (^о1)* [рг2(Ум)], (8.7)

где п = (пг)ге1,п-м. Таким образом, (см. (4.12), (4.13), (8.7))

(П (Уг)ге0;п^^) € Б* [рг2 (Ум)] и при этом имеет место следующая цепочка равенств п-м

СП[Шгем-м] = ^ [с(рг2(у4-1), рг1 Ш, П(*, п — N) ф N)

4=1

+ см+„(*)(&, П!(*, п — N) ф N)] + /(рг2(Уп-м)) = V*[рг2(ум)]. (8.8)

Заметим, что п действует в 1, п — N и при этом п(*) = п*, где * е 1, п — N. Таким образом, мы располагаем сейчас следующими частными решениями:

(£,Ыда,х0) е ЯО^, (п, е МПр^Ы)]. (8.9)

Рассмотрим теперь естественное склеивание решений, участвующих в (8.9). При этом х0 е X0, £ е А1 и п е А2. Тогда, в частности, определен (см. (2.10)) склеенный маршрут

СОп е Р,

для которого имеем следующее представление

((£Оп)(к) = £ (к) Ук е т;х)&((£0п)(1) = п(1 — N) + N V/ е N + 1, п). (8.10)

Напомним, что согласно (6.12) реализуется представление

(£0п)1(^Тп) = £1 и N + 1, п V* е Т7Ж Если же т е N + 1, п, то (см. (8.10)) имеем следующую цепочку равенств:

(£0п)1(т;п) = {(£Оп)(к): к е тТп} = {п(/ — N) + N : / е ттп}

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

= { п(в) + N : 5 е т — N п — N} = { к + N : к е ^(т —^^п —ВД

= п1(Т—Ж) 0 N; (8.11)

кроме того, (£0п)(т) = п(т — N) + N. Если же в е 1, п — N то N+в е N +1, п и согласно

(8.11) _ _

((СОп)1^ + в, п) = п1 (в, п — N) 0 N)&((£0п)^ + в) = п(в) + N).

Поскольку выбор в был произвольным, имеем, что V* е 1, п — N

((£Оп)1(^+^;п) = п1(*, п — N) 0 N )&((£Оп)^ + *) = п(*) + N).

Напомним теперь, что х0 еX0, £еДь пеА.2, (уг),е0м е^[ж0] и (уг),е0;п_^ е^П[р^ум)]. Тогда в силу предложения 6.4 получаем, что

т = Ыгеб;мП(уг)геб;п-Ж е [А (8.12)

Мы получаем, в частности, что т е 3 (см. (2.14)), т. е. т : 0, п —^ X х X. Мы полагаем, что

т = т(*) V* е 0~п. Тогда в силу (6.13) и (8.12) получаем, что

(т = у* V* е О^)^* = V* е N + 1, п). (8.13)

Заметим, что согласно (8.7) и (8.13) рг2(т*_1) = рг2(у*_^_1) V* е N + 1, п. Итак, в виде т = (т*)4е0п мы имеем склеенную траекторию, причем

£Оп е Р : (ш4^ е ^[х0]. (8.14)

Из (2.15) и (8.14) получаем следующее склеенное решение:

(еОп, Ыда) € Б[х0]. (8.15) По выбору х0 имеем из (2.16) и (8.15) следующее включение

(еоп, Кк^х0) € Б. (8.16) Итак, построен склеенный маршрутный процесс (8.16), для которого в силу (2.25)

V < Соп[М^]. (8.17)

Мы покажем, что на самом деле в (8.17) имеет место равенство; это и будет означать оптимальность склеенного маршрутного процесса. Сейчас мы отметим, что согласно (2.21)

п

С?0пК^ес^ = Х^р^™*-^ р^М' (£оп)1(^ п)) + с(?0ч)№(^ (£оп)1(^ п))]

4=1

м

+ /(р^К)) = Дс(рг2(^-1), рг1(у4),е) и N + 1, п)

4=1

+ с^у,^^) и N + 1, п)]+ £ [с(рг2(у4-м-1), рг1 (У4-м),П!(* — N, п — N) ф N)

4=м+1

+ Сп(4-м)+м(У4-м, П!(* — N п — N) ф N)] + /(рг2(Уп-м)). (8.18)

С учетом (6.2), (6.6), (7.17) и (7.20) получаем цепочку равенств

м

V* = С[Ыгесщ] = ^[с(рг2(у4-1), рг^и1^) и N +1, п) +С=(14)(у4,£1(^) и N +1, п)] + У*[рг2(ум)], а тогда из (8.8) и (8.18) имеем следующее представление:

п

С?0п[Мда] = V* — V*[рг2(ум)] + ^ [с(рг2(У-м-1),рг1(У-м),П!(* —Ж) ф N)

_4=м +1

+ Сп(4-м)+м(У-м, N ф N)] + /(рг2(Уп-м)) = V* — V*[рг2(ум)]

+ X [с(рг2(Ут-1), рг((Ут), п1 (т, п — N ф N) + Сп(т)+м(Ут, п1 (т, п — N ф N)]

т=( + / (рг2(Уп-м)) = V* — V *[рг2(ум)] + СП [(Уг)ге0п-м] = V1. Итак, склеенный маршрутный процесс (8.16) таков, что

С?0п[М^мН V*. (8.19)

Как следствие из (8.17) и (8.19) имеем следующее неравенство

V < V*. (8.20)

9. Оптимальность декомпозиционного решения

Продолжаем исследование склеенного маршрутного процесса (8.16) в свете свойств (8.19), (8.20).

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

Доказательство. Напомним, что согласно (2.26) SOL = 0. С учетом этого выберем и зафиксируем

(7, е SOL, (9.1)

получая оптимальный маршрутный процесс: из (2.26) и (9.1) следует, что

(7, (7W,X) е D : [(7W] = V. (9.2)

Из (2.16), (9.2) вытекает, что 7 е P, (áí)teo;ñ е Z, X е X0 и при этом

(7, (7í)íeo;n) е D[X]. (9.3)

В свою очередь, имеем с учетом (2.15) и (9.3), что

(7)te0H е^ [Х]. (9.4) В силу (2.10) для некоторых маршрутов

(а е Ai)&(/3 е А) (9.5) реализуется следующее представление маршрута 7 :

7 = аОД (9.6) Из (2.9), (9.5) и (9.6) получаем теперь, что

(7(k) = a(k) Vk е 1, N)&(7(1) = /3(/ - N) + N V/ е N +1, n). (9.7)

Напомним, что zT е X х X при т е 0, n; согласно (2.14) и (9.4)

(£0 = (Х,Х))&(£т е М^(т) Vт е 1, п). Отметим в этой связи, что согласно (9.4) и (9.6)

)№ е ^йОв[Х]. (9.8)

Из (9.5), (9.8) и предложения 3.1 вытекает, что справедливо

(^)да е4 [Х]. (9.9) Иными словами (см. (3.1), (9.9)), )4е0Гм е 3^ есть такой кортеж, что

(zo = (X,X))&(¿T е Ma(T) Vt е 1, N). Поскольку X е Xo, а е A и (zt)teoN е ZO,[X], имеем из предложение 3.3, что

pr2(7n) е X00. (9.10)

Далее, из (6.6) вытекает следующее равенство

м

са [(¿^есЫ = ^>^(¿4-1), рг^^), а1^, N) и N + 1, п)

4=1 _ _

+ сзд (¿4, а1(*, N) и N +1, п)] + {(р^м)), где согласно (6.2) и (9.10) ¥(рг2(¿м)) = V*[рг2(£м)], а потому

(9.11)

са [(¿^есЫ = ^>^(¿4-1), рг^а1^) и N + 1, п)

4=1 _ _

+ Сад (¿4, а1(*, N) и N +1, п)] + V*[рг2 (¿м)]. Заметим, что согласно (3.2) (а, (¿4)4е0гм) € Б°[х], откуда в силу (6.7) имеем неравенство

V°[х] < Р4)4е0м]. (9.12)

При этом в силу (6.9), (9.11) и (9.12) имеем оценку

м

V* < V°[х] < X[с(рг2(^4-1), рг^)^1^^) и N + 1, п)

4=1

1

(9.13)

+ Са(4)(г4, а1(*, N) и N +1, п)] + V*[рг2(гм)].

Напомним, что согласно (6.12), (9.5) и (9.6) имеем, что

7!(*;п) = (ао/5)1(*;п) = а^^) и N +1, п у* €

Поэтому из (9.7) и (9.13) вытекает следующее неравенство:

м

< X[с(рг2(34-1), рг^),^*, п)) + С7(4)(г4,71(*, п))] + Пр^м)]. (9.14)

4=1

Напомним теперь что ¿4 € X х X У* € N +1, п. Тогда определен кортеж (г4*)4е0,п-м € 3*, для которого

Д / ч ЧЧЧ „ / * Д

(г0 = (рг2(¿м), р^м)))ВД = ¿4+м У* € 1, п — N). (9.15) Тогда согласно предложению 6.5 с учетом (9.5) и (9.8) получаем, что

(**)4е0п-м €2|[рг2(гм)]. (9.16) При этом согласно (4.7), (9.5) и (9.16) имеем очевидное включение

(в, (О 4е0,п-м

) € Б*[рг2(£м)]. (9.17) Из (4.4) и (9.16) вытекает, что справедливы свойства

(¿о* = (р^м), р^м)))&« € М(в(т)) Ут € 1, п — N). (9.18)

Как следствие имеем из (4.1) и (9.18), что г* е Мя+в(т) Vт е 1, п — N. Из (4.12), (9.16) и (9.17) вытекает, что

п-N

£в[(г*= 5>(рг2«_1),РГ1(г*),/31(*, п — N) 0 N)

* 71^7 ^ л7\ лгл лгм I (\\ __51с

+ с^^**, в1 (*, п — N) 0 N)] + /(р^^)) = С(рг2(г0), рг^ ),/31(1, п — N) 0 N)

n_N

+ Е с(рг2(г*_1), рг^*— ^) 0 N)

*=2

n_N

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

51

+ Е ,/31 (*, п — N) 0 N) + /(рг2(^)).

*=1

Тогда (см. (9.15)) получаем, в частности, что

Св[(г*)«=0П^] = Ф^),рг^+1),/51(1, п — N) 0 N)

n_N n_N

+ Е Ф^^+^ъ рг^+*), /?1(*, п — N) 0 N) + Е ,/31(*, п — N) 0 N)

*=2 *=1

n_N

[С(Рг2

*=1

+ /(рг2(5п)) = Е[с(рг2^+*_1), рГ^+*), в51(*, п — N) 0 N) *=1

+ %+*, /51(*, п — N) 0 N)] + /(рг2(5п)). (9.19)

Напомним (9.7). Тогда при в е 1, п — N имеем, что N + 5 е N + 1, п и при этом

+ в) = /5(в) + N. (9.20)

Далее, из (9.20) вытекает, что при т е 1, п — N и / е т, п — N верно N + / е N + 1, п, а потому (см. (9.20)) справедливо равенство

Т^ + /) = /§(/) + N;

тогда получаем следующую цепочку равенств

?1 „ Л7Л ЛГЛ Л 7" _ Г 7„ I Л7" . 7„ ^ 51

р(т, п — N) 0 N = { к + N : к е р(т, п — N)} = {/?(/) + N : / е т, п — N} = { + /) : / е т, п — N} = { 7(к) : к е N + т, п} = 71(N + т, п).

Итак, установлено следующее свойство:

/51(*, п — N) 0 N = 71 ^ + п) V* е 1, п — N. (9.21)

Из (9.19)-(9.21) получаем теперь цепочку равенств

n_N

)teб;n-N] = ^Ф^-7^^^ рг1(^+*+ * п)) *=1

п

+ &KN+Í)(7V+Í,71(N + * п))] + /(рГ2(5п)) = Е [с(рг2(гт_1), рг1(гт),71(тТп))

т=N +1

+ с7(т )(5т ,71(т;п))] + / (рг2(5п)). (9.22)

Вместе с тем, согласно (4.13) и (9.17) справедливо неравенство

V*[pr2(¿N)] < CJK^M-Ñ]. (9.23)

Поэтому из (9.14) и (9.23) вытекает следующее неравенство

N

V* < X[c^Z-i),pr^T'(АП)) + с^Л'(АП))] + Cj[(zt*) t=i

Используя теперь (9.22), получаем следующее положение

N

V* < ^[c(pr2(it-i),pri(it),7^t^)) + CY(t)(it,7Ч^))] t=i

n

+ X [c(pr2(ár-i),pri(ár),Y'(TTñ)) + c7(T)(zr,f(Туп))] + f(pr2(zn)) (9.24)

т=N+i n

= X[c(pr2(Zí-i); pri(Zt),Yi(t,n)) + C7(í)(Zí,Yi(t;ñ))] + f (pr2(zn)). t=i

Но из (2.21), (9.2) и (9.4) вытекает цепочка равенств

n

X[c(pr2(zí-i); pri(z),7i(tTñ)) + c7(t) i(t;n))] + f (pr2(án)) = C7[(zí)íeo;n] = V. t=i

Поэтому (см. (9.24)) V* < V и с учетом (8.20) получаем требуемое равенство V = V*. □ Из (8.19) и предложения 9.6 вытекает следующее равенство

[Míe0n] = V. (9.25)

Из (8.16) и (9.25) получаем теперь, что

(£0п, Мда Xo) е D : £f0„[(wt= V. (9.26)

Из (2.26) и (9.26) вытекает, что маршрутный процесс (8.16) оптимален:

(eOn, (wt)teo;n,x0) е SOL. (9.27)

Итак (см. (9.27)), построено оптимальное декомпозиционное решение исходной задачи (2.24). Предложение 9.6 указывает, что глобальный экстремум определяется посредством построения слоев функции Беллмана (см. (7.10)). При этом может использоваться вариант процедуры (7.8), в рамках которого на каждом этапе в памяти сохраняется только один слой функции Беллмана (см. (7.7)), что доставляет некоторую экономию ресурсов памяти (имеется в виду процедура с перезаписью слоев упомянутой функции).

10. Вычислительный эксперимент: пример предваряющей листовой резки

длинномерных деталей

Рассмотрим одно из возможных применений общих конструкций построения оптимального декомпозиционного решения. Исследуется вариант задачи управления инструментом при листовой резке деталей на машинах с ЧПУ. Данная задача осложнена на практике

целым рядом ограничений. В частности, в случае термической резки очень важным является условие обеспечения эффективного отвода тепла: требуется, чтобы возле каждой фактической точки врезки было «достаточно много» сплошного металла. Это требование может, в принципе, нарушаться за счет выполнения предшествующих операций по резке деталей (см. в этой связи [24, § 1.3.3]). По ряду причин среди всех заготовок имеет смысл выделить длинномерные (речь, конечно, идет о плоской задаче), у которых один из габаритов существенно больше другого (см. [24, с. 46]). В целом ряде случаев резка упомянутых длинномерных деталей должна быть предваряющей и их имеет смысл выделить в первую зону, связанную с М1 -задачей (дело в том, что длинномерные детали, расположенные возле границы листа, подвержены максимальным тепловым деформациям). В этой связи рассмотрим модельный пример, ориентированный на эту возможность, добавляя, однако, в постановку и некоторые элементы, связанные с обеспечением вычислительной реализации: мы погружаем задания по резке длинномерных деталей в первую зону, но не исчерпываем ее упомянутыми «большими» деталями. Это связано с естественным желанием решать задачи ощутимой размерности.

Итак, в качестве X используем достаточно большой невырожденный прямоугольник на плоскости (лист). Имеется раскройная карта с указанием контуров деталей, подлежащих вырезке. Возле данных контуров намечены эквидистанты, которые в интересах компьютерного исследования дискретизируются с выбором возле каждого контура набора УП, элементами каждой из которых являются возможная точка врезки и отвечающая ей точка выключения инструмента. Образуются своеобразные мегаполисы (см. раздел 2.). В свою очередь, вышеупомянутые УП точек образуют отношения (2.1). При практическом осуществлении процесса резки инструмент в режиме холостого хода (т. е. быстро) прибывает к выбранной точке врезки, осуществляет врезку и последующее перемещение к контуру в режиме рабочего хода (достаточно медленно), далее осуществляется собственно резка по контуру, после чего реализуется перемещение к точке выключения инструмента (в режиме рабочего хода). Затем инструмент перемещается к следующему контуру в режиме холостого хода.

Мы стремимся найти вариант перемещений инструмента, минимизирующий общее время работы (оптимизация по быстродействию). В этих рассуждениях мы ограничиваемся стандартной техникой резки (резкой по замкнутому контуру); в [24, часть I] обсуждается и целый ряд других вариантов резки. Отметим, что в нашем случае резки по замкнутому контуру время резки самих контуров является одним и тем же для различных допустимых решений и, по этой причине, может быть исключено из постановки; это время может рассматриваться в виде аддитивной добавки к совокупному времени исполнения операций, реально зависящему от выбранного варианта резки деталей. Это совокупное время можно охарактеризовать следующим образом. А именно (см. [24, § 3.3]), следует суммировать времена внешних, по отношению к мегаполисам, перемещений и времена, связанные для каждого мегаполиса с перемещением в металле от точки врезки к точке начала реза (на контуре) и перемещением от точки начала (она же и точка завершения) реза к точке выключения инструмента. Данная зависимость времен, связанных с двумя последними перемещениями, может намеренно искажаться в случае нарушения требований по отводу тепла (тепловых допусков) за счет добавления штрафных констант, что материализуется в используемой модели в виде функций стоимости, включающих зависимость от списка заданий. Детальное построение таких функций стоимости (с зависимостью от списка зада-

ний) приведено в [18, § 6]; эти функции [18] используются в примере. Другой важный тип ограничений составляют условия предшествования; в настоящем примере используется следующий вариант: у каждой детали с внутренними контурами резка последних должна предшествовать резке внешнего контура (напомним, что наши мегаполисы привязаны к контурам). Аналогичное соглашение принимается в отношении вложенных деталей.

Заметим, что в задачах, связанных с листовой резкой, возможны и другие типы условий предшествования, а также различные ограничения динамического характера (требования жесткости листа, жесткости детали и др.; см. [24, гл. 1]). Мы, прибегая к построению двух зон, имеем своей целью всего лишь ослабить «тепловую нагрузку» на длинномерные детали, а точнее, реализовать в ослабленном варианте соображения [24, § 1.3.3].

Ниже рассматривается случай, когда (в задаче, связанной с листовой резкой) n = 52, N = 24. Итак, семейство M1 содержит 24 мегаполиса (среди них шесть связаны с длинномерными деталями), а семейство M2 - 28 мегаполисов. Условия предшествования соответствуют варианту раздела 2. Общее количество адресных пар 36. Рассматривался случай, когда |K1| = 15 и |K21 = 21.

Вычисления производились на ПЭВМ с процессором Intel i7-2630QM с 8Гб оперативной памяти, работающей под управлением Windows 7 (64-bit). Для разработки программы был использован язык C+—+, компилятор MinGW и интерфейсная библиотека Qt. На рис. 1 приведен результат работы алгоритма. Скорости холостого хода и рабочего хода существенно различаются (первая скорость 500 мм/сек., а вторая - 10 мм/сек.). Описание мегаполисов не приводится по соображениям объема.

О 289 578 887 1155 1444 1733 2022 2311 2800 2888 3177 3468 3755 4044 4333 4821

Рис. 1. Результат работы алгоритма: найденная траектория движения инструмента

Получены следующие результаты. Результат счета: V = 130, 6. В данном значении «отсутствуют штрафы»; следовательно, условия, связанные с эффективным отводом тепла, выполнены. Время счета 29 мин. 19 сек., что представляется вполне удовлетворительным.

References

[1] G. Gutin, A. P. Punnen, The Traveling Salesman Problem and its Variations, Springer, Berlin, 2002, 850 pp.

[2] W. J. Cook, In Pursuit of the Travelling Salesman: Mathematics at the Limits of Computation, Princeton University, United States, 2012, 228 pp.

[3] Э.Х. Гимади, М.Ю. Хачай, Экстремальные задачи на множествах перестановок, УМЦ УПИ, Екатеринбург, 2016, 216 с. [E. Kh. Gimadi, M. Yu. Khachai, Extremal Problems on Sets of Permutations, UMC UPI Publ., Ekaterinburg, 2016 (In Russian), 216 pp.]

[4] M. Kubo, H. Kasugai, "The precedence constrained traveling salesman problem", Journal of the Operations Research Society of Japan, 34:2 (1991), 152-172.

[5] Y. Salii, "Revisisting dynamic programming for precedence-constrained Traveling Salesman Problem and its time-dependent generalization", European Journal of Operational Research, 272:1 (2019), 32-42.

[6] E. Balas, "New classes of efficiently solvable generalized Taveling Salesman Problems", Annals of Operations Research, 86 (1999), 529-558.

[7] J. A. Chisman, "The clustered traveling salesman problem", Computers and Operation Research, 2:2 (1975), 115-119.

[8] М.Ю. Хачай, Е. Д. Незнахина, "Приближенные схемы для обобщенной задачи коммивояжера", Тр. ИММ УрО РАН, 22, 2016, 283-292; англ. ^p.:M.Yu. Khachai, E.D. Neznakhina, "Approximation schemes for the generalized Traveling Salesman Problem", Proc. Steklov Inst. Math. (Suppl.), 299:suppl. 1 (2017), 97-105.

[9] F.C.J. Lokin, "Procedures for traveling salesman problems with additional constraints", European of Journal Operation al Research, 3:2 (1979), 135-141.

[10] С. С. Лебедев, "О декомпозиции некоторых прикладных задач дискретной оптимизации", Экономика и математические методы, 44:2 (2008), 121-125. [S. S. Lebedev, "On the decomposition of some applied problems of discrete optimization", Economics and Mathematical Methods, 44:2 (2008), 121-125 (In Russian)].

[11] В.И. Цурков, Декомпозиция в задачах большой размерности, Наука, М., 1981, 350 с. [V. I. Tsurkov, Decomposition in High-dimensional Problems, Nauka Publ., Moscow, 1981 (In Russian), 350 pp.]

[12] А.А. Первозванский, В. Г. Гайцгори, Декомпозиция, агрегирование и приближенная оптимизация, Наука, М., 1975, 344 с. [A. A. Pervozvansky, V. G. Gaitsgori, Decomposition, Aggregation and Approximate Optimization, Nauka Publ., Moscow, 1975 (In Russian), 344 pp.]

[13] А. Г. Ченцов, Экстремальные задачи маршрутизации и распределения заданий: вопросы теории, Ижевский институт компьютерных исследований, Ижевск, 2008, 238 с. [A. G. Chentsov, Extremal Problems of Routing and Job Distribution: Questions of Theory, Izhevsk Institute for Computer Research, Izhevsk, 2008 (In Russian), 238 pp.]

[14] Р. Беллман, "Применение динамического программирования к задаче о коммивояжере", Кибернетический сборник. Т. 9, ред. А.А. Ляпунов, О. Б. Лупанов, Мир, М., 1964, 219222. [R. Bellman, "Application of Dynamic Programming to the Traveling Salesman Problem", Cybernetic Collection. V. 9, eds. A. A. Lyapunov, O.B. Lupanov, Mir Publ., Moscow, 1964, 219222 (In Russian)].

[15] М. Хелд, Р. М. Карп, "Применение динамического программирования к задачам упорядочения", Кибернетический сборник. Т. 9, ред. А.А. Ляпунов, О. Б. Лупанов, Мир, М., 1964, 202-218. [M. Held, R. M. Karp, "Application of Dynamic Programming to Ordering Problems", Cybernetic Collection. V.9, eds. A. A. Lyapunov, O.B. Lupanov, Mir Publ., Moscow, 1964, 202218 (In Russian)].

[16] А.А. Ченцов, А. Г. Ченцов, П. А. Ченцов, "Экстремальная задача маршрутизации с внутренними потерями", Тр. ИММ УрО РАН, 14, 2008, 183-201; англ. пер.^^. Chentsov, A. G. Chentsov, P. A. Chentsov, "Extremal routing problem with internal losses", Proc. Steklov Inst. Math. (Suppl.), 264:suppl. 1 (2009), 87-106.

[17] A. G. Chentsov, P. A. Chentsov, "The routing problems with optimization of the starting point: dynamic programming", Izvestiya Instituta Matematiki i Informatiki Udmurtskogo Gosudarstvennogo Universiteta, 54 (2019), 102-121.

[18] А. Г. Ченцов, П. А. Ченцов, "Маршрутизация в условиях ограничений: задача о посещении мегаполисов", Автоматика и телемеханика, 2016, №11, 96-117; англ. пер.^. G. Chentsov, P. A. Chentsov, "Routing under constraints: Problem of visit to megalopolises", Autom. Remote Control, 77:11 (2016), 1957-1974.

[19] А. Г. Ченцов, "К вопросу о маршрутизации комплексов работ", Вестн. Удмуртск. ун-та. Матем. Мех. Компьют. науки, 2013, №1, 59-82. [A. G. Chentsov, "On the question of routing of work packages", Vestnik Udmurtskogo Universiteta: Matematika, Mekhanika, Komp'yuternye Nauki, 2013, № 1, 59-82 (In Russian)].

[20] К. Куратовский, А. Мостовский, Теория множеств, Мир, М., 1970, 416 с. [K. Kuratowski, A. Mostowski, Set Theory, Moscow, Mir Publ., 1970 (In Russian), 416 pp.]

[21] Ж. Дьедонне, Основы современного анализа, Мир, М., 1964, 430 с. [J. Dieudonnet, Fundamentals of Modern Analysis, Mir Publ., Moscow, 1964 (In Russian), 430 pp.]

[22] Т. Кормен, Ч. Лейзерсон, Р. Ривест, Алгоритмы: построение и анализ, МЦНМО, М., 2000, 955 с. [T. Kormen, Ch. Leizerson, R. Rivest, Algorithms: Construction and Analysis, MCNMO, Moscow, 2000 (In Russian), 955 pp.]

[23] Дж. Варга, Оптимальное управление дифференциальными и функциональными уравнениями, Наука, М., 1977, 624 с. [J. Varga, Optimal Control of Differential and Functional Equations, Nauka Publ., Moscow, 1977 (In Russian), 624 pp.]

[24] А. А. Петунин, А. Г. Ченцов, П. А. Ченцов, Оптимальная маршрутизация инструмента машин фигурной листовой резки с числовым программным управлением. Математические модели и алгоритмы, Издательство Уральского университета, Екатеринбург, 2020, 247 с. [A. A. Petunin, A. G. Chentsov, P. A. Chentsov, Optimal Tool Routing of Shaped Sheet Cutting Machines with Numerical Control. Mathematical Models and Algorithms, Ural University Press, Ekaterinburg, 2020, 247 pp.]

Информация об авторах

Ченцов Александр Георгиевич, доктор физико-математических наук, член-корреспондент РАН, главный научный сотрудник, Институт математики и механики им. Н. Н. Красовского УрО РАН; профессор, Уральский федеральный университет им. первого Президента России Б. Н. Ельцина, г. Екатеринбург, Российская Федерация. E-mail: chentsov@imm.uran.ru

ORCID: http://orcid.org/0000-0001-6568-0703

Ченцов Павел Александрович, кандидат физико-математических наук, старший научный сотрудник, Институт математики и механики им. Н. Н. Красовского УрО РАН; старший научный сотрудник, Уральский федеральный университет им. первого Президента России Б. Н. Ельцина, г. Екатеринбург, Российская Федерация. E-mail: chentsov.p@mail.ru ORCID: http://orcid.org/0000-0003-3595-0607

Конфликт интересов отсутствует.

Для контактов:

Ченцов Александр Георгиевич E-mail: chentsov@imm.uran.ru

Information about the authors

Aleksandr G. Chentsov, Doctor of Physics and Mathematics, Corresponding Member of the Russian Academy of Sciences, Chief Researcher, N.N. Krasovskii Institute of Mathematics and Mechanics of the Ural Branch of the Russian Academy of Sciences; Professor, Ural Federal University named after the first President of Russia B. N. Yeltsin, Yekaterinburg, Russian Federation. E-mail: chentsov@imm.uran.ru ORCID: http://orcid.org/0000-0001-6568-0703

Pavel A. Chentsov, Candidate of Physics and Mathematics, Senior Researcher, N. N. Krasovskii Institute of Mathematics and Mechanics of the Ural Branch of the Russian Academy of Sciences; Senior Researcher, Ural Federal University named after the first President of Russia B. N. Yeltsin, Yekaterinburg, Russian Federation. E-mail: chentsov.p@mail.ru ORCID: http://orcid.org/0000-0003-3595-0607

There is no conflict of interests.

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

Corresponding author:

Aleksandr G. Chentsov E-mail: chentsov@imm.uran.ru

Поступила в редакцию 01.12.2021 г. Поступила после рецензирования 08.02.2022 г. Принята к публикации 10.03.2022 г.

Received 01.12.2021 Reviewed 08.02.2022 Accepted for press 10.03.2022

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