УДК 004.02
С.В. ГРИБКОВ*, В.А. ЛИТВИНОВ**, Г.В. ОЛІЙНИК*
ЗАДАЧА ПЛАНУВАННЯ ВИКОНАННЯ ДОГОВОРІВ ТА ПІДХОДИ ДО ЇЇ ЕФЕКТИВНОГО ВИРІШЕННЯ
Національний університет харчових технологій, Київ, Україна Інститут проблем математичних машин і систем НАН України, Київ, Україна
Анотація. Розглядаються особливості задачі планування виконання договорів у сфері діяльності з надання послуг, пропонується математична модель задачі, проводиться аналітичний огляд можливих методичних та технологічних підходів до її вирішення.
Ключові слова: планування виконання договорів, математичне моделювання, управління виробничою діяльністю, методи та алгоритми.
Аннотация. Рассматриваются особенности задачи планирования выполнения договоров в сфере деятельности по предоставлению услуг, предлагается математическая модель задачи, приводится аналитический обзор возможных методических и технологических подходов к ее решению. Ключевые слова: планирование выполнения договоров, математическое моделирование, управление производственной деятельностью, методы и алгоритмы.
Abstract. The peculiarities of the problem ofplanning contract execution in the field of delivery of services are considered. A mathematical model of the problem is proposed. An analytical review of possible methodological and technological approaches to its solution is performed.
Keywords: planning contract execution, mathematical modeling, production activity control, methods and algorithms.
1. Вступ
У сучасному світі договірні відносини є невід’ємною складовою господарської діяльності кожного підприємства. Отже, планування виконання договорів є однією з найбільш важливих функцій управління підприємством. Ефективність вирішення задач формування планів виконання робіт значною мірою визначається урахуванням особливостей функціонування підприємства та його виробничої діяльності. У цьому відношенні певний інтерес представляє виробнича діяльність підприємств, пов’язана з наданням широкого спектра різнопланових послуг. Прикладом такої діяльності є надання послуг конфіденційного зв’ язку, розробка замовних спеціальних програмних продуктів, надання різноманітних інформаційних послуг тощо.
Мета статті полягає в побудові математичної моделі подібних задач та огляді можливих методів і підходів до її ефективного вирішення.
2. Опис та особливості задачі планування виконання договорів
Виробнича діяльність підприємств у сфері надання послуг значним чином залежить від однієї з найбільш важливих функцій управління - планування, що здійснюється на основі укладених підприємством договорів. Визначальним чинником організації роботи всіх виробничих підрозділів є формування узгодженого, скоординованого плану робіт, який жорстко регламентує їх діяльність у процесі виконання поставлених цілей. Тільки у такий спосіб можна забезпечити не лише цілеспрямовану і взаємоузгоджену діяльність, а й максимально ефективно використовувати усі наявні ресурси, комплексно та швидко вирішувати різноманітні задачі управлінської діяльності.
Планування виконання договорів для підприємств, діяльність яких пов’ язана з наданням послуг, здійснюється одночасно на всіх прошарках багаторівневої ієрархічної організаційної структури. Причина полягає в тому, що жодне планове рішення не є незалеж-
© Грибков С.В., Литвинов В.А., Олійник Г.В., 2015 ISSN 1028-9763. Математичні машини і системи, 2015, № 2
61
ним від інших і потребує повного розуміння поставлених задач усіма пов’язаними між собою ланками управлінського та виконавчого апарату. Планування виконання договорів поєднує цілі як підприємства загалом, так і його підрозділів зокрема, із засобами їх досягнення. Крім цього, планування виконання договорів водночас є інструментом контролю, оскільки не лише встановлює цілі, нормативи та еталони діяльності, а й визначає межі відхилень від норм, порушення яких обумовлює прийняття додаткових координуючих рішень.
Формування календарного плану вимагає дотримання відповідності особливостям діяльності підприємства з надання послуг. Приймемо, що один договір укладається на один вид послуги, а його виконання здійснюється у декілька послідовно паралельних етапів. Таким чином, окремий договір конкретизує загальний вид послуги у відповідності з вимогами замовника. Для виконання кожного етапу призначається компетентний виконавець - один співробітник або їх група та використовуються відповідні ресурси. Схематичне зображення вищезазначеного представлене на рис. 1.
Для діяльності підприємства з надання послуг характерним є ряд специфічних аспектів, що відрізняє її серед інших сфер діяльності, таких як, наприклад, виробництво продукції. По-перше, послідовність виконання етапів кожного договору, їх кількість, час, необхідний для виконання, залежать як від особливостей загального виду послуги, так і від потреб конкретного замовника, що визначаються умовами укладеного договору. Крім цього, визначальними також є можливі індивідуальні вимоги або терміновість строків виконання. Обсяги робіт для одного і того самого виду послуги відрізняються у кожному окремому випадку. По-друге, здійснення етапів одного договору може проводитися різними виконавцями одночасно, за умови, якщо це не порушує логічної узгодженості проведення робіт. По-третє, потреба у забезпеченні етапів ресурсами, такими, як певне технічне обладнання, спеціалізовані програмні засоби тощо, також визначається в залежності від потреб замовника. По-четверте, загальна кількість договорів не регламентована і її неможливо прогнозувати, замовлення можуть надходити у різний час як на різні, так і на однакові види послуг. Поява нових замовлень вимагає оперативного внесення змін до існуючого календарного плану, а також встановлення таких термінів виконання, які будуть мати найменший вплив на проведення інших робіт.
Наведені особливості дають підстави для відокремлення задачі планування виконання договорів як специфічної частини загального класу задач планування, що, у свою чергу, вимагає поглибленого дослідження з метою пошуку або розроблення ефективних методів її вирішення.
Вид послуги
Договір
Рис. 1. Загальна схема процесу виконання договорів
62
ISSN 1028-9763. Математичні машини і системи, 2015, № 2
3. Формалізація та математична модель задачі планування виконання договорів
Введемо такі позначення:
N = {і, 2,...,n} - множина договорів, які необхідно виконати за плановий період [Tp, Tz ] (Tp - час початку періоду, Tz - час закінчення періоду);
n - кількість договорів, які необхідно виконати за плановий період; і - номер договору, що входить у множину договорів, і є N;
J - множина етапів, причому кожний договір містить відповідну тільки йому множину етапів J = {і, 2, ..., w};
W - кількість етапів для і -ого договору; j - номер етапу з множини етапів, j є Jі;
M = {і, 2,... , т} - множина виконавців; т - кількість виконавців; і - виконавець з множини виконавців, і є M ;
tp ^ - час початку виконання j -ого етапу і -ого договору l -им виконавцем; tVj - час виконання j -ого етапу і -ого договору l -им виконавцем; tdifl - час затримки перед виконанням j -ого етапу і -ого договору l -им виконавцем;
rtj - сукупність ресурсів, необхідних для виконання j -го етапу і -ого договору; trj - час надходження ресурсів, необхідних для виконання j -го етапу -ого договору;
R - сукупність ресурсів, необхідних для виконання і -ого договору; y j - параметр, що приймає значення {0,1}: Ууі = 1, якщо j -ий етап і -ого договору виконується l -им виконавцем; y ijl = 0 в іншому випадку;
c j - вартість виконання j -ого етапу і -ого договору l -им виконавцем за годину;
T - директивний термін виконання і -ого договору, визначений умовами договору, Tp < T < Tz;
g і - розмір штрафних санкцій при порушенні директивного терміну T t виконання і -ого договору.
Для задачі календарного планування виконання договорів вводимо такі обмеження:
1. Передбачається, що кожний l-ий виконавець одночасно може виконувати не більше одного j -етапу -ого договору:
Z у у =1. (1)
ієМ
2. Усі етапи всіх договорів повинні бути виконані, що є необхідною умовою для надання замовникам послуг у повному обсязі:
ZZ у v=w. (2)
ує Jі ІєМ
3. Початок виконання будь-якої роботи і -им виконавцем можливий лише після завершення виконання цим же виконавцем попередньої роботи:
tPу ^ tPqvi, ЧєК vєJq, іФq. (3)
ISSN 1028-9763. Математичні машини і системи, 2015, № 2
63
4. За умови, якщо j -ий етап і -ого договору неможливо здійснити без завершення виконання попередніх, то
tPji > max(Phs + + tdihs), seM, heJi, h<j. (4)
h
Час початку виконання j -ого етапу і -ого договору l-им виконавцем наступить тільки тоді, коли будуть виконані попередні h -ті етапи s -им виконавцем. Причому для визначення остаточного часу завершення виконання таких етапів достатньо обрати той, який закінчується останнім. Якщо наступний етап можна виконати незалежно від виконання попередніх, обмеження не виконується: tpjt > 0.
5. Потреба у максимальній неперервності виконання та зменшенні простоїв, пов’язаних з відсутністю ресурсів, зумовлює вчасне забезпечення кожного етапу необхідними ресурсами.
Сукупність ресурсів, необхідних для виконання і -ого договору:
'■“і
X
j=і
r
j
(5)
Вчасне забезпечення ресурсами безпосередньо впливає на вчасне та безперебійне виконання договору:
trj < tPji .
(6)
Крім цього, існує потреба у наданні переваги виконанню певного замовлення, оскільки різні послуги замовляються різними контрагентами і мають різні пріоритети виконання. Для визначення переваг кожного договору, що буде виконаний у межах планового періоду, задається вага ut, яка характеризує його відносну важливість. Фактично, вага є
коефіцієнтом важливості, для якого існують такі умови: 0 < u < 1, X uі = 1.
і і=і
При складанні календарного плану всі умови і обмеження, що випливають з постановки розглянутої задачі, мають обов’язково виконуватися, тобто отриманий розклад повинен бути допустимим. Побудова такого розкладу або навіть з’ясування факту його існування є далеко не тривіальною задачею.
У ситуації існування декількох допустимих розкладів необхідно вибрати кращий з них, який є причиною виникнення складної і багатопланової проблеми їх оцінки. Оцінити якість та ефективність складеного календарного плану можна за допомогою різних критеріїв, використання яких визначається конкретними умовами. Для досліджуваної предметної області доцільно ввести та описати власні критерії оцінки ефективності:
1. За часом виконання договорів.
Загальний час виконання -ого договору:
Z і = max
j
X
VI=1
jl + tdjl +'
\ \ 1 ( m і \
tv j) * У j) - j X (tP j * У j)
V l=1
j
j
(7)
Це означає, що при умові врахування послідовності етапів з можливим одночасним їх здійсненням виконання договору дорівнює різниці між максимальним моментом часу завершення етапу та мінімальним моментом часу початку виконання.
На основі вищезазначеного сформуємо критерій оптимальності за часом виконання, який повинен прямувати до мінімуму:
64
ISSN 1028-9763. Математичні машини і системи, 2015, № 2
Fi = Z (ui * Zi)® min- (8)
i=1
2. За часом запізнення виконання договорів.
Якщо умова Zi < Ti не виконується, оскільки загальний час, необхідний для виконання і -ого договору, збільшується під впливом певних зовнішніх чинників (наприклад, невчасна поставка необхідного обладнання) і, як наслідок, перевищує директивний термін Zt > Ti, виникає запізнення у виконанні даного договору. Загальний час виконання в такому випадку повинен мінімально відхилятися від директивного терміну.
Для і -ого договору:
Zt — Tt, якщо Zi > Ti 0, якщо Zi < Tt
Для всіх договорів за плановий період:
F2 = Z U * Yi)® min .
і =1
3. За сумарним розміром штрафів за затримку виконання:
F3 = Z (ui * Si * Yi)® min.
i=1
(9)
(10)
(11)
4. За сумарною вартістю виконання договорів за заданий період.
F4 = Z
i=1
u
.w
■'ijl >
® min.
JJ
*
(12)
Задача, що розглядається, відноситься до класу багатокритеріальних оптимізацій-них задач, оскільки налічує чотири критерії, значення кожного з яких безпосередньо впливає на вибір оптимального рішення. Для вирішення такої задачі виконаємо її зведення до однокритеріальної з урахуванням можливої нерівноцінності наведених критеріїв, що визначається особливостями конкретного випадку.
Для позначення пріоритету кожного з запропонованих критеріїв використаємо показник Хір, де р - номер критерію, 1 <р< 4 . Значення показника повинні відповідати
таким
4
умовам: 0 < Х < 1 та ZXp =1
*Р р=1
Для побудови узагальненого критерію проведемо нормалізацію критеріїв з метою приведення їх до єдиної розмірності:
F — Fmin 1 — р р
тт» max у-* m FР — FР
(13)
З урахуванням встановлених пріоритетів та проведеної нормалізації виконаємо адитивну згортку і таким чином отримаємо узагальнений критерій для варіанта рішення:
F0 = ZXp *Р® min.
Р=1
(14)
ISSN 1028-9763. Математичні машини і системи, 2015, № 2
65
Використання вказаного узагальненого критерію оцінки ефективності дає можливість визначення найбільш оптимального варіанта календарного плану з набору альтернативних рішень, враховуючи значення та важливість кожного окремого критерію.
Розв’язання задачі планування виконання договорів є процесом виконання деякої фіксованої системи завдань за допомогою певної множини ресурсів певними виконавцями [1-4]. При перенесенні загальної теорії розкладів на задачу планування виконання договорів формулювання задачі звучить так: «Для заданого набору замовлень, що надійшли на надання послуг, з урахуванням часових інтервалів, при застосуванні певних ресурсів та засобів побудувати такий розподіл виконання усіх їх етапів кожним виконавцем, для якого значення обраних критеріїв оптимальності є найкращими».
4. Огляд можливих методів і підходів до вирішення задачі
Як видно з побудованої математичної моделі, задача планування виконання договорів належить загальному класу NP-складних багатокритеріальних комбінаторних задач. Розмірність задачі визначається кількістю елементів множин N, J, M. Для прикладу, підприємство, напрямом діяльності якого є надання послуг конфіденційного зв’язку, має такі узагальнені значення показників: 1) кількість укладених договорів, що виконуються за плановий період, близько 400; 2) загальна кількість етапів усіх договорів залежить від особливостей конкретних замовлень і знаходиться у приблизних межах від 500 до 2500; 3) кількість виконавців також не є чітко визначеною, оскільки, в залежності від замовлення, один співробітник для одного етапу може виступати самостійно як виконавець, а для іншого являється частиною групи; також можливими є випадки здійснення деяких робіт сторонніми організаціями на замовлення; при цьому середнє значення m складає приблизно 70. Отже, розмірність задачі практично виключає реальну можливість її вирішення «грубою силою», тобто прямим перебором можливих варіантів рішень.
Для вирішення поставленої задачі нами був розглянутий підхід до формування плану виконання договорів на основі методів лінійного цілочисельного програмування, але при проведенні експериментальних розрахунків виявилися негативні фактори, такі як висока трудомісткість застосування і необхідність залучення кваліфікованого спеціаліста при проведенні розрахунків. При цьому, із зростанням розмірності задачі трудомісткість збільшується, а тому, як наслідок, значно зростає час, необхідний для розв’язання, що виявляється критичним при необхідності перебудови календарного плану, внесенні окремих невеликих змін або коригуванні відповідно до реальної ситуації.
Подібні недоліки наявні при застосуванні градієнтного методу розв’язання задачі. За рахунок можливого існування декількох локальних оптимумів, а їх кількість може змінюватись для кожного окремого випадку, існує вірогідність зациклювання при пошуку рішення або незнаходження оптимального рішення взагалі. Однією з робіт з цього напряму, що викликає певний інтерес, є джерело [5], в якому розглянуто застосування градієнтного методу в алгоритмі глобального пошуку, заснованого в характеристиках структури вирішувального правила з узагальненою характеристикою квадратичного типу. З метою вирішення описаних проблем було проведене дослідження із застосуванням методу пошуку з заборонами, який дозволяє алгоритму локального спуску не зупинятися в одній точці, а переходити від одного локального оптимуму до іншого, чим досягається знаходження глобального оптимуму. За рахунок використання списку заборон з’ являється можливість виходити з локальних оптимумів і тим самим запобігати зациклюванню. Для формування такого списку необхідно зберігати інформацію про усі знайдені значення локальних оптимальних рішень до поточного кроку, а вже на їх основі визначати заборони для поточного рішення. Таким чином, виникає потреба у постійному аналізі кожного поточного рішення, що впливає на подальший пошук. А отримання результату значною мірою залежить від кваліфікації користувача при визначенні та встановленні заборон на кожному кроці.
66
ISSN 1028-9763. Математичні машини і системи, 2015, № 2
Використання розглянутого алгоритму в автоматичному режимі неможливе, оскільки за умови такого застосування виникає ризик недосягнення або пропуску глобального оптимуму. Крім цього, помітно збільшується час розв’язання задачі, а також з’являється потреба у постійному збереженні всіх проміжних результатів. Застосування такого підходу не може бути максимально ефективним через повну непередбачуваність топології оптимі-зуючих функцій, а також постійну потребу в інтерактивному визначенні параметрів заборон.
З метою вирішення задачі планування виконання договорів була досліджена можливість застосування методу імітації відпалу [6, 7]. За умови його використання математична модель задачі комбінаторної оптимізації має вигляд пари (D, F0), де D - деяка область допустимих рішень, а F0 - критерій оптимальності (формула 14) для змінних вхідних параметрів з області допустимих рішень (X є D). Даний метод відноситься до класу порогових алгоритмів локального пошуку. Отримане рішення при використанні методу імітації відпалу є наближеним до глобального оптимуму і не залежить від вибору початкової точки пошуку, що являється одним із головних недоліків, наприклад, методу локального спуску. На кожному кроці алгоритму методу імітації відпалу в околі поточного рішення обирається деяке нове рішення і, якщо різниця між новим і поточним рішенням за значенням цільової функції не перевищує задане, то нове рішення замінює поточне. В іншому випадку вибирається нове сусіднє рішення. Метод імітації відпалу може виявитися цілком ефективним для формування розкладів з невеликою кількістю вхідних параметрів, що було підтверджено в результаті проведених розрахунків на еталонних даних.
Усі розглянуті методи у своїй основі використовують ітераційну техніку неперервної оптимізації. Очевидно, що вони орієнтовані на пошук лише локальних оптимумів, а глобальний оптимум може бути знайдений або випадково, або в залежності від параметрів, встановлених фахівцем для кожного випадку та на кожному кроці. У зв’язку з цим раціонально використовувати методи, які поєднують у собі переваги класичних способів розв’язання і водночас позбавлені їх недоліків. Такі характеристики властиві еволюційному моделюванню, до якого відносяться генетичний алгоритм та алгоритми колективного інтелекту.
У роботі [8] авторами було запропоновано вирішення задачі складання розкладу виконання замовлень на виготовлення макаронних виробів на основі генетичного алгоритму. Генетичний алгоритм використовує ітераційний підхід до поліпшення результатів, тобто на кожній ітерації відбувається пошук найкращого рішення в околі даного. Якщо таке рішення знайдено, воно стає поточним, і відбувається перехід до нової ітерації. Як наслідок, зникає потреба у зберіганні повної історії знайдених поточних рішень на всіх ітераціях, а дії проводяться лише з останнім знайденим. Це продовжується до тих пір, поки приріст цільової функції не зменшиться практично до нуля або не буде виконана задана кількість ітерацій.
Розглянемо основні етапи генетичного алгоритму, що дасть змогу виділити його переваги та недоліки. Початковим кроком для використання генетичного алгоритму є розроблення структури хромосоми, в якій буде зберігатися розв’язок. У випадку досліджуваної задачі такою хромосомою є варіант плану виконання робіт за укладеними договорами. Обрана структура повинна враховувати всі особливості й обмеження шуканого розв’язку. На наступному кроці з хромосом формується початкова популяція. Для створення нового покоління, тобто варіанта рішення з кращими показниками, із сукупності хромосом необхідно вибрати кращі для подальшої репродукції. Відбір хромосом здійснюється за допомогою цільової функції, яка визначає ступінь придатності хромосоми до формування наступного покоління. Щоб отримати нову популяцію, відібрані хромосоми попарно схрещують між собою, після чого до популяції застосовують оператор мутації. На наступному кроці
ISSN 1028-9763. Математичні машини і системи, 2015, № 2
67
цільова функція перераховується і цикл повторюється. Важливим фактом є те, що генетичний алгоритм не лише стійкий до зупинки у локальних мінімумах, але й забезпечує відносно швидкий пошук оптимального розв’язку. До недоліків використання генетичного алгоритму відноситься ймовірність знаходження дуже наближеного значення до оптимального, але не оптимального. Необхідно відмітити, що глобальний оптимум може бути пропущений, але знайдене рішення все одно буде дуже наближеним.
Для вирішення задач оптимізації існує можливість застосування алгоритмів колективного інтелекту. До таких алгоритмів відноситься і так званий мурашиний алгоритм (ant colony optimization algorithm - ACO), який моделює поведінку колонії мурах при вирішенні задач. Для пошуку екстремальних значень цільової функції будується орієнтований зважений граф, а на кожній ітерації ACO алгоритму використовується визначена кількість агентів (штучних мурах), які будують таку ж кількість допустимих рішень задачі на побудованому графі. Серед цих рішень вибирається частина найкращих за значенням цільової функції, а в цій частині відшукуються повторювані компоненти рішення. Отримана інформація накопичується в загальнодоступному банку даних і використовується агентами незалежно один від одного. На наступних ітераціях дані компоненти будуть мати більшу ймовірність увійти до остаточного рішення, ніж на попередніх. Кожен агент діє за правилами ймовірнісного алгоритму та при виборі напрямку подальшого руху орієнтується не тільки на прирощення цільової функції, а й на статистичну інформацію, що відображає попередню історію колективного пошуку [9]. ACO алгоритм має такі переваги: відносна простота реалізації, гнучкість у налаштуванні для умов конкретної задачі, дозволяє знайти оптимальне або наближене до нього рішення за поліноміальний час [10-11].
При використанні ACO алгоритму кожний к -тий агент має власну пам’ять Vau к,
де зберігається перелік вузлів, які він повинен відвідати, починаючи з u -ого вузла. Кожний к -тий агент здійснює один перехід між вузлами за одну ітерацію t.
Ймовірність переходу від u -ого до r -ого вузла к -ого агента на ітерації t визначається ймовірнісно-пропорційним правилом, що має вигляд
P =
ur, к
tur (t T *hur (t)
^tuv(tT *huv(t)
veVu ,к
0, якщо r ї Vau к
, якщо r є Vat
щк
(15)
де Pur (t) - інтенсивність (кількість) відміток, наявна на ребрі між вузлами u та r на ітерації t; hur(t) - величина, обернена довжині ребра dur, яка визначає бажаність переходу цим ребр°^ hur(t) = 1/ dur; dur- довжина ребра; а - вага ферменту, 0 <а< 1; b - коефіцієнт евристики, 0 < b < 1; V - номер вузла, який ще не був відвіданий k-тим агентом, v є Vu, к . Коефіцієнти а і Ь визначають відносну значимість параметрів tur (t) та hur (t), при а = 0 буде обрано найближчий до поточного вузол, при b= 0 вибір буде зроблений лише на основі інформації про значення рівня відміток. Оскільки кожний агент може здійснити перехід тільки до вузлів, які ще не були відвідані у відповідності з Vau к, ймовірність переходу визначається тільки для тих ребер, які ведуть до таких вузлів.
Пройдений агентом шлях розраховується після його повного завершення. Виникнення циклів при цьому неможливе, оскільки за правилами алгоритму для одного маршруту заборонено проходити одне ребро графа більше, ніж один раз. У результаті підраховується довжина шляху, що дорівнює сумі довжин усіх ребер, які були пройдені агентом.
68
ISSN 1028-9763. Математичні машини і системи, 2015, № 2
Кількість відміток на кожному ребрі, що були залишені на ітерації t к -тим аген-
том:
Dtur,к (t) =
де Q - регульований параметр, значення якого має бути близьким з довжиною оптимального для поточної ітерації маршруту; Lk (t) - довжина маршруту Тк (t); Тк (t) - маршрут, пройдений к -тим агентом до ітерації t.
Залишені на ребрах графа відмітки представляють собою засіб вимірювання шляху: короткий шлях характеризується високою їх концентрацією, а більш довгий - низькою. На початку шляху кожне ребро має шанс бути обраним випадковим чином, а на всіх ребрах наявне однакове для всіх деяке мінімальне значення відміток. У процесі пошуку рішення для всіх ребер застосовується процедура оновлення рівня відміток, що дозволяє на наступних ітераціях не використовувати ті ребра графа, які утворюють гірші шляхи на ньому. Така процедура включає обчислення залишених черговим агентом відміток з урахуванням зниження їх кількості в часі за такою формулою:
b
tur (t + 1)= (1 - Р) * t (t)+ 2 Dtur, к (t), (17)
к=1
де p - коефіцієнт оновлення рівня відміток, 0 £ p £ 1; b - кількість агентів. Важливим є той факт, що дана процедура застосовується для всього шляху, при цьому кожне ребро відмічається пропорційно довжині цього шляху. Саме тому слід дочекатися закінчення агентом повного проходження і тільки потім оновити значення рівня відміток.
Загальна кількість агентів приймається постійною на весь час розв’язання задачі. Причому, занадто велика кількість агентів призводить до швидкого підсилення неоптимальних маршрутів, а замала - до нереалізованості основної ідеї алгоритму, отже, кількість відміток швидко зменшується. Зазвичай кількість агентів приймають рівною кількості вузлів, помноженої на число ребер.
Після того, як агент завершив проходження шляху і відмітки на ребрах оновилися, цикл виконується повторно. Цей процес продовжується до тих пір, доки після деякої кількості проходів не буде знайдено значних змін. Після цього визначається той шлях, який і представляє собою найкраще рішення.
Отже, для застосування ACO алгоритму необхідно представити задачу у вигляді орієнтованого зваженого графа, на якому агенти будуватимуть рішення; визначити початкове розташування агентів; визначити евристику поведінки агента при пошуку рішення; реалізувати локальний пошук; налаштувати параметри алгоритму.
Швидкість знаходження оптимального рішення при використанні ACO алгоритму для розв’язання задачі планування виконання договорів є дуже важливою, оскільки вона являється NP-складною, а тому із збільшенням кількості вхідних даних зростає час її розв’язання. А якість одержуваних рішень при використанні ACO алгоритму багато в чому залежить від таких даних: від вибору умовно оптимального рішення на кроці ініціалізації, значення параметрів в імовірнісно-пропорційному правилі вибору шляху на основі поточного значення відміток, параметрів правил роботи з відмітками на ребрах.
Враховуючи складність задачі планування виконання договорів та її велику розмірність, застосування ACO алгоритму в первинному вигляді не дозволяє досить швидко знайти оптимальне або близьке до нього рішення. Отже, необхідним є визначення можливих шляхів покращання алгоритму, орієнтуючись на досліджувану предметну область. Крім цього, важливим є представлення структури даних, на основі якої буде здійснюватися
Q
якщо (u, r)є Tk (t)
Lk (t)
0, якщо (u, r)їТк(t)
(16)
ISSN 1028-9763. Математичні машини і системи, 2015, № 2
69
побудова рішення, оскільки стандартне представлення у вигляді звичайного графа підходить для вирішення більш простих тривіальних задач, а в межах багатоплановості задачі, що розглядається, не дає можливості повноцінно охопити усі її аспекти.
Однією із можливостей ефективного вдосконалення ACO алгоритму для розв’язання задачі планування є його поєднання з генетичним алгоритмом, завдяки чому досягається динамічне налаштування параметрів під різні варіанти вхідних даних. Як наслідок, зменшується кількість необхідних для знаходження розв’язку ітерацій, а загальний час роботи зменшується [12].
5. Висновки
Побудована математична модель задачі планування виконання договорів, а також дослідження та аналіз методів її вирішення дають підстави стверджувати, що вирішення такої задачі з використанням одного з розглянутих методів не дає можливості отримати оптимальний розв’язок за поліноміальний час. Кожен з досліджуваних підходів має власні переваги та недоліки у відношенні до окремих особливостей задачі. Для ефективного її вирішення перспективним є вибір, комбінування та використання ідей і елементів різних методів. В основу розв’язку поставленої задачі планування доцільно, на наш погляд, покласти ACO алгоритм, для застосування якого визначальним чинником є розробка представлення структури даних з подальшим проведенням адаптації та використанням поліпшуючих модифікацій основних етапів алгоритму, що в результаті забезпечить ефективність та швидкість розв’язання задачі.
СПИСОК ЛІТЕРАТУРИ
1. Танаев В.С. Введение в теорию расписаний / В.С. Танаев, В.В. Шкурба. - М.: Наука, 1975. -256 с.
2. Танаев В.С. Теория расписаний. Многостадийные системы / Танаев В.С., Сотсков Ю.И., Струсе-вич В.А. - М.: Наука, Гл. ред. физ.-мат. лит., 1989. - 328 с.
3. Coelho J. Comparative analysis of meta-heuristics for the the resource constrained project scheduling problem / J. Coelho, L. Tavares // Techn. Rep. Department of Civil'Engineering, Instituto Superior Tecni-co, Portugal. 2003.
4. Безгинов А.Н. Обзор существующих методов составления расписания / А.Н. Безгинов, С.Ю. Трегубов // Информационные технологии и программирование: межвузовский сб. ст. - М.: МГИУ, 2005. - № 2 (14). - С. 5 -18.
5. Городецкий С.Ю. Нелинейное программирование и многоэкстремальная оптимизация / С.Ю. Городецкий, В.А. Гришагин. - Нижний Новгород: Издательство Нижегородского университета, 2007. - С. 357 - 363.
6. Каллан Р. Основные концепции нейронных сетей / Каллан Р. - М.: Издательский дом Вильямс, 2003. - 288 с.
7. Джонс М.Т. Программирование искусственного интеллекта в приложених / Джонс М.Т. - М.: ДМК Пресс, 2004. - 312 с.
8. Грибков С.В. Використання генетичних алгоритмів для розв’язання задачі складання розкладу замовлень / С.В. Грибков, Л.Г. Загоровська, Н.Н. Бровченко // Восточно-европейский журнал передовых технологий. - 2011. - № 6/4 (54). - С. 45 - 48.
9. Гафаров Е.Р. Доказательство NP-трудности частного случая задачи минимизации суммарного запаздывания для одного прибора / Е.Р. Гафаров, А.А. Лазарев // Известия АН: Теория и системы управления. - 2006. - № 3. - С. 120 - 128.
10. Зайченко Ю. Исследование муравьиных алгоритмов оптимизации в задаче коммивояжера / Ю. Зайченко, Н. Мурга // International Journal «Information Models and Analyses». - 2013. - Vol. 2, N 4.- С. 370 - 384.
11. Dorigo M. Ant Colony Optimization / M. Dorigo, T. Stutzle. - Cambridge: MIT Press, 2004. - 305 p.
12. Загидуллин Р.Р. Вопросы синтеза математических моделей оперативно-календарного планирования / Р.Р. Загидуллин // Технология машиностроения. - 2006. - № 1. - С. 76 - 78.
Стаття надійшла до редакції 16.02.2015
70
ISSN 1028-9763. Математичні машини і системи, 2015, № 2