ЬсЕЬсААЬЕЕсА :АЬсЕ
7 8 и
12 4
5
6 1
2
А Ь с
Рис. 6
10
Но в данном алгоритме перед применеием FFD, сначала выполняется локальная оптимичаиия по следующему принципу. Берутся один за другим блоки уже присутствующие в решении, выполняется проверка, возможно ли заменить элемент в блоке на упущенный элемент, таким образом, чтобы общий размер элементов в блоке увеличился без переполнения блока. Нели такое возможно, то выполняется замена.
Замена имеет две важных положительных особенностей, Во первых, блок заполняется лучше, чем он был до того. Во вторых, уменьшается размер упущенных элементов и следовательно, для них будет легче найти место в блоках, которые уже присутствуют в решении.
Этот процесс продолжается до тех пор, пока такие замены возможны. Затем применяется FFD эвристика для завершения создания решения.
2.4 Оператор Мутации (Mutation).
В данной хромосоме, выбирается, по случайному закону, несколько блоков и устраняются из решения. Естественно, появляются упущенные элементы, которые должны быть вставленны обратно. Для этого применяются идеи, использованные в операторе скрещивания. Т.е. упущенные элементы вначале является базисом для возможного улучшения неизмененных блоков, во время стадии замены. Когда замена уже невозможна, FFD эвристика используется для завершения формирования решения.
УДК 658.52.011
Емельянов В.В.,. Захаров П.А Планирование поставок торговой фирме с использованием имитации и
генетического алгоритма
Планирование поставок товаров на склад торговой фирмы является одной из основных задач организации материальных и информационных потоков в разветвленной сети поставщиков товаров и заказчиков [1]. Преследуемая цель - обеспечение 1ребуемого уровня обслуживания множества заказчиков, а также получения максимальной отдачи средств от вложенного капитала. Решение поставленной задачи усложняется стохастическим характером процесса в системе (изменение спроса, недопоставки товаров на склад и т.п.). В случае многономенклатурного запаса на складе задача планирования поставок превращается в многопараметрическую оптимизационную задачу большой размерности. Сложность процессов в рассматриваемой системе делает проблематичным получение ее математического описания,
адекватного реальности. Это приводит к необходимости использования имитационного моделирования (ИМ). Размерность оптимизационной задачи планирования требует применения эффективных методов пояска решений.
Для построения подобных систем желательно иметь единые средства для разработки имитационных моделей и реализации поисковых процедур. В качестве подобного средства может быть использован язык РДО, позволяющий создавать интеллектуальные системы моделирования и управления [2, 3], а также гибридные системы, содержащие в своем составе имитационные модели, модели исследования операций, экспертные системы и другие типы моделей и систем [4, 5].
Состав системы планирования
Система планирования поставок включает в себя (рис. 1):
1. ИМ, предназначенную для генерации вариантов планов и оценки их эффективности;
2. Блок оптимизации, обеспечивающий выбор оптимальных значений управляющих переменных, передаваемых в ИМ для составления эффективных планов поставок.
Потэовател»
Рис.1. Состав системы планирования
1 ребования к планам поставок
Торговая фирма занимается продажей гомеопатических товаров. На складе фирмы хранятся товары N наименований, для каждого из которых определены специфические условия и сроки хранения. Товары на склад поставляются одним производителем, для этого он использует собственные транспортные средства.
Фирма имеет четыре канала реализации товаров (четыре типа клиентов): крупные
оптовики, магазины, дилеры (по регионам), представительства фирмы. Каналы различаются потребляемыми объемами товаров, их номенклатурой, а также частотой обращений на торговую фирму по поводу получения товаров.
Обычно заказ от клиента содержит товары нескольких наименований, но независимость спроса на разные товары позволяет рассматривать этот заказ как несколько заказов, различающихся наименованиями товаров.
Данная фирма действует по принципу системы управления запасом с постоянным объемом поставок от производителя по каждому наименованию товара [1]. Это означает, что после того, как фирма отгрузит все заказанные товары (которые могут быть отгружены) клиентам на настоящий день, производится анализ текущего состояния склада. Проверяется запас товара данного наименования. Если он снизился до определенного уровня, называемого
критическим (или точкой заказа), то делается заявка производителю на поставку заданного объема товара данного наименования.
Так как фирма располагает многономенклатурным запасом, то система с постоянным объемом заказа модифицируется введением для каждого наименования товара предкритического уровня (также называемого точкой заказа). Если запас товара какого-либо наименования достиг критического уровня, проверяются запасы остальных товаров на предмет достижения предкритического уровня. Если для какого-либо из товаров предкритический уровень достигнут, то он заказывается вместе с тем товаром, количество которого достигло критического уровня. Таким образом, заказ на поставку включает в себя товары различных наименований. Эта модификация оправдана, так как позволяет более эффективно использовать транспортные средства производителя.
В результате решения задачи планирования необходимо получать квартальные, месячные и понедельные планы поставок, минимизирующие суммарные потери от хранения, невозможности отгрузки товаров клиентам из-за отсутствия товаров на складе и от оплаты поставок (организационные и транспортные расходы).
Имитационная модель торговой фирмы
ИМ используется для составления варианта плана при заданных значениях точек заказа и расчета для полученного варианта величины потерь (IV). Объектом моделирования является работа торговой фирмы по управлению поставками, запасами и обслуживанием заказов клиентов. Исходными данными для системы планирования служат статистические данные об объемах спроса, о заявках и поставках, хранящиеся в информационной базе фирмы.
Элементы торговой фирмы, необходимые для решения задачи планирования представляются в РДО-методе как ресурсы [3, 6]. Ресурсы, обладающие идентичными свойствами, описываются одинаковыми параметрами и группируются в типы ресурсов. В ИМ использованы следующие основные типы ресурсов:
I • ТПотери в ресурсе, данного типа хранится текущее значение потерь по статьям (критерий IV);
2. ТСклад - ресурсы, представляющие состояние склада по каждому наименованию товара. Их параметры это наименование товара, информация заказан ли товар данного наименования у производителя, время (день) следующей поставки, запас товара данного наименования на складе;
3- ГЗаказ ресурсы, представляющие заказы от клиентов и содержащие информацию о канале реализации, от которого пришел заказ, наименовании товара, заказанном количестве, сроке отгрузки товаров по заказу, времени прихода товара, степени выполнения заказа на текущий момент;
ТПоставка - ресурсы, представляющие заявки фирмы производителю на поставку товаров и полученные поставки. Они имеют такие параметры, как наименование товара, на который заказана или пришла поставка, состояние поставки, день, на который заказана поставка, заказанное или поставленное (возможна недопоставка) количество товара;
ТПлан в ресурсе данного типа фиксируются сделанные заявки на поставки по всем наименованиям товаров. Анализируя изменения этого ресурса во времени можно составить квартальный план поставок (ореп-ПвО, а также планы поставок на месяцы, разбитые по неделям.
6- Процессы в рассматриваемой системе описываются в терминах РДО-метода с помощью модифицированных продукционных правил [3, 6]. В ИМ описаны следующие возможные действия, протекающие на фирме:
7. Поступление заказов от клиентов о систему генерируются на основе статистической информации;
8. Принятие решений об отгрузке товаров клиентам. Данные действия моделируют отгрузку товаров по заказам, срок отгрузки которых меньше или равен текущему дню (если на складе достаточно товара данного наименования, при этом в первую очередь
обслуживаются заказы с наименьшим сроком отгрузки, что обусловлено необходимостью снижения потерь от невозможности отгрузки товара в срок), при отгрузке уменьшается запас товара данного наименования на складе;
9. Принятие решений о заявках на поставку товаров: если количество товара какого-либо наименования на складе снизилось до (или ниже) критического уровня и для этого товара нет заказанных, но не полученных поставок, то создается заявка на поставку данного товара, время прихода поставки задается ожидаемым днем прихода, количество, заказываемое по данному наименованию товара величина постоянная (система с постоянным объемом заказа). Затем проверяются запасы товаров всех остальных наименований на предмет достижения предкритического уровня, и если такие есть, то создаются заявки, параметры которых задаются по тому же принципу, что и для товара, уровень запаса которого снизился до критического уровня, факт заявки на поставку фиксируется в соответствующих ресурсах типа ТС клад и типа ТПоставка;
10. Приход поставок от производителя товаров. Если в системе есть поставки, у которых назначенный день прихода равен текущему дню, то вычисляется значение количества доставленного товара данного наименования с учетом статистической информации о недопоставках. Далее товар поступает на склад фирмы, при этом изменяются значения параметров ресурсов типа ТСклад, соответствующих товарам того наименования, на который пришла поставка и снимается отметка о наличии заявленных поставок. Ресурс типа ТПоставка уничтожается.
11. ИМ также осуществляет расчет критерия, включающего, как уже указывалось выше, следующие составляющие:
12. Потери от хранения, которые вычисляются ежедневно, когда отгружены товары по всем заказам на текущий день, с учетом дневной стоимости хранения единицы товара;
13. Потери от оплаты производителю поставок, которые вычисляются при заказе поставок с учетом объема упаковки, объема грузовика, стоимости пробега грузовика и организационных затрат на поставку (так как товары гомеопатические препараты, вес единицы товара не накладывает существенных ограничений на хранение и транспортировку, как объем упаковки);
14. Потери от невозможности отфузки заказов клиентам в срок - вычисляются каждый день для тех заказов, которые не отгружены, и у которых срок отгрузки меньше текущего дня, с учетом неустойки за задержку отгрузки заказанной единицы данного товара в течение одного дня.
Моделирование осуществляется на протяжении квартала. Управляющей информацией для принятия решений о заявках на поставки в ИМ, как и в реальной системе являются точки заказов (критические - Р( и предкритические - Ргі уровни запасов товаров, где і - номер товара). От выбора точек заказов зависят получаемые в результате моделирования составляющие потерь, и соответственно критерий оптимизации планов:
IV = І (РІУРГІ), і = liN, где N - количество наименований товаров.
Оптимизационная процедура
Пусть заданы допустимые диапазоны варьирования точек заказов £>и - для критических и £>/.„ - для предкритических уровней заказов.
Необходимо найти такую комбинацию значений критических и предкритических уровней, чтобы значение критерия IV было минимальным:
IV = г{р„рг] -> пип ; I = 1,УУ Р{ С /)„,/>„ с Вр,,
Таким образом мы имеем комбинаторную задачу большой размерности, даже для небольшого числа товаров N. Для ее решения предлагается использовать простейший генетический алгоритм (ПГА) [7, 8]. Применение ПГА для решения подобных
оптимизационных задач на языке РДО дано в [9], поэтому здесь мы рассмотрим только особенности реализации данного алгоритма.
Для использования ПГА необходимо кодирование значений точек заказов в двоичную форму. Способ кодирования представлен на рис. 2. Особь представляет собой битовую строку-хромосому длиной 350 бит. Гены в этой строке имеют длину по 7 бит и представляют собой закодированные значения точек заказов. Выбор длины гена равной 7 бит обусловлен тем, что гены в РДО представляются в виде целочисленных параметров типа ресурсов Особи. Целое число в РДО представляется в виде двух байтов. Из них один бит - знаковый. Из оставшихся пятнадцати бит четырнадцать используются для представления точек заказов.
Кодирование
Тати заказов: Крипичшжнурстш
Товар 2 Товвр1
1874
4015.7
ПрвВфитпюв» уровни Товвр 1 •
Тощ» 2
Особь.
1203 —
Ш
1752
"• 1ййСТ«И11иТ • • Л1ооо]1ЙТ1
Воспроизведение
Поколение п-1
л>п»4 1М1&.1а
€Л0110110|1100|0111111011 . . . Ц|000|1011 |0110|1000|1101|0101|1100| . . |1010|11Ю|
<ЬПшЗГКЯЯ>Ы 1 г йп.эпкра.и
|<П01|0110|1100|0111|1101| . . ||ю00 1011 |0101|0110|1100|0111|1101| . . . Цю00|1011|
ПоколениеП
Скрещивание
0101|0110|1100|1( 11|1101| „ |1000|1011
0101|0110|1100|1( 01|1100| |Ю1о|1110
011о|юоо|1101|о|о1|11оо| . [1010(1110
01 011000Д1101 1 [т1оТ| . 1000|1011
[0101 |о
о^моо |1001 Ь юо | . . ^ТпГрТГо"]
Инв9рт ироФвии* бит а
[о 101 |Р)||оТГЙИ |1 001 и 100 I . . |7оТоТТпо1
Мутация
Рис. 2. Работа ПГА
Таким образом в одном параметре типа ресурсов Особи закодированы два гена - две точки заказов: критический и предкритический уровни для товара одного наименования. Для представления точек заказов в случае двадцати пяти наименований товаров используются 25 подобных параметров ресурса.
Порядок следования генов в особи представлен на рис 2., а параметры типа ресурсов Особи - в табл. 1.
Таблица 1
Ген Точка заказа Номер товара Параметр/ Бит начала Параметр/ Бит конца
1 Критический уровень 1 Параметр_1/1 Параметр_1/7
2 Предкритический уровень 1 Параметр_1/8 Параметр_1/14
3 Критический уровень 2 Параметр_2/1 Параметр_2/7
4 Предкритический уровень 2 Параметр_2/8 Параметр_2/14
50 Предкритический уровень 25 Параметр_25/8 Параметр_25/14
Так как семью битами может быть представлено число от 0 до 127, необходим пересчет диапазонов критических - и предкритических уровней - в диапазон И от 0 до 127. Этот пересчет осуществляется по формулам:
С"-,=ї£'127,С"= Л^’127
где і - номер товара, С2п и С2І - представления в виде десятичных чисел закодированных в семи битах значений точек заказов.
Имея эти формулы для любой особи возможен обратный пересчет из генов особи в критические и предкритические уровни запасов для каждого наименования товаров.
Оптимизируемой величиной является функция пригодности (ФП), рассчитываемая для особей. Используемая нами реализация ПГА из [9], находит особь с максимальной ФП, поэтому необходимо выбрать такую ФП, которая растет с уменьшением значения критерия Ее вид определен в результате моделирования работы фирмы с типовыми значениями годовых затрат на хранение единицы товара, неустойках за задержку отгрузки клиентам единицы товара каждого наименования на один день, объемов упаковки, отнесенных к единице товара, объема грузовика, стоимости поездки одного грузовика и организационных затрат на поставку товаров. При этом было выяснено, что в суммарных потерях всегда присутствует такая составляющая, как потери от хранения. Изменение этой составляющей для различных комбинаций точек заказов невелико из-за невысоких значений годовых затрат на хранение. Поэтому в качестве ФП была выбрана показательная функция, которая быстро растет с ростом показателя степени:
до
Н =2 м (*)
где Н - функция пригодности, - максимально возможное значение потерь, которое выбрано на основании результатов моделирования с превышением максимальной полученной величины суммарных потерь на два порядка. Если для какой-либо особи значение суммарных потерь превысит И'„ии, у этой особи будет очень малое значение функции пригодности.
Основными параметрами генетического алгоритма являются: количество особей в поколении, число поколений, вероятность скрещивания, вероятность мутации. Значения этих параметров были взяты из результатов исследований [9].
Исходная популяция генерируется случайным образом, при этом создаются особи со значениями генов от 0 до 127. Число генерируемых особей равно размеру поколения.
Расчет ФП ведется имитацией работы фирмы в течение квартала, то есть, для каждой особи осуществляется прогон, по окончании которого рассчитывается ФП по формуле (*). В ходе прогона осуществляется принятие решений о заявках на поставки. При этом для определения критического и предкритического уровней для каждого наименования товара производится расшифровка особи, и полученные значения точек заказов используются при принятии решений.
Результатом решения оптимизационной задачи является лучшая особь по всем поколениям. Значения точек заказов, которые будут использоваться в торговой фирме при принятии решений о заявках на поставки в процессе работы на квартале осуществляются путем расшифровки лучшей особи. Далее определяем планы поставок, взяв значения критических и предкритических уровней из лучшей особи, как заказанные поставки в течение периода моделирования - квартала.
Результаты работы системы планирования поставок
Эксперименты проводились на различных по напряженности (среднесуточный спрос по каждому наименованию товара) портфелях заказов от клиентов. Так как из-за большого числа характеристик и их комбинаций трудно привести интегральную характеристику, однозначно характеризующую данный портфель, были проведены эксперименты для трех вариантов портфелей. Эти портфели различались средним количеством товара в заказе по каждому наименованию товара и каналу, а также интервалами времени между приходами заказов по каждому из каналов.
2 3
Номер канала
—Портфель 1, мин. интервал
-Ш-Портфель 1, макс. интервал
Портфель 2, мин. интервал
—Портфель 2, макс. интервал
-Ж-Портфель 3, мин. интервал
Рис. 3. Интервалы между приходами заказов
3000
2500
12000
! 1500
0*000
500
-Л^ *1 м ' у *' ■‘‘‘V
______:____________________ -•■ '■'••' ,'1: .•>",' "Л,V.
V
Уй$
ч,.-л
Рис.4. Среднее количество товара в заказе (для канала магазинов)
Значения этих характеристик портфелей заказов приведены на рис. 3, 4. При этом введена следующая „умерация каналов: 1 - канал крупных оптовиков, 2 - канал магазинов, 3 -канал^еров,4-канал 1федс^ел^фирмы. ^ наименований товаров и различнь1Х
Значения спроса за вр ггвнеоиооваииых портфелей (среднесуточный спрос,
портфелей определялись на ^но^"”^°"раетерЮуетТотребление товара с момента умноженный на время доставки). Этот спрос характер у
кобгяа значения точск мказа назначались эвристическим путем. Они быливыбраны следующим образом:
• критические уровни брались в среднем с двукратным превышением величины среднесуточного спроса умноженной на время доставки,
• предкртнческие уровни брались, исходя из вероятности прихода заказа на товар данного
"ТцГкас^марных потерь для этого случая и для каждого из портфелей производилась путем прогона модели на интервале времени равном кварталу с данным портфелем заказов и
Данными точками заказов. _ . ___
Диапазоны варьирования точек заказов были выбраны следующим образом.
• для критических уровней » среднем с пятикратным превышением среднесуточного спроса, умноженным на время доставки; ...
• для предкритических уровней диапазоны были выбраны одинаковыми и
максимальному значению предкритических уровней для случая вы ор рто
400%. ,
Оценка суммарных потерь может быть получена на основе моделирования работы фирмы на квартале для лучшей по всем поколениям особи. Оптимизация с помощью ПГА
проводилась для 20 особей в поколении, 20 поколений, вероятности скрещивания - 0.7 и вероятности мутации - 0.06.
450000
400000
50000
Рис. 5. Изменение значения ФП по поколениям для портфеля №1
Результаты экспериментов с использованием ПГА представлены на рис.5. Здесь приведено изменение функции пригодности по поколениям. Сравнение суммарных потерь при использовании эвристики и ПГА для оптимизации выбора точек заказа представлены в табл 2
Номер портфе — ля назначении точек заказов 11отери при выборе точек заказов с использованием ПГА Эффективность ПГА по сравнению с назначением, %
1 5806724 2794428 51.8
2 8907316 2798501 68.6
3 38081229 11531600 69.7
По результатам экспериментов (рис. 5) можно отметить, что ^гаст среднего значения функции пригодности по популяциям (поколениям) (от 0,220357*10 до 0,388829*10 - для первого портфеля, от 0,132561*103 до 0,334439* 103 - для второго портфеля, от 0,00155367*103 до 0,0135357* 103 для третьего портфеля) демонстрирует работоспособность алгоритма, а
максимальное значение ФП в пересчете на критерий W дает устойчивое (в среднем около 60%) снижение потерь по сравнению со случаем назначения точек заказа на основе среднего спроса за время доставки (табл. 2).
Заключение
Результаты проведенных экспериментов показали эффективность комплексного применения ИМ и ПГА к решению сложных оптимизационных задач планирования поставок товаров на многономенклатурный склад торговой фирмы, однако необходимы дальнейшие исследования для выбора параметров ПГА, обеспечивающих лучшую сходимость, а, следовательно, и эффективность.
Подтверждена возможность разработки гибридных систем, комплексно использующих ИМ и оптимизационных процедур на основе единого инструментального средства - языка РДО, что говорит о его универсальности и гибкости.
Литература
1. В allow R.H. Product Storage and Warehousing // Basic Business Logistics. Transportation, Materials, Management, Physical Distribution / 2-d edition. - NY, Prentice-Hall International Edition, 1987. P. 192 - 272.
2. Емельянов B.B., Ясиновский С И. Продукционный имитатор производственных систем и процессов // Вестник машиностроения, 1992, № 5. С. 41 - 45.
3. Емельянов В.В. Ясиновский С.И. РДО- продукционный язык имитационного моделирования сложных дискретных систем: Учебное пособие по курсам Моделирование технологических и производственных процессов” - М.: Изл-во МГТУ, 1995. - 91 с.
4. Емельянов В.В., Ясиновский С.И. Гибридная система для планирования производства На основе генетических алгоритмов, методов имитации и экспертных систем// Известия ТРТУ,
1996, Ха 3. С. 4-9.
5. Reane F., Artiba A., Elmaghraby S.E. Sequencing on hybrid two stages flowshop to minimize toakespan //ICOQM’s proceedings Jaipur, II, 1996. P.572-579.
6. Emelyanov V.V., Yasinovsky S.I. An Al-based object-oriented tool for discrete manufacturing systems simulation// Journal of Intelligent Manufacturing, Vol.8, Num. 1, February
1997. P.49-59,
7. Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning. - Addison
Wesley Publishing Company, Inc., 1989. - 386 pp.
8. Holland J.H. Adaptive algorithms for discovering and using general patterns in growing nowledge-bases // Int. Joum. of Policy Analysis and Information Systems, 1980, P. 217 - 240.
9. Емельянов B.B., Крючков М.Ю., Штаутмайстер Т. Динамический оптимальный вскрой материала с использованием генетического алгоритма // Вестник МГТУ, сер.. приборостроение, 1996, № 1, С. 78 - 86.