Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

advertisement
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Уфимский государственный авиационный технический университет»
На правах рукописи
КОЩЕЕВ Иван Сергеевич
ОПТИМИЗАЦИЯ ДОСТАВКИ ГРУЗА ПОТРЕБИТЕЛЯМ С УЧЕТОМ
ЕГО РАЗМЕЩЕНИЯ ВНУТРИ ТРАНСПОРТНЫХ СРЕДСТВ НА
ОСНОВЕ ЭВРИСТИЧЕСКИХ МЕТОДОВ
Специальность 05.13.01 – Системный анализ, управление и обработка
информации (в промышленности)
Диссертация на соискание ученой степени
кандидата технических наук
Научный руководитель
доктор технических наук
профессор Валеева А. Ф.
Уфа – 2015
2
Оглавление
Введение ........................................................................................................................... 4
Глава 1 Проблема доставки груза потребителям с учетом его размещения внутри
транспортных средств при наличии технологических ограничений ......................... 9
1.1 Актуальность исследуемой проблемы ................................................................ 9
1.2 Анализ существующих методов составления рациональных маршрутов
доставки груза ............................................................................................................ 13
1.3 Классификация и анализ методов решения задачи маршрутизации ............. 19
1.4 Классификация и анализ методов решения задачи упаковки ........................ 30
1.5 Цель и задачи исследования............................................................................... 38
Выводы по первой главе ........................................................................................... 39
Глава 2 Постановка задачи доставки груза потребителям с учетом его размещения
внутри транспортных средств при наличии технологических ограничений и
методы ее решения ........................................................................................................ 41
2.1 Математические модели задачи доставки груза с учетом его размещения
внутри ТС ................................................................................................................... 41
2.2 Декодер для решения задачи оптимизации размещения груза внутри ТС ... 51
2.3 Анализ работы процедуры размещения ........................................................... 58
Выводы по второй главе ........................................................................................... 65
Глава 3. Разработка метода решения задачи доставки груза потребителям с учетом
его размещения внутри ТС при наличии технологических ограничений ............... 67
3.1 Разработка алгоритма для решения транспортной задачи ............................. 67
3.2 Применение эволюционных стратегий для решения задачи размещения
груза внутри ТС ......................................................................................................... 70
3.3 Разработка роевой гиперэвристики для решения задачи оптимизации
размещения груза внутри ТС ................................................................................... 81
3.4. Разработка метода решения задачи доставки груза потребителям с учетом
технологических ограничений ................................................................................. 85
3.5. Анализ работы алгоритма эволюционных стратегий..................................... 89
Выводы по третьей главе .......................................................................................... 94
3
Глава 4. Оценка эффективности алгоритмов и методов оптимизации доставки
груза потребителям при наличии технологических ограничений на базе
численных экспериментов ............................................................................................ 95
4.1 Программное обеспечение для задачи оптимизации доставки груза
потребителям при наличии технологических ограничений ................................. 95
4.2 Анализ результатов численного эксперимента на задаче размещения кругов. 99
4.3 Анализ результатов численного эксперимента на задаче размещения кругов
и прямоугольников .................................................................................................. 103
4.4 Анализ результатов численного эксперимента на задаче размещения
прямоугольных параллелепипедов........................................................................ 106
4.5 Анализ результатов численного эксперимента на задаче класса 3L-CVRP 109
4.6 Анализ эффективности работы программного обеспечения для решения
прикладных задач .................................................................................................... 110
Вывод по четвертой главе ...................................................................................... 114
Заключение .................................................................................................................. 116
Список литературы ..................................................................................................... 118
4
Введение
Диссертационная работа посвящена разработке методов и алгоритмов
оптимизации процесса доставки груза потребителям по критерию минимизации
стоимости аренды транспортных средств с учетом размещения предметов внутри
транспортного средства, принимая во внимание технологические ограничения.
Актуальность темы исследования.
В настоящее время в связи с
увеличением грузопотока актуальной проблемой является развитие и разработка
методов решения задач маршрутизации, основная цель которых -
снижение
затрат при перевозке и доставке различных грузов потребителям «точно в срок».
Рассматривается задача унимодальной перевозки груза. Доставляется груз
прямоугольной и цилиндрической формы. Для доставки груза в пункт назначения
фирма арендует грузовые машины одинаковой грузоподъемности. В одном
транспортном средстве (ТС) могут находиться груз, предназначенный для
нескольких заказчиков. Перед транспортировкой груза – первичные грузовые
единицы – должны быть сформированы в грузопакеты (укрупненные грузовые
единицы, предназначенные для одного потребителя) и размещены на поддонах
или
паллетах,
Пакетированный
имеющих
груз
настил
и
представляет
настройку
собой
для
крепления
транспортный
пакет
грузов.
(ТП),
предназначенный определенному потребителю, который с помощью погрузчика
помещается в отсек ТС. Фирма заинтересована в минимизации затрат на аренду
ТС. Таким образом, требуется найти:
1. Маршруты доставки для арендуемых ТС.
2. Размещение ТП в грузовые отсеки ТС при соблюдении технологических
ограничений.
Диссертационная работа посвящена разработке методов и алгоритмов
решения для задачи транспортировки грузов с учетом размещения груза внутри
транспортного средства и технологических ограничений.
Цель и задачи. Целью диссертационной работы является повышение
эффективности доставки груза потребителям за счет его рационального
5
размещения внутри транспортных средств (ТС) и формирования рациональных
маршрутов доставки.
Для достижения указанной цели в работе поставлены следующие задачи:
1.
Провести
анализ
технологий,
используемых
для
решения
транспортной задачи, выделить базовые технологические ограничения и
сформулировать постановку задачи доставки груза потребителям, с учетом его
размещения внутри ТС при наличии технологических ограничений.
2.
учетом
Разработать математическую модель доставки груза потребителям с
его
размещения
внутри
транспортного
средства
при
наличии
технологических ограничений.
3.
Разработать метод и алгоритмы для решения задачи доставки груза
потребителям с учетом его размещения внутри транспортного средства при
наличии технологических ограничений.
4.
Разработать программное обеспечение на основе предложенных
алгоритмов решения транспортной задачи с учетом размещения груза в ТС и
требуемых технологических ограничений.
5.
Исследовать эффективность предложенных методов и алгоритмов с
помощью численных экспериментов.
Методы исследования. В работе использовались методы системного
анализа, проектирования программного обеспечения, методы решения задач
дискретной оптимизации. Оценка эффективности предложенных методов и
алгоритмов осуществлялась с помощью численных экспериментов на известных,
а также сгенерированных примерах. Проводилось их сравнение с результатами
полученными другими авторами.
На защиту выносятся:
1.
Математическая модель задачи доставки груза различной формы с
учетом технологических ограничений, которая в отличие от известных работ,
позволяет учитывать размещение груза цилиндрической и параллелепипедной
формы, а также рациональные маршруты их доставки.
6
2.
Эвристический
метод
на
базе
эволюционных
стратегий
и
гиперэвристического алгоритма, основанного на роевом алгоритме, который, в
отличие от известных, позволяет получать плотное размещение груза различной
геометрической формы внутри ТС с учетом технологических ограничений и
рационального маршрута доставки.
3.
Алгоритм, преобразующий приоритетный список в план размещения,
который в отличие от известных позволяет размещать груз цилиндрической и
параллелепипедной формы внутри транспортных средств (ТС) с учетом
технологических ограничений.
Научная новизна:
1. Математическая модель задачи доставки груза различной формы с
учетом технологических ограничений, которая в отличие от известных работ,
позволяет учитывать размещение груза цилиндрической и параллелепипедной
формы, а также рациональные маршруты их доставки.
2. Эвристический
метод
на
базе
эволюционных
стратегий
и
гиперэвристического алгоритма, основанного на роевом алгоритме, который, в
отличие от известных, позволяет получать плотное размещение груза различной
геометрической формы внутри ТС с учетом технологических ограничений и
рационального маршрута доставки.
3. Алгоритм, преобразующий приоритетный список в план размещения,
который в отличие от известных позволяет размещать груз цилиндрической и
параллелепипедной формы внутри транспортных средств (ТС) с учетом
технологических ограничений.
Практическую значимость имеют следующие результаты:
1.
том
его
Метод повышения эффективности доставки груза потребителям с учеразмещения
внутри
транспортного
средства
при
наличии
технологических ограничений, позволяющий уменьшить затраты на аренду
транспортных средств.
7
2.
Рабочий
прототип
программного
обеспечения,
реализующий
предложенные методы и алгоритмы доставки груза потребителям с учетом
размещения
груза
цилиндрической
и
прямоугольной
формы
внутри
транспортного средства при наличии технологических ограничений.
Разработанные методы решения задач являются инвариантными и могут
быть легко адаптированы под конкретные условия, предъявляющие некоторые
дополнительные технологические ограничения.
Связь исследования с научными проблемами. Работа выполнялась при
поддержке гранта Российского фонда фундаментальных исследований (РФФИ),
проект РФФИ № 13-07-00579 (2011-2013).
Апробация
работы.
Результаты работы
и отдельные ее
разделы
докладывались и обсуждались на следующих конференциях и семинарах:
1.
Международной
конференции
"Компьютерные
науки
и
информационные технологии" (CSIT), Уфа, 2010-2012;
2.
Всероссийская конференция «Математическое программирование и
приложения», Екатеринбург, 2011
3.
VII Всероссийская зимняя школа аспирантов и молодых учѐных,
Челябинск, 2012
4.
Зимней школе для аспирантов и молодых ученых, Уфа, 2012, 2014;
5.
Международная
молодежная
конференция
"Интеллектуальные
технологии обработки информации и управления", Уфа, 2012
6.
V
Всероссийской
конференции
"Проблемы
оптимизации
и
экономические приложения", Омск, 2012;
7.
Российская конференция "`Дискретная оптимизация и исследование
операций"' (DOOR-2013), Новосибирск, 2013;
8.
Международная
конференция
«Информационные
технологии
интеллектуальной поддержки принятия решений», Уфа, 2013;
9.
International Conference «Optimization and applications» (OPTIMA-
2013), Petrovac, Montenegro, 2013
8
Публикации. По теме диссертации опубликовано 17 работ: 8 статей, в том
числе 4 в рецензируемых журналах ВАК и 9 статей в сборниках трудов
конференций, получено одно свидетельство регистрации программы для ЭВМ.
Структура и объем работы
Диссертация состоит из введения, четырех глав, выводов и списка
литературы. Работа изложена на 133 страницах машинописного текста, кроме
того содержит 37 рисунков и 14 таблиц. Библиографический список включает
180 наименований и занимает 16 страниц.
9
Глава 1 Проблема доставки груза потребителям с учетом его
размещения внутри транспортных средств при наличии
технологических ограничений
1.1 Актуальность исследуемой проблемы
В современной рыночной экономике исчезают
все
границы
для
товарооборота между странами, что порождает жесткую конкурентную борьбу
практически на всех рынках. Объем мирового экспорта за последние тридцать лет
увеличился в десять раз [1]. В условиях рыночной конкуренции предприятиям
необходимо снижать свои затраты, для того чтобы обеспечить выгодное
предложение клиентам. Значительную часть расходов составляют расходы на
логистику. В среднем на предприятиях расходы на логистику находятся в
интервале 5-35% в зависимости от таких факторов, как: объем выпускаемой
продукции, географическое расположение, используемый ресурс, тип бизнеса и
т.д. Это статья расходов уступает лишь затратам на материалы и сырье [2].
Расходы на транспортную логистику могут составляют до 50% расходов на
логистику, в целом [3].
Если рассматривать экономику макроуровня, то расходы на логистику
также составляют значительную часть. Например, в США в 2003 году объем
расходов на логистику составлял 8,5% валового внутреннего продукта [4]. В 2013
году расходы на транспортную логистику в России составили 6,3% валового
внутреннего продукта РФ. Примерно половина расходов на логистику составляют
расходы на транспортную логистику. В свою очередь 76.5% перевозок
совершаются автотранспортном [5]. Отдельно стоит заметить, что в 2014 году
экономическая ситуация в России стала хуже чем в прошлом году: объемы
потребления сокращаются, что приводит к пропорциональному (а часто и
большему) сокращению рынка услуг транспортной и складской логистики [2], а
значит к ужесточению конкуренции.
В этих условиях значение себестоимости продукции для предприятия резко
возрастают [4] [3]. Себестоимость продукции (работ, услуг) представляет собой
стоимостную оценку используемых в процессе производства продукции (работ,
10
услуг) природных ресурсов, сырья, материалов, топлива, энергии, основных
фондов, трудовых ресурсов и других затрат на ее производство и реализацию [4].
Принято различать среднеотраслевую и индивидуальную себестоимость.
Среднеотраслевая себестоимость определяется как средневзвешенная величина и
характеризует средние затраты на единицу продукции по отрасли, поэтому она
находится ближе к общественно необходимым затратам труда. Индивидуальная
себестоимость определяется как себестоимость конкретно взятого предприятия.
Следовательно, в условиях конкурентной борьбы предприятие должно стараться
держать себестоимость на уровне среднеотраслевой, а лучше ниже ее.
Значительную часть себестоимости могут составлять расходы на логистику, в
целом, и на транспортную логистику, в частности
Одной из основных задач транспортной логистики является выбор вида и
типа ТС, а также определение рациональных маршрутов доставки. Доставка груза
может
осуществляться
различными
транспортными
средствами.
Выбор
конкретного вида ТС зависит от шести основных факторов [2]:
1)
стоимость перевозки;
2)
частота отправлений груза;
3)
время доставки;
4)
надежность соблюдения графика доставки;
5)
способность перевозить разные грузы;
6)
способность доставить груз в любую точку территории;
При этом традиционно различают следующие шесть видов транспортных
средств, каждый из которых обладает своими достоинствами и недостатками.
Наиболее популярным способом доставки груза является автомобильный
транспорт. Обусловлено это несколькими факторами: автомобильный транспорт
позволяет обеспечить оперативность, динамичность; на рынке существует
достаточно большое количество перевозчиков, что обеспечивает конкурентную
борьбу между ними. Однако у данного метода перевозки есть и недостатки: так с
возрастанием расстояния себестоимость начинает возрастать по сравнению с
11
конкурирующими
видами;
вторым
существенным
недостатком
является
зависимость от дорожных условий и сравнительно небольшая грузоподъемность.
Вторым часто используемым видом транспорта является железнодорожный. Он
способен обеспечить перевозку практически в любые погодные условия, при
достаточно невысокой цене. К ключевому недостатку железнодорожного
транспорта стоит отнести его ограниченность, причем ограниченность в двух
смыслах:
ограниченное
число
перевозчиков
и
ограниченное
число
железнодорожных станций, откуда может потребоваться дополнительный развоз.
Воздушный транспорт позволяет обеспечить быструю доставку в отдаленные
регионы, но данный вид транспорта обладает высокой стоимостью и
ограниченностью (ограниченное число аэропортов, дополнительный развоз от
аэропорта). Одним из самых дешевых видов транспорта, способным обеспечить
высокую грузоподъѐмность на дальние расстояния является морской транспорт.
Главными проблемами при использовании морского транспорта являются долгое
время доставки и сильная зависимость от географических условий и степени
развития инфраструктуры. В некоторых классификациях выделяют также речной
транспорт, который обладает теми же достоинствами и недостатками, что и
морской. Отдельно от остальных стоит трубопроводный вид доставки, который
обеспечивает высокую скорость доставки при невысокой стоимости, однако
подходящий только под некоторые виды грузов и ограниченность передачи при
малых данных (невозможно передавать малые объемы).
Каждая фирма выбирает тот или иной вид транспортных средств, исходя из
6 факторов, перечисленных выше. В рамках данной работы рассматривается
автомобильный
транспортной
рассмотрения.
транспорт.
логистики,
Это
При
то
проблема
его
важная
рассмотрении
проблема,
экономического
для
решения
требующая
выбора
задачи
подробного
между
двумя
альтернативами: содержанием собственного парка автотранспорта или аренды
стороннего (аутсорсинг).
12
Дополнительно при решение задачи логистики необходимо следующие
аспекты используемых дорог:
1. Ограничения скорости
2. Рекомендуемая скорость
3. Исторические данные о прохождение данного участка дороги
4. Платные дороги – на некоторых участках может браться плата за проезд
5. Текущие данные
a. Наличие ремонтных работ
b. Текущие данные о прохождение участка другими участниками
дорожного движения
6. Законодательные ограничения
7. Ограничения по весу
8. Разрешенная нагрузка на оси ТС
Резюмируя вышесказанное, следует отметить, что для увеличения прибыли
предприятия необходимо минимизировать расходы на транспортную логистику, и
в частности, в случае использования автомобильного транспорта, расходы на
аренду ТС. Одним из способов минимизации расходов на аренду ТС является
составление рациональных маршрутов, а также рациональное размещение груза
внутри
транспортных
средств.
При
этом
возникает
необходимость
оптимизировать стадию составления маршрутов доставки груза потребителям и
стадию размещения груза внутри транспортных средств.
Вывод. В современных условиях жесткой экономической конкуренции для
обеспечения устойчивых позиций на рынке предприятиям необходимо решать
задачу минимизации себестоимости производимой продукции, которая в
значительной степени зависит от расходов на транспортную логистику. Одной из
основных задач транспортной логистики является составление рациональных
маршрутов доставки грузов потребителям и рационального размещения емкостей
внутри ТС. Использование методов, направленных на сокращение расходов на
транспортную логистику, способно значительно уменьшить себестоимость
13
производимой
продукции,
а
значит
увеличить
конкурентоспособность
предприятия и увеличить его прибыль.
На практике часто возникает задача, подразумевающая одновременное
решение и задачи размещения емкостей внутри ТС, и составления рациональных
маршрутов. Для ее решения необходимо рассмотреть как методы доставки груза
потребителям, так и методы решения задачи размещения емкостей внутри ТС с
целью выявления основных предъявляемых технологических ограничений.
1.2 Анализ существующих методов составления рациональных
маршрутов доставки груза
Данная работа посвящена проблеме, часто возникающей при решении
логистических задач: транспортировке и погрузочно-разгрузочных работах.
Большое распространение получила трехуровневая структура принятия
логистических решений, представленная Andre Langevin и Diane Riopel в книге
[5].
Предложенная
структура
позволяет
организовать
эффективное
взаимодействие компонент, решающих разные задачи внутри системы. В
описанной схеме самым верхним и трудоемким является уровень стратегического
планирования. Основные задачи стратегического планирования:
1. определения круга задач
2. анализ внутренней и внешней среды предприятия
3. определение стратегии и выбор альтернатив, а также непосредственно
реализацию выбранной стратегии,
4. способы контроля над выполнением выбранной стратегии
На уровне стратегического планирования вместе с решением об объеме
заказов, сроке доставки, объеме запасов, решается важнейший вопрос о
необходимости привлечении сторонних ресурсов(outsourcing) или отказа от них в
пользу собственных. Также решаются задачи исследования конкурентной среды,
вопрос о создании информационной базы данных о клиентах, услугах и товарах.
Вторым уровнем является уровень сетевого планирования. В качестве
исходных данных на нем используются решения, принятые на уровне сетевого
планирования. Например, на данном уровне, в случае, если сетевой уровень
показал необходимость, может решаться задача строительства сети обслуживания
клиентов.
14
На основе решений, принятых на уровне стратегического и сетевого
планирования, принимаются решения на операционном уровне. Это такие задачи,
как прогнозирование спроса, складирование, обработка заказов, транспортная
задача и т.д. [6]. На Рисунок 1.1 представлен граф принятия логистических
решений, отражающий три основных уровня.
Рисунок 1.1 – Граф принятия логистических решений
В рамках данной работы рассматривается две задачи оперативного
планирования: транспортировка и погрузочно-разгрузочных работы. Задача
доставки груза (транспортная задача) особо актуальна для предприятий,
разнесенных географически и затраты на транспортную логистику которых
значительны. Принято различать несколько видов транспортировки [7]:
1.
унимодальная – один вид доставляемых грузов, один вид ТС.
Рассматривается в случае, когда заранее известны начальный и конечный пункт
доставки, промежуточные операции складирования и переработки груза не
рассматриваются;
15
2.
cмешанная – два вида транспорта. Груз доставляется первым типом
транспорта до грузового терминала. Груз краткосрочно хранится в грузовом
терминале, а затем перевозка осуществляется уже другим видом транспорта.
Основным
показателем
данного
способа
является
наличие
нескольких
транспортных документов. Фактически владелец груза при этом находится в
юридических отношениях с двумя перевозчиками и на каждом этапе доставки
груза ответственность несет только один из них;
3.
комбинированная
–
более
двух
видов
транспорта.
Часто
используется в случае наличия разветвленной системы каналов сбыта;
4.
интермодальная (интегрированная) – в этом случае договор
заключается с одним лицом, ответственным за грузоперевозку на всем маршруте
доставки, доставка «от двери до двери». В этом случае составляется несколько
транспортных документов;
5.
мультимодальная – несколькими видами транспорта перевозка «от
двери до двери» под руководством оператора (экспедиторская фирма), который
несет персональную ответственность за перевозку по единому транспортному
документу;
В рамках данной работы рассматривается унимодальная доставка. Следует
заметить, что важной подзадачей при решении задачи логистики является
рационализация проведения погрузочно-разгрузочных работ. Для облегчения
проведения данных работ часто используют поддон или паллету (формально эти
понятия эквивалентны, и соответственно взаимозаменяемы). Отдельно выделают
понятие европаллета.
Европаллет – это паллет имеющий размер 120х80х15 см. Максимальный
вес, безопасно размещаемый на таком паллете, - 1000 кг. при высоте груза не
более 180 см. На практике зачастую максимальная высота предметов на паллете
не превышает 160 см. Данный тип поддона является стандартном на многих
предприятиях [8].
16
Общие требования к упаковке предметов на поддоны сформулированы в
ГОСТ 24587-81 ―Пакеты тарно-штучных грузов. Основные параметры и размеры‖
и ГОСТ 21140-88 ― Тара. Система размеров‖. В ГОСТ 24587-81 перечисляются
максимально разрешенные к использованию габариты поддонов и максимальная
разрешенная для них грузоподъемность. В ГОСТ 21140-88 перечисляются
рекомендованные размеры поддонов, а также рекомендованное размещение на
них для предметов прямоугольной и цилиндрической формы.
Помимо документов ГОСТ есть общий список рекомендаций при
размещении предметов на поддонах [9]:
1.
Поддон должен подниматься над землей минимум на 15 см, для
обеспечения
его
переноса
автоматическим
погрузчиком,
либо
ручными
домкратами.
2.
Рекомендуется использовать рифлѐные поддоны, т.к. они могут
использоваться для авиа- и морских перевозок.
3.
Складывать груз на поддон необходимо таким образом, чтобы
обеспечить его максимальную устойчивость. При загрузке поддоны желательно
ставить четко друг на друга, чтобы максимально укрепить поддон и обезопасить
груз. Часто применяется метод «каменной кладки», при котором предметы ставят
друг на друга внахлест.
4.
Упаковка грузов в форме пирамиды может привести к серьезному
повреждению груза
5.
Выступающие за пределы поддона предметы могут быть повреждены,
не стоит размещать предметы, таким образом, даже в пределах разрешенных
ГОСТ.
6.
Следует использовать дополнительный амортизирующий материал,
т.к. любой предмет должен выдерживать вес в 4-5 раз превышающий его
собственный. В качестве амортизирующего материала можно использовать пену
или гофрированный картон.
17
7.
При использовании бочек крайне желательно использовать рифленый
лист толщиной не меньшей, чем толщина днища бочки.
8.
В качестве прокладочного материала для предотвращения ударения
предметов друг о друга лучше всего подходит дерево или картон
9.
В случае использования бочек необходимо прочно связывать их
между собой. В этом случае рекомендуется использоваться минимально ввозную
площадь поддона.
10.
Наиболее
предпочтительно
связывание
стальным
крепежом,
благодаря его низкой эластичности. Связанные вместе бочки, которые становятся
одним целым, безопаснее для перевозки. Используйте прокладочный материал и
связывайте груз настолько крепко, насколько возможно, чтобы защитить его от
скольжения и повреждения. Пропускайте крепеж между досок паллеты, а не по
внешним краям.
Рассматривая погрузочно-разгрузочные работы, необходимо принимать во
внимание используемую для этого технику, т.к. она накладывает дополнительные
ограничения на решаемую задачу.
Наиболее часто встречаемым типом складского подъемного оборудования
являются штабелѐры. В последнее время штабелѐры практически вытеснили
погрузчики с противовесом по причине больших габаритов последних, что
особенно критично на высокотехнологичных и сильно загруженных складах.
Рассмотрим основные типы штабелѐров:
1.
Наиболее распространенным видом штабелѐров являются штабелѐры
с опорными консолям. Основной принцип их работы очень просто: при подъеме
груза центр тяжести штабелѐра располагается в зоне вил между мачтой и грузом,
что позволяет обеспечить его устойчивость и обходится без большого
противовеса. Отсутствие противовеса делает данный вид штабелѐра очень
компактным и маневренным. Так для установки на стеллаж поддона шириной
1.2 метра, требуется проход шириной 2-2.6 метра. Различают штабелѐры с
узкими и широкими опорными консолями. Первые работают с поддонами
18
открытого типа, имеют относительно небольшой диаметр колес, соответственно
для их применения требуются качественные и ровные полы; вторые - позволяют
работать с закрытыми/полузакрытыми поддонами, диаметр их колес обычно 150
мм, что позволяет преодолевать неровности. Основным недостатком то, что при
работе со стеллажами первый ярус должен находиться на балках, а не на полу,
что приводит к удорожанию стеллажных конструкций.
2.
Ручные гидравлические штабелѐры - являются простейшими
устройствами для размещения грузов на стеллажах (одно-, двухъярусные) и в
отсеки автотранспорта. Высота подъема, как правило, составляет 1.5-2.5 м,
грузоподъемность – 1-2.5 т.
3.
Штабелѐры с электрогидравлическим подъемом – это штабелѐры с
ручным передвижением и электрогидравлическим подъемом. По габаритам они
почти совпадают с ручными штабелѐрами, однако весят значительно больше и
используют АКБ. Высота подъема груза для них составляет 3-3.5 м,
грузоподъемность 1-2т.Штабелѐры типов 2 и 3 не подходят для складов с
высокой интенсивностью погрузочно-разгрузочных работ, однако, идеальны для
складов с небольшим грузооборотом, т.к. имеют относительно небольшую цену.
4.
Самоходные сопровождаемые штабелѐры. Наиболее типичным
представителем данного типа штабелѐров являются сопровождаемые штабелѐры
(ведомые, с поворотной рукояткой, «с поводком»).Для данного типа штабелѐров
имеется огромный выбор моделей на рынке, что позволяет подобрать модель по
соотношению цена-качество. Различают:
a. действительно сопровождаемые штабелѐры, за которыми оператор
идет
b. машины с откидной платформой, стоя на которой оператор
перемещается по складу.
Вторые являются более быстрыми (8 км/ч), однако и более габаритными, что
предъявляет дополнительные требования к межстеллажным проездам (2.5-2.7
метра, для сопровождаемых штабелѐров – 2.1 – 2.3 м). Характеристики этих
19
штабелѐров по грузоподъемности (1-3 т) и высоте подъема (1.5-5.5 м)
практически совпадают.
5.
Самоходные
штабелѐры
с
кабиной.
Основное
отличие
от
сопровождаемых штабелѐров – в защищенной с боковых сторон и сверху кабине,
которая позволяет более эффективно управлять машиной. Характеризуются
увеличенной скоростью передвижения и подъема, электросервопривод рулевого
управления. Позволяет поднимать грузы на высоту до 6-6.5 метров при ширине
межстелажного прохода 2.3-2.5 м. Применяются в случае необходимости
транспортировки грузов на расстояние 40-60 метров. Обладают наибольшей
ценой.
Вывод: при рассмотрении задачи доставки грузов потребителям с учетом
расположения предметов внутри транспортного средства необходимо принимать
во внимание ограничения, возникающие при осуществлении погрузочноразгрузочных работ. Эти ограничения возникают при использовании поддонов и
штабелѐров. Выявлены ограничения, налагаемые при проведении таких работ:
необходимость использования поддонов, ограничение на массу предметов,
максимальную высоту предметов на поддоне. Таким образом, содержательно
рассматривается следующая постановка: необходимо доставить однородный
товар, который представлен в виде емкостей цилиндрической и
параллелепипедной формы множеству потребителей. При этом грузоподъемность
ТС ограничена, а расположение емкостей должно удовлетворять заданным
критериям.
1.3 Классификация и анализ методов решения задачи маршрутизации
Впервые математическую модель для транспортной задачи (Vehicle Routing
Problem - VRP) предложили G.B. Dantzig и J.H. Ramser в 1959 году [10].
Несколько лет спустя, в 1964 году, для решения данной задачи G. Clark и J.V.
Wright впервые предложили эвристические методы [11]. NP-полнота данной
задачи была показана в 1981 году J.K. Lenstra и A.H.G. Rinnooy Kan в статье [12].
Данные статьи стали своего рода классическими для многих исследователей
транспортной задачи.
20
На данный момент в литературе описано много различных вариантов
транспортной задачи. Рассмотрим классификацию вариаций транспортной задачи,
предложенную в работе R.Z. Farahani, S.Rezapor и т.д. [5]:
Транспортная задача с учетом грузоподъемности (The Capacitated
1.
VRP - CVRP). В рамках данной задачи рассматривается только грузоподъемность
ТС. Целочисленная модель данной задачи была предложена P. Toth и D. Vigo в
работе [10]. В рамках данной задачи выделяется несколько типов подзадач. В
частности,
если
кроме
грузоподъемности
предметов внутри ТС, выделяется
CVRP
рассматривают
рассматривается
размещение
2L-CVRP и 3L-CVRP. Задачи класса 2L-
двумерное
размещение
объектов,
3L-CVRP
соответственно трехмерное.
2.
Транспортная
задача
с
учетом
грузоподъемности
и
расстояния(Distance-Constrained and Capacitated VRP). Симметричная модель
данной задачи была предложена G. Laporte, Y. Nobert, M. Desrochers в [11]. В
рамках данной задачи, кроме ограничения на вместимость транспортного
средства, вводится также ограничение на максимальную дистанцию, которую
разрешено проходить ТС.
3.
Транспортная задача с временными окнами (VRP with Time
Windows). Модель данной задачи представлена в работе P. Toth, D. Vigo [13]. В
ней дополнительно рассматриваются временные окна: заказчик принимает ТС
только в определенные временные интервалы, также принимается во внимание
время на обслуживание поступившего ТС.
4.
Транспортная задача с возвратами (VRP with Backhauls). В рамках
данной задачи рассматривается прямой ход доставки и обратный. На обратном
ходе у заказчиков забираются использованные емкости. Для случая, когда на
каждом маршруте все грузы должны быть доставлены до того, как начнется
обратный ход, модель представлена в работе P. Toth, D. Vigo (P. Toth, 1999).
5.
Транспортная задача с забором и доставкой (VRP with Pickup and
Delivery). Для данной задачи представлена целочисленная модель линейного
21
программирования A. Hoff, I. Gribkovskai и др. [16], а также частично
целочисленная модель линейного программирования.
На основе описанных выше моделей можно составить следующую схему
Рисунок 1.2. В рамках данной работы основное внимание уделено задаче 3LCVRP (выделено на рисунке серым цветом).
VRP
Capacitated
VRP
2L-CVRP
DistanceConstrained
VRP
VRP
with Time
Windows
VRP
with
backhauls
VRP
Packup and
delivery
3L-CVRP
Рисунок 1.2 – Классификация вариантов транспортной задачи (VRP)
Проведем анализ методов, применявшихся для решения транспортной
задачи. Вначале рассмотрим точные методы решения, затем эвристические. Для
решения задачи целочисленной оптимизации можно условно выделить две
группы точных методов:
1) методы комбинаторной оптимизации
2) методы отсечений
Методы комбинаторной оптимизации.
В основе комбинаторных методов лежит идея организованного перебора
всех допустимых решений. Наиболее известным комбинаторным методом
является метод ветвей и границ
Метод ветвей и границ (Branch and bound). Впервые данный метод был
предложен в 1960 году для решения задачи целочисленного программирования в
22
работе A. H. Land и A. G. Doig [12]. В случае рассмотрение задачи поиска
минимума функции f(x) основная суть алгоритма сводится к применению двух
процедур: ветвления и нахождение границ. Первая процедура разбивает все
множество допустимых решений (значений переменной x) на подмножества,
далее процедура применяется рекурсивно к каждому подмножеству. При этом
множество подмножеств образует дерево ветвей и границ (дерево поиска), узлами
которого являются отдельные подмножества. Процедура нахождения границ
сводится к вычислению верхней и нижней границе на подмножестве.
Далее
происходит исключение подмножеств, на которых нижняя граница больше
верхней на любом из других подмножеств. Описанный метод применялся для
решения различных вариантов транспортной задачи. Например, для решения
ассиметричной CVRP метод ветвей и границ предлагался G. Laporte, H. Mercure,
Y. Nobert [13], а в сочетании с методом генерации столбцов (Column Generation
Method) был представлен в работе J. Desrosiers, F. Soumis, and M. Desrochers [17].
Данный алгоритм применялся и для более сложных вариантов задачи, например,
для VRP with Pickup and Deliver данный алгоритм был предложен в работе H.
Hernández-Pérez, J.-J. Salazar-González [41]. Также для решения транспортной
задачи применялись и другие варианты алгоритмов комбинаторной оптимизации,
например: Branch-and-Cut в работах M.M. Dessouky, Q. Lu и другие [14] и S.
Ropke и J.-F. Cordeau [15]; Branch-and-Cut-and-Price в публикациях S. Ropke, J.F.
Cordeau и другие [16], R. Baldacci, E. Bartolini и другие [17]; Branch-and-Price в
работе P. Venkateshan и K. Mathur [18].
Методы отсечений
В основе методов отсечений лежит идея сужения области допустимых
решений
задачи
с
ослабленными
ограничениями,
например,
в
случае
рассмотрения задачи целочисленного программирования - без учета условия
целочисленности.
Сужение
происходит
путем
введения
специальных
дополнительных ограничений (отсекающих плоскостей) до тех пор, пока
полученное решение не станет целочисленным.
При этом отсекающее
23
ограничение должно обладать тем свойством, что оно отсекает найденное
оптимальное нецелочисленное решение и не затрагивает ни одной из
целочисленных точек задачи. Примером отсекающих методов может служить
метод Гомори (Cutting-plane method). Данный метод был впервые предложен в
50е годы
Р. Гомори
для
решения
задач целочисленного
и
частично
целочисленного линейного программирования. Данный метод применялся для
решения классической транспортной задачи (VRP)
и ассиметричной задачи
коммивояжера с учетом временных окон (time-window-constrained Asymmetric
Travelling Salesman Problems - ATSPs) [19], а также для ряда других постановок,
например, командно-ориентированная транспортная задача с учетом временных
окон и ограничений вместимости с подбором и доставкой (The Team Orienteering
Problem with Pickups, Deliveries, Time Windows and Capacity Constraints) [20].
Рассмотренные точные методы показывают хорошие результаты на
небольших размерностях задачи, поэтому для решения практических задач часто
приходится прибегать к эвристическим методам. В виду того, что на задачах
большой размерности невозможно найти точное решение за полиномиальное
время.
Метаэвристические алгоритмы
Метаэвристика является одним из видов эвристических алгоритмов. На
данный момент в литературе не существует строго определения для данного вида
алгоритмов, однако, выделены основные характерные для него свойства [21]:
 метаэвристики – это стратегии, которые управляют процессом поиска;
 целью метаэвристики является использование пространства поиска таким
образом, чтобы найти оптимальное решение;
 метаэвристические алгоритмы являются недетерминированными;
 метаэвристики содержат процедуры, позволяющие выбраться из локального оптимума;
 метаэвристики допускают абстрактный уровень описания;
24
 метаэвристики не являются проблемно-ориентированными.
В литературе выделяются несколько критериев для классификации
метаэвристических алгоритмов:
 использование целевой функции. Деление происходит в зависимости от
того, меняет ли алгоритм целевую функцию в процессе поиска решения
(например, GLS) или нет;
 обращение памяти. Деление происходит в зависимости от того, сохраняет
ли алгоритм накопленные решения (историю поиска) или нет. Выделяется два
вида памяти: долгосрочная и короткосрочная. Долгосрочная память содержит
информацию о параметрах поиска алгоритма, короткосрочная же сохраняет
только текущие параметры. Метаэвристические алгоритмы, не использующие в
своей реализации память, могут быть представлены в виде марковского процесса,
в котором решение на каждом шаге зависит только от текущего состояния, но не
от предыдущих действий.
 происхождение алгоритма. Выделяют «природные» алгоритмы, взявшие
свое поведение у живой природы (EA, GA, ACO) и остальные (TS, SA, GRASP,
ILS);
 способ ведения поиска. Существуют алгоритмы, работающие на каждом
шаге только с одним решением (такие, как TS, ILS, VNS, GRASP, SA), а также
алгоритмы, работающие с множеством решений (популяцией, например, EA, GA,
ACO). Алгоритмы, использующие только одно решение, иногда называют
траекторными методами.
 различная структура окрестности решения. Деление в зависимости от
того, меняется ли окрестность при решении задачи. Окрестность изменяется,
например, у алгоритма VNS.
У всех метаэвристиких алгоритмов есть одна общая черта: в них есть два
разнонаправленных механизма: механизм, который производит решение в
25
окрестности
уже
полученного
(интенсификация
поиска)
и
механизм,
осуществляющий поиск в «новых» областях (диверсификация).
В литературе наиболее часто упоминаются следующие метаэвристичекие
алгоритмы: итерационный локальный поиск (Iterative Local Search, ILS);
направленный локальный поиск (Guided Local Search, GLS); поиск с переменной
окрестностью (Variable Neighborhood Search, VNS); вероятностный жадный
алгоритм (GRASP); эволюционный алгоритм (Evolutionary Algorithm, EA);
генетический
алгоритм (Genetic
Algorithms,
GA);
алгоритм оптимизации
муравьиной колонии (Ant Colony Optimization, ACO); имитация отжига (Simulated
Annealing, SA); поиск с запретами (Tabu Search, TS). Эволюционные алгоритмы и
генетические алгоритмы вместе образуют алгоритмы эволюционных вычислений
(Evolutionary Computation, EC).
Поиск с запретами (Tabu Search, TS).
В 1997г. F.Glover в работе [72] предложил к использованию поиск с
запретами, который являлся управляемым локальным поиском, с использованием
списка запретов, которые позволяли сократить размер перебираемых решений.
Вводится понятие окрестности, под которым подразумевается совокупность
соседних
решений,
между
которыми
осуществляется
переход.
Понятие
окрестности также широко используются в классе эволюционных стратегий.
Поиск с запретами успешно применялся для различных вариантов
транспортной задачи. Например, для решения транспортной задачи с учетом
грузоподъемности (CVRP) в 1993 году I. Osman в своей работе [22] предложил
метастратегию, основанную на использовании сочетания поиска с запретами и
метода имитации отжига; в 1994 году M. Gendreau, A. Hertz и др. предложили
метод TABUROUTE [23], в котором «соседние» решения получаются путем
удаления вершины из одного маршрута и добавления в новый маршрут, при этом
допускаются недопустимые промежуточные решения. Для решения транспортной
задачи с учетом с грузоподъемности в 1996 году Cesar Rego предложил
26
параллельный поиск с запретами [24], внутри которого использовался генерация
составных шагов на основе цепного процесса выброса (ejection chain process).
Поиск с запретами применялся и для решения транспортной задачи с временными
окнами (VRPTW), например, в 2005 году Herman Sontron, Pietervander Horn и
другие предложили метод, основанный на использовании двухуровневого
алгоритма: на нижнем уровне для генерации маршрутов используется поиск с
запретами, а на более высоком уровне - итерационный локальный поиск (Iterated
Local Search) [25]. В 2010 году Luigi Moccia, J.-F. Condeau предложили новую
окрестность для поиска с запретами применительно к VRPTW [26]. Более
подробный обзор различных вариаций метода поиска с запретами для решения
задачи VRPTW был представлен Olli Bräysy, Michel Gendreau [27]. Поиск с
запретами также применялся для решения транспортной задачи с возвратами
(VRPB), например, José Brandão в 2006 году предложил метод поиска с запретами,
основной новизной которого было применение в качестве начальной точки
поиски псевдонижнюю границу. Рассматриваемый метод также применялся для
решения транспортной задачи с забором и доставкой (VRPPD), например, в 2001
году был предложен обобщенный алгоритм для поиска с запретами.
Генетические алгоритмы (Genetic algorithm, GA)
Является
одним
из
видов
эволюционных
вычислений,
решающим
оптимизационные задачи с помощью процедур, заимствовавших свое поведение
особей в живой природе, а именно: наследование, мутации, кроссинговер
(скрещивание),
отбор.
Отличием
от
эволюционных
алгоритм
является
применение оператора «скрещивания», с помощью которого осуществляется
рекомбинация решений. Впервые идеи симуляции эволюции были предложены в
1954 году Nils Barricelli [28].
Для
решения
транспортной
задачи
хорошо
себя
зарекомендовали
генетические алгоритмы. На данный момент основные генетические структуры и
операции определены многими авторами. Генетические алгоритмы могут
различаться
способом
кодирования,
определения
простейших
структур.
27
Возможны
различные
простейших
способы
структур.
кодирования
Например,
O.Braysy,
и
приемы
M.Gendreau
идентификации
был
предложен
вычислительный эксперимент, в ходе которого сравнивались различные варианты
генетического алгоритма для решения задачи VRP with Time Windows, а в работе
W.Nurfahizul
и
др.
проводилось
аналогичное
сравнение
алгоритмов
применительно к задачи VRP with backhouls [29]. Baker, M.A. Ayechew
предложили генетический алгоритм в сочетании с методами поиска ближайшего
соседа (Neighbourhood Search Methods) для решения задачи CVRPM [30].
Имитация отжига (Simulated Annealing, SA).
Алгоритм имитации отжига моделирует физический процесс отжига
металлов
и
стекла
–
процесс
медленного
охлаждения
твердого
тела,
предварительно нагретого до высокой температуры. Ключевую роль в этом
процессе играют отдельные частицы тела, которые осуществляют переход в
жидкое состояние. В дальнейшем запускается процесс медленного охлаждения
температуры тела, до момента образования кристаллической структуры при
некоторой заданной температуре T. Алгоритм имитации отжига характеризуется
набором состояний, при этом на каждом шаге происходит переход из текущего
состояния в одно из соседних. По аналогии с поиском с запретами совокупность
таких состояний называется окрестностью. Часто аналогом состояния для
физического процесса отжига является некоторое решение задачи, не обязательно
допустимое. Описание данного метода для решения различных вариантов
транспортной задачи представлено в работе H. Kokubugata и H. Kawashima [31]. В
2007 году R. Bai, E. K. Burke и другие предложили адаптивную эвристическую
селекцию для алгоритма имитации отжига при решении различных вариантов
транспортной задачи [32].
Алгоритмы муравьиной колонии (Ant Colony Algorithm).
Особую
популярность
данные
алгоритмы
получили
для
решения
транспортной задачи в виду того, что разные варианты транспортной задачи
имеет много схожего с задачей, которую приходится решать муравьям при поиске
28
пути.
На
данный
момент
является
одним
из
наиболее
популярных
полиномиальных алгоритм, применяемых для поиска приближенных решений
задачи коммивояжѐра. В живой природе муравьи осуществляют поиск пищи в
случайном направление, при этом оставляя за собой фермент, образующий своего
рода тропы (пути). Фермент привлекает других муравьев, но имеет свойство со
временем испаряться. Естественно, что чем короче путь к пище, тем больше на
ней окажется фермата (так на более длинных тропах фермент успевает
испаряться) и тем больше других муравьев начнут исследовать данное
направление. Испарение феромона играет еще одну важную роль – оно позволяет
алгоритму не застревать в локальном оптимуме, когда первая хорошая тропа
становится доминирующей.
Основу для развития данного метода заложили биологи, изучавшие
поведение муравьев в живой природе. Наиболее значимыми работами являются
работа Pierre-Paul Grassé, в которой было объяснена роль феромонов для
поведения муравьев. Для описания такого вида взаимодействия агентов между
собой – опосредованного, за счет среды – был введен термин «Stigmergy».
Впервые алгоритм был предложен Marco Dorigo в докторской работе в 1991 году
(работа была опубликована в 1992) [33] для решения задачи поиска
рационального пути в графе.
Как было указано выше, алгоритмы муравьиной колонии широко
применяются для решения транспортной задачи. Например, в 2004 году John E.
Bella, Patrick R. McMullen выпустили статью с общим описанием применения
алгоритма муравьиной колонии для решения задачи VRP [34]. В 2007 году для
решения транспортной задачи (VRPTW) Paola Pellegrini, Daniela Favaretto и
другие предложили два варианта алгоритма муравьиной колонии. Сочетание этих
двух специфичных алгоритмов получило название Multiple Ant Colony
Optimization [35]. В 2009 году Yu Bin, Yang Zhong-Zhena и другие предложили
улучшенный алгоритм муравьиной колонии (Improved Ant Colony Optimization).
29
Основная суть предложенного алгоритма сводится к использованию новой
функции феромона (ant-weight strategy) и оператора мутации [36].
Эволюционные стратегии (EA).
Как и в случае алгоритмов муравьиной колонии эволюционные стратегии
заимствовали идеи из живой природы. Эволюционные стратегии относятся к
классу эволюционных вычислений. К ним же относятся генетические алгоритмы.
Впервые алгоритм эволюционных стратегий был предложен в 1964 году Ingo
Rechenberg и Schwefel Hans-Paul [37]. Эволюционные стратегии характеризуются
тем, что используют простую процедуру селекции (селекция с усечением); в
качестве оператора создания потомков используется, как правило, только
мутация. Данный алгоритм использует только два объекта: родитель и потомок. В
некоторых источниках такую модель называют бинарной [38]. Исторически
эволюционные стратегии нашли одно из своих первых применений в таких
областях, как решение задачи проектирования колена трубопровода по критерию
минимизации сопротивления, оптимизация формы сопла двигателя.
Рассмотрим методы решения, предложенные для решения задач 2L-CVRP и
3L-CVRP.
В работе [44] Doerner, Fuellerer и другими была рассмотрена задача
доставки досок древесностружечных плит (ДСП). Задача в предложенной
постановке являлась частным случаем задачи 3L-CVRP и сводилась к задаче
одномерной упаковки и транспортной задаче. Авторы назвали задачу Multi-Pile
Vehicle Routing Problem (MP-VRP) и предложили для ее решения два метода:
алгоритм муравьиной колонии (Savings based Ant Colony Optimization) и поиск с
запретами (Tabu Search). В 2005 году Gendreau, Iori предложили для решения
задачи 2L-CVRP метод, основанный на нижних границах, усеченном алгоритме
ветвей и границ и поиске с запретами [45]. В 2009
Zachariadis и другие
предложили управляемый поиск с запретами [46]. Из точных методов наиболее
известна работа Iori и других, которые предложили подход на основе двух точных
методов ветвей-и-отсечений и ветвей-и-границ. Первый подход используется для
30
решения транспортной задачи и вызывает внутри себя метод ветвей-и-границ для
решения задачи емкостей внутри ТС.
Вывод: В ходе рассмотрения различных вариантов транспортной задачи
было выявлено, что наиболее близкой к рассматриваемой проблеме является
задача CVRP, а точнее задача 3L-CVRP. В рамках решения данной задачи
необходимо принимать во внимание размещение предметов внутри транспортных
средств. Для решения данной задачи необходимо рассмотреть методы решения
задачи упаковки.
1.4 Классификация и анализ методов решения задачи упаковки
Задачи раскроя и упаковки имеют широкое практическое применение в
различных отраслях человеческой деятельности. В качестве примера прикладных
задач, сводящихся к задачам раскроя и упаковки можно отнести: размещение
грузов в авиатранспорте [39], размещение грузов на поддонах [40], размещение
схем на кристалле в СБИС [41] [42], планировка помещений, швейная и обувная
промышленность, раскрой металлов [43], спектральное уплотнение канала [44] и
т.д.
Существует две наиболее известные классификации задач раскроя и
упаковки:
в
отечественной
литературе
наиболее
известной
является
классификация, предложенная в [43], в зарубежной литературе же часто
применяют другую классификацию [14]. Рассмотрим каждую из них подробнее. В
классификации, предложенной Э.А. Мухачевой, определяются классы моделей
исходя из множества различных факторов:
1) мерность объектов: различаются детерминированные и стохастические
модели,
соответствующие
объектам
с
фиксированными
и
случайными
характеристиками;
2) ассортимент объектов: единственный объект или много объектов;
3) вид назначения: все элементы назначаются выборке объектов или всем
объектам назначаются элементы некоторой выборки;
31
4) ассортимент элементов: количество элементов каждого вида порождает
непрерывную или целочисленную модели планирования;
5) размерность
объектов
и
элементов:
одномерные,
двухмерные,
трехмерные;
6) геометрия элементов и объектов: прямолинейные или фигурные
(нестинг).
Несколько иная классификация была предложена В. Вэшером. В его работе
выделяются следующие критерии:
1) размерность объектов: одномерные, двумерные, трехмерные, n-мерные
2)
вид назначения: задачи на максимизацию выходного значения
(случай, когда не все предметы вмещаются в контейнер), или на минимизацию
входного значения (занятой части контейнера)
3)
ассортимент размещаемых предметов: идентичные предметы, сильно
неоднородные предметы, слабо неоднородные предметы
4) ассортимент контейнеров: один контейнер или несколько контейнеров
5) геометрия предметов: прямоугольные, производные от круга, иные.
Н. Гэри и Д. Джонсон показали, что задача одномерной упаковки в
контейнер принадлежит классу NP-трудных проблем [45]. Задачи большей
размерности также трудны, поэтому для их решения применяется несколько
групп методов: точные, эвристические, приближенные. По указанным выше
причинам, основное внимания в работах уделяется именно приближенным и
эвристическим методам.
Приведем постановку задачи n-мерного размещения предметов: имеется
набор предметов с заданными размерами, а также контейнер, для которого
размеры по n-1 размерности фиксированы. Требуется разместить предметы таким
образом, чтобы минимизировать занятую часть контейнера по n-й размерности
(задача Bin Packing Problem - BPP).
Основное внимание в работе уделяется задачам трехмерной упаковки
цилиндров и параллелепипедов.
32
Аналитический обзор методов решения задач раскроя/упаковки приведен в
[46] [47] [52]. Приведем краткую характеристику основных методов решения
задач упаковки.
Задача раскроя и упаковки была впервые представлена в работе учетных из
Ленинграда Л.В.Канторовичем и В.А.Залгаллерем в 1951 году [48]. В данной
работе был предложена модель линейного программирования с неявно заданной
информацией о раскроях. Прием, примененный для генерации столбцов,
фактически явился предтечей для появившегося позднее динамического
программирования. В отечественной литературе наиболее значительны работы по
гильотинному раскрою Э.А. Мухачевой, представленные в [49], [50]; метод
склейки, предложенный И.В. Романовским, в книге [51]; а также сеточный метод
в применении к решению задач раскроя. Из зарубежных авторов следует особо
выделить работы P. Gilmore&R. Gomory [60] [61], J. Terno, R. Lindeman и
G.Scheithauer [62]. Основное внимание в работах того времени уделялось
применению точных методов, в частности метода линейного программирования,
в области реальных промышленных задач для массового производства. Задачи
раскроя-раскроя рассматриваются как прикладные задачи исследования операций
и комбинаторной оптимизации. В 1982 году Н. Гэри и Д.Джонсон показали, что
задача одномерной упаковки в контейнер принадлежит к классу NP-трудных
задач и для точного решения необходимо применять методы полного перебора
[45].
Задачи раскроя-упаковки крайне популярны, например, в 90е годы было
выпущено более 100 статей в журналах из списка ВАК (как российских, так и
международных). В первую очередь, это такие журналы как: European Journal of
Operational
Research,
Computers&Operations
Research,
Computers&Industrial
Engineering, Operations Research Letters, Pesquisa Operacional, Информационные
технологии, Логистика и управление цепями поставок, Дискретный анализ и
исследование операций, Автоматика и телемеханика, Вестник высшей школы,
Кузнечно-штамповочное производство и другие издания. Следует заметить, что в
33
опубликованных
статьях
задачи
раскроя-упаковки
рассматриваются
и
с
теоретической, и с практической точек зрения.
Данная работа рассматривает задачу 3L-CVRP, в рамках которой
рассматривается задача упаковки, в которой предметы, размещаемые в ТС, имеет
цилиндрическую и параллелепипедную форму (прямоугольно), а само ТС имеет
форму прямоугольного параллелепипеда. На Рисунок 1.3 приведены основные
методы
решения
задач
размещения
(серым
цветом
отмечен
элемент,
составляющий предмет исследования).
Методы решения задачи
упаковки (размещения)
Эвристические
Точные
Имитация отжига
Ветвей-и-границ
Муравьиной колонии
Φ-функции
Генетические алгоритмы
Поиск с запретами
Эволюционные стратегии
Рисунок 1.3— Классификация методов решения задач упаковки
Рассмотрим представленные выше методы подробнее.
Точные методы решения задач упаковки. В 1966 P.Gilmore&R.Gomory
[52] впервые применили для решения
программирования
с
генерацией
задачи о рюкзаке метод линейного
столбцов
на
каждом
шаге
процесса.
Целочисленное решение для данной задачи было предложено в 1987 году
G.Scheithauer и J.Terno [53]. Для этого был получен непрерывный оптимум для
построения целочисленного решения: после округления снизу формировалась
малая
остаточная
задача,
которая
решалась
с помощью
эвристических
34
алгоритмов, либо процесс улучшения останавливался на лучшем достигнутом
решение.
В 1973 году И.В.Романовским и Н.П.Христовой был предложен метод
дихотомии для решения дискретных минимаксных задач [54]. В дальнейшем он
был применен для решения задач раскроя и упаковки в работе С.В.Кацева [55]. В
1977 г. И.В. Романовским предложил метод "ветвей и границ" (Branch and Bound)
для решения задач упаковки [56]. В 2000 г. Э.А.Мухачевой и другими была
предложена модификация для метода, позволяющая сократить перебор [57].
Для упаковки в полосу кругов различного радиуса в полосу Г.Ю. Стоян и
В.Н. Ясков в 2004 г. предложили метод ветвей и границ. В последствие в 2009 г.
Г.Ю. Стоян и А. Чугай предложили метод для упаковки цилиндров и
прямоугольных
параллелепипедов
в
использовании
Φ-функций[67].
Для
многоугольников
(с
разрешенным
заданную
область,
упаковки
поворотом
на
основанный
кругов
и
на
выпуклых
произвольный
угол)в
минимальное число контейнеров прямоугольных формы в 2009 г. J.Kallrath
предложил оптимизационный метод на основе метода ветвей и границ [58].
Несмотря на большое разнообразие подходов к созданию точных
алгоритмов, размерность решаемых задач редко превосходит n = 30. Это связано
в первую очередь с тем, что на данный момент не существует метода
доказательства равенства нижней границы и оптимума задачи, что приводит к
необходимости перебирать все возможные варианты.
Эвристические алгоритмы для решения задачи упаковки
Общее описание представленных ниже алгоритмов сделано в главе 1.3.
Поиск с запретами (Tabu Search, TS).
Поиск с запретами применялся для решения задач раскроя и упаковки.
Например, для решения задачи BPP для двумерного и трехмерного случая в 2004
году Andrea Lodi, Silvano Martello и другие предложили обобщенную процедуру
поиска с запретами для решения задачи по критерию минимизации количества
35
используемых контейнеров [59]. В 2009 году Teoder G. Crainic, Guido Perboli и
другие предложили двухуровневый поиск с запретами для той же задачи BPP, при
этом на втором уровне (размещения предметов в контейнеры) использовалось
представление в виде графа интервалов [60].
Имитация отжига (Simulated Annealing, SA).
В 1994 году R.L. Rao и S.S. Iyengar предложили метод имитации отжига для
задачи упаковки [61]. В 1997 году Brusco M.J, Thompson G.M и другие
предложили имитацию отжига на основе морфинга для модифицированной
задачи упаковки, в которой необходимо минимизировать среднеквадратичное
отклонение от заданной точки по всем контейнерам [62]. В 2005 году А.Ф.
Валеева и Т.Ю. Сиразетдинова предложили подификацию алгоритма для решения
задачи двумерного гильотинного прямоугольного раскроя [63].
Генетические алгоритмы. Генетические алгоритмы могут различаться
способом кодирования, определения простейших структур. Возможны различные
способы кодирования и приемы идентификации простейших структур. Своего
рода «классическим» является алгоритм для двухмерной задачи упаковки,
представленный в работах D. Liu, H.Teng [64]; H Cehring, A.Bortfeld [65].
Эффективность данного алгоритма сильно зависит от используемого декодера.
Сравнение блочного декодера, парных списков, замещений и других декодеров
показывает,
что
худший
результат
во
всех
случаях
показывает
усовершенствованный D. Liu, H.Teng декодер нижний-левый (IBL).
В 2007 г. Hifi M., M'Hallah R. предложили генетический алгоритм в
сочетание с конструктивной процедурой для решения двухмерной задачи
упаковки кругов в полосу [66].
Алгоритмы муравьиной колонии.
Алгоритм муравьиной колонии применялся для решения задач раскроя и
упаковки. Например, в 2004 году J. Levine и F. Ducatelle предложили гибридный
алгоритм, основанный на алгоритме муравьиной колонии и алгоритма локального
поиска [67]. Применение алгоритмов муравьиной колонии для решения задач
36
двумерной упаковки было описано А.Ф. Валеевой в работе [68]. Своего рода
расширением данной работы является алгоритм, предложенный в 2013 году T. D.
Lin, C. C. Hsu, L. F. Hsu для решения online варианта задачи упаковки [69]. Уже в
2013 году была предложена
статья, описывающая основные идеи при
применении алгоритма муравьиной колонии для решения задачи упаковки (BPP)
[70].
Гиперэвристические алгоритмы
Гиперэвристики – это относительно новый тип алгоритмов комбинаторной
оптимизации, в котором для получения результата используется набор простых
однопроходных эвристик [71], управляемых общей схемой [72]. Основным
плюсом такого подхода является относительная простота реализации и
возможность получить приемлемые решения за малое количество времени.
Гиперэвристические алгоритмы применялись для различных вариантов задач
упаковки. Например, в 2010 H. Terashima-Marín и другие [73] предложили
комбинацию GA и гиперэвристического алгоритма для решения двухмерной
задачи фигурной упаковки. Гиперэвристический алгоритм применялся в
сочетание с GA для решения задачи двухмерного раскроя также в работе E. K.
Burke [74]. Для двумерного варианта задачи упаковки также предлагался
Frequency Distribution Based Hyper-Heuristic в работе H. Jiang и другие в 2011
году [75]. В 2014 году E. López-Camacho и другие [76] предложили методологию
для применения гиперэвристических алгоритмов и представили результаты
проведения испытаний на 1417 тестовых наборах для решения задачи одно- и
двумерной
упаковки,
включая
фигурную
упаковку.
Общий
обзор
гиперэвристических алгоритмов был предложен в работе P. Ross в 2014 [77].
Эволюционные стратегии
Данный алгоритм применялся для решения задачи упаковки. Например, в
2008 году Adam Stawowy предложил алгоритм с модифицированным оператором
мутации и разделителями для уменьшения размерности задачи для решения
одномерной задачи упаковки [78].
37
Конструктивные алгоритмы
Простейшим
примером
конструктивных
однопроходных
алгоритмов
являются:

Следующий подходящий (Next-Fit, NF). Предметы упаковываются в
первый контейнер, пока позволяет его остаточная емкость. Если предмет не
помещается, создается новый контейнер. В случае неотсортированного списка
предметов временная сложность O(m*log(m)).

контейнер
Первый подходящий (First-Fit, FF). Тeкущий предмет размещается в
с наименьшим
порядковым
номером,
имеющий
подходящую
остаточную ѐмкость. Временная сложность алгоритма O(m*log(m)).

Лучший подходящий (Best-Fit, BF). Текущий предмет размещается в
контейнер с наименьшей остаточной емкостью. Временная сложность алгоритма
O(m*log(m)).
Предложено большое число различных конструктивных алгоритмов.
Например, A. Lodi, S. Martello, D. Vigo предложили подход «переменные
направления» (Alternate Directions, AD) [79]. Несколько публикаций посвещено
«слойным» стратегиям, например, алгоритм Bischoff - Dowsland (B.-D.) [80] и
G4 J. Terno,
G. Scheithauer [81].
Валеевой А.Ф. предлагался алгоритм
динамического перебора для решения 1-, 2-, 3-х мерной упаковки [82] [83].
Существует также огромное множество других конструктивных алгоритмов
(ограниченный
нижний-левый,
последовательность и т.д.).
метод
поиска
пустых
корзин,
Q-
38
Упаковка
прямоугольников
B1.5 (2004)
Hifi, M'Hallah
1D и nD (n>3)
Упаковка кругов
S.Y. (1998)
Стоян, Яшков
2D
P-ACO(2010)
Файзрахманов
Упаковка кругов и
прямоугольников
Tabu Search(2009)
Методы решения
задач упаковки
Руднев
Фигурная упаковка
Упаковка
параллелепипедов
3D
Упаковка цилиндров
и параллелепипедов
(2009)
Stoyan, Chugay
Рис. 1.4 Классификация методов решения задач упаковки
1.5 Цель и задачи исследования
На основе системного анализа предметной области, существующих
технологий, используемых при осуществлении погрузочно-разгрузочных работ и
транспортировки груза, методов и алгоритмов решения задач транспортной
задачи и задачи раскроя и упаковки была сформулирована цель диссертационной
работы.
Целью диссертационной работы является повышение эффективности
доставки груза потребителям за счет его рационального размещения внутри
транспортных средств (ТС) и формирования рациональных маршрутов доставки.
Для достижения указанной цели в работе поставлены следующие задачи:
39
1. Провести анализ технологий, используемых для решения транспортной
задачи, выделить базовые технологические ограничения и сформулировать
постановку задачи доставки груза потребителям, с учетом его размещения внутри
ТС при наличии технологических ограничений.
2. Разработать математическую модель доставки груза потребителям с
учетом его размещения внутри транспортного средства при наличии
технологических ограничений.
3. Разработать метод и алгоритмы для решения задачи доставки груза
потребителям с учетом его размещения внутри транспортного средства при
наличии технологических ограничений.
4. Разработать программное обеспечение на основе предложенных
алгоритмов решения транспортной задачи с учетом размещения груза в ТС и
требуемых технологических ограничений.
5. Исследовать эффективность предложенных методов и алгоритмов с
помощью численных экспериментов
Выводы по первой главе
1. Проведенный анализ показывает, что в условиях рыночной экономики
предприятиям
необходимо
минимизировать
себестоимость
выпускаемой
продукции. Достижение данной цели возможно за счет сокращений расходов на
транспортную логистику.
2. При решение задачи транспортной логистики необходимо учитывать
следующие критерии: грузоподъемность транспортных средств, погрузчиков,
поддонов, нагрузку на оси транспортного средства, ограничения скорости,
рекомендуемую скорость, наличие платных дорог, наличие ремонтных работ,
текущее состояние на дороге, законодательные ограничения. При решение
практических задач для компаний, арендующих транспортные средства,
необходимо минимизировать затраты на аренду ТС.
3. Анализ показывает, что из рассмотренных классов задач маршрутизации
наиболее близким к рассматриваемой задачи является класс 3L-CVRP, который
учитывает размещение трехмерных предметов при составление маршрутов
доставки.
40
4.
Анализ
трудов
зарубежных
и
отечественных
авторов
показал
необходимость разработки математической модели задачи доставки груза
потребителям с учетом его размещения внутри транспортных средств.
5. Проведенный анализ показывает необходимость разработки метода для
решения задачи доставки груза потребителям с учетом его размещения внутри
транспортных средств при наличие технологических ограничений по критерию
минимума затрат на аренду транспортных средств.
41
Глава 2 Постановка задачи доставки груза потребителям с учетом
его размещения внутри транспортных средств при наличии
технологических ограничений и методы ее решения
2.1 Математические модели задачи доставки груза с учетом его
размещения внутри ТС
В главе 1 был проведен анализ методов транспортировки груза, а также
погрузочно-разгрузочных работ, на основе которого были определены основные
технологические ограничения, которые следует учитывать при решении задач
оптимизации доставки груза с учетом его расположения внутри ТС.
Постановка задачи CVRP.
Предположения модели:
1. Количество груза, требуемое клиентам, детерминировано
2. Груз не может быть разделен
3. Все транспортные средства идентичны
4. Имеется одно депо
5. Учитывается вместимость транспортных средств
Входные данные:
G=(V,A) – полный граф, где V={0,…,n}– множество вершин, A-множество
дуг.
dj – спрос каждого клиента (d0=0)
cij – неотрицательная стоимость маршрута между вершинами i и j; i,jϵV
S  V -множество клиентов
d( S ) 
n
 di - совокупный спрос всех клиентов
i 1
T: число идентичных ТС
С: вместимость каждого ТС
Выходные данные:
xijt=1, если дуга (i, j) используется t-м транспортным средством, 0 иначе.
42
ŋjt - количество груза доставляемого t-м транспортным средством j-му
заказчику
Целевая функция и ограничения:
T
min 
  cij xijt
(2.1)
t 1iV jV
1) Для каждой вершины кроме депо, количество входящих дуг должно
быть равно количеству исходящих

jV
xijt 
 x jit , i V /{0}, t  1,...,T
(2.2)
jV
2) Все транспортные средства должны возвращаться в завершение
маршрута в депо
T
  xi0t  T
(2.3)
t 1iV
3) Все транспортные средства должны выйти из депо
T
  x0 jt
T
(2.4)
t 1 jV
4)Грузоподъемность транспортных средств не должна быть превышена
 xijt jt  C, t  1,...,T
(2.5)
iV
5) Спрос всех клиентов должен быть удовлетворен
T
  xijt jt
t 1iV
 d j ,j  1...n
Постановка
задачи
трехмерной
параллелепипедов и цилиндров в контейнер
(2.6)
упаковки
прямоугольных
Item  Item par  Itemcyl , где itp  Item par - предметы параллелепипедной
(прямоугольно) формы, itc Itemcyl – предметы цилиндрической формы, где
43
itck  ( rc k , hck )
itpk  ( lpk , wp k , hpk )
Введем ряд обозначений:
itck  Itemcyl | itck  ( xсk , yсk , zсk ) – координаты k-го цилиндров (будем
считать, что координата цилиндра – это координата центра его нижнего
основания). Координаты цилиндров и параллелепипедов отсчитываются от
поддона. Ниже приведен поясняющий рисунок (Рисунок 2.1).
itpk  Item par | itpk  ( xp k , yp k , zp k ) – координаты k-го параллелепипеда,
под которыми будем подразумевать координаты левого нижнего дальнего угла;
Требуется минимизировать:
max( zpi  hpi , zc j  hc j )  min
itрi  Item par , itс j  Itemcyl
при выполнении следующих условий:
Рисунок 2.1 – Координаты предметов на поддоне
(2.7)
44
 Условие ортогональности для параллелепипедов:
itрi  Item par :
(( xрri  xрi )  ( xрri  xрi  lрi ))
(2.8)
 (( yрri  yрi )  ( yрri  yрi  wрi )),
где (xpri, ypri, zpri) – координаты r-й вершин i-го параллелепипедов;
 Параллелепипеды не перекрывают друг друга:
itрi , itр s  Item par
(( xрi  xр s  wр s )  ( xр s  xрi  wрi ))  (( yрi  yр s  lр s )
(2.9)
 ( yр s  yрi  lрi ))  (( zрi  zр s  hp s )  ( zр s  zрi  hpi )),
i  s;
 Параллелепипеды не выходят за грани контейнера:
( xрi  0)  ( yрi  0)  ( zрi  0) 
(( xрi  wрi )  W )  (( yрi  lрi )  L)
(2.10)
 Условие ортогональности для цилиндров:
itсk  Itemcyl
a ( xс j  xаs , yсs  yаs , zсi  zаs ) || b (1,1,0)
(2.11)
где(xаs,yаs,zаs) – произвольная точка на нижнем основании цилиндра;
 Цилиндры не перекрываются:
itсk , itсs  Itemcyl , s  k
(( хск  хсs ) 2  ( уск  усs ) 2  (rсk  rсs ) 2 ) 
( zсs  hcs  zсk )  ( zсk  hck  zсs )
 Цилиндры не выходят за грани контейнера:
(2.12)
45
itсk  Itemcyl
( xсk  rск )  ( yсk  rск )  (( xсk  rсk )  W ) 
(2.13)
(( yсk  rсk )  L)  ( zсk  0)
 Цилиндры и параллелепипеды не перекрывают друг друга:
itрi  Item par , itсk  Itemcyl
( xсk  rк  xрi )  ( xрi  wpi  xсk  rсk )
 ( yрi  lрi  yсk  rсk )
(2.14)
 ( yсk  rк  yрi )  ( zсk  hck  zрi )  ( zрi  hpi  zсk );
Постановка задачи 3L-CVRP.
Дано:
G = (V, A) – граф с множеством вершин V и множеством дуг A;
V = {1,…,n} – множество клиентов (вершин);
(W, L, H, Q) – характеристики используемого ТС (все ТС идентичны), где W
– ширина используемого ТС, L – длина используемого ТС, H – высота
используемого ТС, Q – грузоподъемность ТС;
Item  Item par  Itemcyl , где itp  Item par - предметы параллелепипедной
(прямоугольно) формы, itc Itemcyl – предметы цилиндрической формы, где
itck  Itemcyl | itck  ( rc k , hck , mсk )
itpk  Item par | itpk  ( lpk , wp k , hpk , mp k )
dmc  ( dmcki ) - элемент матрицы означает, что k-й цилиндр необходимо
доставить в город i, k = 1,…,|Itemcyl|.
dmp  ( dmpki ) - элемент матрицы означает, что k-й параллелепипед
необходимо доставить в город i, k = 1,…,|Itempar|.
cost – стоимость часа аренды ТС
46
Введем ряд обозначений:
cij – время в пути между пунктами i и j, i, j  [1, n] ;
xijt – переменная логического типа, принимающая значение 1, если ТС t
перемещается в направлении от пункта i к пункту j, и 0 в противном случае,
i, j  [1, n] ;
dp  ( dp pit ) - элемент матрицы означает, что поддон p необходимо
доставить в город i транспортным средством t, t=1,…,m.
(dpcpk ) – означает, что k-й цилиндр размещен на p-м поддоне
(dpppk ) – означает, что k-й паралелелепипед размещен на p-м поддоне
(lpal, wpal, hpal, mpal, qpal, hpalmax) – характеристики используемого типа
поддонов, где lpal – длина поддона, ширина wpal, допустимой высота hpal, масса
mpal, грузоподъемность qpal;
pal={palp }, paltp=1,…,npal – множество поддонов, где palp=(xp, yp, zp) –
координаты поддона, которые отсчитываются от ближнего нижнего правого края
ТС v. Ниже приведен поясняющий рисунок (Рисунок 2.2).
( xck , yck , zc k ) – координаты k-го цилиндров (будем считать, что координата
цилиндра – это координата центра его нижнего основания). Координаты
цилиндров и параллелепипедов отсчитываются от поддона. Ниже приведен
поясняющий рисунок (Рисунок 2.3).
( xpk , ypk , zp k ) – координаты k-го параллелепипеда, под которыми будем
подразумевать координаты левого нижнего дальнего угла;
Требуется минимизировать:
T n n
cos t  
 cij xijt
 min
t 1i 1 j 1
при выполнении следующих условий:
(2.15)
47
из каждого пункта есть входящий и исходящий маршрут, кроме начальной
вершины

jV
xijt 
 x jit
 1, i V /{ 0 },t  1,...,T ;
jV
Рисунок 2.2 – Координаты поддона в ТС v
Рисунок 2.3 – Координаты предметов на поддоне
спрос клиентов должен быть удовлетворен:
(2.16)
48
npal
m
   x ijt dp pjt dpс pk
t 1iV p
npal
m
 dmckj ,k 1...| Itemcyl |,j  V /{ 0 },
(2.17)
   x ijt dp pjt dpp pk
t 1iV p
 dmp kj ,k 1...| Item pal |,j V /{ 0 },
груз, размещенных в ТС t, не должно превышать грузоподъемности ТС:
npal npar
    xijt dp pjt dpс pk mс k
iV jV p 1 k 1

npal
   xijt dp kjt m pal

npal ncyl
    xijt dp pjt dpp pk mp k
iV jV p 1 k 1
 Q , t  1,...,m;
(2.18)
k 1iV jV
удовлетворяются условия размещения продукции в ТС t:
 Условие ортогональности для параллелепипедов:
(( xр ri  xрi )  ( xр ri  xрi  lрi ))
 (( yр ri  yрi )  ( yр ri  yрi  wрi ));
(2.19)
где (xpri, ypri, zpri) – координаты r-я вершина i-го параллелепипедов;
 Параллелепипеды, принадлежащие одному поддону, не перекрывают друг
друга:
(( xрi  xрs  wрs )  ( xрs  xрi  wрi ))  (( yрi  yрs  lрs )
 ( yрs  yрi  lрi ))  (( zрi  zрs  hps )  ( zрs  zрi  hpi )),
(2.20)
i  s;
 Параллелепипеды не выходят за грани поддонов:
( xрi  0 )  ( yрi  0 )  ( zрi  0 ) 
(( xрi  wрi )  wpal )  (( yрi  lрi )  lpal ) 
(( zрi  hpi )  hpal )
 Условие ортогональности для цилиндров:
(2.21)
49
a ( xс j  xа , yс s  yа , zсi  zа ) || b ( 1,1,0 );
(2.22)
где(xа,yа,zа) – произвольная точка на нижнем основании цилиндра;
 Цилиндры, принадлежащие одному поддону, не перекрываются:
(( хс к  хс s ) 2  ( ус к  ус s ) 2  ( rс k  rс s ) 2 ) 
( zс s  hc s  zс k )  ( zс k  hc k  zс s );
(2.23)
 Цилиндры не выходят за грани поддона:
( xс k  rс к )  ( yс k  rс к )  (( xс k  rс k )  wpal ) 
(( yс k  rс k )  lpal )  ( zс k  0 ),
(2.24)
 Цилиндры и параллелепипеды, принадлежащие одному поддону, не
перекрывают друг друга:
( xсk  rк  xрi )  ( xрi  wpi  xсk  rс k )
 ( yрi  lрi  yс k  rсk )
(2.25)
 ( yсk  rк  yрi )  ( zсk  hck  zрi )  ( zрi  hpi  zсk );
 Цилиндр может принадлежать только одному поддону (аналогично
параллелепипед):
m npal
  dptp dpс pk
t 1 p
 1, k 1...| Itemcyl |
(2.26)
 Условие ортогональности для поддонов:
pal j :
(( xpal ri  xpal j )  ( xpal ri  xpal j  lpal j ))
 (( ypal ri  ypal j )  ( ypal ri  ypal j  wpal j )),
j  1,...,npal ,
где (xpalri, ypalri, zpalri) – координаты вершин поддона;
(2.27)
50
 Поддоны, принадлежащие одному ТС v, не перекрываются друг с другом:
(( xpali  xpal s  wpal s )  ( xpal s  xpali  wpal i )) 
(( ypali  ypal s  lpal s )  ( ypal s  ypali  lpal i )) 
(( zpali  zpal s  hpal s )  ( zpal s  zpali  hpali )),
(2.28)
j  1,..., npal , i  s ;
 Поддоны не выходят за пределы ТС t:
pali
( xpali  0 )  ( ypali  0 )  ( zpali  0 ) 
(( xpali  wpali )  W )  (( ypali  lpali )  L ) 
(2.29)
(( zpali  h загр .i )  H );
 Сумма весов предметов на поддоне не превышает грузоподъемность
поддона. Заметим, что в грузоподъемности
поддона учитывается
максимальная разрешенная масса предметов на поддоне, а также
грузоподъемность используемого погрузчика:
ncyl
npar
i 1
i 1
 dpс pi mci   dpp pi mpi
 qpal , p  1,...,npal ;
(2.30)
 Каждый поддон принадлежит только одному ТС t:
m
 dptp  1, p  1,...,npal ;
(2.31)
t 1
Дополнительно необходимо учитывать нагрузку на оси транспортного
средства. Расчет нагрузки зависит от характеристик конкретного ТС, а именно:
количества осей, расстояние между ними, вес ТС и т.д. Расчет нагрузки на
практике осуществляется на основе момента сил в системе отчета, проходящей
через переднюю ось транспортного средства. Общей вывод формул представлен в
[84]. Для двуосного тягача и одноосного полуприцепа формула может выглядеть
следующим образом:
51
N
m gr  g  a  m pp  g  X cp.t..p .
L
p. p.
;
N 3  ( mТ  m p . p . )g  N ;
N2 
m
T
 g  X cT.t .  N  l1 ;
(2.32)
LT
N1  mT  g  N  N 2 .
В приведенных формулах N1, N2 –нагрузка на передние оси ТС, N3 –нагрузка
на заднюю ось, Lp.p. – расстояние от задней оси полуприцепа до места сцепки с
тягачом, LT – расстояние между осями тягача, mp.p. – масса полуприцепа, mT –
масса тягача, mgr – масса груза, l1 – расстояние от передней оси тягача до точки
сцепки с полуприцепом, а – расстояние от центра тяжести груза до задней оси
тягача.
2.2 Декодер для решения задачи оптимизации размещения груза внутри
ТС
Общую идею вычисления решения задач упаковки (задач раскроя и
упаковки) при использовании метаэвристических алгоритмов можно выразить
следующим образом. Алгоритм состоит из двух частей: первая – это алгоритм,
работающий с кодировкой и осуществляющий перебор возможных кодировок
решения; вторая – это алгоритм-декодер, осуществляющий преобразование
кодировки непосредственно в промежуточное решение (план размещения). Под
кодировкой подразумевается приоритетный список, т.е. некоторая перестановка
номеров предметов. Соответственно основными функциями алгоритма-декодера
является вычисление целевой функции и восстановление плана размещения из
кодировки решения. Для представления решения предлагается прямая схема
кодирования, при которой решение представляется в виду последовательностей
координат (xpi,ypi,zpi), при этом для прямоугольных параллелепипедов этими
координатами задается левый нижний ближний угол предмета, а для цилиндров –
центра нижнего основная предмета. Для кодирования решения предлагается
приоритетный список, состоящий из номеров предметов [85].
52
Наиболее известным и часто упоминаемых в литературе декодером является
«нижний левый» («bottom-left»).Улучшенный вариант этого декодера был
предложен в 1999 году в работе Liu D., Teng H. [86]. Разные вариации данного
декодера использовались в сочетании с разнообразными эвристическими
алгоритма [87] [88].Также хорошие результаты показывали декодер Qпоследовательность, предложенный в 2000 году работе K. Sahanushi, Y. Kajitani
[89], и схема парных последовательностей кодирования, предложенная 2001 году
Imahori S., Yaguira M., Ibaraki T. [90], а также Lot схема для кодирования
упаковок, которые представляются упорядоченным деревом (Takahasi).
В рамках данной работы предлагается декодер ABLP3D, который является
расширения декодера ABLP(Adapted Best Local Position) [66] и BLP(Best Local
Position) [66] успешно применяемых для решения задач упаковки кругов, а также
кругов и прямоугольников. ABPL, по аналогии с BLP находится самую левую
верхнюю позицию для размещения круга заданного размера, но существенное
отличие состоит в том, что он проще в реализации и быстрее по времени
выполнения.
Общая схема процедуры ABLP3D
Вход: приоритетный список π
Выход: значение целевой функции f(ABLP3D(π))
1.
Поместить первый предмет в угол контейнера, совпадающий с
началом координат
2.
Для всех неразмещенных предметов выполнить:
2.1. Для всех размещенных в контейнер предметов
2.2. Получить допустимые позиции Π1 (позиции, которые обеспечивают
допустимое размещение предметов - удовлетворяют ограничениям задачи
1.2) относительно уже размещенного предмета
3.
Для всех пар размещенных предметов
53
3.1. Получить
допустимые
позиции
Π2
относительно
пар
уже
размещенных предметов
4.
Получить список допустимых позиций Π*, удалив позиции, которые
не обеспечивают допустимое размещение;
5.
Удалить недопустимые позиции из списка Π1U Π2,
6.
Поместить предмет в лучшую позицию из списка Π*
Рассмотрим подробнее работу процедуры ABLP3D, позволяющей найти
доступные позиции для размещения предметов. Первый предмет, как уже
отмечалось, помещается в дальний нижний левый угол контейнера. Позиции
относительного каждого уже размещенного предмета определяются следующим
образом:
1. Пусть первым в контейнер помещается параллелепипед itpi  Item par .
Если следующий предмет - цилиндр, то позиции его расположения относительно
параллелепипеда itpi определяются следующим образом: параллелепипед
очерчивается плоскостями, проходящими через его стороны. Таким образом, в
плоскости Z=zpi образуются позиции 1-4 (Рисунок 2.4) для размещения
цилиндра, а в плоскости Z=zpi+hpi - еще одна позиция 5. Координаты для этих
позиций определяются следующим образом:
 xс 2  xс 4  xс  rс
j
j
i
j

3

xc j  xpi  rс j

1
3
 yc j  yc j  ypi  rc j

yc 2j  ypi  rc j


yc 4j  yci  rc j  lpi


xc1j  xpi  rc j

 zc1  zc 2  zc 3  zc 4  zp
j
j
j
i
 j

zc 5j  zp i  hpi

(2.33)
54
1
1
1 (xc j,yc j)
Y
Y
Z
(xc4j,yc4j)
4
hpi
(xpi,ypi)
rcj
zpi
X
lpi
rcj
Y
(xpi,yp
Y i)
2
3
Z
2
rcj
wpi
rcj
ypi
rcj
X
(x5j,y5j)
2
(xc i, yc i)
5
rcj
(xc3j,yc3j)
Z
xpi
X
Рисунок 2.4 – Определение позиций цилиндра относительно
параллелепипеда
2. Если первым в контейнер помещается цилиндр, а следующим – также
цилиндр, то для размещения второго цилиндра относительно первого создаются
позиции 1-4 (Рисунок 2.5), а также позиция 5.
55
(xc1j,yc1j)
1
Y
(xсi, yсi)
Y
Z
h
zсi
rсj
rсj
сi
X
2
Y
(xc5j,yc5j)
4
(xc4j,yc4j)
Z
rсj
rсj
2
2
3
3
(xc j,yc j) 3(xc j,yc j)
)
5
rсi
yсi
rсj
X
x
а
б X
Z
)
)
сi
Рисунок 2.5 – Определение позиций цилиндра относительно
цилиндра
Координаты позиций рассчитываются следующим образом:
 xс1  xс 3  xс  rс  rс
j
i
i
j
 j
2
4
 yс j  yс j  yсi  rсi  rс j

yс1j  yсi  rсi  rс j


3
 yс j  yсi  rсi  rс j

2
 xс j  xсi  rсi  rс j
 xс 3  xс  rс  rс
j
i
i
j

1
2
3
4
 zс j  zс j  zс j  zс j  zсi


zс 5j  zсi  hсi

(2.34)
3. Если первым в контейнер помещается параллелепипед, а следующим –
также
параллелепипед,
то
для
размещения
второго
параллелепипеда
относительно первого создаются позиции 1-4 (Рисунок 2.6), а также позиция 5.
56
1
(xpi, ypi)
(xp1j,yp1j)
Y
Z
hpi
4
2
Y
lpj
zpi
X
lpi
Y
4
3
4
(xp j,yp j)
(xp5j,yp
5 5j)
ypi
X
wpi
wpj Z
(xp2j,yp2j)
(xp3j,yp3j)
Z
а
xpi
X
б
Рис. 2.6 Определение позиций параллелепипеда относительно
параллелепипеда
Формулы для расчета соответствующих координат выглядят следующим
образом:

xp1j  xp 3j  xpi


xp 2j  xp j  wp j

xp 4j  xpi  wp i


yp 2j  yp 4j  ypi


yp 4j  ypi  lp j


yp1j  ypi  wp j

 zp 1  zp 2  zp 3  zp 4  zp
j
j
j
i
 j

zp 5j  zp i  hpi

(2.35)
4. Если первым в контейнер помещается цилиндр, а следующим –
параллелепипед, то для размещения параллелепипеда относительно цилиндра
создаются позиции 1-4 (Рисунок 2.7), а также позиция 5. Ниже приведены
формулы для расчета координат в данном случае.
57
Y
Z
(xp1j,yp1j)
1
Y
(xp44j,yp4j)
(xci, yci)
lpj
rci
hci
z
X
ci
2
Y
5
3
Z
wpj
(xp2j,yp3j)
hprj/2
X
rci
(xp3j,yp3j)
y
ci
wpj/2
Z
x
бX
ci
Рис. 2.7 Определение позиций параллелепипеда относительно цилиндра

xp1j  xp 3j  xci  rci

 yp 2j  yp 4j  yci  rci

 xp 2j  xci  rci  wp j

2
 xp j  xci  rci  wp j

yc1j  yci  rci  lp j


yp 4j  yci  rci  lp j

 1
2
3
4
 zp j  zp j  zp j  zp j  zp i

zp 5j  zp i  hpi

(2.36)
5. Позиции относительно пары цилиндров i , j определяются таким
образом, чтобы, если это возможно, имелась одна точка касания с каждым из
цилиндров (Рисунок 2.8).
58
Y
(xci,yci)
(xc2k,yc2k)
(xc1k,yc1k)
(xci,yci)
Z
X
Рисунок 2.8 – Позиции 1, 2 для размещения цилиндра относительно двух
цилиндров
Для данного случая считаются из следующей системы уравнений:
 ( xс  xс ) 2  ( yс  yс ) 2  (rс  rс ) 2
i
k
i
i
k
k

2
2
2
( xс j  xсk )  ( yс j  yсk )  (rс j  rсk )
2.3 Анализ работы процедуры размещения
Приведем пример работы процедуры рационального
прямоугольных
параллелепипедов
и
цилиндров
ABLP3D
(2.37)
размещения
на
примере
полубесконечной трехмерной области (для простоты рассматривается случай,
когда предметы не образуют ярусов, поэтому на рисунках отображаются
двумерные проекции).
Пусть имеется множество предметов Item  {Item1, Item2 , Item3 , Item4 } ,где
Item1, Item2 , Item
а 4 - предметы цилиндрической формы, каждый из которых
задается парой (rc k , hck ) , Item3 - предметы параллелепипедной (прямоугольной)
формы, каждый из которых задан тройкой (lpk , wp k , hpk ) .
Требуется разместить заданные предметы в полубесконечный контейнер
при соблюдении условий допустимости математической модели одновременного
размещения прямоугольных параллелепипедов и цилиндров, формулы (2.8) –
(2.14).
Пример работы метода ABLP3D:
59
1. В начале работы метода ABLP3D в полубесконечный контейнер, в
которую следует разместить предметы, нет ни одного размещенного цилиндра
или прямоугольного параллелепипеда. Пусть первым предметом для размещения
был выбран цилиндр Item1. Ввиду того, что контейнер пуст первый цилиндрItem1
размещается в нижний ближний левый угол (Рисунок 2.9) с координатами
(xс1=rс1,yс1=rс1, zс =0).
Y
(xc1,yc1,zc1)
O(0,0,0)
X
Рисунок 2.9 — Пример размещение проекции первого цилиндра Item1 в
область размещения
2. Следующим предметом из списка является цилиндр Item2.Согласно
описанному выше методу ABLP3Dдля размещения цилиндра Item2 формируется
следующий список позиций:
a) размещенный цилиндр Item1 с радиусом rс1очерчивается плоскостями
перпендикулярными XOY и ZOY. Таким образом, формируется 5 возможных
позиций для размещения;
b) углы области размещения формируют дополнительные четыре позиции
размещения.
На Рисунок 2.10 продемонстрирован найденный список позиций П={1, 2, 3,
4, 5, 6, 7, 8, 9} возможных позиций размещения цилиндра Item2 относительно уже
размещенного цилиндра Item1 и контейнера. Позиции 1 и 2 не удовлетворяют
условию допустимости о невыходе цилиндров за границы области размещения –
60
формула (2.13). Позиция 6 не удовлетворяет условию допустимости о не
пересечении цилиндров друг с другом – формула (2.12). По этой причине данные
позиции не попадают в список допустимых позиций П*. Из оставшихся позиций
{3, 4, 5, 7, 8, 9} все формируют допустимые решения, по критерию минимума
координат (в порядке убывания приоритета z, x, y) выбирается позиция 3.Пусть
( xс2 , yс2 , zс2 ) – координаты центра нижнего основания цилиндра Item2 (Рисунок
2.11), тогда искомые координаты ( xс2 , yс2 , zс2 ) цилиндра Item2 вычисляются из
системы уравнений (2.35).
Y
7
8
(xc1,yc1,zc1)
1
2
4
3
9
5
X
O(0,0,0)
Рисунок 2.10 – Список возможных размещений
Y
(xc2,yc2,zc2)
(xc1,yc1,zc1)
O(0,0,0)
X
Рисунок 2.11 – Проекция размещения цилиндра Item2
61
 xс2  xc1  rс1  rс2
 yс  yc  rс  rс
1
1
2
 2
 zc 2  zc1
3. Согласно
выбранному
списку
(2.38)
следующим
предметом
будет
прямоугольный параллелепипед Item3 с характеристиками (lp1,wp1,hp1). Согласно
выбранному методу ABLP3Dдля размещения прямоугольного параллелепипеда
Item3 формируется следующий список позиций:
a) каждый размещенный цилиндр Item1 и Item2 с характеристиками (rc1,hc1)
и (rc2,hc2) очерчивается плоскостями перпендикулярными XOY и ZOY. Таким
образом, образуются позиции 1 – 10 приведены на Рисунок 2.12;
b) два смежных цилиндра Item1 и Item2 формируют две новых позиции
размещения. Позиции 11 и 12 приведены на Рисункок 2.12;
c) углы области размещения формируют дополнительные четыре позиции
размещения. Позиции 13-16 приведены на Рисунок. 2.12;
Y
(xc2,yc2,zc2)
14
15
6
7
9
1
1
1
2
8
1
2
4
16
O(0,0,0)
3 (xc1,yc1,zc1)
X
Рисунок 2.12 – Потенциальные позиции для размещения груза Item3
62
Y
(xp3,yp3,zp3)
(xc2,yc2,zc2)
X
O(0,0,0)
(xc1,yc1,zc1)
Рисунок 2.13 – Проекция размещения груза Item3
На Рисунок 2.12 приведен найденный список П={1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15, 16} позиций размещения прямоугольного параллелепипеда Item3
относительно уже размещенных цилиндров Item1 и Item2. Позиции 1, 2, 7, 12 не
удовлетворяют
условию
допустимости
о
невыходе
прямоугольных
параллелепипедов за границы области размещения – формула (2.10). Позиции 3,
6, 13 не удовлетворяют условию допустимости о не пересечении прямоугольных
параллелепипедов и цилиндров друг с другом – формула (2.14) следовательно, эти
позиции удаляются из списка допустимых позиций размещения. Оставшиеся
позиции позволяют получить допустимое размещение. Из позиций 4, 5, 7, 8, 9, 11,
12, 14, 15, 16 выбирается лучшая – это позиция с номером 8. Пусть ( xp1 , yp1 , zp1 )
– координаты дальнего левого нижнего угла прямоугольного параллелепипеда
Item1 (Рисунок 2.13),тогда искомые координаты прямоугольного параллелепипеда
Item1:
 xp 2  xc1  rс1
 yp  yc  rс
1
1
 2
 zp 2  zc1
(2.39)
4. Следующим предметом для размещения был выбран последний цилиндр
Item4 и характеристиками (rс4, hc3). Согласно методу ABLP3D для размещения
цилиндра Item4 формируется список позиций следующим образом:
63
a) каждый
из
двух
размещенных
цилиндров
Item1
и
Item2
с
характеристиками (rc1, hc1) и (rc2, hc2) соответственно. Каждый из них
очерчивается плоскостями перпендикулярными XOY и ZOY, образуются позиции
1-10 на 2.14a;
b) размещенный прямоугольный параллелепипед Item3 с характеристиками
(lp1,wp1,hp1), который также очерчивается плоскостями перпендикулярными XOY
и ZOY порождает 5 позиций с номерами 11-15 на Рисунок 2.14a;
c) два смежных цилиндра Item1 и Item2 формируют две новых позиции
размещения. Позиции 16 и 17 приведены на Рисунок 2.14b;
d) по две дополнительных позиции образуют смежные предметы: пары
цилиндр Item2 и прямоугольный параллелепипед Item3, Соответственно это
позиции 18-19 на Рисунок 2.14b;
c) также четыре позиции для размещения задаются самой областью
размещения – это соответственно позиции 20-23 на Рисунок 2.14b;
(xp3,yp3,zp3)
Y
11
6 14
12
7
2
O(0,0,0)
(xc2,yc2,zc2)
1,13
8
3
9
4
X
(xc1,yc1,zc1)
Рисунок 2.14а – Список потенциальных позиций размещения для цилиндра
Item4
64
(xp3,yp3,zp3)
Y
21
22
6
18
(xc2,yc2,zc2)
19
16
17
23
20
X
(xc1,yc1,zc1)
O(0,0,0)
Рисунок 2.14b – Список потенциальных позиций размещения для цилиндра
Item4
На Рисунок 2.14а и 2.14b приведен найденный список П={1, 2, 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23} возможных размещения
цилиндра Item4 относительно уже размещенных цилиндров Item1 и Item2,
прямоугольного
параллелепипеда
Item3,
а
также
непосредственно
зоны
размещения. Позиции 1, 2, 7, 12, 13, 17, 19 не удовлетворяют условию
допустимости о невыходе цилиндров за границы области размещения – формула
(2.13). Позиции 3, 6, 8, 11, 18,
20, 21 также формируют недопустимое
расположение, так как нарушаются условия о непересечении цилиндров между
собой (формула 2.12), а также цилиндров и прямоугольных параллелепипедов
(формула 2.14). Таким образом, список допустимых позиций состоит их
следующих позиций П*={4, 5, 9, 10, 14, 15, 16, 22, 23}. Из данного списка
выбирается лучшая позиция, а именно позиция 16. Пусть ( xс3 , yс3 , zc3 ) –
координаты центра
размещенных
цилиндра Item4 (Рисунок 2.15), а координаты уже
цилиндров
Item1 и
Item2 ( xс1, yс1, zc1 ) и
( xс2 , yс2 , zc 2 )
соответственно. Тогда требуемые координаты вычисляются из следующей
системы уравнений.
65
zc 3  zc1  zc 2

( yc  yc ) 2  ( xc  xc ) 2  (rc  rc ) 2
3
1
3
1
3
 1

2
2
2
( yc 2  yc3 )  ( xc 2  xc3 )  (rc 2  rc 3 )
 xc  xc
1
 3
(xp3,yp3,zp3)
Y
(2.40)
(xc2,yc2,zc2)
(xc4,yc4,zc4)
X
O(0,0,0)
(xc1,yc1,zc1)
Рисунок 2.15 Пример решения для четырех предметов
Выводы по второй главе
1. В соответствии с поставленной задачей в рамках диссертационной
работы были приведены и разработаны математические модели доставки груза с
учетом
его
размещения
внутри
транспортных
средств
при
наличии
технологических ограничений:
a) задача
трехмерного
размещения
грузов
цилиндрической
и
параллелепипедной формы в контейнеры с учетом их размещения на поддонах;
b) задача доставки груза потребителям с учетом размещения поддонов с
грузом цилиндрической и параллелепипедной формы внутри ТС по критерию
минимума затрат на аренду транспортных средств;
2. Для решения поставленных задач был разработан новый метод,
который, в отличие от известных, позволяет решать задачу одновременного
трехмерного размещения цилиндров и прямоугольных параллелепипедов,
учитывать
технологические
ограничения,
использования поддонов и штабелеров.
в
том
числе
необходимость
66
3. Рассмотренный
пример
показывает,
что
разработанный
метод
размещения цилиндров и прямоугольных параллелепипедов позволяет получить
допустимое плотное размещение.
Данный
метод
можно
расширить
и
использовать
с
различными
алгоритмами, позволяющими решать задачи раскроя/упаковки. Например, с
такими
алгоритмами
как
алгоритм муравьиной
алгоритмы, поиск с запретами и т.д.
колонии,
эволюционные
67
Глава 3. Разработка метода решения задачи доставки груза
потребителям с учетом его размещения внутри ТС при наличии
технологических ограничений
3.1 Разработка алгоритма для решения транспортной задачи
Первым шагом, который необходимо выполнить при решение транспортной
задачи – получение матрицы расстояний между объектами с учетами аспектов
дорог, обозначенных в первой главе. Для получения данной информации можно
воспользоваться API известных систем: Google Maps API, ArcGis Maps, Yandex
Maps
API,
OpenStreet
Map
API.
Данные
системы
отличаются
своими
возможностями к расширению и данными, содержащимися в них. Выбор
конкретного API зависит от потребностей конечных пользователей, поэтому при
решение задачи получения данных о расстояние между объектами необходимо
использовать промежуточный слой абстракции, который обеспечит гибкое
расширение системы.
Для решения транспортной задачи предлагается использовать sweep
алгоритм, который относится к двухфазным алгоритмам, точнее к так
называемым алгоритмам «cluster-first, route-second», которые состоят из двух
частей. Первым шагом происходит разбиение множества потребителей на
кластеры. Вторым шагом маршрут строится отдельно по каждому из созданных
кластеров. Кластер — объединение нескольких однородных элементов, которое
может
рассматриваться
как
самостоятельная
единица,
обладающая
определѐнными свойствами [91]. Как правило, в качестве объединяющего
свойства выбирается расстояние от точек до центра кластера. Данный метод был
впервые предложен в работах A.Wren[73] и A.Holliday[74] в 1971 и 1972 годах,
соответственно. Однако популярность методу принесла работа B. Gilletand,
L.Miller, вышедшая в 1974 году [75]. После этого появилось много работ, в
которых предлагались улучшения данного алгоритма: в работе S. Hanand,
Y.Tobata в 2002 г. был предложен гибридный метод на основе Sweep и
генетического алгоритма [76]; в 2008 году N. Suthikarnnarunai предложил
68
модификацию sweep алгоритма, в которой использовал 2-opt замены для
улучшения получающихся маршрутов [77]; в 2002 году J.Renaudand, F.Boctor
предложили свою модификацию алгоритма в работе [78]; в 2011 году K.Shinand,
S.Han предложили центрированный эвристический алгоритм на основе sweep
алгоритма в работе [79].
Рассмотрим работу алгоритма. Пусть вершины, представляющие клиентов,
расположены на евклидовой плоскости (Рисунок 3.1). Как правило, для удобства
предполагают, что вершины заданы в полярных координатах. Таким образом,
каждая вершина задается координатами (𝜃𝑖 , 𝜌𝑖 ) , где 𝜃𝑖 – угловая координата
(полярный угол, азимут), 𝜌𝑖 - радиальная координата .
3
1
2
4
16
15
5
0
11
6
14
7
13
8
10
12
9
Рисунок 3.1 – Sweep алгоритм для решения транспортной задачи
Работа алгоритма состоит из следующих шагов:
1.
Депо размещается в точку с координатами (0,0).
2.
Рассчитать координаты всех клиентов на основе расположения депо.
3.
Начинаем перебирать клиентов, увеличивая полярный угол.
4.
Выбираем свободное транспортное средство
69
5.
Добавляем следующего клиента в текущий кластер и соответственно
в маршрут текущего транспортного средства
6.
Проверяем возможность добавить следующего клиента в текущий
маршрут (проверка на вместимость транспортного средства)
7.
Шаги 4-6 повторяются до тех пор, пока не будут распределены все
клиенты
Существует множество модификаций данного алгоритма, в которых после
распределения клиентов по кластерам (транспортным средствам), происходит
улучшение маршрутов. Данная
процедура сводится к решению задачи
коммивояжера на заданном кластере. Для ее решения предлагается использовать
жадный алгоритм (алгоритм ближнего соседа).
Алгоритм ближайшего соседа – это достаточно простой алгоритм, который
сводится к тому, что на каждом шаге выбирается ближайший город в качестве
следующей точки посещения. Таким образом, т.к. рассматривается постановка, в
которой каждый маршрут заканчивается и начинается в депо, то данный алгоритм
однозначно предлагает маршрут. Основным достоинством данного алгоритма
является его скорость. Однако это данный алгоритм может не достигать лучших
решений. Например, по данным приведенными D.S. Johnson и L.A. McGeoch (D.S.
Johnson, 1999) в среднем решение, получаемое с помощью алгоритма ближайшего
соседа на 25% хуже, чем оптимальное решение. Более того G. Gutin и A. Yeo
показали в работах [92] и (G. Gutin, 2007), что есть определенный класс задач, для
которых жадный алгоритм даст худший маршрут (данное утверждение было
доказано как для симметричной, так и для асимметричной постановки задачи
коммивояжера (TSP)).
Для решения приведенных выше проблем был предложен алгоритм
ближайшего фрагмента, который соединяет не отдельные точки в маршруте, а
фрагменты точек (своего рода кластеры). Иногда эти два алгоритма используются
70
вместе, тогда на вход алгоритма ближайшего кластера передается решение,
полученное жадным алгоритмом.
3.2 Применение эволюционных стратегий для решения задачи
размещения груза внутри ТС
Эволюционные стратегии, эволюционное программирование и генетические
алгоритмы
являются
тремя
направлениями
развития,
так
называемого
эволюционного моделирования. Рассмотрим основные моменты, объединяющие
вместе
алгоритмы
группы
эволюционного
моделирования,
или
просто
эволюционные алгоритмы. Несмотря на то, что каждая группа алгоритмов
появилась и развивалась независимо от других, они имеют целый ряд важных
общих свойств. Введем несколько обозначений, которые будут использоваться в
дальнейшем:
1.
популяция – множество решений
2.
особь (индивидуум) – кандидат в решение
3.
фитнес (приспособленность) – качество решения (значение целевой
функции)
Алгоритмы эволюционного моделирования характеризуются тем, что на
первом шаге формируется исходная популяция особей, которую в дальнейшем
меняют путем применения таких функций, как селекция и генетические
операторы, что позволяет осуществлять поиск в пространстве решений. В
качестве генетических операторов, как правило, применяются операторы
скрещивания и мутации. Рассмотрим более подробно общие различия между
генетическими алгоритмами и эволюционными стратегиями. Одними из наиболее
значительных
различий
представления
особей
между
и
этими
организация
алгоритмами
процесса
являются
селекции.
способ
Исторически
генетические алгоритмы оперируют бинарными векторами, в то время как
эволюционные стратегии работают с векторами действительных чисел. Также
различается и подход в работе с популяциями. В случае эволюционных стратегий
71
всегда имеет место быть промежуточная популяция, в которую входят как все
родители, так и некоторое количество потомков, число которых зависит от
конкретной реализации алгоритма. Но число решений в промежуточной
популяции уменьшается до размера родительской популяции за счет оператора
селекции. Иная стратегия используется в генетических алгоритмах: количество
особей в популяциях всегда равное, при этом часть особей, являющаяся наиболее
приспособленной,
может
встречаться
несколько
раз.
Кроме
прочего
в
генетических алгоритмах всегда используется вероятностная процедура селекции,
в то время как эволюционные стратегии используют детерминированную.
Следует заметить, что в генетических алгоритмах кроме всего прочего вначале
выполняется процедура селекции, а потом процедура рекомбинации. В
эволюционных стратегиях же вначале выполняется рекомбинация, а уже потом
селекция. Иногда также выделяют следующее отличие: в генетических
алгоритмах параметры алгоритма (вероятность скрещивания,
вероятность
мутации) не изменяются на протяжении решения, в то время как в эволюционных
стратегиях параметры могут изменяться. Данное поведение проявляется таким
образом: в случае эволюционных стратегий, если много потомков не
удовлетворяет ограничениям решаемой задачи, происходит адаптация параметров
алгоритма. В свою очередь, у генетических алгоритмов параметры не изменяется,
а приспособление к задаче происходит за счет применения штрафной функции к
особям, не удовлетворяющим условиям задачи.
Существует несколько разновидностей эволюционных стратегий:
1.
(µ,λ)EA – является достаточно простым алгоритмом. Процесс
решения начинается с создания первой популяции размером λ, обычно особи в
этом решение генерируются случайным образом. Далее определяется значение
фитнеса на каждой из особей. После этого в популяции оставляют µ лучших
особей, остальные уничтожаются. На основе каждой из µ особей создается λ/µ с
использованием оператора мутации. Фактически создается λ новых решений,
72
родительски решения при этом отбрасываются. Итерации повторяются, пока не
будет выполнен критерий остановки. Следует заметить, что
λ должно быть
кратно µ. Приведем схему алгоритма, здесь и далее будут использоваться
следующие обозначения:
ВычислитьФитнес – процедура вычисляющая значение целевой функции
Fitness – значение целевой функции заданного решения
P – популяция (множество решений)
Q – промежуточная популяция
bestμ - функция возвращающая μ лучших решений из популяции
Mutate – оператор мутации, создающий новое решение из заданного
F – множество «похожих» по некоторому критерию особей
Общая схема алгоритма (μ , λ) EA
Вход: λ, µ
Выход: лучшее решение
Алгоритм:
P←{}
Повторить λ раз do
P ←P∪(новое случайное решение)
Повторять
Повторить для каждого Pi∈P
ВычислитьФитнес(Pi)
Если Best= ∅ИЛИ Fitness(Pi) > Fitness(Best)
Best← Pi
Q←bestμ in P
P← {}
Повторить для каждого Qj∈Q
Повторить λ/μ раз
P←P∪{Mutate(Copy(Qj))}
Пока НЕ Критерий_остановки
Return best
73
Существует несколько способов контролировать работу данного алгоритма,
а именно управлять соотношением между экстенсивным и интенсивным
поведением:
a.
размер λ. В случае, когда размер λ стремится к бесконечности,
алгоритм сводиться к случайному поиску
b.
размер µ. Определяет склонность алгоритма к локальному поиску.
Чем выше это значение, тем больше решений будет переходить между
поколениями решений
c.
Mutate – оператор мутации. С помощью оператора мутации можно
контролировать насколько «близки» будут решения родителей и потомков
2.
(μ + λ)EA – в целом алгоритм похож на описанный выше, с той лишь
разницей, что на каждой итерации имеется (λ + µ) решений, и родительские
решения не отбрасываются.
Общая схема алгоритма (μ + λ) EA
Вход: λ, µ
Выход: лучшее решение
Алгоритм:
P←{}
Повторить λ раз do
P ←P∪(новое случайное решение)
Повторять
Повторить для каждого Pi∈P
ВычислитьФитнес(Pi)
Если Best= ∅ ИЛИ Fitness(Pi) > Fitness(Best)
Best← Pi
Q←best μ in P
P← Q
Повторить для каждогоQj∈Q
Повторитьλ/μ раз
P←P∪{Mutate(Copy(Qj))}
Пока НЕ Критерий_остановки
return best
74
Разница между двумя описанными алгоритмами в следующем: алгоритм (μ ,
λ) EA может быть более склонным к локальному поиску, т.к. родительские
решения не отбрасываются. Однако это таит в себе определенную опасность: в
случае, если родительские решения имеют хорошее значения фитнеса, а оператор
мутации не обеспечивает достаточный разброс решений потомков, то поиск
может деградировать, то локального поиска относительно родительских решений.
Зачастую в эволюционных вычислениях выделяют несколько типов
стратегий: стратегия элитных особей, стратегия добавления новых решений,
изменения размера популяции, параллельных эволюций.
Одной из наиболее часто используемых стратегий является стратегия
элитных особей, которая заключается в том, что на протяжении решения всегда
сохраняется часть лучших особей. Примером данной стратегии в чистом виде
может служить алгоритм (μ + λ) EA. Данная стратегия основывается на
предположении, что чем лучше фитнес особи, тем больше вероятность того, что в
окрестности особи есть хорошие решения. Отношение размера элитной группы к
размеру всей популяции может варьироваться в зависимости от конкретной
реализации алгоритма.
При этом у стратегии элитных особей есть и существенный недостаток, так
как необходимо следить, чтобы элитные особи не вырождались в одинаковые
решения. Поэтому часто используется стратегия разнообразия, которая сводится к
тому, что происходит проверка особей на близость, например, по критерию
Хэмминга. В случае если есть набор «близких» особей часть из них удаляется, а
освободившиеся места заполняются либо случайными решениями, либо
стандартным образом путем применения генетических операторов. Однако
применение стратегии разнообразия не решает всех проблем, так как есть
вероятность, что все решения поколения могут оказаться примерно в одной
области и процесс решения выродится.
75
Общая схема алгоритма (μ + λ) EA с элитными особями
Вход: λ, µ
Выход: лучшее решение
Алгоритм:
P←{}
Повторить λ раз do
P ←P∪(новое случайное решение)
Повторять
Повторить для каждого Pi∈P
ВычислитьФитнес(Pi)
Если Best= ∅ ИЛИ Fitness(Pi) > Fitness(Best)
Best← Pi
Q←лучшие μ in P
F← близкие решения из P
Если F≠ ∅
Q← Q∩F
Повторить |F| раз do
Q ← Q ∪(новое случайное решение)
P← Q
Повторить для каждогоQj∈Q
Повторитьλ/μ раз
P←P∪{Mutate(Copy(Qj))}
Пока НЕ Критерий_остановки
return best
Исходя их предыдущих недостатков, была разработана
стратегия
«добавления новых решений», которая сводится к тому, что время от времени (с
некоторым интервалом между популяциями или с некоторой вероятность на
каждом этапе поиска) вводится новое случайное решение в популяцию. При этом
крайне важно, чтобы стратегия «добавления новых решений» не противоречила
стратегии элитных особей. Например, для (μ + λ) EA алгоритм может выглядеть
следующим образом:
Общая схема алгоритма (μ + λ) EA с добавлением новых решений
Вход: λ, µ
Выход: лучшее решение
76
Алгоритм:
P←{}
Повторить λ раз do
P ←P∪(новое случайное решение)
Повторять
Шаг алгоритма += 1;
Повторить для каждого Pi∈P
ВычислитьФитнес(Pi)
Если Best= ∅ ИЛИ Fitness(Pi) > Fitness(Best)
Best← Pi
Q←лучшие μ in P
P← Q
Повторить для каждого Qj∈Q
Повторитьλ/μ раз
P←P∪{Mutate(Copy(Qj))}
Если (Шаг алгоритма % 33 == 0)
P ←P∪(новое случайное решение)
Пока НЕ Критерий_остановки
return best
Для эволюционных стратегий может применяться стратегия изменения
числа особей в популяции. Из наиболее распространенных подходов в рамках
данной стратегии можно выделить следующие: изменения размера популяции в
зависимости от средней приспособленности особей популяции, изменение
средней приспособленности особей популяции за заданное число этапов решения.
Например, при росте среднего значения фитнеса популяции можно пытаться
увеличить размер популяции, а при уменьшении значения фитнеса уменьшать
количество особей. Данное поведение наблюдается в природе, однако на практике
опробовали и обратную стратегию. Зачастую вводятся верхние и нижние размеры
популяции для того, чтобы контролировать рост и падение числа особей.
Еще одной стратегией позаимствованной у живой природы является
стратегия параллельных эволюций. Основная идея данной стратегии сводится к
тому, чтобы выделить несколько независимых популяций, и производить поиск
решения в них параллельно. Как правило, после некоторого числа шагов решения
77
происходит объединение популяций, или поглощение одной популяцией другую.
Наиболее известными представителями данной стратегии являются турнирная
стратегия и стратегия миграции. Рассмотрим данные стратегии чуть подробнее. В
случае стратегии изначальная популяция делится на несколько популяций,
которые могут различаться по размеру. Далее процесс решения (эволюции)
происходит независимо в каждой популяции. Однако с некоторой вероятностью
может происходить обмен информацией между некоторыми особями разных
популяций. При этом лучшие решения сохраняются отдельно и образуют своего
рода элитную популяцию, на которой также запускается процесс решения.
Схематично данный процесс представлен на рисунке ниже.
популяция 1
популяция2
……
популяцияN
элитная
популяция
окончательное
решение
Рисунок 3.2 – Стратегия элитизма
Несколько иначе работает турнирная стратегия. Она предполагает создание
полностью независимых популяций. После получения решений в рамках всех
популяций из лучших решений создаются новые популяция, на которых процесс
решения повторяется. Данная последовательность действий отрабатывает
несколько раз перед получением окончательного решения. Количество таких
повторов фактически не ограничено и зависит от конкретной реализации
алгоритма. Также от реализации алгоритма зависят размеры популяций. На
78
рисунке
ниже
представлена
схема-пример
работы
турнирной
стратегии,
состоящая из трех этапов. На первом этапе рассматривается N популяций, каждая
состоит из 30 особей. На втором этапе из каждых трех популяций образуется
новая популяция из 20 особей, тем самым образует k новых популяций. В
завершение образуется новая популяция, на основе имеющихся k, численностью
40 особей. Решение, полученное на данной популяции, и будет окончательным
решением алгоритма.
популяция 3
популяция302
особей
популяция301
особей
30 особей
популяция 6
популяция305
особей
популяция304
особей
30 особей
……
популяция N
30 особей
популяция
N1MN
популяция
N-2
особей
3030
особей
популяция N+1
популяция N+2
популяция N+k
20 особей
20 особей
20 особей
финальная популяция
40 особей
окончательное
решение
Рисунок 3.3 – Турнирная стратегия
Впервые эволюционные стратегии разработал и предложил в 60е годы 20
столетия I. Rechenberg [73]. Данный подход в основе имеет имитацию
эволюционного отбора, который происходит в живой природе. Эволюционные
стратегии успешно применялись для различных задач: двухмерная задачи
упаковки [93], трехмерная задача упаковки[75], транспортная задача [94], задача о
покрытие множества [95] и т.д.
Часто при использовании эволюционных стратегий используют следующее
правило [21]:
79
1.
Если более чем 1/5 решений потомков имеет решение лучшее, чем
родительские
решения,
значит
необходимо
увеличивать
экстенсивную
составляющую алгоритма, т.е. изменять оператор мутации, либо увеличивать λ
2.
Если менее чем 1/5 решений потомков имеет решении худшее, чем
родительские
решения,
значит
необходимо
увеличивать
интенсивную
составляющую алгоритма
3. Если соотношение соблюдается – алгоритм не нуждается в изменениях
Таким образом, решение задачи размещения груза в транспортных
средствах можно представить в следующем виде: решения представляются в виде
приоритетного списка π=(π(1), π(2),…, π(|V|)), где π(i) – номер i-ого груза, которая
будет размещаться в контейнере. Основная идея алгоритма состоит в следующем:
строится некоторое начальное решение x0. Для построения нового решения x к
текущему решению xt применяется вероятностная процедура мутации М: x =
M(xt) (например, перестановка в π двух пар предметов местами). Далее, если
f(xt)<f(x), полагают xt+1= x. Процесс продолжается до тех пор, пока не выполнены
условия критерии остановки.
Для рационального размещения груза был разработан метод ABLP3D(π),
являющийся модификацией методов ABLP[20] и ABLP+ [31], создающий конечное
множество позиций для размещения круглых и прямоугольных предметов. Идея
метода ABLP+ состоит в следующем: первый предмет размещается в верхний
левый угол контейнера; далее формируется список П допустимых позиций для
размещения следующего предмета и удаление из него тех позиций, которые не
обеспечивают допустимое размещение (удовлетворяющее условиям задачи); из
сформированного списка позиций П выбирается лучшая позиция - самая верхняя
левая позиция для добавления следующего предмета. Приведем общую схему
алгоритма (μ + λ) EA и алгоритма ABLP3D.
80
Общая схема алгоритма (μ + λ) – EA
Вход: размер контейнера, набор коробок и бочек, с известными
параметрами
Выход: решение π и значение целевой функции
1.
Сформировать приоритетный список π=(1,2,…,|V|)
2.
Разместить предметы в контейнер согласно процедуре ABLP3D(π),
вычислить значение целевой функцииf(ABLP3D(π))
3.
Сгенерировать новый приоритетный список π * такой, что π*(j)=π(i),
π*(i)=π(j), π*(m)=π(n), π*(n)=π(m) для предметов vi ,vj,vm,vn где i, j,m,n [0, |V|],i≠j,
n≠m; для остальных элементов π*(k)=π(k), k {0,...,V } /{m, n, i, j}
4.
Определить значение целевой функцииf(ABLP3D(π*))
5.
Если f(ABLP3D(π*))<f(ABLP3D(π)), то π= π*
6.
Если критерий остановки выполнен, то шаг 6.1, иначе 6.2
6.1.
ВЫХОД
6.2.
Иначе шаг 3
Таким образом, на первом шаге мы должны сформировать приоритетный
список. Осуществляется это следующим образом: все предметы сортируются по
объему,
и
затем
отсортированному
осуществляется
списку.
Решение
нумерация
о
предметов
необходимости
согласно
предварительной
сортировки было сделано на основе проведенных численных экспериментов. На
втором шаге происходит упаковка предметов согласно конструктивному
алгоритму ABLP3D, схема которого приведена ниже. На третьем шаге
осуществляется перестановка двух пар предметов местами, для получения нового
решения. На шаге номер четыре мы осуществляем упаковку нового решения с
помощью алгоритма ABLP3D. Далее происходит сравнение двух полученных
решений, лучшее остается, второе же решение сохраняется. Алгоритм завершает
свою работу, когда выполнен критерий остановки (истекло время заданное
пользователем).
81
3.3 Разработка роевой гиперэвристики для решения задачи
оптимизации размещения груза внутри ТС
Для решения задачи размещения поддонов с грузом в ТС предлагается
использовать роевую гиперэвристику. Гиперэвристики – это относительно новый
тип алгоритмов комбинаторной оптимизации, в котором для получения
результата
используется
набор
простых
однопроходных
эвристик
[71],
управляемых общей схемой [72]. Основным плюсом такого подхода является
относительная простота реализация и возможность получить приемлемые
решения за малое количество времени. Для решения задачи упаковки
прямоугольных предметов в полосу минимальной длины в [72] была предложена
гиперэвристика H-SP. Предложенная эвристика представляет собой композицию
низкоуровневых
эвристических
алгоритмов
*…*algk(park,nk),
где a lg1 , a lg1 ,...,a lg k , a lg i  A lg orithms
AlgSet=alg1(par1,n1)*alg2(par2,n2)
-
конструктивные
эвристики; par1 , par2 ,...,park , pari  P - параметры эвристик, ni , i  1,2,...,k - целое
положительное число, которое представляет собой количество предметов,
которые эвристика a lg i должна разместить,
k
 ni
i 1
 N pal , N pal - общее число
заданных прямоугольных предметов (поддонов); * - оператор композиции. При
этом рассматриваются равновероятные операции, которые позволяют изменить
набор эвристик AlgSet путем замены существующего алгоритма, добавления или
удаления новой.
Предлагается для решения задачи размещения поддонов в отсеки
транспортных средств использовать алгоритм, основанный на гиперэвристике HSP и алгоритм класса «роевых» алгоритмов (Swarm Intelligence Algorithm), в
частности алгоритм пчел (The Bees Algorithm) [96] [97] [98]. Рассмотрим
подробнее эти два алгоритма H-SP, алгоритм пчел.
Алгоритм пчел – это алгоритм, который впервые был предложен в 2005
году(D., 2005). Данный алгоритм сочетает в себе возможности глобального и
локального поиска, поэтому может применяться как для комбинаторной
82
оптимизации, так и для непрерывной оптимизации. Алгоритм пчел показал свою
эффективность для различных задач комбинаторной оптимизации [99], [98].
Алгоритм пчел основывается на идеях, взятых из природы и в частности на
поведение роя пчел. Пчелы (агенты) могут пролетать достаточно большое
расстояние от места расположения улья в различных направлениях в поисках
наиболее заманчивых мест расположения цветов (источников еды). Из всего роя
выделяется группа агентов, которую условно можно назвать «пчелами-скаутами»,
которые занимаются изучением окружения в поисках новых расположений
цветов. Данные агенты двигаются случайно по окрестностям улья и оценивают
полезность тех или иных областей [100]. Затем попадая в улей, пчелы
обмениваются данной информацией друг с другом. Одним из наиболее
интересных моментов является то, что пчелы передают целый ряд информации.
Согласно исследованиям [101], [102], [103] пчелы друг другу передают
следующую информацию: месторасположение еды и ее качество (количество).
Месторасположение источника еды, условно говоря, задается в полярных
координатах, т.е. задается угол до источника и расстояние до него. При этом угол
задается с помощью так называемого «танца пчел», а расстояние до источника за
счет амплитуды колебания при этом танце. Для того чтобы передать информацию
об угле, пчеле необходимо всегда идеально ориентироваться в пространстве – это
достигается за счет встроенного биологического механизма, позволяющего всегда
понимать в каком расположение в данный момент находится солнце. Информация
о полезности того или итого источника передается с помощью выделяемого
феромона. После завершения ритуального танца пчела-скаут отправляется на
дальнейшее исследование рассматриваемой области. Остальные пчелы на основе
данной информации отправляются на добывание пищи из более перспективных
участков. За счет описанного механизма пчелиный рой сочетает механизмы
локального и глобального поиска, которые позволяют быстро переключаться с
одной области на другую и практически всегда добывать пищу с наиболее
перспективного участка [104].
83
Таким образом, можно выделить две группы пчел: пчелы-скауты,
отвечающие за глобальный поиск, и рабочие пчелы, работающие над изучением
локальных областей.
Рассмотрим подробнее гиперэвристику H-SP, которая будет использовать
внутри себя 3 простых однопроходных алгоритма: следующий-подходящий (Next
Fit), первый-подходящий (First Fit), лучший-подходящий (Best Fit). Задачей
данной гиперэвристики является размещение поддонов внутри транспортных
средств, по критерию минимизации занятой части контейнера (высота).
Предположим, что имеется некоторое множество из пространства решений:
Sol={Sol1, Sol2, …, SolNsol}.Для простоты будем считать, что данные решения
отсортированы в порядке убывания целевой функции:
f ( Sol1 )  f ( Sol2 )  ...  f ( Sol Nsol )
(3.1)
Все множество решение Sol разобьем на два подмножества Solbest Solgood
Solothers. Первое подмножество Solbest включает в себя «лучшие» решения, которые
удовлетворяют следующим условиям:
Soli  Solbest ,Sol j  Sol good , f ( Soli )  f ( Sol j )
(3.2)
В соответствие с упрощением, предложенным выше об отсортированности
множества Sol: Solbest={Sol1,Sol2,…,SolNbest}.
По аналогии с множеством «лучших» решений введем множества
«хороших» решений, в которое войдут Ngood лучших решений, не попавшие в
первое множество:
Sol good ,| Sol good | N good , N good  N sol  N best
Soli  Sol good , Sol j  Sol \ ( Sol good  Solbest ), f ( Soli )  f ( Sol j )
(3.3)
Предлагаемый алгоритм заключается в следующем: первым шагом,
случайным образом конструируется Nsol решений. Из этого множества выберем
подмножества Nbest «лучших» для подмножества Solbest и Ngood «хороших» решений
84
для подмножества Solgood. Далее каждое из выбранных решений модифицируется
путем выполнения простых операций (добавление, замена алгоритма, удаление
алгоритма) в последовательности Sol. Таким образом, для Nbestиз Solbest решений из
числа «лучших» применяется Nbest
_modмодификаций
для решений, по аналогии
также строится Ngood_modмодификаций для каждого из «хороших» решений. После
этого дополнительно строится Nrandслучайных новых решений. Таким образом, в
результате у нас получаетсяNstep:
N step  N rand  N best  N good  N best * N best _ mod  N good * N good _ mod
(3.4)
Из полученных Nstep решений вновь выбираются «лучшие» и «хорошие» и
процедура повторяется снова. Пока критерий остановки (время работы,
неизменность целевой функции, либо какие-то еще) не будет выполнен,
процедура будет продолжаться. Рассмотрим схему предложенного алгоритма:
Вход: набор поддонов с уже размещенными на них предметами,
полученными с помощью алгоритма ABLP3D, размеры поддонов и высота
предметов на них, размеры контейнера
Выход: решение Solfin и результат целевой функции 𝑓(𝑆𝑜𝑙)
Алгоритм:
Построить начальное решение Sol.
Положить Sol=Ø, Solgood= Ø, Solbest= Ø.
Повторить пока не выполнен критерий остановки
Sol← Sol∪{Nrand новых случайных решений}
Повторить для каждого sol∈Solbest
ПовторитьNbest _mod
Sol← Sol ∪modificate(sol)
Повторить для каждого sol∈Solgood
ПовторитьNgood _mod
Sol← Sol ∪modificate(sol)
Отсортировать Sol, получить новыеSolbest и Solgood
ЕслиSolfin>sol1
Solfin= sol1
Sol= Solbest + Solgood
ReturnSolfin
85
В алгоритме выше используется процедура modificate, которая сводится к
изменению заданного решения путем добавления, удаления, либо изменения
внутри решения простой эвристики. Приведем алгоритм, согласно которому
должна работать данная процедура.
Вход: исходное решение sol
Выход: модифицированное решение sol|
Алгоритм:
R←случайно число от 1до 3
ЕслиR=1
модифицированное решение sol |получается добавлением
низкоуровнегового алгоритма
ЕслиR=2
модифицированное
решение
sol|получается
удаления
низкоуровнегового алгоритма
ЕслиR=3
модифицированное решение sol|получается изменением одного
из низкоуровнеговых алгоритмов
|
Returnsol
3.4. Разработка метода решения задачи доставки груза потребителям с
учетом технологических ограничений
Для решения задачи доставки груза потребителям с учетом размещения
груза внутри транспортных средств предлагается использовать следующие
алгоритмы: sweep алгоритм в сочетание с жадным алгоритмом, процедуру
ABLP3D, основанную на комбинации эволюционного алгоритма и декодера, а
также
гиперэвристическом
Продемонстрируем
алгоритме,
взаимосвязь
основанном
перечисленных
функциональной диаграммы в нотации IDEF0.
на
алгоритме
алгоритмов
с
пчел.
помощью
На Рисунке 3.4 представлен
нулевой уровень диаграммы, на котором представлено функция решения задачи
доставки груза потребителям с учетом его размещения внутри транспортных
средств.
86
Рисунок 3.4 – Решение задачи доставки груза
Данную задачу можно декомпозировать на решение следующих подзадач:
1) Решение задачи составления маршрутов
2) Решение задачи размещения груза по поддонам
3) Решение задачи размещения поддонов по транспортным средствам
Данные
задачи
решаются
путем
повторения
нескольких
итераций
представленных выше задач. Функциональная схема взаимодействия данных
задачи представлена на Рисунке 3.5. Стоит обратить внимание на наличие связи
между задачами решения транспортной задачи и решения задачи размещения
поддонов по транспортным средствам. Данная связь отображает, что при
составлении маршрутов необходимо учитывать размещение груза по поддонам и
поддонов в транспортных средствах для того, чтобы получить допустимое
решение.
87
Рисунок 3.5 – Взаимодействие подзадач
На рисунке 3.6 представлена декомпозиция решения задачи составления
маршрутов, которая состоит из двух подзадач. Первая - это разбиение множества
всех точек, куда необходимо достать доставить груз, на отдельные кластера,
точки в которых будут рассматриваться отдельно от остальных. Вторая подзадача
– это задача построения транспортных маршрутов в рамках отдельных кластеров.
На рисунке 3.7 представлена декомпозиция решения задачи размещения
груза по поддонам, которая состоит из двух подзадач. Первая – это сводится к
генерированию кодировок решений с помощью эвристических алгоритмов. При
этом эвристический алгоритм работает только с кодировкой решения, но не
занимается
непосредственно
составлением
погрузочным
планом.
Задачей
получения погрузочных планов и оценкой значения целевой функции занимается
декодер, обозначенный на рисунке 3.7 функциональным блоком А22.
88
Рисунок 3.6 – Решение задачи составления маршрутов
Рисунок 3.7 – Решение задачи размещения емкостей по поддонам
На рисунке 3.8 представлена декомпозиция решения задачи размещения
поддонов по транспортным средствам, которая также состоит из двух подзадач. В
целом решение данного этапа в целом похожа на предыдущую. Разница состоит в
89
применяемых алгоритмах, а также в том, что вместо помимо кодировки еще
устанавливаются
простые
эвристики
для
конкретных
решений,
которые
формируют план размещения.
Рисунок 3.8 – Решение задачи размещения поддонов по ТС
3.5. Анализ работы алгоритма эволюционных стратегий
Продемонстрируем работу алгоритма ABLP3D на небольшом реальном
примере. Для простоты в примере будет принято допущение об отсутствие
технологических ограничений.
Таблица 3.1 Исходные данные об используемом грузе параллелепипедной
формы
Тип емкостей
Емкости
формы
Размеры
параллелепипедной
длина
1
ширина
31,7
28,3
Высота
37,5
90
5
31,7
28,3
37,5
6
28,5
22
41
Таблица 3.2 Исходные данные об используемых емкостях цилиндрической
формы
Груз цилиндрической
формы
высота
диаметр
2
101
60
4
68,6
44
7
68,6
44
3
97,8
58,1
Параметры алгоритма: параметры эвристического алгоритма λ=1, µ=1;
ширина поддона wpal=150, lpal=105, hpal=140.
Предположим, что начальное решение закодировано путем сквозной
нумерации всех предметов согласно таблице 3.1. Таким образом, решение будет
закодировано следующим образом {1, 4, 3, 2, 5, 7, 6}. Применим к данной
кодировке оператор мутации: {1, 4, 3, 2, 5, 7, 6} -> {1, 2, 3, 4, 5, 6, 7}.
Для каждого из двух решений разместим предметы согласно декодеру,
описанному в главе 2.2. и оценим значения целевых функций. На рисунке 3.9
приведен пример частично построенного решения.
Далее согласно выбранным кодировкам необходимо для первого решения
добавить груз параллелепипедной формы с характеристиками №6 (28.5, 22, 41) и
груз цилиндрической формы №3 с характеристиками (58.1, 97.8). Приведем
пример частично построенных решений на рис. 3.9.
91
1
1
5
2
Рисунок 3.9 – Пример частично построенных решений для двух
предметов
Далее согласно выбранным кодировкам необходимо для первого решения
добавить груз параллелепипедной формы с характеристиками №6 (28.5, 22, 41) и
груз цилиндрической формы №3 с характеристиками (58.1, 97.8). В результате мы
получим погрузочный план, представленный на рисунок 3.10.
1
1
5
2
6
3
Рисунок 3.10 – Пример частично построенных решений для трех
предметов
На рисунок 3.11. представлены планы размещения после добавления груза
цилиндрической формы №2 с характеристиками (60, 101) для первого решения и
груза цилиндрической формы №4 (44, 68.6) для второго.
92
1
1
5
2
6
4
2
3
Рисунок 3.11 – Пример частично построенных решений для
четырех предметов
Результатом размещения пятого предмета является план размещения ,
представленный на рисунок 3.12.
Для первого решения размещается груз
цилиндрической формы №4 (44, 68.6), для второго параллелепипедной №5 – (31.7,
28.3, 37.5).
1
4
1
5
5
2
6
4
2
3
Рисунок 3.12 – Пример частично построенных решений для пяти
предметов
Результатом размещения шестого предмета является план размещения ,
представленный на рисунок 3.14. Для первого решения размещается груз
93
цилиндрической формы №7(44, 68.6), для второго параллелепипедной №6 –
6(28.5, 22, 41).
1
1
4
5
6
5
2
6
4
7
2
3
Рисунок 3.13 – Пример частично построенных решений для шести
предметов
На рисунок 3.14 представлены финальные планы размещения для первого и
второго решений. В них во втором ярусе размещено по одному предмету с
номером №3 и №7 соответственно.
1
1
4
5
6
5
2
6
4,7
7
2,3
3
Рисунок 3.14 – Пример финальных решений для заданных кодировок
94
Выводы по третьей главе
1. Предложено использовать sweep алгоритм, который позволяет получить
рациональные маршруты доставки груза потребителям, для решения задачи
составления маршрутов доставки.
2. Для решения задачи размещения груза по поддонам предложено
использовать алгоритм эволюционных стратегий в сочетание с декодирующим
алгоритмом ABLP3D.
3. Для решения задачи размещения поддонов с грузом в ТС предложен
гиперэвристический алгоритм, на базе «роевого» поведения, который позволяет
получить рациональное размещение поддонов в ТС.
4. Предложен метод на основе sweep алгоритма, алгоритма эволюционных
стратегий и гиперэвристического алгоритма, который позволяет учитывать
рациональное размещения груза в ТС и учитывать маршруты его доставки при
наличие технологических ограничений.
5. Приведен пример работы алгоритма эволюционных стратегий, который
показывает принципы его работы.
95
Глава 4. Оценка эффективности алгоритмов и методов
оптимизации
доставки груза потребителям при наличии
технологических ограничений на базе численных экспериментов
Численные эксперименты проводились на вычислительной машине Intel
Core i5 с частотой каждого ядра 2,4 GHz. b оперативной памятью 4 Гб на
платформе 64-разрядной операционной системы Windows 7.
4.1 Программное обеспечение для задачи оптимизации доставки груза
потребителям при наличии технологических ограничений
Прототип программного обеспечения, реализующий предложенные
алгоритмы и методы, предназначен для решения задачи доставки груза
потребителям с учетом расположения груза внутри транспортных средств.
Прототип представляет собой клиент-серверное приложение. Серверная часть
приложения
может
быть
размещена
на
любом
сервере
приложений,
поддерживающем Java (IBM WebSphere Application Server (WAS), Oracle
GlassFish Server, Getty и т.д.), поддержка JavaEE не является обязательной.
Серверная часть поставляется в виде war-архива и динамически подключаемой
библиотеки
(для
новых
систем
библиотеку
необходимо
будет
перекомпилировать). Промышленные примеры выполнялись на следующих двух
конфигурациях: AIX 7.1 + WAS 8.5.5.2 и Windows Server 2008r2 + GlassFish 3.1.2.
Описание программного решения.
На рисунок 4.1. представлена схема работы прототипа программного
обеспечения. Как видно на рисунке прототип решения представляет собой
клиент-серверное приложение. Реализацию программы можно разбить на две
части: алгоритмическая часть реализована на языке C++ в виде динамически
подключаемой библиотеки (DLL), и прикладная часть, реализованная на языке
программирования JAVA.
Клиент-серверное взаимодействие организовано с
использованием Google Web Toolkit (GWT). Часть логики, отвечающая за
отображение найденных маршрутов с использованием Google Maps Web API,
реализована с использованием javaScript.
96
Рисунок 4.1 – Описание архитектуры предлагаемого решения
На рисунок 4.2. представлена статическая модель данных решаемой задачи.
В ней описаны основные сущности, существующие в задаче, а также
характеризующие их параметры и виды связей между ними. Как видно из рисунка
были выделены следующие сущности: заказчик, заказ, грузовик, тип грузовика,
поддон, тип поддона, отдельные типы заведены под груз.
Параметры
алгоритма.
Параметры, используемые для
построения
алгоритма, задаются с помощью стандартного файла Java-конфигурации, который
представляет собой набор вида «ключ=значение» разделенный символом перехода
на новую строку.
97
Рисунок 4.2 – Статическая модель данных
Например, для задания параметров работы алгоритма ABLP3D в файле параметров
должны быть указаны следующие параметры:
lyambda=4
mu=2
stop_criteria_ablp=time
time_ablp=60000
Полный список параметров алгоритмов приведен ниже:
1) параметр λ(lyambda)
2) параметр µ (mu)
3) критерий остановкиABLP3D(stop_criteria_ablp, по умолчанию time)
4) время работы алгоритма ABLP3D (time_ablp, по умолчанию 60)
5) количество итераций до остановки алгоритмаABLP3D (count_ablp)
6) критерий остановки SH-ВР(stop_criteria_shbp, по умолчанию time)
7)время работы алгоритма SH-ВР(time _shbp)
8)количество итераций до остановки алгоритмаSH-ВР(count _shbp)
6) критерий остановки Sweep-Greedy (stop_criteria_greedy)
98
7) время работы алгоритмаSweep-Greedy(time _ greedy)
8)количество итераций до остановки алгоритма Sweep-Greedy(count _
greedy)
Соотнесение параметров к заданному тестовому набору осуществляется
следующим образом: имя файла с параметрами совпадает с именем тестового
набора за исключением того, что у параметра присутствует префикс param N, где
N – номер набора параметров.
Автоматизированное построение решений. Для проведения тестирования
в программе предусмотрена возможность построения решения сразу по набору
тестовых данных с предварительным указанием параметров алгоритмов, которые
необходимо для них применять. При этом для каждого тестового набора можно
указать несколько тестовых наборов с помощью механизма описанного в разделе
с описанием параметров алгоритма. Данный механизм продемонстрирован на
рисунок 4.2.
Входные
параметры
CR0p0.txt
Параметры
алгоритмов
+
param0CR0p0
CR1p1.txt
param1CR0p0
CR1p2.txt
param0CR1p1
Результаты
=
param0CR0p0.out
param1CR0p0.out
param0CR1p1.out
Рисунок 4.2 – Ввод входных данных
Построение статистики.
Для удобства тестирования в программе
предусмотрена функция, позволяющая подвести статистику по заданному набору
результирующих файлов. Результатом выполнения данной функции является xml
файл. Так как клиент является тонким клиент, передача на сервер осуществляется
посредством передачи ссылки на расшаренную папку, куда необходимо
предварительно разместить заранее полученные результирующие данные.
99
Использование программного лога. Для логирования ошибок и основных
операций, выполняемых программным продуктом, используются популярные
средства логирования log4j(http://logging.apache.org/log4j/1.2/) для регистрации
событий в части Java и log4cpp(http://log4cpp.sourceforge.net/) для регистрации в
части Qt(C++). Приведем пример настроек:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="vrp_logger" class="org.apache.log4j.FileAppender">
<param name="File" value="/vrp.log" />
<param name="Append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%t %-5p %c{2} - %m%n"/>
</layout>
</appender>
<!-- имя пакета для логирования -->
<logger name="ru.koshcheev.diploma">
<!-- настроивается уровень логирования и имя используемого аппендера -->
<priority value ="trace" />
<appender-ref ref="vrp_logger" />
</logger>
</log4j:configuration>
Уровень логирования выставляется стандартным образом и может быть
выставлен в один из следующих уровней: trace, debug, info, warn, error. По
умолчанию лог пишется в папку с SystemOut сервера приложений, однако данное
поведение может быть изменено соответствующими настройками.
Для чтения логов рекомендуется использовать такие стандартные средства
как NodePad+ (http://notepad-plus-plus.org/), Sublime(http://www.sublimetext.com/).
4.2 Анализ результатов численного эксперимента на задаче размещения
кругов
Эксперимент проводился на известных тестовых наборах для решения
задачи размещения кругов в полубесконечную полосу. Для каждого тестового
набора известны длина и ширина контейнера, а также радиусы кругов для
100
упаковки. Также представлены решения задачи упаковки кругов, полученные
генетическим алгоритмом CAGA[73], методом ветвей и границ S.Y. [105], жадной
эвристической процедурой В1.5 [106], алгоритмом вероятностного поиска с
запретами TABU SEARCH (TS) [107], алгоритмом муравьиной колонии [108],
решением предложенным А.С. Рудневым на основе коммерческого проекта
GAMS(http://www.gams.com/)(с использованием решающего ядра BARON), а
также нижними границами(LB) по объему.
n
 Si
LB  i 1
W
, где W – ширина контейнера
Время работы алгоритма CAGA составляло 30 минут на компьютере с
процессором Pentium III 733MHz. Время работы метода ветвей и границ не
указано, за исключением примера SY6, для которого потребовался один час на
IBM PC/AT 486. Среднее время работы алгоритма В1.5 составляло примерно 40
минут для примеров SY1-SY4 и 18 часов для примеров SY5 и SY6 на машине с
процессором Athlon XP2000+. Время работы алгоритма P-ACO составляло 30
мин. Для пакета GAMS было выделено 20 часов на решение каждого примера. За
это время было получено решения только для тестовых наборов SY1-SY4. В
таблице 4.1. представлена информация о примерах, где W – ширина полосы, L –
длина полосы, nc – количество кругов в тестовом наборе. В таблице 4.2
представлены результаты численных экспериментов, те же данные представлены
в графическом виде на рисунке 4.2.
Тестовый
набор/пара
метры
W
Таблица 4.1 — Данные по классам задач
SY1
SY2
SY3 SY4
SY5
SY6
9,50
19
8,50
9
11
15
L
17,491 14,895 4,93
24,355
38,0465 38,647179
nc
30
35
100
20
5
100
101
Таблица 4.2 — Сравнение эффективности алгоритмов размещения кругов
LB
Caga S,Y,
B1,5
TS
P-Aco EA
1
14,55 18,368 17,491 17,291 17,26 17,34 17,2887
2
12,16 15,239 14,895 14,535 14,515 14,18 14,3895
3
12,234 15,413 14,93 14,47 14,43 14,48 14,397
4
19,907 24,979 24,355 23,555 23,502 23,25 24,082
5
31,282 38,851 38,047 36,327 36,707 35,87 37,401
6
31,784 39,65 38,647 36,86 36,422 36,958 37,99
Рисунок 4.2 – Сравнение алгоритмов при размещении кругов
На этих же тестовых наборах проводилось исследование влияния
параметров алгоритма на качество получаемого решения. Рассматривались
следующие параметры: значение µ, значение λ, время выделенное на работу
алгоритма. При каждом наборе параметров запуск осуществлялся 10 раз. В
таблице ниже (Таблица 4.3) значения с стобце Min – лучшее полученное решение,
Avg – среденее полученное решение, Max – худшее из полученных решений.
Таблица 4.3 Значение целевой функции на SY наборах в зависимости от
значений параметров µ, λ и времени выполнения
Время,
(1+1)EA
(1+2)EA
(2+4)EA
с
Avg
Min
Max
Avg Min
Max
Avg Min
Max
SY1
30
14,7562 14,5702 14,8976 14,84 14,7389 14,889 14,81 14,6885 14,9534
102
60
14,8353
180
14,6566
300
14,5952
900
14,5693
SY2
Время, с Avg
30
60
180
300
14,7938
14,5152
14,4338
14,5074
14,7562
14,8353
14,6566
14,5952
SY3
Время, с
30
60
180
300
900
SY4
Время, с
30
60
180
300
900
SY5
Время, с
30
60
180
300
900
SY6
Время, с
30
60
180
300
900
14,8845
14,7668
14,7317
14,66
(1+1)EA
Min
14,5702
14,7938
14,5152
14,4338
(1+1)EA
Avg
Min
14,7562
14,5702
14,8353
14,7938
14,6566
14,5152
14,5952
14,4338
14,5693
14,5074
(1+1)EA
Avg
Min
24,8788
24,6816
24,8101
24,4767
24,6257
24,5282
24,4095
24,2844
24,3344
24,2575
(1+1)EA
Avg
Min
38,4905
37,9061
38,413
37,9486
38,2117
37,9348
37,9577
37,5596
37,9381
37,7034
(1+1)EA
Avg
Min
39,2689
38,7685
39,0304
38,7059
39,1468
39,0126
38,9286
38,7418
38,7961
38,5615
14,80
14,69
14,52
14,57
14,6437
14,5853
14,3969
14,5074
14,8959
14,801
14,6196
14,6609
14,69
14,66
14,60
14,57
14,4779
14,5434
14,5077
14,5074
14,922
14,7865
14,6609
14,6609
Avg
(1+2)EA
Min
Avg
(2+4)EA
Min
14,84
14,80
14,69
14,52
14,7389
14,6437
14,5853
14,3969
14,81
14,69
14,66
14,60
14,6885
14,4779
14,5434
14,5077
Avg
14,84
14,80
14,69
14,52
14,57
Avg
24,91
24,77
24,62
24,39
24,39
Avg
38,76
38,41
38,26
38,18
38,08
Avg
39,49
39,22
39,03
38,82
38,85
(1+2)EA
Min
14,7389
14,6437
14,5853
14,3969
14,5074
(1+2)EA
Min
24,7641
24,4757
24,5043
24,2044
24,2683
(1+2)EA
Min
38,4352
38,0681
38,0824
38,0403
37,9802
(1+2)EA
Min
39,1457
38,9957
38,8557
38,6898
38,487
Avg
14,81
14,69
14,66
14,60
14,57
Avg
24,87
24,80
24,56
24,57
24,48
Avg
38,77
38,38
38,25
38,17
38,09
Avg
39,46
39,32
39,07
38,82
38,74
(2+4)EA
Min
14,6885
14,4779
14,5434
14,5077
14,5074
(2+4)EA
Min
24,591
24,7428
24,0822
24,5039
24,2272
(2+4)EA
Min
38,5318
37,9434
37,9932
37,9829
37,9389
(2+4)EA
Min
39,0927
38,9164
38,7281
38,5827
38,612
Выводы по эксперименту: Как видно из результатов первого численного
эксперимента алгоритм, основанный на эволюционных стратегиях, на 5 из 6
103
тестовых наборах лучше, чем B1.5 и S.Y. Решения, получаемые алгоритмами PACO, Tabu Search и EA в целом показывали соизмеримые результаты. Для
тестового набора SY3 было получено новое лучшее решение. Решения,
полученные с помощью алгоритма EA, не отличаются более чем на 4% от лучших
известных. По итогам проведения численного эксперимента можно сделать
следующие выводы: по влиянию параметров алгоритма на качество получаемого
решения: параметры λ и µ на заданных тестовых наборах не имели решающего
значения; с увеличением времени вычисления результаты имели тенденцию к
улучшению, но при этом результаты, полученные за 30 сек., не отличались более
чем на 3% от результатов, полученных за 900 сек.
4.3 Анализ результатов численного эксперимента на задаче размещения
кругов и прямоугольников
Данный эксперимент проводился на тестовых наборах, предложенных
А.С.Рудневым в статье [107]. Для данных наборов известна оценка верхней
границы оптимального решения, т.к. генерация тестовых наборов проходила
последующей
схеме:
генерировались
безотходное
размещение
nr
прямоугольников и nc квадратов для заданной прямоугольной полосы размером
W*UB. Затем каждый квадрат заменялся кругом, соответствующего диаметра
(равного стороне квадрата). А.С. Рудневым предложено 24 тестовых наборов с
количеством предметов от 8 до 196.
В процессе эксперимента алгоритм EA запускался 10 раз для каждого
примера. Был рассмотрен неориентированный случай задачи, т.е. повороты
прямоугольников на 90 градусов были разрешены.
В таблице 4.4 указаны параметры примера: W-ширина полосы; n-количество
предметов; nc-количество кругов; nr-количество прямоугольников; LB-нижняя и
UB-верхняя оценки; значения для средних результатов работы алгоритмов TS, PACO и EA.
104
Таблица 4.4 Значение длины полосы для задач упаковки кругов и
прямоугольников
Пример Параметры
примера
Оценки
Длина полосы
w
n
nc
nr
LB
UB
TS
P-ACO EA
CR1P01 10
7
3
4
8.986
10
10
10
10
CR1P02 10
8
4
4
8.960
10
10
10
10
CR1P03 10
7
4
3
8.689
10
10
10
10
СR2P01 20
17
7
10
17.833
20
20
20
20
СR2P02 20
17
8
9
17.317
20
19,909
19.980
20
СR2P03 20
17
6
11
17.693
20
20
20.34
20
СR3P01 40
25
10
15
13.460
15
15.266
15.345
15.928
СR3P02 40
25
6
19
13.830
15
16,170
15.980
16.332
СR3P03 40
25
14
11
13.181
15
15
15.241
15.252
CR4P01 60
29
10
19
27,611
30
30,972
32,682
31.05
CR4P02 60
29
14
15
26,212
30
30,430
34.721
30
CR4P03 60
29
6
23
28,455
30
31,000
28,840
30
СR5P01 60
49
20
29
53,143
60
63,040
61.898
63.893
СR5P02 60
49
16
33
53,962
60
63,209
62.465
63.785
СR5P03 60
49
12
37
56,995
60
63,580
58,762
64.333
СR6P01 60
73
39
34
78,297
90
93,147
94.907
93.471
СR6P02 60
73
35
38
78,762
90
92,934
91.432
92.836
СR6P03 60
73
31
42
78,977
90
93,982
92.840
94.749
TSср/
EAср/
105
TSлучш.
СR7P01 80
97
45
52
104,372 120 125,720/ --------- 125.423/
122,970
СR7P02 80
97
41
56
97
37
60
126,063
116 212,234 240 255,706/ --------- 253,575/
251,922
СR8P02 160 196 96
128.000
107,306 120 125,895/ --------- 127,96/
122,970
СR8P01 160 196 80
124.000
106,866 120 126,028/ --------- 128.936/
125,755
СR7P03 80
EAлучш.
251,855
100 209,768 240 248,604/ --------- 248,117/
246,910
СR8P03 160 196 110 86
246,444
202,654 240 239,442/ --------- 240,475/
235,766
239.485
В таблице 4.5 представлены сравнение поведения алгоритма EA при
различных значениях µ, λ. В первом столбце указаны параметры алгоритма, в
столбцах 3–7 результаты работы алгоритма при различном времени работы.
Таблица 4.5 Значение целевой функции на CR4P01наборах в зависимости
от значений параметров µ, λ и времени выполнения
Алгоритм
30
60
180
600
900
(1+1)EA
(1+2)EA
(2+4)EA
min
30,8538
31,25
31,5572
31,9284
31,7343
avg
31,6472
31,764
31,8407
31,9881
31,9758
max
32,1825
32,2491 32,0479
32
32,1821
min
31,3848
31,8178 32
31,1649
31,25
avg
31,7949
31,966
32,0068
31,6033
31,7247
max
32
32
32,0407
32
32,0553
min
31,2092
31,7458 31,05
31,2857
31,3848
106
avg
31,5765
31,9998 31,9167
31,881
31,7389
max
32
32,1825 32
32
32,0483
min
31,25
31,25
31
30
avg
31,8992
31,8148 31,9167
31,6667
31,5278
max
32,1454
32
32
32
min
31,7038
31,3848 30,8538
32
31,1599
(10+20)EA avg
31,9638
31,8975 31,61
32,0304
31,6914
max
32,0774
32
32,1824
32
(5+10)EA
31,05
32
32,2458
Выводы по эксперименту: В поставленных экспериментах для 3 тестовых
наборах были получены рекордные значения, еще для 5 тестовых наборах
алгоритм достиг наилучшего известного на данный момент значения целевой
функции. На всей совокупности тестовых наборов алгоритм показывал
результаты, отличающиеся от лучших известных не более чем на 1-9. По итогам
проведения численного эксперимента можно сделать следующие выводы: время
работы алгоритма не имело решающего влияния на получаемые результаты, в
поведение алгоритма не наблюдалось никакого тренда в зависимости от времени
выполнения – это можно объяснить тем, что алгоритм достаточно быстро находил
локальный оптимум и в дальнейшем улучшения решения уже не происходило.
4.4 Анализ результатов численного эксперимента на задаче размещения
прямоугольных параллелепипедов
Эксперимент 1. Оценка зависимости времени итерации алгоритма от
количества размещаемых предметов для решения задачи размещения в
полубесконечный контейнер для алгоритма SH-BP. В таблице 4.6. представлены
результаты данного опыта при этом приведенные данные по результатам 10
запускам на каждом тестовом наборе. Эксперимент проводился на известных
тестовых
набор,
представленных
(http://people.brunel.ac.uk/~mastjjb/jeb/info.html)
в
OR-Library
107
Таблица 4.6. Время работы алгоритма SH-ВР в зависимости от количества
упаковываемых предметов (одна итерация)
Количество
предметов
50
100
150
200
250
300
350
400
Время (мс)
4
163
340
428
611
789
950
1367 2927 4868
450
500
Выводы по эксперименту: Как видно из таблицы 4.3. время выполнения
одной итерации гиперэвристического алгоритма, основанного на алгоритме пчел,
возрастает относительно плавно вплоть до 350 предметов, после чего время
итерации начинает резко возрастать.
Эксперимент 2. В ходе второго эксперимента проводилось сравнение
предлагаемой гиперэвристики SH-ВР с низкоуровневыми алгоритмами NextFit,
FirstFit, BestFit. Как и в предыдущем опыте, сравнение проводилось на известных
тестовых наборах из международной библиотеки тестов OR-Library для задач
исследования операций (http://people.brunel.ac.uk/~mastjjb/jeb/info.html). В таблице
4.7.
представлены
результаты
данных
алгоритмов,
в
ячейках
таблицы
представлено значение целевой функции (занятая высота контейнера).
Таблица 4.7. Сравнение результатов работы алгоритмов для трехмерной
задачи размещения параллелепипедов в полубесконечный контейнер
Набор
NextFit
FirstFit
BestFit
SH-BP
№
1
360
305
335
281
2
315
254
254
252
3
438
405
354
283
4
345
315
284
269
5
314
314
311
273
6
409
293
293
286
7
369
358
286
284
108
8
279
255
271
263
9
409
398
394
278
10
291
291
291
265
Выводы по эксперименту: Из представленной таблице видно, что
гиперэвристический алгоритм, основанный на алгоритме пчел, дает результат
лучше, чем используемые в нем однопроходные эвристики NextFit, FirstFit,
BestFit.
На
заданных
тестовых
наборах
гиперэвристический
алгоритм,
основанный на алгоритме пчел, показал результат был на 1-35% лучше, чем у
однопроходных эвристик.
Эксперимент 3. Эксперимент проводился на известных тестовых наборах
из
библиотеки
OR-Library
(http://people.brunel.ac.uk/~mastjjb/jeb/info.html).
Сравнивались следующие алгоритмы: PackingTree1-3 [109], Hybrid Methaheuristic
(GA+ACO) [110], Hybrid Methaheuristic(GA+ILP) [111], SH-BP. Каждый набор
тестов состоит из 100 примеров, количество предметов изменяется от теста к
тесту. Результаты вполнения алгоритмов представлены в Таблице 4.8.
Таблица 4.8. Сравнение результатов работы алгоритмов для трехмерной
задачи размещения параллелепипедов в полубесконечный контейнер
Bischoff, Lim,
Lim,
Lim,
Liang, Koshcheev,
1995
2005(PT1) 2005(PT2) 2005(PT3) 2007
2014
thpack1
85,4
74,9
79,9
87,4
88,7
80,3
thpack2
86,25
75,6
79,4
88,7
90,7
81,9
thpack3
85,86
76,9
78,9
89,3
91,6
78,7
thpack4
85,08
77,5
79,2
89,7
91,8
78,7
thpack5
85,21
76,7
78,6
89,7
91,7
78,2
Выводы по эксперименту: Из представленной таблице видно, что для
задачи упаковки параллелепипедов алгоритм SH-BP работает в среднем лучше на
109
6,5% по критерию плотности упаковки, чем ABLP3D. Однако он уступает лучшим
известным результатам на 4,4%.
4.5 Анализ результатов численного эксперимента на задаче класса 3LCVRP
Эксперимент проводился на известных тестовых наборах, представленных
на
сайте
Института
Болонии
(http://www.or.deis.unibo.it/research.html).
Сравнивались следующие алгоритмы: поиск с запретами Tabu Search [112], ACO
[113], Guided Tabu Search [114], а также алгоритм предложенный в данной работе.
В первом столбце представлено число заказчиков, в остальных столбцах –
значения целевой функции.
Таблица 4.9. Сравнение результатов работы алгоритмов для решения
задачи 3L-CVRP
nTabu search
ACO
Guided Tabu Search Combined
(Gendreau et (Fueller et al. (Zachariadis et al. Sweep-SH-BP
al. 2007b)
2009)
2009)
15
316.32
321.47
312.07
303.25
15
350.58
334.96
334.96
334.96
20
447.73
430.95
418.43
409.79
20
448.48
458.04
451.62
440.68
21
464.24
465.79
466.84
453.19
21
504.46
507.96
506.96
501.47
22
831.66
797.47
801.36
796.61
22
871.77
880.93
875.37
820.67
25
666.10
642.22
653.32
635.50
29
911.16
884.74
868.54
841.12
29
819.36
873.43
853.73
821.04
30
651.58
629.07
654.88
624.24
32
2928.34
2739.80
2799.74
2728.44
32
1559.64
1504.44
1501.74
1472.26
32
1452.34
1415.42
1417.62
1405.48
35
707.85
698.92
701.35
698.61
40
920.87
870.33
872.79
868.63
44
1400.52
1296.59
1284.67
1261.07
50
871.29
818.68
902.64
781.29
71
732.12
611.26
641.47
603.77
75
1275.20
1159.72
1174.75
1124.55
75
1277.94
1245.35
1207.65
1197.43
110
75
75
100
100
100
Вывод:
1258.16
1231.92
1259.12
1171.77
1307.09
1201.96
1196.89
1148.70
1570.72
1436.32
1457.46
1428.16
1847.95
1711.93
1783.34
1616.99
1747.52
1646.44
1751.92
1573.50
Из представленной таблице видно, что предложенный алгоритм
позволил получить рекордные значения для 4 тестовых примеров, для одного
примера удалось повторить рекордное значение.
4.6 Анализ эффективности работы программного обеспечения для
решения прикладных задач
Пример 1. Необходимо доставить емкости с однородным грузом из Уфы в
следующие города: Октябрьский, Лениногорск, Альметьевск, Набережные Челны,
Нефтекамск, Сарапул, Чайковский, Чернушка. Ниже приведена таблица с
рассматриваемыми видами емкостей с их характеристиками (Таблица 4.10,
Таблица 4.11).
Таблица 4.10. Список используемых емкостей параллелепипедной формы и
их характеристик
Тип емкости
Вес
Длина
Ширина
Высота
I
727
120
80
100
II
723
120
80
100
III
713
120
80
100
IV
1178
120
100
116
V
1172
120
100
116
VI
1176
120
100
116
VII
1190
120
100
116
VIII
21,9
5
28,5
22
41
IX
23,6
25
31,7
28,3
32
111
X
28,9
61
31,7
28,3
37,5
XI
34,1
25
32,5
28,3
43,3
Таблица 4.11. Список используемых емкостей цилиндрической формы и их
характеристик
Тип емкостей
Вес
Высота
Диаметр
XII
240,7
88,2
59,5
XIII 246,625
88,2
59,5
XIV
71,65
62,5
40
XV
55
60
38
XVI
71,65
65
40
XVII
131,55
80
45
XVIII
239,55
100
55
XIX
239,55
101
60
XX
247,95
97,8
58,1
XXI
246,75
93,5
58,1
XXII
230
84,5
59,4
XXIII
57
56,6
37,1
XXIV
57,1
56
38,6
XXV
113,9
68,6
44
XXVI
113,9
68,6
44
В Таблице 4.12. представлено распределение емкостей по городам
потребителей. В примере использовали ТС со следующими характеристиками:
грузоподъемность 17т., ширина ТС 2.3 м., длина 8м., высота 1.8м. Для проведения
погрузочно-разгрузочных работ применялись стандартные европоддоны с
112
размерами 800х1200x150 с максимальной разрешенной грузоподъемностью 1т. и
ручной гидравлический штабелер с грузоподъемностью 1.5 т. и высотой подъемы
1.6 м.
Таблица 4.12 Распределение емкостей по городам
Город
Тип емкости
Количество
емкостей
Октябрьский
I
2
III
2
X
33
Лениногорск
VIII
15
IX
20
X
10
Альметьевск
III
2
IX
5
XI
20
Набережные челны
IV
1
IX
25
XI
24
Нефтекамск
IX
1
XIII
7
XVIII
11
Сарапул
XII
8
XIII
3
XIX
9
XX
6
XXI
9
Чернушки
XII
2
XVII
6
XX
3
XXII
9
Для обслуживания потребителей понадобилось 2 автомашины, общая длина
маршрута составил 1530 км, ориентировочное время в пути 22 ч. 25 мин (Рисунок
4.3). Соответствующие маршруты: Уфа-Октябрьский-Лениногорск-АльметьевскНабережные Челны-Уфа и Уфа-Нефтекамск-Сарапул-Чернушка-Уфа. Пример
загрузки первой автомашины приведен на рисунке ниже (Рисунок 4.4).
113
Рис 4.3 Пример маршрутов доставки
Рис 4.4 Пример карты размещения предметов
114
Пример 2. Пример решения задачи для компании ООО «ИТ Парк». В
данном случае необходимо доставить грузы, которые не являются однородными,
по этой причине необходимо учитывать нагрузку на оси транспортных средств.
Использовались тягачи MAN 19322 (грузоподъемность 20 т.) с трехосными
полуприцепами Krone со следующими характеристисками: полная масса – 39 т.,
нагрузка на оси – 9 т., грузоподъемность – 31.55 т., собственная масса – 7.45 т.,
объем 92 м3, высота – 2.72 м., ширина – 2.5 м., длина 13.6 м. Необходимо было
осуществить
доставку
серверного
оборудования,
оборудования
для
автоматизированных рабочих мест (АРМ), источников бесперебойного питания,
сканирующего
оборудования
(включая
планарные
сканеры),
а
также
сопутствующие материалы – общее число объектов 4351. Использовались
европоддоны с размерами 800х1200х150 мм и разрешенной массой 1000 кг.
Упаковка осуществлялась ручными гидравлическими штабелерами Noblift SFH
1516 с грузоподъемностью 1500 кг., и высотой подъема 1.6 м. Необходимо было
осуществить доставку со склада в г. Новороссийск в следующие точки г.
Новороссийск (3 точки), г. Краснодар, г. Тихорецк, с. Абрау-Дюрсо, г. Каспийск,
поселок
Кирилловка.
В
результате
расчета
проведенного
прототипом
программного обеспечения было получено решение требующее 25 часов 11 минут
со стоимостью 32500 рублей. На расчет планов упаковки и маршрутов ушел 1 час
времени, предлагаемое решение состоит из четырех маршрутов: НовороссийскКирилловка-Каспийск
(13
часов
24
минуты),
Новороссийск(пригороды)-
Кирилловка-Абрау-Дюрсо (36 минут), Новороссийск-Тихорецк-Краснодар (6
часов 48 минут), Новороссийск-Краснодар (2 часа 26 минут). Первоначально
предлагаемое логистом решение стоило – 38 400 рублей, что на 18% дороже.
Вывод по четвертой главе
1. Разработано программное обеспечение для решения задачи оптимизации
доставки груза с учетом технологических ограничений по критерию минимума
цены аренды ТС.
методы:
В данном программном продукте реализованы следующие
115
a. эвристические методы (µ+µ)EA, (µ,λ)EA для размещения предметов
цилиндрической и параллелепипедной формы на поддоны
b. гиперэвристический алгоритм на основе алгоритма пчел для решения
задачи размещения поддонов в ТС
c. жадный алгоритм для решения задачи доставки поддонов с емкостями
потребителям
2. Проведенный численный эксперимент по оценке влияния параметров
алгоритма на целевую функцию показал:
a. не существует оптимальных параметров для всех классов задач,
эффективность тех или иных параметров зависит от вида задачи, ее размерности и
характеристики заготовок
b. не наблюдается прямого влияния времени работы алгоритма на
качество получаемых решений для решения задачи размещения прямоугольных и
круглых предметов. Решения, получаемые за 30 секунд соизмеримы с решениями,
полученными за 900 секунд.
c. для случая размещения предметов круглой формы качество решения
улучшалось при увеличении времени работы алгоритма от 30 до 900 секунд
3. В результате проведенного эксперимента на задаче размещения
предметов круглой формы было получено одно новое значение целевой функции,
при размещении предметов прямоугольной и круглой формы – три новых
значения целевой функции.
4. На основе проведенных экспериментов были сделаны следуюшие
выводы: для решения задачи размещения предметов на поддоны рационально
использовать эволюционные стратегии в сочетание с алгоритмов ABLP3D, для
размещения поддонов – гиперэвристический алгоритм на основе алгоритма
«пчел».
116
Заключение
В диссертационной работе представлено решение задачи оптимизации
доставки груза с учетом технологических ограничений по критерию минимума
цены аренды ТС. В ходе исследования и решения поставленной задачи получены
следующие результаты:
1. Проведен
анализ
существующих
технологий,
используемых
для
решения транспортной задачи, выделены базовые технологические ограничения и
сформулирована постановка задачи доставки груза потребителям с учетом
технологических ограничений.
2. Разработана математическая модель доставки груза различной формы с
учетом технологических ограничений, которая в отличие от известных работ,
позволяет учитывать размещение груза цилиндрической и параллелепипедной
формы, а также рациональные маршруты его доставки.
3. Разработаны методы и алгоритмы для решения доставки груза
потребителям с учетом его размещения внутри транспортного средства при
наличии технологических ограничений , а именно:
a. Разработан метод, на базе эволюционных стратегий (µ+λ) EA, (µ,
λ)EA и гиперэвристического алгоритма, основанного на алгоритме
«пчел», который, в отличие от известных, позволяет получать плотное
размещение емкостей различной геометрической формы внутри ТС с
учетом технологических ограничений и рационального маршрута
доставки.
b. Разработан алгоритм, который в отличие от известных позволяет
размещать груз цилиндрической и параллелепипедной формы внутри
транспортных средств (ТС) с учетом технологических ограничений.
4. Разработано программное обеспечение на основе предложенных
алгоритмов, которое позволяет получать решение задачи маршрутизации с учетом
размещения груза и требуемых технологических ограничений.
117
5. Проведена оценка эффективности предложенных методов и алгоритмов
с помощью численных экспериментов.
Численные эксперименты показали
эффективность предложенных методов. Для четырех тестовых наборов задачи
класса 3L-CVRP были получены новые рекордные значения. Выработаны
рекомендации по использованию предложенных алгоритмов для решения
практических задач.
118
Список литературы
1. Г.М. Костюнина Международный обмен товарами и услугами // Международные
экономические отношения. — Москва : Проспект, 2005. — 36-59 c.
2. Умный логист http://www.umniylogist.ru/poleznoe/handbook/201308081701135021.html
//
www.umniylogist.ru.
—
29
11
2014
r..
—
http://www.umniylogist.ru/poleznoe/handbook/20130808170113-5021.html.
3. Филиппов В.Н. Применение MathCad 2000 в решении экономических
задач: Учебное пособие.. — Уфа : УГНТУ, 2002.
4. Чернова Т.В. "Экономическая статистика" Учебное пособие.. — Таганрог
: ТРТУ, 1999.
5. Andre Langevin Diane Riopel Logistics Systems: Design and Optimization..
— New York : Springer, 2005. — 388 c.
6. Юсупова Н.И. Валеева А.Ф., Рассадникова Е.Ю., Кощеев И.С., Латыпов
И.М. Многокритериальная задача доставки грузов различным потребителям. //
Логистика и управление цепями поставок. — 2011. — Т. 5, 46. — C. 60-82.
7. Альбеков А.У. Федько В.П., Митько О.А Логистика коммерции. —
Ростов-на-Дону : Феникс, 2001. — 512 c.
8. Пиломатериалы http://www.ural-forest.ru/derevyannye-palety-evropalet.html
// http://www.ural-forest.ru/. — 04 11 2014 r.. — http://www.uralforest.ru/derevyannye-palety-evropalet.html.
9. TNT Holdings B.V. Упаковка грузов // http://www.tnt.com/. — 2011. — 03 05 2014 r.. —
http://www.tnt.com/express/ru_ru/site/home/support/paperwork_and_packaging/useful_packaging_tips/p
allets.html.
10. P. Toth D. Vigo The vehicle routing problem. — Philadelphia : SIAM
Monographs on Discrete Mathematics and Applications, 2002. — 363 c.
11. G. Laporte Y. Nobert, M. Desrochers Optimal routing under capacity and
distance restrictions // Operation Research. — 1985. — 33. — C. 1050-1073.
12. Doig A. H. Land and A. G. An automatic method of solving discrete
programming problems. — Econometrica, 1960. — Т. 28, 3.
13. Laporte G., Mercure, H., Nobert, Y. An exact algorithm for the asymmetrical
capacitated vehicle routing problem // Networks. — 1986. — 16. — C. 33-46.
119
14. M. M. Dessouky Q. Lu, J. Zhao, R. Leachman An Exact Solution Procedure
for Determining the Optimal Dispatching Times for Complex Rail Networks // IIE
Transactions. — 2006. — 38. — C. 141-152.
15. S. Ropke J.F. Cordeau Models and Branch-and-Cut Algorithms for Pickup
and Delivery Problems with Time Windows // Journal Networks. — 2007. — Т. 49, 4.
— C. 258-272.
16. S. Ropke J. F. Cordeau, G. Laporte Branch-and-Cut-and-Price for the Pickup
and Delivery Problem with Time Windows // Operations Research. — 2008. — Т. 43,
3. — C. 267-286.
17. R. Baldacci E. Bartolini, A. Mingozzi An Exact Algorithm for the Pickup and
Delivery Problem with Time Windows // Operations Research. — 2010. — Т. 59, 2. —
C. 414-426.
18. P. Venkateshan K. Mathur An efficient column-generation-based algorithm
for solving a pickup-and-delivery problem. // Computers & Operations Research. —
2011. — Т. 38, 12. — C. 1647-1655.
19. V. Mak A. T. Ernst New cutting-planes for the time and/or precedenceconstrained ATSP and directed VRP // Mathematical Methods of Operations Research.
— 2007. — 66. — C. 69-98.
20. Tavlaridis-Gyparakis K. A Cutting Plane Method for the Team Orienteering
Problem with Pickups, Deliveries, Time Windows and Capacity Constraints. — Chios, :
University of the Aegean School of Business Department of Financial & Management
Engineering , 2012. — 1-49 c.
21. Luke Sean Essentials of Metaheuristics. — 2009. — 15 01 2015 r.. —
http://cs.gmu.edu/~sean/book/metaheuristics/.
22. Osman I. Metastrategy simulated annealing and tabu search algorithms for the
vehicle routing problem // Annals of Operations Research. — 1993. — Т. 41, 4. — C.
421-451.
23. Gendreau M., Hertz, A., and Laporte, G A tabu search heuristic for the
vehicle routing problem // Management Science. — 1994. — Т. 40, 10. — C. 12761290.
24. Rego Cesar A Parallel Tabu Search Algorithm Using Ejection Chains for the
Vehicle Routing Problem // Meta-Heuristics. — 1196. — C. 661-675.
120
25. H. Sontrop P. van der Horn, M. Uetz Fast Ejection Chain Algorithms for
Vehicle Rounting with Time Windows // Hybrid Methaheuristics / авт. книги M.J.
Blesa C. Blum, A. Roli, M. Sampels. — Berlin : Springer-Verlag Berlin Heidelberg,
2005.
26. L. Moccia J.-F. Cordeau, G.Laporte An Incremental Tabu Search Heuristic
for the Generalized Vehicle Routing Problem with Time Windows // Journal of the
Operational Research Society. — 2012. — 63. — C. 232-244.
27. Ol. Bräysy M. Gendreau Tabu Search Heuristics for the Vehicle Routing
Problem with Time Windows. — Sociedad de Estadistica e Investigaci6n Operativa ,
2002. — Т. 10, 2.
28. Barricelli Nils Esempi numerici di processi di evoluzione // Methodos. —
1954. — C. 45-68.
29. W.Nurfahizul Ifwah. WA M. Shaiful, M.Z Shamsunarnie, Z.M Zainuddin, M.
Fuad Genetic Algorithm for Vehicle Routing Problem with Backhauls // Journal of
Science and Technology. — 2012. — Т. 4, 1. — C. 9-16.
30. M. Baker M.A. Ayechew A genetic algorithm for the vehicle routing problem
// Computers & Operations Research. — 2003. — Т. 30, 5. — C. 787–800.
31. Kawashima H. Kokubugata and H. Application of Simulated Annealing to
Routing Problems in City Logistics // Simulated Annealing / авт. книги Tan Cher
Ming. — Vienna : I-Tech Education and Publishing, 2008.
32. R. Bai E. K Burke, M. Gendreau, and G. Kendall In proceedings of the 3rd
Multidisciplinary International Conference on Scheduling : Theory and Applications
(MISTA 2007) // A Simulated Annealing Hyper-heuristic: Adaptive Heuristic Selection
for Different Vehicle Routing Problems. — Paris, 2007. — C. 67-700.
33. Colorni A. M. Dorigo & V. Maniezzo Proceedings of the First European
Conference on Artificial Life // Distributed Optimization by Ant Colonies. — Elsevier
Publishing, 1992. — C. 134-142.
34. J. E. Bella P. R. McMullen Ant colony optimization techniques for the vehicle
routing problem // Advanced Engineering Informatics. — 2004. — Т. 18. — C. 41-48.
35. P. Pellegrini D. Favaretto, E. Moretti Knowledge-Based Intelligent
Information and Engineering Systems // Multiple Ant Colony Optimization for a Rich
121
Vehicle Routing Problem: a Case Study. — Vietri sul Mare, 2007. — Т. 2. — C. 627634.
36. Y. Bin Y. Zhong-Zhena, Y. Baozhen An improved ant colony optimization
for vehicle routing problem // European Journal of Operational Research. — 2009. —
196. — C. 171-176.
37. Rechenberg Ingo Evolutionsstrategie: Optimierung technischer Systeme nach
Prinzipien der biologischen . — Stuttgart : Fromman-Holzbook, 1973. — 170 c.
38. В.И. Аварченков П.В. Казаков Эволюционное моделирование и его
применение. Монография. . — Москва : Флинта, 2011. — 200 c.
39. Yanzhi Li Yi Tao, Fan Wang A compromised large-scale neighborhood
search heuristic // European Journal of Operational Research. — 2009. — 199. — C.
553-560.
40. Gustavo H.A. Martins Robert F. Dell The minimum size instance of a Pallet
Loading. Problem equivalence class // European Journal of Operational Research. —
2007. — 179. — C. 17-26.
41. М.Р. Рихтер Алгоритм трассировки при проектировании СБИС //
Научно-технические ведомости СПбГПУ. — 2011. — Т. 5, 133. — C. 111–118.
42. В.В. Курейчик Д.В. Заруба, Д.Ю. Запорожец ИЕРАРХИЧЕСКИЙ
ПОДХОД ПРИ РАЗМЕЩЕНИИ КОМПОНЕНТОВ СБИС // Известия ЮФУ.
Технические науки. — 2014. — Т. 7, 156. — C. 75-83.
43. Мухачева Э.А. Рациональный раскрой промышленных материалов.
Примение в АСУ. — М. : Машиностроение, 1984. — 176 c.
44. N. Skorin-Kapov Routing and wavelength assignment in optical networks //
European Journal of Operational Research. — 2007. — 177. — C. 1167–1179.
45. Гэри М. Джонсон Д. Вычислительные машины и трудно решаемые
задачи.. — М. : Мир, 1982. — 416 c.
46. Скобцов Ю.А. К вопросу о применении метаэвристик в решении задач
рационального раскроя и упаковки // Вісник Хмельницького національного
університету. — 2008. — Т. 1, 4. — C. 205—217.
47. Мухачева Э.А. Валеева А.Ф., Картак В.М., Мухачева А.С. Модели и
методы решения задач ортогонального раскроя и упаковки: аналитический обзор
122
и новая технология блочных структур // Информационные технологии. — 2004.
— 5. — C. 31.
48. Канторович Л.В. Заллгаллер В.А. Расчет рационального раскроя
материалов. — Лениздат, 1951.
49. Э.А. Мухачева Дискретный анализ и исследование операций // Обзор и
перспективы развития комбинаторных методов решения задач раскроя и
упаковки. — Новосибирск, 2002. — C. 80-87.
50. Мухачева Э.А. Рубинштейн Г.Ш. Математическое программирование.
— Новосибирск : Наука СО, 1987. — 272 c.
51. И.В. Романовский Решение задачи гильотинного раскроя методом
переработки списка состояний // Кибернетика. — Кибернетика, 1969. — 1. — C.
102-104.
52. Gilmore P. Gomory R. The theory and computation of knapsack functions //
Operations Research. — 1966. — Т. 14. — C. 1045-1075.
53. Terno J. Lindeman R., Scheithauer G. Zuschnitprobleme und ihre praktische
Losung. — Leipzig, 1987.
54. Романовский И.В. Христова Н.П. Решение дискретных минимаксных
задач методом дихотомии // ЖВМ и МФ. — 1973. — Т. 13, 5. — C. 1200-1209.
55. С.В. Кацев Об одном классе дискретных минимаксных задач //
Кибернетика. — 1979. — Т. 5. — C. 139-141.
56. И.В. Романовский Алгоритмы решения экстремальных задач. — М. :
Наука, 1977. — 170 c.
57. Mukhacheva E.A. Belov G.N., Kartak V.M., Mukhacheva A.S. Linear onedimensional cutting-packing problems: numerical experiments with sequential value
correction method (SVC) and a modified branch-and-bound method (MBB) // Pesquisa
Operacional. — 2000. — Т. 20, 2. — C. 153-168.
58. Kallrath. J. Cutting circles and polygons from area-minimizing rectangles. //
Journal of Global Optimization. — 2009. — 43. — C. 299-328.
59. A. Lodi S. Martello, D. Vigo TSpack: A Unified Tabu Search Code for MultiDimenstional Bin Packing Problem // Annals of Operations Research. — Kluwer
Academic Pulishers, 2004. — Т. 131. — C. 203-213.
123
60. T.G. Crainic G. Perboli, R. Tadei TS2Pack: A two-level tabu search for the
three-dimensional bin packing problem // European Journal of Operational Research. —
2009. — C. 744-760.
61. Iyengar R.L. Rao и S.S. Bin-Packing by Simulated Annealing // Computers
Math. Applic.. — 1994. — Т. 27, 5. — C. 71-82.
62. Brusco M.J Thompson G.M, Jacobs L.W A morph-based simulated annealing
heuristic for a modified bin-packing problem // Journal of the Operational Research
Society. — 1997. — Т. 48, 4. — C. 433-439.
63. Валеева А.Ф. Сиразетдинова Т.Ю. Междунар. Уфимск. зимн. шк.- конф.
по математике и физике для студенов, аспирантов и молодых ученых //
Применение метаэвристики "иммитация отжига" для задачи гильотинного
прямоугольного раскроя. — Уфа, 2005. — C. 99.
64. Liu D. Teng H. An improved BL-algorithm for genetic algorithm of the
orthogonal packing of rectangles. // European Journal of Operation Research. . — 1999.
— 112. — C. 413-420.
65. Gehring H. Bortfeld A. A Genetic Algorithm for Solving the Container
Loading Problem. // International transactions in operational research.. — 1997. — Т. 4,
5/6. — C. 401-418.
66. Hifi M. M'Hallah R. A dynamic adaptive local search algorithm for the
circular packing problem // European Journal of Operational Research. — 2007. — 183.
— C. 1280-1294.
67. J. Levine F. Ducatelle Ant colony optimization and local search for bin
packing and cutting stock problems // Journal of the Operational Research Society. —
2004. — 55. — C. 705-716.
68. А.Ф. Валеева Применение метаэвристики муравьиной колонии к задачам
двухмерной упаковки // Информационные технологии.. — 2005. — 10. — C. 3643.
69. T. D. Lin C. C. Hsu, L. F. Hsu Optimization by Ant Colony Hybrid Local
Search for Online Class Constrained Bin Packing Problem // Applied Mechanics and
Materials. — 2013. — 311. — C. 123-128.
124
70. N. K. Singh S. Baidya A Novel Work for Bin Packing Problem by Ant
Colony Optimization // International Journal of Research in Engineering and
Technology. — 2013. — C. 71-73.
71. D. Pisinger Heuristics for the container loading problem // European Journal
of Operational Research.. — 2002. — 141. — C. 382-392.
72. Araya I. Neveu B., Riff M.C. An efficient hyperheuristic for strip-packing
problems // Studies in Computational Intelligence.. — 2008. — 136. — C. 61-76.
73. H. Terashima-Marín P. Ross, C. J. Farías-Zárate, E. López-Camacho, M.
Valenzuela-Rendón Generalized hyper-heuristics for solving 2D Regular and Irregular
Packing Problems // Annals of Operations Research. — 2010. — Т. 179, 1. — C. 369392.
74. E. K. Burke Q. Guo, G. Kendall Parallel Problem Solving from Nature, PPSN
XI // A Hyper-Heuristic Approach to Strip Packing Problems. — Kraków, 2010. — Т.
1. — C. 465-474.
75. H. Jiang S. Zhang, J. Xuan, Y. Wu Frequency Distribution Based HyperHeuristic for the Bin-Packing Problem. — Torino, 2011. — Т. 6622. — C. 118-129.
76. E. López-Camachoa H. Terashima-Marin, P. Ross, G. Ochoa A unified hyperheuristic framework for solving bin packing problems // Expert Systems with
Applications. — 2014. — Т. 41, 15. — C. 6876-6889.
77. Ross P. Hyper-heuristics // Search Methodologies / авт. книги E. K. Burke G.
Kendall. — 2014.
78. Stawowy A. Evolutionary based heuristic for bin packing problem //
Computers and Industrial Engineering. — 2008. — Т. 55, 2. — C. 465-474.
79. Lodi A. Martello S., Vigo D. Heuristic algorithms for the three-dimensional
bin packing problem // European Journal of Operational Research.. — 2002. — 141. —
C. 410-420.
80. Dousland K.A. Dousland W.B. Packing problems // European Journal of
Operational Research. — 1992. — 56. — C. 2-14.
81. Tarnowski T. Terno J., Scheithauer G. A polynomial time algorithm for the
guillotine pallet loading problem // INFOR. — 1994. — 32. — C. 275-287.
125
82. Валеев С.С. Валеева А.Ф. Метод динамического перебора и применение
нейросетей для задачи рационального использования ресурса // Международное
научное издание «Проблемы принятия решений в условиях неопределенности»..
— 1997. — C. 188-198.
83. А.Ф. Валеева Материалы конференции «Ресурсосберегающие
технологии и математическое обеспечение оптимизационных задач в системах
автоматизированного проектирования» (ОПТИМ-2001). // Метод динамического
перебора для решения задач упаковки. — 2001. — C. 29-32.
84. Как рассчитать нагрузки на оси грузового автопоезда? //
Международные перевозки. — 12 02 2015 r.. — http://www.vdnk.ru/site/ru/transportarticles/mechanics-freight.
85. Мухачева А.С. Чиглинцев А.В. Смагин М.А. Мухачева Э.А. Задачи
двумерной упаковки: развитие генетических алгоритмов на базе смешанных
процедур локального поиска оптимального решения // Информационные
технологии. — 2001. — 9. — C. 5-14.
86. Liu D. Teng H. An improved BL-algorithm for genetic algorithm of the
orthogonal packing of rectangles. // European Journal of Operation Research.. — 1999.
— 112. — C. 413-420.
87. Hopper E. Turtun B. An empirical investigation of meta-heuristic and
heuristic algorithms for a 2D packing problem // European Journal of Operational
Research. — 2001. — 128. — C. 34-57.
88. И.П.. Норенков Эвристики и их комбинации в генетических методах
дискретной оптимизации. // Информационные технологии.. — 1999. — 1. — C. 27.
89. Sakanushi K. Kajitani Y. IEEE Asia Pasific Conference on Circuits and
systems // The Quarter-State (Q-sequence) to Represent the Floorplan and Applications
to Layout optimization. — 2000. — C. 829-832.
90. Imahori S. Yaguira M., Ibaraki T. MIC’2001 – 4th Metaheuristics
International conference. // Local Search Heuristics for the Rectangle Packing Problem
With General Spatial Costs. — 2001. — C. 471-476.
91. Кластер // Википедия. — 2014. — 17 01 2015 r.. —
https://ru.wikipedia.org/wiki/%D0%9A%D0%BB%D0%B0%D1%81%D1%82%D0%
B5%D1%80.
126
92. G. Gutin A. Yeo Polynomial approximation algorithms for the TSP and QAP
with a factorial domination number. // Discrete Applied Mathematics. — 2002. — 119.
— C. 107-116.
93. Hopper Eva Two-dimensional Packing utilising Evolutionary Algorithms and
other Meta-Heuristic Methods. — Cardiff : Cardiff School of Engineering, 2000. — 73
c.
94. P. Adamidis C. Voliotis, E. Pliatsika An evolutionary algorithm for a real
vehicle routing problem // Int. Journal of Business Science and Applied Management.
— 20212. — Т. 3, 7. — C. 33-41.
95. B. Crawford C. Lagos, C. Castro, F. Paredes Ninth International Conference
on Enterprise Information Systems // A Evolutionary Approach to Solve Set Covering..
— Madeira, 2007. — Т. AIDSS.
96. D. Karaboga ―An idea based on honey bee swarm for numerical optimization"
/ Engeneering Faculty Computer Engineering Department ; Erciyes University. —
2005.
97. Pham D.T. Ghanbarzadeh A., Koc E., Otri S., Rahim S., Zaidi M. ―The Bees
Algorithm‖ / Manufacturing Engeneering Centre ; Cardiff University. — Cardiff , 2005.
98. Pham D.T. Ghanbarzadeh A., Koc E., Otri S., Rahim S., Zaidi M. The Bees
Algorithm – A Novel Tool for Complex Optimization Problems / Manufacturing
Engeneering Centre ; Cardiff University. — Cardiff , 2006. — 454-459 c.
99. Pham D.T. Castellani M. The Bees Algorithm – Modelling Foraging
Behaviour to Solve Continuous Optimisation Problems. // Proceedings of the Institution
of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science. — 2009.
— Т. 223. — C. 2919-2938.
100. Tereshko V. Loengarov A. Collective Decision-Making in Honey Bee
Foraging Dynamics // Journal of Computing and Information Systems. — 2005. — Т. 9,
3. — C. 1-7.
101. Riley J., Greggers U., Smith A., Reynolds D., Menzel R. The flight paths of
honeybees recruited by the waggle dance // Nature. — 2005. — Т. 435, 7039. — C.
205-207.
102. Seeley T.D. Visscher P.K., Passino K.M. Group decision making in honey
bee swarms // American Scientist. — 2006. — 94. — C. 220-229.
127
103. Frisch Karl von. The Dance Language and Orientation of Bees / Cambridge.
— Cambridge, 1967.
104. Tereshko V. Loengarov A. Collective Decision-Making in Honey Bee
Foraging Dynamics // Journal of Computing and Information Systems. — 2005. — Т. 9,
3. — C. 1-7.
105. Stoyan Y.G. Yaskov G.N. Mathematical model and solution of optimization
problem of placement of rectangles and circles taking into account special constraints //
International Transaction in Operational Research. — 1998. — Т. 5, 1. — C. 45-57.
106. Huang W. Q. Li Y., Aked H., Li. C. M. Greedy algorithms for packing
unequal circles into a rectangular container // European Journal of Operational
Research. — 2005. — 56. — C. 539-548.
107. А.С. Руднев Вероятностный поиск с запретами для задачи упаковки
кругов и прямоугольников в полосу. // Дискретный анализ и исследование
операций.. — 2009. — Т. 16, 4. — C. 61-86.
108. Н. И. Юсупова А. Ф. Валеева, Р. И. Файзрахманов Вероятностный
алгоритм муравьиной колонии для решения задач раскроя промышленных
материалов на заготовки различных геометрических форм // Информационные
технологии. — 2012. — 5. — C. 35-42.
109. A. Lim B. Rodrigues, Y. Yang 3D Container Packing Heuristics // Applied
Intelligence. — 2005. — Т. 22, 2. — C. 125-134.
110. Liang S. Lee C., Huang S. A Hybrid Meta-heuristic for the Container
Loading Problem // Communications of the IIMA. — 2007. — Т. 7, 4. — C. 73-84.
111. N. Nepomuceno P. Pinheiro, A. L.V. Coelho Tackling the Container
Loading Problem: A Hybrid Approach Based on Integer Linear Programming and
Genetic Algorithms. // Evolutionary Computation in Combinatorial Optimization. —
2007. — 4446. — C. 154-165.
112. Gendreau M Iori M, Laporte G, Martello S A tabu search heuristic for the
vehicle routing problem with two-dimensional loading constraints. // Networks. —
2007. — 51. — C. 4-18.
113. Fuellerer G Doerner K, Hartl R, Iori M Ant colony optimization for the twodimensional loading vehicle routing problem. // Computers & Operations Research. —
2009. — 36. — C. 655-673.
128
114. Zachariadis EE Tarantilis CD, Kiranoudis CT A guided tabu search for the
vehicle routing problem with two-dimensional loading constraints. // European Journal
of Operational Research. — 2009. — 195. — C. 729-743.
115. Демин В.А. Логистика // ec-logistics.ru. — 2013. — 03 май 2014 r.. —
http://www.ec-logistics.ru/logistika.htm.
116. R.Z. Farahani S.Rezapour, L.Kardar Logistics Operations and Management:
Concepts and Models.. — Waltham : Elsevier, 2011.
117. Ланкина В.Е. Маркетинг. Учебное пособие для подготовки к итоговому
междисциплинарному экзамену профессиональной подготовки маркетолога.. —
Таганрог : ТРТУ, 2006.
118. Пирожков В. Подъѐмно-транспортная техника для склада.
Терминология, конструкция, применение // http://www.sitmag.ru/. — 2004. —
http://www.sitmag.ru/article/azbuka/2004_12_A_2005_02_22-12_29_22/.
119. wikipedia Штабелер // http://ru.wikipedia.org/. — 2014. —
http://ru.wikipedia.org/wiki/%D0%A8%D1%82%D0%B0%D0%B1%D0%B5%D0%B
B%D1%91%D1%80.
120. Gerhard Wascher Heike Haußner, Holger Schumann An improved typology
of cutting and packing problems // European Journal of Operational Research. — 2007.
— 183. — C. 2109-2130.
121. Ю.А. Скобцов К вопросу о применении метаэвристик в решении задач
рационального раскроя и упаковки // Вісник Хмельницького національного
університету. — 2008. — Т. 1, 4. — C. 205—217.
122. Mhand Hifi Rym M'Hallah A Literature Review on Circle and Sphere
Packing Problems: Models and Methodologies // Adv. Operations Research. — 2009.
— C. 1-23.
123. G.B. Dantzig J.H. Ramser The truck dispatching problem // Management
Science. — 1959. — 6. — C. 80-91.
124. G. Clark J.V. Wright Scheduling of vehicles from a central depot to a
number of delivery points // Operations Research. — 1964. — 12. — C. 568-581.
125. J.K. Lenstra A.H.G. Rinnooy Kan Complexity of vehicle and scheduling
problems // Networks. — 1981. — Т. 11, 2. — C. 221-227.
129
126. P. Toth D. Vigo A heuristic algorithm for the symmetric and asymmetric
vehicle routing problems with backhauls // European Journal of Operational Research.
— 1999. — 113. — C. 528-543.
127. A. Hoff I. Gribkovskaia, G. Laporte, A. Lokketangen Lasso solution
strategies for the vehicle routing problem with pickups and deliveries // European
Journal of Operational Research. — 2007. — Т. 192, 3. — C. 755-766.
128. Laporte G. The vehicle routing problem: an overview of exact and
approximate algorithms // European Journal of Operational Research. — 1992. — 59.
— C. 345-358.
129. G.F. Cordeau G. Laporte, A. Mercier A unified Tabu search heuristic for
vehicle routing problems with time windows // Journal of the Operational Research
Society. — 2001. — 52. — C. 928-936.
130. Desrosiers J., Soumis, F., and Desrochers, M. Routing with time windows by
column generation // Networks. — 1984. — 14. — C. 545-565.
131. M. Reimann M. Stummer, K. Doener Proceedings of the Genetic and
Evolutionary Computation Conference // A Savings Based Ant System For The Vehicle
Routing Problem. — 2002. — Т. 1. — C. 1317-1326.
132. L. de CT Gomes F.J. Von Zuben Proceedings of the 2002 International Joint
Conference // A neuro-fuzzy approach to the capacitated vehicle routing problem . —
Sao Paulo, 2002. — Т. 2. — C. 1930 - 1935.
133. M. Polacek R.F. Hartl, K.F. Doerner, M. Reimann A variable neighborhood
search for the multi depot vehicle routing problem with time windows // Journal of
Heuristics. — 2004. — 10. — C. 613-627.
134. Halse K. Modeling and Solving Complex Vehicle Routing Problems. —
Lyngby : Institute of Mathematical Modelling, Technical University of Denmark, 1992.
135. Golden B.L. Assad A.A. Perspectives on Vehicle Routing: Exciting New
Developments. // Operations Research. — 1986. — 34. — C. 803-809.
136. Desrochers M. Lenstra J.K., Savelsbergh M.W.P., Soumis F. Vehicle
Routing with Time Windows: Optimization and Approximation. // Vehicle Routing:
Methods and Studies. — 1988. — C. 65-84.
130
137. Desrosiers J. Dumas Y., Solomon M.M., Soumis F. Handbooks in
Operations Research and Management Science 8: Network Routing.. — Elsevier
Science Publishers, 1995. — 35-139 c.
138. W.B. Carlton A Tabu Search Approach to the General Vehicle Routing
Problem.. — Austin : University of Texas, 1995. — Т. Ph.D. Thesis.
139. Gehring H. Homberger J. Proceedings of EUROGEN99 // A Parallel Hybrid
Evolutionary Metaheuristic for the Vehicle Routing Problem with Time Windows.. —
Jyväskylä, 1999. — Т. 2. — C. 57-64.
140. Duhamel C. Potvin J.-Y., Rousseau J.-M. A Tabu Search Heuristic for the
Vehicle Routing Problem with Backhauls and Time Windows. // Transportation
Science. — 1997. — 31. — C. 49-59.
141. Garcia B.-L. Potvin J.-Y. and Rousseau J.-M. A Parallel Implementation of
the Tabu Search Heuristic for Vehicle Routing Problems with Time Window
Constraints. // Computers and Operations Research. — 1994. — 21. — C. 1025-1033.
142. Rochat Y. Taillard E. Probabilistic Diversification and Intensification in
Local Search for Vehicle Routing. // Journal of Heuristics. — 1995. — 1. — C. 147167.
143. Gambardella L.M. Taillard E., Agazzi G. MACS-VRPTW: A Multiple Ant
Colony System for Vehicle Routing Problems with Time Windows. // New Ideas in
Optimization / авт. книги Corne D. Dorigo M., Clover F.. — McGraw-Hill, 1999.
144. Braysy O. Gendreau M. Genetic Algorithms for the Vehicle Routing
Problem with Time Windows / Department of Optimization ; SINTEF Applied
Mathematics. — Norway, 2001.
145. Yano C.A. T.J. Chan, L. Rechter, T. Culter, K.G. Murty, D. McGettigan
Vehicle Routing at Quality Stores // Intefaces. — 1987. — Т. 17, 2. — C. 52-63.
146. Brandão José A new tabu search algorithm for the vehicle routing problem
with backhauls // European Journal of Operational Research. — 2006. — Т. 173, 2. —
C. 540-555.
147. H. Hernández-Pérez J.-J. Salazar-González The One-Commodity Pickupand-Delivery Travelling Salesman Problem // Lecture Notes in Computer Science. —
2003. — Т. 2570. — C. 89-104.
131
148. I. Gribkovskaia A. Halskau, K. N. B. Myklebost NOFOMA2001 // Models
for the pick-up and deliveries from depots with lasso solutions. — Gothenburg, 2001.
— C. 279-293.
149. S. Mitrovic-Miniс G. Laporte, The pickup and delivery problem with time
windows and transshipment // INFOR. — 2006. — Т. 44. — C. 217-227.
150. K. F. Doerner G. Fuellerer, R. F. Hartl, M. Gronalt, M. Iori Metaheuristics
for the vehicle routing problem with loading constraints. // Networks. — 2007. — Т. 49,
4. — C. 294-307.
151. M. Gendreau M. Iori, G. Laporte, S. Martello A tabu search heuristic for the
vehicle routing problem with two-dimensional loading constraints. // Networks. —
2008. — Т. 51, 1. — C. 4-18.
152. C. Duhamel P. Lacomme, A. Quilliot, H. Toussaint A multi-start
evolutionary local search for the two-dimensional loading capacitated vehicle routing
problem. // Computers & Operations Research. — 2011. — Т. 38, 3. — C. 617-640.
153. G. Fuellerer K. F. Doerner, R. F. Hartl, M. Iori Ant colony optimization for
the two-dimensional loading vehicle routing problem. // Computers & Operations
Research. — 2009. — Т. 36, 3. — C. 655-673.
154. S. C. Leung X. Zhou, D. Zhang, J. Zheng Extended guided tabu search and a
new packing algorithm for the two-dimensional loading vehicle routing problem. //
Computers & Operations Research. — 2011. — Т. 38, 1. — C. 205-215.
155. E. E. Zachariadis C. D. Tarantilis, C. T. Kiranoudis A guided tabu search for
the vehicle routing problem with two-dimensional loading constraints. // European
Journal of Operational Research. — 2009. — Т. 195, 3. — C. 729-743.
156. M. Gendreau M. Iori, G. Laporte, S. Martello A tabu search algorithm for a
routing and container loading problem. // Transportation Science. — 2006. — Т. 40, 3.
— C. 342-350.
157. G. Fuellerer K. F. Doerner, R. F. Hartl, M. Iori Metaheuristics for vehicle
routing problems with three-dimensional loading constraints. // European Journal of
Operational Research. — 2010. — Т. 201, 3. — C. 751-759.
158. A. Moura J. F. Oliveira An integrated approach to the vehicle routing and
container loading problems. // OR Spectrum. — 2009. — Т. 31, 4. — C. 775-800.
132
159. C. D. Tarantilis E. E. Zachariadis, C. T. Kiranoudis, A hybrid metaheuristic
algorithm for the integrated vehicle routing and three-dimensional containerloading
problem. // IEEE Transactions on Intelligent Transportation Systems. — 2009. — Т. 10,
2. — C. 255-271.
160. Gilmore P.C. Gomory R.E. A Linear Programming Approach to the Cuttingstock Problem // Operations Research. — 1961. — Т. 9. — C. 849-859.
161. Гэри М. Джонсон Д. Вычислительные машины и трудно решаемые
задачи.. — М. : Мир, 1982. — 416 c.
162. Yu. Stoyan A. Chugay Packing cylinders and rectangular parallelepipeds
with distances between them // European Journal of Operational Research. — 2009. —
197. — C. 446-455.
163. F. Glover Tabu search and adaptive memory programming advances,
applications and challenges. // Interfaces in Computer Science and Operations
Research.. — 1997. — 7. — C. 1-75.
164. R. Hifi M. M'Hallah A hybrid algorithm for the two-dimensional layout
problem: the cases of regular and irregular shapes. // International Transaction in
Operational Reserch.. — 2003. — C. 195-216.
165. I.Rechenberg Evolutionstrategie: Optemierung technisher systeme nach
Prinzipien der biologischen Evolution. — Stuttgard : Fromman-Holzbook, 1973.
166. Muntean O. Knowledge engineering : principles and techniques // An
evolutionary approach for the 3D Packing Problem. — Cluj-Napoca (Romania), 2007.
— C. 193-200.
167. Wren A. Computers in Transport Planning and Operation. — London : Ian
Allan, 1971. — 152 c.
168. A.Wren A. Holliday Computer scheduling of vehicles from one or more
depots to a number of delivery points // Operational Research Quarterly. — 1972. — Т.
23, 1. — C. 333-334.
169. B. Gillet L.Millerr A heuristic algorithm for the vehicle dispatch problem //
Operations Research. — 1974. — Т. 22, 1. — C. 240-349.
170. S. Han Y.Tabata A Hybrid Genetic Algorithm for the Vehicle Routing
Problem with Controlling Lethal Gene // Asia Pacific Management Review. — 2002. —
Т. 7, 3. — C. 405-426.
133
171. Suthikarnnarunai N. International MultiConference of Engineers &
Computer Scientists // A Sweep Algorithm for the Mix Fleet Vehicle Routing Problem.
— Hong Kong, 2008. — Т. 1. — C. 1914-1919.
172. J. Renaud F.F. Boctor A sweep-based algorithm for the fleet size and mix
vehicle routing problem // European Journal of Operational Research. — 2002. — Т.
140, 3. — C. 618-628.
173. K.Shin S. Han A CENTROID-BASED HEURISTIC ALGORITHM FOR
THE CAPACITATED VEHICLE ROUTING PROBLEM // Computing and
Informatics,. — 2011. — Т. 30. — C. 721-732.
174. M. Gendreau A. Hertz, G. Laporte A Tabu Search Heuristic for the Vehicle
Routing Problem // Management Science. — 1994. — Т. 40, 10. — C. 1276-1290.
175. W.-C. Chiang R. Russel Simulated annealing metaheuristics for the vehicle
routing problem with time windows // Annals of Operations Research. — 1996. — 63.
— C. 3-27.
176. D.S. Johnson L.A. McGeoch Local search in combinatorial optimization. —
John Wiley & Sons, 1999. — 528 c.
177. G. Gutin A. Yeo The Greedy Algorithm for the Symmetric TSP. //
Algorithmic Operation Research. — 2007. — 2. — C. 33-36.
178. Pham D.T. Castellani M. Benchmarking and Comparison of Nature-Inspired
Population-Based Continuous Optimisation Algorithms // Soft Computing. — 2013. —
Т. 18, 5. — C. 1-33.
179. D. Pisinger Heuristics for the container loading problem // European Journal
of Operational Research. — 2002. — 141. — C. 382-392.
180. Борисовский П.А. Еремеев А.В. О сравнении некоторых эволюционных
алгоритмов // Автоматика и телемеханика.. — 2004. — 3. — C. 3-9.
Download