Математические модели и алгоритмы построения допустимых и оптимальных маршрутов движения и доставки грузов

У

правление сложными технологическими процессами и производствами

УДК 651/689

МАТЕМАТИЧЕСКИЕ МОДЕЛИ И АЛГОРИТМЫ ПОСТРОЕНИЯ ДОПУСТИМЫХ И ОПТИМАЛЬНЫХ МАРШРУТОВ ДВИЖЕНИЯ И ДОСТАВКИ ГРУЗОВ

Ю.А. Зак

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

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

ВВЕДЕНИЕ

Построение эффективных маршрутов движения транспортных средств, обеспечивающих с наименьшими затратами времени и средств доставку грузов в установленных объемах и в определенные договорными обязательствами сроки, — одна из важнейших задач транспортной логистики [1, 2]. Оптимальным считается маршрут, по которому возможно доставить пассажиров или груз в кратчайшие сроки и предусмотренные графиками поставки сроки с минимальными затратами времени или стоимости.

Рассматриваемая в работе проблема относится к классу задач Vehicle Routing Problems with Pickup and Delivery (VRPD), в которых рассматривается осуществление адресных доставок одного или нескольких видов грузов некоторому числу потребителей с пунктов производства, хранения или распределения грузов. Средства доставки транспортные средства — (ТС) ограниченной грузоподъемности могут состоять из одного или нескольких видов машин с различными техническими ха-

рактеристиками. После выполнения заданий все ТС должны вернуться в свой начальный пункт базирования. В частных случаях рассматриваются дополнительные проблемы, связанные с необходимостью возвращения остатков грузов от потребителей в пункты их получения (депот). В задачах Vehicle Routing Problems with Time Windows (VRPTW) предусмотрены дополнительные ограничения на временные окна приема грузов для некоторого числа или всех потребителей. В самом общем случае эти задачи могут иметь несколько целей, как например, выполнение всех заданий в кратчайшие сроки, минимум используемых и необходимых ТС, минимизация общего времени работы всех ТС в пути, минимизация суммарного времени ожидания обслуживания всех ТС (из-за наличия временных окон), а также суммарного расстояния поездки и др. В литературе описаны различные постановки задач данного класса (см., например, работы [3—21]). Основное внимание при этом уделялось постановкам задач, в которых груз в установленном объеме, не превышающем грузоподъемности транспортного средства (ТС), из

одного и того же пункта (депот) одной или несколькими идентичными м ашинами д олжен быть доставлен некоторому множеству потребителей. В частных случаях рассматриваются задачи с одним местом приема грузов, одним ТС (которые сводятся к обобщенной задаче коммивояжера), ситуации, когда потребности каждого потребителя могут быть удовлетворены одной поставкой. Математическая модель задачи в такой постановке аналогична известной в литературе задаче Job-shop scheduling with sequence-dependent setup times [15].

Авторами рассматриваются математические модели сформулированных проблем в виде моделей целочисленного линейного программирования большого размера с двух- или трехиндексным обозначением переменных [9, 11, 17] и построения допустимых экстремальных путей на графе [7, 17, 21].

Задачи VRPD и VRPTW относятся к классу NP-сложных проблем. В качестве точных методов рассматривались методы динамического программирования и модификации метода ветвей и границ (Column Generation) с использованием препроцессоров и процедур декомпозиции [18, 20]. На практике большое число клиентов и сложная система ограничений не позволяют получить точное решение задачи. В связи с этим много публикаций посвящено разработке эвристических алгоритмов решения задачи в комбинации с методами разбиения множества пунктов на кластеры, применением методов декомпозиции, случайного поиска и генетических алгоритмов [8, 12, 18]. Определенный интерес представляют следующие подходы: маршрут образующие и улучшающие маршрут процедуры, Savings-Heuristik [12], PSO — алгоритм оптимизации роя частиц [13], алгоритм ASC [14], MCPSO [11] и др.), генетические алгоритмы [16], а также алгоритмы направленного случайного поиска (Tabu-Search [10], поиск с запретами [19]), реализация одностороннего ветвления в методе ветвей и границ. При решении задач применялись препроцессоры, позволяющие упростить граф взаимосвязей между пунктами, исключив заведомо неэффективные и недопустимые в смысле выполнения ограничений связи, а также определить наиболее ранние и допустимые самые поздние времена выезда из пунктов [14, 17], а также методы кластерного анализа [20]. Главной проблемой при этом было получение допустимого решения. При этом не приводились оценки точности полученного решения. Эффективность предлагаемых подходов подтверждалась результатами вычислительно -го эксперимента.

В отличие от известных публикаций, в данной работе предлагается другая постановка задачи, предусматривающая такие особенности:

— груз одним или несколькими одинаковыми или различными по грузоподъемности и техническим характеристикам типами ТС может доставляться каждому из множества потребителей из различных пунктов приема груза; начальный пункт может не совпадать с местом приема грузов;

— большие объемы поставок при ограниченной грузоподъемности ТС могут требовать выполнения нескольких маршрутов между соответствующей парой пунктов;

— одновременная загрузка ТС грузами для различных потребителей недопустима;

— учитываются затраты на погрузку и разгрузку груза;

— временные окна могут быть заданы не только для доставки, но и для приема грузов.

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

1. ПОСТАНОВКА ЗАДАЧИ И МАТЕМАТИЧЕСКАЯ МОДЕЛЬ

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

маршрутов движения ТС в условиях, когда задано

Т1

некоторое подмножество пунктов 3 приема и подмножество пунктов 32, куда необходимо д оставить груз. Транспортное средство должно выполнить

некоторое множество заданий к е К = {1, 2, ..., К}. Задано множество пар пунктов приема и доставки

грузов для каждого задания П = {п1, ..., %к, ..., пК},

где пк = (к ук), ¡к е 3]к е 32; а также времена и (или) стоимости переезда ТС между каждой парой пунктов транспортной сети. Каждое из заданий заключается в том, что ТС должно взять груз в за. т 1

данном пункте I е 3 и доставить его в некоторый

фиксированный пункт из подмножества у е 32. Грузоподъемность ТС позволяет выполнить каждое из заданий множества К. Одновременное выполнение двух или нескольких заданий недопустимо. Условиями задачи м огут предусматриваться

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

71

ки и загрузки груза в подмножествах пунктов 3

~ 2

и (или) / . Это множество заданий может выполняться одним или несколькими видами одинаковых или различных по техническим характеристикам ТС. Необходимо найти маршруты доставки грузов каждого ТС, обеспечивающие выполнение всех ограничений задачи и минимизирующие суммарные затраты средств на выполнение всех заданий.

Автору не известны постановки и методы решения рассматриваемого класса задач в условиях заданной системы условий и ограничений. В отличие от известных задач коммивояжера [22] и N коммивояжеров [23], в общем случае, не существует решения задачи в виде замкнутых гамильто-новых маршрутов, так как ТС придется заезжать в некоторые пункты более чем по одному разу. Также в некоторых случаях необходимы простои ТС до нижней границы допустимого времени обслуживания пункта.

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

Транспортное средство должно доставить грузы от некоторого подмножества производителей и

складов дистрибьютеров / подмножеству потре-

7 2

бителей / . Общее число пунктов загрузки и разгрузки ТС, включая начальный пункт (депот) рав-

7 7 1 ~ 2

но (п + 1) — I = (/ и / ) = {/ = 0, 1, ..., п}. Каждое из заданий заключается в том, что ТС должно

• 71

взять груз в заданном пункте I е 3 и доставить его в некоторый фиксированный пункт из подмно-

7 2

жества ] е / . Необходимо выполнить некоторое

множество заданий к е К = {1, 2, ..., К}. Если грузоподъемность ТС не позволяет выполнить какое-либо из рассматриваемых заданий, то последнее представляется в виде нескольких, объемы поставок которых могут быть различными. Одновременное выполнение двух заданий, т. е. загрузка ТС двумя видами грузов, недопустима. Следовательно, все задания д олжны выполняться последовательно друг за другом. В начальный момент времени ТС находится на базе (/ = 0), на которую должно вернуться при завершении выполнения всех перевозок. Грузы могут перевозиться одним или несколькими одинаковых или различных по техническим характеристикам ТС. Могут быть заданы различного вида ограничения на времена выполнения отдельных заданий.

Пусть заданы пары пунктов погрузки и доставки грузов для каждого из К заданий: (7(к) = (¡к, .), где Iк — индекс пункта, в котором принимается груз, а ]к — индекс пункта, куда он должен быть

доставлен; т+ и т- — время, необходимое для загрузки товара в пункте к и выгрузки груза в пункте ]к при выполнении к-го задания, тк = т+ + т- — суммарные потери на погрузку и выгрузку грузов при выполнении к-го задания; С = ||с;, || и Т = ||,

" У

I, . = 0, 1, ..., п — соответственно матрицы стоимости и времени переезда ТС между пунктами.

Кроме того, для некоторого подмножества заданий могут быть заданы: Н 1(к) е [ Н1Ы, Н2Ы ],

Н2(к) е [ к\., И2к. ] — соответственно промежутки времени, в которые необходимо принять груз в пункте Iк и доставить его в пункт .к.

Рассматриваются следующие задачи транспортной логистики.

Задача 1. План перевозок осуществляется одним ТС. Не существует никаких ограничений на времена прибытия в пункты приема и доставки грузов. Необходимо найти маршрут движения ТС, обеспечивающий минимальные затраты времени или стоимости выполнения всех заданий.

Задача 2. При выполнении плана перевозок одним ТС заданы различного вида ограничения на сроки выполнения отдельных заданий: граничные сроки завершения выполнения, временные окна приема или доставки грузов в некоторое подмножество пунктов и др. Необходимо найти расписание выполнения всех заданий, обеспечивающее минимальные затраты времени или стоимости выполнения всех заданий.

Задача 3. Все задания выполняются М одинаковыми по техническим характеристикам ТС. Ограничения на времена выполнения отдельных заданий отсутствуют. Необходимо определить непересекающиеся подмножества заданий, выполняемых каждым из ТС, а также маршруты движения каждого из них, обеспечивающие минимальные затраты времени или стоимости выполнения всех заданий.

Задача 4. Все задания выполняются М различными по техническим характеристикам ТС. Зада-

ны тк и т

ч

тк = т+ + т- , а также Cm = \\cm\\ и

Тт = || ^ ||, ¡, ] = 0, 1, ..., п, для каждого типа ТС,

т = 1, ..., М. В условиях, когда заданы различного вида ограничения на сроки выполнения отдельных заданий и времена работы каждого из ТС, необходимо определить непересекающиеся подмножества заданий, выполняемых на каждом из ТС, а также маршруты движения каждого из них, обеспечивающие минимальные затраты времени или стоимости выполнения всех заданий. ♦

Определим время, необходимое ТС для завершения выполнения к-го задания при переезде из пунк-2

та ]к - 1 е 3 приема груза после выполнения стоя-

1)-го за-

щего в последовательности перед ним (к -дания:

gl -1, к = тк + t(Jk - 1' к + *Ик> к

где 1(1к, ]к) — время двоения ТС из ¡к-го пункта приема до ]к-го пункта доставки груза к-го задания, ]к - !, ¡к) — время двоения ТС из ]к - х-го пункта доставки (к - 1)-го задания до ¡к-го пункта приема груза к-го задания.

Время, необходимое ТС для прибытия в ¡к-й пункт приема груза при выполнении к-го задания после прибытия в ¡к - х-й пункт, и время до выполнения (к — 1)-го задания соответственно

2 3

Ук - 1, к = К]к - 1, ¡к), Ук - 1, к = = Тк- 1 + К'к - Р ]к - 1) + ] - Р ¡к).

Пусть на некотором 5-м этапе решения задачи выполнено подмножество заданий К" и построена

подпоследовательность доставки грузов в под-

Т2,"

множество пунктов 3 , которую назовем 5-м частичным планом. Обозначим: /2" — подмножество оставшихся пунктов доставки грузов в 5-м частичном плане; л — подмножество невыполненных заданий; (к - 1) — индекс последнего задания в

т2 " т2 5

подпоследовательности 3 ; Д3 ' ) — функция цели этого частичного плана (стоимость или время завершения выполнения этих заданий).

Нижние границы времен завершения выполнения следующего к-го, к е 32,", стоящего первым

Т2 ,"

после этой подпоследовательности 3 , задания: — на начальном этапе решения

%(gl,к) = min[Тк + jk) + j(0, к)],

к е K

glj) = min [Тк + ti/к) + tß(l, к)];

к е K

gl, к) = min 4(0, к), g\ i) = min 4(l, к);

к е K к е K

— на некотором 5-м этапе решения некоторого l е K5 -го подлежащего выполнению задания

gl, i) = min [Тк + t(i, j) + i)],

к е K

gl, i) = min (4, i).

к е k

Значения этих параметров будут использованы в дальнейшем для оценок возможности выполнения ограничений на допустимые ранние сроки прибытия в пункты назначения и поздние сроки завершения выполнения заданий. Отметим, что наличие ограничений на ранние сроки прибытия в

некоторые пункты (значения h]ii, h\j) могут привести к некоторым потерям, связанными с простоями ТС (8ki и 8kj), которые должны быть учтены в выражениях (1) и (2).

Пусть последовательность выполнения заданий ТС имеет вид

W = {w0, w1, ..., wk, ..., wK, w0}.

Время завершения первого стоящего в последовательности W задания определяется выражением

gl, к = Тк + t(0, к) + t(ik, jk).

Время, необходимое после прибытия в пункт приема груза последнего стоящего в последовательности V задания к до прибытия в пункт 0-й базирования ТС, определяется выражением

2 3 -

Чк, 0 = ^¿^ Чк, 0 = тк + ^¿^ 0) + Кк .к).

Суммарное время, необходимое для выполнения всех заданий, выполняемых в последовательности (3), определяется выражением

Ф) = ч0, ^ +

+

I

-1, ^ + I

(»Э - 1, »Э)е {Ш/(w°, №1)}

к = 1

М

^1, ..., Жт, ..., Vм) = Ц д^ 0 +

+

I

(<- 1, <)е{^/( V™, 0

2

т= 1 [ Кт Кт

4 т т + I б™ \ ;

»Э - 1' »Э к = 1 ]

— минимизации времени завершения выполнения всех заданий:

F¡(W\ ..., , ..., IVм) = тт тах { д т 1 т = 1,..., М I 0,

т

+

+

I

1

К

4 т т + I

, т т. ,7,,т т., »Э -1 »Э к = 1

(»Э - 1, »Э)е {V /(0, »1 )}

+ !ет \,

или

T(V) = чК, 0 +

+ I7

(»э -1, »Э) е { V/(»0)}

- »э

К

+1 бк, к = 1

т-г т7гт т7гМ. I 2

г2(Ж , ..., V , ..., V ) = тт тах { д т +

+

I

К

, т т . I ттлт / т ^ (»э - 1. wЭ)е{V ^^ 0

д т т

»э -1, »э к = 1

+ !ет \.

где ек = ек + е.к и ек — суммарное время простоев из-за ожидания допустимого времени начала обслуживания при выполнении к-го задания на одном и на т-м ТС; {V/(»0, »1))}, {V/(»К, »0))} — соответственно множество пар заданий из последовательности (3) за исключением пар (»0, »1)) и

»0).

В дальнейшем ограничимся рассмотрением только критериев минимизации времени выполнения всего множества заданий в виде (4) или (5).

Если грузы доставляются несколькими видами ТС и определены м аршруты д вижения каждого ТС

т7г" I т т т л

V = {»0, »1 , ..., »к , ..., »Кт , »()},

т = 1,

М,

где Кт — число заданий, выполняемых т-м ТС, то критерий оптимальности расписания выполнения заданий может быть представлен в виде:

— минимизация суммарного времени выполнения всех заданий всеми ТС:

М

1, ..., Жт, ..., Vм) = I I д0 т +

1 , 0,

+

I

1

К

д т т

, т т. ,7,,т„п т., »Э -1 »Э к = 1

(»Э - 1, »Э)е {V /(0, »1 )}

+ I ет ,

Обозначим Т[»¡^], Т[м^^] — соответственно время первого и последнего посещения 1-го

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

Т [ ] > к\; Т [ ъ^ф ] < к].

Назовем V = {0, ¿1, ¿2, ..., ¿", ..., ¿р} — некоторый частичный маршрут движения ТС, для которого определены подмножества пунктов 3 и

Т 2, " т"

3 ; Ь = 1р — последний пункт 5-го частичного

плана в подпоследовательности V"; е( V") — время завершения всех заданий в конечном пункте

в м аршруте V", и этот маршрут должен быть продолжен дальше из этого пункта.

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

2. ОЦЕНКИ ДОПУСТИМОСТИ И КРИТЕРИЕВ ОПТИМАЛЬНОСТИ ЧАСТИЧНЫХ ПЛАНОВ. ПРАВИЛА ОТСЕВА БЕСПЕРСПЕКТИВНЫХ ПРОДОЛЖЕНИЙ

Преобразуем матрицу Т = || размерностью

]

(п + 1) в квадратную матрицу или матрицу Ов = = || р ||, к, р = 0, 1, ..., К, р = 1, 2, размерностью

(К + 1), где значения я! р вычисляются по формулам (1), а я1 р, — по формулам (2). Как правило, (К + 1) < (п + 1), т. е. число всех пунктов сети превышает число пунктов приема грузов. Обозначим О15 = || я!,р ||, О2'5 = || р ||, — соответствен-12

но матрицы О и О на некотором 5-м шаге преобразования. Размерность матриц О15 и О 25 равна K5' < (К + 1). При этом для 5 = 0 справедливо

О10 = О1, О20 = О2.

Определим

в, 5/пч • в, 5 -в, 5 р, 5 в, 5

8к (0) = т1п Як,р, Як,р = Якр - 8к (0),

0 < р < К5

Р = 1, 2, к = 1, ..., К5

-в, 5,_ч . -в, 5 р, 5 _в, 5

?р (0) = т1п як, р, ¿к, р = Як, р

0 < к < К5

-в, 5

(0),

в = 1, 2, к = 1, ..., К5. В полученных матрицах О15 = ||¿¿р ||,

О2,5 = 5

в каждой строке, а в матрицах Б15 или Б2 5 — в каждой строке и в каждом столбце содержится по крайней м ере по одному элементу, значение которого равно нулю.

Определим сумму всех приводящих констант матриц О1,5 и О2 5:

Aв' 5 = ¿«в5

к = 1 р = 1

выбрано, что 9-е задание выполняется непосредст-

- 25 -2,5

венно перед заданием ц, где 3 е 3 и ц е 3 .

Преобразованием 2 назовем выполнение следующих вычислений:

— в матрицах Б15 или Б2 5 вычеркиваем 9-ю строку и ц-й столбец;

1 , 5 2, 5

— элемент а9ц или а9ц матриц полагаем стремящимся к бесконечности;

— выполняем преобразование 1 вновь полученных матриц.

Пусть на некотором этапе решения задач 1 и 2 построен ч астичный маршрут выполнения заданий

W = {^0, w1 ..., wk, ..., w }.

Утверждение 1. Нижняя граница функции цели решения задач для 5-го частичного плана решения задач 1 и 2 (выбора очередной пары выполняемых друг за другом заданий) определяется выражением

%{Т [V ]} = я0, ^ +

I

(w9 _ 1, w9)е {^/(w0, w1)}

- 1, ^

+

К

+ 1Тк + Aв' 5, в = 1, 2. ♦

к = 1

Здесь и в дальнейшем V /^0, w1) — последовательность V5, в которой исключена соответствующая пара пунктов (в данном случае w1)).

На начальном этапе решения задачи нижняя граница функции цели задачи рассчитывается по формуле

%{Тф)} = Ав 5, в = 1, 2.

Преобразуем матрицы Оm' , 5 = ||Ят,р'51| или

0т, 2, 5 и т, 2, 5 и 7^5

= || Як р || размерностью К каждая следующим образом

Преобразованием 1 назовем преобразование мат' или О в матрицы О ' , Б ' и О ' , Б' по формулам (10), (11).

Отметим, что преобразование 1 выполняется на начальном этапе решения задачи 1 или 2 при 5 = 0,

Пусть на некотором шаге решения задачи в 5-м частичном плане, когда осталось под-множество

„ - 2, 5

невыполненных заданий 3 , которые отражены в матрицах О1'5 или О2'5, в качестве альтернативы

в, 5• • т, в, 5

8к (0) = ,т1п „шпиЯк,р ,

1 < т < М 0 < р < К г

в = 1, 2, к = 1, ..., К5;

-т, в, 5 _ т, в, 5 _ в, 5 Як, р Як, р 8к ,

в = 1, 2, к, р = 1, ..., К5, т = 1, ..., М;

-в,5/пч • • -т, в,5

8р (0) = тш тт 5Якв ,

р 1 < т < М 0 < р < к р

,т, в, 5 -т, в, 5 _в, 5

¿к,р = Якр - 8р

р

62

СОМТЯОЬ Б^ЕМСЕБ №5 • 2016

ДР''

Ks

к

= Z ¿"^ s (0) + I gmpß s (0),

к = 1 m = 1,

p = 1 M, ß = 1, 2.

Преобразованием 3 назовем преобразование мат-

Öm, 1, s I m, 1, s и r\m, 2, s \ m, 2, s и

' ' = \Чк,р II или Q ' ' = |qk p || в матри-

цы G

m, ß, s m,ß,s

II и Dm'ßs = s||, ß = 1, 2,

т = 1, ..., М, в результате вычислений по формулам (16)—(18).

В результате преобразования 3 в каждой строке и каждом столбце, хотя в одной из матриц Бт'" или Бт' 2'" содержится элемент, равный нулю. Сумма приводящих констант преобразования 3 определяется также по формуле (19).

Если на некотором этапе решения задач 3 и 4 построены частичные маршруты выполнения заданий на всех видах ТС

TjVm's < m, s m, s

W = {w0 , w

0 , w1 , ..., wk , ...,

m, s Wjm, s },

т = 1, ..., М.

Утверждение 2. Нижняя граница функции цели

РАЖ , ..., V, ..., V ) решения задач на каждом "-м этапе решения задач 3 и 4 (выбора очередной пары выполняемых друг за другом заданий на одном из

ТС, т. е. (", к), к е К"' ) определяется выра-

жением

1 s, ..., ]} = I j qmw +

ß, M, s

M

m = 1

+

Zm.

(ws _ ^ ws) e {W ' /(w0, w1)}

qm;ß,1s, w8 + I 0ws| +

+ Д^s; ß = 1, 2. ♦

На начальном этапе решения этих задач нижняя граница функции цели задачи рассчитывается по формуле (15). Для критерия оптимальности (8), (9) нижняя граница функции цели определяется по формуле

Упорядочим все оставшееся подмножество невыполненных заданий Кт ", - на некотором этапе решения задачи в последовательность по возрастанию граничных сроков завершения выполнения этих заданий

и {К" } = {и,, и,, ..., и, ..., и т, | И2. < И2,,

1 ' I 1' 2' 'у' ' ^ и(у -1) V

и е К"-}.

На начальном этапе решения задачи (" = 0) эта последовательность имеет вид

и (= /2) = Ц, И2, ..., ик, ..., иК\Ь2и^к 1) < Н2ик,

u. e к, к = 1, ..., K}.

Определим минимальные значения времен завершения выполнения заданий

gßs = min,s qk!P, ß = 1, 2, к e Ks-.

0 < к < 1С '

Пусть не некотором этапе решения задачи построен частичный маршрут выполнения заданий

(13) — к e Ws, X = w s — индекс задания, выполняемого в этой последовательности последним. Время завершения этой последовательности заданий определяется по формуле

T [Ws ] = q0, w1

+

I

qws - 1' ws '

(ws -1, ws)e {W ' /(w0, w1)}

Утверждение 3. Если для частичного плана V и подмножества подлежавших выполнению заданий

к е /" справедливо хотя бы одно из системы неравенств

Т[V"] + д1и" ,и1 > <;

Ь"(р) 1 1

T[W] + q«s,U1 + I,Ups- 1,P > hl,

L p = 2

r = 2, 3, ..., Ks,

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

wse K

ß, m, s

§{F2[ W ' , m = 1, ..., M]} = max

min

1 < m < M

max

1 < m < M

m, ß .

q0, WW1 +

(ws -1, ws)e [W"'s/(w0, w1)}

K

m, ß, s , ^ ,

q- -1, w8 +

»=1

1 7 ß, s + ^ ;

m, ß .

q0, W1 +

m, ß, s qws -1 ws

(ws _ 1, ws)e {W ' /(w0, w1)} ß = 1, 2.

Доказательство подобных утверждений можно найти в работах автора [3, 4, 24, 25].

Рассмотрим две подпоследовательности выполнения заданий V5 и V5, содержащие соответственно К5 и К5 подмножества заданий. Пусть последним в каждой из этих подпоследовательностей стоит одно и то же задание w9, и времена выполнения этих подпоследовательностей соответственно равны Т [V5 ] и Т [V5 ].

Правило отсева неоптимальных продолжений 1. Если для двух подпоследовательностей выполнения заданий V5 (р) и V5 (X) выполняются условия

Ks с K5 и t[W5] m t[W5],

то подпоследовательность V является предпочтительней подпоследовательности V5 и последняя может быть исключена из рассмотрения как неперспективная.

3. АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ 2 МОДИФИЦИРОВАННЫМ МЕТОДОМ ДИНАМИЧЕСКОГО ПРОГРАММИРОВАНИЯ

Построим на основе матрицы Т = Ш| размер]

ностью (п + 1) квадратную матрицу О1 = || Як р || или О2 = || Як р ||, к, р = 0, 1, ..., К, размерностью (К + 1), где значения Як,р вычисляются по формулам (1), а

Як р — по формулам (2).

Задача 1 решается с помощью алгоритмов решения задачи коммивояжера [22] с матрицами О1 или О , подробно описанных в работах [3—6], поэтому в настоящей статье на этом подробно останавливаться не будем.

В процессе решения задачи 2 модифицирован -ными методами динамического программирования [26] и последовательного анализа вариантов производятся построение, анализ различных д опусти-

мых и конкурирующих маршрутов V" движения ТС, начиная с начального пункта I = 0, и развитие перспективных м аршрутов до получения наиболее эффективного решения. В ходе построения производится отсев неперспективных частичных планов. На каждой итерации алгоритма (5 = 0, 1, 2, ..., которая состоит из нескольких шагов, развивается перспективный план с наименьшим значением длины или нижней границы функции цели. Этот частичный план продолжается включением в м ар-

шрут движения ТС одного из оставшихся альтернативных невыполненных заданий к е K5 , не

включенных в подмножество W5 пунктов достав-

~ 25

ки грузов j е J . Затем на основе правил (25) проверяется допустимость рассматриваемых альтернативных продолжений, осуществляются отсев неперспективных маршрутов на основе правил предпочтений (26) и переиндексация всех частичных планов. Первый д опустимый план перевозок, значение критерия оптимальности которого меньше или равно значению суммарных затрат любого из конкурирующих и не продолженных до конца частичных планов, является решением задачи.

Приведенные в § 2 системы оценок и правила сравнения альтернативных частичных планов позволяют на ранних стадиях решения задачи отсеять строящиеся м аршруты, не содержащие д опустимых и оптимальных решений. Тот факт, что на каждой итерации развивается только строящийся маршрут с наилучшим значением функции цели, позволяет исключить анализ заведомо неоптимальных м аршрутов.

Алгоритм 1. Метка каждого развивающегося

частичного плана W5 содержит параметры: W5 = = {w0, w1, ..., wk, ..., w s} — подпоследовательность

выполняемых заданий; T [ W5 ] — время завершения выполнения этой подпоследовательности; w 5 —

индекс пункта задания, выполняемого в этой последовательности последним J25 и Js' — соответственно подмножество заданий, входящих и не

включенных в последовательность W5; §{ T [ W5 ]} — нижняя граница функции цели частичного плана

W5; т+ и т- — соответственно время погрузки и

разгрузки грузов k-го задания, т+ + т- = Тк;

W5} — параметр, определяющий, продолжен ли этот маршрут во все допустимые пункты —

W5} = 1 или нет — W5} = 0, при W5} = 2 маршрут исключен из дальнейшего рассмотрения как недопустимый или как неоптимальный.

Пусть на некотором этапе решения задачи полу-

~ Г

чено Z , r = 1, ..., R, допустимых маршрутов решения задачи, функции цели которых соответственно

равны F( Zr), среди них F (ZR) = min F( Zr) —

1 < r < R

наилучшее среди всех полученных на данный момент решений задачи. В начале процесса решения

(" = 0) формируем для частичного маршрута V параметры начальной метки:

V0(0) = {0};

/ 20 = 0; /"'- = К = {1, 2, ..., к, ..., К};

T[W ] = 0;

K

mW )} = I qk 1, к), F (Z ) = »; y{W } = 0.

к = 2

Шаг 1. На каждой итерации алгоритма выполняем следующий объем вычислений. Среди всех частичных планов (s = 0, 1, 2, ..., S) выбирается

ттП

частичный план U , для которого

T[Wп ] = min {T[Ws ]|y(Us) = 0}

0 < s < S

или ]} = min {^{T\WS]}|y(Us) = 0}.

0 < s < S

Упорядочим все пункты приема и д оставки гру-

,п, - гтП , гs, -,

зов J в последовательности U {J } в соответствии с выражениями (22) или (23). Вычислим минимальные значения времен завершения выполнения заданий gUпо формуле (24). Переходим к шагу 2.

~ п

Шаг 2. Рассматриваем частичный план W , последнее выполненное задание для которого — задание X = w^ . Для X-го и каждого задания

к e K1 находим пары пунктов приема и доставки грузов nX = (iX, jX) и пк = (ik, jk). Определим

T [Wп ] = max{T[Wn ] + j ik), hl}.

Среди подмножества заданий к e K1 находим такие, для которых выполняется система неравенств:

T [Wn ] + q£ П < hij, T [Wn ] + Й < h2ki,

к e Ü4 {K1 "};

T [Wn] + q1 п + I qj,n ) < hj,

l e {K1 / к}

T [Wn ] + q2, п + I 5( q?i л) < h?i,

l e {KT " /к}

l e Ü1 {K1 }, l = 1, 2, ..., K11, l ф k. Пусть это будут подмножества заданий к e e K1 с K и пунктов j e J1 с J .

а. Если /1 = 0, т. е. таких пунктов не сущест-

ттП

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

б. Если ф 0, то для каждого из пунктов,

т П —

¿к е (/1 /X), к = 1, ..., К(п), где К(п) — число заданий этого подмножества, определяем:

Т[V8 + к] = Т[V11 и ¿к] = тах{ Т [Vп ] + д2 к; Н1и}, Т [V8 + к ] = Т и (¿к, .к)] =

7 П — 12

= тах(тах{ Т[V и ¿к] + ~тк + /(¿к, /к); Ны}; ), к = 1, ..., К(п).

в. Полагаем у(ил) = 1. Производим переиндексацию всех оставшихся для рассмотрения подмножеств и вычисляем нижние границы функции цели для них по формулам (14). Переходим к ш агу 3.

7 П

Шаг 3. Продолжаем частичный план V во все

т П —

пункты подмножества ¿и^ е (/1 /X). При этом

метка каждого из продолженных путей формируется следующим образом:

V8 + к = {0, иП , иП , ..., ип, ..., иП, ик};

ик; Ф8+ к), " + к = (8 и ик);

+к)]; уф8 +к) = 0.

Сравниваем каждый вновь полученный ч астич-ный план со всеми ранее построенными перспективными планами. Если для некоторой рассматриваемой пары маршрутов выполняются условия правила отсева неоптимальных продолжений 1, то соответствующий неперспективный частичный

план исключается из дальнейшего рассмотрения,

8

т. е. метка его V ) полагается равной 2.

Если для некоторого частичного плана выпол-

~8 + к ~

няются условия К = К , то получено допустимое решение задачи. Полагаем у(Ж8 + к) = 1 и вычисляем время выполнения всего комплекса работ с учетом возврата ТС в нулевой пункт

F(V8 +к) = ф8+ к) + /(/к, 0),

F(WS + к) = T(W + к) + j

jk,(

~ ^ + к — _Я — _Я

Если ¥(№ ) < ¥(2 ), то полагаем ¥(Z ) =

ЕУ т+ к \ Т!^ + к

= ¥( № ), запоминаем этот маршрут 2 = № и переходим к шагу 4.

Шаг 4. Исключаем из дальнейшего рассмотрения все продолженные на этой итерации маршрута/ 5 + Г)

ты № , для которых справедливо неравенство

квадратные матрицы (2т'в = ||II, Р = 1, 2; к, р = 0, 1, ..., К, размерностью (К + 1), где значения дтр вычисляются по формулам (19)—(21).

Решение задачи 3 с критериями оптимальности (6)—(9) может быть получено методом ветвей и границ с помощью алгоритмов решения задачи М

т, в

T[W^S +r) ] > ¥( ZT) или §{T [WS +r) ]} > ¥( ZT) по- коммивояжеров с матрицами Qm,в описанными

ложив для них y(W(S r)) = 3. Производим переиндексацию всех перспективных частичных пла-

S

нов, для которых U ) = 0, пронумеровав их индексами s = 1, ..., S.

Если выполняются условия

¥

1 < s < S

то маршрут ZR со значением функции цели, равным ¥ (ZR), является решением задачи, и алгоритм завершает работу.

Если S ф 0 и условия (27) не выполняются, то

_ ~ R

переходим к шагу 1. Если S = 0 и ¥(Z ) = да, то не существует допустимых решений задачи, и алгоритм завершает работу.

Через некоторое ч исло итераций алгоритма будет либо найдено оптимальное решение задачи, либо установлен факт, что исходная система ограничений задачи является несовместна.

В Приложении приведены иллюстративные примеры решения задач 1 и 2.

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

пока значение T [WS + k ] остается лучше рекорда.

4. РЕШЕНИЕ ЗАДАЧ 3 И 4 ПОСЛЕДОВАТЕЛЬНЫМИ АЛГОРИТМАМИ ОПТИМИЗАЦИИ

Построим для каждого ТС, m = 1, ..., M, на основании матриц Tm = || t™, || размерностью

например, в работе автора [23]. Оценка оптимального значения критерия оптимальности для каждого подмножества вариантов при этом вычисляется по формулам (20) и (21).

Алгоритм решения задачи 4 строится на основе модифицированных методов динамического программирования и последовательного анализа вариантов и состоит из д вух этапов. При этом могут быть заданы ограничения на время работы ТС:

Т[№т5] < Н1, т = 1, ..., М. На первом этапе решения для каждого из ТС, т = 1, ..., М, описанным выше алгоритмом 1 строятся д опустимые и эффективные частичные маршруты с отсевом недопустимых и неэффективных планов. На втором этапе анализируются различные варианты объединения различных допустимых объединений частичных маршрутов всех или некоторого подмножества машин в общий план выполнения всего комплекса заданий и выбирается среди этих допустимых объединений план, обеспечивающий оптимальное значение критерия эффективности.

Рассмотрим некоторые свойства таких допустимых объединений, а также правила их сравнения и отсева бесперспективных продолжений.

Правило 1. Для двух частичных планов 5 и

5

№ , содержащих подмножества выполненных за-

„ г2, т, 5 ц, 5

даний 7 и 7 соответственно, объединение

"" т 5 ~ Ц 5

в допустимое расписание № , № ' } возмож-

!2 , т,5 !2 , Ц , 5

но, если 7 П 7 = 0.

Правило 2. Если для некоторого объединения

частичных м аршрутов Q {W , где P < M, выполнены условия

W

W

},

~2, m„s

J

П J

-2, m„

= 0, r ф p, r, p = 1,

p ~ mp ,s

U K p = K, p = 1

то получено допустимое расписание выполнения всего комплекса заданий на М машинах, значение критерия оптимальности которого вычисляется по формулам (6), (7) или (8), (9).

m. s

m. s

m n. s

2

Правило отсева. Если для двух допустимых объ-

1 , ^г!

m,, s ~ m-,, s

единений частичных планов Q {W , W , ...,

, 2 ~ mi, р ~ m2, р

mp р

W } и Q {W , W , ..., W }, для которых

~2 „ i P ~2, mp,s -2 ~2 P ~2, mp, р

J(Q1) = U J Р и J(Q2) = U J p ,

p = i p = i

справедливы условия

J

и F( Q1) < F>( Q2),

где а = 1 или 2, М (О) — подмножество м аршрутов ТС, которые включены в соответствующее объединение,

и одно из этих условий выполняется как строгое соотношение, то объединение О1 более предпочтительно, чем объединение О2, и последнее может быть отброшено как неперспективное. При построении различных вариантов объеди-

-г

нения последовательностей О выполнения заданий и включении в это объединение следующего ТС г-я метка строящегося объединения г = 1, ..., Я содержит признаки:

N1 — номер ТС, включаемого в объединение

7г Ттг I лтг, 1 лтг, 2 »т-г, т ЛТг, Мл

О ; N2 = {N2 , N2 , ..., N2 , ..., N2 } — номера меток каждого ТС, включаемого в объединение Ог.

Отметим, что если N2 т = 0, то подмножество и последовательность заданий, выполняемых на т-м

~ г ~ г ~2 ~ г

ТС, не включены в объединение О ; К = Л (О ) — подмножество выполненных заданий в объединении Ог; М (Ог) — подмножество ТС, маршруты

г г т1, "

которых включены в объединение О ; О {V ,

7 т^ " 7 тр,"

V , ..., V } — последовательности выполнения заданий на каждом ТС в объединении Ог; 5г — номера включаемых в объединение Ог ТС; Иа( Ог),

Ог)], где а = 1 или 2 — соответственно значение критерия оптимальности и нижней границы функции цели для объединения подпоследова-

гг

тельностей в О ; N2 — возможность и перспективность продолжения Ог. При этом N3 = 0, если данное объединение последовательностей может

быть продолжено, и N3 = 1 — если объединение

г

О уже продолжено во все возможные направления, N3 = 2, если Ог исключено из рассмотрения

как неперспективное, N3 = 3, если получено до-

~ г ~ 2 ~ г ~

пустимое решение задачи, т. е. К = Л (О ) = К.

Рассматриваются только допустимые и перспективные метки последовательностей выполнения заданий на каждом ТС, для которых значение

~ 8 ' V ) = 1. Обозначим через /О™1, где а = 1 или 2,

наилучшие значения соответствующих критериев оптимальности для допустимых расписаний на данном шаге алгоритма. Введем счетчик строящихся объединений Я. В начале процесса решения

полагаем г = 0, О0 = 0, N1 = 0, Л+(О0) = 0,

50 = 0, Га(О0) = 0, № = 0, ^т"1 = ю, а также Я = 0.

Алгоритм 2. Шаг 1. Выбираем некоторую г-ю метку объединения подпоследовательностей, для

которой N3 = 0. Если таких меток не существует, то переходим к шагу 4. В противном случае выполняем следующие вычисления.

1.1. Среди меток ТС с индексом т = (5г + 1) < М,

7 г 7 т1, г 7 т2, г 7 г

для которой О {V , V , ..., V ' }, находим последовательности выполняемых заданий, удовлетворяющие условиям

"} = 1, /2(Ог) П /2(фm,") = 0.

Если таких меток не существует, то 5г := (5г + 1) и снова выполняем п. 1.1.

В противном случае переходим к шагу 2. Если т > М, то переходим к шагу 3. Шаг 2. Полагаем

^ +1,

m, s - m, s

sr, s ~ (s +1), s.

Q {W , W , ... , W , W },

J2(Q(r +1)) = J2(Qr) U J2(Wm's), Sr := (sr + 1).

Вычисляем

F1( Q(r +1)) = F1( Qr) + T [Wm s ], F2(Q(r + 1)) = max s T[Wms].

m e M

Если m < M, то Sr := (Sr + 1) и вновь переходим к шагу 1.

В противном случае (m = M) выполняем следующий объем вычислений.

2.1. Если Jr (Q(r + 1)) = K, то определяем F™0 = = min{F^n; F (Q(r + 1))}, a = 1 или 2.

Далее r := (R + 1), N3 = 3. Переходим к шагу 3

(r +1),

реходим к шагу 1.

2.2. Если Jr(Q(r +1)) с K, то r := (R + 1) и пе-

m п. s

Шаг 3. Для объединения г + Х) и каждого из всех построенных ранее объединений С1Р, р < (г + 1),

для которых ) = 0 или ) = 1, проверяем выполнение условий доминирования (28) в соответствии с правилом отсева. Если более перспективным является Й(г +Х) (Й(г +Х) >- Йр), то полагаем

р\ _ о „—„„ „„„ „—„—,„. „ „ 1.1 Шага 1.

то переходим к шагу 1.

) = 2, после чего переходим к п Если QP > +

Шаг 4. Если Fa ф да, то получено оптимальное решение задачи, и алгоритм завершает работу. Ес-

T-rmin

ли Fa ф да, то допустимых решении задачи не существует, и с соответствующим сообщением алгоритм завершает работу.

Отметим, что в практических расчетах решения задачи по критериям минимизации времени выполнения расписания работ (для сокращения ч ис-ла вариантов на первом этапе решения задачи) могут быть заданы вспомогательные дополнительные

ограничения на времена работы ТС T [ W'" ] < Hm, m = 1, ..., M. Это сократит также объем вычислении в алгоритме 2.

Вычислительные эксперименты. Решались задачи с ч ислом выполняемых заданий 7—15 и числом ТС не более четырех. Число пунктов приема и доставки грузов не превышало 30. Время решения всех задач на персональном компьютере с процессором Core i-5 Intel Core™ i5-4200U четвертой модификации (до 2,6 ГГц) составляло не более 2,5 мин. Наибольшее число анализируемых вариантов и соответственно наибольший объем вычислений наблюдались в задачах без ограничений с небольшими отличиями во временах и стоимости перевозки грузов из одного пункта в другой. Наличие жесткой системы ограничений и большие разбросы во временах и стоимости доставки грузов позволяют уже на первых итерациях алгоритма исключить маршруты, не содержащие д опустимых и оптимальных планов, и существенно сократить число анализируемых маршрутов. В задачах большой размерности при несущественных ограничениях на сроки доставки грузов и небольших отличиях в значениях элементов матриц Cm = || стт ||

и Tm = || tm ||, m = 1, ..., M, могут быть применены приближенные методы решения задачи, использующие в алгоритмах метода ветвей и границ одностороннюю схему ветвления до получения «рекорда» или в методах динамического программирования приближенные правила отсева неперспективных продолжений. Кроме того, в методах динамического программирования используются оценки. Продолжаются ч астичные м аршруты с на-

илучшими оценками и некоторые расписания не доводятся до конца, если получены решения со значением критерия эффективности, лучшим, чем эти оценки.

ПРИЛОЖЕНИЕ

Проиллюстрируем работу алгоритма решения задач 1 и 2 на примере. Матрица времен переезда между пунк-

Таблица 1

Матрица времен переезда между пунктами

Времена проезда между пунктами

№ приема и доставки грузов

0 1 2 3 4 5 6 7 8 9 10 11 12

0 да 10 20 18 30 15 27 35 22 8 17 40 25

1 10 да 14 18 25 36 10 41 24 32 16 20 40

2 20 14 да 36 15 24 23 40 27 16 19 32 21

3 18 18 36 да 20 17 26 8 19 22 25 13 26

4 30 25 15 20 да 18 26 25 11 17 28 30 24

5 15 36 24 17 18 да 9 16 28 15 41 23 10

6 27 10 23 26 26 9 да 15 18 30 12 14 25

7 35 41 40 8 25 16 15 да 36 15 28 12 18

8 22 24 27 19 11 28 18 36 да 25 16 29 32

9 8 32 16 22 17 15 30 15 25 да 14 28 31

10 17 16 19 25 28 41 12 28 16 14 да 9 17

11 40 20 32 13 30 23 14 12 29 28 9 да 25

12 25 40 21 26 14 10 25 18 32 31 17 17 да

Таблица 2

Задания по доставке грузов

Номера и содержание

Параметры выполняемых заданий

1 2 3 4 5 6

Пункты приема груза 1 2 4 7 8 12

Пункты доставки груза 11 6 10 3 5 9

Время погрузки и разгрузки Т к 5 3 6 7 2 4

Граничные сроки выполнения 85 230 185 320 280 130

заданий

Таблица 3

Матрица времен между выполнением двух стоящих в последовательности друг за другом заданий

№ Необходимые затраты времени между выполнением двух рядом стоящих заданий Нулевые значения строк

0 1 2 3 4 5 6

0 да 10 20 30 35 22 25 10

1 65 да 57 55 37 54 50 37

2 52 36 да 52 41 44 51 36

3 51 50 53 да 62 50 51 50

4 37 33 51 35 да 34 41 33

5 45 66 54 48 46 да 40 40

6 43 67 51 52 50 60 да 43

Нулевые — — 3 2 — — — 254

значения

262

Рис. 1. Дерево решений задачи при отсутствии ограничений

_64 _47

СЕ^ С0:!)

35

46

52

60

£0-1-4-6-3-2-5) 279

неоптимально

285

312

Рис. 2. Дерево решений задачи при наличии ограничений

Приведенная матрица 0

Таблица 4

Приведенная матрица времен проезда

№ между парами пунктов выполняемых заданий

0 1 2 3 4 5 6

0 ю 0 7 18 25 12 15

1 28 ю 17 16 0 17 15

2 16 0 ю 14 5 8 15

3 1 0 0 ю 12 0 1

4 0 0 15 0 ю 1 8

5 5 26 11 6 6 ю 0

6 0 24 5 7 7 17 ю

тами дорожной сети представлена в табл. 1. Параметры шести заданий по доставке грузов приведены в табл. 2.

Например, расчет элемента матрицы 2 = |дк р|, к, р = 1, 2, ..., 6, необходимого времени между выполнением двух рядом стоящих в последовательности заданий дк р = д31 определяется выражением д31 = т3 + /410 + + /101 = 6 + 28 + 16 = 50; д46 = т4 + /73 + /312 = 7 + 8 + + 26 = 41. Рассчитанные элементы сведены в табл. 3. Приведенная матрица Б = |^к/1 представлена в табл. 4.

Процесс решения примера в условиях отсутствия ограничений на сроки выполнения заданий методом ветвей и границ приведен на рис. 1.

Оптимальная последовательность выполнения заданий № = {0, 1, 4, 3, 2, 5, 6, 0}, а последовательность пунктов сети при выполнении этого расписания V = {0, 1, 11, 2, 6, 4, 10, 7, 3, 8, 5, 12, 9, 0}. Время выполнения расписания — 262.

Учет ограничений на сроки выполнения заданий. Пары пунктов приема и доставки грузов каждого задания определены в первой и второй строках, время, необходимое для загрузки и выгрузки груза /-го задания, — в третьей строке, а граничные сроки времен завершения выполнения заданий приведены в последней строке табл. 2. Необходимо найти допустимое расписание выполнения работ, минимизирующее время выполнения расписания.

Процесс решения примера методом динамического программирования с помощью алгоритма 1 приведен на рис. 2.

Внутри эллипсов показаны частные маршруты движения ТС. Цифры, стоящие рядом с вершиной дерева, показывают длину соответствующего частичного плана. На рис. 2 выделена ветвь дерева, соответствующая оптимальному решению.

Оптимальная последовательность выполнения заданий № = {0, 1, 6, 3, 2, 4, 5, 0}, а последовательность пунктов сети при выполнении этого расписания V = {0, 1, 11, 12, 9, 4, 10, 2, 6, 7, 3, 8, 5, 0}. Время выполнения расписания 285.

ЛИТЕРАТУРА

1. Бенсон Д., Уайхед Дж. Транспорт и доставка грузов: пер. с англ. — М.: Транспорт, 1990. — 279 с.

2. Беленький А. С., Левнер Е.В. Применение моделей и методов теории расписаний в задачах оптимального планирования на грузовом транспорте: Обзор // Автоматика и телемеханика. — 1989. — № 1. — С. 3—77.

3. Зак Ю.А. Математические модели и алгоритмы построения эффективных маршрутов доставки грузов. — М.: РУСАЙНС, 2015. — 306 с.

4. Зак Ю.А. Об одной задаче построения допустимых и оптимальных маршрутов доставки грузов. — Информационные технологии. — 2015. — № 5. — С. 373—384.

5. Domschke W. Logistik: Transport. Grundlagen lineare Transport- und Umladeprobleme. 5. Auflage. — Mьnchen-Wien: R. Oldenburg Verlag, 2007. — 234 s.

6. Grunert T, Imich St. Optimierung in Transport, 1. Grundlagen & 2. — Wege und Touren: Shaker Verlag, 2005.

7. Jepsen M, Petersen B, Spoorendonk S., Pisinger D. Subset-row inequalities applied to the vehicle-routing problem with time windows // Operations Research. — 2008. — Vol. 56, N 2. — P. 497—511.

8. Bianchessi N, Righini G. Heuristic algorithms for the vehicle routing problem with simultaneous pick-up and delivery // Computers & Operations Research. — 2007. — Vol. 34 (2). — P. 578—594.

9. Montano F.A.T., Calvao R.D. Vehicle Routing Problem with Simultaneous Pick-ap Up and Delivery Service // Operational Research of India. — 2002. — Vol. 39, N 1. — P. 19—33.

10. Montano F.A.T., Calvao R.D. A tabu search algorithm for the vehicle routing problem with simultaneous pick-up and delivery

service // Computers & Operations Research. — 2006. — Vol. 33. — P. 595 — 619.

11. Gan X., Yan W, Li Sh, Niu B. Vehicle Routing Problem with Time Windows and Simultaneous Delivery and Pick-Up Service Based on MCPSO // Mathematical Problems in Engineering. — 2012. — Vol. 6. — 11 p.

12. Shimizu Y., Sakaguchi T., Yoo J. A hybrid method for solving multi-depot VRP with simultaneous pickup and delivery incorporated with Weber basis saving heuristic // Journal of Advanced Mechanical Design, Systems, and Manufacturing. — 2016. — Vol. 10, N 1. — P. 1—13.

13. Ai J., Kachitvichyanukul V. A particle swarm optimization for the vehicle routing problem with simultaneous pickup and delivery // Computers & Operations Research. — 2009. — Vol. 36, N 5. — P. 1693—1702.

14. Gajpa Y, Abad P. An ant colony system (ACS) for vehicle routing problem with simultaneous delivery and pickup // Computers & Operations Research. — 2009. — Vol. 36, N 12. — P. 3215—3223.

15. Wu C, Zhang N, Jiang J., Yang J., Liang Y. Improved bacterial foraging algorithms and their applications to job shop scheduling problems // ICANNGA, Part I. — 2007. LNCS 4431. — P. 562—569.

16. Jeon G, Leep H.R., Shim J.Y. A vehicle routing problem solved by using a hybrid genetic algorithm // Computers & Industrial Engineering. — 2007. — Vol. 53, N. 4. — P. 680—692.

17. Dash S., Gunluk O, Lodi A., Tramontani A. A time bucket formulation for the traveling salesman problem with time windows // INFORMS Journal on Computing. — 2012. — Vol. 24. — P. 132—147.

18. Baldacci R., Mingozzi A., Roberti R. Recent exact algorithms for solving the vehicle routing problem under capacity and time window constraints // European Journal of Operational Research. — 2012. — Vol. 218, iss. 1. — P. 1—6.

19. Savelsbergh M. Local search in routing problems with time windows // Annals of Operations Research. — 1985. — Vol. 4, N 1. — P. 285—305.

20. Gehring H, Homberger J. Parallelization of a two-phase meta-heuristic for routing problems with time windows // Journal of Heuristics. — 2002. — Vd. 8, N 3. — P. 251—276.

21. Lin C.K.Y. A vehicle routing problem with pickup and delivery time windows, and coordination of transportable resources // Computers & Operations Research. — 2011. — Vol. 38, N 11. — P. 1596—1609.

22. Little J.D.C., Murty K.G., Sweeney D.W., and Karel C. An algorithm for the Traveling Salesman Problem // Operations Research. — 1963. — N 11. — P. 972—989.

23. Зак Ю.А. Алгоритмы решения задач N коммивояжеров // Кибернетика. — 1972. — № 2. — С. 96—106.

24. Зак Ю.А. Прикладные задачи теории расписаний и маршрутизации перевозок. — М.: Либроком, 2012. — 393 с.

25. Зак Ю.А. Распределение множества заданий и определение очередностей их выполнения на параллельных машинах методами динамического программирования. — LAP LAMPERТ Academic Publishing, 2013. — 116 p.

26. Беллман Р. Динамическое программирование. — М.: Изд-во иностр. литературы, 1960.

Статья представлена к публикации членом редколлегии

А.А. Лазаревым.

Зак Юрий Александрович — д-р техн. наук,

науч. эксперт и консультант, г. Аахен, Германия,

Н yuriy_zack@hotmail.com.