Оптимизация загрузки транспортных средств при помощи SAP F&R
Введение
SAP Forecasting and Replenishment является системой, обеспечивающей формирование оперативного автозаказа для сетей розничной торговли. Система представлена в двух вариантах:
- версия с открытой интеграцией;
- версия на базе платформы SAP SCM со стандартными механизмами интеграции с SAP ERP Retail;
Обе версии используют одно и то же расчётное ядро. В настоящей статье будут рассмотрены вопросы быстрой настройки базового функционала оптимизации загрузки транспорта (от англ. TLO, Transportation Load Optimization) в системе SAP F&R на базе платформы SAP SCM, решение которых обеспечит хорошую стартовую позицию при использовании этого функционала и наглядность демонстрации его возможностей клиенту.
В ходе ежедневного ночного прогона расчётное ядро SAP F&R (процессор прогнозирования и автопополнения, FRP) производит последовательно прогнозирование, расчёт потребности, оптимизацию потребности и формирование проектов заказов. В ходе оптимизации возможны следующие опциональные оптимизационные функции (приводятся в соответствии с порядком выполнения):
- Логистическое округление;
- Учёт минимальных ограничений поставщика;
- Оптимизация связанного капитала;
- Балансировка заказов внутри недели;
- Учёт дополнительных минимальных ограничений поставщика и шкалы скидок поставщика;
- Оптимизация загрузки транспортных средств.
Оптимизация загрузки транспорта является завершающим этапом оптимизации объёма заказа и нередко выносится в отдельный функциональный блок. Это единственная функция оптимизации (за исключением логистического округления), которая при некоторых настройках может уменьшить количество к заказу по определённому товару по итогам оптимизации.
Особенности функционала TLO
Оптимизация загрузки транспорта (ОЗТ/TLO) – одна из самых сложных функций оптимизации как с точки зрения настройки и объяснения принципов её работы клиенту, так и с точки зрения внедрения. В основе TLO лежат генетические алгоритмы, однако используются такие средства рандомизации, которые гарантируют детерминированность результата (то есть при одинаковых входных данных система всегда будет выдавать одно и то же решение). Сущность функционала TLO заключается в создании цепочки «поколений» решений, среди которых производится отбор наиболее эффективных «особей» (то есть решений по загрузке транспортных единиц, сокращённо - ТЕ). Каждое последующее поколение получается из предыдущих поколений при помощи рекомбинаций (сочетаний признаков «родителей») и мутаций (то есть случайных изменений определённых признаков «родителей»). За счёт отбора по критериям, соответствующим целям клиента по оптимизации загрузки ТЕ, итоговое решение позволяет решить задачу тем эффективнее, чем больше итераций поколений было позволено программе. Ограничением здесь выступают временные рамки для оптимизационной процедуры.
Условно в алгоритме TLO можно выделить следующие этапы:
I. Начальная загрузка транспортных средств – первое решение, которое далеко не оптимально, но берётся за основу для «выведения» других вариантов,
II. Консолидация – перебор различных вариантов загрузки транспортных единиц на основании генетического алгоритма, итогом является уплотнение транспортных единиц с наименее загруженной последней ТЕ.
III. Сокращение количества ТЕ – анализ на возможность сокращения количества ТЕ за счёт последней ТЕ с учётом имеющихся ограничений и пороговых значений на минимальное заполнение ТЕ.
IV. Заполнение – итоговая оптимизация с учётом сокращённого количества ТЕ, оставшееся свободное место заполняется в соответствии с настроенными критериями оптимизации.
Быстрая настройка базового функционала TLO
Далее мы рассмотрим по шагам, каким образом можно быстро настроить функционал TLO в его базовом варианте, которого будет достаточно для первичного тестирования и демонстрации базовых возможностей данного функционала клиенту.
1. Активируйте в профиле оптимизации расчёта потребности (Рис. 1) в подразделе профиля «Основные параметры настройки» (Рис. 2). Профиль оптимизации объёма потребности содержит ключевые общие настройки оптимизации. Без таких настроек шаг будет пропущен, вне зависимости от настроек, описываемых ниже.
Рис. 1. Путь в настроечном меню к ведению профиля оптимизации потребности
Рис. 2. Активация шага оптимизации загрузки транспортировки в общей процедуре оптимизации
2.В настроечном меню создайте профиль оптимизации загрузки транспортных средств (Рис. 3, в приводимом примере профиль называется )
Рис. 3. Путь в настроечном меню к профилю оптимизации загрузки транспорта
Рис. 4. Настройка профиля оптимизации загрузки транспорта в соответствии с лучшими практиками
Настройки, отражённые на Рис. 4, рекомендуются согласно лучшим практикам. Приведём некоторые дополнительные пояснения по этим настройкам.
Подраздел «Важность измерений оптимизации» задаёт направленность отбора лучших «особей» в генетическом алгоритме по нескольким измерениям, т.е. параметрам. При помощи регулировки коэффициента значимости для каждого из параметров (заказать полные поддоны, сохранить количество заказа до оптимизации загрузки транспорта и т. п.) отражаются бизнес-цели клиента. Коэффициент значимости для каждого параметра варьируется от нуля (параметр вообще не участвует при отборе лучших вариантов) до шести (уловие обязательно должно быть соблюдено). Под «оптимизацией штабелизируемости» понимается процесс повышения количества к заказу для полного заполнения паллеты товаром ради того, чтобы иметь возможность постановки другой паллеты сверху (в логике TLO заложен запрет на постановку паллеты поверх неполной паллеты).
Настройки по лучшим практикам соответствуют одинаковой важности всех параметров, кроме параметра обеспечения одинакового покрытия заказом в днях для всех позиций заказа (этот параметр не учитывается). При этом системе запрещён добор до целой паллеты ради возможности постановки паллет сверху (что актуально, например, в случае, когда логистические единицы транспортировки не могут быть расположены в несколько рядов в высоту).
Подраздел «Отклонение транспортных единиц» посвящён важному вопросу возможности отмены ТЕ, которая будет заполнена и по весу, и по объёму ниже порога, заданного (в % от вместимости ТЕ) в профиле ограничений. В случае разрешения отмены слабо заполненных ТЕ можно указать уточняющие настройки:
- разрешить отмену только в случае покрытия потребности первого периода спроса по всем позициям итогового заказа (гарантия отсутствия дефицита);
- заполнить ТЕ в случае невозможности отмены ТЕ (из-за нарушения других ограничений, например, минимального ограничения заказа по позиции) или оставить, как есть слабо заполненным.
Согласно лучшим практикам предлагается разрешить отмену слабозагруженных ТЕ и активировать их заполнение в случае невозможности отмены. Таким образом, дефицит товара возможен (но не очень вероятен, благодаря настройкам важности параметров оптимизации), критичные ограничения (фиксированное количество к заказу, минимальное покрытие в днях, минимальный заказ по позиции) обязательно будут выполнены, в результате, даже в случае невозможности отмены ТЕ, машина всё же не поедет полупустой за счёт заполнения.
Подраздел «Ограничение времени выполнения для ОЗТ» (Рис. 4) регулирует количество рассматриваемых алгоритмом вариантов, что существенно влияет на производительность. Для поля «Время выполнения ОЗТ» рекомендуется значение 3 («сбалансировано»), что соответствует среднему по продолжительности времени выполнения ОЗТ.
3. Создайте профиль ограничений (Рис. 5, 6):
Рис. 5. Путь в меню SAP Easy Access к транзакции по ведению профиля ограничений
Рис. 6. Ведение профиля ограничений (в примере - TLO_OPTIM)
4. В нижней части профиля (Рис. 7) выберите «Активировать»:
Рис. 7. Активация TLO в профиле ограничений
5. После активации появятся дополнительные поля, которые необходимо заполнить (Рис. 8).
Рис. 8. Пример заполнения профиля ограничения параметрами TLO
В настройках TLO указывается:
- максимальный вес полезной нагрузки ТЕ,
- максимальная высота ёмкости ТЕ (для определения допустимости постановки паллет в несколько уровней друг над другом),
- число транспортных мест (=максимальное число паллет, которое можно разместить на полу внутри ТЕ),
- идентификатор единицы измерения для паллеты (обязательно),
- идентификатор единицы измерения для слоя (опционально, необходимо для случая, если паллета складывается из определённого количества слоёв, а также для случая, когда логистическое округление согласно профилю округления происходит не по единице измерения для паллеты, а по другой),
- идентификатор единицы измерения для четверти паллеты (опционально,
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти