Система планирования поставок включает в себя (рис.1):

РРњ, предназначенную для генерации вариантов планов Рё оценки РёС… эффективности;
Блок оптимизации, обеспечивающий выбор оптимальных значений управляющих переменных, передаваемых РІ РРњ для составления эффективных планов поставок.
Требования к планам поставок
Торговая фирма занимается продажей гомеопатических товаров. На складе фирмы хранятся товары N наименований, для каждого из которых определены специфические условия и сроки хранения. Товары на склад поставляются одним производителем, для этого он использует собственные транспортные средства.
Фирма имеет четыре канала реализации товаров (четыре типа клиентов): крупные оптовики, магазины, дилеры (по регионам), представительства фирмы. Каналы различаются потребляемыми объемами товаров, их номенклатурой, а также частотой обращений на торговую фирму по поводу получения товаров.
Обычно заказ от клиента содержит товары нескольких наименований, но независимость спроса на разные товары позволяет рассматривать этот заказ как несколько заказов, различающихся наименованиями товаров.
Данная фирма действует РїРѕ принципу системы управления запасом СЃ постоянным объемом поставок РѕС‚ производителя РїРѕ каждому наименованию товара [1]. Рто означает, что после того, как фирма отгрузит РІСЃРµ заказанные товары (которые РјРѕРіСѓС‚ быть отгружены) клиентам РЅР° настоящий день, производится анализ текущего состояния склада. Проверяется запас товара данного наименования. Если РѕРЅ снизился РґРѕ определенного СѓСЂРѕРІРЅСЏ, называемого критическим (или точкой заказа), то делается заявка производителю РЅР° поставку заданного объема товара данного наименования.
Так как фирма располагает многономенклатурным запасом, то система СЃ постоянным объемом заказа модифицируется введением для каждого наименования товара предкритического СѓСЂРѕРІРЅСЏ (также называемого точкой заказа). Если запас товара какого-либо наименования достиг критического СѓСЂРѕРІРЅСЏ, проверяются запасы остальных товаров РЅР° предмет достижения предкритического СѓСЂРѕРІРЅСЏ. Если для какого-либо РёР· товаров предкритический уровень достигнут, то РѕРЅ заказывается вместе СЃ тем товаром, количество которого достигло критического СѓСЂРѕРІРЅСЏ. Таким образом, заказ РЅР° поставку включает РІ себя товары различных наименований. Рта модификация оправдана, так как позволяет более эффективно использовать транспортные средства производителя.
В результате решения задачи планирования необходимо получать квартальные, месячные и понедельные планы поставок, минимизирующие суммарные потери от хранения, невозможности отгрузки товаров клиентам из-за отсутствия товаров на складе и от оплаты поставок (организационные и транспортные расходы).
Рмитационная модель торговой фирмы
РРњ используется для составления варианта плана РїСЂРё заданных значениях точек заказа Рё расчета для полученного варианта величины потерь (W). Объектом моделирования является работа торговой фирмы РїРѕ управлению поставками, запасами Рё обслуживанием заказов клиентов. Рсходными данными для системы планирования служат статистические данные РѕР± объемах СЃРїСЂРѕСЃР°, Рѕ заявках Рё поставках, хранящиеся РІ информационной базе фирмы.
Рлементы торговой фирмы, необходимые для решения задачи планирования представляются РІ РДО-методе как ресурсы [3, 6]. Ресурсы, обладающие идентичными свойствами, описываются одинаковыми параметрами Рё группируются РІ типы ресурсов. Р’ РРњ использованы следующие основные типы ресурсов:
ТПотери - в ресурсе, данного типа хранится текущее значение потерь по статьям (критерий W);
ТСклад - ресурсы, представляющие состояние склада РїРѕ каждому наименованию товара. РС… параметры это - наименование товара, информация заказан ли товар данного наименования Сѓ производителя, время (день) следующей поставки, запас товара данного наименования РЅР° складе;
ТЗаказ - ресурсы, представляющие заказы от клиентов и содержащие информацию о канале реализации, от которого пришел заказ, наименовании товара, заказанном количестве, сроке отгрузки товаров по заказу, времени прихода товара, степени выполнения заказа на текущий момент;
ТПоставка - ресурсы, представляющие заявки фирмы производителю на поставку товаров и полученные поставки. Они имеют такие параметры, как наименование товара, на который заказана или пришла поставка, состояние поставки, день, на который заказана поставка, заказанное или поставленное (возможна недопоставка) количество товара;
ТПлан - в ресурсе данного типа фиксируются сделанные заявки на поставки по всем наименованиям товаров. Анализируя изменения этого ресурса во времени можно составить квартальный план поставок (open-list), а также планы поставок на месяцы, разбитые по неделям.
Процессы РІ рассматриваемой системе описываются РІ терминах РДО-метода СЃ помощью модифицированных продукционных правил [3, 6]. Р’ РРњ описаны следующие возможные действия, протекающие РЅР° фирме:
Поступление заказов от клиентов в систему - генерируются на основе статистической информации;
Принятие решений об отгрузке товаров клиентам. Данные действия моделируют отгрузку товаров по заказам, срок отгрузки которых меньше или равен текущему дню (если на складе достаточно товара данного наименования, при этом в первую очередь обслуживаются заказы с наименьшим сроком отгрузки, что обусловлено необходимостью снижения потерь от невозможности отгрузки товара в срок), при отгрузке уменьшается запас товара данного наименования на складе;
Принятие решений о заявках на поставку товаров: если количество товара какого-либо наименования на складе снизилось до (или ниже) критического уровня и для этого товара нет заказанных, но не полученных поставок, то создается заявка на поставку данного товара, время прихода поставки задается ожидаемым днем прихода, количество, заказываемое по данному наименованию товара - величина постоянная (система с постоянным объемом заказа). Затем проверяются запасы товаров всех остальных наименований на предмет достижения предкритического уровня, и если такие есть, то создаются заявки, параметры которых задаются по тому же принципу, что и для товара, уровень запаса которого снизился до критического уровня, факт заявки на поставку фиксируется в соответствующих ресурсах типа ТСклад и типа ТПоставка;
Приход поставок от производителя товаров. Если в системе есть поставки, у которых назначенный день прихода равен текущему дню, то вычисляется значение количества доставленного товара данного наименования с учетом статистической информации о недопоставках. Далее товар поступает на склад фирмы, при этом изменяются значения параметров ресурсов типа ТСклад, соответствующих товарам того наименования, на который пришла поставка и снимается отметка о наличии заявленных поставок. Ресурс типа ТПоставка уничтожается.
РРњ также осуществляет расчет критерия, включающего, как СѓР¶Рµ указывалось выше, следующие составляющие:
Потери от хранения, которые вычисляются ежедневно, когда отгружены товары по всем заказам на текущий день, с учетом дневной стоимости хранения единицы товара;
Потери от оплаты производителю поставок, которые вычисляются при заказе поставок с учетом объема упаковки, объема грузовика, стоимости пробега грузовика и организационных затрат на поставку (так как товары - гомеопатические препараты, вес единицы товара не накладывает существенных ограничений на хранение и транспортировку, как объем упаковки);
Потери от невозможности отгрузки заказов клиентам в срок - вычисляются каждый день для тех заказов, которые не отгружены, и у которых срок отгрузки меньше текущего дня, с учетом неустойки за задержку отгрузки заказанной единицы данного товара в течение одного дня.
Моделирование осуществляется РЅР° протяжении квартала. Управляющей информацией для принятия решений Рѕ заявках РЅР° поставки РІ РРњ, как Рё РІ реальной системе являются точки заказов (критические - Pi Рё предкритические - Pri СѓСЂРѕРІРЅРё запасов товаров, РіРґРµ i - номер товара). РћС‚ выбора точек заказов зависят получаемые РІ результате моделирования составляющие потерь, Рё соответственно критерий оптимизации планов:
,
,
где N - количество наименований товаров.
Оптимизационная процедура
Пусть заданы допустимые диапазоны варьирования точек заказов DPi - для критических и DPri- для предкритических уровней заказов.
Необходимо найти такую комбинацию значений критических и предкритических уровней, чтобы значение критерия W было минимальным:
;
, 
Таким образом мы имеем комбинаторную задачу большой размерности, даже для небольшого числа товаров N. Для ее решения предлагается использовать простейший генетический алгоритм (ПГА) [7, 8]. Применение ПГА для решения подобных оптимизационных задач на языке РДО дано в [9], поэтому здесь мы рассмотрим только особенности реализации данного алгоритма.
Для использования ПГА необходимо кодирование значений точек заказов РІ двоичную форму. РЎРїРѕСЃРѕР± кодирования представлен РЅР° СЂРёСЃ. 2. РћСЃРѕР±СЊ представляет СЃРѕР±РѕР№ битовую строку-С…СЂРѕРјРѕСЃРѕРјСѓ длиной 350 Р±РёС‚. Гены РІ этой строке имеют длину РїРѕ 7 Р±РёС‚ Рё представляют СЃРѕР±РѕР№ закодированные значения точек заказов. Выбор длины гена равной 7 Р±РёС‚ обусловлен тем, что гены РІ РДО представляются РІ РІРёРґРµ целочисленных параметров типа ресурсов РћСЃРѕР±Рё. Целое число РІ РДО представляется РІ РІРёРґРµ РґРІСѓС… байтов. РР· РЅРёС… РѕРґРёРЅ Р±РёС‚ - знаковый. РР· оставшихся пятнадцати Р±РёС‚ четырнадцать используются для представления точек заказов.
Кодирование
Воспроизведение

Скрещивание


Мутация
Рис. 2. Работа ПГА
Таким образом в одном параметре типа ресурсов Особи закодированы два гена - две точки заказов: критический и предкритический уровни для товара одного наименования. Для представления точек заказов в случае двадцати пяти наименований товаров используются 25 подобных параметров ресурса.
Так как семью битами может быть представлено число РѕС‚ 0 РґРѕ 127, необходим пересчет диапазонов критических - DPi Рё предкритических уровней - DPri РІ диапазон D РѕС‚ 0 РґРѕ 127. Ртот пересчет осуществляется РїРѕ формулам:
,
,
где i - номер товара, G2i-1и G2i - представления в виде десятичных чисел закодированных в семи битах значений точек заказов.
Рмея эти формулы для любой РѕСЃРѕР±Рё возможен обратный пересчет РёР· генов РѕСЃРѕР±Рё РІ критические Рё предкритические СѓСЂРѕРІРЅРё запасов для каждого наименования товаров.
Оптимизируемой величиной является функция пригодности (ФП), рассчитываемая для особей. Рспользуемая нами реализация ПГА РёР· [9], находит РѕСЃРѕР±СЊ СЃ максимальной ФП, поэтому необходимо выбрать такую ФП, которая растет СЃ уменьшением значения критерия W. Ее РІРёРґ определен РІ результате моделирования работы фирмы СЃ типовыми значениями годовых затрат РЅР° хранение единицы товара, неустойках Р·Р° задержку отгрузки клиентам единицы товара каждого наименования РЅР° РѕРґРёРЅ день, объемов упаковки, отнесенных Рє единице товара, объема РіСЂСѓР·РѕРІРёРєР°, стоимости поездки РѕРґРЅРѕРіРѕ РіСЂСѓР·РѕРІРёРєР° Рё организационных затрат РЅР° поставку товаров. РџСЂРё этом было выяснено, что РІ суммарных потерях всегда присутствует такая составляющая, как потери РѕС‚ хранения. Рзменение этой составляющей для различных комбинаций точек заказов невелико РёР·-Р·Р° невысоких значений годовых затрат РЅР° хранение. Поэтому РІ качестве ФП была выбрана показательная функция, которая быстро растет СЃ ростом показателя степени:
,В В (*)
где H - функция пригодности, Wmax - максимально возможное значение потерь, которое выбрано на основании результатов моделирования с превышением максимальной полученной величины суммарных потерь на два порядка. Если для какой-либо особи значение суммарных потерь превысит Wmax, у этой особи будет очень малое значение функции пригодности.
Основными параметрами генетического алгоритма являются: количество особей в поколении, число поколений, вероятность скрещивания, вероятность мутации. Значения этих параметров были взяты из результатов исследований [9].
Рсходная популяция генерируется случайным образом, РїСЂРё этом создаются РѕСЃРѕР±Рё СЃРѕ значениями генов РѕС‚ 0 РґРѕ 127. Число генерируемых особей равно размеру поколения.
Расчет ФП ведется имитацией работы фирмы в течение квартала, то есть, для каждой особи осуществляется прогон, по окончании которого рассчитывается ФП по формуле (*). В ходе прогона осуществляется принятие решений о заявках на поставки. При этом для определения критического и предкритического уровней для каждого наименования товара производится расшифровка особи, и полученные значения точек заказов используются при принятии решений.
Результатом решения оптимизационной задачи является лучшая особь по всем поколениям. Значения точек заказов, которые будут использоваться в торговой фирме при принятии решений о заявках на поставки в процессе работы на квартале осуществляются путем расшифровки лучшей особи. Далее определяем планы поставок, взяв значения критических и предкритических уровней из лучшей особи, как заказанные поставки в течение периода моделирования - квартала.
Результаты работы системы планирования поставок
Рксперименты проводились РЅР° различных РїРѕ напряженности (среднесуточный СЃРїСЂРѕСЃ РїРѕ каждому наименованию товара) портфелях заказов РѕС‚ клиентов. Так как РёР·-Р·Р° большого числа характеристик Рё РёС… комбинаций трудно привести интегральную характеристику, однозначно характеризующую данный портфель, были проведены эксперименты для трех вариантов портфелей. Рти портфели различались средним количеством товара РІ заказе РїРѕ каждому наименованию товара Рё каналу, Р° также интервалами времени между приходами заказов РїРѕ каждому РёР· каналов.

Р РёСЃ. 3. Рнтервалы между приходами заказов

Р РёСЃ.4.
 Значения этих характеристик портфелей заказов приведены на рис. 3, 4. При этом введена следующая нумерация каналов: 1 - канал крупных оптовиков, 2 - канал магазинов, 3 - канал дилеров, 4 - канал представительств фирмы.
Значения СЃРїСЂРѕСЃР° Р·Р° время доставки для всех наименований товаров Рё различных портфелей определялись РЅР° РѕСЃРЅРѕРІРµ сгенерированных портфелей (среднесуточный СЃРїСЂРѕСЃ, умноженный РЅР° время доставки). Ртот СЃРїСЂРѕСЃ характеризует потребление товара СЃ момента выдачи РЅР° него заявки производителю РґРѕ его получения РЅР° склад.
Для сравнения, РЅР° РРњ был смоделирован случай работы фирмы, РєРѕРіРґР° значения точек заказа назначались эвристическим путем. РћРЅРё были выбраны следующим образом:
критические уровни брались в среднем с двукратным превышением величины среднесуточного спроса умноженной на время доставки;
предкритические уровни брались, исходя из вероятности прихода заказа на товар данного наименования.
Оценка суммарных потерь для этого случая и для каждого из портфелей производилась путем прогона модели на интервале времени равном кварталу с данным портфелем заказов и данными точками заказов.
Диапазоны варьирования точек заказов были выбраны следующим образом:
для критических уровней - в среднем с пятикратным превышением среднесуточного спроса, умноженным на время доставки;
для предкритических уровней диапазоны были выбраны одинаковыми и равными максимальному значению предкритических уровней для случая выбора их экспертом - 400%.
Оценка суммарных потерь может быть получена на основе моделирования работы фирмы на квартале для лучшей по всем поколениям особи. Оптимизация с помощью ПГА проводилась для 20 особей в поколении, 20 поколений, вероятности скрещивания - 0.7 и вероятности мутации - 0.06.

Р РёСЃ. 5. Рзменение значения ФП РїРѕ поколениям для портфеля в„–1
Результаты экспериментов с использованием ПГА представлены на рис.5. Здесь приведено изменение функции пригодности по поколениям. По результатам экспериментов (рис. 5) можно отметить, что рост среднего значения функции пригодности по популяциям (поколениям) (от 0,220357*103 до 0,388829*103 - для первого портфеля, от 0,132561*103 до 0,334439*103 - для второго портфеля, от 0,00155367*103 до 0,0135357*103 - для третьего портфеля) демонстрирует работоспособность алгоритма, а максимальное значение ФП в пересчете на критерий W дает устойчивое (в среднем около 60%) снижение потерь по сравнению со случаем назначения точек заказа на основе среднего спроса за время доставки (табл. 2).
Заключение
Результаты проведенных экспериментов показали эффективность комплексного применения РРњ Рё ПГА Рє решению сложных оптимизационных задач планирования поставок товаров РЅР° многономенклатурный склад торговой фирмы, однако необходимы дальнейшие исследования для выбора параметров ПГА, обеспечивающих лучшую сходимость, Р°, следовательно, Рё эффективность.
Подтверждена возможность разработки гибридных систем, комплексно использующих РРњ Рё оптимизационных процедур РЅР° РѕСЃРЅРѕРІРµ единого инструментального средства - языка РДО, что РіРѕРІРѕСЂРёС‚ Рѕ его универсальности Рё гибкости.
Списоклитературы
Ballow 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.
Емельянов Р’.Р’., РЇСЃРёРЅРѕРІСЃРєРёР№ РЎ.Р. Продукционный имитатор производственных систем Рё процессов // Вестник машиностроения, 1992, в„– 5. РЎ. 41 - 45.
Емельянов Р’.Р’., РЇСЃРёРЅРѕРІСЃРєРёР№ РЎ.Р. РДО - продукционный язык имитационного моделирования сложных дискретных систем: Учебное РїРѕСЃРѕР±РёРµ РїРѕ курсам “Моделирование технологических Рё производственных процессов”. - Рњ.: РР·Рґ-РІРѕ МГТУ, 1995. - 91 СЃ.
Емельянов Р’.Р’., РЇСЃРёРЅРѕРІСЃРєРёР№ РЎ.Р. Гибридная система для планирования производства РЅР° РѕСЃРЅРѕРІРµ генетических алгоритмов, методов имитации Рё экспертных систем// Рзвестия РўР РўРЈ, 1996, в„– 3. РЎ. 4 - 9.
Reane F., Artiba A., Elmaghraby S.E. Sequencing on hybrid two stages flowshop to minimize makespan //ICOQM’s proceedings Jaipur, II, 1996. P.572-579.
Emelyanov V.V., Yasinovsky S.I. An AI-based object-oriented tool for discrete manufacturing systems simulation// Journal of Intelligent Manufacturing, Vol.8, Num. 1, February 1997. P.49-59.
Goldberg D.E. Genetic Algorithms in Search, Optimization and Machine Learning. - Addison Wesley Publishing Company, Inc., 1989. - 386 pp.
Holland J.H. Adaptive algorithms for discovering and using general patterns in growing knowledge-bases // Int. Journ. of Policy Analysis and Information Systems, 1980, P. 217 - 240.
Емельянов В.В., Крючков М.Ю., Штаутмайстер Т. Динамический оптимальный раскрой материала с использованием генетического алгоритма // Вестник МГТУ, сер.: Приборостроение, 1996, № 1, С. 78 - 86.