где 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.