На правах рукописи ГИНДУЛЛИН Рамиз Вилевич

advertisement
На правах рукописи
ГИНДУЛЛИН Рамиз Вилевич
ОПТИМИЗАЦИЯ МАРШРУТА ДОСТАВКИ ОДНОРОДНОГО
ГРУЗА ОТ МНОЖЕСТВА ПРОИЗВОДИТЕЛЕЙ
МНОЖЕСТВУ ПОТРЕБИТЕЛЕЙ
Специальность 05.13.01 – Системный анализ, управление
и обработка информации (в промышленности)
Диссертация
на соискание ученой степени
кандидата физико-математических наук
Научный руководитель д.ф-м.н., профессор Бронштейн Е.М.
Уфа 2013
ОГЛАВЛЕНИЕ
С.
Введение……………………………………………………………………….. 3
1
ОБЗОР ЗАДАЧ ТРАНСПОРТНОЙ МАРШРУТИЗАЦИИ................... 9
1.1
Задачи транспортной маршрутизации.................................................. 9
1.2
Методы решения задач транспортной маршрутизации...................... 21
1.3
Задача коммивояжера (TSP, Traveling salesman problem)................... 24
1.4
Выводы ..................................................................................................... 33
2
МАТЕМАТИЧЕСКАЯ МОДЕЛЬ МОНОНОМЕНКЛАТУРНОЙ
ОПТИМИЗАЦИОННОЙ ЗАДАЧИ МАРШРУТИЗАЦИИ
ТРАНСПОРТНЫХ СРЕДСТВ................................................................ 34
2.1
Задача 1.................................................................................................... 34
2.2
Задача 2.................................................................................................... 37
2.3
Задача 3.................................................................................................... 45
2.4
Задача 4.................................................................................................... 52
3
ПОСТАНОВКА ЧИСЛЕННЫХ ЭКСПЕРИМЕНТОВ,
ИССЛЕДОВАНИЕ РЕЗУЛЬТАТОВ...................................................... 56
3.1
Точные решения задачи 2...................................................................... 56
3.2
Зависимость длины оптимального маршрута от вместимости
транспортного средства......................................................................... 58
3.3
Сравнение эффективности эвристик для решения задачи 2.............
3.4
Сравнение эффективности эвристик для решения задачи 3.............. 65
3.5
Сравнение эффективности жадных алгоритмов для решения
60
задачи 3..................................................................................................... 68
ЗАКЛЮЧЕНИЕ .................................................................................................. 72
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ........................................... 74
ПРИЛОЖЕНИЕ А……………………………………………………………... 93
2
ВВЕДЕНИЕ
Актуальность
темы
работы.
Транспортная
промышленность
необходима для обеспечения производства сырьем и доставки готового
товара потребителям. Особое внимание уделяется задачам, связанным с
планированием маршрутов. По разным оценкам от 30% до 50 % всех затрат
на логистику связано с транспортными издержками.
Формирование рациональных маршрутов при строгом соблюдении
сроков поставок помогает добиться не только минимизации затрат на
эксплуатацию,
на
перевозку
людей,
но
и
сократить
товарно-
производственные запасы на складах.
Задачам
в
области
формирования
оптимальных
транспортных
маршрутов посвящены многочисленные исследования в разных странах
мира. Особую актуальность приобретают работы, позволяющие точно
вычислять
объемы
грузоперевозок,
рассчитывать
количество
единиц
транспорта, необходимых для обеспечения грузопотоков, определять
рациональные маршруты движения, а также сократить суммарные затраты на
транспортировку. Эти обстоятельства подтверждают актуальность темы
диссертации.
Степень
рассматривается
разработанности
разновидность
темы
задачи
исследования.
маршрутизации
В
работе
транспортных
средств при перевозке грузов – VRP (Vehicle Routing Problem) – SVRPPD –
задача транспортной маршрутизации с вывозом и доставкой одним
транспортным средством. Первая задача транспортной маршрутизации была
сформулирована Г. Данцигом и Дж. Рамсером в 1959 году, ее постановка
инициировала
важный
класс
задач
оптимизации.
Наиболее
часто
встречающиеся постановки задач данного класса предполагают доставку
однородных грузов из пункта производства или склада потребителям.
Предполагается,
что
целью
является
минимизация
стоимости
транспортировки. Встречаются задачи и с другой целевой функцией
3
(например, временем доставки грузов), но их, как правило, можно
переформулировать таким образом, что целевая функция будет носить
экономический смысл Как правило, задачи данного класса относятся к NPтрудным, точное решение которых при сколько-нибудь значительной
размерности требует огромного количества времени. На сегодняшний день
сформулировано
множество
вариантов
данной
задачи,
в
которых
учитываются различные реальные ограничения, разработан ряд алгоритмов
приближенного поиска оптимальных решений. Это связано с тем, что
развитие логистических процессов и потребность в учете новых факторов
ведут к постановке новых задач, требующих, в свою очередь, применения
новых методов решения. Создана европейская рабочая группа VeRoLog
(Vehicle Routing and Logistics), которая активно занимается задачами
транспортной маршрутизации.
Необходимо указать на отличие задачи в рассматриваемой постановке
от
классической
задачи
маршрутизации
транспортных
средств.
Особенностями рассматриваемой задачи являются наличие множественных
пунктов-производителей,
из
которых
производится
вывоз
груза.
Поставленная задача может быть сформулирована, как целочисленная
линейная оптимизационная задача, и является обобщением двух известных
задач: задачи коммивояжера и задачи о загрузке рюкзака. Менее 10% работ,
посвященных задачам транспортной маршрутизации, рассматривают данный
вариант задачи. Результаты по близким задачам получены Cordeau J.-F. [51],
Laporte G. [61, 173], Renaud J. [173], Desrosiers J. [67], Mingozzi A. [41],
Pankratz G. [163], Ченцовым А.Г. [16], Гимади Э.Х. [11] и другими учѐными.
Также, создана европейская рабочая группа VeRoLog (Vehicle Routing and
Logistics),
которая
активно
занимается
задачами
транспортной
маршрутизации.
Область исследования. Задачи организации транспортировки грузов.
4
Цель работы. Исследование и разработка эффективных методов
решения монономенклатурных оптимизационных задач маршрутизации
транспортных средств с ограничениями на перевозку.
Задачи исследования. Для достижения цели работы были поставлены
и решены следующие задачи:
1. Формализация
оптимизационных
задач
монономенклатурной
маршрутизации с одним транспортным средством и несколькими пунктами
производства и потребления.
2. Разработка точных алгоритмов решения поставленных задач
маршрутизации, в том числе в целочисленном варианте.
3. Разработка эвристических алгоритмов решения поставленных задач
маршрутизации.
4. Реализация разработанных методов на ЭВМ, экспериментальная
проверка эффективности работы предложенных алгоритмов.
Методы
математического
исследования.
В
работе
программирования,
теории
применяются
графов,
методы
комбинаторной
оптимизации, формализация, алгоритмизация, моделирование и эксперимент.
Информационная база исследования включает сгенерированные
псевдослучайным образом по равномерному закону распределения данные о
пунктах производства и потребления, включая их координаты.
На защиту выносятся следующие результаты исследований:
1. Математические
модели
оптимизационных
задач
семейства
монономенклатурной маршрутизации транспортных средств с одним
транспортным средством и забором и доставкой грузов при различных
ограничениях.
2. Точные
и
эвристические
алгоритмы
построения
решения
оптимизационных задач семейства монономенклатурной маршрутизации
транспортных средств с одним транспортным средством и забором и
доставкой грузов.
3. Сравнение эффективности предложенных алгоритмов.
5
Научная новизна. Получены следующие основные результаты,
обладающие научной новизной:
1. Формализация поставленных задач (в том числе в виде задач
целочисленного
линейного
программирования
и
программирования,
линейного
булева
булева
квадратичного
программирования)
оптимизационных задач маршрутизации транспортных средств, в которых
производится вывоз груза от множества производителей к множеству
потребителей (п. 2 паспорта специальности 05.13.01). Исследование данных
моделей позволило получить оценки минимальной допустимой вместимости
транспортного средства в случае, когда транспортное средство может
посетить каждый пункт один раз.
2. Доказательство того, что для любого допустимого способа
перевозки грузов по некоторому маршруту при целых исходных данных
задачи, существует способ перевозки по тому же маршруту, в котором все
веса загружаемого и выгружаемого груза являются целыми. Существование
загрузки транспортных средств грузами с целочисленными весами позволило
разработать точный алгоритм локальной оптимизации для целочисленного
случая задачи (п. 3 паспорта специальности 05.13.01).
3. Методы
и
алгоритмы
решения
задачи
маршрутизации
транспортных средств с учетом различных ограничений. Разработаны и
программно реализованы эвристические алгоритмы решения задачи (п. 5
паспорта специальности 05.13.01).
4. Проведены серии вычислительных экспериментов для оценки
эффективности
предложенных
алгоритмов.
Эмпирически
получена
зависимость длины оптимального маршрута от вместимости транспортного
средства.
Практическая
и
теоретическая
значимость.
Теоретическая
значимость заключается в формализации и решении монономенклатурной
оптимизационной задачи маршрутизации транспортных средств с одним
транспортным
средством
c
несколькими
пунктами
производства
и
6
потребления с возможностью раздельных доставок и использования складов,
относящейся к классу VRP. Предложенные методы и алгоритмы могут
применяться для решения родственных задач организации транспортировки
грузов.
Практическую ценность работы составляет определение наименьшей
допустимой вместимости транспортного средства и плана перевозок с
минимальными затратами на транспортировку при заданной вместимости
транспортного средства. Это делает возможным применение разработанных
методов построения кратчайшего маршрута задачи и, как следствие,
применение
их
программной
транспортно-логистических
обеспечение,
задач
на
в
рамках
разработанное
зарегистрировано
реализации
Федеральной
для
решения
производстве.
Программное
диссертационной
службой
по
реальных
работы,
интеллектуальной
собственности, патентам и товарным знакам, свидетельство № 2011615572
«Решение задач транспортной маршрутизации различными методами».
Степень достоверности и апробация результатов.
-Теоретические положения работы подтверждаются математическими
доказательствами.
-Адекватность предложенных моделей подтверждается получением
совпадающих результатов при использований различных подходов и
формализаций на широком классе примеров.
Апробация работы. Основные результаты диссертационной работы
докладывались и обсуждались на:
1.
Всероссийская зимняя школа Всероссийская зимняя школа-
семинар аспирантов и молодых ученых семинар аспирантов и молодых
ученых семинар аспирантов и молодых ученых «Актуальные проблемы
науки и техники», Уфа, 2010.
2.
Всероссийская
конференция
«Математическое
программирование и приложения», Екатеринбург, ИММ УрО РАН, 2011.
7
3.
Международная
научная
конференции
"Математическое
моделирование, оптимизация и информационные технологии", Кишинеу,
2012.
4.
Международная
конференция
«Дискретная
оптимизация
и
исследование операций», Новосибирск, 2013.
5.
Вторая ежегодная конференция Европейской рабочей группы
VeRoLog, Саутгемптон, 2013.
6.
Научные семинары в Уфимском государственном авиационном
техническом университете, в Башкирском государственном университете и
Институте математики Уфимского научного центра РАН.
Работа выполнена при поддержке РФФИ (проекты № 10-06-00001 и №
13-01-00005).
8
1.
ОБЗОР ЗАДАЧ ТРАНСПОРТНОЙ МАРШРУТИЗАЦИИ
1.1 Задачи транспортной маршрутизации
Задачи маршрутизации являются одним из наиболее важных классов
задач транспортной логистики. Целью данных задач является минимизация
стоимости, расстояния или времени транспортировки грузов.
История задач маршрутизации насчитывает более полувека. Первая
работа, посвященная данному типу задач, появилась в 1959 году, когда была
опубликована статья Г. Данцига и Дж. Рамсера [65], в которой была
сформулирована группа задач, впоследствии названная VRP – Vehicle
Routing Problem. В данной работе рассматривалась задача нахождения
оптимального маршрута доставки парком бензовозов продукта от конечной
станции
магистрального
обслуживающих
Используя
трубопровода
терминалов
методы,
(задача
опирающиеся
до
большого
диспетчеризации
на
формулировки
количества
грузовиков).
линейного
программирования, предложенные ручные вычисления давали решение,
близкое к оптимальному, для задач с количеством маршрутов 4 и
количеством станции 12. Типичная постановка задачи приведена на рисунке
1.1.
9
Рисунок 1.1 Типичная постановка задачи транспортной маршрутизации и ее
решение.
Задачи транспортной маршрутизации являются обобщением задачи
коммивояжера, поэтому, как правило, относятся к классу NP-сложных задач
(однако,
некоторые
частные
варианты
задачи
могут
решаться
за
полиномиальное время, например, [21]).
На
текущий
момент,
имеется
множество
вариантов
задач
маршрутизации [38, 164, 165, 8]. В целом, задачи маршрутизации можно
разделить по следующим характеристикам [8]:
1. Пункты производства
a) Пункт производства один. Это характерно для ситуации, когда
имеется склад (база) с которого осуществляются поставки различным
потребителям.
б) Пунктов несколько. Такая ситуация чаще всего возникает, если
грузы перевозятся от нескольких производителей к потребителям. Еще один
пример - перевозка пассажиров (например, при организации работы
10
таксопарка) В этом случае пункт посадки каждого пассажира можно считать
пунктом производства.
2. Пункты потребления.
а) Пункт один. В частности это так, если продукция из разных
мест должна доставляться на склад или в пункт сертификации.
б) пунктов несколько Эта ситуация наиболее распространенная.
Содержательная интерпретация аналогична 1б.
3) Сеть дорог.
а) Дорога характеризуется одним параметром.
б) Дорога характеризуется несколькими параметрами (стоимость
перевозки,
расстояние,
пропускная
способность
по
весу,
габариты,
ограничения по скорости и др.).
-Все учитываемые характеристики аддитивно зависят от
пути.
-Среди
характеристик
есть
неаддитивные
(например,
пропускная способность).
4) Количество груза.
а) Количество груза характеризуется вещественным числом
(непрерывная задача).
-Одним.
-Несколькими.
б) Количество груза характеризуется целым числом (дискретная
задача).
-Одним.
-Несколькими.
5) Базы ТС (депо).
а) База одна.
б) Баз несколько.
в) Базы совпадают с пунктами производства.
6) Вид груза.
11
а) Задачи с однородным грузом.
б) Многопродуктовые задачи.
7) Характер ТС.
а) ТС единственное.
б) Все ТС одинаковые.
в) ТС различны.
8) Ограничения на вместимость ТС.
а) Предусмотрены ограничения только по одному параметру.
б) Предусмотрены ограничения по нескольким параметрам.
9) Ограничения по видам перевозимых грузов.
а) Есть грузы, запрещенные к перевозке тем или иным ТС.
б) Для каждого ТС есть ограничения по различным видам
перевозимых грузов.
в) Существуют запреты на совместную перевозку грузов
некоторых видов одним ТС.
10) Условия перевозки.
а) При перевозке груза из каждого пункта производства в каждый
пункт
потребления
может использоваться
одно
ТС независимо
от
перевозимого груза.
б) При перевозке груза из каждого пункта производства одно ТС
может развозить грузы в различные пункты потребления.
в) В каждый пункт потребления грузы из разных пунктов
производства доставляет одно ТС.
г) ТС могут собирать груз в различных пунктах производства и
перевозить в различные пункты потребления.
д)
Возможность
совпадения
пунктов
производства
и
потребления.
-Некоторые пункты могут быть одновременно пунктами
производства и потребления.
-Все пункты разные.
12
11) Ограничения по времени.
а) Грузы из пунктов производства должны забираться в
указанные временные окна.
б) Грузы в пункты потребления должны доставляться в
указанные временные окна.
в) Максимальная длительность маршрута перевозок ограничена.
г) Время непрерывного пребывания ТС в пути ограничено.
д) Имеются те или иные ограничения на последовательность
перевозок.
12) Особые условия перевозки.
а) Каждый вид груза должен быть доставлен из некоторого
пункта производства в некоторый пункт потребления (такси).
б) Не допускается порожний пробег (кроме начального и
конечного отрезков маршрута).
13) Факторы, определяющие стоимость перевозки.
а) Зависимость стоимости перевозки только от самого пути.
б) Зависимость стоимости перевозки от загрузки ТС.
-Пропорциональность зависимости стоимости от загрузки.
14) Условие возврата.
а) ТС должны возвращаться на исходную базу.
б) ТС должны завершать маршрут на какой-нибудь базе.
в) ТС могут завершать маршрут в любом месте.
15) Учет упаковки в транспортное средство (для дискретного случая
постановки задачи). При этом условии в задачу вводятся ограничения
на размещение ящиков внутри транспортного средства, а также ограничение
на последовательность погрузки-выгрузки груза / стековый принцип (LIFO).
16) Определенность.
а) Статическая задача, т.е. заказы в процессе доставки не
изменяются.
б) Динамическая задача, т.е. заказы после планирования могут
13
добавляться или отменяться.
Наиболее
исследованными
вариантами
задач
маршрутизации
являются:
Capacitated VRP (CVRP, задача маршрутизации транспортных средств
с
учетом
грузоподъемности).
Базовый
вариант
задач
транспортной
маршрутизации, который и был описан в работе Данцига и Рамсера. Парк
транспортных средств одинаковой вместимости находятся в одном депо.
Задача состоит в нахождении минимальных по затратам (денежным, времени
или расстоянию) замкнутых маршрутов, которые полностью обслужат всех
клиентов, таких чтобы выполнялось условие не превышения вместимости ТС
на каждом из маршрутов. При этом, каждый потребитель обсуживается ТС
только один раз, поэтому вместимость ТС должна превышать потребность
любого из клиентов. Кристофидесом в 1979 году была дана формализация в
виде задачи линейного программирования [58].
Multi Depot VRP (задача транспортной маршрутизации с множеством
депо). У компании может быть несколько депо, через которые можно
обслуживать потребителей. Если клиенты сгруппированы около депо, то
данная задача маршрутизации может быть решена как, множество
независимых задач маршрутизации. Однако, если клиенты и депо смешаны
между собой, то в данном случае решается задача MDVRP. Одним из ранних
упоминаний задачи с несколькими депо является [204].
Periodic VRP (периодическая задача маршрутизации). Обобщение
классической задачи маршрутизации, в которой период планирования
составляет более одного дня. У каждого клиента возникает ежедневная
потребность, которая должна быть удовлетворена как минимум одним
визитом ТС. Впервые рассмотрена в [56].
14
VRP with Backhauls (задача транспортной маршрутизации с обратным
транзитом). В данной задаче надо учитывать возможность того, что
потребители могут вернуть часть ранее завезенного груза, который
транспортное средство должно будет отвезти на склад. Главным допущением
в данной задаче считается то, что перед тем как с пункта можно будет
забрать груз, в него уже был завезен груз на предыдущих шагах данного
маршрута или предыдущих развозках. При этом, заранее известны
количества груза, которые надо будет завезти и забрать. Данная постановка
задачи означает, что в отличие от предыдущих задач, полная или почти
полная загрузка транспортных средств грузом в депо не является
экономически выгодной или, более того, осуществимым. Впервые термин
VRPB был представлен в [98]. Существует 3 группы задач с обратным
транзитом [45]:
- транспортное средство может забирать груз на маршруте до того как
полностью развезет свои доставки;
- транспортное средство может забирать груз на маршруте до того как
полностью развезет свои доставки и один и тот же клиент может как
принимать груз, так и отправлять;
- транспортное средство на маршруте вначале доставляет груз до
клиентов, и только потом забирает его; маршрут может состоять только из
доставок, но не может состоять только из забора груза.
Первые два класса задач впервые поставлены и рассмотрены в [52] и
[102]. Однако эти типы задач в литературе рассматривались реже в связи с
тем, что на практике сложно переставлять товары в частично заполненном
транспортном средстве. Третий тип задач в литературе встречается чаще.
Ранними работами, посвященными ему, являются [66], [98] и [99].
VRP with Pick-Up and Delivering (задача транспортной маршрутизации
с вывозом и доставками, VRPPD). Задача является обобщением предыдущего
класса задач. Главная особенность заключается в том, что отсутствует
15
необходимость посещения клиента с целью передать ему груз, чтобы
впоследствии вернуться и осуществить обратный транзит. То есть, у клиента
изначально имеется груз, который необходимо забрать. В результате, клиент
у которого имеется груз для вывоза и который должен принять груз может
быть посещен транспортным средством дважды. Возможность передачи
груза от одного клиента к другому допускается, но этот случай мало
исследован [103]. Согласно [93] менее 10% работ, посвященных задачам
транспортной маршрутизации, рассматривают варианты задач с вывозом и
доставками. Вариант задачи с одним ТС имеет несколько названий [106]:
SVRPPD, 1-VRPPD [67, 143], SVPDP [61], SPDP [166], TSPPD [51].
Подобного типа задачи появляются при перевозках однородных грузов,
таких как газ, почва, песок, деньги.
Для VRPPD с множеством ТС в [159] рассмотрено использование
раздельных доставок и загрузок (то есть, с возможностью неоднократного
посещения пунктов). Было показано, что использование раздельных доставок
позволяет сократить расстояние перевозок, по сравнению с однократным
посещением клиентов. Размер экономии сильно зависит от вместимости ТС
по сравнению с запросами пунктов.
Вариантом данной задачи можно считать VRP with Satellite Facilities
(задача транспортной маршрутизации с сопутствующими складами), в
которой у транспортного средства есть возможность пополнить груз в
сопутствующих складах, без возврата в депо [118].
VRP with Time Windows (задача транспортной маршрутизации с
временными окнами). К задаче транспортной маршрутизации добавляются
ограничения на время посещения каждого из клиентов. Клиент может быть
обслужен только в пределах заданного временного окна. [187]
16
Stochastic VRP (стохастическая задача транспортной маршрутизации).
Это задача маршрутизации у которой не менее одного параметра заданы
случайным образом. Возможно три варианта задачи:
- стохастические потребители (потребитель может присутствовать с
заданной вероятностью);
- стохастические потребности клиентов;
- стохастическое время обслуживания.
В связи с элементом случайности уже невозможно требовать
выполнения всех ограничений. В результате, лицо принимающее решение
может требовать или выполнение ограничений с определенной вероятностью
(то есть, рассматривается средний случай), или встроить в модель действия
по корректировке в случае необходимости.
Первый случай известен, как Chance Costrained Programming (CCP,
программирование с вероятностными ограничениями) и он сравнительно
легко решается, когда его сводят к детерминированному варианту задачи
маршрутизации. [55, 128, 129].
Второй вариант SVRP может решаться как Stochastic program with
Recource (SPR, стохастическое программирование с рекурсией). Начальное
решение определяется до получения значений случайных величин. На
следующем этапе уже могут приниматься корректирующие действия. [40,
115, 189].
Split Deliveries VRP (SDVRP, задача транспортной маршрутизации с
раздельными доставками). В данной задаче, парк однотипных транспортных
средств с ограниченной вместимостью должен обслужить некоторое
множество потребителей. Каждый потребитель может быть посещен более
одного раза, в отличие от задачи VRP, в связи с этим потребность отдельного
потребителя может быть выше вместимости транспортного средства. Каждое
ТС должно начинать и заканчивать свой маршрут в депо. Задача состоит в
нахождении множества маршрутов транспортных средств, которые обслужат
17
всех потребителей, таким образом, чтобы не было нарушено условие
вместимости транспортных средств и с минимальной общей длиной
маршрутов.
Задача была представлена в литературе 20 лет назад в [74] и [75], в
которых было показано, что использование раздельных доставок в некоторых
случаях позволяет получить маршрут короче, чем в случае однократного
посещения клиентов. В [24], анализируется максимально возможный
выигрыш, получаемый при использовании раздельных доставок, а в [23] те
же авторы представили результаты вычислительных экспериментов, в
которых показано, как данный выигрыш зависит от характеристик задачи. В
[21] они анализируют вычислительную сложность SDVRP. Было выявлено,
что в случае целочисленного варианта с вместимостью транспортных средств
не более 2, задачу можно свести к задаче b-согласования вершин графа (bmatching problem), постановки которой приведены в [91], и для которой
имеется полиномиальный алгоритм решения [91, 107]. В остальных случаях,
SDVRP относится к классу NP-полных задач.
Dror, Laporte и Trudeau [73] предложили метод ветвей и границ,
основанный на целочисленной линейной постановке SDVRP, куда помимо
прочих неравенств были включены неравенства связности, которые
обеспечивали то, что каждый клиент будет обслужен хотя бы одним
транспортным средством. Метод был опробован на трех небольших
примерах до 20 пунктов с различным спросом со стороны потребителей.
Belenguer, Martinez и Mota рассматривали SDVRP как полиэдр [35]. На
основании частичного описания SDVRP-полиэдра, авторы использовали
метод ветвей и отсечений, который позволял решать задачи средних
размеров с количеством потребителей до 51. Усиленная линейная релаксация
позволяет получить хорошую нижнюю границу для значения оптимального
решения.
Точные способы решения задачи также были предложены Li et al [132],
Джин, Лиу и Боуден [117, 136]. Оба подхода работают только при очень
18
маленьких размерностях. Лучший результат получен для SDVRP с
временными окнами (SDVRPTW) в работе Gueguen [90, 105]. В последней
работе предложены точные методы, способные решать задачу с сотней
потребителей.
Первым эвристическим алгоритмом для SDVRP стал локальный поиск,
который был предложен в работах Dror и Trudeau [74, 75]. Предлагалось
использование двухэтапной процедуры, по которой вначале получали
допустимое решение задачи VRP, а затем его улучшали, используя
добавление путей и обмен пунктами между ними. Добавление путей
означает, что создавался новый путь, который обслуживал клиента
раздельной доставкой, если это позволяло уменьшить общую длину
перемещений. Обмен пунктами состоял в том, что рассматривался клиент i с
потребностью di и его убирали со всех путей, которые его обслуживают.
Далее, рассматриваются все пути, в которых транспортное средство
нагружено не полностью и данное транспортное средство имеет возможность
обслужить еще и пункт i. Производится расчет того, насколько длиннее
станет общая дистанция, если клиента i поместить в каждый из данных
путей. Выбирается то подмножество вставок, общая дистанция при котором
является минимальной. Данные простые подходы успешно использовались в
эвристических и метаэвристических методах в будущем.
Позднее, предложено использование табуированного поиска [20, 22]. В
[55] предложен эвристический частично целочисленный алгоритм пути
"между записями", который оказался эффективным в задачах с большими
потребностями
со
стороны
пунктов-потребителей.
Вычислительные
эксперименты, сравнивающие эффективность этих методов приведены в
[202]. Frizzel и Giffin в [84] представили формализацию задачи SDVRP с
сеткой и временными окнами (SDVRP with grid network and time windows).
Применение SDVRP на практике рассмотрено в работе Mullaseril, Dror
и Leung [157], в которой представлена задача управления парком грузовиков,
развозящих еду для крупного ранчо. Необходимо было ежедневное
19
обеспечение питания порядка 100 тыс. голов крупного рогатого скота в
пределах заданных временных окон шестью грузовиками. Данная задача
была формализована, как задача о китайском почтальоне с ограниченной
вместимостью,
раздельными
доставками
и
временными
окнами.
Вычислительный эксперимент показал, что использование раздельных
доставок позволяет значительно сократить общую пройденную дистанцию в
большей части вычислительных экспериментов.
В [186] рассмотрена задача о расписании полетов вертолетов к
платформам в прибрежной зоне Северного моря для перемещения рабочих
между сменами. Вертолеты могли перевозить определенное максимальное
число рабочих и, в связи с ограничениями на топливо, не могли пролетать
большие расстояния. Данная задача была сформулирована, как SDVRP.
В [25] Archetti и Speranza представили широкий обзор задач, в которых
запросы
потребителей
могут
быть
значительно
выше
вместимости
транспортных средств.
Схожая задача транспортной маршрутизации перевозок "ро-ро"
(Rollon-Rolloff Vehicle Routing Problem) была рассмотрена Ball et al в [29] и
De Meilemeester et al [149]. Задача SDVRP с погрузкой и доставкой
рассмотрена Nowak [160].
В [74] были рассмотрены структурные характеристики задачи. В
частности,
если
матрица
расстоянии
удовлетворяет
неравенству
треугольника, то существует оптимальное решение SDVRP, где никакие два
пути не имеют более одного общего клиента с раздельной доставкой. В [23]
задались вопросом "разделять или нет". Первым делом было показано, что
если матрица расстояний удовлетворяет неравенству треугольника, то
отношение минимального числа путей, необходимых для обслуживания всех
клиентов задачи VRP, к минимальному числу путей задачи SDVRP всегда
будет не больше 2. Они также доказали, что эта граница является строгой.
Отношение значений дистанции оптимальных решении задач VRP и SDVRP
всегда будет не больше 2. Таким образом, использование раздельных
20
доставок позволяет получить значительный выигрыш в расстоянии. Также,
было проведено эмпирическое исследование последнего соотношения для
выявления его зависимости от расположения клиентов и их потребностей.
Был сделан вывод о том, что сокращение стоимости перевозок происходит,
по всей видимости, за счет уменьшения числа используемых путей, вне
зависимости от расположения клиентов. При этом имеется зависимость от
потребностей клиентов и вместимости транспортных средств. Наибольший
выигрыш от использования раздельных доставок достигнут, когда средняя
потребность клиента находилась между 1/2 и 3/4 вместимости ТС.
Вычислительные эксперименты в [50] также подтверждают эти данные.
1.2 Методы решения задач транспортной маршрутизации
В связи с высокой вычислительной сложностью задач маршрутизации
вне зависимости от их класса, полный перебор маршрутов не представляется
возможным для сколько-нибудь значительной размерности. Поэтому для
решения задачи разрабатывались эвристические методы. Стоит отметить, что
одновременно производился и поиск точных методов, способных решить
задачу небольших размерностей за разумное время.
Обобщенные варианты эвристик, названные метаэвристиками, впервые
были разработаны и описаны Гловером в 1986 году [97]. Как правило,
адаптация метаэвристики к конкретной задаче проще, чем разработка
алгоритма с нуля, а сами метаэвристики могут находить решения задач,
близкие к оптимальным, за разумное время.
Список методов, которые применялись для решения разных задач VRP,
приведен в таблице 1.1.
21
Таблица 1.1. Точные, эвристические и метаэвристические методы решения
различных классов задач VRP.
Задача
Точные методы
Эвристические и
метаэвристические методы
CVRP
- Динамическое
Эвристики:
программирование [57, 16].
- Метод вариации (метод
- Метод ветвей и границ.
Жилетта и Миллера) [94].
Максимальная размерность
- Кластеризация (метод
решенной задачи – 286
Фишера и Джайкумара) [83].
пунктов [130]
- Алгоритмы, основанные на
- Метод ветвей и отсечений
паросочетаниях [68].
(комбинация метода ветвей и
- Алгоритмы улучшения
границ с методом секущих
путей [196, 198].
плоскостей Гомори). [81]
- Метод лепестков [181].
- Метод ветвей, отсечений и
Метаэвристики:
цены (комбинация метода
- Алгоритм муравьиной
ветвей и отсечений с методом колонии [46, 72].
генерации столбцов). [85]
- Генетические алгоритмы
- Формализация сети
[101].
двухпродуктовых потоков.
- Процедура жадного
[28]
случайного адаптивного
поиска [26]
- Детерминированный отжиг
[77]
- Алгоритм модельной
закалки [162].
- Табуированный поиск [203,
190, 12].
- Переменный поиск по округе
22
[122].
- Метод сбережений [59, 144,
MDVRP
197, 201].
- Многоэтапные алгоритмы
(прикрепление клиентов к
депо и решение отдельных
задач CVRP) [95, 197, 11].
- Табуированный поиск [174,
183].
- Эволюционный алгоритм
[161, 193].
- Алгоритм оптимизации
муравьиной колоний [205].
- Многоэтапные алгоритмы
PVRP
(прикрепление клиентов ко
дням иди маршрутам и
решение отдельных задач)
[30, 37, 56, 180, 191].
- Табуированный поиск [60].
SDVRP
- Метод ветвей и границ [73].
- Метод сбережений [76].
- Метод ветвей и отсечений
- Локальный поиск [74, 75].
[35]
- Табуированный поиск [20,
22].
VRPB
- Метод Yano at al (для
- Кластеризация [94].
особых случаев) [206]
- Метод сбережений [66].
- Метод Gelinas (для особых
случаев) [89]
VRPPD
- Метод ветвей и границ [119]. - Перестановки [173].
- Динамическое
- 2-фазный алгоритм Ренода
23
программирование [41, 69].
[173].
- Метод ветвей и отсечений.
- Локальный поиск [199].
Позволил решить задачу из 15 - Табуированный поиск [125].
пунктов [82]
- Генетические алгоритмы
[163].
- Метод отжига [143].
VRPTW
- Метод ветвей и границ [27].
- Метод сбережений [188].
- Динамическое
- Жадный поиск [188].
программирование [69]
- Метод последовательной
вставки [169, 188].
- Локальный поиск [170, 196].
- Генетические алгоритмы
[194, 195].
SVRP
- Стохастическое
- Априорная
программирование [74, 126,
последовательность [40].
127, 189].
- Цикличная эвристика [39].
- Метод отжига [192].
1.3 Задача коммивояжера (TSP, Traveling salesman problem)
Задача
заключается
в
поиске
кратчайшего
(самого
дешевого)
замкнутого маршрута в графе, который проходит через все вершины графа,
хотя бы один раз.
Впервые данная задача была сформулирована в руководстве успешного
коммивояжера в 1832 году [156]. Также там был представлен оптимальный
замкнутый маршрут, проходящий через 45 городов Германии (рисунок 1.2).
24
Рисунок 1.2 Задача коммивояжера и еѐ решение.
Общая постановка задачи впервые была сделана в 20 годах 20 века,
судя по всему [184], Карлом Менгером [146], который формализовал задачу,
названную им впоследствии задачей посланника (messenger problem).
Доработанная формализация задачи была дана им в 1929 г. [148]. Далее, он
рассмотрел алгоритм полного перебора маршрутов, а также указал на то, что
использование эвристик, основанных на поиске ближайшего соседа, в общем
случае, может не привести к нахождению оптимального маршрута [145].
В 1931 году, Менгер посетил с лекциями Гарвард. В результате,
Whitney поставил задачу о нахождении кратчайшего замкнутого маршрута,
проходящего через 48 штатов США. [137]
В 1937 были отмечены связи задачи коммивояжера с играми
Гамильтона [137].
Начиная с 40 годов 20 века, несколько изменилось наполнение работ,
посвященных задаче коммивояжера. В данных работах впервые были
указаны характеристики данной задачи.
Менгер в [147] вернулся к вопросу нахождения кратчайшего пути,
походящего через заданное множество точек в метрическом пространстве.
25
Он следует за работой Milgram [150], посвященной нахождению кратчайшей
Жордановой кривой, которая проходит через заданное, не обязательно
конечное, множество точек в пространстве. И так как множество может быть
бесконечным, кратчайшая кривая может и не существовать.
Fejes [79] исследует задачу задачу нахождения кратчайшей кривой,
проходящей через n точек в единичном квадрате. Впоследствии, Verblunsky
[200] показал, что ее (кривой) длина меньше 2
2.8 n . Дальнейшие работы
в этом направлении включают [33, 80].
Нижние границы ожидаемого значения кратчайшего пути через n
случайных точек на евклидовой плоскости были изучены Mahalanobis [138],
для оценки стоимости выборочной оценки площади земли под джут в
Бенгалии. Данное исследование проводилось в 1938 году. Основная доля
затрат легла на транспортировку людей и оборудования, в связи с чем и
возникла необходимость решения задачи коммивояжера. Mahalanobis дал
оценку минимальной длины пути
n 1
, однако доказательство приводить
n
не стал.
Данное исследование было продолжено Джессеном [116], который
эмпирически получил похожий результат для манхэттенской метрики.
Marks [141] дал доказательство результата Mahalanobis. Фактически, он
показал, что
1
A
2
n
1
, где A – площадь региона. Ghosh [92] показал,
n
что асимптота данной оценки близка к ожидаемому значению, получаемому
эвристикой, уступая верхней границе в 1.27 An . Также, он привел оценку
вычислительной сложности задачи.
В
[137] упоминается, что в 1948 году начали предприниматься
попытки связывания задачи линейного программирования с задачей
коммивояжера.
26
Robinson
сделала
[177]
неудачную
попытку
решить
задачу
коммивояжера, рассмотрев в качестве релаксации задачу о назначениях. В
результате, был получен метод сокращения циклов. Связь состояла в том, что
задача о
назначениях
в качестве результата
требует
оптимальную
перестановку, а задача коммивояжера – оптимальную циклическую
перестановку. Данный доклад Робинсон для RAND может считаться самым
ранним использованием термина "задача коммивояжера".
Beckmann и Koopmans [34] показали, что задача коммивояжера может
быть сформулирована, как квадратичная задача о назначениях, для которой,
однако, неизвестно быстрых методов решения.
Существенный прогресс был достигнут в работе Dantzig, Fulkerson и
Johnson [64]. В ней было предложено несколько новых методов для решения
задачи коммивояжера, которые в данный момент считаются базовыми в
комбинаторной оптимизации.
По теореме Birkhoff [42], выпуклая оболочка строк матрицы
перестановок n×n в точности повторяет дважды стохастические матрицы, то
есть неотрицательные матрицы у которых сумма по столбцам и строкам
равна 1.
xi , j
0, i, j
0, n
xi , j 1, i
0, n
xi , j
0, n
n
j 0
n
1,
j
i 0
Это позволяет решить задачу о назначениях как задачу линейного
программирования.
Для
этого,
необходимо
описание
в
линейных
неравенствах многогранника задачи коммивояжера – выпуклой оболочки
матриц цикличных перестановок. Это позволяет добавить неравенства,
убирающие подциклы.
xi , j 1, I
1,..., n ,
I
1,..., n .
i I, j I
27
Предполагалось, что этих неравенств достаточно, чтобы отсечь
нецикличные перестановки. Однако, в 1953 году было показано, они не
отсекают все подциклы при n≥5 [111].
Впрочем, эти неравенства могут быть полезными для задачи
коммивояжера, так как может быть получена нижняя граница длины
оптимального маршрута. Расчет нижней границы производится с помощью
симплекс метода с использованием неравенств в качестве секущих
плоскостей. Таким образом, авторы смогли получить кратчайший путь через
избранные города 48 штатов США, что оказалось близко к упомянутым
выше задачам Whithey и Robinson.
Ранние исследования многогранника задачи коммивояжера приведены
Heller [108, 109, 110, 111, 112, 113], Kuhn [121], Norman [158], Robacker [175].
В
последней
работе
также
приведены
расчетные
исследования,
показывающие вероятность того, что случайному набору исходных данных
понадобятся неравенства, убирающие подциклы.
В
[160]
было
показано,
что
оптимальный
маршрут
задачи
коммивояжера на евклидовой плоскости не пересекает сам себя.
Позднее были предложены следующие подходы:
- линейное программирование с эвристикой 3-exchange [153]
- метод графического решения [31], который является схемой для
перебора вариантов с целью получения решения, близкого к оптимальному.
Также в данной работе был приведен разбор задачи из 10 пунктов, которая
была решена данным методом от руки, что показало практическую
применимость метода для решения малоразмерных задач. Dantzieg, Fulkerson
и Johnson [64] показали, что их метод уступает данной эвристике.
- алгоритмы 3-opt оптимизации. Первая попытка использования 3-opt
была скомбинирована со схемой перебора [43, 44]. Автор проверил алгоритм
на примерах Robacker and Barachet и новом примере из 10 городов.
Отмечено, что алгоритм бесполезно использовать для решения задачи
Dantzig-Fulkerson-Johnson о 42 городах, в связи с его медленной работой.
28
Еще один вариант 3-opt оптимизации был предложен в [62]. Автор решил
задачу Dantzig-Fulkerson-Johnson о 42 городах расчетами вручную за 70
часов. Позднее, в [134] алгоритм Croes был дополнен и был использован для
примера из 105 пунктов.
- Метод ветвей и границ [78], использует задачу о назначениях с целью
получения нижней границы. Алгоритм проверялся на примерах, в которых
было до 10 пунктов.
- Неявный перебор Rossman and Twery [179], который был использован
для решения примера из 13 пунктов вручную.
-
В
[36]
задача
коммивояжера
была
показана
как
пример
комбинаторной задачи, которая может быть решена методами динамического
программирования. Согласно данной работе, компьютеры того времени
позволяли эффективно решать задачу коммивояжера данным методом вплоть
до 17 пунктов.
- Использование секущих плоскостей Гомори. Их использование было
показано на примере задачи из 5 пунктов в [123] Также, в [151], где вначале
дается формализация задачи коммивояжера в виде задачи целочисленного
программирования, которую уже решали с помощью секущих плоскостей.
Также было показано действие алгоритма на примере Барачета из 10
пунктов.
Свои
версии
использования
секущих
предложили в [142] и [14]. Позднее, в [124]
плоскостей
Гомори
приведен алгоритм
использующий секущие плоскости Гомори для решения задачи из 100
пунктов. В [104] их использование помогло решить пример из 120 пунктов.
-
В
[44]
и
[142]
использованы
алгоритмы,
основанные
на
целочисленном линейном программировании. Однако наибольший вклад в
развитии данного подхода привнесен в [114]. Приведенный алгоритм
развивает метод Dantzig, Fulkerson и Johnson. Автор решал двойственные
задачи линейного программирования в качестве релаксации; алгоритм
максимального потока Ford-Fulkerson для поиска неверных неравенств;
метод ветвей и границ. Также были приведены результаты вычислительных
29
экспериментов из 20 пунктов в евклидовом пространстве. Из 60 запусков, 59
были решены без ветвлений, а оставшийся пример потребовал единственную
ветвь. Большие примеры не были решены в связи со сложностями с его
решателем задач линейного программирования.
- Алгоритм самой дешевой вставки [120], который предлагалось
использовать для улучшения секции маршрута. Автор использовал свой
алгоритм на примере задачи из 57 пунктов. В [171] были предложены
некоторые дополнения к данному методу.
- В 1964 г. [135] впервые вводится термин "ветви и границы", которым
и
был
назван
соответствующий
точный
метод
решения
задачи
коммивояжера, также описанный в этой работе. Приведены результаты
использования метода ветвей и границ: решение задачи из 25 пунктов с
помощью компьютера IBM 7090; решение ассиметричной задачи из 30
пунктов со случайными расстояниями с помощью компьютера IBM 7090;
решение примера из 10 пунктов вручную в течение часа. Позднее в [131]
было предложено использовать в качестве нижней границы минимальное
остовное дерево. В [185] были представлены идеи для улучшения
производительности алгоритма в симметричных примерах.
- Локальный поиск. Был использован в [172]. Самый крупный пример –
задача из 57 пунктов, рассмотренная в [104]. На каждом из примеров,
локальный поиск давал результат не хуже, чем метод самой дешевой вставки.
- Перебор маршрутов. Эвристики, основанные на переборе маршрутов,
были предложены в [154, 155, 176].
В
последнее
время
было
также
предложено
использование
метаэвристик:
-алгоритм отжига [1].
- табуированный поиск [139]
- генетические алгоритмы [32, 168, 178]
- Процедура
жадного случайного адаптированного поиска (Greedy
Randomized Adaptive Search Procedure – GRASP). [140]
30
- Искусственные нейронные сети. [18]
- муравьиная колония. [71]
- метод цепного исключения. [86, 87]
- алгоритм разбросанного поиска. [96]
- направленный локальный поиск. [54]
- метод роя частиц. [100, 133]
- поиск по изменяемой округе. [152]
В 2004 году было получено точное решение задачи коммивояжера,
маршрут которой состоял из 24978 городов Швеции [19]. Маршрут был
получен с помощью эвристики Lin-Kernighan. Полученный маршрут является
оптимальным согласно программному коду Concorde TSP.
Кроме того, стоит отметить существование особых случаев задачи
коммивояжера, которые имеют эффективное решение [48]:
- задачи коммивояжера решаемые пирамидально. Маршрут (1, i1, i2, ...,
ir, n, j1, j2, ..., jn-r-2) называется пирамидальным, если i1<i2<...<ir и j1>j2> ...> jn-r2.
Первый пример такой задачи, которая может быть решена эффективно:
расстояния между пунктами задаются матрицей
0 u1 u2
... un и v1
v2
... vn
C
cij
ui v j , где
0 [1].
- некоторые случаи задачи коммивояжера на евклидовой плоскости:
а. Выпуклые задачи коммивояжера. Примерами подобных задач
являются множества точек Калмансона и Демиденко [10] (см. рисунки 1.3 и
1.4)
Рисунок 1.3. Множество точек Калмансона.
31
Рисунок 1.4. Множество точек Демиденко.
б. задачи коммивояжера расположенные на параллельных
прямых (или почти параллельных прямых). В [63] был предложен метод,
которые решает подобную задачу коммивояжера за время O(n3) (O(n2) в
случае, если число параллельных прямых k=3.
в. Задача коммивояжера в виде ожерелья [182]. Случай задачи,
когда вокруг каждого из n пунктов существует n окружностей, таких что
каждая из них пересекает ровно две другие окружности (см. рисунок 1.5).
Рисунок 1.5. Задача коммивояжера в виде ожерелья
- задачи коммивояжера с переставленной матрицей Монге. Матрица C
называется переставленной матрицей Монге, если существует перестановка
ø, такая что Сε,ø (ε – определяет перестановку) является матрицей Монге.
Матрица m×n A называется матрицей Монге, если при любых i, j, k, l таких,
что 1 i k
m и 1
j l
n , соблюдается неравенство Ai , j
Ak ,l
Ai ,l
Ak , j .
32
Перестановка ø является оптимальным решением задачи коммивояжера для
данной матрицы расстоянии C. [49]
- задача коммивояжера, в которой пункты расположены на осях OX и
OY ортогональной системы координат. [53]
1.4 Выводы
1.
Был произведен обзор задач транспортной маршрутизации и ее
вариантов.
2.
Имеется множество вариантов задач транспортной маршрутизации –
CVRP, SDVRP, VRPPD, VRPTW, SVRP и т. д. Частным случаем задач
транспортной маршрутизации является задача коммивояжера, которая
исторически была рассмотрена первой.
3.
Задачи
транспортной
маршрутизации
характеризуются
высокой
вычислительной сложностью, так как относятся к классу NP-сложных
задач. В результате имеется необходимость в разработке и применении
эвристических и метаэвристических методов для решения задач
маршрутизации.
4.
Использование раздельных доставок (split deliveries) в задачах
маршрутизации позволяет получить более короткий маршрут.
5.
Задачи с забором и доставками рассмотрены в менее чем 10% работ,
посвященных задачам транспортной маршрутизации.
33
2. МАТЕМАТИЧЕСКАЯ МОДЕЛЬ МОНОНОМЕНКЛАТУРНОЙ
ОПТИМИЗАЦИОННОЙ ЗАДАЧИ МАРШРУТИЗАЦИИ
ТРАНСПОРТНЫХ СРЕДСТВ
2.1 Задача 1
Пусть имеется одно транспортное средство (далее ТС) с ограниченной
вместимостью, первоначально расположенное в депо, в которое ТС должно
вернуться после окончания перевозок. Следует перевезти однородный груз
из пунктов производства в пункты потребления. В каждом из пунктов
производства имеется определѐнное количество груза, которое необходимо
оттуда вывести. В каждый из пунктов потребления определѐнное количество
груза необходимо доставить. Груз доставляется исключительно за счет
пунктов-производителей, без использования депо. Предположим, что ТС
может посещать каждый пункт (кроме депо) один раз. Возникает
естественная задача определения величины Smin – минимальной вместимости
ТС, при которой перевозки возможны. Таким образом, задача 1 является
оптимизационной.
Будем считать, что все пункты занумерованы числами 0,1,…,n, депо
присвоен номер 0. Через a(i) обозначим вес груза в пункте производства (в
этом случае a(i)>0) или потребность в пункте потребления (тогда a(i)<0).
Допускается, что депо совпадает с пунктом производства, в противном
случае a(0)=0. Естественно считать, что
n
a(i) 0.
i 0
Необходимо
найти
минимальное значение
S, удовлетворяющее
следующему условию. Существует перестановка b(0), b(1),…,b(n) (b(0)=0)
множества {1,…,n}, для которой 0
k
a (b( j )) S при k=0,1,…,n.
j 0
34
Поставленную задачу можно свести к булевой задаче линейного
программирования. Для этого введем матрицу перестановки X: Xij=1
(i,j=0,1,…,n), если число j расположено на i-ом месте перестановки и 0 в
противном случае. Тем самым X00=1.
Должны выполняться следующие условия.
(1)
Xij {0,1},
n
i 0
X ij 1,
(2)
n
j 0
X ij 1,
(3)
k
n
0
i 0 j 0
S
X ij a( j ) S (k 1,..., n),
(4)
(5)
min.
(1)-(5) это задача линейного целочисленного программирования. Для
таких задач, которые относятся к классу NP-трудных, разработан целый ряд
точных
(ветвей
и
границ,
отсечений),
а
также
эвристических
и
метаэвристических алгоритмов.
Приведем оценки величины Smin.
Алгоритм
1.
Пусть
p (1),..., p (k )
-
положительные
члены
последовательности (a(i)) , т.е. объемы грузов в пунктах производства,
q (1),..., q(l )
-
потребности
отрицательные
груза
в
члены
пунктах
последовательности
потребления.
Определим
(a(i)),
т.е.
индуктивно
следующие величины. k1 – максимальное натуральное число, для которого
k1
p(i) S ,
l1
–
максимальное
натуральное
число,
для
которого
i 1
k1
i 1
p(i)
l1
q( j ) 0, k2 – максимальное натуральное число, для которого
j 1
35
k2
l1
p(i)
i 1
k2
q( j ) S , l2 – максимальное натуральное число, для которого
j 1
l2
p(i)
i 1
q( j ) 0 и т.д.
j 1
Предложение 1. Если S≥2a*, где a* max a (i ) , то алгоритм 1
продуктивен при любом упорядочивании весов грузов.
Доказательство. Пусть натуральное число k1 из алгоритма 1 найдено.
Очевидно,
S
k1
что
p(i ) a *
i 1
k1
i 1
k1≥2.
Из
k1
т.е.
максимальности
p(i) S a* a*
k1
q(1) .
i 1
следует
Отсюда
неравенство
следует,
что
p(i ) q(1) 0. Таким образом, число l из алгоритма 1 положительное.
1
k1
Далее из определения величины a* следует неравенство
тогда
k1
S
l1
p(i )
i 1
q( j )
a*
p k1 1 ,
p(i)
i 1
l1
q( j ) a*, а
j 1
откуда k2>k1. Далее по индукции
j 1
построение продолжается до исчерпания последовательности грузов. ■
Тем самым предложение 1 доказано. ■
Имеется более строгая оценка величины Smin.
Предложение
2.
Справедлива
следующая
оценка
Smin:
max|a(i)|≤Smin<2 max|a(i)|. Верхняя оценка является точной и не улучшаемой,
то есть для любого
>0 существуют число n и последовательность
a(0),…,a(n), для которых будет справедливо неравенство S>(2
Доказательство.
Оценка
снизу
очевидна.
) max|a(i)|..
Воспользуемся
обозначениями a+=(|a|+a)/2, a =(|a| a)/2. Если max|ai+|=max|ai |, то есть
максимальный из грузов в пункте производства равен максимальной
потребности в пункте потребления, то их можно исключить из рассмотрения,
поскольку, расположив соответствующие пункты в последовательности на
двух первых местах, доставку из одного пункта в другой можно осуществить
ТС с вместимостью, равной max|ai|<2 max|ai|, после чего ТС остается пустым.
36
Продолжая,
получим
последовательность
грузов,
для
которой
max|ai+| max|ai |. Докажем, что для такой последовательности грузов
достаточно ТС вместимости max|ai+|+max|ai |<2 max|ai| (можно считать, что в
правой
части
максимум
берется
по
элементам
исходной
последовательности). Действительно, на первом шаге в ТС можно погрузить
любой из положительных грузов. Пусть в некоторый момент загрузка ТС не
превосходит max|ai |. Если еще есть пункты производства, в которых груз
остался, то оставшейся вместимости достаточно для погрузки любого из этих
грузов. В противном случае и при загрузке ТС, превосходящей max|ai |, груза
в ТС достаточно для разгрузки в любом пункте потребления. Таким образом,
пока есть необработанные пункты, процесс можно продолжить, что и
требовалось.
Для
доказательства
второго
утверждения
при
некотором
>0
рассмотрим следующую последовательность весов: (k+1) грузов равны (+k) и
k
грузов
равны
( k 1).
Очевидно,
что
S=2k.
Отношение
2k/max{|ai|}=2k/(k+1)>(2 ) при достаточно большом k. ■
Заметим, что для последовательности (1, 1,
2) нижняя оценка
достигается.
2.2 Задача 2
Имеется
одно
транспортное
средство
(ТС)
с
ограниченной
вместимостью S, первоначально расположенное в депо, в которое ТС должно
вернуться после окончания перевозок. Следует перевезти однородный груз
из пунктов производства в пункты потребления. В каждом из пунктов
производства имеется определѐнное количество груза, которое необходимо
оттуда вывести, в каждый из пунктов потребления определѐнное количество
37
груза
необходимо
доставить.
Стоимость
проезда
между
пунктами
определяется только расстоянием. Груз доставляется исключительно за счет
пунктов-производителей, без использования складов. Требуется доставить
груз так, чтобы стоимость перевозок была минимальной.
Нумерация пунктов и веса в грузах пунктов аналогичны задаче 1.
Задана матрица CI расстояний между пунктами: (CI)ij (i,j=0,1,…,n) –
расстояние от i-го пункта до j-го. Считаем, что все расстояния конечные,
причем матрица не обязательно симметрическая. Возможно, что кратчайший
путь между некоторыми пунктами проходит через другие пункты.
Пусть ТС может посещать каждый пункт (кроме депо) один раз.
Необходимо найти перестановку b(0), b(1),…,b(n) (b(0)=0) множества
{1,…,n}, для которой 0
k
a(b( j )) S
при k=0,1,…,n, такую, чтобы общая
j 0
стоимость перевозки являлась минимальной.
Для данной задачи предложено три формализации – квадратичная
булева, линейная целочисленная и линейная булева.
Квадратичная булева формализация.
Заметим, что матрица расстояний при перестановке пунктов в
соответствии с матрицей X из задачи 1 имеет вид CX=XCIXT. Индекс I у
исходной матрицы CI это указание на единичную матрицу.
В этом случае формализация задачи имеет следующий вид. Найти
булеву матрицу X, такую, что выполняются условия (1)-(4) и при этом
n 1
CX
i ,i 1
CX
n ,0
min.
(6)
i 0
(1)-(4), (6) это задача квадратичной булевой оптимизации. Далее
покажем, как существенным повышением размерности можно свести
линейную целочисленную формализацию задачи 2.
38
Линейная целочисленная формализация.
Известен целый ряд линейных формализаций задачи коммивояжера
(обзор см. [70]). Для наших целей более всего подходит модификация
метода, предложенного в ряде работ (например, [88]).
Введем булевы переменные Yij (i,j=0,…,n), равные 1 тогда и только
тогда, когда следующим после i-го пункта на пути следования ТС является jй пункт. Выполняются следующие условия.
n
Yij 1 (i 0,..., n)
(7)
j 0
(из каждого пункта ТС выезжает в единственный пункт),
n
Yij 1 ( j 0,..., n)
(8)
i 0
(в каждый пункт ТС прибывает из единственного пункта),
Y00=0
(9)
(из нулевого пункта ТС выезжает в какой-нибудь другой пункт – для
других пунктов это будет следовать из следующих условий)
Введем целочисленные переменные vi (i=1,…,n) такие, что:
1 vi n
(10)
(vi–vj)+nYij n–1 (i,j=1,…,n)
(11)
Справедливо следующее утверждение:
Предложение 3. Для всякого цикла, удовлетворяющего условию задачи,
существует решение системы (7)-(11). Обратно, всякое решение системы
(7)-(11) определяет цикл, содержащий все пункты. При этом переменные v i
имеют смысл номеров пунктов в порядке прохождения в цепи, содержащей
все пункты за исключением базы.
Доказательство. Если из некоторого цикла удалить пункт 0 (базу) и
переменным vi придать указанный смысл, то все условия (7)-(11) очевидным
образом выполняются. Пусть теперь величины Yij (i,j=0,…,n), vi (i=1,…,n)
удовлетворяют условиям (7)-(11). Если Yij=0, то условие (11) выполняется
при любых значениях vi, удовлетворяющих условию (10). Построим
39
ориентированный граф, вершины которого помечены числами 1,2,…,n, а
наличие дуги (i,j) соответствует тому, что Yij=1. Из равенства Yij=1 и условия
(11) следует, что vi–vj
1, т.е. в построенном графе нет циклов. Из условия
(7) (или (8)) следует, что (n+1) из величин Yij (i,j=0,…,n) равны 1, при этом, из
условия (9) вытекает, что из величин Yij (i,j=1,…,n) равных 1 ровно (n 1).
Таким образом, соответствующий неориентированный граф является
деревом. Из условий (7) и (8) каждая вершина графа имеет полустепени
входа и выхода не более 1. Тем самым, построенный граф является простой
цепью. Поскольку значений vi столько же, сколько вершин в графе, причем
при наличии дуги (i,j) в силу условия vi–vj
1 разным вершинам
соответствуют разные значения vi, то в действительности vi–vj= 1, а это
означает, что vi действительно номера вершин в порядке прохождения по
цепи. В силу условия (7), в пункт, соответствующий первой вершине цепи
груз доставляется из некоторого пункта. Это может быть или база, или пункт,
соответствующий последней вершине построенной цепи. Но второй случай
противоречит условию (9). Аналогично с последней вершиной цепи. Тем
самым, построен цикл нужного вида. ■
Введем булевы переменные Zsk равные 1 тогда и только тогда, когда
vs k (s,k=1,…,n). Справедливы ограничения:
Zsk (1+k vs)/(2n) (s,k=1,…,n)
(12)
(если правая часть положительная, то Zsk=1).
n
n
Z sk
n(n 1) / 2
(13)
s 1 k 1
Из условий (12) и (13) следует, что Zsk=0 при vs>k.
Условие непереполнения и неотрицательности веса груза в ТС при
посещении каждого пункта:
n
0 a0
Z sk as
S (k 1,..., n)
(15)
s 1
Целевая функция имеет вид:
40
n
n
Yij cij
min
(16)
i 0 j 0
Таким образом, переменные поставленной задачи: Yij – булевы, их
(n+1)2; Zsk– булевы, их n2, vi – целочисленные, их n. Общее число
ограничений имеет порядок O(n2).
Линейная булева формализация.
В качестве неизвестных аналогично [167] примем булевы переменные
X ijk , равные 1 тогда и только тогда, когда на k-м шаге ТС переезжает из i-го
пункта в j-й.
Ограничения:
n 1 n
X ijk
1 ( j 1,..., n)
(17)
k 1 i 0
(из каждого пункта ТС после погрузки или разгрузки выезжает один
раз);
n 1 n
X ijk
1 (i 1,..., n)
(18)
k 1 j 0
(в каждый пункт ТС для погрузки или разгрузки прибывает один раз);
n
n
(19)
X ijk 1 (k 1,..., n 1)
i 0 j 0
(на каждом шаге ТС совершает одну поездку);
n
X in0 1 1
(20)
i 1
(на (n+1)-ом шаге ТС должно вернуться на базу из какого-нибудь
другого пункта);
n
(21)
X 01 j 1
j 1
(на нулевом шаге ТС выезжает с базы в какой-нибудь другой пункт);
n
n
(22)
X ijk
X kjp 1( j 0,..., n; k 1,..., n)
i 0
p 0
(из j-го пункта ТС выедет на (k+1)-м шаге тогда и только тогда, когда
на k-м шаге в этот пункт ТС прибудет);
41
Предложение 3. Любое решение системы (17)-(22) порождает цикл,
содержащий все вершины по одному разу (гамильтонов цикл), в котором
последовательные дуги проходятся в последовательные шаги.
Доказательство. Из условия (21) следует, что существует
единственный пункт i1 0, для которого X 01i1 1 . Пусть по индукции построена
цепь (0,i1,…,ik) такая, что X iss 1is
равенства X ikk 1ik
1 следует, что
1 ( s 1,..., k , k
n
n, i0
0). Из условия (17) и
X iikk 1 . Из равенства (23)
i 0
существует единственный пункт ik+1, для которого X
n
X ikk p1 1 , т.е.
p 0
k 1
ik ik 1
1. Проверим, что
ik+1 {i1,…,ik}. Если бы выполнялось обратное, то существовал бы пункт is (s<
k+1), для которого X issik 1 1. Но это противоречит условию (17). Таким
образом строится цепь (0,i1,…,iN-1), которая, содержит все пункты. В силу
условий (18) и (20) X inn 01 1. Тем самым, построен цикл с нужными
свойствами. ■
Следующее ограничение отражает недопустимость переполнения ТС и
неотрицательность груза на любом начальном отрезке маршрута.
p n
n
(23)
0
X ijk ai S ( p 1,..., n).
k 1 j 0 i 0
В общем случае система (17)-(23) несовместна. Справедливо
следующее утверждение.
Предложение 4. Если S 2 max{|ai|}, то система (17)-(23) совместна.
Доказательство. Докажем, что в любой ситуации найдется пункт
производства, из которого ТС может вывезти груз, или пункт потребления, в
который ТС может груз завезти. На первом шаге, поскольку a0 S, груз из
базы вывезти можно. Пусть в некоторый момент загрузка ТС равна b.
Возможны три ситуации.
a) b S/2 и груз вывезен из всех пунктов производства. В силу
n
условия
a(i) 0 потребность в каждом из оставшихся пунктов потребления
i 0
не превосходит b, т.е. маршрут можно продолжить.
b)
b S/2 и груз не вывезен из всех пунктов производства. В этом
случае S–b S/2 max{|ai|}, т.е. груз можно вывезти из любого оставшегося с
грузом пункта производства.
c)
b S/2. Аналогично предыдущему, груз можно завезти в любой
пункт потребления. ■
42
Целевой функцией является общая стоимость перевозок:
n 1 n
(24)
n
X ijk cij
min.
k 1 j 0 i 0
(17)-(24) – задача линейного целочисленного программирования. Число
неизвестных равно (n+1)3, число ограничений имеет порядок О(n2).
Были рассмотрены следующие методы решения задачи 2.
1. Точные методы
1.1 Линейное целочисленное программирование.
1.2 Линейное булево программирование.
1.3 Квадратичное булево программирование.
1.4 Метод ветвей и границ.
2. Эвристические методы
2.1 Алгоритм 1 со случайно генерируемыми перестановками. Алгоритм
1, как следует из предложения 2, результативен при любом упорядочивании
пунктов для достаточно больших S. Следует иметь в виду, что его
использование может не привести к оптимальному решению ни при каком
упорядочивании.
ПРИМЕР 2. Пусть пункты расположены в вершинах квадрата, веса в
порядке обхода квадрата равны 1,
1, 1,
1 (база является пунктом
производства), дороги совпадают со сторонами квадрата, вместимость ТС
равна 2. Очевидно, что оптимальный маршрут есть последовательный обход
сторон квадрата. В то же время, алгоритм 1 приводит к последовательности
грузов 1, 1, 1, 1, эта последовательность оптимальной не является.
Перестановки генерируются случайно так, что вероятность появления
каждой перестановки равна
1/ n!.
Процесс прекращается в соответствии с
принятыми правилами останова.
2.2 Вначале из положительных значений последовательности {a(i)}
выделяется подмножество с максимальной суммой, не превосходящей S
43
(решается задача о наполнении рюкзака). Затем из отрицательных значений
выделяется подмножество с минимальной суммой, при которой общая сумма
обоих выделенных подмножеств неотрицательная. Процесс продолжается до
исчерпания последовательности {a(i)}. Таким образом, получаем зоны
положительных и отрицательных значений в последовательности.
Затем, меняя пункты, в которых стыкуются положительные и
отрицательные отрезки, методом ветвей и границ на каждом из отрезков
минимизируем длину пути.
2.3
Расположим
вначале
положительные
элементы
из
последовательности a(0),…, a(n) по убыванию, затем отрицательные по
убыванию модулей. Если при некотором i, для которого a(i)>0, сумма
начального отрезка больше S, причем для предыдущих индексов это не так,
то находим первое из отрицательных чисел (пусть его номер j), для которых
сумма начального отрезка меньше S. После этого отрезок от i 1 до j
элементов
переворачивается
зеркально.
Если
накопленные
суммы
полученной последовательности принимают отрицательные значения, то
действуем аналогично. Построение показано на рисунке 2.1.
Рисунок 2.1 Алгоритм 2.3.
44
В результате выделяются зоны положительных и отрицательных
значений
в
последовательности.
Затем,
минимизируем
длину
пути
аналогично алгоритму 2.2.
2.4 Основана на алгоритме построения минимального остовного дерева
по алгоритму Прима [12]. Вначале выбирается допустимый пункт, наиболее
близкий к депо. На каждом из последующих шагов выбирается допустимый
пункт, который ближе всего к одному из пунктов, выбранных на
предыдущих шагах. Далее аналогично алгоритму 2.2 переставляются пункты
стыковки положительных и отрицательных отрезков.
2.5 На каждом шаге ТС выбирает пункт, куда оно отправится на
следующем шаге. Для этого ТС перебирает все возможные допустимые
варианты перемещения на k последующих шагов. Из них выбирается вариант
с наименьшей длиной перемещения и ТС делает один шаг по выбранному
варианту. Далее, снова производится перебор вариантов перемещения на k
последующих шагов, выбирается вариант с наименьшей длиной, делает один
шаг и так происходит до тех пор, пока не будут пройдены все пункты. Перед
запуском алгоритма выбирается значение параметра k.
2.3 Задача 3
Задача аналогичная задаче 2. В отличие от задачи 2, транспортное
средство имеет возможность неоднократного посещения пунктов.
Имеется
одно
транспортное
средство
(ТС)
с
ограниченной
вместимостью S, первоначально расположенное в депо, в которое ТС должно
вернуться после окончания перевозок. Следует перевезти однородный груз
из пунктов производства в пункты потребления. В каждом из пунктов
производства имеется определѐнное количество груза, которое необходимо
оттуда вывести, в каждый из пунктов потребления определѐнное количество
45
груза
необходимо
доставить.
Стоимость
проезда
между
пунктами
определяется только расстоянием. Требуется доставить груз так, чтобы
стоимость перевозок была минимальной, при этом ТС может посещать
пункты один и более раз. Груз доставляется исключительно за счет
производителей, без использования складов.
Нумерация пунктов, веса в грузах пунктов и матрица расстоянии
аналогичны задаче 2.
Необходимо найти план перевозок – последовательность пар (u(0),
v(0)), (u(1), v(1)),…, (u(N), v(N)) (число N априори неизвестно, т.е. тоже
является неизвестным, подлежащим определению), первый элемент каждой
из которых это номер пункта, т.е. u(i) {0,1,…,n}, а модуль второго – вес
вывозимого (при v(i)>0) или доставляемого (при v(i)<0) груза при
соответствующем посещении пункта.
Должны выполняться следующие ограничения.
u(0)= u(N)=0
(25)
(ТС должно начинать и заканчивать движение на базе);
(26)
k
0
v(i) S (k
0,..., N )
i 0
(ограничение на вместимость ТС по ходу движения);
v(i) a( j ) ( j
(27)
0,..., n)
0 i N ,u ( i ) j
(из
каждого
пункта
производства груз
полностью
вывозится,
потребность каждого потребителя удовлетворяется);
если u(i)=j, i=0,...,N; j=0,...,n, то v(i)∙aj≥0
(28)
(из пункта производства груз только вывозится, в пункт потребления
только доставляется – из условия (27) это не следует).
Целевая функция – длина маршрута:
N 1
Cu (i ),u (i
1)
min.
(29)
i 0
Предложение 5. Задача (25)-(29) имеет решение.
46
Доказательство. Допустимое решение легко построить, например, с
помощью жадной стратегии (см. далее). Пусть длина полученного маршрута
равна L. Рассмотрим все планы перевозок при N>
маршрутов больше L. Маршрутов при N
, длина таких
конечное число. Среди них
существует кратчайший, который и является оптимальным. ■
Как обычно, план перевозок, удовлетворяющий ограничениям (25)-(28)
называется допустимым.
Заметим, что стратегии жадного типа «при попадании в какой-нибудь
пункт забери или оставь как можно больше» могут не давать оптимального
решения независимо от последовательности прохождения пунктов. Приведем
соответствующий пример.
На рисунке 2.2 отмечены пункты 0,1,2,3 и соответствующая сеть дорог
(некоторые из них с односторонним движением).
Рисунок
2.2. Пример задачи 3, для которой стратегия жадного типа
неэффективна.
Полагаем, что длины всех отрезков равны 1, Расстояния определяются
как длины кратчайших путей. Например, C1,2=1, C2,1=2, C0,2=2, C2,0=3.
47
Наличие и потребности в грузе в пунктах равны соответственно 2, 2,
1, 1. Оптимальный план перевозок, очевидно, имеет вид:
((0,2),(1, 1),(2, 1),(3,1),(1, 1),(0,0)). Длина маршрута при этом равна 5.
Жадная стратегия приводит к такому плану перевозок: ((0,2),(1, 2),
(3,1), (2, 1), (0,0)). Длина маршрута равна 8.
Пусть величины a(j) (j=0,1,…,n), S – целые. Априори ниоткуда не
следует, что в оптимальном решении задачи (26)-(30) значения v(i) целые.
Однако, среди решений задачи непременно есть целочисленные, как следует
из следующего утверждения.
Предложение 6. Пусть величины S,a(j) (j=0,1,…,n) целые и (u(0), v(0)),
(u(1), v(1)),…, (u(N), v(N)) – допустимый план перевозок. Тогда существует
допустимый план перевозок (u(0), v’(0)), (u(1), v’(1)),…, (u(N), v’(N)),
в
котором грузы v’(i) целые.
Доказательство.
Пусть k – минимальное число, при котором
значение v(k) дробное.
Рассмотрим случай v(k)>0, второй случай исчерпывается аналогично.
Положим v(k)=d r, где d положительное целое число, r (0,1). Положим
v (k)=d. Поскольку
и числа
целые, то справедливо неравенство
, т.е. переполнения ТС
при замене v(k) на v (k) не произойдет.
Заметим, что
, в противном случае общий вес грузов
не может быть целым. Здесь, как обычно,
. Если
, то положим v (i)=0 при i>k и a(i)>0 (т.е. в пунктах
производства). Если
, то найдем такое значение k+1 m <N,
для которого
производства v (i)=0 при k<i m 1, v (m)=v(m)+
. Положим для пунктов
, v (i)=v (i)
при i>m. При прежних объемах выгрузки в пунктах потребления перегруза
ТС не происходит ни в одном пункте маршрута (формально выполняются
ограничения (1)-(4)).
48
Таким образом, можно добиться удлинения начального отрезка
маршрута, на котором грузы v(k) целые. Продолжая процесс, получим
нужный результат. ■
Замечание.
У
целочисленной
задачи
могут
существовать
и
нецелочисленные решения. Приведем соответствующий пример. Пусть сеть
пунктов имеет вид (рисунок 1). Наличие и потребности в грузах
соответственно равны 0,2, 2, 4, вместимость ТС равна 2. Поскольку за один
проход цикла доставить груз невозможно, то оптимальный план перевозок
состоит в двукратном его прохождении. При этом, наряду с целочисленными
решениями (например, ((0,0), (1,2), (3, 2), (2,2), (3, 2)) существуют и
нецелочисленные (например, ((0,0), (1;1.5), (2;0,5), (3, 2), (1;0.5), (2;1,5), (3,
2)).
Были рассмотрены следующие методы решения целочисленной задачи
2.
1.1 Предложение 5 позволяет искать точное решение целочисленной
задачи переборным алгоритмом. Разумеется, это очень трудоемкий процесс,
он реализуем только для задач малых размерностей. Опишем этот алгоритм в
том варианте, который нами применялся, подробнее.
На каждом шаге следует выбрать как следующий допустимый пункт,
так и вес груза (целый), который следует доставить в этот пункт или забрать
из него. Строится дерево вариантов, в которое входят все возможные
маршруты и перемещения грузов, выбирается маршрут с минимальной
длиной пути.
Применялось также несколько эвристических подходов.
2.1 Если загрузка ТС равна максимальной, то следующим будет
ближайший пункт потребления, в котором сохраняется потребность в грузе;
если ТС пустое, то ближайший пункт производства, из которого еще не весь
груз вывезен; если оба условия не выполнены, то выбирается ближайший из
пунктов любого вида. При попадании в пункт производства ТС вывозит весь
49
наличный груз (если позволяет вместимость) либо заполняется полностью.
При попадании в пункт потребления ТС оставляет весь груз (если при этом
не возникает избытка груза) либо заполняет пункт потребления.
2.2 На каждом шаге ТС выбирает пункт, куда оно отправится на
следующем шаге. Для этого ТС перебирает все возможные допустимые
варианты перемещения на k последующих шагов. Из них выбирается вариант
с наименьшей длиной перемещения и ТС делает один шаг по выбранному
варианту. Далее, ТС снова производит перебор вариантов перемещения на k
последующих шагов, выбирает из них маршрут с наименьшей длиной, делает
один шаг и так происходит до тех пор, пока не будут пройдены все пункты.
Перед запуском алгоритма выбирается значение параметра k.
Далее все аналогично предыдущему.
Во время перебора последующих k шагов следует следить за тем,
чтобы не попадать в пункты, которые уже были полностью обслужены, а
также, чтобы заполненное ТС не попадало в пункт производства или пустое
ТС – в пункт потребления. Алгоритм 2.1 является частным случаем данной
эвристики.
2.3 Строится цикл с наименьшей длиной, включающий в себя депо и
все пункты-производители. Также, строится цикл с наименьшей длиной,
включающий в себя депо и все пункты-потребители. Двигаемся по первому
циклу, пока не заполнится ТС, затем переходим в ближайшую точку второго
цикла. Двигаемся по нему, пока ТС не разгрузится полностью. Затем
переходим в ближайший пункт производства и т.д. Пункты, из которых все
вывезено или в которые завезено нужное количество груза, из циклов
исключаются. Если пунктов производства и потребления примерно поровну,
то построение двух оптимальных циклов, проходящих через половину
пунктов, проще построения одного цикла, проходящего через все пункты.
2.4 Метод основан на алгоритме Прима построения минимального
остовного дерева [12]. Вначале разбиваем имеющиеся пункты на подпункты
с весами груза (+1) или (–1) в зависимости от того, какой пункт разбиваем –
50
n
производства или потребления. Таким образом, получаем
i 0
a(i) подпунктов.
Затем выбирается допустимый подпункт, наиболее близкий к депо. На
каждом из последующих шагов выбирается допустимый подпункт, который
ближе всего к одному из пунктов, выбранных на предыдущих шагах. В
результате выделяются зоны положительных и отрицательных значений в
последовательности.
Затем,
меняя
пункты,
в
которых
стыкуются
положительные и отрицательные отрезки, методом ветвей и границ на
каждом из отрезков минимизируем длину пути. Эта стратегия имеет смысл
только при малых весах грузов в пунктах производства и потребностях в
пунктах потребления.
2.5 Производится разбиение пунктов на подпункты, аналогично
алгоритму
D.
Пусть
p (1),..., p (k )
положительные
последовательности (они все равны 1), q(1),..., q(k )
члены
отрицательные (все
равны 1). Берем максимально допустимый начальный отрезок пунктов из
первой последовательности (его длина min{S,k}, затем начальный отрезок
пунктов из второй последовательности той же длины. Если пункты не
исчерпаны, то выбираем следующие отрезки последовательностей по тому
же принципу и т.д.
Перестановки p (1),..., p (k ) и q(1),..., q (k ) генерируются случайно таким
образом,
что
вероятность
появления
каждой
равна
1/k!.
Процесс
прекращается в соответствии с принятыми правилами останова.
51
2.4 Задача 4
Задача 4 является расширением задачи 3. В отличие от задачи 3,
имеется возможность хранения груза в одном или нескольких пунктах
(пункты-склады).
Имеется
одно
транспортное
средство
(ТС)
с
ограниченной
вместимостью, первоначально расположенное в депо, в которое ТС должно
вернуться после окончания перевозок. Следует перевезти однородный груз
из пунктов производства в пункты потребления. В каждом из пунктов
производства имеется определѐнное количество груза, которое необходимо
оттуда вывести, в каждый из пунктов потребления определѐнное количество
груза
необходимо
доставить.
Стоимость
проезда
между
пунктами
определяется только расстоянием. Требуется доставить груз так, чтобы
стоимость перевозок была минимальной. Транспортное средство имеет
возможность неоднократного посещения пунктов. В одном или нескольких
пунктах (пункты-склады) транспортное средство может оставить часть или
весь груз.
Груз доставляется исключительно за счет производителей и
складов, без использования депо.
Нумерация пунктов и матрица расстоянии аналогичны задаче 1.
Каждому пункту присваивается пара чисел (a(i);b(i)).
Через a(i) обозначим вес груза в пункте (аналогично предыдущим
n
задачам). Естественно предполагать, что
a i
0
i 1
b(i)≥0. Если b(i)=0, тогда в пункте нельзя оставлять груз на хранение.
Если b(i)>0, то в пункте можно хранить груз (то есть, это пункт-склад), при
этом b(i) – максимальное количество груза, которое единовременно может
находиться на складе. Соответственно, накладывается ограничение |a(i)|≤b(i),
в случае если b(i)>0.
Имеется ТС с заданной вместимостью S.
52
Необходимо найти последовательность пар
(u(0), v(0)), (u(1), v(1)),…, (u(N), v(N)) (число N также является
неизвестным), первый элемент которых это номер пункта, второй вес груза
вывозимого (v(i)>0) или доставляемого (v(i)<0) при соответствующем
посещении пункта, т.е. u(i) {0,1,…,n}.
Должны выполняться следующие ограничения.
u(0)= u(N)=0
(30)
(ТС должно начинать и заканчивать движение на базе.)
(31)
k
0
v i
S k
0, N
i 0
(Ограничение на вместимость ТС.)
v i
0 i N ,u i
a j
(32)
j 0, n
j
(Из каждого пункта груз полностью вывозится, потребность каждого
потребителя удовлетворяется.)
a j
v i
0 i k ,u i
b j b j
0; j 0, n; k
0, N
(33)
j
(условие не превышения количества грузов на складе)
a j
v i
0 i k ,u i
0 a j
0; j 0, n; k
0, N
(34)
j
(из пункта-производителя нельзя забрать больше груза, чем у него
имеется)
Если u(i)=j,то v(i)×a(j)≥0 если b(j)=0
(35)
(Из пункта производства груз только вывозится, в пункт потребления
только доставляется, если они не являются пунктами-складами)
Целевая функция:
N 1
CI
u i ,u i 1
min
(36)
i 0
Использование складов, позволяет получить более короткий маршрут в
некоторых случаях, как в примере ниже (см. рисунок).
53
2
1
0
3
4
Рисунок 2.3. Пример задачи, для которой использование склада
является выгодным.
Пример. Полагаем, что длины всех отрезков равны 1, Расстояния
определяются как длины кратчайших путей. Например, C1,2=2, C2,4=2, C0,2=1,
C4,0=1.
Максимальная вместимость ТС равна 3.Наличие и потребности в грузе
в пунктах равны соответственно 0, +2, +2, +2, −6. Оптимальный план
перевозок, очевидно, имеет вид:
((0,0), (1,+2), (0, 1), (2,+2), (4, 3), (0,+1), (3,+2), (4, −3), (0,0)). Длина
маршрута при этом равна 10. Если не использовать склад, то длина маршрута
составит 12.
54
Для решения целочисленного варианта данной задачи производился
поиск точного решения задачи переборным алгоритмом. Опишем этот
алгоритм в том варианте, который нами применялся, подробнее.
На каждом шаге следует выбрать как следующий допустимый пункт,
так и вес груза (целый), который следует доставить в этот пункт или забрать
из него. Строится дерево вариантов, в которое входят все возможные
маршруты
и
перемещения
грузов,
поиск
оптимального
маршрута
производится с помощью метода ветвей и границ. Для того, чтобы
исключить возможность перевозки одной и более единиц груза по
замкнутому циклу было сделано следующее. Вначале данная задача
решалась, как задача без складов (задача 3) с помощью одной из эвристик, в
результате чего мы получаем маршрут с заданной длиной пути (текущий
оптимум). Во время процесса перебора, когда длина пути маршрута превысит
длину пути текущего оптимума, перебор по данной "ветке" останавливается
и происходит переход на соседнюю. В случае если найден маршрут, длина
которого меньше длины пути маршрута текущего оптимума, сравнение
длины "веток" производится уже с ним.
55
3. ПОСТАНОВКА ЧИСЛЕННЫХ ЭКСПЕРИМЕНТОВ,
ИССЛЕДОВАНИЕ РЕЗУЛЬТАТОВ.
3.1 Точные решения задачи 2
Проведен сравнительный анализ эффективности использования для
решения задачи 2 четырѐх алгоритмов:
- квадратичного булева (формализация приведена выше, использовался
пакет MATLAB 2011 с установленным расширением cplex 12.2);
- линейного целочисленного
(формализация приведена выше,
использовался пакет MATLAB 2011 с установленным расширением cplex
12.2);
- линейного булева
(формализация приведена выше, использовался
пакет MATLAB 2011 с установленным расширением cplex 12.2);
- ветвей и границ с начальным приближением, построенным по
принципу «первый подходящий» (использовался пакет MATLAB).
Для размерностей n=4..18 генерировались случайно по 100 примеров
(данные сгенерированных примеров приведены в таблицах А.1, А2 и А3).
Сравнительный анализ среднего времени выполнения приведен в
таблице 3.1. Сравнительный анализ среднего количества итерации в процессе
решения в таблице 3.2. Данные по времени выполнения, количеству
итераций и длине найденного маршрута приведены в таблицах А.3, А.4 и
А.5.
Таблица 3.1 Среднее время решения случайного примера, с (точность 5%)
4
5
6
Линейное
Квадратичное
Ветви и
Линейное
целочисленное, булево, с
границы, с
булево, с
с
0,0686
0,0463
0
0,0306
0,235
0,123
0,000156
0,0466
0,856
0,123
0,00140
0,0721
56
7
8
9
10
11
12
13
14
15
16
17
18
13,5
616
0,496
3,88
41,1
490
0,00764
0,0414
0,248
1,61
8,97
52,0
333
0,151
0,294
0,573
1,42
2,99
7,75
14,3
36,2
53,5
131
478
856
Таблица 3.2 Среднее количество итераций в процессе решения случайного
примера (точность 5%)
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Линейное
Квадратичное
Ветви и
Линейное
целочисленное, булево, с
границы, с
булево, с
с
137
15,8
14,3
1,24
1,4∙103
107
47,7
20,6
4
1,47∙10
841
199
54,2
5
3
2,66∙10
7,46∙10
911
185
6
4
3
9,31∙10
6,67∙10
4,18∙10
736
6,54∙105
1,92∙104
1,98∙103
6,98∙105
1,01∙105
5,79∙103
4,63∙105
1,19∙104
2,21∙106
3,08∙104
1,22∙107
4,73∙104
1,11∙105
1,39∙105
2,67∙105
9,72∙105
1,03∙106
57
При n 8 линейный частично целочисленный алгоритм практически
неприменим, наиболее эффективным оказался целочисленный квадратичный
алгоритм.
Минимальная размерность, при которой случайная задача не была
решена в течение одного часа, для каждого из методов:
- n=14 для метода ветвей и границ;
- n=9 для линейного целочисленного программирования;
- n=20 для линейного булева программирования;
- n=11 для квадратичного булева программирования.
Максимальная размерность, при которой случайная задача была
решена в течение одного часа, для каждого из методов:
- n=15 для метода ветвей и границ;
- n=14 для линейного целочисленного программирования;
- n=28 для линейного булева программирования;
- n=10 для квадратичного булева программирования.
3.2 Зависимость длины оптимального маршрута от вместимости
транспортного средства
Анализировалась влияние роста вместимости ТС на длину пути –
целевую функцию. Для решения задачи 1 был использован пакет MATLAB
2011 с установленным расширением lpsolve 5.5.2.0. Затем с помощью
линейного булева алгоритма решалась задача 2 (использован пакет MATLAB
2011 с установленным расширением cplex 12.2) при минимальной
вместимости ТС – решении задачи 1, при увеличении вместимости ТС по
сравнению с минимальной в 1,1; 1,2;…2,5 раз. Для числа пунктов от 4 до 12
58
было сформировано по 100 примеров, длины усреднялись. Часть результатов
приведена на рис 3.1.
1
0,98
0,96
4
0,94
5
0,92
6
7
0,9
8
0,88
9
0,86
10
0,84
11
0,82
12
0,8
Рисунок 3.1. Влияние увеличения вместимости ТС на длину оптимального
маршрута.
Из приведенного графика можно сделать выводы о том, что:
- повышение грузоподъемности транспортного средства более, чем
в1,7-1,8 раз в сравнении с минимально допустимой не приводит в среднем к
сокращению длины маршрута;
- при увеличении числа пунктов (до n=10) рост грузоподъемности ТС
приводит в среднем к большему сокращению длины цикла. Для n≥10
дальнейшее сокращение длины цикла уже не происходит.
59
3.3 Сравнение эффективности эвристик для решения задачи 2
Для заданного числа пунктов n
- генерируем с помощью датчика случайных чисел величины
a(1),…,a(n-1) из промежутка [ 5, 5], принимаем a(0)
n
a(i);
i 1
- равномерно и независимо генерируем n+1 вещественных чисел –
координаты пунктов (x(i), y(i)) (i=0,…,n) на отрезке [ 5,5], расстояния Ci,j
принимаются равными евклидовым расстояниям между точками.
Для
гарантированной
допустимости
задачи
(предложение
1)
вместимость ТС принимается равной 2*max{|a(i)|:i=0,…,n}.
Для каждого n генерировались 100 задач.
К каждой полученной задаче применялись описанные алгоритмы.
Сводка полученных результатов приведена в таблицах 3.3 и 3.4.
Таблица 3.3Средняя длина маршрута относительно оптимального и среднее
время решения задачи алгоритмами (точность 5%)
Алгоритмы
n
7
Линейное
булево
программирование
1/
0,0306
1/
0,0466
1/
0,0721
1 / 0,151
8
1 / 0,294
9
1 / 0,573
10
1 / 1,42
11
1 / 2,99
4
5
6
Метод
2.1
Метод
2.2
Метод
2.3
Метод
2.4
Метод
2.5, k=1
Метод
2.5, k=2
Метод
2.5, k=3
1,02 /
0,00094
1,05 /
0,00078
1,102 /
0,00156
1,17 /
0,00172
1,24 /
0,00249
1,33 /
0,00374
1,41 /
0,00463
1,51 /
1,01 /
0,00063
1,03 /
0,00155
1,07 /
0,00127
1,12 /
0,00187
1,16 /
0,00345
1,17 /
0,00691
1,26 /
0,0199
1,27 /
1,01 /
0,00093
1,03 /
0,00139
1,08 /
0,00183
1,13 /
0,00203
1,17 /
0,00375
1,17 /
0,00656
1,25 /
0,0201
1,25 /
1,02 /
0,00093
1,05 /
0,00109
1,08 /
0,00126
1,09 /
0,00143
1,11 /
0,00157
1,12 /
0,00482
1,14 /
0,0138
1,13 /
1,05 /
0,00047
1,08 /
0,00078
1,11 /
0,00123
1,12 /
0,0028
1,14 /
0,00125
1,15 /
0,0025
1,17 /
0,0014
1,16 /
1,07 /
0,00094
1,13 /
0,00094
1,15 /
0,00185
1,18 /
0,00282
1,21 /
0,00481
1,22 /
0,00607
1,27 /
0,00701
1,26 /
1,03 /
0,0011
1,06 /
0,00219
1,09 /
0,00591
1,1 /
0,00732
1,17 /
0,0154
1,16 /
0,0255
1,21 /
0,0388
1,24 /
60
12
1 / 7,75
13
1 / 14,3
14
1 / 36,2
15
1 / 53,5
16
1 / 131
17
1 / 478
0,00573
1,539 /
0,00435
1,65 /
0,0086
1,71 /
0,00705
1,78 /
0,00799
1,83 /
0,00902
1,92 /
0,00917
0,149
1,29 /
0,504
1,29 /
2,29
1,34 /
16,3
1,37 /
39,3
1,37 /
339
-
0,159
1,29 /
0,517
1,28 /
2,298
1,32 /
17,3
1,35 /
43,1
1,35 /
325
-
0,0483
1,15 /
0,111
1,16 /
0,012
1,16 /
0,0144
1,17 /
3,61
1,17 /
0,0228
1,18 /
781
0,0031
1,19 /
0,00403
1,18 /
0,00595
1,17 /
0,00529
1,19 /
0,00759
1,19 /
0,00625
1,21 /
0,00638
0,0084
1,31 /
0,0112
1,34 /
0,0142
1,34 /
0,0167
1,33 /
0,0186
1,37 /
0,0216
1,38 /
0,0234
0,0568
1,25 /
0,0847
1,26 /
0,136
1,29 /
0,171
1,28 /
0,226
1,33 /
0,278
1,31 /
0,326
В ячейках таблицы приведены два числа: средняя длина цикла
относительно минимального (принята за 1), и средняя продолжительность
работы алгоритма (в секундах). Алгоритм 2.5 использовался при значениях k,
равных 1, 2 и 3. В алгоритме 2.1 процесс прекращался, если после числа
итераций, равного 20 n , не происходило улучшения рекордного значения.
Таблица 3.4 Среднее количество итераций в процессе решения случайного
примера (точность 5%)
Алгоритмы
n
Линейное
булево
программирование
4
5
6
7
8
9
10
11
12
13
14
1,24
20,6
54,2
185
736
1,98∙103
5,79∙103
1,19∙104
3,08∙104
4,73∙104
1,11∙105
Метод
2.1
13,3
18,4
22,5
26,3
32,4
38,8
39,2
39,6
46,7
47,9
54,7
Метод
2.2
Метод
2.3
Метод
2.4
22,2
47,4
101
184
451
22,2
47,3
101
184
450
20,1
31,7
51,5
79,7
201
1,26∙103
4,69∙103
3,58∙104
1,13∙105
4,75∙105
3,33∙106
1,25∙103
4,70∙103
3,59∙104
1,14∙105
4,75∙105
3,32∙106
893
2,37∙103
1,02∙104
2,37∙104
1,64∙103
1,63∙103
Метод
2.5, k=1
16
25
36
49
64
81
100
121
144
169
196
Метод
2.5, k=2
48
101
186
303
479
695
984
1,34∙103
1,77∙103
2,29∙103
2,91∙103
Метод
2.5, k=3
124
356
841
1,65∙103
3,08∙103
5,18∙103
8,16∙103
1,24∙104
1,81∙104
2,55∙104
3,51∙104
61
15
16
17
1,39∙105
2,67∙105
9,72∙105
56,4 8,53∙106 8,53∙106 8,4∙105
5∙107 3,14∙103
58,7 4,99∙107
1,86∙108
64,7
225 3,59∙103 4,66∙104
256 4,43∙103 6,16∙104
289 5,33∙103 7,85∙104
- Несмотря на то, что стратегия «оставь или забери как можно больше»
не является оптимальной, ее применение при просмотре на один шаг вперед
в среднем дает хороший результат и для n=17 средний маршрут на 21%
длиннее оптимального. Просмотр на два и три шага вперѐд ухудшает
результат и при n=17 средний маршрут на 30-40% длиннее оптимального;
- эвристика 2.4, основанная на методе Прима, дает результат наиболее
близкий к оптимальному. Для n=17 средний маршрут на 17% длиннее
оптимального. Затраты времени, при этом, несущественны и для 10
случайных примеров при n=50 метод 2.4 дал решение, потратив в среднем
951 секунду на пример. Исключением является случай, когда образуется
отрезок с большим количеством пунктов (от 12 пунктов). Пример №1351
(n=17; см. таблицу А.1) иллюстрирует данный случай. Метод 2.4 и метод 2.5
(k=1) дают один и тот же маршрут (рисунок 3.2), но затраты времени по
эвристике 2.4 составляют порядка 77 тыс. секунд или 1,85∙1010 итерации.
Затраты времени по методу 2.5 несущественны. Если исключить данный
пример, то среднее время решения задачи при n=17 алгоритмом 2.4 составит
8,16 секунд или 1,03∙106 итерации. На решение данного примера линейным
булевым программированием уходит порядка 5 секунд (см. рисунок 3.3).
62
5
4
3
2
1
0
-5
-4
-3
-2
-1
0
1
2
3
4
5
-1
-2
-3
-4
-5
Рисунок 3.2. Решение примера №1351 методами 2.4 и 2.5.
63
5
4
3
2
1
0
-5
-4
-3
-2
-1
0
1
2
3
4
5
-1
-2
-3
-4
-5
Рисунок 3.3. Решение примера №1351 через линейное булево
программирование.
- эвристики 2.2 и 2.3 имеют схожие результат и затраты времени. Для
n=17 средний маршрут на 35%-40% длиннее оптимального. В среднем, на
решение задачи уходит до 350 секунд.
- наихудший результат среди эвристик дают случайный поиск (метод
2.1). Для n=17 средний маршрут на 90-95% длиннее оптимального.
64
3.4 Сравнение эффективности эвристик для решения задачи 3
Так как задача является трудоемкой, вычислительный эксперимент
ставился при n=4-8 рассмотрены 33 типа задач (таблица 3.5), в которых были
заданы веса грузов в каждом пункте. Расстояния между пунктами
определяются следующим образом: генерация координат пунктов (x(i), y(i))
(i=1,…,n) аналогично численным экспериментам задачи 2, за базу
принимается точка (0,0), расстояния Ci,j принимаются равными евклидовым
расстояниям между точками. Вместимость ТС принималась равной 3
единицам.
Типы рассмотренных примеров приведены в таблицу 3.5.
Таблица 3.5 Типы примеров для численных экспериментов по задаче 3
Вес груза в пункте
№ n
1
2
3
4
5
6
7
8
1
4 1
-1
1
-1
2
4 2
-1
1
-2
3
4 2
-2
2
-2
4
4 3
-2
1
-2
5
4 3
-2
2
-3
6
4 3
-3
3
-3
7
4 4
-4
3
-3
8
4 4
-4
4
-4
9
5 2
-1
1
-1
-1
10
5 3
-1
1
-1
-2
11
5 3
-2
2
-1
-2
12
5 3
-2
3
-2
-2
13
6 1
1
1
-1
-1
-1
14
6 2
1
1
-2
-1
-1
15
6 2
2
1
-2
-1
-2
16
6 2
2
2
-2
-2
-2
17
7 2
1
1
-1
-1
-1
-1
18
7 2
2
1
-2
-1
-1
-1
19
7 2
2
2
-2
-2
-1
-1
20
8 1
1
1
1
-1
-1
-1
-1
21
8 1
1
1
2
-2
-1
-1
-1
22
8 1
1
2
2
-2
-2
-1
-1
65
23
24
25
26
27
28
29
30
31
32
33
8
8
8
8
8
8
8
8
8
8
8
Для
1
2
2
2
-2
2
2
2
2
-2
1
2
2
3
-1
3
2
2
2
-3
3
3
2
2
-3
3
3
3
2
-3
2
2
2
2
2
3
3
2
2
2
3
3
3
2
2
3
3
3
3
2
3
3
3
3
3
задач всех типов было сгенерировано по
-2
-2
-2
-2
-2
-2
-2
-2
-3
-2
-3
-3
-2
-2
-3
-2
-3
-3
-3
-4
-4
-4
100 примеров. В
-1
-2
-3
-2
-2
-2
-6
-7
-7
-7
-7
каждом
случае применялись описанные алгоритмы. Начиная с 20 типа метод 1.1 не
применялся.
Сводка полученных результатов приведена в таблице 3.6.
Таблица 3.6 Средняя длина маршрута относительно оптимального и среднее
время решения задачи алгоритмами (точность 5%)
тип
задачи
Метод 1.1
1
1 / 0,002
2
1 / 0,0046
3
1 / 0,0189
4
1 / 0,0144
5
1 / 0,0362
6
1 / 0,0695
7
1 / 1,19
8
1 / 13,8
9
1 / 0,0119
10
1 / 0,0314
11
1 / 0,132
12
1 / 0,813
Метод 2.2,
k=2
1,11 /
0,0015
1,14 /
0,0015
1,21 /
0,0012
1,28 /
0,0021
1,22 /
0,0015
1,08 /
0,0016
1,18 /
0,0016
1,12 /
0,0023
1,11 /
0,0029
1,18 /
0,0029
1,24 /
0,0026
1,16 /
0,0027
Алгоритмы
Метод 2.2, Метод 2.3
Метод 2.4
Метод 2.5
k=3
1,06 / 0,0022 1,18 / 0,0005 1,06 / 0,0009 1,06 / 0,0012
1,09 / 0,0021 1,18 / 0,0006 1,04 / 0,0007 1,04 / 0,0029
1,24 / 0,0023 1,60 / 0,001
1,56 / 0,0009 1,26 / 0,0048
1,25 / 0,0016 1,29 / 0,0009 1,38 / 0,001
1,13 / 0,0049
1,23 / 0,0027 1,18 / 0,0005 1,24 / 0,0013 1,09 / 0,01
1,05 / 0,0015 1,11 / 0,0005 1,04 / 0,0059 1,03 / 0,0158
1,07 / 0,0031 1,38 / 0,0004 1,21 / 0,0077 1,09 / 0,0248
1,13 / 0,004
1,14 / 0,0006 1,06 / 0,0274 1,06 / 0,0356
1,06 / 0,0037 1,33 / 0,0012 1,06 / 0,0012 1,06 / 0,0025
1,21 / 0,0044 1,31 / 0,0009 1,31 / 0,0013 1,11 / 0,0057
1,27 / 0,0051 1,28 / 0,0006 1,27 / 0,0013 1,10 / 0,0112
1,19 / 0,0048 1,26 / 0,0009 1,10 / 0,0065 1,09 / 0,019
66
13
1 / 0,0254
14
1 / 0,0997
15
1 / 0,499
16
1 / 2,7
17
1 / 0,229
18
1 / 1,3
19
1 / 5,4
20
21
22
23
24
25
26
27
28
29
30
31
32
33
1,23 /
0,0041
1,29 /
0,0044
1,28 /
0,0046
1,24 /
0,005
1,23 /
0,0063
1,27 /
0,0063
1,28 /
0,0063
1,15 /
0,0086
1,18 /
0,0089
1,20 /
0,0093
1,11 / 0,01
1,08 /
0,0098
1,16 /
0,0095
1,09 /
0,0099
1,08 /
0,0097
1,11 /
0,0092
1,09 /
0,0105
1,08 /
0,0107
1,06 /
0,0105
1,11 /
0,0108
1,17 /
0,0101
1,17 / 0,0088 1,35 / 0,0009 1,07 / 0,0015 1,09 / 0,0037
1,20 / 0,0088 1,47 / 0,0012 1,37 / 0,0013 1,13 / 0,0073
1,29 / 0,0096 1,47 / 0,0009 1,20 / 0,0021 1,13 / 0,012
1,33 / 0,0103 1,51 / 0,001
1,30 / 0,0061 1,31 / 0,0197
1,20 / 0,0152 1,46 / 0,0012 1,30 / 0,0016 1,13 / 0,0077
1,24 / 0,0175 1,56 / 0,0009 1,24 / 0,002
1,16 / 0,013
1,24 / 0,0191 1,59 / 0,0018 1,27 / 0,0062 1,28 / 0,0199
1,13 / 0,0284 1,39 / 0,0016 1,18 / 0,0017 1,07 / 0,0083
1,12 / 0,029
1,33 / 0,0019 1,13 / 0,0023 1,07 / 0,0127
1,15 / 0,0315 1,45 / 0,0019 1,07 / 0,0067 1,14 / 0,0202
1,11 / 0,0316 1,49 / 0,0016 1,23 / 0,0091 1,18 / 0,0264
1,11 / 0,0326 1,53 / 0,0019 1,16 / 0,0253 1,28 / 0,0391
1,16 / 0,0309 1,40 / 0,0015 1,11 / 0,027
1,32 / 0,0382
1,15 / 0,0322 1,44 / 0,0016 1,14 / 0,199
1,37 / 0,051
1,11 / 0,0286 1,45 / 0,002
1,49 / 0,0714
1,34 / 0,317
1,16 / 0,0245 1,28 / 0,0018 1,17 / 1,05
1,74 / 0,0957
1,07 / 0,038
1,29 / 0,0666
1,41 / 0,0017 1,26 / 0,302
1,13 / 0,0341 1,23 / 0,0019 1,06 / 8,5
1,41 / 0,113
1,14 / 0,0291 1,31 / 0,0024 1,16 / 12,5
1,57 / 0,145
1,17 / 0,0271 1,28 / 0,0027 1,11 / 46
1,69 / 0,171
1,26 / 0,0267 1,24 / 0,0017 1,01 / 382
1,85 / 0,196
В ячейках таблицы приведены два числа: средняя длина цикла
относительно минимального (принята за 1), и средняя продолжительность
работы алгоритма (в секундах). Алгоритм 2.2 использовался при двух
значениях k: 2 и 3. В алгоритме 2.5 процесс прекращался, если после числа
67
итераций, равного 20
n
a(i) , не происходило улучшения рекордного
i 0
значения.
- Несмотря на то, что стратегия «оставь или забери как можно больше»
не является оптимальной, ее применение при просмотре на два и три шага
вперед в среднем дает хороший результат. При этом просмотр на три шага
вперед требует больших затрат времени при близком (часто большем)
значении целевой функции.
- Эвристика, основанная на построении минимального остовного
дерева с последующими перестановками положительных и отрицательных
групп, эффективна только для малых весов грузов, что вполне естественно.
При этом с ростом числа пунктов временные затраты становятся очень
большими, в то же время, результат оказывается весьма эффективным.
- Эвристика, основанная на построении кратчайших циклов, быстро
реализуется, решение оказывается средним по качеству.
- При применении алгоритма случайного перебора с ростом числа
пунктов временные затраты быстро возрастают, при этом, полученное
решение весьма не эффективно.
3.5 Сравнение эффективности жадных алгоритмов для решения задачи 3
Для заданного числа пунктов n
- генерируются с помощью датчика случайных чисел целочисленные
величины a(1),…, a(n) из заданного промежутка (см. ниже), принимаем
n 1
a(n)
a(i);
i 1
68
- аналогично генерируются 2n вещественных чисел – координаты
пунктов (x(i),y(i)) (i=1,…,n), за базу принимается точка (0,0), расстояния Ci,j
принимаются равными евклидовым расстояниям между точками.
- Вместимость ТС, S, считается целочисленной и задается случайным
образом в указанном промежутке (см. ниже).
С помощью датчика случайных чисел производилась генерация трех
групп задач:
I: 2 a (i ) 2 , S
5;
II: 5 a (i ) 5 , S
50 ;
III: 50 a (i ) 50 , S
Для каждого n
50 .
4;25 в каждой группе генерировались 100 примеров.
К каждой полученной задаче применялся алгоритм 2.2 при k равном 1,
2, 3 или 4. Длины полученных маршрутов сравниваются c результатом
алгоритма при k=1.
Результаты численных экспериментов приведены в таблице 3.7.
Таблица 3.7 Среднее время решения и средние отношения длины маршрута
алгоритмов (точность 5%)
n
Среднее время решения, с
k=1
k=2
k=3
k=4
Группа задач I
4
0,00047 0,0012 0,0016 0,0030
5
0,0012 0,0019 0,0042 0,0095
6
0,0011 0,0028 0,0089
0,029
7
0,0011 0,0045
0,019
0,074
8
0,0025 0,0068
0,037
0,18
9
0,0026
0,011
0,06
0,33
10 0,0028
0,014
0,10
0,62
11 0,0031
0,020
0,15
1,1
12 0,0031
0,026
0,22
1,8
13 0,0042
0,037
0,33
3,0
Среднее отношение длины
маршрута к длине маршрута,
найденного алгоритмом 2.2 (k=1)
k=1
k=2
k=3
k=4
1
1
1
1
1
1
1
1
1
1
1,03
1,06
1,11
1,09
1,09
1,08
1,10
1,11
1,11
1,09
0,99
1,01
1,04
1,07
1,06
1,07
1,10
1,08
1,09
1,06
0,96
0,97
1,02
1,04
1,03
1,03
1,07
1,05
1,09
1,04
69
14 0,0042
0,046
15 0,0053
0,058
16 0,0053
0,072
17 0,0066
0,092
18 0,0070
0,11
19 0,0073
0,13
20 0,0082
0,16
21 0,0094
0,19
22 0,0079
0,23
23 0,0089
0,26
24
0,011
0,31
25
0,011
0,36
Группа задач II
4
0,00077 0,0042
5
0,0009 0,0088
6
0,0014
0,014
7
0,0010
0,026
8
0,0022
0,040
9
0,0027
0,059
10 0,0027
0,081
11 0,0036
0,11
12 0,0042
0,15
13 0,0046
0,20
14 0,0044
0,26
15 0,0056
0,34
16 0,0051
0,41
17 0,0083
0,53
18 0,0078
0,81
19 0,0070
0,74
20 0,0083
0,87
21
0,011
1,4
22
0,011
1,5
23
0,010
1,6
24
0,012
1,7
25
0,013
2,1
Группа задач III
4
0,00077 0,0014
0,45
0,66
0,84
1,1
1,5
1,8
2,4
3,0
3,8
4,6
5,8
7,0
4,6
7,1
10,0
14,0
19,7
25,5
35,1
46,8
63,4
79,8
102
136
1
1
1
1
1
1
1
1
1
1
1
1
1,12
1,10
1,14
1,10
1,12
1,13
1,11
1,10
1,13
1,12
1,11
1,14
1,08
1,12
1,13
1,11
1,10
1,10
1,07
1,09
1,10
1,09
1,10
1,11
1,07
1,10
1,13
1,08
1,11
1,07
1,08
1,10
1,08
1,10
1,10
1,13
0,010
0,023
0,047
0,095
0,17
0,29
0,41
0,64
0,94
1,4
1,9
2,7
3,4
4,8
7,8
7,4
9,5
15,4
17,6
19,6
22,1
28,6
0,027
0,073
0,17
0,39
0,81
1,6
2,4
4,2
6,7
10,7
16,3
24,0
31,8
49,0
82,3
83,9
114
191
226
267
314
426
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,02
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,02
1,01
1,01
1,01
1,01
1,01
1,01
1,02
1,01
1,02
1,01
1,01
1,02
1,02
1,02
1,02
1,02
1,02
1,01
1,01
1,01
1,01
1,01
1,01
1,01
1,02
1,01
1,02
1,02
1,02
1,02
1,03
1,02
1,02
1,02
1,02
1,02
1,02
1,02
1,03
1,02
0,0036
0,0065
1
1,02
1,00
0,97
70
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
0,00093
0,00078
0,002
0,0011
0,0025
0,002
0,0023
0,0035
0,0039
0,0049
0,0060
0,0053
0,0059
0,0067
0,0076
0,0086
0,0085
0,010
0,010
0,010
0,013
0,0027
0,0047
0,0059
0,0129
0,02
0,03
0,04
0,05
0,07
0,08
0,10
0,14
0,16
0,21
0,25
0,31
0,38
0,41
0,51
0,61
0,78
0,0076
0,018
0,031
0,056
0,10
0,16
0,24
0,34
0,58
0,74
0,96
1,4
1,7
2,4
3,0
3,9
5,0
5,7
7,5
9,4
12,5
0,023
0,059
0,12
0,27
0,65
0,97
1,6
2,5
4,8
6,4
9,0
14,0
18,4
28,2
37,6
50,7
69,1
82,5
113
148
208
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1,03
1,06
1,03
1,05
1,05
1,03
1,04
1,04
1,04
1,02
1,04
1,05
1,05
1,04
1,07
1,03
1,02
1,06
1,05
1,05
1,03
1,01
1,02
1,01
1,03
1,07
1,03
1,06
1,02
1,05
1,04
1,04
1,05
1,04
1,05
1,06
1,04
1,05
1,07
1,05
1,06
1,04
0,99
1,00
1,01
1,02
1,02
1,03
1,03
1,01
1,03
1,05
1,04
1,03
1,04
1,03
1,07
1,04
1,03
1,07
1,05
1,06
1,04
На основании полученных данных можно сделать следующие выводы:
- во всех группах задач при n>=6 алгоритм 2.2 при k=1 имеет лучший
результат по длине маршрута и затраченному времени (число операций), чем
при других значениях k;
- средняя длина маршрута, полученная при k=2 близка к аналогичному
результату при k=3 и k=4, но временные затраты существенно ниже;
- разница в расстояниях найденных маршрутов, в среднем, находится в
пределах 10%, а у группы задач II – в пределах 1%. С увеличением
количества пунктов эта величина сохраняется;
- группа задач II (значительные веса потребителей при небольшой
вместимости ТС) является самой трудоемкой с точки зрения затрат времени,
что объясняется необходимостью многократного посещения каждого пункта.
71
ЗАКЛЮЧЕНИЕ
1. Сформулированы
математические
модели
поставленных
оптимизационных монономенклатурных задач маршрутизации транспортных
средств:
- задача 1: линейная частично целочисленная модель. Дополнительно
были получены точные оценки решения задачи;
- задача 2: квадратичная булева, линейная целочисленная и линейная
булева модели;
- задача 3: модель, в которой неизвестными являются пары, состоящие
из номера вершины и величины груза. Дополнительно было доказано
существование целочисленного решения задачи при целых исходных
данных;
- задача 4: модель задачи 3 с дополнительными ограничениями.
2. Для задач 1, 2, 3 и 4 разработаны точные алгоритмы решения:
- для задачи 1: решение линейной частично целочисленной задачи;
- для задачи 2: метод ветвей и границ, решение квадратичной булевой
задачи, линейной целочисленной задачи, линейной булевой задачи;
- для задач 3 и 4 в целочисленном случае реализован переборный
алгоритм.
3. Для задач 2 и 3 разработаны эвристические алгоритмы, основанных
на различных методах построения маршрутов.
- для задачи 2: случайный перебор, разбиение маршрута на отрезки в
двух вариантах, на основе остовного дерева Прима, поиск ближайшего
допустимого пункта;
- для задачи 3: поиск ближайшего допустимого пункта со стратегией
«оставь или забери как можно больше», построение двух циклов, на основе
остовного дерева Прима (для целочисленной задачи), случайный перебор
(для целочисленной задачи).
72
4. Предложенные
алгоритмы
программно
реализованы.
Вычислительный эксперимент показал, что:
-в задаче 2 из точных методов наиболее эффективным является
использование модели линейного булева программирования;
-в задаче 2 увеличение вместимости более, чем в 1,8-1,9 раз по
сравнению с минимально допустимой (результат решения задачи 1) не
сокращает длину маршрута;
-при решении задачи 2 наиболее эффективным из предложенных
эвристических алгоритмов является использование алгоритма на основе
построения остовного дерева Прима;
-при решении задачи 3 наиболее эффективным из предложенных
эвристических алгоритмов является использование алгоритма на основе
построения остовного дерева Прима.
73
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1.
Айзенштат В.С., Кравчук Д.Н. О минимуме линейной формы на
множестве всех полных циклов симметрической группы S.
Кибернетика. 1968. 2:64-66.
2.
Бронштейн Е.М., Гиндуллин Р.В. Об одном классе задач
маршрутизации. Математическое Моделирование. 2010. Том 23.
№6. С. 123-132.
3.
Бронштейн Е.М., Гиндуллин Р.В. Об одной целочисленной задаче
маршрутизации. Логистика и управление цепями поставок. 2013.
№6. С. 85-90.
4.
Бронштейн Е.М., Гиндуллин Р.В. Об одном классе задач
маршрутизации. Информационный бюллетень «XIV Всероссийская
конференция «Математическое программирование и приложения»
(тезисы докладов)». Екатеринбург. ИММ УрО РАН. 2011. С. 156157.
5.
Бронштейн
Е.М.,
оптимизационных
международной
Гиндуллин
задач
конференции
Р.В.
Об
одном
маршрутизации.
«Дискретная
классе
Материалы
оптимизация
и
исследование операций». Новосибирск. 2013. С. 127.
6.
Бронштейн Е.М., Гиндуллин Р.В. Об одном классе задач
маршрутизации.
Научно-технические
ведомости
СПбГПУ.
Информатика, телекоммуникации, управление. 2013. №1(164). С.
63-67.
7.
Бронштейн Е.М., Гиндуллин
Р.В. Оптимизационные задачи
транспортной логистики. Материалы международной научной
конференции "Математическое моделирование, оптимизация и
информационные технологии". Кишинеу. Академия транспорта и
коммуникации. 2012. С. 214-219.
74
8.
Бронштейн Е.М., Гиндуллин Р.В. Точные решения некоторых
оптимизационных задач транспортной логистики. Математическое
моделирование. 2013. Том 25. №11. С. 121-127.
9.
Бронштейн Е.М., Заико Т.А. Детерминированные оптимизационные
задачи транспортной логистики. Автоматика и телемеханика. 2010.
10: 133–147.
10.
Гайков Н.Е. О минимуме линейной формы на циклах. // Известия
АН БССР. Серия физико-математических наук. 1980. 4:128.
11.
Гимади Э.Х. , Шахшнейдер А. В. Приближенные алгоритмы с
оценками для задач маршрутизации на случайных входах с
ограниченным числом клиентов в каждом маршруте. // Автоматика
и телемеханика. 2012. № 2. 126–140.
12.
Гиндуллин Р.В. Об одной задаче транспортной логистики. 5-ая
Всероссийская зимняя школа-семинар аспирантов и молодых
ученых «Актуальные проблемы науки и техники». Уфа. 2010. C. 8184.
13.
Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир.
1978. 432 с.
14.
Мудров В.И. Один способ решения задачи коммивояжера с
помощью целочисленного линейного программирования. Журнал
вычислительной математики и математической физикию 1963. 6:
1137–1139.
15.
Свидетельство о государственной регистрации программы для ЭВМ
№ 2011615572 «Решение задач транспортной маршрутизации
различными методами» в Реестре программ для ЭВМ от 15 июля
2011 г.
16.
Ченцов А.А., Ченцов А.Г., Ченцов П. А. Экстремальная задача
маршрутизации перемещений с ограничениями и внутренними
потерями. Известия высших учебных заведений. Математика. 2010.
6: 64–81.
75
17.
Aarts E., Korst J. Simulated Annealing and Boltzmann Machines. A
stochastic Approach to Combinatorial Optimization and Neural
Computing // Chichester: John Wiley and Sons. 1989. 272 pages.
18.
Ansari N., Hou E. Computational Intelligence for Optimization. Boston:
Kluwer Academic. 1996. 225 pages.
19.
Applegate D., Bixby R., Chvátal М., Cook W., Helsgaun K. Optimal
Tour
of
Sweden
//
The
Traveling
http://www.tsp.gatech.edu/sweden/index.html
Salesman.
(дата
2010.
URL:
обращения
29.10.2013).
20.
Archetti C., Hertz A., Speranza M.G. A tabu search algorithm for the
split delivery vehicle routing problem. Transportation Science. 2006.
40:64-73.
21.
Archetti C., Mansini R., Speranza M.G.. Complexity and reducibility of
the skip delivery problem. Transportation Science. 2005. 39: 182-187.
22.
Archetti C., Savelsbergh M.W.P., Speranza M.G. An optimization-based
heuristic for the split delivery vehicle routing problem. Transportation
Science. 2008. 42:22-31.
23.
Archetti C., Savelsbergh M.W.P., Speranza M.G. To split or not to split:
That is the question. // Transportation Research E. 2008. 44:114-123.
24.
Archetti C., Savelsbergh M.W.P., Speranza M.G. Worst-case analysis
for split delivery vehicle routing problems.Transportation Science. 2006.
40: 226-234.
25.
Archetti C., Speranza M.G. Vehicle routing in the 1-skip collection
problem. Journal of the Operational Research Society. 2004. 55:717-727.
26.
Baker B.M., Carreto C.A.C. A visual interactive approach to vehicle
routing. Computers and Operations Research. 2003. 30:321–337.
27.
Baker E.K. An exact algorithm for the time-constrained traveling
salesman problem. Operations Research. 1983. 31: 65-73.
76
28.
Baldacci R., Hadjiconstantinou E., Mingozzi A. An Exact Algorithm for
the Capacitated Vehicle Routing Problem Based on a Two-Commodity
Network Flow Formulation. Operations Research. 2004. 52: 723-738.
29.
Ball M., Bodin L., Baldacci R., Mingozzi A. The rollon-rolloff vehicle
routing problem. Transportation Science. 2000. 34: 271-288.
30.
Baptiste S., Oliviera R. C., Zuquete E. A period vehicle routing case
study. European Journal of Operational Research. 2002. 139:220-229.
31.
Barachet L.L. Graphic solution to the traveling-salesman problem.
Operations Research. 1957. 5: 841-845.
32.
Baralia R., Hildago J.I., Perego R. A Hybrid Heuristic for the Traveling
Salesman Problem. IEEE Transactions on Evolutionary Computation.
2001. 5(6):1–41.
33.
Beardwood J., Halton J. H., Hammersley J. M. The shortest path through
many points. Proceedings of the Cambridge Philosophical Society. 1959.
55: 299-327.
34.
Beckmann M., Koopmans T.C. A Note on the Optimal Assignment
Problem // Cowles Commission Discussion Paper: Economics 2053.
Chicago: Cowles Commission for Researchin Economics. 1952. 12
pages.
35.
Belenguer J.M., Mart´ınez M.C., Mota E. A lower bound for the split
delivery vehicle routing problem. Operations Research. 2000. 48, 801–
810.
36.
Bellman R. Combinatorial processes and dynamic programming.
Combinatorial Analysis. Providence: American Mathematical Society.
1960. Pages 217-249.
37.
Beltrami E. J., L. D. Bodin. Networks and vehicle routing for municipal
waste collection. Networks. 1974. 4:65-94.
38.
Berbeglia G., Cordeau J.F. Gribkovskaia I., Laporte G. Static pickup and
delivery problems: A classication scheme and survey // TOP. 2007. 15:131.
77
39.
Bertsimas D.J., Chervi P., Peterson M. Computational Approaches to
Stochastic Vehicle Routing Problems. Transportation Science. 1995.
29:342-352.
40.
Bertsimas D.J., Jaillet P., Odoni A.R. A priori optimization. Operation
Research. 1990. 38:1019-1033.
41.
Bianco L., Mingozzi A., Ricciardelli S. Exact and heuristic procedures
for the traveling salesman problem with precedence constraints, based on
dynamic programming. INFOR. 1994. 32:19–31.
42.
Birkhoff G. Tres observaciones sobre el algebra lineal. Revista Facultad
de Ciencias Exactas // Puras y Aplicadas Universidad Nacional de
Tucuman, Serie A (Matematicasy Fisica Teorica). 1946. 5: 147-151.
43.
Bock F. An algorithm for solving "travelling-salesman" and related
network optimization problems [abstract]. Operations Research. 1958, 6:
897.
44.
Bock F. Mathematical programming solution of traveling salesman
examples. Recent Advances in Mathematical Programming. New York:
McGraw-Hill. 1963. 347 pages.
45.
Brandão J. A new tabu search algorithm for the vehicle routing problem
with backhauls. European Journal of Operational Research. 2006. 173:
540–555.
46.
Bronstein E., Gindullin R. On one class of routing optimization problem.
Second Annual Conference of the EURO Working Group of Vehicle
Routing and Logistics Optimization (7-10 July 2013, Southhampton,
UK). Southhampton. P. 19.
47.
Bullnheimer B., Hartl R. F. Strauss C. Applying the Ant System to the
Vehicle Routing Problem. Paper presented at 2nd International
Conference on Metaheuristics // Sophia-Antipolis. 1997. July 21-24.
48.
Burkard R.E., Deineko V.G., van Dal R., van der Veen J.A.A.,
Woeginger G.J. Well-solvable special cases of the TSP: a survey, SIAM
Review. 1998. 40: 496–546.
78
49.
Burkard R.E., Klinz B., Rudolf R. Perspectives of Monge Properties in
Optimization. Discrete Applied Mathematics. 1996. 70: 95-161.
50.
Campos V., Corberan A., Mota E. A Scatter Search Algorithm for the
Split Delivery Vehicle Routing Problem. Studies in Computational
Intelligence. 2008. 144: 137–152.
51.
Carrabs F., Cordeau J.-F., Laporte G. Variable neighborhood search for
the pickup and delivery traveling salesman problem with LIFO loading.
INFORMS Journal on Computing. 2007. 19: 618–632.
52.
Casco D., Golden B., Wasil E.. Vehicle routing with backhauls: Models,
algorithms and case studies. Vehicle Routing: Methods and Studies.
Amsterdam: Elsevier Science Publishers. 1988. 127– 147.
53.
Çelaa E., Deinekob V., Woegingerc G.J. The x-and-y-axes travelling
salesman problem. European Journal of Operational Research. 2012.
223: 333–345.
54.
Charon I., Hudry O. Applications of the Noising Method to the
Traveling Salesman Problem. European Journal of Operational Research.
2000. 125:266–277.
55.
Chen S., Golden B., Wasil E. The split delivery vehicle routing problem:
Applications, test problems, and computational results // Networks.
2007. 49: 318-329.
56.
Christofides N., Beasley J.E. The period routing problem. Networks.
1984. 14:237–56.
57.
Christofides N., Mingozzi A., Toth P. Exact algorithms for the vehicle
routing problem based on spanning tree and shortest path relaxation.
Mathematical Programming. 1981. 10:255–280.
58.
Christofides N., Mingozzi A., Toth P. The vehicle routing problem.
Combinatorial Optimization. Chichester: Wiley. 1979. pp315–338.
59.
Clarke G., Wright J. Scheduling of vehicles from a central depot to a
number of delivery points. Operations Research. 1964. 12: 568-581.
79
60.
Cordeau J.-F., Gendreau M., Laporte G. A tabu search heuristic for
periodic and multi-depot vehicle routing problems. Networks. 1997. 30:
105-119.
61.
Cordeau J.-F., Laporte G., Røpke S. Recent models and algorithms for
one-to-one pickup and delivery problems // The Vehicle Routing
Problem: Latest Advances and New Challenges. Springer. 2008. Pages
327–357.
62.
Croes G.A. A method for solving traveling-salesman problems.
Operations Research. 1958. 6: 791-812.
63.
Cutler M. Efficient special case algorithms for the N-line planar
traveling salesman problem. 1980. Networks. 10: 183-195.
64.
Dantzig G., Fulkerson R., Johnson S. Solution of a Large Scale
Traveling Salesman Problem. Paper P-510. Santa Monica: The RAND
Corporation, 1954.
65.
Dantzig G.B., Ramser J.H. The Truck Dispatching Problem.
Management Science. 1959. 6: 80-91.
66.
Deif I., Bodin L. Extension of the Clarke and Wright algorithm for
solving the vehicle routing with backhauling. Proceedings of the Babson
Conference on Software Uses in Transportation and Logistics
Management. 1984. pp. 75–96.
67.
Desaulniers G., Desrosiers J., Erdmann A., Solomon M.M., Soumis F.
VRP with pickup and delivery. SIAM Monographs on Discrete
Mathematics and Applications. 2002. 9: 225–242.
68.
Desrochers M., Verhoog T. W. A Matching Based Savings Algorithm
for the Vehicle Routing Problem. Les Cahiers du GERAD G-89-04.
Montréal: École des Hautes Études Commerciales de Montréal. 1989. 19
pages.
69.
Desrosiers J., Dumas Y., Soumis F. A dynamic programming solution of
the large-scale single-vehicle dial-a-ride problem with time windows.
80
American Journal of Mathematical and Management Sciences, 1986.
6:301–325.
70.
Diaby M. The salesman traveling problem: a linear programming
formulation // WSEAS Transactions on Mathematics 2007. 6: 745-754.
71.
Dorigo M. Ant Colonies for the Traveling Salesman Problem. IEEE
Transactions on Evolutionary Computation. 1997. 1:53–66.
72.
Dorigo M. Optimization, Learning and Natural Algorithms. Ph.D.
Thesis. Milano: Politecnico di Milano.1992.
73.
Dror M., Laporte G., Trudeau P. Vehicle routing with split deliveries.
Discrete Applied Mathematics. 1994. 50: 239–254.
74.
Dror M., Trudeau P. Savings by split delivery routing. Transportation
Science. 1989. 23: 141-145.
75.
Dror M., Trudeau P. Split delivery routing. Naval Research Logistics.
1990. 37: 383-402.
76.
Dror M., Trudeau P. Stochastic Vehicle Routing With Modified Savings
Algorithm. European Journal of Operational Reserach. 1986. 23:228235.
77.
Dueck G., Scheurer T. Threshold Accepting: A General Purpose
Optimization Algorithm // Journal of Computational Physics. 1990.
90:161-175.
78.
Eastman W.L. Linear programming with pattern constraints. Ph.D.
Dissertation. Harvard: Harvard University. 1958.
79.
Fejes L. Uber einen geometrischen Satz. Mathematische Zeitschrift.
1940. 46: 83-85.
80.
Few L. The shortest path and the shortest road through n points.
Mathematika. 1955. 2: 141-144.
81.
Fischetti M., Gonzalez J.J.S., Toth P. A branch-and-cut algorithm for the
symmetric
generalized
traveling
salesman
problem.
Operations
Research. 1997. 45: 378-394.
81
82.
Fischetti M., Toth P. An additive bounding procedure for combinatorial
optimization problems. Operations Research. 1989. 37:319–328.
83.
Fisher M. L., Jaikumar R. A Generalized Assignment Heuristic for
Vehicle Routing. Networks. 1981. 11:109-124.
84.
Frizzell P.W., Giffin J.W. The split delivery vehicle scheduling problem
with time windows and grid network distances. Computers & Operations
Research. 1995. 22: 655-667.
85.
Fukasawa R., de Aragao M.P., Reis M., Uchoa E. Robust Branch-andCut-and-Price for the Vehicle Routing Problem. Relatorios de Pesquisa
em Engenharia de Producao RPEP. 2003. 8.
86.
Gamboa D., Rego C., Glover F. Data Structures and Ejection Chains for
Solving Large-Scale Traveling Salesman Problems. European Journal of
Operational Research. 2005. 160:154–171.
87.
Gamboa D., Rego C., Glover F. Implementation Analysis of Efficient
Heuristic Algorithms for the Traveling Salesman Problem. Computers &
Operations Research. 2006. 33:1154–1172.
88.
Gavish B. A note on the formulation of the m-salesman traveling
salesman problem. Management Science. 1976. 22: 704–705.
89.
Gelinas S., Fabrication de Tournees avec Rechargement. Unpublished
Master's Thesis. Montreal: Ecole Polytechnique. 1991.
90.
Gendreau M., Dejax P., Feillet D., Gueguen C. Vehicle routing with time
windows and split deliveries. Technical Report 851. Avignon:
Laboratoire d'Informatique d'Avignon. 2006.
91.
Gerards A.M.H. Matching in Network Models. In Handbooks in
Operations Research and Management Science. Amsterdam: NorthHolland. 1995. Vol. 7. pp. 135-224.
92.
Ghosh M. N. Expected travel among random points in a region. Calcutta
Statistical Association Bulletin. 1949. 2: 83-87.
93.
Giaglis G. M., Minis I., Tatarakis A., Zeimpekis V. Minimizing logistics
risk through real-time vehicle routing and mobile technologies: research
82
to date and future trends. International Journal of Physical Distribution &
Logistics Management, 2004. 34:749–764.
94.
Gillett B. E., Miller L. R. A Heuristic Algorithm for the Vehicle
Dispatch Problem. Operations Research. 1974. 22:340-349.
95.
Gillett B.E., Johnson J.G. Multi-terminal vehicle-dispatch algorithm.
Omega. 1976. 4:711–718.
96.
Glover F. A Template for Scatter Search and Path Relinking. Lecture
Notes in Computer Science. 1997. 1363: 13–54.
97.
Glover F. Future paths for integer programming and links to artificial
intelligence. Computers and Operations Research. 1986. 13:533–549.
98.
Goetschalckx M., Jacobs-Blecha C. The vehicle routing problem with
backhauls. European Journal of Operational Research. 1989. 42: 39–51.
99.
Goetschalckx, M., Jacobs-Blecha, C. The vehicle routing problem with
backhauls: Properties and solution algorithms. Technical Report MHRCTR-88-13 // Athlanta: Georgia Institute of Technology. 1993.
100.
Goldbarg E.F.G., Souza G.R., Goldbarg M.C. Particle Swarm
Optimization for the Traveling Salesman Problem. EVOCOP. 2006.
3906:99–110.
101.
Goldberg D. Genetic Algorithms in Search, Optimization, and Machine
Learning. New York: Addison Wesley Publishing Company Inc. 1989.
432 pages.
102.
Golden B., Baker E., Alfaro J., Schaffer J. The vehicle routing problem
with backhauling: Two approaches // Proceedings of the Twenty-first
Annual Meeting of S.E. TIMS. Myrtle Beach: S.E. TIMS. 1985. pp. 90–
92.
103.
Golden B.L. and Assad A.A., Vehicle routing: Methods and studies //
Studies in Management Science and Systems. Volume 16. Amsterdam:
North-Holland. 1988. 7-45.
104.
Grötschel M. On the symmetric travelling salesman problem: solution of
a 120-city problem. Mathematical Programming Study. 1980. 12: 61-77.
83
105.
Gueguen C. M´ethodes de r´esolution exacte pour les probl`emes de
tourn´ees dev´ehicules. Ph.D. thesis. Paris:´Ecole Centrale. 1999.
106.
Hanne L., Decision Support for Planning of Multimodal Transportation
with Multiple Objectives, Kongens Lyngby: DTU Transport. 2009. 225
pages.
107.
Hannemann M.M., Schwartz A. Implementing weighted b-matching
algorithms: Towards a flexible software design // ACM Journal of
Experimental Algorithmics. 1999. 4:7.
108.
Heller I. Geometric characterization of cyclic permutations. Bulletin of
the American Mathematical Society. 1955. 61: 227.
109.
Heller I. Neighbor relations on the convex of cyclic permutations.
Bulletin of the American Mathematical Society. 1955. 61: 440.
110.
Heller I. Neighbor relations on the convex of cyclic permutations.
Pacific Journal of Mathematics.1956. 6: 467-477.
111.
Heller I. On the problem of shortest path between points. I // Bulletin of
the American Mathematical Society. 1953. 59: 551.
112.
Heller I. On the problem of shortest path between points. II // Bulletin of
the American Mathematical Society, 1953. 59: 551-552.
113.
Heller I. On the travelling salesman's problem. Proceedings of the
Second Symposium in Linear Programming. Washington, D.C.: National
Bureau of Standards, U.S.Department of Commerce. 1956. Pp.643-665.
114.
Hong S. A linear programming approach for the traveling salesman
problem. Ph.D. Thesis. Baltimore: The Johns Hopkins University. 1972.
115.
Jaillet P. A priori solution of a travelling salesman problem in which a
random subset of customers are visited. Operations Research. 1988. 36:
929-936.
116.
Jessen R. J. Statistical Investigation of a Sample Survey for Obtaining
Farm. Facts Research Bulletin 304. Ames: Iowa State College of
Agriculture and Mechanic Arts. 1942.
84
117.
Jin M., Liu K., Bowden R.O. A two-stage algorithm with valid
inequalities for the split delivery vehicle routing problem. International
Journal of Production Economics. 2007. 105: 228–242.
118.
Jonathan F. Bard, Liu Huang, Patrick J., Moshe Dror, A Decomposition
Approach to the Inventory Routing Problem with Satellite Facilities.
Transportation Science. 1998 . 32: 189-203.
119.
Kalantari B., Hill A.V., Arora S.R. An algorithm for the traveling
salesman problem with pickup and delivery customers. European Journal
of Operational Research. 1985. 22:377-386.
120.
Karg R.L., Thompson G.L. A heuristic approach to solving travelling
salesman problems. Management Science. 1964. 10: 225-248.
121.
Kuhn H.W. On certain convex polyhedra. Bulletin of the American
Mathematical Society. 1955. 61: 557-558.
122.
Kytöjoki J., Nuortio T., Bräysy O., Gendreau M. An efficient variable
neighborhood search heuristic for very large scale vehicle routing
problems. Computers & Operations Research, 2007. 34:2743–2757.
123.
Lambert F. The traveling-salesman problem. Cahiers du Centre de
Recherche Opérationelle. 1960. 2: 180-191.
124.
Land A. The solution of some 100-city travelling salesman problems.
Technical Report // London: London School of Economics. 1979
125.
Landrieu A., Mati Y., and Binder Z. A tabu search heuristic for the
single vehicle pickup and delivery problem with time windows. Journal
of Intelligent Manufacturing. 2001. 12:497-508
126.
Laporte G., Louveau F. Formulations and Bounds for the Stochastic
Capacicated Vehicle Routing Problem With Uncertain Supplies. Report
G-87-23, Montreal: Ecole Hautes Etudes Commerciale. 1987.
127.
Laporte G., Louveau F., Mercure H. Models and Exact Solutions for a
Class of Stochastic Location-Routing Problems. Report G-87-23,
Montreal: Ecole Hautes Etudes Commerciale. 1987.
85
128.
Laporte G., Louveaux F.V., Mercure H. Models and exact solutions for a
class of stochastic location-routing problems. European Journal of
Operational Research. 1989. 39:71-78.
129.
Laporte G., Louveaux F.V., Mercure H. The vehicle routing problem
with stochastic travel times. Transportation Science. 1992. 26:161-170.
130.
Laporte G., Mercure H., Nobert Y. An exact algorithm for the
asymmetrical capacitated vehicle routing problem. Networks. 1986. 16:
33-46.
131.
Lawler E.L., Wood D.E. Branch-and-bound methods: a survey //
Operations Research. 1966. 14: 699-719.
132.
Lee C.G., Epelman M.A., White III C.C., Bozer Y.A. A shortest path
approach to the multiple-vehicle routing problem with split pick-ups.
Transportation Research B. 2006. 40: 265–284.
133.
Li X, Tian P., Hua J., Zhong N. A Hybrid Discrete Particle Swarm
Optimization for the Traveling Salesman Problem. SEAL. 2006.
4247:181-188.
134.
Lin S. Computer solutions of the traveling salesman problem. The Bell
System Technical Journal. 1965. 44: 2245-2269.
135.
Little J.D.C., Murty K.G., Sweeney D.W., Karel C. An algorithm for the
traveling salesman problem. Operations Research. 1964. 11: 972-989.
136.
Liu K. A study on the split delivery vehicle routing problem. PhD thesis,
Starkville: Mississippi State University. 2005.
137.
M.M. Flood, The traveling-salesman problem, Operations Research 4
61-75
138.
Mahalanobis P. C. A sample survey of the acreage under jute in Bengal.
Sankhya. 1940. 4: 511-530.
139.
Malek M., Huruswamy M., Owens H., Pandya M. Serial and parallel
search techniques for the traveling salesman problem. Annual Operation
Research. 1989. 21: 59–84.
86
140.
Marinakis Y., Migdalas A., Pardalos P.M. Expanding Neighborhood
GRASP
for
the
Traveling
Salesman
Problem.
Computational
Optimization and Applications. 2005. 32:231–257.
141.
Marks E. S. A lower bound for the expected travel among m random
points. The Annals of Mathematical Statistics. 1948. 19: 419-422.
142.
Martin G.T., Solving the traveling salesman problem by integer linear
programming. Technical report. // New York: C-E-I-R. 1966.
143.
Martinovic G., Aleksi I., Baumgartner A. Single-Commodity Vehicle
Routing Problem with Pickup and Delivery Service. Mathematical
Problems in Engineering, 2008. 2008: 17 pages.
144.
Matthus F. Tourenplanung - Verfahren zur Einsatzdisposition von
Fuhrparks // Darmstadt: S.Toeche-Mittler Verlag. 1978. 244 seiten.
145.
Menger K.
Das botenproblem. Ergebnisse eines Mathematischen
Kolloquiums. 1932. 2: 11-12.
146.
Menger K. Ein Theorem über die Bogenlange. Mathematischnaturwissenschaftliche. 1928. 65: 264-266.
147.
Menger K. On shortest polygonal approximations to a curve. Reports of
a Mathematical Colloquium. 1940. 2: 33-38.
148.
Menger K. Uber die neue Defnition der Bogenlange. Mathematischnaturwissenschaftliche. 1929. 66: 23-24.
149.
Meulemeester L. De, Laporte G., Louveaux F.V., Semet F. Optimal
sequencing of skip collections and deliveries. Journal of the Operational
Research Society. 1997. 48: 57-64.
150.
Milgram A.N. On shortest paths through a set. Reports of a
Mathematical Colloquium. 1940. 2:39-44.
151.
Miller C.E., Tucker A.W., Zemlin R.A. Integer programming
formulation of traveling salesman problems. Journal of the Association
for Computing Machinery. 1960. 7:326-329.
152.
Mladenovic N., Hansen P. Variable Neighborhood Search. Computers &
Operations Research. 1997. 24:1097–1100.
87
153.
Morton G., Land A., A contribution to the `travelling-salesman' problem.
Journal of the Royal Statistical Society Series B. 1955. 17: 185-194.
154.
Mueller-Merbach H. Drei neue methoden zur lösung des travelling
salesman problems, teil 1 // Ablauf und Planungsforschung. 1966. 7: 3246.
155.
Mueller-Merbach H. Drei neue methoden zur lösung des travelling
salesman problems, teil 2 // Ablauf und Planungsforschung 1966. 7: 7891.
156.
Mueller-Merbach H. Zweimal travelling Salesman. DGOR-Bulletin.
1983. 25: 12-13.
157.
Mullaseril P.A., Dror M., Leung J. Split-delivery routing in livestock
feed distribution. Journal of the Operational Research Society. 1997. 48:
107-116.
158.
Norman R.Z. On the convex polyhedra of the symmetric traveling
salesman problem. Bulletin of the American Mathematical Society.
1955. 61:559.
159.
Nowak M., Ergun O., White C.C. Pickup and delivery with split loads.
Submitted for publication. Transportation Science. 2008. 42: 32-43.
160.
Nowak M.A. The pickup and delivery problem with split loads.
PhDthesis. Atlanta:Georgia Institute of Technology. 2005.
161.
Ombuki B., Hanshar F. An effective genetic algorithm for the multidepot vehicle routing problem. Technical report // Ontario: Brock
University. 2004.
162.
Osman I.H. Metastrategy simulated annealing and tabu search
algorithms for the vehicle routing problem. Annals of Operations
Research. 1993. 41:421–451.
163.
Pankratz G. A grouping genetic algorithm for the pickup and delivery
problem with time windows. Operations Research Spectrum. 2005.
27:21–41.
88
164.
Parragh S., Doerner K., Hartl R. A survey on pickup and delivery
problems. Part I: Transportations between customers and depot // Journal
fur Betriebswirtschaft. 2008. 58: 21-51.
165.
Parragh S., Doerner K., Hartl R. A survey on pickup and delivery
problems. Part II: Transportations between customers and depot //
Journal fur Betriebswirtschaft. 2008. 58: 21-51.
166.
Parragh S.N., Doerner K.F., Hartl R.F. A survey on pickup and delivery
models, part I // Journal fur Betriebswirtschaft. 2008. 58: 21–51.
167.
Picard J. C., Queyranne M. The time-dependent travelling salesman
problem and its application to the tardiness in one-machine scheduling.
Operations Research. 1978, V.26, P.86–110.
168.
Potvin J.Y. Genetic Algorithms for the Traveling Salesman Problem.
Annual Operation Research. 1995. 63:339–370.
169.
Potvin J.Y., Rousseau J.M. A Parallel Route Building Algorithm for the
Vehicle Routing and Scheduling Problem with Time Windows.
European Journal of Operational Research. 1993. 66: 331−340.
170.
Potvin J.Y., Rousseau J.M. An Exchange Heuristic for Routeing
Problems with Time Windows. Journal of the Operational Research
Society . 1995. 46: 1433 −1446.
171.
Raymond T.C. Heuristic algorithm for the traveling-salesman problem.
IBM Journal of Research and Development. 1969. 13: 400-407.
172.
Reiter S., Sherman G. Discrete optimizing. SIAM Journal on Applied
Mathematics. 1965. 13:864-889.
173.
Renaud J., Boctor F.F., Laporte G. Perturbation heuristics for the pickup
and delivery traveling salesman problem. Computers & Operations
Research. 2002. 29:1129–1141.
174.
Renaud J., Laporte G., Boctor F. F. A tabu search heuristic for the multidepot vehicle routing problem. Computers & Operations Research. 1996.
23:229–235.
89
175.
Robacker J.T. Some Experiments on the Traveling-Salesman Problem.
Research Memorandum RM-1521. Santa Monica: The RAND
Corporation. 1955.
176.
Roberts S.M., Flores B. An engineering approach to the traveling
salesman problem. Management Science. 1966. 13: 269-288.
177.
Robinson J. On the Hamiltonian Game (A Traveling Salesman Problem).
Research
Memorandum
RM-303.
Santa
Monica:
The
RAND
Corporation. 1949. 10 pages.
178.
Ronald S. Routing and Scheduling Problems. Practical Handbook of
Genetic Algorithms. New York: CRC Press. 1995. Pages 367–430.
179.
Rossman M. J., Twery R. J. A solution to the travelling salesman
problem by combinatorial programming. Operations Research. 1958.
6:897.
180.
Russell R.A., Igo W. An assignment routing problem. Network. 1979. 9:
1-17.
181.
Ryan D. M., Hjorring C. and Glover F. Extensions of the Petal Method
for Vehicle Routing. Journal of the Operational Research Society. 1993.
44:289-296.
182.
Sanders D. On Extreme Circuits, Ph.D. thesis, New York: City
University of New York. 1968.
183.
Scheuerer
S.
Neue
Tabusuche-Heuristiken
fur
die
logistische
Tourenplanung bei restringierendem Anhangereinsatz, mehreren Depots
und
Planungsperioden
//
PhD
thesis.
Regensburg:
Universitat
Regensburg. 2004.
184.
Schrijver A. On the History of Combinatorial Optimization (till 1960).
Handbooks in Operations Research and Management Science: Discrete
Optimization. Amsterdam: Elsevier. 2005. pp. 1-68
185.
Shapiro D. Algorithms for the solution of the optimal cost traveling
salesman problem. Sc.D. Thesis, St. Louis: Washington University.
1966.
90
186.
Sierksma G., Tijssen G.A. Routing helicopters for crew exchanges on
off-shore locations. Annals of Operations Research. 1998. 76: 261-286.
187.
Solomon M.M. Algorithms for the Vehicle Routing Problem with Time
Windows. Transportation Science. 1995. 29:156-166.
188.
Solomon M.M. Algorithms for the Vehicle Routing and Scheduling
Problems with Time Window Constraints. Operations Research. 1987.
35: 254−265.
189.
Stewart
W.R.Jr.,
Golden
B.L.
Stochastic
vehicle
routing:
A
comprehensive approach // European Journal of Operational Research.
1983. 14:371-385.
190.
Taillard É.D. Parallel iterative search methods for vehicle routing
problems. Networks. 1993. 23:661–673.
191.
Tan C.C.R., Beasley J. E. A heuristic algorithm for the period vehicle
routing problem. Omega. 1984. 12:497-504.
192.
Teodorovic D., Pavkovic G. A simulated annealing technique approach
to the vehicle routing problem in the case of stochastic demand.
Transportation Planning and Technology. 1992. 16:261–273.
193.
Thanghia S.R., Salhi S. Genetic clustering: An adaptive heuristic for the
multidepot vehicle routing problem // Applied Artificial Intelligence.
2001. 15:361–383.
194.
Thangiah S. R., Nygard K. E., Juell P. L. Gideon: A genetic algorithm
system for vehicle routing with time windows // Proceedings of the
Seventh Conference on Artificial Intelligence Applications. Miami:
IEEE Computer Society Press. 1991. Pages 322–325.
195.
Thangiah S.R. Vehicle Routing with Time Windows using Genetic
Algorithms. Technical Report SRU-CpSc-TR-93-23. Slippery Rock:
Computer Science Department, Slippery Rock University. 1993.
196.
Thompson P. M., Psaraftis H. N. Cyclic Transfer Algorithms for the
Multivehicle Routing and Scheduling Problems. Operations Research.
1993. 41:935-946.
91
197.
Tillman F.A. The multiple terminal delivery problem with probabilistic
demands. Transportation Science. 1969. 3:192–204.
198.
Van Breedam A. An Analysis of the Behavior of Heuristics for the
Vehicle Routing Problem for a Selection of Problems with VehicleRelated, Customer-Related, and Time-Related Constraints. Ph.D.
dissertation // Antwerp:University of Antwerp. 1994
199.
Van der Bruggen L.J.J., Lenstra J.K., Schuur P.C. Variable-depth search
for the single-vehicle pickup and delivery problem with time windows.
Transportation Science. 1993. 27:298–311.
200.
Verblunsky S. On the shortest path through a number of points.
Proceedings of the American Mathematical Society. 1951. 2: 904-913.
201.
Weuthen H.-K. Tourenplanung - Losungsverfahren fur Mehrdepot –
Probleme // PhD thesis. Universitat Karlsruhe TH. 1983.
202.
Wilck IV J., Cavalier T. A Construction Heuristic for the Split Delivery
Vehicle Routing Problem. American Journal of Operations Research.
2012. 2: 153-162.
203.
Willard J.A.G. Vehicle routing using r-optimal tabu search. MSc thesis.
London: Management School, Imperial College. 1989.
204.
Wren A. and Holliday A. Computer scheduling of vehicles from one or
more depots to a number of delivery points. Journal of the Operational
Research Society. 1972. 23:333–344.
205.
Xie M., Miyawaki T., De Jong K.A. Solving the Multi-Depot Vehicle
Routing Problem using Ant Colony Optimization and Re-Assignment //
Applied Simulation and Modelling / 777: Artificial Intelligence and Soft
Computing, June 25 – 27, 2012, Napoli. Calgary: ACTA Press. 2012.
777-007.
206.
Yano C.A., Chan T.J., Richter L., Culter T., Murty K.G., McGettigan D.
Vehicle Routing at Quality Stores. Interfaces. 1987. 17: 52-63.
92
ПРИЛОЖЕНИЕ А.
Таблица А.1 Число итераций разных алгоритмов при решении примеров задачи 2
n
№
Количество итерации, затраченное на решение примера, с
Линейное
целочисленное
программирование
Квадратичное
булево
программирование
Метод
ветвей и
границ
Линейное
булево
программирование
Метод
2.1
(случайный
поиск)
Метод
2.2
(отрезки
1)
Метод
2.3
(отрезки
2)
Метод
2.4
(остовное
дерево
Прима)
Метод
2.5
(жадный
поиск),
k=1
Метод
2.5
(жадный
поиск),
k=2
Метод
2.5
(жадный
поиск),
k=3
4
1
237
21
17
3
13
29
32
32
16
41
109
4
2
88
10
17
0
14
29
32
32
16
50
133
4
3
51
17
12
0
15
16
16
16
16
41
134
4
4
44
20
14
5
19
16
16
16
16
42
112
4
5
71
10
17
2
10
29
32
32
16
53
109
4
6
79
19
13
0
11
16
16
16
16
53
115
4
7
166
10
16
3
12
29
32
32
16
45
113
4
8
134
14
13
0
12
16
16
16
16
45
134
4
9
0
19
14
6
11
16
16
16
16
43
128
4
10
123
14
13
0
17
16
16
16
16
46
127
4
11
56
16
13
0
16
16
16
7
16
58
142
4
12
59
17
13
0
19
16
16
7
16
40
110
4
13
69
19
13
0
10
16
16
16
16
42
127
4
14
169
14
17
3
19
29
32
32
16
54
109
93
4
15
324
17
13
0
11
16
16
7
16
52
138
4
16
46
17
17
3
11
29
32
32
16
53
133
4
17
349
16
11
0
13
16
16
16
16
45
111
4
18
48
15
13
0
14
16
16
16
16
45
115
4
19
52
15
13
0
10
16
16
16
16
52
115
4
20
370
21
17
0
10
29
32
32
16
53
137
4
21
53
13
10
0
10
29
32
32
16
50
114
4
22
49
10
17
3
15
29
32
32
16
45
125
4
23
260
10
17
1
12
29
32
32
16
45
113
4
24
239
14
17
0
11
29
32
32
16
45
137
4
25
54
19
17
3
12
29
32
32
16
45
113
4
26
293
19
17
3
16
29
32
32
16
50
125
4
27
591
15
10
0
13
29
32
32
16
50
119
4
28
142
20
14
5
10
16
16
7
16
55
128
4
29
44
16
16
0
18
29
32
32
16
45
125
4
30
114
19
17
3
15
29
32
32
16
45
125
4
31
0
18
10
0
15
29
32
32
16
49
119
4
32
387
13
13
0
11
16
16
16
16
45
127
4
33
47
10
17
0
15
29
32
32
16
53
137
4
34
81
18
17
0
16
29
32
32
16
45
133
4
35
50
15
13
0
11
16
16
16
16
53
115
4
36
282
16
13
0
11
16
16
7
16
44
111
4
37
361
13
15
0
19
29
32
32
16
45
113
4
38
70
12
17
0
15
29
32
32
16
50
137
4
39
53
14
17
3
11
29
32
32
16
45
113
4
40
39
10
17
1
12
29
32
32
16
50
133
4
41
336
13
17
2
18
29
32
32
16
53
113
4
42
47
19
14
6
14
16
16
16
16
47
113
94
4
43
261
16
13
0
13
16
16
16
16
47
128
4
44
120
19
17
3
12
29
32
32
16
41
133
4
45
216
20
13
0
14
16
16
7
16
40
110
4
46
108
10
17
0
19
29
32
32
16
54
137
4
47
223
19
14
6
10
16
16
16
16
53
136
4
48
105
13
10
0
12
29
32
32
16
47
118
4
49
82
20
14
6
14
16
16
7
16
48
117
4
50
229
18
13
0
11
16
16
16
16
46
127
4
51
0
10
16
0
14
29
32
32
16
45
125
4
52
0
19
17
0
10
29
32
32
16
53
109
4
53
97
10
16
0
18
29
32
32
16
45
125
4
54
86
15
13
0
10
16
16
7
16
52
135
4
55
195
17
13
0
13
16
16
16
16
51
134
4
56
70
17
13
0
17
16
16
7
16
42
114
4
57
41
16
13
0
13
16
16
7
16
53
138
4
58
87
15
13
0
11
16
16
16
16
53
142
4
59
646
24
13
0
10
16
16
7
16
52
138
4
60
103
14
17
0
15
29
32
32
16
45
109
4
61
82
10
17
1
10
29
32
32
16
54
137
4
62
40
14
10
0
10
29
32
32
16
49
119
4
63
33
10
17
0
11
29
32
32
16
54
137
4
64
212
25
13
0
10
16
16
7
16
40
135
4
65
41
10
17
0
10
29
32
32
16
45
109
4
66
79
19
13
0
12
16
16
7
16
44
111
4
67
465
10
17
2
24
29
32
32
16
53
133
4
68
48
13
17
0
13
29
32
32
16
41
137
4
69
213
10
17
2
16
29
32
32
16
50
133
4
70
227
14
13
0
10
16
16
7
16
44
134
95
4
71
69
21
14
5
16
16
16
16
16
46
128
4
72
99
14
13
0
11
16
16
7
16
52
114
4
73
101
14
13
0
13
16
16
16
16
48
134
4
74
169
17
13
0
14
16
16
7
16
55
136
4
75
205
17
10
0
16
29
32
32
16
49
114
4
76
156
16
13
0
11
16
16
16
16
46
127
4
77
252
10
9
0
20
29
32
32
16
49
119
4
78
187
10
10
0
22
29
32
32
16
44
114
4
79
31
16
13
0
12
16
16
7
16
40
115
4
80
66
16
13
0
12
16
16
16
16
50
135
4
81
70
10
17
0
11
29
32
32
16
54
137
4
82
178
20
14
5
18
16
16
7
16
53
113
4
83
41
10
10
0
12
29
32
32
16
49
114
4
84
165
21
13
0
11
16
16
16
16
41
111
4
85
391
18
13
0
12
16
16
7
16
46
134
4
86
51
16
12
0
14
16
16
16
16
46
111
4
87
76
18
13
0
11
16
16
16
16
53
135
4
88
159
18
17
3
10
29
32
32
16
41
125
4
89
60
19
14
7
15
16
16
16
16
50
138
4
90
51
21
13
0
12
16
16
16
16
45
127
4
91
54
15
13
0
11
16
16
16
16
47
115
4
92
42
22
14
6
12
16
16
7
16
54
139
4
93
64
14
17
0
19
29
32
32
16
53
133
4
94
33
16
13
0
10
16
16
7
16
47
116
4
95
209
25
14
7
11
16
16
7
16
54
139
4
96
0
19
17
0
12
29
32
32
16
41
109
4
97
228
21
17
3
15
29
32
32
16
45
109
4
98
125
12
17
0
20
29
32
32
16
45
109
96
4
99
67
20
14
6
10
16
16
7
16
56
137
4
100
53
18
14
7
11
16
16
7
16
49
117
5
101
2941
127
38
18
17
39
42
12
25
104
344
5
102
165
80
64
22
27
84
85
85
25
99
400
5
103
1757
107
50
32
12
39
42
42
25
112
364
5
104
1878
91
63
22
13
84
85
85
25
114
395
5
105
57
101
43
24
13
39
42
42
25
96
311
5
106
195
150
51
17
13
39
42
12
25
109
401
5
107
3940
126
39
17
18
39
42
12
25
104
345
5
108
1286
125
38
20
14
39
42
12
25
108
398
5
109
1213
133
42
22
15
39
42
12
25
104
344
5
110
1094
68
50
9
13
39
42
12
25
108
396
5
111
195
88
66
24
16
84
85
85
25
88
385
5
112
552
110
51
23
15
39
42
12
25
112
392
5
113
356
74
49
28
12
39
42
42
25
81
333
5
114
1642
150
46
21
18
39
42
12
25
112
365
5
115
366
126
49
23
15
39
42
12
25
101
298
5
116
55
77
51
10
24
39
42
12
25
111
392
5
117
494
82
37
14
29
39
42
42
25
89
336
5
118
1277
102
41
20
17
39
42
12
25
98
401
5
119
1806
143
43
19
19
39
42
12
25
96
337
5
120
709
127
52
23
15
39
42
12
25
96
334
5
121
1940
59
35
9
15
39
42
42
25
98
323
5
122
539
155
55
27
18
39
42
12
25
108
340
5
123
6894
62
50
10
22
39
42
42
25
94
353
5
124
65
98
43
25
22
39
42
42
25
116
384
5
125
3363
104
38
15
32
38
41
12
25
80
302
5
126
61
94
66
18
21
83
85
85
25
111
395
97
5
127
1500
83
51
17
25
39
42
12
25
108
397
5
128
2131
89
48
14
15
39
42
12
25
111
376
5
129
1056
83
51
16
17
39
42
12
25
80
296
5
130
1787
156
51
24
12
39
42
42
25
96
386
5
131
864
142
49
27
22
39
42
42
25
97
364
5
132
783
87
53
26
16
83
85
85
25
98
325
5
133
290
90
66
27
25
82
85
85
25
88
391
5
134
446
122
52
27
15
39
42
42
25
115
389
5
135
4293
56
24
17
20
84
85
85
25
101
347
5
136
1175
91
49
28
14
39
42
12
25
101
338
5
137
245
139
51
28
16
39
42
12
25
112
392
5
138
227
99
40
27
22
39
42
12
25
95
307
5
139
1503
65
50
21
26
39
42
12
25
80
296
5
140
3602
108
38
18
12
39
42
12
25
84
302
5
141
123
135
49
17
22
39
42
12
25
95
332
5
142
1114
162
48
35
21
39
42
42
25
118
333
5
143
605
137
38
16
18
39
42
12
25
80
356
5
144
935
104
51
21
19
39
42
12
25
96
389
5
145
705
108
39
39
19
39
42
12
25
92
306
5
146
2189
107
52
17
20
39
42
12
25
110
377
5
147
4285
80
65
15
13
83
85
85
25
83
305
5
148
1262
90
65
0
24
82
85
85
25
111
305
5
149
328
92
39
21
14
39
42
12
25
97
336
5
150
227
121
43
22
14
39
42
12
25
102
350
5
151
3005
176
53
42
13
39
42
42
25
102
367
5
152
3756
129
41
31
20
39
42
12
25
105
390
5
153
1559
140
49
20
28
39
42
12
25
110
328
5
154
75
114
42
23
22
39
42
12
25
90
305
98
5
155
1562
86
34
20
19
39
42
12
25
82
297
5
156
59
156
51
20
19
39
42
12
25
112
357
5
157
1496
80
38
13
16
37
40
40
25
116
341
5
158
1965
103
41
19
21
39
42
12
25
96
386
5
159
635
121
46
21
13
39
42
42
25
111
356
5
160
1734
97
66
29
21
85
85
85
25
111
391
5
161
280
154
34
20
14
39
42
12
25
86
301
5
162
1682
79
32
15
13
39
42
42
25
104
340
5
163
358
131
50
21
13
39
42
12
25
102
397
5
164
117
130
41
14
26
39
42
42
25
102
366
5
165
1286
86
47
14
19
39
42
42
25
106
395
5
166
3025
124
51
15
21
39
42
12
25
96
333
5
167
330
91
50
17
13
39
42
42
25
104
303
5
168
2259
169
40
20
16
39
42
12
25
101
306
5
169
3373
95
43
20
12
39
42
42
25
108
350
5
170
343
76
50
9
15
39
42
12
25
92
301
5
171
903
83
28
20
14
85
85
85
25
106
353
5
172
535
85
66
22
25
83
85
85
25
115
401
5
173
830
106
38
14
12
39
42
12
25
110
392
5
174
52
85
62
11
33
85
85
85
25
98
325
5
175
1339
116
43
34
16
39
42
12
25
109
403
5
176
1842
106
55
27
25
39
42
12
25
112
378
5
177
51
82
66
21
12
84
85
85
25
83
406
5
178
3436
99
39
27
18
39
42
12
25
115
394
5
179
809
153
51
29
20
39
42
12
25
108
397
5
180
481
59
48
12
23
39
42
42
25
103
363
5
181
2580
107
42
29
31
39
42
12
25
114
341
5
182
1479
98
38
21
13
39
42
12
25
98
409
99
5
183
392
74
51
10
26
39
42
12
25
111
387
5
184
3492
111
53
21
36
39
42
42
25
98
336
5
185
830
143
46
27
19
39
42
42
25
106
368
5
186
751
127
41
30
20
39
42
12
25
103
400
5
187
5253
88
38
16
13
39
42
42
25
104
336
5
188
712
86
46
24
13
80
85
85
25
115
366
5
189
1542
113
44
25
20
39
42
12
25
112
399
5
190
321
94
64
0
26
83
85
85
25
88
325
5
191
2828
74
49
10
13
39
42
12
25
111
391
5
192
95
102
55
31
22
39
42
12
25
120
369
5
193
61
104
41
17
12
39
42
12
25
84
337
5
194
2023
108
52
31
17
39
42
12
25
112
402
5
195
251
94
63
19
17
82
85
85
25
99
400
5
196
79
117
38
10
25
39
42
12
25
94
314
5
197
2024
142
43
22
13
39
42
42
25
84
301
5
198
2622
68
60
23
12
82
85
85
25
93
330
5
199
6734
124
38
30
13
39
42
12
25
106
371
5
200
289
69
62
11
19
85
85
85
25
83
335
6
201
30022
936
170
0
18
78
84
18
36
181
828
6
202
2758
545
245
38
14
98
101
101
36
186
780
6
203
229
871
226
56
32
101
101
34
36
198
931
6
204
1207
967
187
58
25
78
84
18
36
199
950
6
205
2626
806
257
49
17
97
101
101
36
187
856
6
206
5744
991
145
51
20
98
98
34
36
184
890
6
207
33275
1163
226
55
16
100
101
34
36
179
936
6
208
7863
935
163
50
15
78
84
84
36
165
781
6
209
30552
1240
196
63
28
78
84
18
36
201
886
6
210
16039
1037
184
95
32
78
84
18
36
201
901
100
6
211
5400
666
270
0
20
215
193
193
36
209
940
6
212
46128
998
115
0
22
78
84
18
36
178
782
6
213
5647
881
238
54
29
99
101
34
36
203
880
6
214
4579
592
218
49
27
97
100
18
36
208
834
6
215
9077
926
223
83
21
101
101
34
36
186
863
6
216
15835
871
192
48
18
99
99
34
36
210
943
6
217
113
713
214
37
17
100
101
34
36
157
774
6
218
734
759
141
75
21
68
74
18
36
178
936
6
219
7894
973
204
93
26
78
84
18
36
202
901
6
220
71174
730
147
50
30
97
99
101
36
182
804
6
221
8484
678
160
42
19
98
101
34
36
167
779
6
222
2552
783
114
72
26
100
101
34
36
195
825
6
223
9280
948
201
110
24
18
18
18
36
199
927
6
224
7112
1067
206
89
25
98
101
34
36
203
901
6
225
186607
1114
192
0
25
78
84
18
36
179
789
6
226
4325
669
303
32
14
218
193
193
36
213
947
6
227
2589
694
307
32
25
217
193
193
36
192
898
6
228
423
578
232
24
19
201
193
193
36
193
916
6
229
10008
905
177
61
30
78
84
9
36
167
813
6
230
4353
905
165
43
26
78
84
18
36
197
832
6
231
22709
1346
187
98
19
78
84
9
36
213
933
6
232
22404
992
253
92
14
96
100
101
36
202
893
6
233
112
678
156
101
18
98
101
34
36
171
845
6
234
6911
622
260
42
24
194
193
193
36
199
932
6
235
68524
1036
172
80
26
78
84
18
36
164
830
6
236
3778
1000
198
34
29
78
84
18
36
156
699
6
237
4980
507
219
39
27
101
101
34
36
206
822
6
238
4370
798
146
61
23
18
18
9
36
173
809
101
6
239
8505
901
214
0
24
97
101
34
36
152
739
6
240
3971
1087
204
72
22
78
84
18
36
171
870
6
241
106
1107
207
49
14
78
84
18
36
205
876
6
242
5630
535
268
37
24
229
193
193
36
209
920
6
243
105
993
178
0
27
78
84
18
36
188
878
6
244
6484
935
273
65
26
98
101
18
36
205
897
6
245
129
976
205
59
30
78
84
18
36
180
764
6
246
39583
896
163
59
15
18
18
9
36
202
769
6
247
5435
1011
149
82
20
78
84
18
36
175
820
6
248
256
1175
165
31
22
78
84
18
36
169
764
6
249
11270
810
151
58
21
18
18
9
36
198
755
6
250
6400
1043
224
52
19
100
101
18
36
191
806
6
251
80580
631
174
48
16
78
84
18
36
185
804
6
252
2246
1116
184
138
14
100
101
34
36
153
889
6
253
7998
826
216
109
30
98
100
18
36
204
939
6
254
13602
725
179
0
31
101
101
34
36
162
730
6
255
10272
858
153
64
36
97
101
34
36
181
764
6
256
806
837
134
59
14
98
101
34
36
182
832
6
257
23627
664
279
51
18
210
193
193
36
208
905
6
258
6321
919
120
30
21
78
84
18
36
173
761
6
259
13376
651
209
45
14
100
101
101
36
187
810
6
260
2198
708
190
53
17
99
101
34
36
206
782
6
261
5861
812
271
38
24
98
101
101
36
203
882
6
262
112
838
232
31
21
99
101
34
36
181
794
6
263
92
911
225
42
21
96
99
18
36
202
892
6
264
12163
621
233
84
23
100
101
34
36
181
760
6
265
6242
551
228
51
17
99
101
34
36
204
905
6
266
3123
754
167
57
29
78
84
18
36
169
776
102
6
267
14401
859
165
115
28
78
84
9
36
147
819
6
268
108
883
122
35
14
100
101
18
36
192
820
6
269
24355
770
245
75
32
101
101
18
36
170
900
6
270
59110
824
148
59
22
97
101
34
36
184
677
6
271
15128
909
203
111
21
78
84
18
36
206
940
6
272
10594
857
206
0
25
98
101
18
36
209
869
6
273
1076
822
239
46
14
97
101
34
36
185
838
6
274
106
1020
167
32
37
78
84
18
36
151
720
6
275
750
912
198
53
17
78
84
18
36
180
905
6
276
28118
804
157
36
24
78
84
84
36
186
840
6
277
69601
880
161
64
30
98
101
34
36
189
870
6
278
11390
998
121
33
17
78
84
84
36
162
715
6
279
127143
765
205
0
14
78
84
18
36
158
702
6
280
18895
837
157
96
24
101
101
34
36
179
818
6
281
2078
970
175
55
24
78
84
18
36
181
818
6
282
10239
725
292
70
19
191
193
193
36
211
927
6
283
220
613
310
36
20
221
193
193
36
175
856
6
284
8872
955
233
53
27
96
100
18
36
184
935
6
285
6943
659
149
0
15
78
84
9
36
177
917
6
286
6948
735
121
54
21
78
84
84
36
189
847
6
287
34584
526
224
37
25
98
101
101
36
165
780
6
288
193
766
151
41
23
78
84
84
36
173
817
6
289
91
498
225
32
35
100
101
34
36
183
828
6
290
77
518
246
50
23
101
101
18
36
197
930
6
291
92
755
214
45
20
100
101
18
36
164
676
6
292
6453
545
256
84
20
203
193
193
36
173
824
6
293
14881
825
163
96
26
101
101
34
36
183
792
6
294
9758
686
292
37
43
221
193
193
36
188
947
103
6
295
15373
1204
222
161
15
98
101
34
36
168
835
6
296
112
823
164
32
14
101
101
34
36
188
794
6
297
7493
852
104
47
20
97
101
34
36
170
752
6
298
7550
994
252
70
25
101
101
18
36
181
842
6
299
7610
649
137
40
22
97
101
101
36
192
760
6
300
13279
856
230
100
25
99
101
34
36
208
923
7
301
37625
7436
1143
107
24
242
217
44
49
302
1851
7
302
8660
7138
1048
116
34
257
217
87
49
270
1555
7
303
59869
7628
539
109
23
161
167
26
49
307
1629
7
304
61658
6687
1217
212
16
235
217
87
49
284
1728
7
305
14291
7253
1221
30
19
248
217
44
49
346
1608
7
306
197074
6216
1063
457
16
244
217
44
49
282
1564
7
307
30266
7655
564
57
17
41
44
14
49
301
1611
7
308
163207
7678
1257
1738
37
245
217
87
49
284
1634
7
309
339223
8880
659
233
20
163
167
26
49
316
1660
7
310
65822
6990
522
76
23
164
167
26
49
298
1561
7
311
22847
7795
565
183
26
160
167
14
49
310
1600
7
312
39415
7239
727
98
33
249
213
213
49
295
1426
7
313
105965
7037
853
109
42
160
167
26
49
267
1397
7
314
206350
6961
712
117
19
163
167
14
49
265
1452
7
315
19015
7457
514
89
39
163
167
26
49
243
1346
7
316
144
6844
643
98
27
41
44
26
49
311
1704
7
317
226782
5622
1560
0
28
718
388
388
49
339
1820
7
318
195472
5837
1108
98
18
242
217
216
49
304
1690
7
319
147592
6475
559
364
39
41
26
44
49
234
1505
7
320
1026592
8053
1177
659
16
162
167
26
49
308
1650
7
321
50845
6505
501
119
17
164
167
14
49
285
1579
7
322
372987
5453
1327
65
33
249
217
87
49
265
1647
104
7
323
610187
7415
429
215
18
160
167
167
49
315
1636
7
324
11421
6088
858
93
23
247
217
87
49
308
1850
7
325
92102
7894
374
82
19
41
44
44
49
261
1447
7
326
123776
6525
862
176
30
163
167
167
49
261
1571
7
327
7418
7650
458
86
35
162
167
44
49
295
1622
7
328
1626424
7854
1311
0
16
240
217
87
49
351
1858
7
329
53038
7273
446
199
16
161
167
14
49
281
1441
7
330
116952
7787
1109
137
43
161
167
14
49
298
1842
7
331
516375
8697
946
150
33
162
167
26
49
333
1843
7
332
20155
7609
1122
90
27
162
167
14
49
292
1629
7
333
3374
7515
802
115
17
164
167
167
49
324
1757
7
334
1995634
7488
1163
109
17
161
167
44
49
334
1719
7
335
8672
7659
1380
114
33
234
217
87
49
319
1878
7
336
155334
4861
920
0
20
239
217
217
49
331
1757
7
337
155838
10294
1146
191
46
161
167
44
49
318
1890
7
338
3786655
7664
866
358
50
41
44
44
49
250
1313
7
339
178600
6398
859
0
25
164
167
44
49
328
1751
7
340
107613
7415
823
114
29
159
167
167
49
314
1690
7
341
10404
9387
718
119
16
162
167
14
49
325
1825
7
342
33283
6684
903
0
20
241
217
44
49
335
1609
7
343
291984
9334
1083
164
26
161
167
14
49
297
1686
7
344
98622
6702
962
0
29
252
217
87
49
262
1416
7
345
105602
8114
1171
99
23
245
217
217
49
302
1776
7
346
813
5411
1085
98
17
475
388
388
49
310
1625
7
347
339101
5891
630
93
45
237
217
44
49
313
1629
7
348
74036
6846
1107
137
19
231
213
44
49
280
1512
7
349
36286
5037
1007
98
31
718
388
388
49
263
1666
7
350
59515
6310
591
66
17
220
217
44
49
311
1846
105
7
351
70566
8473
894
0
35
163
167
26
49
314
1550
7
352
98844
7995
907
145
27
161
167
26
49
300
1561
7
353
164
8558
1026
57
28
164
167
44
49
324
1671
7
354
48741
8050
1001
158
25
163
167
14
49
300
1818
7
355
207878
7845
719
138
25
160
167
14
49
285
1661
7
356
179343
5701
777
135
24
41
26
14
49
320
1792
7
357
9676
9514
1206
106
34
161
167
14
49
324
1605
7
358
238271
9167
1051
0
26
164
167
26
49
315
1747
7
359
603921
8333
680
100
24
41
44
14
49
344
1784
7
360
579407
7975
709
104
31
26
44
14
49
303
1859
7
361
8249
7926
596
79
19
41
44
44
49
336
1767
7
362
17185
8582
967
98
29
162
167
167
49
335
1676
7
363
38857
8322
410
88
27
162
167
26
49
298
1481
7
364
47939
8496
831
296
25
150
157
44
49
260
1483
7
365
121393
6474
369
81
25
158
167
14
49
233
1612
7
366
3495572
7026
949
4185
17
41
44
44
49
262
1377
7
367
99
7685
919
0
27
41
44
44
49
259
1518
7
368
3818
7332
720
69
17
41
44
44
49
302
1520
7
369
232893
8584
841
0
18
164
167
44
49
269
1511
7
370
111257
6943
1057
278
20
254
217
44
49
267
1646
7
371
983678
7684
1088
205
27
251
217
87
49
339
1671
7
372
14223
8953
1341
138
22
164
167
26
49
325
1675
7
373
176117
8713
851
101
29
164
167
14
49
320
1651
7
374
30908
6965
1137
100
20
164
167
14
49
313
1659
7
375
107
9305
1197
131
20
163
167
14
49
333
1822
7
376
126989
8216
824
206
39
159
167
167
49
333
1806
7
377
112
7630
1301
34
20
243
217
87
49
336
1880
7
378
141709
8047
953
280
25
41
44
26
49
306
1593
106
7
379
1466261
9865
1392
272
44
245
217
44
49
334
1573
7
380
65455
7551
976
165
19
41
44
26
49
337
1877
7
381
904619
7388
1053
135
24
162
167
26
49
253
1399
7
382
80223
5641
944
82
17
163
167
26
49
300
1548
7
383
66606
6665
1234
145
38
239
217
217
49
282
1804
7
384
5828
7490
1160
72
16
214
216
44
49
334
1889
7
385
24792
6481
881
258
34
230
217
44
49
269
1513
7
386
236278
6497
747
109
22
41
44
44
49
326
1843
7
387
674597
8261
898
0
17
160
167
14
49
311
1665
7
388
464156
9992
993
0
22
163
167
44
49
301
1661
7
389
31859
7450
731
1025
46
41
44
44
49
346
1869
7
390
1908
8613
1247
47
24
257
217
217
49
340
1867
7
391
24105
5743
796
53
16
234
214
87
49
289
1548
7
392
251257
7170
1264
0
60
257
217
217
49
291
1680
7
393
116
8214
912
32
47
159
167
44
49
336
1723
7
394
186743
6894
814
0
20
163
167
26
49
295
1520
7
395
231048
7602
783
101
22
164
167
167
49
276
1402
7
396
3033
7178
823
140
45
161
167
44
49
341
1583
7
397
49181
8336
596
157
19
163
167
14
49
307
1462
7
398
101159
5215
1269
95
31
508
388
388
49
355
1852
7
399
1252
7217
804
99
18
254
217
87
49
318
1875
7
400
173433
7661
890
0
22
156
162
26
49
271
1523
8
401
184
63410
4682
177
21
428
422
86
64
464
2801
8
402
213048
83693
3430
146
56
280
286
20
64
531
3364
8
403
3984321
94574
5860
713
30
336
315
103
64
505
3133
8
404
64005
86858
3388
109
37
282
286
20
64
519
3263
8
405
2285359
72899
7658
598
35
680
422
86
64
527
3433
8
406
552097
48331
5684
151
31
581
422
422
64
516
3354
107
8
407
1600946
65694
4236
98
26
327
315
103
64
415
2712
8
408
1674288
60523
6292
218
28
2532
710
710
64
511
3440
8
409
20928
72889
3888
141
30
279
286
20
64
493
3052
8
410
3998690
65103
4723
220
20
338
315
103
64
512
3284
8
411
2390176
56328
1677
175
33
57
60
36
64
475
3027
8
412
25737910
81514
4774
2431
27
276
286
38
64
556
3355
8
413
16352
66252
2561
169
39
57
103
20
64
410
2716
8
414
166
69859
2647
120
30
352
315
315
64
560
3007
8
415
65220
75212
2169
165
28
80
86
11
64
363
2779
8
416
4752
65189
4435
135
27
338
315
56
64
533
3404
8
417
2664
78754
4423
260
30
277
286
20
64
492
3091
8
418
85593826
73719
2988
1817
42
275
286
20
64
431
2700
8
419
57322154
47626
4142
673
25
57
60
60
64
538
3378
8
420
72679626
67795
3483
157
18
341
315
103
64
503
3290
8
421
84501
64354
2442
1445
23
316
315
60
64
544
3026
8
422
794791
71324
2299
195
48
308
310
305
64
502
3316
8
423
17065125
56110
4231
556
25
336
315
103
64
434
2804
8
424
2907
70571
2010
112
23
329
315
103
64
536
3416
8
425
3533
78340
3441
145
34
278
286
20
64
492
3065
8
426
157192
55231
5104
371
25
553
412
195
64
527
3410
8
427
1057913
41577
3257
1375
32
57
60
36
64
452
2902
8
428
13641715
48850
6347
3593
24
1868
710
710
64
489
3484
8
429
2,29E+08
67338
2655
1377
18
80
38
86
64
501
3037
8
430
6323861
65277
3921
2873
27
280
286
60
64
424
3114
8
431
373
64334
2616
110
25
80
86
20
64
443
2946
8
432
2718418
63016
2043
252
33
101
103
20
64
498
3135
8
433
26208
80922
3880
0
25
346
315
60
64
488
2989
8
434
8026120
77583
2652
1198
59
338
315
60
64
496
2990
108
8
435
318976
49424
5374
1026
68
2827
710
710
64
489
2942
8
436
3310295
58502
3135
0
23
313
315
60
64
529
3387
8
437
7221280
49791
1683
0
29
57
60
103
64
456
2940
8
438
16099
55177
4591
139
24
605
422
103
64
491
3002
8
439
4912218
68543
5276
248
29
591
420
103
64
440
2542
8
440
41407598
69099
2940
4671
32
80
37
20
64
483
3233
8
441
190190
58227
7566
133
43
620
422
103
64
497
3137
8
442
210
74709
5258
92
43
80
86
38
64
460
3083
8
443
398633
56266
2207
1331
37
677
422
86
64
509
3074
8
444
5048592
53903
1658
151
60
752
422
103
64
433
3227
8
445
267360
63223
6845
113
35
330
315
103
64
459
3375
8
446
67091
50529
3559
241
48
712
421
103
64
440
3086
8
447
41574264
79315
5946
3686
56
329
315
20
64
447
2646
8
448
3629001
64394
3912
464
36
335
315
103
64
495
3300
8
449
3260
71988
3256
96
20
305
315
60
64
477
3174
8
450
17250962
45890
2619
256
45
57
60
60
64
484
3076
8
451
1671446
70218
3682
139
24
341
315
20
64
429
2677
8
452
12573030
71575
7140
1480
24
325
315
36
64
487
3202
8
453
1703181
61410
8311
181
24
627
417
103
64
429
2656
8
454
680243
84198
4032
358
26
277
286
86
64
421
2688
8
455
279011
80254
3014
274
22
329
315
315
64
480
3058
8
456
79475
57176
5957
0
39
557
422
195
64
490
3360
8
457
57478
74224
2254
0
34
276
286
60
64
484
3065
8
458
2925907
78039
3381
331
37
281
286
20
64
517
3360
8
459
899521
77395
4642
283
42
349
315
315
64
510
2889
8
460
17023703
64497
4491
3249
18
279
286
20
64
482
3315
8
461
55856
57107
2867
128
23
280
286
86
64
386
2985
8
462
51421
82006
2634
315
38
344
315
20
64
483
2867
109
8
463
718476
56665
7602
120
69
2416
710
710
64
477
3193
8
464
95695
70877
3755
141
36
80
86
60
64
508
3088
8
465
6930956
74016
5534
607
21
332
315
36
64
438
3252
8
466
3319931
69863
3921
3710
27
306
315
20
64
403
2599
8
467
1682828
83481
7129
247
28
320
315
20
64
537
3337
8
468
304169
70782
4860
106
20
276
286
20
64
440
2918
8
469
21660283
73407
4545
1598
30
319
315
36
64
482
2848
8
470
1829704
61525
1884
0
42
54
60
20
64
449
2888
8
471
2738622
81100
4600
2348
23
310
315
36
64
453
2893
8
472
185
66265
4021
117
26
315
315
60
64
514
3250
8
473
175824
53155
2159
126
57
2124
710
710
64
417
2694
8
474
1189164
59828
1988
193
36
55
60
36
64
495
3024
8
475
28155915
76025
4400
1631
30
38
38
60
64
492
3057
8
476
45115479
78373
5016
237
30
276
286
86
64
474
3125
8
477
45861547
60603
5202
4762
21
644
422
195
64
421
2991
8
478
733571
73442
5160
273
26
324
315
36
64
537
3274
8
479
24986101
78287
3726
3046
46
337
315
103
64
443
2918
8
480
257941
60966
4416
961
22
636
420
195
64
438
2608
8
481
40075
70131
3138
525
30
335
315
20
64
470
3260
8
482
14026
52474
10060
83
48
614
422
103
64
530
3396
8
483
6741728
78012
2991
4940
24
279
286
11
64
404
2987
8
484
2923
62404
5723
117
18
680
422
195
64
537
3091
8
485
199723
61887
4355
188
26
541
418
195
64
481
3017
8
486
10321458
86649
4195
2268
24
310
315
103
64
443
2904
8
487
462662
53621
7074
204
22
704
422
86
64
451
2847
8
488
4673782
84688
4999
107
28
276
286
20
64
530
3161
8
489
4761911
69168
2677
283
33
338
315
103
64
387
3027
8
490
190643
60550
6425
120
26
332
315
20
64
466
2975
110
8
491
77118
71580
3027
261
33
281
286
20
64
486
3118
8
492
1801
79252
4913
96
42
323
315
56
64
467
2984
8
493
2392569
59858
2094
146
48
352
315
315
64
470
2863
8
494
242379
49636
2198
160
28
325
305
60
64
531
3421
8
495
38876
49045
4697
127
18
2590
710
710
64
515
3426
8
496
1588503
69409
6531
137
54
278
286
286
64
489
3130
8
497
310424
64909
2592
85
40
38
38
20
64
438
2881
8
498
7966319
54310
5309
1589
47
337
315
60
64
539
3422
8
499
177
49311
4228
54
21
345
315
20
64
538
3423
8
500
5187330
73697
2531
271
27
281
286
60
64
454
3199
9
501
634078
16114
3262
27
472
482
131
81
700
5423
9
502
693694
13271
2846
59
110
88
28
81
757
5239
9
503
490730
33782
499
24
7433
1207
1207
81
736
5165
9
504
765148
7393
177
49
493
482
46
81
741
4583
9
505
779924
27222
550
77
489
482
482
81
677
5446
9
506
612019
10483
446
26
2892
756
169
81
609
5021
9
507
699071
12136
2022
47
115
126
46
81
589
5113
9
508
634394
32217
189
38
2295
755
169
81
596
4087
9
509
667028
16641
216
60
491
482
28
81
736
5462
9
510
795125
20853
1271
23
485
482
28
81
687
5312
9
511
750685
15731
0
46
164
169
131
81
645
5045
9
512
600645
18972
0
44
2628
756
219
81
611
5190
9
513
651339
6157
214
27
481
482
28
81
727
5152
9
514
624858
11733
1578
64
744
555
560
81
673
4756
9
515
665200
20636
1912
23
498
482
46
81
781
5681
9
516
686303
20430
1831
40
463
460
46
81
628
5563
9
517
605226
12755
11118
29
2638
752
219
81
662
5297
9
518
592511
16100
154
20
785
560
219
81
621
4439
111
9
519
676824
16897
2854
32
487
482
88
81
696
5606
9
520
699285
7645
0
53
506
482
46
81
719
5466
9
521
675375
7238
328
30
839
560
560
81
608
5111
9
522
618844
4820
221
29
482
482
46
81
664
4984
9
523
596847
19400
259
46
2246
756
169
81
720
4600
9
524
698759
26187
517
28
481
482
28
81
641
4548
9
525
709498
17899
209
40
479
482
125
81
696
5648
9
526
584179
17697
1727
26
761
560
46
81
701
5212
9
527
665679
21172
8161
33
496
482
46
81
786
5564
9
528
735304
20998
3064
39
777
555
126
81
742
5567
9
529
618869
6760
176
55
3049
756
219
81
674
4849
9
530
550524
19972
258
26
85
88
16
81
704
4762
9
531
487927
29192
4022
25
2473
756
756
81
791
5062
9
532
650453
20041
3370
60
482
482
28
81
779
5562
9
533
689632
33597
514
52
848
560
46
81
755
5683
9
534
685412
32501
1752
49
647
560
219
81
790
5760
9
535
605305
44837
0
21
484
482
28
81
688
5255
9
536
655552
16622
150
21
734
560
217
81
662
5277
9
537
583065
15182
385
32
120
88
117
81
752
5407
9
538
672688
15808
212
29
616
505
205
81
734
5739
9
539
737645
21791
0
49
481
482
126
81
717
5721
9
540
548723
16183
250
22
130
219
126
81
784
5521
9
541
707760
9950
240
38
488
482
28
81
760
4949
9
542
688172
9322
676
34
163
126
28
81
714
5176
9
543
723875
21894
4250
24
501
482
28
81
730
5200
9
544
577469
26698
3382
47
2257
750
169
81
687
5101
9
545
570584
9326
329
44
677
560
89
81
732
4998
9
546
639104
11193
271
44
164
169
46
81
643
4882
112
9
547
499090
38443
202
60
2998
756
390
81
719
5430
9
548
564002
10975
2679
39
788
560
128
81
565
4738
9
549
580176
18142
1782
54
7677
1207
1207
81
665
4808
9
550
714768
27268
256
35
486
482
46
81
660
5579
9
551
801020
28603
216
31
514
482
46
81
692
5232
9
552
524229
19263
150
20
719
560
219
81
660
4991
9
553
658674
32574
6264
29
872
560
46
81
747
5707
9
554
626195
7377
340
35
2905
748
219
81
777
5066
9
555
636717
11003
223
24
824
560
89
81
715
5603
9
556
746298
29724
3514
21
163
169
28
81
586
5696
9
557
685487
24689
3965
27
501
482
131
81
715
5165
9
558
621366
6825
561
52
812
560
131
81
772
4733
9
559
727577
21315
4860
37
163
169
46
81
668
5128
9
560
422672
8846
203
63
120
126
46
81
635
4476
9
561
674690
19014
4292
20
481
482
28
81
641
4889
9
562
626280
23643
9251
25
779
560
46
81
727
5234
9
563
755626
31873
283
68
848
560
125
81
742
5654
9
564
818878
11961
211
37
493
482
131
81
694
5496
9
565
706152
10656
208
24
513
482
28
81
748
5299
9
566
829776
30615
199
23
491
482
46
81
609
4366
9
567
612286
25547
2542
24
3036
752
219
81
788
5313
9
568
591682
17171
151
32
752
560
89
81
554
4340
9
569
651595
21251
3653
49
815
560
219
81
760
5349
9
570
786638
31618
336
37
500
482
46
81
676
5229
9
571
601724
13108
1446
34
128
219
126
81
672
4900
9
572
680504
8574
6030
28
483
482
28
81
711
5229
9
573
735570
16923
5097
66
494
482
28
81
704
5133
9
574
702176
6061
602
62
629
560
126
81
622
4436
113
9
575
483409
44680
1939
62
15495
1207
1207
81
696
5017
9
576
733265
15716
2313
26
501
482
28
81
704
5304
9
577
659309
11289
155
23
120
88
16
81
685
5030
9
578
695969
17381
151
31
163
169
28
81
759
5400
9
579
540464
29869
1473
50
3234
756
169
81
707
5769
9
580
622010
35805
869
41
2692
756
219
81
684
4932
9
581
600916
19567
310
27
646
535
122
81
780
5626
9
582
629366
19227
285
40
824
560
89
81
743
5627
9
583
709170
14984
636
58
477
482
169
81
602
4461
9
584
791246
17319
259
21
166
164
88
81
731
5286
9
585
623746
20949
23743
33
818
560
89
81
574
4297
9
586
467045
26269
0
46
10778
1207
1207
81
671
5216
9
587
591843
10020
3206
38
827
560
46
81
619
4692
9
588
596898
5113
388
86
162
169
28
81
634
5107
9
589
710943
38370
1874
69
818
560
46
81
723
5564
9
590
821733
19756
439
33
501
482
16
81
696
5082
9
591
784555
25642
6615
65
785
560
46
81
771
5365
9
592
556466
26613
5301
31
4564
1207
1207
81
674
5193
9
593
813155
17743
567
41
504
482
88
81
705
5440
9
594
651684
8495
182
23
490
482
131
81
574
5677
9
595
612686
10159
4052
33
128
219
46
81
767
5334
9
596
525671
12932
5776
45
1502
752
756
81
672
5188
9
597
592516
16867
5702
55
2713
756
390
81
757
5417
9
598
656924
25182
397
22
85
88
169
81
717
5380
9
599
714039
27132
0
51
800
560
219
81
733
5567
9
600
666331
13521
5727
21
493
482
28
81
705
5071
10
601
8295667
105962
2620
32
281
288
202
100
902
7751
10
602
8095740
72228
7149
24
786
742
40
100
964
8742
114
10
603
7276447
48459
481
27
1025
787
256
100
1079
8960
10
604
6291114
30844
264
27
194
201
40
100
1018
8209
10
605
7882334
53133
8733
41
2962
942
105
100
923
7401
10
606
5280689
36024
782
56
196
183
62
100
954
7832
10
607
7971311
42369
5768
33
147
202
13
100
781
6444
10
608
5888910
145748
1772
24
19538
1267
288
100
1074
8989
10
609
8053835
40384
344
27
869
787
62
100
976
8218
10
610
8386059
80036
2268
40
759
742
196
100
1031
8586
10
611
7900180
52830
1063
22
980
787
40
100
987
7930
10
612
8724260
101888
30040
26
282
288
202
100
1029
8136
10
613
6683522
184171
179
59
2402
942
245
100
1067
9059
10
614
7590715
86792
0
26
746
742
22
100
1086
8858
10
615
7755376
96215
3923
24
1602
907
88
100
1105
8545
10
616
7586236
61076
4294
98
237
202
40
100
1019
8200
10
617
7601532
139956
9081
24
2292
922
245
100
955
8609
10
618
6795147
45239
791
24
196
202
88
100
959
7757
10
619
6930938
76804
342
24
194
202
62
100
969
7959
10
620
7916769
114020
3200
27
777
742
22
100
960
7503
10
621
7042752
132248
3684
26
2851
942
245
100
1072
8955
10
622
7123458
85864
1162
31
234
245
22
100
1050
8522
10
623
6756123
104315
31084
61
1555
942
197
100
831
7532
10
624
5447701
140239
0
30
14066
1267
424
100
1009
8238
10
625
6266783
30066
1606
28
223
192
62
100
1037
8168
10
626
7128046
100721
7486
27
1022
787
62
100
1016
8864
10
627
6166307
16025
306
45
175
185
40
100
1042
8700
10
628
4637916
46656
3330
28
196
192
40
100
914
7842
10
629
6927440
20245
198
56
2634
942
105
100
1041
8455
10
630
7277263
67884
374
40
822
742
288
100
905
7304
115
10
631
7103719
39090
2589
23
191
183
62
100
968
8178
10
632
8862822
59155
0
68
991
787
278
100
919
7977
10
633
7049808
180045
8647
41
971
787
40
100
850
6743
10
634
5014811
76334
514
31
54714
1935
1935
100
928
7221
10
635
5200898
163959
0
25
3339
942
942
100
1019
8853
10
636
5988726
300459
25830
29
17422
1267
712
100
1006
8766
10
637
5168939
53991
8318
53
241
202
62
100
869
8616
10
638
6618571
68117
5136
94
804
787
62
100
1039
8356
10
639
7432534
146327
18637
36
941
787
62
100
1065
9017
10
640
5826581
48492
0
48
151
183
60
100
1026
8568
10
641
7092370
75466
5829
27
1058
787
62
100
1037
7877
10
642
6047173
118154
162
23
2148
937
424
100
865
7265
10
643
6898025
85223
1128
23
228
183
62
100
995
8601
10
644
6746211
73411
1604
24
979
787
105
100
1059
8298
10
645
7467576
58149
594
39
931
787
22
100
895
8692
10
646
7929305
165314
25088
27
1097
787
62
100
937
7892
10
647
7569313
129866
6834
39
891
787
105
100
938
8414
10
648
5108059
133461
3678
54
2103
942
424
100
970
8059
10
649
7940911
135124
128
29
772
742
202
100
891
7524
10
650
6699597
94574
3446
24
217
202
38
100
980
7534
10
651
6490687
104150
5887
26
241
183
263
100
1064
8578
10
652
8054834
101184
8681
22
1082
787
317
100
1005
8353
10
653
6206502
226831
5559
45
17781
1265
288
100
1042
9005
10
654
6407440
104833
24348
40
1107
787
245
100
906
7204
10
655
7774868
171752
662
68
2383
942
105
100
812
6817
10
656
7413740
128338
0
42
1430
942
197
100
870
7119
10
657
8234369
179947
298
24
1018
787
263
100
995
8089
10
658
6017915
145796
27815
73
12550
1267
712
100
1108
8232
116
10
659
7666488
87774
6301
30
281
288
62
100
845
7787
10
660
7937863
60266
0
32
279
288
22
100
959
7770
10
661
6929971
73349
20386
50
180
183
62
100
1005
8048
10
662
6220657
141045
224
26
1881
942
263
100
1030
8966
10
663
5243960
321730
290
23
74988
1935
1935
100
875
7661
10
664
7591010
44219
1525
23
1026
754
22
100
962
8845
10
665
5544614
114082
1629
39
2362
942
62
100
1095
8671
10
666
7584382
59808
277
23
752
742
22
100
1003
8240
10
667
7796202
160654
17839
51
2339
942
88
100
1092
8141
10
668
6412034
87072
251
45
1058
787
787
100
1055
8848
10
669
7576190
79069
546
43
887
787
40
100
977
9047
10
670
7558860
83574
2424
30
918
787
38
100
1027
8848
10
671
7333014
61701
10848
25
1025
787
183
100
885
7704
10
672
6229966
61812
41978
58
2368
937
263
100
930
7907
10
673
7802588
37325
223
39
790
742
22
100
918
6912
10
674
7084842
97782
265
39
281
202
22
100
1026
8649
10
675
7671289
104546
32164
23
887
787
62
100
1022
8736
10
676
7150911
138425
14905
61
3351
942
105
100
1046
8554
10
677
6522885
184110
8281
41
1076
787
245
100
965
8488
10
678
7001744
131357
4441
53
985
787
38
100
1091
8898
10
679
7399555
41946
272
47
883
765
62
100
869
8266
10
680
6061185
32916
329
58
281
424
62
100
952
7902
10
681
7623910
192263
248
55
992
787
62
100
1000
7997
10
682
6914528
65828
258
24
202
202
22
100
1037
8434
10
683
5681549
47275
9955
48
279
202
62
100
902
7908
10
684
7466746
58223
173
34
1037
787
263
100
788
6347
10
685
7466517
23055
240
80
772
742
22
100
1007
8045
10
686
8267823
98020
543
69
325
317
245
100
850
7663
117
10
687
7030368
138824
322
26
335
317
62
100
1032
8294
10
688
5106946
78021
5893
33
1944
942
263
100
1042
8910
10
689
6565722
185882
2580
38
754
424
245
100
1019
8278
10
690
5516721
159098
2736
57
19954
1267
317
100
1100
7927
10
691
7434692
90511
13941
27
882
787
288
100
1077
8053
10
692
7988410
185272
36344
37
2259
942
62
100
992
7358
10
693
6670025
77745
2144
44
864
787
245
100
1028
7771
10
694
6790219
66989
5346
60
907
787
105
100
1021
6974
10
695
5161104
197445
267
33
147174
1935
1935
100
1053
9008
10
696
6844785
130033
4380
50
196
202
88
100
1018
8153
10
697
8044990
87405
0
68
749
742
40
100
1048
8250
10
698
6886304
93591
0
44
840
787
62
100
1062
8619
10
699
7695742
48007
3720
46
763
742
22
100
899
8697
10
700
8192343
124151
341
34
1025
787
183
100
994
7861
11
701
249868
7859
34
3621
1241
128
121
1477
13496
11
702
881064
47826
42
87
90
133
121
1237
11768
11
703
210510
22637
43
10554
1509
436
121
1423
13276
11
704
120976
530
31
1221
1127
128
121
1189
10116
11
705
534017
0
38
2839
1241
30
121
1428
12607
11
706
287122
642
30
1370
1127
551
121
1342
12369
11
707
279340
6615
42
1233
1070
128
121
1339
12596
11
708
467227
9901
77
1248
1127
30
121
1402
12237
11
709
553966
407
57
2367
1241
128
121
1435
13161
11
710
517437
1612
36
1575632
2958
2958
121
1312
11926
11
711
163809
47806
63
1317
1127
48
121
1454
13357
11
712
318373
3758
29
2749
1230
221
121
1385
13560
11
713
373382
7139
35
482
484
484
121
1259
11947
11
714
205193
19060
39
1390
1127
128
121
1471
10223
118
11
715
633210
25660
39
2650
1241
133
121
1249
11532
11
716
301538
3943
37
1338
1127
90
121
1469
13431
11
717
1042746
5952
45
460717
2958
2958
121
1334
12710
11
718
889141
417
67
87890
2003
562
121
1506
13869
11
719
407073
16092
24
389
393
48
121
1330
11476
11
720
365307
560
76
370
383
90
121
1477
13513
11
721
167557
2875
52
295
298
436
121
1274
11421
11
722
549582
0
24
53767
2011
562
121
1351
13190
11
723
749326
78005
27
152512
2011
758
121
1384
12459
11
724
190649
423
31
321
393
128
121
1310
11720
11
725
1244927
15312
42
1392
1127
133
121
1059
9560
11
726
337036
273
55
1180
1127
551
121
1253
12494
11
727
860595
70363
50
2790
1241
48
121
1315
12584
11
728
344009
0
33
1461
1127
30
121
1207
10838
11
729
149786
408
36
3089
1241
441
121
1483
13470
11
730
643263
12229
28
103870
2011
1209
121
1431
13627
11
731
94291
327
45
477
484
59
121
1179
10891
11
732
214009
5844
28
88265
1982
484
121
1252
11001
11
733
153980
437
43
3081
1241
128
121
1268
11709
11
734
578273
5885
32
1359
1127
128
121
1453
13302
11
735
422644
6762
56
487
338
48
121
1397
13321
11
736
266003
329
55
505
484
166
121
1432
12656
11
737
413878
13018
34
16408
1509
758
121
1295
13392
11
738
142968
0
27
487
484
30
121
1278
11840
11
739
379368
32760
31
456
441
171
121
1282
11024
11
740
488606
460
32
1379
1127
436
121
1152
11414
11
741
201983
440
30
1401
1127
56
121
1214
12373
11
742
926413
35041
51
17206
1509
440
121
1166
12771
119
11
743
204973
31654
40
386
343
90
121
1342
11728
11
744
175955
33892
33
9002
1499
758
121
1324
12781
11
745
404150
1642
46
499
493
128
121
1227
11136
11
746
641909
421
61
1254
1127
48
121
1432
13034
11
747
207966
1757
52
344
393
30
121
1388
12568
11
748
273983
22667
31
356
388
30
121
1079
13299
11
749
310147
18470
29
1820
1241
123
121
1325
13387
11
750
348350
6486
54
499
391
18
121
1433
12791
11
751
534820
31582
57
2511
1241
221
121
1274
11580
11
752
610279
6971
29
10637
1509
171
121
1320
12790
11
753
150478
12822
33
1156
1108
90
121
1281
11239
11
754
344873
691
45
375
347
119
121
1403
12617
11
755
320986
5483
54
1251
1127
90
121
1406
12446
11
756
484620
12849
35
14088
1504
392
121
1425
12902
11
757
417585
14719
39
494
484
18
121
1499
13027
11
758
154590
235
29
3029
1241
416
121
1241
11420
11
759
561821
11161
41
11970
1494
221
121
1412
12468
11
760
145643
14956
40
430
393
171
121
1243
12756
11
761
172603
553
27
1236
1127
18
121
1373
12336
11
762
386247
30896
51
8134
1489
133
121
1501
13402
11
763
850001
22494
45
10813
1509
441
121
1372
12956
11
764
594176
12556
31
15486
1509
171
121
1374
12207
11
765
345453
236
27
1278
1127
171
121
1258
11471
11
766
556638
7936
53
499
508
18
121
1397
12296
11
767
287152
383
24
6142
1509
171
121
1350
12373
11
768
1249866
3368
68
135475
2011
562
121
1251
11357
11
769
276745
183
24
2683
1241
221
121
1228
12352
11
770
784667
355
38
21610
1509
432
121
1434
12442
120
11
771
360974
5509
29
3684
1241
128
121
1447
13369
11
772
759071
43459
25
83823
2010
484
121
1279
11757
11
773
652811
4830
29
1297
1127
128
121
1198
12472
11
774
325548
5034
33
5892
1509
441
121
1420
13776
11
775
258240
7407
39
2567
1241
294
121
1411
10801
11
776
450729
0
39
340
498
30
121
1116
11582
11
777
577011
11907
26
489
483
48
121
1402
12813
11
778
884079
1817
38
178684
2011
562
121
1477
13395
11
779
619515
436
41
408
393
90
121
1326
12303
11
780
473038
21992
42
18641
1509
361
121
1430
12995
11
781
188907
22677
25
3221
1241
133
121
1334
12563
11
782
117643
438
27
365
393
128
121
1137
10628
11
783
361851
0
34
1614
1197
48
121
1466
13060
11
784
1146642
81133
28
3152
1241
128
121
1389
12873
11
785
245174
24673
45
497
484
90
121
1199
11476
11
786
694303
24474
30
18732
1509
128
121
1440
12835
11
787
1083134
10141
25
1408
1127
128
121
1417
12935
11
788
348536
503
28
6873
1484
471
121
1497
13616
11
789
328236
30983
28
366
371
30
121
1120
11409
11
790
947359
37219
46
18209
1509
128
121
1361
12821
11
791
291172
5436
43
2400
1241
562
121
1343
13256
11
792
181607
1317
71
2023
1241
128
121
1438
12930
11
793
893817
387
24
3310
1241
48
121
1332
12253
11
794
1001653
14330
34
2216
1241
48
121
1394
13054
11
795
981727
4978
59
155482
2011
758
121
1409
13640
11
796
146952
2114
42
369
316
133
121
1360
11140
11
797
479596
8428
51
1303
1127
128
121
1399
11408
11
798
142476
441
36
19942
1509
171
121
1237
11072
121
11
799
272543
295
42
146785
2011
562
121
1414
13756
11
800
979962
3479
36
17319
1509
392
121
1320
12408
12
801
492285
0
29
1936
1612
825
144
1757
17100
12
802
3555648
1219
39
929
685
247
144
1809
18200
12
803
1025130
54261
45
103732
2287
1268
144
1490
15585
12
804
1074291
0
34
3857
1677
64
144
1898
19346
12
805
6632712
9748
57
171265
2317
846
144
1876
16475
12
806
1342361
653
48
3462
1677
1677
144
1838
18350
12
807
3957441
252810
41
629280
3020
1269
144
1858
19766
12
808
2156569
20085
26
2405
1658
290
144
1664
17744
12
809
1004887
535
54
4031
1677
204
144
1865
18658
12
810
4166117
22537
49
3634
1677
167
144
1899
19020
12
811
1132728
4195
32
15278
1892
214
144
1569
15810
12
812
271054
32910
46
774
617
142
144
1711
17748
12
813
4816941
70524
91
122065
2317
846
144
1694
17936
12
814
3149109
44503
47
13622
1892
63
144
1908
18707
12
815
180063
863
26
3336
1639
204
144
1554
16348
12
816
7508847
101763
27
15112
1892
185
144
1872
18342
12
817
1517530
18178
32
3691
1677
64
144
1808
17076
12
818
3799804
290667
66
1378
204
90
144
1730
17645
12
819
926252
30587
32
1798
1612
42
144
1905
18838
12
820
784520
14431
31
2699
1677
64
144
1842
18890
12
821
4270164
778
59
32149
2317
265
144
1744
17819
12
822
1841800
4272
34
1346253
3051
789
144
1877
17945
12
823
1131619
31223
73
20432
1892
185
144
1841
19000
12
824
1342865
15493
39
18858
1815
426
144
1874
19638
12
825
1403968
380
27
12470
1892
185
144
1624
16301
12
826
6038750
25068
45
1378862
3052
1937
144
1851
19086
122
12
827
1825527
55987
45
123045
2307
247
144
1731
19457
12
828
2218383
12414
87
978
947
42
144
1885
18752
12
829
5298019
4061
32
8828
1892
426
144
1780
18852
12
830
1516810
59067
28
14683
1892
107
144
1843
19836
12
831
1156030
5658
31
113266
2302
714
144
1692
19208
12
832
1445429
15203
77
885
987
40
144
1802
17491
12
833
1496321
606
82
3907
1677
728
144
1749
19354
12
834
2216847
15673
39
2598
1677
40
144
1466
13890
12
835
1317870
57797
48
3309
1677
828
144
1770
17117
12
836
4875803
40619
27
1626518
3040
1249
144
1723
18691
12
837
3338323
35957
32
12218
1892
90
144
1602
15366
12
838
5199704
793
82
17965
1892
944
144
1833
18340
12
839
2698061
33673
35
1750
1612
64
144
1739
19327
12
840
2257872
40107
29
635
685
265
144
1815
18437
12
841
1536516
39167
58
1378
704
64
144
1736
17648
12
842
4210298
4055
29
10417
1892
107
144
1760
17992
12
843
1951090
48546
31
149740
2317
746
144
1796
19905
12
844
1035824
116805
35
2066
1620
185
144
1791
18495
12
845
365454
5392
28
875
846
426
144
1831
18613
12
846
3702430
28007
30
12210
1892
265
144
1752
18414
12
847
1656422
11188
44
18204
1892
199
144
1651
16951
12
848
1708809
411
41
3555
1677
42
144
1539
18277
12
849
799786
36322
27
18991
1892
626
144
1818
18547
12
850
774334
0
44
2895
1677
40
144
1585
16968
12
851
474776
5604
97
18963
1892
185
144
1742
16844
12
852
894241
5786
32
3242
1677
64
144
1824
18170
12
853
1038631
53810
33
3215
1677
142
144
1663
18351
12
854
662783
668
44
3721
1677
24
144
1909
18088
123
12
855
2751649
660
38
14742
1892
64
144
1909
19659
12
856
385041
4975
30
643
706
64
144
1928
19030
12
857
3843937
20053
30
171826
2317
319
144
1773
19994
12
858
1777423
7616
44
975
987
247
144
1750
18183
12
859
624671
5417
61
978
670
192
144
1644
19181
12
860
1406581
29713
36
703
987
185
144
1605
16260
12
861
1998124
694
66
980
728
204
144
1901
18173
12
862
2066015
62598
33
3741
1677
64
144
1890
18316
12
863
1874565
26733
71
52671
2292
1245
144
1704
17570
12
864
5780613
29664
41
134100
2307
290
144
1697
17352
12
865
2866327
70178
29
3380
1677
64
144
1807
19341
12
866
2062983
644
47
3553
1677
64
144
1864
18566
12
867
3636810
123849
52
160363
2317
319
144
1836
16461
12
868
415335
9857
26
968
987
24
144
1646
18070
12
869
1700035
77624
43
539
1390
24
144
1708
16979
12
870
7946709
18615
26
3805404
4348
4348
144
1799
18618
12
871
646331
618
41
721
673
90
144
1900
15749
12
872
1468651
16862
59
173551
2317
319
144
1661
16976
12
873
4676434
65043
69
2023
1612
90
144
1920
16225
12
874
2452089
26519
26
115840
2317
1269
144
1905
19840
12
875
1021544
2415
48
659
1390
24
144
1705
17786
12
876
1886781
49228
62
76276
2317
319
144
1663
19795
12
877
629536
6297
33
775
909
200
144
1773
17820
12
878
2558296
532
43
3077
1639
728
144
1932
18039
12
879
4673267
27467
46
149140
2317
247
144
1712
17357
12
880
1435897
7990
78
726
719
24
144
1718
19024
12
881
2463913
30169
69
715
728
204
144
1733
19180
12
882
728713
0
33
968
852
204
144
1891
18641
124
12
883
1389959
54045
62
16744
1892
426
144
1736
19009
12
884
897561
158902
38
723
1240
64
144
1858
16958
12
885
3668347
61676
45
175495
2317
1269
144
1693
17034
12
886
1036360
90139
37
3434
1677
187
144
1819
19480
12
887
1100576
794
61
726
987
64
144
1740
17986
12
888
1964204
2995
87
18128
1892
64
144
1805
18476
12
889
847677
0
27
1378
902
42
144
1597
17016
12
890
2173212
118716
32
3863
1677
24
144
1714
17212
12
891
502178
1003
79
1148
1390
42
144
1564
17353
12
892
1472900
11655
72
126082
2317
256
144
1867
17538
12
893
1759751
316
90
978
770
64
144
1787
18519
12
894
3185428
2299
53
726
680
24
144
1822
18961
12
895
1779018
13451
41
3422
1677
64
144
1838
18068
12
896
2025150
6476
54
3782
1677
883
144
1810
17107
12
897
1878446
0
114
980
1380
90
144
1797
18528
12
898
3026792
45282
42
13434
1892
247
144
1690
18505
12
899
2532133
11206
47
1837
1612
64
144
1837
18345
12
900
1188674
0
32
2146
1677
64
144
1801
18495
13
901
14964120
52148
48
944006
3430
553
169
2404
27651
13
902
10353158
17348
47
21818
2440
92
169
2166
24889
13
903
18184420
46148
30
1895
1638
135
169
2436
25773
13
904
2266121
609
45
4302
2282
173
169
2450
26919
13
905
13233769
26130
44
3822
2282
50
169
2299
25575
13
906
8878630
7263
57
36785
2796
349
169
2194
24758
13
907
5836741
6980
41
14762
2421
92
169
2118
26249
13
908
20422786
8669
31
1712388
3430
1190
169
2212
25334
13
909
10550236
25290
47
3413
2282
384
169
2147
25070
13
910
11057188
36916
32
171325
2796
1200
169
2073
23574
125
13
911
1559575
35726
30
2721
376
553
169
2159
22397
13
912
5829251
58228
67
3289
2282
32
169
2452
25294
13
913
19351265
554
35
55862
2796
173
169
2429
27076
13
914
5473359
9781
72
9697
2440
564
169
2340
23928
13
915
2235397
33195
34
2985
2282
352
169
2431
25959
13
916
10184570
37848
48
101144
2796
173
169
2466
26147
13
917
20583791
11040
59
3263
2282
510
169
2162
25835
13
918
3349800
633
55
19217
2383
308
169
2471
26211
13
919
18168657
32573
66
18719
2440
553
169
2367
25355
13
920
29210897
3905
41
3470
2282
510
169
2184
24362
13
921
2928582
10390
51
160532
2763
490
169
2329
25502
13
922
14803561
32035
49
18813
2440
135
169
2181
24352
13
923
3592225
746
32
867
1110
135
169
2269
26406
13
924
52674483
6982
47
1300
1129
439
169
2472
24867
13
925
7865855
5567
29
2314
2733
130
169
2253
25371
13
926
39920398
12112
39
14987
2440
490
169
2348
26063
13
927
6316816
48908
43
13056
2440
130
169
2162
21871
13
928
16732232
144175
63
1331311
3430
443
169
2412
27099
13
929
3054734
718
46
15529
2440
1706
169
2228
25300
13
930
4468395
111573
54
3464
2282
50
169
2436
27015
13
931
16089208
0
68
5675
2364
135
169
2332
24684
13
932
4702006
746
44
11493
2440
223
169
2436
26824
13
933
1338063
4747
33
2722
1173
62
169
2257
22216
13
934
5298391
556
56
19819
2421
349
169
2184
25431
13
935
4845919
55999
70
2719
341
384
169
2184
23849
13
936
20531012
24619
61
3332
2282
1153
169
2310
27499
13
937
5884510
50944
34
1526022
3430
1153
169
2360
26946
13
938
2307533
0
42
1383
1129
32
169
2279
22831
126
13
939
7037193
6493
95
12540
2440
395
169
2306
23900
13
940
9295974
60547
69
11823
2440
50
169
1915
24376
13
941
2923059
38677
80
1333
1257
114
169
2306
24486
13
942
2941914
57267
37
2034
1854
32
169
2331
26207
13
943
4489137
0
40
12838605
4438
1129
169
2487
27555
13
944
5608181
470
54
1649
1579
395
169
2169
25893
13
945
28965959
8968
31
2724
2447
32
169
2339
26990
13
946
2123956
4860
54
72503
2796
438
169
2444
24524
13
947
6183594
0
33
3739
2282
32
169
2317
26817
13
948
5722384
35835
35
909
1212
92
169
1812
22636
13
949
10008005
15616
28
3327
2282
486
169
2421
25936
13
950
5497867
56001
29
143896
2796
892
169
2362
25630
13
951
3357131
981
34
2626
2282
395
169
2208
24075
13
952
4292477
12981
33
1889
1898
32
169
2465
24893
13
953
2365127
429
78
4303
2282
50
169
2246
24239
13
954
28942220
53153
46
518278
3415
490
169
2411
28131
13
955
7369773
501325
57
1415636
3430
1200
169
2401
26373
13
956
2370831
128878
52
1676
320
92
169
2201
25793
13
957
11718874
6966
44
1515988
3430
909
169
2460
27861
13
958
11983590
446
58
12385
2440
93
169
2408
25669
13
959
15125318
55878
35
150061
2796
1045
169
2319
25532
13
960
10556369
10411
62
156931
2796
760
169
2122
22782
13
961
6750301
115535
40
4360
2282
92
169
2156
24701
13
962
13512590
31206
29
2719
1485
510
169
2339
25594
13
963
21413644
0
62
124805
2796
135
169
2226
27895
13
964
63129231
365372
52
1737953
3430
490
169
2526
28032
13
965
10866255
24176
61
2599
2282
1129
169
2490
27473
13
966
6152884
1181
55
25278
2774
394
169
2384
22005
127
13
967
4963384
7816
43
2933
2282
62
169
2237
23708
13
968
25309788
23237
31
550363
3430
490
169
2317
27596
13
969
8682531
587881
35
140386
2796
490
169
2387
25177
13
970
6120769
402
40
3407
2282
438
169
2409
27276
13
971
10783626
15988
56
2720
1868
510
169
2220
24276
13
972
38580717
66651
38
10260735
4462
1243
169
2374
27982
13
973
4128633
23764
34
4123
2282
32
169
1981
22614
13
974
5995517
16545
31
62933
2796
130
169
1931
24808
13
975
15518339
118734
47
106660
2796
332
169
2391
25555
13
976
6377021
5241
64
467757
3405
760
169
2230
27890
13
977
19275788
720
55
2870
2282
130
169
2441
26998
13
978
22988390
35638
31
13485
2440
223
169
2210
25426
13
979
6908982
51821
47
3096
2282
32
169
2435
26371
13
980
4289768
10156
53
1529
1777
349
169
2417
25426
13
981
13256165
118862
71
77833
2796
394
169
2247
27838
13
982
11018826
29454
28
6439
2440
443
169
2503
26581
13
983
8085700
20431
35
3014
2282
486
169
2300
25349
13
984
13932388
47107
48
3504
2282
92
169
2132
27118
13
985
3788804
15568
47
13916
2440
50
169
2027
21675
13
986
5324052
0
82
16720
2421
50
169
2389
25329
13
987
15637549
9020
28
2568
2166
92
169
2370
26114
13
988
33880002
16277
63
6779096
4460
2013
169
2324
26970
13
989
57820969
160712
42
122446
2796
223
169
2215
27200
13
990
14005324
30513
91
168655
2796
443
169
2343
27897
13
991
17574569
38279
50
16656
2440
92
169
1977
22268
13
992
1997826
0
40
3856
2282
32
169
2248
27389
13
993
15490298
824
58
176699
2796
173
169
2339
26102
13
994
6588421
769
31
1857
1898
50
169
2364
26890
128
13
995
4468065
36414
49
1466706
3430
443
169
2188
24915
13
996
24694971
75578
53
1719055
3430
553
169
2115
23723
13
997
5313646
35543
34
1338
1110
223
169
2224
24583
13
998
6237355
17262
59
182266
2796
2796
169
2176
25098
13
999
12987240
14270
46
19189
2440
130
169
2186
24210
13
1000
13894731
544009
53
21719
2440
32
169
2279
27638
14
1001
419807
41
12936076
4920
730
196
2783
31626
14
1002
746
57
10698
3185
109
196
3189
36423
14
1003
16464
50
1386889
4006
2766
196
2662
34873
14
1004
7735
46
2724
2275
184
196
3089
36361
14
1005
104482
36
3020
2423
249
196
2884
34211
14
1006
17132
30
9647
3185
187
196
3095
37546
14
1007
87209
78
115718
3472
614
196
2989
35699
14
1008
112162
99
5520
3096
941
196
3101
36719
14
1009
8831
57
1701130
4017
571
196
2633
34323
14
1010
45653
132
1604
1679
144
196
2993
34631
14
1011
26557
51
4327
4782
187
196
2960
32121
14
1012
173860
60
746842
4017
748
196
3136
36138
14
1013
371853
42
1683634
4017
687
196
3073
36035
14
1014
232743
70
111733
3472
267
196
2898
37311
14
1015
42958
71
146493
3472
614
196
3197
38086
14
1016
37453
54
1475413
4017
249
196
3132
38488
14
1017
30209
51
868199
4017
848
196
2673
37292
14
1018
293056
37
14172852
4920
946
196
2926
33915
14
1019
41605
63
1106546
4017
243
196
3066
34651
14
1020
611446
33
5082
1345
495
196
2690
34276
14
1021
1293
91
17406
3185
535
196
3087
37475
14
1022
7499
41
17336
3185
66
196
2393
31012
129
14
1023
9750
45
1327609
4017
839
196
2972
36026
14
1024
228609
36
2,2E+08
6320
2319
196
2912
34826
14
1025
62881
60
1717
3478
144
196
3050
35017
14
1026
457954
34
150440
4017
249
196
2955
36895
14
1027
167462
44
5517
3096
44
196
2776
37653
14
1028
92150
34
102695
3472
249
196
3189
37002
14
1029
28749
31
1431665
4017
2766
196
2547
29098
14
1030
6040
59
15412517
4920
748
196
3094
35059
14
1031
470
52
16558
3185
26
196
3078
35287
14
1032
150103
55
4161
3096
2445
196
2799
37117
14
1033
33930
49
19535
3185
214
196
3107
36927
14
1034
16823
110
22717
3185
44
196
2756
32645
14
1035
35586
55
184423
3472
187
196
2567
30064
14
1036
1024
88
10703
3185
144
196
2975
36545
14
1037
898
53
5320
3096
26
196
3067
34083
14
1038
21833
72
16599
3185
206
196
3067
37342
14
1039
311796
41
9199
3185
44
196
2799
34694
14
1040
193185
67
11642288
4735
1733
196
2989
35784
14
1041
41349
49
5462167
4910
791
196
2723
38029
14
1042
340955
36
6036
3185
26
196
2882
32639
14
1043
38106
72
5009
3096
206
196
3165
37520
14
1044
1200
63
3148
1679
44
196
2597
34802
14
1045
1793
64
5653
3096
206
196
3062
37033
14
1046
62824
46
12577
3185
66
196
3054
37725
14
1047
1739
56
138823
3472
848
196
3054
37086
14
1048
81462
47
4314
3096
206
196
2675
30799
14
1049
99497
39
11821
3185
728
196
2665
31383
14
1050
4236
91
882737
4017
848
196
3014
35938
130
14
1051
81605
60
5978
3096
94
196
3068
36429
14
1052
61996
88
4579
3150
66
196
3107
37294
14
1053
48003
91
4812
3096
730
196
2942
31399
14
1054
102435
46
20512
3185
3741
196
2970
35834
14
1055
5515
42
1855
2820
989
196
2489
28941
14
1056
27887
41
127492
3472
201
196
2681
36287
14
1057
7247
32
6344
3185
292
196
3076
36041
14
1058
38957
45
19441
3185
44
196
2936
33214
14
1059
259537
56
163993
3472
748
196
2932
36028
14
1060
18583
52
1231308
4017
206
196
3102
36002
14
1061
192800
53
12648927
4920
730
196
2793
33297
14
1062
538157
55
19963
3185
465
196
3117
36732
14
1063
4121
52
18642
3185
26
196
2953
37784
14
1064
34442
49
10840
3185
730
196
2792
34420
14
1065
24990
30
87812
3472
267
196
3095
36655
14
1066
16425
46
5312
2342
191
196
2666
32876
14
1067
496161
32
9126
3185
144
196
3002
37492
14
1068
12284
56
62200
3472
206
196
2829
32797
14
1069
322285
31
159392
3472
662
196
3008
35731
14
1070
888
40
170622
3472
1894
196
2390
33078
14
1071
22983
84
17059
3185
144
196
3168
37891
14
1072
147743
35
65865
3472
687
196
3153
36090
14
1073
124576
44
4362
1349
44
196
2647
30724
14
1074
63065
66
1662263
4017
428
196
3032
35198
14
1075
32715
63
19883
3185
1032
196
3105
32633
14
1076
76453
31
4228
1845
92
196
2998
35474
14
1077
7235
40
14863
3185
321
196
3001
35247
14
1078
448722
92
4678
2750
144
196
2814
31692
131
14
1079
357177
38
19593
3185
321
196
2518
35616
14
1080
10123
35
1397
2303
144
196
2791
32928
14
1081
757
30
1034602
4017
614
196
3013
36817
14
1082
113461
39
3154
2915
187
196
2779
34500
14
1083
9284
97
4888
3055
730
196
2787
33983
14
1084
83294
55
17991
3185
144
196
3005
37287
14
1085
3915
60
1379726
4017
848
196
2820
33177
14
1086
179400
124
706
666
44
196
2587
34021
14
1087
65536
30
1557236
4017
667
196
3175
37472
14
1088
11987
37
18665
3185
44
196
3056
37224
14
1089
165498
76
85361
3282
206
196
2952
38031
14
1090
827
32
3432
2985
267
196
2786
32822
14
1091
87250
71
4315
2033
113
196
2461
35959
14
1092
37747
30
4533
3687
129
196
2876
32973
14
1093
1698
98
1610
5372
92
196
2694
35984
14
1094
472303
53
18599711
4920
622
196
3195
37008
14
1095
1010
36
4580
2210
166
196
2789
34290
14
1096
75764
30
1917
1877
44
196
2602
31029
14
1097
387497
69
5357
1820
187
196
2853
34570
14
1098
35732
36
21258
3185
267
196
2762
29751
14
1099
0
42
11188
3185
187
196
3049
36270
14
1100
597833
63
978
621
206
196
2989
36060
15
1101
84818
78
669345
4837
445
225
3735
47339
15
1102
1415
75
9305051
5572
1213
225
3640
49328
15
1103
1015
50
4272
2284
1900
225
3792
46552
15
1104
15195
48
2723
1348
166
225
3424
43894
15
1105
16199
43
9504960
5627
3432
225
3489
48331
15
1106
251128
50
6793
6862
6867
225
3827
48895
132
15
1107
1024661
45
13957944
5627
397
225
3746
48883
15
1108
350064
50
5187
1900
397
225
3460
45364
15
1109
282764
75
1317653
4837
1900
225
3855
50748
15
1110
73161
71
8727
4483
132
225
3753
48980
15
1111
52370
78
1341413
4837
685
225
3023
42874
15
1112
19718
33
3093
2937
132
225
3460
45081
15
1113
186570
58
173361
4377
397
225
3885
47002
15
1114
237800
33
1514156
4837
225
225
3572
45132
15
1115
52986
63
68520
4377
34
225
3786
44624
15
1116
15061
43
763020
4837
492
225
3333
44367
15
1117
124147
51
4954
3605
132
225
3511
46184
15
1118
23457
52
17845925
5627
1202
225
3501
44599
15
1119
147561
40
1384466
4837
336
225
3675
48650
15
1120
882997
32
1807555
4837
287
225
3950
47509
15
1121
477874
52
18851
4167
445
225
3877
50311
15
1122
33180
78
137034
4377
492
225
3402
43298
15
1123
186969
55
32007
4377
512
225
3797
47931
15
1124
316249
55
3100
2284
52
225
3581
46836
15
1125
38322
45
6103
4155
64
225
3455
45280
15
1126
771361
42
484013
4837
94
225
3493
45132
15
1127
161839
38
5714585
5627
438
225
3755
48172
15
1128
30878
64
4528
3220
34
225
3409
45106
15
1129
2573
79
6422
9932
52
225
3567
46926
15
1130
42105
38
157794
4377
330
225
3293
43286
15
1131
51334
42
8940
5388
354
225
3412
42226
15
1132
121311
53
248469
4476
1436
225
3630
44197
15
1133
1337
71
5771
9899
60
225
3638
48111
15
1134
143424
39
87960
4377
316
225
3733
47224
133
15
1135
125671
34
1805
1807
218
225
3410
39332
15
1136
210365
82
38862
4377
132
225
3677
47361
15
1137
743456
44
7059
1101
555
225
3353
41961
15
1138
140274
59
8959
6077
52
225
3533
47773
15
1139
706
81
1536620
4837
753
225
3692
50328
15
1140
0
118
13783175
5627
1387
225
3080
42798
15
1141
7365
52
176655
4377
137
225
3668
47193
15
1142
39687
39
11598948
5627
3785
225
3509
47906
15
1143
136431
64
1373716
4837
1171
225
3948
51000
15
1144
88020
130
4015
2284
64
225
3402
44339
15
1145
15032
87
140427
4377
293
225
3724
48321
15
1146
18849
46
11925
4167
4151
225
3243
44326
15
1147
522997
43
54126
4377
137
225
3755
50054
15
1148
13843
60
15649506
5627
1213
225
3478
47728
15
1149
593951
57
10023
1420
64
225
3689
47447
15
1150
86658
48
8224
4167
94
225
3248
43331
15
1151
54884
82
158943
4377
1155
225
3791
47450
15
1152
34110
72
20332
4167
397
225
3600
46235
15
1153
301700
44
114900
4377
94
225
3584
49920
15
1154
14438
58
135171
4377
555
225
3140
43522
15
1155
15526
96
11602
2442
52
225
3411
40012
15
1156
13741
56
7653
2768
555
225
3474
45747
15
1157
0
40
149685
4377
311
225
3322
43752
15
1158
20495
40
1224076
4837
1010
225
3804
51083
15
1159
38968
39
518807
4837
351
225
3654
46082
15
1160
15896
34
2,17E+08
6867
1245
225
3519
44929
15
1161
55296
43
42159
4377
1375
225
3391
44709
15
1162
419675
59
8953
8548
34
225
3501
45157
134
15
1163
72819
65
18555
4167
351
225
3730
47478
15
1164
7187
75
3938
5170
94
225
3443
50207
15
1165
0
39
7432
8218
354
225
3703
47325
15
1166
314823
33
17324971
5627
1155
225
2999
48566
15
1167
4904
49
1,99E+08
6852
4366
225
3621
49637
15
1168
295389
59
2,1E+08
6867
1245
225
3603
45225
15
1169
784198
82
6565
8713
354
225
3456
45277
15
1170
84231
59
148140
4377
130
225
3414
46858
15
1171
144631
44
20267
4167
4151
225
3622
45561
15
1172
1168
34
1586323
4837
327
225
3907
50436
15
1173
59587
51
182706
4377
135
225
3603
45369
15
1174
6917
135
9882
4167
137
225
3400
46873
15
1175
642
47
149574
4377
397
225
3758
48360
15
1176
49526
61
5758
3175
354
225
3601
45538
15
1177
82250
36
137055
4377
397
225
3624
47174
15
1178
1092
51
28345
4348
1708
225
3628
47629
15
1179
17681
107
5013922
5627
445
225
3948
40900
15
1180
792
48
7515
1446
64
225
3822
48123
15
1181
43082
70
5069
826
34
225
3730
45368
15
1182
0
38
10384
4167
1226
225
3581
49668
15
1183
1413
34
8908
4730
351
225
3529
46376
15
1184
1424
65
5599
6790
763
225
3858
49326
15
1185
13176
39
38046
4377
94
225
3570
47565
15
1186
457185
83
334752
4837
1299
225
3400
44539
15
1187
390809
36
21701
2442
264
225
3926
50473
15
1188
118841
48
124956
4377
351
225
3389
50134
15
1189
1279
49
159348
4377
512
225
3478
44470
15
1190
128721
71
8234
2870
132
225
3996
50353
135
15
1191
148463
32
89409
4377
287
225
3787
49875
15
1192
16691
52
11957074
5539
1155
225
3732
50065
15
1193
32132
33
779990
4837
137
225
3403
49396
15
1194
17392
48
146952
4377
512
225
3530
42312
15
1195
17112
38
12838976
5627
1374
225
3538
43949
15
1196
53731
56
15943045
5627
397
225
3951
50556
15
1197
149837
51
83229
4377
1900
225
3259
48771
15
1198
8287
73
5193
5094
397
225
3509
48189
15
1199
321736
37
149061
4377
555
225
3704
42894
15
1200
122956
85
1562928
4837
137
225
3797
46996
16
1201
443022
69
102362
5551
189
256
4406
63266
16
1202
489333
36
2,05E+08
7706
1034
256
4757
67062
16
1203
60081
44
19495
5434
943
256
4181
57204
16
1204
756648
52
1385381
5922
911
256
4275
59287
16
1205
198252
38
177697
5551
732
256
4531
63152
16
1206
617686
37
165612
5551
208
256
4546
64268
16
1207
516098
62
16821
16075
689
256
4508
62739
16
1208
1046040
52
70359
5551
4563
256
4113
60413
16
1209
284851
56
5228
12377
146
256
4800
65400
16
1210
385205
35
3632
4207
828
256
4380
63264
16
1211
17530
36
1750368
5922
483
256
4566
62776
16
1212
344610
90
1648652
5922
208
256
3716
60263
16
1213
18882
69
19251847
6607
2137
256
4698
66099
16
1214
36855
36
546392
5922
189
256
4678
64307
16
1215
36442
57
17452
3569
146
256
4523
65519
16
1216
163369
47
1645080
5922
3152
256
4066
60152
16
1217
136971
40
85480
5551
46
256
4620
51391
16
1218
14762
53
3344
4322
46
256
4140
51339
136
16
1219
244885
62
9544191
6607
323
256
4385
64968
16
1220
568616
50
17360
16627
3102
256
4549
61002
16
1221
1083
34
13270
5434
3566
256
4522
61300
16
1222
106329
84
8832
5434
442
256
4459
62859
16
1223
253224
42
3490
2110
137
256
4342
58346
16
1224
16668
56
2,16E+08
7706
732
256
4661
62752
16
1225
7571
44
17912554
6607
612
256
4505
59132
16
1226
48069
92
1182411
5922
782
256
4268
64658
16
1227
265276
79
173063
5551
948
256
4691
64983
16
1228
183596
74
18831
5434
646
256
4453
61355
16
1229
89086
40
132337
5551
303
256
4712
66276
16
1230
97405
73
9269
16900
46
256
4608
62915
16
1231
588516
60
114723
5551
948
256
4532
65102
16
1232
7352
56
127470
5428
991
256
4749
59085
16
1233
133303
62
1328010
5922
1289
256
4470
61862
16
1234
64243
34
126265
5551
750
256
4164
64609
16
1235
18827
49
1188716
5922
203
256
4286
63297
16
1236
566210
81
3906518
6607
732
256
4767
65355
16
1237
469481
71
1052540
5922
208
256
4604
61270
16
1238
326318
51
1535624
5922
2904
256
4405
60680
16
1239
16400
66
15462240
6607
2570
256
4862
63738
16
1240
982294
83
804167
5922
495
256
4356
57401
16
1241
1235
39
1,1E+08
7706
850
256
4859
64062
16
1242
1150
71
10031
5161
2570
256
4179
57936
16
1243
451192
70
1193580
5922
189
256
4691
65827
16
1244
4661393
48
942666
5922
732
256
4078
60227
16
1245
1063174
61
7955607
6607
7105
256
4249
64011
16
1246
73397
53
1808019
5922
683
256
4624
63905
137
16
1247
112035
79
13672
3002
46
256
4292
57961
16
1248
205906
43
152395
5551
948
256
4100
59848
16
1249
784369
41
1318295
5922
251
256
4194
65568
16
1250
58628
42
1,51E+09
9219
2131
256
4726
67693
16
1251
11791
47
14796
9753
991
256
4245
59861
16
1252
90462
82
5795
3098
46
256
4583
64558
16
1253
20217
50
12361
1914
189
256
4251
59364
16
1254
728420
58
7380118
6607
732
256
3932
53743
16
1255
409322
41
166151
5551
646
256
4553
62483
16
1256
69033
42
4193
10228
208
256
4377
59926
16
1257
161962
62
147895
5551
526
256
4018
60954
16
1258
58318
73
1406304
5922
256
256
4539
63769
16
1259
1094
82
166198
5551
46
256
4589
59054
16
1260
67421
36
5325
13433
146
256
4492
59246
16
1261
31023
61
16375675
6607
642
256
4437
63902
16
1262
6676
95
1,99E+08
7673
1421
256
4301
66507
16
1263
255994
79
1569729
5922
689
256
4632
61165
16
1264
22719
49
25029
5434
645
256
4655
64446
16
1265
82504
47
186010
5551
146
256
4071
57645
16
1266
430833
84
171254
5551
689
256
4092
61158
16
1267
429095
58
10737676
6607
294
256
4663
61297
16
1268
117622
59
1458857
5922
487
256
4687
53845
16
1269
33149
39
19131623
6607
2163
256
4437
66423
16
1270
1350
80
4614
4207
689
256
4154
56652
16
1271
65848
43
4422
4293
646
256
3971
58609
16
1272
493811
49
18461672
6607
1627
256
4663
63754
16
1273
55439
39
7227
5343
68
256
3864
56607
16
1274
179581
36
5779
3098
732
256
4349
63895
138
16
1275
33238
107
31948
5551
948
256
4504
63705
16
1276
76095
48
14562
18224
146
256
4365
57763
16
1277
5068
47
3164
1109
189
256
4416
60426
16
1278
30228
69
16604426
6550
601
256
4620
63089
16
1279
22034
85
19518142
6607
1615
256
4826
65172
16
1280
254740
41
964043
5922
1722
256
4150
60182
16
1281
258632
35
13996305
6607
1710
256
4452
63917
16
1282
755150
51
163481
5922
184
256
4598
65539
16
1283
97572
38
1282786
5922
208
256
4662
62910
16
1284
99360
70
8008
2039
208
256
4524
60077
16
1285
257293
46
7692
13842
208
256
4308
62317
16
1286
18969
96
1,76E+08
7706
750
256
4425
63801
16
1287
1505
49
11122
4578
111
256
4281
54835
16
1288
10779
165
1378734
5893
411
256
4649
61953
16
1289
219131
66
141568
5551
294
256
4296
61793
16
1290
537782
76
623887
5922
208
256
4698
63512
16
1291
113849
55
14852
9620
856
256
4437
63421
16
1292
42456
41
7268
12698
68
256
4575
61737
16
1293
134761
86
81343
5551
515
256
4127
55790
16
1294
101072
44
19330998
6607
732
256
4352
63829
16
1295
628881
64
9278
9359
3195
256
4421
65598
16
1296
419412
47
5862
5922
616
256
4642
55853
16
1297
110945
65
5494
5551
394
256
4504
59225
16
1298
12627
47
5862
5922
3109
256
4232
60186
16
1299
532781
81
5494
5551
991
256
4065
56469
16
1300
35937
65
9278
9359
3666
256
4688
62233
17
1301
188354
101
322
289
5047
74511
17
1302
1274021
38
237
289
5268
77779
139
17
1303
508119
59
284
289
5536
80534
17
1304
239961
52
289
289
4934
73077
17
1305
110901
53
246
289
5670
82098
17
1306
120718
67
1617
289
5322
70321
17
1307
3304
45
6189
289
5085
76469
17
1308
69186
106
4069
289
5400
80172
17
1309
249997
53
96
289
5252
73644
17
1310
161475
97
2529
289
5491
81241
17
1311
291571
65
356
289
5437
81843
17
1312
0
36
2525
289
5162
70150
17
1313
26829
99
96
289
5562
83427
17
1314
76897
48
36
289
4961
73670
17
1315
12129
67
399
289
5629
83457
17
1316
516873
53
96
289
5371
62981
17
1317
16436
67
557
289
5451
76241
17
1318
375196
104
227
289
5129
71612
17
1319
15069575
62
399
289
4544
75472
17
1320
163065
56
289
289
5280
76854
17
1321
173424
101
1859
289
5444
84242
17
1322
1748191
72
1125
289
5839
82466
17
1323
224838
36
2146
289
5468
82633
17
1324
92122
50
485
289
5009
69702
17
1325
141800
62
134
289
5577
86236
17
1326
250477
134
356
289
5547
81119
17
1327
580584
74
96
289
5405
78170
17
1328
96474
81
4777
289
4266
69955
17
1329
557663
40
399
289
5574
80099
17
1330
315282
62
2453
289
5699
82085
140
17
1331
242403
52
7362
289
5285
76990
17
1332
172613
43
97
289
4794
81865
17
1333
426926
58
744
289
5628
79990
17
1334
91243
47
1145
289
5722
83762
17
1335
85092
141
659
289
5575
83346
17
1336
459337
59
398
289
5589
77846
17
1337
508166
41
353
289
4986
78781
17
1338
557569
77
1859
289
5018
72438
17
1339
437171
37
6006
289
5558
79573
17
1340
342544
40
1022
289
4827
75261
17
1341
591945
91
341
289
4759
75268
17
1342
881916
44
1269
289
5366
79401
17
1343
326863
40
66
289
4937
83590
17
1344
112132
45
96
289
5223
82209
17
1345
8229980
89
1226
289
5051
75265
17
1346
1455504
52
1173
289
5803
84264
17
1347
94633
40
2964
289
5790
86741
17
1348
475550
70
1181
289
5213
75892
17
1349
71380
40
1859
289
5240
79134
17
1350
16884
74
2800
289
5796
85298
17
1351
7787
79
11562
289
5703
81141
17
1352
385781
101
10562
289
5498
78794
17
1353
863385
44
1173
289
5203
84468
17
1354
734541
92
6853
289
5241
82316
17
1355
439892
117
1470
289
5606
80337
17
1356
21520
73
36
289
5089
81416
17
1357
89589
83
356
289
5467
78847
17
1358
191234
68
3215
289
5085
77157
141
17
1359
529861
44
447
289
5122
76775
17
1360
83501
54
1204
289
5063
79257
17
1361
824799
77
246
289
5542
76767
17
1362
53172
102
1069
289
5043
80953
17
1363
40627778
53
399
289
5541
79937
17
1364
3007459
51
2017
289
5682
87095
17
1365
55166
87
353
289
5178
72938
17
1366
58250
60
1173
289
5512
73378
17
1367
684185
51
9626
289
5158
81630
17
1368
6708
60
2270
289
5540
82143
17
1369
413146
76
96
289
5509
83020
17
1370
19814
115
1859
289
5471
78904
17
1371
11822
74
356
289
4918
72130
17
1372
137085
65
1114
289
5400
74727
17
1373
28945
46
1206
289
5328
78350
17
1374
303089
66
356
289
5359
73637
17
1375
1968650
47
557
289
4770
71641
17
1376
658500
39
177
289
5269
70481
17
1377
0
39
96
289
5200
72154
17
1378
150427
45
1471
289
5382
79265
17
1379
606676
50
1318
289
5697
81769
17
1380
255668
96
1859
289
5294
79595
17
1381
411089
40
442
289
5311
78939
17
1382
44567
40
1204
289
5343
79730
17
1383
67903
51
3195
289
5301
80125
17
1384
415074
62
557
289
5404
77261
17
1385
64844
43
246
289
5425
83568
17
1386
8808
66
1859
289
5610
77824
142
17
1387
112428
66
399
289
5252
79353
17
1388
730080
43
356
289
5007
81751
17
1389
12015
62
356
289
5392
78272
17
1390
12969
62
1204
289
5484
76110
17
1391
145757
51
1171
289
5649
81617
17
1392
1902
46
134
289
5341
79065
17
1393
780989
36
1005
289
5105
75218
17
1394
206408
49
289
289
4564
79609
17
1395
87621
85
1859
289
4859
65170
17
1396
295285
44
353
289
5783
86431
17
1397
16284
96
1022
289
5419
80690
17
1398
590032
98
2329
289
5744
83131
17
1399
388736
92
139
289
5659
71393
17
1400
367580
60
356
289
5826
86249
18
1401
1064800
18
1402
165760
18
1403
1604873
18
1404
6135
18
1405
563469
18
1406
998119
18
1407
403409
18
1408
245068
18
1409
625857
18
1410
17269
18
1411
3337896
18
1412
521860
18
1413
317547
18
1414
25097
143
18
1415
105129
18
1416
414301
18
1417
232276
18
1418
10968
18
1419
2304502
18
1420
475940
18
1421
197014
18
1422
1305899
18
1423
19644
18
1424
1836881
18
1425
233661
18
1426
1241655
18
1427
50341
18
1428
71508
18
1429
9316301
18
1430
1246071
18
1431
150949
18
1432
1196400
18
1433
602960
18
1434
910113
18
1435
588005
18
1436
5248615
18
1437
2215447
18
1438
1575972
18
1439
42752
18
1440
613902
18
1441
604573
18
1442
218381
144
18
1443
984524
18
1444
2469025
18
1445
3117030
18
1446
1038121
18
1447
120018
18
1448
39277
18
1449
189940
18
1450
287593
18
1451
502262
18
1452
643507
18
1453
47612
18
1454
2897
18
1455
451966
18
1456
983860
18
1457
774557
18
1458
7602358
18
1459
162040
18
1460
458378
18
1461
34814
18
1462
1264485
18
1463
26167
18
1464
1729559
18
1465
1140673
18
1466
11743
18
1467
723281
18
1468
65754
18
1469
69246
18
1470
38835
145
18
1471
815088
18
1472
106788
18
1473
856245
18
1474
1456
18
1475
1689
18
1476
1753578
18
1477
1178878
18
1478
282203
18
1479
2964216
18
1480
194847
18
1481
3816532
18
1482
73908
18
1483
742995
18
1484
418875
18
1485
281643
18
1486
8255497
18
1487
381530
18
1488
94551
18
1489
121094
18
1490
82227
18
1491
76286
18
1492
756948
18
1493
355553
18
1494
27340
18
1495
649654
18
1496
8883254
18
1497
822242
18
1498
903775
146
18
1499
193586
18
1500
250343
147
Download