ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ В РЕШЕНИИ ЗАДАЧ ОПТИМИЗАЦИИ СКЛАДСКОЙ ЛОГИСТИКИ Котов Федор Андреевич студент, МГТУ им. Н.Э. Баумана, Россия, г. Москва Преображенская Владлена Витальевна канд. экон. наук, старший преподаватель, МГТУ им. Н.Э. Баумана, Россия, г. Москва GENETIC ALGORITHMS APPLICATION IN THE SOLUTION OF THE WAREHOUSE LOGISTICS OPTIMIZATION Fedor Kotov student, BMSTU, Russia, Moscow Vladlena Preobrazhenskaia candidate of economic sciences, assistant Professor, BMSTU, Russia, Moscow АННОТАЦИЯ В статье рассмотрены и описаны теоретические аспекты эволюционного моделирования и актуальность прикладного применения генетических алгоритмов в рамках задач оптимизации. Проведен анализ способов поиска оптимального решения в задаче оптимизации технологических процессов и складского пространства. Сделан вывод о том, что использование методов генетических алгоритмов затрагивает различные области финансовой, хозяйственной и инженерной деятельности, имеет ряд преимуществ по сравнению с традиционными решениями задач оптимизации. ABSTRACT The article discusses and describes the theoretical aspects of evolutionary modeling and the genetic algorithms application relevance in the optimization problems framework. The ways analysis to find the optimal solution to the optimizing technological processes and warehouse space problem is carried out. It is concluded that the use of genetic algorithm methods affects various areas of financial, economic and engineering activities, and has a number of advantages over traditional solutions to optimization problems. Ключевые слова: логистика, генетические алгоритмы, оптимизация, планировка склада, комплектование заказа. Keywords: logistics, genetic algorithm, optimization, labor costs, warehouse layout, picking. В настоящий момент генетические алгоритмы являются перспективной и стремительно развивающейся областью анализа и обработки структур данных, связанных с вопросами поиска решений и оптимизации. Спектр применения генетических алгоритмов весьма обширен. Эволюционные методы применяются в решении прикладных экономических задач в областях бизнеса, логистики, инженерных исследований. Использование генетических алгоритмов на практике позволяет сокращать трудовые издержки, а также способствует внедрению новых технологических решений. Данные средства применяются при исследованиях рынков ценных бумаг и аналитике биржевой деятельности. Находясь в одном ряду с иными методами эволюционных вычислений, генетические алгоритмы могут использоваться при оценке диапазона параметров многокритериальных моделей, для решения задач комбинаторики, для оптимизации моделей, включающих одновременно непрерывные и дискретные параметры. С другой стороны – широкое применение найдено в системах получения статистики и анализа разно форматных баз данных, процесс создания и обучения технологичных нейронных сетей, исследование переменных задач многомерной статистики, обработки вводных параметров при работе алгоритмов оптимизации. Одним из основных направлений прикладного применения генетических алгоритмов являются задачи оптимизации различных видов деятельности, технологических процессов и хозяйственных структур. Также существуют традиционные методы оптимизации, которые можно разделить на три группы: 1. Методы, основанные на математических вычислениях – как правило, справляются с поиском локальных экстремумов целевой функции, в то время как, оптимальным решением является глобальный экстремум; 2. Перечислительные методы – при увеличении параметров пространства начальных условий количество дискретных точек области поиска решений существенно растет, что в свою очередь приводит к увеличению временных затрат; 3. Случайные или статистические методы поиска – отсутствие гарантии нахождения оптимального решения при переборе области параметров задачи с сохранением лучшего в данный момент результата. Алгоритмы эволюционного моделирования относительно традиционных методов оптимизации способны получать оптимальные (наилучшие из существующих в пространстве задачи) решения в течение рационального (соответствующего сложности задачи) количества времени. Также отличительной особенностью данных методов является возможность решения многокритериальных задач или задач, параметры которых не имеют численного значения. Генетические алгоритмы являются составной частью методов эволюционного моделирования, цель которых – поиск оптимального решения в результате наследования необходимых свойств объектов определенного множества в процессе их искусственной эволюции. Если рассматривать генетические алгоритмы как инструмент поиска решений оптимизационных задач следует выделить следующие аспекты: 1. Оценка ситуации: обозначение цели и факторов, влияющих на ее достижение; 2. Интерпретация ситуации: постановка задачи, определение целевой функции, аргументов и их ограничений; 3. Создание области поиска: формирование всех возможных вариаций аргументов целевой функции; 4. Поиск решения: нахождение комбинации, обеспечивающей экстремум целевой функции согласно области ограничений. Генетические алгоритмы оперируют набором данных, которые функционально зависят от целевых аргументов. Расшифровка связей и их интерпретация происходят после прогона алгоритма для анализа полученных результатов. В пространстве поиска решений ГА выбирает группу точек, а не последовательно перемещается между ними, таким образом, нивелируется возможность попадания в локальный экстремум, при условии, что целевая функция обладает не одним таким экстремумом. Значительно уменьшается время прохождения алгоритма, так как во время работы не применяется второстепенная информация. Основой применения ГА является нахождение решений задач при помощи имитации эволюции группы объектов ради передачи и увеличения необходимых свойств при заданных условиях. Параметры, отражающие необходимые характеристики объектов, представлены в виде определенной записи, которая в методах эволюционного моделирования называется хромосомой. Множества хромосом, участвующих в генетических алгоритмах называются популяцией. «Имитация генетических принципов — вероятностный выбор родителей среди членов популяции, скрещивание их хромосом, отбор потомков для включения в новые поколения объектов на основе оценки целевой функции — ведет к эволюционному улучшению значений целевой функции (функции полезности) от поколения к поколению. Любой конкретный экземпляр хромосомы называют генотипом, а множество значений характеризующих хромосому критериев – фенотипом» [1, с. 19]. Исходя из этого, поиск хромосомы со значением целевой функции стремящимся приблизиться к ее экстремуму – основная цель прохождения алгоритма. ГА воспроизводят процесс эволюции, в рамках которого, начиная с исходного поколения, идет стремление к достижению лучшего результата набора хромосом. Внутренний цикл формирует новые поколения, внешний производит их смену. В результате прохождения алгоритма внешнего цикла появляется новое поколение, которое характеризуется качеством хромосомы с оптимальным значением целевой функции. Возможно возникновение стагнации, при котором приближение к экстремуму замедляет скорость улучшения значений целевой функции, а также при удалении от экстремума значения могут вовсе перестать улучшаться. Отсутствие разнообразия передаваемого материала приводит к вырождению популяции. Если происходит вырождение нескольких поколений, значение функции полезности перестает улучшаться, либо время решения задачи, исходя из условий, заканчивается, то поиск оптимального результата заканчивается. Последовательность выполнения операторов в рамках прохождения генетического алгоритма: выбор исходного поколения, кроссовер (скрещивание), мутация, появление нового поколения. В результате скрещивания генов родителей появляются новые экземпляры хромосом, пара родителей из популяции выбирается случайно среди особей поколения. Но на данный выбор влияет значение целевой функции родителей: чем данное значение ближе к оптимальному, тем выше вероятность выбора данных особей для скрещивания. Для нахождения всех возможных комбинаций экземпляров хромосом происходит оператор мутации. Решение не сможет выйти за пределы значений генов в исходной популяции без мутации хромосом. «Формирование нового поколения (селекция) - это отбор членов нового поколения среди потомков, полученных в результате кроссовера и мутаций в данном поколении. В базовом ГА в новое поколение включается лучший из двух потомков, порожденных после кроссовера. Внутренний цикл заканчивается, когда окажется сформированным новое поколение» [1, с. 21]. Далее на рис.1 представлен алгоритм работы генетического метода. Рисунок 1. Последовательность работы типового ГА Основными типами задач, решаемыми при помощи генетических алгоритмов являются: 1. Компоновка: распределение рабочих операций по исполнителям, товара по адресам хранения, баз данных или виртуального товаропотока по сетям программного комплекса; 2. Кластеризация: один из видов компоновки, при котором вместо ограничения неравенства на объем внутренних для кластера (блока) связей вводится ограничение равенства на число элементов (компонентов) в кластере. 3. Синтез расписаний: технологических планирование операций, персонала, распределение структуры внутреннего товаропотока, ресурсов и программных мощностей; 4. Маршрутизация: поиск оптимальных компонент расстояния, времени и издержек в структурах организации маршрутов транспортных средств, сотрудников, потоков товаров и информации. Метод использования ГА в решении задачи оптимизации складской маршрутизации Основные складские операции – приемка товара, размещение на адресах складирования, хранение, комплектование заказа и отгрузка. Каждая из этих операций состоит из множества небольших задач. В настоящее время, когда требуются достижение максимальной эффективности при минимальных издержках очень важно, чтобы каждая из этих операций была реализована на очень высоком уровне. «Сбор (комплектование) заказа является наиболее дорогостоящим процессом из всех других, он составляет около 55% эксплуатационных расходов склада и состоит из: прохождения маршрута (55%), поиска необходимого товара (15%), непосредственный подбор (10%) и документооборот (подтверждение внутрискладского перемещения товара путем формирования электронных или бумажных документов) (20%)» [2]. Это является причиной, по которой компании пытаются снизить затраты на комплектование заказа. Существуют несколько вариантов достижения данной цели. Наиболее тривиальным способом является снижение трудозатрат и оптимизация рабочих смен. Этот подход осуществим только пока есть ресурс для сокращения трудовых издержек, иногда невозможно снизить трудозатраты из-за того, что компанииконкуренты могут предоставлять сотрудникам более высокую заработную плату, и рабочая сила переходит к конкурентам. Еще один способ увеличить эффективность подбора заключается в построении рабочего процесса таким образом, чтобы комплектовщики могли собирать за один подход большее количество заказов, тем самым увеличивать внутрискладской поток товаров. Время выбора заказа или списка выбора можно разделить на три составляющие: время, необходимое для преодоления расстояния между адресами хранения товара, временем для выбора предметов и временем для оставшихся действий. «Тот факт, что около 50% общего времени сбора заказов тратится на прохождение расстояния между адресамb имеет потенциал для улучшения эффективности сбора заказов за счет сокращения пройденного пути» [3]. Процесс выбора хаотичен, и иногда сборщик вынужден вернуться назад или в противоположный конец склада, чтобы забрать товар. Такое поведение при выборе может произойти по нескольким причинам. Последовательность сбора товара или маршрут выбора адресов не оптимизированы. Даже система WMS будет вынуждена оптимизировать последовательность, исходя из времени подбора, можно провести оптимизацию путем сокращения общего расстояния захвата. Это может быть достигнуто путем размещения некоторых адресов хранения (самых популярных товаров) ближе к док-зоне, для более быстрого сбора товаров необходимо размещать места хранения таким образом, чтобы минимизировать поездки сборщиков и пройденные расстояния путем оптимизации последовательности выбора и перераспределения адресов. Чтобы найти оптимальное место для адресов хранения предлагается использовать генетический алгоритм. Развитые ГА показали хорошую производительность, эффективно определяющую планировку склада. Начальная популяция состоит из 100 случайно сгенерированных особей (хромосом). Каждый хромосома случайным образом заполнена n элементами, и каждый ген уникален (кодирование перестановки), так как не нужно иметь дубликаты мест для сбора товара. Пригодность каждой хромосомы рассчитывается как сумма максимального расстояния сбора для каждого заказа. Все расстояния выбора заказа рассчитывается от 0 до самого дальнего пункта получения товара, где расстояние - это позиция элемента в хромосоме. Единицами измерения расстояния является целочисленное значение, которое для первого элемент равно 1, второго - 2 и т. д., увеличиваясь на 1 от одного артикула к другому. Хромосомы функции полезности рассчитывается по формуле (1). 𝑓(𝐶𝑥 ) = ∑ 𝑂𝑘 𝑑𝑚𝑎𝑥 (𝐼) (1) где: 𝑂𝑘 − порядок из набора {1,2 ... k}; 𝑑𝑚𝑎𝑥 (𝐼) − расстояние до самого дальнего адреса подбора заказа. Операция выбора выполняется на основе значения функции полезности для каждой хромосомы, тем самым особи с подходящими критериями отбора учувствовали в кроссовере и затем давали следующие поколения. Поскольку требуется минимизировать f, было отобрано только 30% особей, у которых f стремится к минимуму для кроссовера. Вероятность участия в кроссовере выше для лучших из лучших. Кроссовер и мутация Процесс начинается с выбора двух точек кроссовера. Копируется последовательность элементов перестановки между точками пересечения из разреза непосредственно на потомков, помещая их в одно и то же абсолютное положение. Для заполнения остальной части хромосомы применяется скользящее движение. Принцип кроссовера на примере 10 генов представлен на рис. 2 . Отбор и кроссовер - это эволюционные операции, которые шаг за шагом улучшают следующую популяцию, но есть третья операция, которая может резко изменить физическую форму хромосомы - мутация. Для мутирования необходимо использовать 5% каждой новой популяции, так как эта операция может изменить пригодность хромосом в лучшую или худшую сторону, но тем не менее, создается новое решение для популяции, чтобы предотвратить остановку алгоритма в локальном экстремуме. Рисунок 2. Пример кроссовера Результаты моделирования ГА В качестве входных параметров для ГА было использовано 974 уникальных товара из 8802 заказов с 117447 строками заказов. Начальная популяция составляла 100 хромосом. После 100 итераций, в случае среднего значения функции полезности результат минимизации составил менее 1% за последние 10 итераций, алгоритм останавливается. Таблица 1. Результаты прохождения алгоритма Номер прохождения Оптимальное Время значение прохождения функции алгоритма Номер итерации алгоритма 1 986 483764 03:30 2 962 416557 03:30 3 964 508526 03:55 4 957 438915 02:30 5 998 476314 02:15 6 956 523760 06:05 7 827 525924 06:10 ГА, во Наилучшая оценка пригодности достигнутая втором моделировании с 962 итерациями (поколениями), значение функции полезности равно 416557. В условиях постановки нашей задачи это означает, что были найдены оптимальные позиции предметов для данной структуры заказа. В результате последовательности работы ГА были комплектования предложены заказов. Чтобы новые варианты применить эти результаты в складской системе, необходимо перераспределить адреса хранения товаров ближе к док-зоне. Чтобы сделать путь комплектовщика более оптимальным, необходимо произвести преобразование в схеме расположения стеллажей. дополнительные Выводы Разработанное решение было протестировано на данных складского комплекса с использованием технологии комплектования заказов. После оптимизации складского пространства время подбора уменьшилось до 60% по сравнению с первоначальными данными. Достигнуть таких результатов помогло не только перераспределение товаров, но и новые введение прохода в середине ряда, чтобы позволить комплектовщику двигаться быстрее между проходами. Чтобы избежать значительных инвестиций в перераспределение затрат на трудовые ресурсы, была решена задача оптимизации заданной структуры. Это исследование показывает, что подход ГА может применяться в различных складских комплексах с некоторыми адаптациями относительно физического расположения стеллажей и использования рабочего пространства Таким образом, проводя анализ применения генетических алгоритмов в задачах оптимизации можно выделить, что на сегодняшний день, это является одним из наиболее перспективных методов поиска решений. Спектр использования данного метода не ограничивается одной узкой областью, ГА имеют прикладное значение в условиях финансовых, логистических и инженерных структур. Метод генетической оптимизации позволяет из огромного числа возможных вариантов выделять практически направленным отбором наиболее удовлетворяющие вводным условиям, что значительно уменьшает время обработки и число вычислительных итераций. Список литературы: 1. Чмырь Д.А. Оптимизация технологических процессов генетическими алгоритмами / LAP LAMBERT Academic Publishing RU, 2018. 2. Аоки М. Ведение в методы оптимизации. М.: Наука. 1977. 344с.. 2012, №3. – С. 20-21. 3. Старостина Л.А., Туманова С. Использование генетических алгоритмов для решения прикладных задач // В сборнике: Информационные технологии и математические методы в экономике и управлении (ИТиММ2016). 2016. С. 144 – 152.