Вернуться в библиотеку
Исходный URL http://www.ioz.pwr.wroc.pl/Pracownicy/Chodak/artykuly/genetic_algorithms_in_seasonal_demand_forecasting.pdf

ПРИМЕНЕНИЕ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ ПРИ ПРОГНОЗИРОВАНИИ СЕЗОННОГО СПРОСА
ВВЕДЕНИЕ

Прогнозирование спроса - одна из наиболее важных стадий процесса принятия решения фирмой. Управление потоком материалов, которое основано на стратегии «вовремя», нельзя было б достичь без точной оценки спроса. Мы различаем два общих метода прогнозирования спроса, а именно количественные и качественные методы.
Современное программное обеспечение, которое допускает вычисление данных и графическое представление данных, поддерживает оба из них. Методы искусственного интеллекта (ИИ) (типа: генетические алгоритмы, нечеткая логика и нейронные сети) будут экстенсивно применены на следующем этапе разработки методов прогнозирования. Применение методов ИИ должно улучшить правильность прогнозирования сезонного спроса. Представление метода прогнозирования сезонного спроса и его применимость - главная цель этой статьи. Идентификация параметров функции спроса основана на генетических алгоритмах (ГА).

ФУНКЦИЯ СПРОСА

Вид функции спроса должен быть выведен из внутреннего и внешнего окружения каждой фирмы. Невозможно предложить общую формулу функции спроса, применимую ко всем экономическим условиям различных фирм. В некоторых фирмах спрос может зависеть главным образом от одного фактора, но в других фирмах можно идентифицировать десятки важных факторов, влияющих на спрос. Поэтому главная проблема состоит в том, чтобы показать, что факторы правильны.
Часто, в качестве первого приближения, принимают, что функция спроса является функцией времени (например линейная, логарифмическая, показательная и т.д) представляющей тренд спроса. Известно, что цена - один из наиболее важных факторов, влияющих на спрос почти всей продукции и услуг. Что мы предлагаем в этой статье - комбинация классического трендового подхода (то есть, спрос как функция времени) и экономической теоретической функции спроса (то есть, спрос как функция цены). На первом этапе разработки этого подхода мы предлагаем довольно простой вид функции спроса, а именно:

D – cпрос (продукции или услуг);
p – цена;
t – время;
e – эластичность цены.
М(t) функция времени, и может представлять тренд, но когда спрос становится сезонным, функция M(t) - становится периодичной. Чтобы включить периодичность в нашу функцию спроса, мы используем следующую формулу:

D - спрос;
A – амплитуда колебания;
t – время;
w - частота (представляет периодичность);
j - горизонтальное смещение;
C – вертикальное смещение;
B – коэффициент тренда;
e – ценовая эластичность.

Вышеуказанная функция имеет шесть параметров (A, w, j, C, B, e) значения которых должны быть идентифицированы, используя реальные данные. Применение аналитического метода для оценочных (идентифицирующих) значений этих параметров практически невозможно. Поэтому мы предлагаем применить известный и эффективный подход ГА, чтобы идентифицировать эти параметры.

ЗНАЧЕНИЯ ИДЕНТИФИЦИРУЕМЫХ ПАРАМЕТРОВ ФУНКЦИИ СПРОСА

Математическое выражение нашей функции спроса может рассматриваться как комплексное. Поэтому мы должны искать более эффективный метод идентификации. Использование методов искусственного интеллекта, кажется, довольно обещающим, для решения этой проблемы и в пределах методов ИИ генетические алгоритмы, в которых поисковые процедуры основаны на естественном отборе, кажутся наилучшими. ГА определяются их генетическими операторами, работающими с последовательностями бит (примеры операторов: скрещивание, инверсия и мутация) и их методами распределения кредита (оценка фитнесс функции и отбор). Поиск оптимального решения возможен благодаря генетическим операторам, которые допускают малые и большие шаги на пути поиска оптимума в пространстве параметров. Это происходит путем обмена частями каждой особи, описанных последовательностей бит (хромосома), меняя отобранные биты данной последовательности, или мутируя последовательность бит, меняя одно или большее количество бит. Схема распределения кредита основана на правиле, что особь имеет различные вероятности вступления в следующее поколение соответственно её фитнесс функции.

Преимущество применения ГА для идентификации параметров функции спроса - не имеется ограничений на вид функции спроса и также на количество параметров. Главный недостаток ГА - отсутствие гарантии, что глобальный оптимум будет найден в пределах ограниченного промежутка времени. Есть возможность приспосабливать ГА к определенным требованиям реальных проблем. Мы можем говорить, что методика ГА очень эластична.

ПРИМЕНЕНИЕ ГА К ИДЕНТИФИКАЦИЕ ПАРАМЕТРОВ ФУНКЦИИ СПРОСА

Первый шаг в применении ГА к нашей проблеме идентификации параметров - определение фитнесс функции (F). Это должна быть мера “расстояния” между моделью с генерированными данными и собранными реальными данными. В наших экспериментах мы используем следующую фитнесс функцию:

t – время;
Dt – реальные продажи во время t;
p – цена;
A, B, C, w, j, e – те же, что в уравнении 2, значения этих параметров должны быть идентифицированы.

Структура особи в нашем ГА следующая: каждая особь состоит из 1 хромосомы, разделенной на шесть сегментов. Каждый сегмент представляет один идентифицируемый параметр. Хромосома состоит из 60 бит, разделенных на 10 битовых сегментов, сегменты кодируют значения амплитуды, вертикального и горизонтального смещения, частотность, коэффициент ценовой эластичности и коэффициент тренда. Мы используем двоичный код, и каждый ген кодируется, как один бит. Пример особи представлен на рисунке 1.


Рисунок 1. - Особь ГА

Размер хромосомы - компромисс между точностью представления параметров и быстротой вычисления. Большее число бит для каждого представления параметра предоставляет более точную оценку его значения, но продолжительность вычисления (моделирования) для достижения более точного значения растет чрезвычайно быстро.

Мы используем два генетических оператора, а именно:

  • Мутация - инвертирует один бит в хромосоме,
  • Кроссенговер - обмен битовыми последовательностями между двумя хромосомами.

Следующий важный этап применения ГА - правильное определение схемы распределения кредита. Она должна быть основана на фитнессе по всей популяции решений проблемы так, чтобы данная особь имела вероятность вступления в следующее поколение согласно её относительному фитнессу. В наших экспериментах мы используем модифицированный метод рулетки. Каждой особи (хромосоме) назначается часть колеса рулетки, размер которой является пропорциональным её фитнессу. Все колесо представляет сумму фитнесса всех особей популяции. Дополнительно особь с лучшим фитнессом выбирается в следующую популяцию (правило “ не терять лучших ”).

Чтобы сделать поиск ГА более эффективным, необходимо оценить границы области определения параметров. Мы можем использовать наше эвристическое знания относительно исследуемого спроса. А именно, чтобы оценить диапазон амплитуды (A) можно оценить максимальное и минимальное количество продаж. Максимальное вертикальное смещение (C) должно быть расположено между максимумом функции спроса и нулем. Диапазон горизонтального смещения (j) должен быть помещен в диапазоне (0-2pi). Диапазон изменения ценовой эластичности (e) связан с каждым отдельным товаром и может быть установлен менеджером по продажам (вероятные значения - от 0 до 2). Диапазон частоты (w) может также быть установлен менеджером, который может прогнозировать сезонный спрос. Принятые значения параметра тренда связаны с динамикой увеличения (уменьшение) продаж и для статической среды можно установить между 1 и -1.

Если одно из значений параметров, полученных из оптимизационного эксперимента, приблизилось к границе области определения, диапазон должен быть расширен таким образом, что значение параметра будет в центре нового диапазона. Если диапазоны параметров установлены точно, значения идентифицированных параметров будут оценены быстрее и более точно. Это важно, когда мы делаем вычисления (моделирование) на не очень мощном компьютере.

Определение условия остановки важно для присущего ГА применения. Имеется две возможности остановки алгоритма: когда установленное число популяций превышено или когда фитнесс - меньше чем установленная погрешность. Оба критерия используются в нашем алгоритме.

ВЫВОДЫ

Наши результаты предлагают, что в некоторых случаях идентификации параметров функции спроса, использование генетических алгоритмов может быть более эффективным, чем в стандартном прогнозировании сезонного спроса (например, модель Винтера). В представленной статье мы исследовали ситуацию, когда функция спроса сезонная и имеет линейный тренд, но наше предложение более общее - нет никакого ограничения для приспособления вида функции спроса к определенным требованиям, например, когда наблюдается двойная сезонность, или тренд нелинеен. Результаты наших экспериментов, основанных на различных наборах реальных данных, предлагают хорошую применимость нашего предложения, но нужно сказать, что этот метод не работает хорошо для всех данных. Может выделить две общие причины неудовлетворительных результатов прогноза, используя наш подход: не правильный вид функции спроса или не соответствующий метод идентификации параметров.

На начало