Научная статья на тему 'Использование генетических алгоритмов при создании агентно-ориентованных систем в логистике'

Использование генетических алгоритмов при создании агентно-ориентованных систем в логистике Текст научной статьи по специальности «Экономика и бизнес»

CC BY
98
32
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕНЕТИЧНі АЛГОРИТМИ / АГЕНТНО-ОРієНТОВАНА СИСТЕМА / ЛОГіСТИКА / ЛАНЦЮГИ ПОСТАЧАННЯ / ГЕНЕТИЧЕСКИЕ АЛГОРИТМЫ / АГЕНТНО-ОРИЕНТОВАННЫЯ СИСТЕМА / ЛОГИСТИКА / ЦЕПОЧКИ ПОСТАВОК / GENETIC ALGORITHMS / AGENT-BASED SYSTEM / LOGISTICS / SUPPLY CHAINS

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

В статье рассматривается использование генетических алгоритмов при создании агентно-ориентированных систем для управления цепочками поставок.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Using of Genetic Algorithms to Create Agent-Based Systems in Logistics

The article discusses the use of genetic algorithms to create agent-based systems for supply chain management.

Текст научной работы на тему «Использование генетических алгоритмов при создании агентно-ориентованных систем в логистике»

удк 004.421.5

ВИКОРИСТАННЯ ГЕНЕТИЧНИХ АЛГОРИТМІВ ПРИ СТВОРЕННІ АГЕНТНО-ОРІЄНТОВАНИХ СИСТЕМ

в логістиці

ГУЖВА Володимир Михайлович

кандидат економічних наук, професор

ПАЛАМАРЧУК Ольга Володимирівна

студентка

Підхід багатоступінчастого розподілу є базовим при проектуванні мережі ланцюга постачань, коли використовується досить велика кількість продуктів, центрів постачань та агентів. До числа першочергових задач, які потрібно вирішувати в рамках такого розподілу, відноситься і задача визначення найбільш ймовірного надлишку рівня запасів та браку рівня, необхідного для забезпечення оптимізації мережі постачань, при якій загальна вартість мережі буде зведена до мінімуму. Вирішення цього завдання може бути здійснене за допомогою комп'ютерного моделювання, зокрема, за допомогою агентно-орієнтованого моделювання.

Проблематикою побудови та використання агентно-орієнтованих систем в різних сферах економічної діяльності (зокрема, і в логістиці) вчені та практики в різних країнах займаються досить давно. Так, наприклад, Хоен і По-утре розглядають мультиагентні системи реального часу в задачах маршрутизації автотранспорту з консолідацією в декількох компаніях [4]. іншим прикладом може слугувати робота Фігліозі, Махмасані і Джайлет, яка присвячена вивченню стратегії перевізників на ринку при виникненні проблеми простою вантажівок. Автори зосереджують ува-

гу на розподілі прибутку, а не на ефективності знайденого рішення.

У даній роботі за мету поставлено використовування генетичних алгоритмів при створенні агентно-орієнтованих систем.

Генетичний алгоритм (ГА) - це евристичний алгоритм пошуку, що використовується для вирішення задач оптимізації і моделювання шляхом послідовного підбору, комбінування і варіації шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію. Генетичний алгоритм є різновидністю еволюційних алгоритмів, а не їх синонімом.

Вже протягом багатьох років генетичні алгоритми використовуються в економіці як методи пошуку. Основним елементом ГА є штучний індивід. Штучний індивід складається з хромосом і професійної придатності, притаманній звичайній людині. Відповідно до принципу Дар-віна люди, які перевершують своїх конкурентів, більш схильні просувати свої гени наступним поколінням. Популяція кандидатур для формування рішення отримується в процесі відбору, рекомбінації і мутації, які ітера-ційно повторюються.

Після процесу відбору проводиться схрещування. На даному кроці формуються два нових нащадка шляхом обміну генетичною інформацією між двома хромосомами батьків (скажімо, С1 і С2, які вибираються з процесу відбору). Точка схрещування обирається навмання оператором схрещування.

Багато робіт присвячено аналізу дворівневих ланцюгів постачань [5], приклад якого наведено на рис. 1. В рамках такого ланцюга кожна з т фабрик може поставляти в будь-який з п центрів розподілу товар, і кожен із центрів розподілу п може відправити товар до будь-якого з клієнтів р. Як правило, кожна фабрика і має 5І поставок, кожен клієнт к має Бкодиниць попиту, і кожен розподільчий центр \ має Т. одиниць запасу, і головна мета полягає в мінімізації загальної вартості, яка може включати транспортні витрати, постійні витрати, час транспортування тощо.

Як можливий засіб вирішення такої задачі можна розглядати генетичний алгоритм для досягнення декількох цілей (Multi-objective Genetic Algorithm - MGA). ідея його використання зводиться до виконання наступних кроків [3]:

Крок 1. Створення початкової популяції, яка складається з N осіб (рішень), обраних випадково.

Крок 2. Виконання сортування не за принципом домінування, а за функцією придатності для створеної популяції і рознесення рішення на різні рівні (від першого до останнього) на основі їх рейтингу (згідно функції належності).

Крок 3. Розрахунок значення відстаней для всіх рішень на кожному рівні початкової популяції.

Крок 4. Перевірка того, чи правильним є рішення для початкової популяції з вираховуванням обмежень. Якщо відхилення занадто велике, потрібно заново вибрати початкову популяцію, в іншому випадку слід перейти до наступного кроку.

Крок 5. Вибір індивідів з початкової популяції для відтворення за допомогою двійкового турніру (базуючись на рівні і значенні).

Крок 6. Виконання операції схрещування і мутації для того, щоб сформувати нове покоління.

Крок 7. Перевірка того, чи нове покоління не порушує обмеження. Якщо так, слід ввести заборону на це рішення, призначивши дуже велике значення для усіх поставлених цілей.

Крок 8. Реалізація комбінації нового та старого поколінь, що дає можливість отримати універсальне покоління з розміром 2N.

Крок 9. Виконання сортування не за принципом домінування, а за функцією належності для універсальної популяції і рознесення рішення на різні рівні (від першого до останнього) на основі їх рейтингу (згідно функції належності)

Крок 10. Розрахунок значення відстаней для всіх рішень на кожному рівні універсальної популяції.

Крок 11. Сортування нової популяції за рівнем і зна-

ченням для того, щоб сформувати нову популяцію.

Крок 12. Формування нової популяції з розміром N на основі попередньої популяції, використавши додатково модуль розмаїття (використовується для виявлення ідентичних хромосом в новій популяції).

Крок 13. Якщо критерій зупинки досягнуто, то потрібно зупинитись і знайдене покоління стає оптимальним рішенням. В протилежному випадку потрібно замінити значення початкової популяції на щойно одержану і повернутись до кроку 5.

Щоб розподілити замовлення між транспортними засобами, вибираємо одного агента на один автомобіль і одного агента для кожного замовлення. Крім того, використовується агент менеджера для збору та аналізу дій і часу обробки даних всіх своїх автомобілів і для поширювання результатів до всіх автомобілів у разі потреби. Таким чином, агенти транспортного засобу мають доступ до більшої кількості інформації у порівнянні з даними, отриманими від агента менеджера. Те ж саме відноситься до агентів, що займаються відправленням товару. Тому дана мульти-агентна структура складається з чотирьох типів агентів (рис. 2) [4].

Агенти посередники повинні оцінити всі заявки, визначитись для кожної заявки стосовно того, брати її до виконання чи відхилити. Ми розглядаємо два варіанти поведінки агента. У першому варіанті агент просто приймає кращу пропозицію серед усіх агентів транспортних засобів. У другому варіанті агент відкидає всі пропозиції, якщо вони вищі порогової норми затрат, яка приймається для даного перевезення. ідея полягає в тому, що агент посередник може розраховувати на отримання кращої пропозиції по перевезенню при прийнятті рішення на більш пізньому етапі. Зрештою, ціни коливаються протягом довгого часу через зміни в наявних транспортних потужностях і в графіку транспортних засобів. Тому в ситуації, коли краща пропозиція відносно висока, але при цьому є ще досить

Рис. 2. Агентно-орієнтована структура для транспортної мережі

багато часу для очікування, краще дочекатися на більш привабливу ціну. Якщо крайній термін для відправки вже наближається, то агент посередник може збільшити по-рогову норму для того, щоб здійснити транспортування. Агенти відправлення товару відстежують час у дорозі і ціни та передають отримані дані до агентів-посередників.

Для реалізації описаного методу пропонується ско-

ристатися генетичним алгоритмом, який би дозволив визначити рівні запасів. На практиці довжина ланцюжків постачань визначається числом учасників, таких як фабрики, розподільчі центри, постачальники, продавці тощо. В якості прикладу розглянемо ланцюг, що складається з трьох етапів (стадій) (рис. 3).

Як видно з рисунка, фабрика є головним джерелом

Рис. 3. Структура ланцюга: 3 стадії - 7 членів ланцюжка постачань

ланцюга і вона повязана з двома центрами розподілу -Розподільчий центр 1 і Розподільчий центр 2, кожен з яких має двох агентів (в сукупності дана модель містить чотирьох агентів). Запропонований підхід (і відповідна модель) орієнтований на визначення конкретного продукту, який повинен бути зосереджений на кожному етапі, та кількості складських запасів продукту, яка повинна зберігатись у різних членів ланцюжка постачань. Крім того, модель, що є основою підходу, повинна показати, чи досягнуто потрібний рівень запасів конкретного продукту по кожному члену ланцюжка постачань з тією метою, щоб уникнути дефіциту продукції та щоб звести до мінімуму витрати холдингу.

Фабрика виробляє один вид продукції. База даних містить інформацію про рівень запасів продукту по кожному з членів ланцюжка постачань. Для товарів, що рухаються від фабрики до кінцевих агентів, існує обмеження на

час доставки, що також фіксується в базі даних (БД). Кожен набір даних, що записуються в базу даних, індексується згідно транспортного ідентифікатору [1]. Транспортний ідентифікатор записуються в базу даних разом з виділеним часом на поставки. Виходячи з цього, весь виділений час обчислюється за формулою:

(1)

де

ї - час обробки одного запиту; ц - запит.

Приклад даної бази наведено на рис. 4.

Набір записів, що мають позитивні значення представляє надлишковий рівень запасів продукції, а негативні значення показують дефіцит на рівні продукту.

Тепер будуємо хромосому 1 і хромосому 2 з випад-

Фабрика Розподільчий центр 1 Розподільчий центр 1 Агент 1 Агент 2 Агент 3 Агент 4

1000 300 -200 59 150 -100 100

Рис. 4. Набір даних для аналізу

ковими числами. В результаті маємо 2 хромосоми по 7 генів (відповідно до нашої моделі, яка містить 7 елементів) (рис. 5).

Хромосома 1

2000 100 -400 600 -500 -100 700

Хромосома 2

3000 -100 -200 500 -300 500 -800

Рис. 5. Отримані початкові хромосоми

Хромосоми, породжені таким чином, потім застосовується для того, щоб знайти кількість входжень в базі даних за допомогою функції належності [1].

Функція належності дає гарантію того, що розвиток відбувається в бік оптимізації для кожної особини в популяції:

ґ „/ \ \

1 —

P(c)

T( periods)

+ log(w2t stock )>

(2)

a = i,2,3..., m,

де Р(ос) - число особин, за весь період ;

Т(регіосІ$) - загальна кількість запасів після кластери-зації;

т - загальна кількість хромосом, для яких проводиться обчислення функції належності.

w1 та w2 - ваги рівнів запасів та часу, витраченого на оптимізацію запасів відповідно і вони визначаються так:

= „ . „ ' (3)

W2 =

Ri + R2 R2 Ri + R2

(4)

де Д та ^2 - рівні впливу рівня запасів та часу, витраченого на оптимізацію запасів відповідно.

Час розподілення запасів визначається так:

1-і

tstock = 11 ‘q,i■ i=i q

(5)

Отримані хромосоми сортуються згідно зі значенням функції належності. У функції належності відношення

Р(ос)/Т(регіойв) відповідає за появлення певної хромосоми; і [і- Р(ос) / Т(регіосЬ)\буде забезпечувати мінімальне значення, яке відповідає максимальній імовірності; ї^оск - побудована таким чином, щоб обрати мінімальний час на оптимізацію запасів [1].

Після того, як функцію належності вже розраховано, проводяться генетичні операції. Спочатку проводиться селекція - обираються найкращі хромосоми для досягнення цільової функції.

В рамках операції схрещування серед численних операторів обираються, наприклад, дві точки схрещування. Місце схрещування обирається навмання оператором схрещування [2]. Дві хромосоми проходять схрещування за 2 кроки.

Гени перед точкою перетину С1 і гени за точкою перетину С2 залишаються незмінними навіть після того, як схрещування вже відбулось.

Мутація відкриває нові хромосоми, які не схожі на початкові хромосоми. Процес повторюється для певної кількості ітерацій, поки не буде знайдено дві хромосоми, які будуть задовольняти в процесі прийняття рішення функцію належності. Коли число ітерацій збільшується, результат рухається ближче до точного рішення і до мінімізації цільової функції. Зрештою, за допомогою генетичного алгоритму, кращий рівень запасів буде надходити до ланцюжка поставок і втрати, пов'язані з проведенням надлишкового рівню запасів і рівню дефіциту, можуть бути зменшено якнайшвидше.

Отже, в результаті проведення генетичного алгоритму ми отримали найкращу можливу хромосому, яку показано на рис. 6.

Висновки.

остаточну хромосому ми отримали в результаті генетичного алгоритму, яка може викликати максимальне зменшення вартості ланцюга поставок. Реалізація необхідних заходів щодо усунення виявлених надлишків/дефіцитів на різних ділянках ланцюга поставок сприяє зменшенню вартості такого ланцюга. Таким чином, дотримуючись передбаченого рівня запасів, можна уникнути підвищення вартості усього ланцюга поставок.

отже, належним чином розроблений мультиагентний підхід виконує такі ж або навіть кращі, ніж традиційні методи. Зокрема, мультиагентний підхід дає більш стабільний рівень сервісу.

Фабрика Розподільчий центр 1 Розподільчий центр 1 Агент 1 Агент 2 Агент 3 Агент 4

440 -701 290 311 713 -209 -583

Рис. 6. Набір даних для аналізу

Література

1. P.Radhakrishthi, Dr. М. R. Gopalan, N.Jeyan «Design of Genetic Algorithm Based Supply Chain Inventory Optimization with Lead Time»

2. P.Radhakrishnan, Dr. V.M.Prasad, Dr. V.M.Prasad «Inventory Optimization in Supply Chain Management using Genetic Algorithm»

3. Yandra, Marimin, Irawadi Jamaran, Eriyatno, Hiroyuki Tamura «An integration of multi-objective genetic algorithm and fuzzy logic for optimization of agroindustrial supply chain design»

4. Martijn Mes, Matthieu van der Heijden, Aart van Harten «Comparison of agent-based scheduling to look-ahead heuristics for real-time transportation problems»

5. Shengyong Chen, Yujun Zheng, Carlo Cattani, Wanliang Wang «Modeling of Biological Intelligence for SCM System Optimization»

i Надоели баннеры? Вы всегда можете отключить рекламу.