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

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

CC BY
93
26
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАРШРУТ / УСЛОВИЯ ПРЕДШЕСТВОВАНИЯ / ФУНКЦИЯ БЕЛЛМАНА / ROUTE / PRECEDING CONDITION / BELLMAN FUNCTION

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

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

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

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

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

Dynamic programming in a nonstationary route problem

The variant of the dynamic programming method (DPM) is constructed for solving the route problem about megalopolis visiting with the singularity in the form of nonstationarity of permutation and (interior) works. The preceding conditions are given. Additive variant of the input aggregation is investigated.

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

УДК 519.6

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

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

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

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

1. Введём некоторые обозначения общего характера. В дальнейшем △ — равенство по определению, 0 — пустое множество; если г — объект, то {г} есть ёе! одноэлементное множество, содержащее г. Для каждой упорядоченной пары (УП) Н через р^(Н) и р^(Н) обозначаем первый и второй элементы Н, однозначно определяемые условием Н = (рг^Н), р^Н)). Если Б —

множество, то V(Б) есть ёе! семейство всех подмножеств (ПМ) множества Б, 'Р'(Б) = V(Б)\{0}; через [Б] обозначаем множество всех неотрицательных вещественнозначных функций на Б,

а через Еш(Б) — семейство всех непустых конечных ПМ Б. Каждому непустому конечному

множеству К сопоставляем его мощность |К| € М, где N = {1;2;...}; полагаем, что |0| △ 0.

При М0 = {0} и N полагаем, что р^д = [к € М0| (р ^ к) (к ^ д)} Ур € М0 \/д € М0. Последнее соглашение используем для целей нумерации: если Q - непустое конечное множество, то через

(Ы)[<5] обозначаем (непустое) множество всех биекций «отрезка» 1,д на (.где д = |<5|.

2. Фиксируем N € М, 2 ^ N непустое множество X, х0 € X и кортеж

(Мг)геТ^:МУ^ Ет(Х)

(х0 — база или начальный пункт «процесса»; М1,...,М^ — мегаполисы, подлежащие посещению). Полагаем, что (х° £ Mj Уj € 1, Ж) & (Мр П Мд = 0 Ур € 1,ЛГ Уд € 1,И \ {р}). Рассматриваются процедуры перемещений следующего вида

(хо = х0) ^ (х1 ^ € Ма(1) ^ х2 ^ € Ма(1)) ^ ^ (х1 ^ € Ма(Ы) ^ х2 ^ € Ма(Ы) ^

где а — перестановка в 1, -/V, именуемая маршрутом и удовлетворяющая, вообще говоря, ограничениям в виде условий предшествования; при £ € 1, N в виде х^ € Ма^ и € Ма^ реализуются соответственно пункты прибытия на мегаполис и отправления с него (возможное несовпадение и х^ связано с выполнением работ в пределах Ма^). Фиксируем К € Т>( 1, N х 1, ТУ); каждую УП г € К называем адресной, р^(г) и р^(г) именуем отправителем и получателем г соответственно. Введём

N

X △ {х0} и (и М*) € Пп(Х)

г=1

(пространство «процесса») и Р = (Ы)[1, Щ (множество всех перестановок в 1, ТУ; следуем здесь [1, с. 87]). Если а € Р, то сЫ оГ1 € Р : а(а~1(к)) = а~1 (а{к)) = к Ук € 1,Ж. Элементы Р именуем маршрутами. Полагаем в дальнейшем, что УК0 € Р;(К) Зг0 € К0 : рг1(г0) = рг2(г) Уг € К0. Тогда [2, часть 2]

А △ {а € Р| а-1(рг1(г))< а-1(рг2(г)) У г € К} € Р;(Р).

Элементы А — допустимые (по предшествованию) маршруты. Через Z обозначаем множество всех кортежей

(^геб^ЛГ • N ► X х X. (1)

хРабота поддержана РФФИ (гранты № 10-01-96020, 10-08-00484).

В терминах (1) определяются допустимые (при фиксированном маршруте) трассы:

2а = {(*»)*да е 21 (*о = (х°, Х°)) к € ма{л х ма{л V? € 1, ЛГ)}е Ет(г) \/а € А.

Если а: € А, (-^г^одт € 2а и ] £ 1, Л^, то рг1(^) и рг2(^) — суть пункты прибытия на мегаполис Ма(^) и отправления с Ма(^) соответственно; их возможное несовпадение связано с выполнением (внутренних) работ на Ма(^). Фиксируем

сі Є 7£+[Х х Мі х 1, ІУ],..., сдг Є 7£+[Х х Мдг х 1, ІУ],

N

С\ Є 7£-|_[.Мі х М\ х 1, Л/-],..., слг Є 7£-|-[-Мдг х -М/у х 1) X], / Є 7£-|-|^|^) Мі

І=1

(стоимости внешних перемещений, внутренних работ и терминального состояния). Если а Є А и (*і)іємГ е2«.та

N N

П(а’(^)г€0^) = ^С«(*)(РГ2(^-1)’РГі(^)’І) + /(РГ2^)) Є [0, 00[. (2)

*=1 *=1

Минимизация значений (2) посредством выбора о; Є А и Є Д* составляет основную

задачу; через V обозначаем её значение (наименьшую из величин (2) при переборе а и (<гг)іє ддг в упомянутых пределах). С применением (эквивалентного) преобразования ограничений по схеме [2, § 2.2] получено уравнение Беллмана; в основе преобразования — использование оператора I [2, с. 32], действующего в 91 = 7?/(1,Л?’). В терминах I определяются допустимые «по вычеркиванию» маршруты: если К Є N то элементы множества

д

(I — Ы)[К] = {а € (Ы)[К] | а(т) € 1({а(г) : г € т, |К|}) Ут € 1, \К\}

определяют допустимые (в новом смысле) маршруты посещения мегаполисов Мд, к € К. При этом А = (I — Ы)[1,Ж]. Если К £ ж€Хиа€(1 — Ы)[Х], то через 2(х,К,а) обозначаем множество всех кортежей (-2г)^ео |^| : О, \К\ —► X х X, для каждого из которых г0 = (х,х) и

г^ € МаШ х Ма(,-) У? € 1, |К|. В рассматриваемом случае при К € N имеем [2] (I — Ы)[К] = 0 и 2(х,К, а) = 0 Ух € X Уа € (I — Ы)[К]. Эти свойства позволяют построить расширение основной задачи: при х € X и К € N рассматриваем задачу минимизации критерия

△ \К\ | К |

тт[х;К;а; ^ С«И (рг2(^-1)> ^-\К\+Ь) + ^ сащ(ъ, Лг-|^|+^)+/(рг2ЦК|))

*=1 *=1

посредством выбора а € (I — Ь1)[1^] и (-2г)^ео^щ € 2(х, К, а). Тогда

у(х,К)= тт тт тт\х: К: а: (гЛ .^7гг^г1 € [ 0, оо[.

' аф-Ы)1К] ^ещще2(х,к,*) 1’ ’ ’ 1 ^0,1^ I

При этом Яа = 2(х°,1, N, а) Уа: € А. Тогда ь(х°,1, К) = V есть значение основной задачи, поскольку П(а, (гг)^ео^у)= 7г[ж°; 1, Ж; а; Уа: € А У(<гг)^еоТ\г € Д*. Определяем Ю €

^+(Х х N) по правилам:

(Ш(х, К) △ ф, К) Ух € X УК € N & (Ш(х, 0) △ /(х) Ух € Х). Теорема 1. Если х € X и К € N то справедливо равенство Ш(х,К)= шт шт 1е7- (х, pг1(г),N — |К| + 1)+с7-(г, N — |К| + 1) + Ш(рг2(г),К \{?})1.

^'€1(К) геМ, хМ^ ' 2

Тем самым получено уравнение Беллмана, которое используется ниже в рамках экономичной схемы [2, § 4.9] при реализации которой без потери качества удаётся ограничиться построением лишь части массива значений функции Беллмана, реализуемого в виде системы специальных слоёв.

Ограничимся изложением рекуррентной процедуры построения слоёв функции Беллмана.

3. Пусть £ △ {К € Ш| Уг € К (рг1(г) € К)=^ (рг2(<г) € К)} и △ {К € £| 8 =

д

\К\} Уз € 1, АГ; см. [2, §4.9]. При = {рг1(г) : г € К} определяем М как объединение

всех множеств Мг, г € 1, N \ К4. Полагаем Д, = {(ж, 0) : ж € М} и Ддг = {(ж°, 1, ./V)}. Если

8 е 1,лг -1 и к е да, то &(к) = и е му \ К\ Ш и К € £5+1}, ^М5[К] есть ёе£ объединение

всех множеств Мг, г € ^5(К), и В8[К] △ {(ж, К) : х € [К]} (клетки пространства позиций).

Получаем [2, § 4.9]

= У Ю)8[К] € Г'(Х х £) Уве 1,ЛГ-1.

к&дв

Справедливо свойство: (у,К\ {,?’}) € Дз-1 У в € 1, АГ У(х,К) € ,08 V/ € 1(-?0 Уу € М^. С учётом [2, предложение 4.9.4] определяем функции € ^+[Дз], VI € ^+[^1],...,€

^.+ [Д^] рекуррентной процедурой: Ш0(х, 0) = f (х) Ух € М; преобразования V,— ^ V,, j € 1, Ж, определяются выражениями

Ш5(х,К )= шш ш1п [о,- (х, ргп(г),Ж — |К | + 1)+с, (г, N — |К | + 1) +

+Ш5-1(рг2(г),К\ {,?'})] У5€1,ЛГ У{х,К)е03.

Выражение (3) получено локализацией уравнения Беллмана (функции Ш0, Ш1,..., — суже-

ния этой функции на Д,, £>1,..., Ду соответственно), V = Юм(х°, 1, А/-). Построение оптимальной пары маршрут-трасса реализуется на основе (3) по традиционной схеме пошагового решения задач на минимум, начиная с определения точек минимума в соотношении

У = тш тт ГсЛж^рг^г), 1)+с^(г, 1)+Ш^-1(рг2(г), 1,./У \ {,?'})].

^€1(1,Л?) z&MjxMj А

, го

что при этом

Полагаем, го = (ж0, ж0), после чего выбираем индекс к! € 1(1, ТУ) и УП ъ\ € Мк1 х Мк1 так,

У = ск1(ж , рг1(г1), 1) +ск1(гь1) + Шм_1(рг2(г1), 1, N \ {к^). После этого осуществляем следующее перемещение в пространстве позиций

[(ж , 1, АО = (рг2(г0), 1, Ж)] —► (рг^), 1, N \ {к^),

где (рг2(г1), 1, А^ \ {к!}) € При этом согласно (3)

Юм- 1(рг2(г1), 1, N \ {к!}) = ^шп тт [с,(рг2(г1), рг^з), 2)+

+Су(г, 2) + ЮМ-2(рт2(г), (Т^ЛГ \ {М) \ {;})].

С учетом (4) выбираем индекс к2 € 1(1, N \ {к!}) и УП г2 € Мкз х Мкз так, что

ЗДлг-1(рг2(г1), 1, АГ \ {к!}) = ск2(рг2(г1),рг1(г2),2) + скз(г2,2) + ЗДдг_2(рг2(г2), 1, N \ {к:; к2}).

Из общих положений вытекает, что (рг2(г2), 1, АГ\{к1; к2}) € .0^-2 • Как следствие получаем равенство

2 2

^ = Е оь (рг2(г*_1),рг1(г*),^ + ^ск((г*,£) + Шм_2(рг2(г2), 1, N \ {к:; к2}).

*=1 *=1

Осуществляем перемещение (рг2(г1), 1, N \ {к!}) —► (рг2(г2), 1, АГ \ {к!; кг})-

Дальнейшие построения аналогичны и завершаются реализацией оптимального решения.

4. Рассмотрим пример, в котором X = М х М (плоскость), х0 = (0, 0); при х1 € X и х2 € X число р(х1, х2) есть евклидово расстояние между векторами х1 и х2. Рассмотрим случай, когда каждому мегаполису М3 сопоставлен вектор а3 € X, ,в € 1, АГ. Определяем стоимости внешних перемещений условиями с8(х,у,1) = 12р(х,у) У,в € 1,АГ Ух € X Уу € М8 У1 € 1, N. Если в € 1,Л^, то с3 определяем правилом с8(х,у,1) = (в — 1)2[р(х, а,8) + р(а,8,у)] Ух € М8 Уу € М3 € 1,И. Пусть N = 27; используем пример, в котором |К| = 20 и \М^ = 50 Уj € 1,27. Ниже приведен просчитанный вариант оптимального решения в виде графика перемещений.

Вычисления производились на ПЭВМ с процессором Intel i7-2630QM и 8Гб оперативной памяти, работающей под управлением Windows 7. Время счета 1 ч. 1 мин. 14 сек.

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

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

2. Ченцов А.Г. Экстремальные задачи маршрутизации и распределения заданий: вопросы теории. Москва-Ижевск: РХД. 2008. 238 с.

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

A. G. Chentsov, P. A. Chentsov

Dynamic programming in a nonstationary route problem

The variant of the dynamic programming method (DPM) is constructed for solving the route problem about megalopolis visiting with the singularity in the form of nonstationarity of permutation and (interior) works. The preceding conditions are given. Additive variant of the input aggregation is investigated.

Keywords: route, preceding condition, Bellman function.

Mathematical Subject Classifications: 93A10, 93A30, 93A99

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

Chentsov Aleksandr Georgievich, Doctor of Physics and Mathematics, Corresponding Member, Russian Academy of Sciences, Head of Department, Institute of Mathematics and Mechanics, Ural Branch of the Russian Academy of Sciences, ul. S. Kovalevskoi, 16, Yekaterinburg, 620990, Russia

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

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