УДК 519.85
ОДНА ЗАДАЧА УПАКУВАННЯ ЯК КОМБІНАТОРНА ОПТИМІЗАЦІЯ НА НЕЧІТКІЙ МНОЖИНІ РОЗБИТТІВ І ЇЇ РОЗВ’ЯЗУВАННЯ
ЄМЕЦЬ О.________________________________
Розглядається одна задача нечіткої комбінаторної оптим-ізації. Для цієї задачі пропонуються методи розв’язування, обчислені оцінки методів.
1. Вступ
Розглянемо впорядковану п -вибірку з мультимно-жини G:
Є = (gii,gi2,...,gin ), (1)
де gi. Є G, ij * it, Vij,it є 1Л, V j,t є Jn.
Множина E, елементами якої є п -вибірки Є = (єь...,єп } е = (Є1,..., en ) з мультимножини G вигляду (1), називається евклідовою комбінаторною множиною, якщо з умови 3 j є Jn, ej ^ ej витікає Є Ф е.
Іншими словами, множина E має таку властивість:
Останні тенденції розвитку евклідової комбінаторної оптимізації [1-10], а також нагальна потреба використовувати інформацію, що описується нечітко [11], привели до появи нових моделей, які використовують нечіткі дані.
Мета даного дослідження - розвиток підходів розв’язування задач евклідової комбінаторної оптимізації на нечітких множинах (які є одним із способів описування нечіткої інформації за допомогою математичного апарату). Для досягнення цієї мети поставимо задачу упакування прямокутників з нечіткими даними на розбиттях і запропонуємо методи розв’язування задачі.
Наведемо необхідні в подальшому поняття і визначення евклідової комбінаторної оптимізації [1]. Нехай Jm
- множина перших m натуральних чисел, тобто Jm = {1,...,m}. Позначимо G = {gbg2>---^В - муль-тимножину, яка являє собою сукупність ц елементів, серед яких можуть бути й однакові. Мультимножину G яка має k різних елементів, зазвичай задають її
основою S(g) =(Є!,Є2,...,Єк ) - кортежем усіх різних елементів з G , і первинною специфікацією [g] В'Лъ Ц2’---’ Pk), яка визначає кількість повторень кожного елемента основи в мультимножині. Додавання мультимножин визначається так. Нехай A
- мультимножина з основою S(a) = ( x, y, z,. ..) і кратностями (k a (x), k^y, kA (z),...), а B - мультимножи-на з основою s(B=( x,y,z,...) і кратностями (MB^bWMB-B, де kA(x)> 0, k^^> 0, k^^ > 0, kB(x) > 0, k^y > 0, k^^ > 0, і так далі. Тоді під сумою A+B мультимножин A та B розуміють мультимножину з основою S(A + B) = S(A)u SB і кратностями
( k A+B (B>k A+B (B’ kA+B (B> • В В kA (x) +kB (4
kBB+kBB^kBB+kB(4-B.
Отже при додаванні мультимножин їх основи об’єднуються, а кратності однакових елементів основи додаються.
два елементи є і є, які належать множині e , відмінні один від одного, якщо вони незалежно від інших відмінностей відрізняються порядком слідування символів, які їх утворюють.
Не порушуючи загальності міркувань, будемо вважати, що елементи мультимножини G впорядковані за неспаданням, тобто має місце нерівність:
g1 ^ g2 ^ ^ g4 .
Однією з найбільш розповсюджених евклідових комбінаторних множин є загальна множина переставлень
Enk(G- множина усіх n-вибірок вигляду (1), де n = ц > k, з мультимножини G, яка складається з n дійсних чисел, серед яких k різних.
Під загальною задачею евклідової комбінаторної оп-тимізації розуміють задачу знаходження
F(x*) = ^ВВ, (2)
x* = argminF(x), (3)
за обмежень
V(B - 0 Vi є Jr; (4)
уr+SB = 0 Vi є Js, (5)
r, s - деякі цілі невід’ємні константи; E - евклідова
комбінаторна множина в просторі Rn, а F(B,
у SB, Vr+SB - деякі функції з E в R1.
2. Постановка і розв’язування задачі упакування прямокутників на розбиттях в умовах нечіткої невизначеності, яка обумовлена нечіткістю даних
2.1. Евклідова множина розбиттів
Наведемо нео бхідні в подальшому поняття і визначення.
Нехай N - натуральне число. Розіб’ємо його на доданки:
150
РИ, 2007, № 4
N = nj + n2 + ... + nj +... + ns, nj > 0, j є Js.
Тоді (ni,n2,...,ns) називається розбиттям числа N на s частин [12].
Означення 1. (Див. [9]). Нехай s = N. Розглянемо розбиття числа N (nbn2,...,nN), де nj > 0, Vj є Jn. Задамо порядок елементів в розбитті nj > n2 > ... > nj > ... > nN . Таке розбиття
(ni,n2,^,n^) назвемо евклідовим, а множину всіх таких розбиттів числа N назвемо евклідовою множиною розбиттів і позначимо її r(n) .
Означення 2. Нехай є деяка мультимножина G = {gi , g2, • • •,g 4}. Розбиттям мультимножини G на ш частин R(G,m) називається сукупність мультимно-жин G;, і є Jm, якщо їх сума є G, тобто
G = G1 + G2 + — + Gm. Множину r(G, m будемо називати евклідовою множиною розбиттів.
Означення 3. (Див., наприклад, [9]). Нечітким числом G назвемо нечітку множину [11] вигляду
G = {(g1| М-1) — ,(g^| Мл)}, де {gb g2, —, gp } ,
gi є R1, Vi є Jm - носій нечіткої множини, {мь М2, — ,Ми!, Рі є R1, Vi є J^ - множина значень функції приналежності, 0 < pi < 1, Vi є J^ .
Надалі терміни нечітке число і нечітка множина будемо розуміти як рівнозначні, використовуючи термін „число” для арифметичних (алгебраїчних) операцій, а „множина” - для теоретико-множинних операцій.
2.2. Основні операції з нечіткими числами
Використання методів розв’язування поставленої задачі передбачає знання результатів операцій знаходження суми, мінімуму і максимуму нечітких чисел.
Означення 4. Сумою двох нечітких чисел
A = < B =
і
назвемо нечітке число A+B, яке утворюється за допомогою побудови множини пар
С НІЄ1
С
М1
С
Мг|
HI a1 + Ь]
iin [у
A B ШШ ІЦ1 , Ц1
a1 + Ь р
шш
AB М1 , Мр
а2 + Ь1
min
М А, мв
а а + Ь1 РИ, 2007, № 4
AB Ма, Мі
—, І а2+Ьр
—,І аа +Ьр
ШШ
min
A B М2 , Mr
AB Мр , Мр
(6)
Перші елементи сь..., сл , де р = ар , цих пар утворюють мультимножину С = {су, —, с^}. Основа s(C) мультимножини С: s((~) = -{с1,_,сг} - це носій не-
чіткого числа A + B = {(q| p1 ) ...,(сг| рг )}. Значення функції приналежності знаходять за правилом:
Мt = max ~ j Мі",i є Jл k t є Jr (7)
VieJ„: ct =С: I J ’ ' '
тобто значення pt обирається як максимальне серед чисел цС, для яких q = ct, а г - число різних елементів в С.
Означення 5. Сумою трьох нечітких чисел
та D =
d1
md
d б
md
назвемо нечітке число
A + B + D = E + D, де E = A + B.
Твердження 1. Операція суми для нечітких чисел комутативна, тобто A + B = B + A.
Доведення. При утворенні множини пар С використовуються дві операції: додавання ai + ^ і знаходження мінімуму min(pA,рB j, i є Ja, j є Jp . Оскільки ці операції комутативні: ai + Ь| = Ь| + ai ,
min(pA,pB] = min(pjB,pAj, то множина пар С^B, отримана при додаванні чисел A і B, буде ідентична множині пар С^A , отриманій при додаванні чисел B і A.
Твердження 2. Операція суми для нечітких чисел асоціативна, тобто (A + B) + D = A + (B + D).
Доведення. При утворенні множини пар С використовуються дві операції: додавання і знаходження мінімуму. Оскільки ці операції асоціативні:
(ai + Ь^ + dk = ai + (bj + dk) і
min(mi4MiA, MjB ),MD)=™n( MiA,min(mjB, MD)), i є Ja,
j є Jp , k є J6 ,
то множина пар С^+B^ D буде ідентична множині пар
CA+(B+D)
Аналогічно до суми трьох нечітких чисел визначається сума будь-якої кількості чисел a1,...,an: a1 +... + an = (a1 +... + an.^+an , n>3.
З останніх тверджень випливає, що суму п нечітких
чисел ai = і g1
qi
Mn
, i є Jn можна виз-
начати ітеративно, тобто спочатку знаходимо суму
151
двох нечітких чисел, потім додаємо отримане нечітке число до третього нечіткого числа і так далі. Оскільки операція суми пари нечітких чисел є комутативною (див. твердження 1) і асоціативною (див. твердження 2), то порядок додавання n чисел значення не має.
Означення 6. Максимум і мінімум двох нечітких чисел
aiH-i bi Ні , то нечітке число
i=1 i =1
A будемо називати максимумом, а нечітке число B -мінімумом з двох чисел. Аналогічно можна розглядати максимум, мінімум з декількох чисел.
Означення 7. Будемо вважати два нечітких числа
A =
a1
ИіА
a а
^А
і
Задано ще p прямокутників, довжини яких є ap...,ap, ширина - h. Задача полягає в розміщенні прямокутників без накладань в смузі на її початку таким чином, щоб довжина зайнятої частини смуги була мінімально можливою.
Побудуємо математичну модель цієї задачі, вважаючи, що довжини прямокутників ai задаються нечіткими числами.
У кожній смужці в оптимальному розв’язку, очевидно, може стояти від одного до p - (m -1) = p - m +1 прямокутників, де m - це кількість смужок, на яку розділено смугу, тобто ціла частина частки від ділення
ширини смуги на h. Позначимо n = m(p - m +1 та введемо до розгляду n - p прямокутників з шириною h та довжиною ao , де ao є нечітким числом вигляду ao = КО!)}, тобто звичайним нулем.
Тоді можна вважати, що в кожній смужці стоїть рівно p - m +1 прямокутників. Позначимо xij - нечітку дов-
впорядкованими за незростанням (позначати А > B)
а А Р B
тоді, коли Z aiHi biHi , і казати, що А передує B
i=1 i=1
за незростанням.
Означення 8. Будемо вважати два нечітких числа А і B впорядкованими за спаданням (позначати А > B)
“ а Р b
тоді, коли 2 aiHi biHi , і казати, що А передує в
i=1 i—1
за спаданням.
Нехай a1 > a2 > — > aа і b > b2 ^ ^ Ьр. Два нечітких числа А і B будемо називати, виходячи з [11], рівними (позначати А = B), якщо а = р і ai = bi,
ИіА =pB , і є Jа.
2.3. Побудова математичної моделі однієї задачі упакування на розбиттях при невизначеності, яка обумовлена нечіткістю даних
Побудуємо математичну модель наступної задачі упакування прямокутників.
Нехай є деяка напівнескінченна (достатньо довга) смуга, яка поділена на смужки однакової ширини h (рис. 1).
Рис. 1 . Ілюстрація до задачі упакування прямокутників
жину прямокутника, що стоїть у і-й смужці на j -му від початку смуги місці, i є Jm , j є J p_m+1.
Розглянемо вектор x вигляду:
X = (x11,...,x1,p _ m+1,x21>--- ,x2,p-m+b--- ,xib--- >
xi,p-m+1, • • •, xm1, • • •, xm,p-m+1).
Утворимо мультимножину G = ^1, —,ap,a0,—,a^}, в якій елемент a0 зустрічається n - p раз. Тоді вектор x можна розглядати як елемент евклідової множини R(G, m) розбиттів мультимножини G на m частин, тобто x є RG, m). При цьому кожному x буде відповідати певне розташування прямокутників у смузі, і навпаки.
Використовуючи введені операції суми, знаходження максимуму і мінімуму, математичну модель сформульованої задачі упакування прямокутників при невизначеності, яка обумовлена нечіткими вихідними величинами задачі, представимо [9] у такому вигляді:
знайти
p-m+1
F * (x*) = min max £ xij .
xe Rg ,m)1<i<m j_1 ’
p-m+1
x* = arg min max £ xij
xe Rg ,m)1<i<m j=1 ’
(8)
(9)
де argF(x) позначає точку x, що доставляє відповідне значення F(x) функції F .
Формула (8) дає мінімально можливу довжину зайнятої частини смуги у вигляді нечіткого числа, а формула (9) - розбиття х *, на якому ця довжина F *(x*) досягається.
152
РИ, 2007, № 4
Як і всяку задачу оптимізації на дискретній множині, поставлену задачу можна розв’язувати за допомогою методу гілок та меж [13] - методу направленого перебору, а для прикладів невеликої вимірності - за допомогою методу повного перебору.
Хоча метод повного перебору і не є ефективним, обумовленість розгляду такого методу і проведення його аналізу полягає в тому, що, виконавши його, отримаємо верхню оцінку складності розв’язування задачі упакування (8)-(9).
Метод повного перебору полягає в тому, щоб для кожного х з евклідової множини розбиттів r(G, ш) о бчислити цільо ву функцію - довжину зайнятої частини смуги
p-m+1
F(x) = max Zxij no)
1<i<m j=l ' 1 '
При викладенні методів довжиною зайнятої частини
q
смужки i будемо називати ^ xij довжин q розташо-
j=1
ваних у ній прямокутників довжини xij кожний, j Є Jq .
В основі методу гілок і меж [13] лежить система галужень і відсікань, яка дозволяє, взагалі кажучи, значно зменшити об’єм перебору.
Є очевидним, що прямокутники з довжинами a0 не
впливають на результат: A + ao = A, де A - довільне нечітке число, тому при розв’язуванні задачі методом гілок та меж їх не розглядаємо.
Розглянемо алгоритм методу гілок та меж, який пропонується для розв’язування задачі (8)-(9).
1. Впорядкуємо нечіткі довжини прямокутників за
незростанням a1 > a2 ^ ^ ap . Позначимо через RbR2,...,Rm розбиття мультимножи-
ни G = {a1,...,apj наш частин,
R1 + R2 + — + Rm = RG, ш) , в кожному розбитті не більше ніж p - ш +1 прямокутників.
2. Формуємо початкове розміщення ~ таким чином: кожний наступний прямокутник з впорядкованого за незростанням набору довжин, починаючи з прямокутника з довжиною a1, розміщується у ту смужку, довжина зайнятої частини якої є найменшою після розміщення попереднього. Запам’ятовуємо початкове розміщення ~ і значення цільової функції f(x) при цьому розміщенні.
3. Крок t = 1. На цьому кроці розташовуємо прямокутник з довжиною a1 в смужку 1 (відносимо до розбиття R1), тобто xn = a1. Позначимо отриману
множину як s1 . Оцінку £ для будь-якої множини знаходимо як довжину зайнятої частини смуги. На
цьому кроці % И = a1. Значення t збільшуємо на 1.
4. Крок t = 2 . Розбиваємо множину s1 на m підмно-
жин S2,S2,...,sm: S1 = S2U S2U-Usm , s2ПSj2 =0 , i ^ j, Vi,j є Jm, деm - кількість смужок, розміщуючи прямокутник з довжиною a2 : в смужку 1 (розбиття R1), в смужку 2 (розбиття R2 ),..., в смужку ш (розбиття Rm). Для кожної підмножиниs2,i є Jm знаходимо оцінку множини ^ |s2) (як довжину зайнятої частини смуги). Порівнюємо ^|з2) і F(x). Якщо £ (s2) > F^ то множину s2 відсікаємо. Серед не-
відтятих підмножин sj, j є Jm вибираємо для розгалуження ту, для якої оцінка є найменшою. Усі підмножи-ни, крім підмножини, обраної для розгалуження, переглянутих і відтятих, перепозначуємо на si,_,sj, де
i, j - деякі натуральні числа. Значення t збільшуємо на 1.
5. На кожному кроці t = z > 3 розбиваємо множи-
ну s„_1 на ш (або менше, якщо деяке розбиття вже містить p - ш +1 прямокутник) підмножин
oZ oZ oZ : oZ—1 oZ I I qZ II I IcZ
sobso2>***>som • so “ so1U so2U***Usom ’
sZ(ДsZ = 0 , i ^ j, Vi,j є Jm, деm - кількість смужок, тобто розміщуємо прямокутник з довжиною aZ : в розбиття R1 , в розбиття R2 , ..., в розбиття Rm. Додавання прямокутників до Ri завершується, коли кількість прямокутників в Ri дорівнює p - ш +1. Для кожної підмножини sZ, де i - деяке натуральне число, знаходимо оцінку ^ |§Z ] (як довжину зайнятої частини смуги). Порівнюємо •%(sz) і ~(х). Якщо •%(sz) > F(x), то множину sZ відсікаємо. Якщо множина відображає розміщення всіхa1,---,ap прямокутників і I (sZ) < F(x), то значенню f(x) присвоюємо значення
I (sZ), а розміщенню ~ присвоюємо розміщення, яке відображає множина. Для розгалуження обираємо
таку підмножину sZ, для якої оцінка найменша. Усі
підмножини, крім підмножини, обраної для розгалуження, переглянутих та відтятих, перепозначаємо на
sZ+1,---,sZ+1
ня t збільшуємо на 1.
sZ+1,..., sZ+1, де i, j - деякі натуральні числа. Значен-
РИ, 2007, № 4
153
6. Процес продовжується до тих пір, доки не розгалужено або не відтято усі множини. Оптимальним значенням цільової функції буде останнє значення f(x) , а остання точка ~~ - точкою, що доставляє оптимальний розв’язок.
Зауваження. В розглянутому алгоритмі методу гілок та меж до поставленої задачі доцільно використовувати також такі правила відсікання:
відсікання №1: якщо після розміщення прямокутника
з довжиною ap деяке розбиття є порожнім R. =0, то
цю множину відсікаємо, оскільки очевидно, що ця множина не відображає оптимального розв’язку (для Р > m);
відсікання №2: якщо на деякому кроці довжина зайнятої частини смужки з номером j' дорівнює довжині зайнятої частини смужки з номером j", де j', j" -деякі натуральні числа, j' < j", то після розміщення
прямокутника a j в ці смужки (тобто додавання їх до розбиттів Rj' та Rp ), де j деяке натуральне число,
підмножину, в якій a j стоїть в смужці з номером j", відсікаємо (рис. 2.).
Зауваження. Алгоритмічно aj в смужку j" не ставиться, тобто галуження при цьому відбувається тільки розміщенням aj в смужку і' .
2.4. Оцінка складності розв’язування задачі
Спершу оцінимо час роботи алгоритму для знаходження найбільшого або найменшого з двох нечітких
чисел aj і a2, aj =
gi
4і
, і єJ2,де
[g1 > — ,g4. j - носій нечіткої множини aj, а | _ ці j
- множина значення функції приналежності. Позначимо q = max(qbq2).
Згідно [14], під часом роботи алгоритму тут і далі розуміємо число елементарних кроків, які алгоритм виконує. В нашому випадку елементарними кроками будуть операції додавання, множення і порівняння.
1 1
Для знаходження 2 gi Мі необхідно виконати опера-
і—1
цію множення не більше, ніж q раз, а операцію додавання не більше, ніж q -1. Для визначення максиму-
І1 1 1 42 2 2
му або мінімуму серед величин 2 gi Mi і 2 gi Mi
i=1 i=1
необхідно виконати одну опер ацію порівняння. Т аким чином, для знаходження найбільшого або найменшого значення з двох нечітких чисел a1 та a2 час роботи алгоритму складає не більше, ніж q + (q -1 + q + (q -1 +1 = 4q -1, тобто ©(q), де © -асимптотично точна оцінка [14, с. 36].
Аналогічно знаходимо час роботи алгоритму при визначенні найбільшого або найменшого серед s (s > 2)
нечітких чисел aj , aj
g1
Чі
і є Js, де (Sb---,g4.) - носій нечіткої множини aj,
а { М-1»—= } - множина значень функції приналеж-
ності. Нехай q = maxqj, і є Js. Для знаходжен-
v 1 1 .
ня ^ gi Mi необхідно виконати операцію множення не i=1
більше, ніж q раз, а операцію додавання не більше, ніж q -1, тобто для s чисел операція множення виконується не більше, ніж sq раз, а операція додавання не більше, ніж s(q -1 раз. Для порівняння величин
Ч1 1 1 Ч2 2 2 4s s s
Zgi M-i , Zgi Mi , ..., Zgi Mi необхідно: порівняти i=1 i=1 i=1
Ч1 1 1 _ Ч2 2 2
суми 2 gi Mi і 2 gi Mi , і більшу (меншу) суму запа-i—1 і=1
м’ятати, після цього порівняти ту суму, що запам’ята-
Чз з з
ли, з сумою 2 gi Мі і більшу (меншу) суму запам’я-i=1
V 1 1
тати тощо. Отже для порівняння величин L, gi Mi ,
i=1
^2 2 2 s s
^ gi Mi , ..., ^ gi Mi необхідно виконати s -1 опера-
i=1 i=1
цію порівняння. Таким чином, для знаходження найбільшого або найменшого серед s нечітких чисел час роботи алгоритму буде не більше, ніж
sq + s(q -1 + (s -1) = 2sq -1, тобто ©(sq).
Знайдемо час роботи алгоритму для визначення суми двох нечітких чисел a1 і a2.
154
РИ, 2007, № 4
Для утворення множини пар С за формулою (6)
необхідно виконати максимум q • q = q2 операцій додавання і стільки ж операцій порівняння. Для утворення основи s(o) необхідно відсортувати масив чисел максимальної вимірності q • q . Використаємо, наприклад, алгоритм швидкого сортування [14, с. 151]. Час роботи алгоритму швидкого сортування в гіршому
випадку складає ©((q • q)2] = ©(q4].
Кожному елементу основи ставимо у відповідність, згідно з формулою (7), функцію приналежності, тобто в найгіршому випадку треба виконати q • q -1 + q • q -1 = 2q2 - 2 операцій порівняння. Таким чином, час роботи для утворення суми двох нечітких чисел a1 і а2 буде не більше, ніж
q2 + q2 + q4 + 2q2 - 2 = q4 + 4q2 - 2, тобто ©(q4).
Аналогічно знаходимо час роботи алгоритму для знаходження суми s нечітких чисел a;, і є Js, s > 2 . Час роботи буде не більше, ніж
qs + qs + q2s + 2qs - 2 = q2s + 4qs - 2 , тобто ©(q2s ].
Проведемо аналіз алгоритму методу повного перебору для розв’язування задачі (8)-(9).
Для одного деякого розбиття маємо: в кожній смужці додаємо максимум p - m +1 прямокутників, тобто виконуємо максимум q2(p"m+1) + 4q(p'm+0 _ 2 операцій, маємо оцінку © (q2(p m+1)). Для m смужок виконуємо максимум m(q2(p'm+1) + 4q(p"m+1) - 2) операцій,
оцінка складає ©(mq2(p_m+1)). Серед довжин, зайнятих смужок знаходимо найбільшу довжину, тобто виконуємо не більше, ніж 2mq -1 операцій.
Для кожного розбиття час роботи складає не більше, ніж m(q2(p"m+1 + 4q(p"m+1) - 2] + 2mq -1, тобто маємо оцінку ©(mq2(p _ m+1)).
Кількість розбиттів числа п на m доданків, серед яких немає нульових доданків, дорівнює [15, с. 216-217]
m(m -1)
—-----— х
1-2
mn----(m - 1n +-
m! I 1 V ’
(m - 2)n -....
m(m - Km - 2). .(m - (m - 2))
(m -1)!
x (m - (m - 1))n).
Для £(mn -f(m-1f + ^(m - 2f -.... биттів час роботи буде не більше, ніж
роз-
±!mn -Цш-ОП + (m-2)"
m! І 1 v ’ 1 • 2 v ’
m(m - Km - 2Mm -(m - 2))/ (m nvn
.... ^ _ 1^! ^m (m ^
< (m(q2(p'm+1) + 4^p-m+^ - 2j + 2mq - 1)+
ia(ш" _Ш(ш - 1)n + (m - 2)n .
m! I 1V ’ 1•2 V ’
.....mm-^m~^~(m~2))(m-(m-10'
- 1
В квадратних дужках - кількість операцій, необхідних для вибору з цільових функцій найбільшої, тобто маємо оцінку
©
( m • mm+n-1
m!
mq
2(р -m+1)
^ ( mm+n+1q2(p-m+1 ^
= ©
m!
Враховуючи, що n = m(p - m +1), маємо: час роботи алгоритму методу повного перебору буде не більше, ніж
— (mm(p-m+1) - ш (т - Дшр-ш+0 + in(m ~1 х m! ^ 1 V ’ 1 • 2
х (m - 2)mp“m+^ - ..|m(q2(p-m+1) + 4q(p'm+1 - 2)+
+ 2mq-1 +
f mm(p-m+1) - m(m - Д^(р_ш+^ +
m! ^ 1 v ’
+ mm_1 (m - 2)mP-m+1 - ....J-
Оцінка приймає вигляд:
©
(m • mm+mp-m+0-1
m!
mq
2(p-m+1)
= ©
' шШ+Щр-ш+1 }f1q2(p-m+1) ^
mi
= ©
' mmp-m2 + 2m+1q2(p - m+1) ^
m!
Таким чином, час роботи методу повного перебору залежить від кількості смужок як
T(m) = ©
' щШР _m2 + 2m+1q2p-m+1) ^
m
, від кількості пря-
мокутників як
T(p) = mmp - m2 + 2m+1q2<p - m+1 j, від
РИ, 2007, № 4
155
максимальної потужності нечітких множин, що характеризують довжини прямокутників, як
T(q) =© (q2(p_m+1)).
Проведемо аналіз алгоритму методу гілок та меж для розв’язування задачі (8)-(9).
Підрахуємо кількість вузлів дерева розв’язків у найгіршому випадку (без врахування кількості операцій для знаходження початкового розміщення ~ і значення цільової функції f(x)). Після розміщення прямокутника з довжиною аі маємо 1 вузол. Після розмі-
щення прямокутника з довжиною а2 додається ще m вузлів. Після розміщення прямокутника з довжиною
аз додається ще m2 вузлів тощо, тобто після розміщення p - m +1 -го прямокутника з довжиною ap _ m+і
усього отримуємо 1 + m + m2 + m3 + _ + mp_m вузлів. Отримана послідовність є геометричною прогресією, перший член якої дорівнює 1, а знаменник геометричної прогресії дорівнює m . Сума перших p - m +1 членів геометричної прогресії дорівнює
1 + m + m2 + ... + mp m =
mp-m -1
. Таким чином, в
m -1
найгіршому випадку кількість вузлів дерева розв’
. mp-m -1
язків складає не більше ніж----- вузлів.
m -1
Для кожного вузла визначаємо скільки прямокутників, у найгіршому випадку додаємо: для вузлів 1го рівня прямокутники не додаємо, для вузлів 2-го рівня в найгіршому випадку додаємо 2 прямокутника, для вузлів 3-го рівня - 3 прямокутника, ..., для вузлів рівня p - m +1 - додаємо p - m +1 прямокутник. Отже, в найгіршому випадку кількість операцій для знаходження суми прямокутників для вузлів першого рівня
- 0, для вузлів 2-го рівня - m(q4 + 4q2 - 2), для вузлів 3-го рівня - m(q6 + 4q3 - 2], для вузлів рівняp -m +1
- m(q2p-m+1) + 4qp “m+1 - 2).
У підсумку в найгіршому випадку кількість операцій для знаходження суми прямокутників для усіх вузлів включно до p - m +1 рівня складає не більше ніж
1 • 0 + m • m(q4 + 4q2 - 2)+
+ m2 • m(q6 + 4q3 - 2} + m3 • m(q8 + 4q4 - 2) +... + mp_m x m(q2p“m+^ + 4qp_m+1 - 2) =
= m • (m(q4 + 4q2 - 2) + m2(q6 + 4q3 - 2)+
+ m3(q8 + 4q4 -2) +... + mp“m(q2(p-m+1) + 4qp“m+1 _2)) = m• (mq4 + 4mq2 -2m + m2q6 + 4m2q3 - 2m2 +... +
+ mp-mq^p~m+1 + 4mp-mqp-m+1 _ 2mp-^ =
= m • ((mq4 + m2q6... + m^mq^m+1)) + 4Ц2 +
+ m2q3 +... + mp_mqp_m+1)- 2(m + m2 +... + mp“mJ =
= m •
mq4Hmq^1, - mh
0 + 41 - mq2 1 - mq
- 2
m(l - mp~m )
1 - m
операцій.
Для кожного вузла включно до p - m +1 рівня порівнюємо довжини зайнятих частин смужок і виби-
раємо найбільшу довжину - це ще
mp-m -1
m-1
(2mq -1)
операцій.
Для кожного вузла включно до p - m +1 рівня найбільшу довжину порівнюємо зі значенням цільової
, mp_m - Ь v
функції Fix) - це ще------I4q -11 операцій.
m-1
Таким чином, для всіх вузлів включно до p - m +1 рівня маємо не більше ніж
mp~m -1 m -1
(2mq -1 + 4q -1 + m •
mq4 (1 - (mq2)p_m }
1 - mq2
+ |mq2(1 - (mqy -") _ 2m(1 - mp ~ ”|'
1 - mq 1 - m
операцій.
Вузли після розміщення p - m + 2 розглядати не доцільно - тому кількість операцій для них не підраховуємо.
Проаналізуємо останній вираз. Для цього проаналізуємо окремо всі його доданки.
mp-m _ 1
а) Оцінка виразу ------(2mq -1 + 4q -1 складає
m-1
T(m) = ©(mp_m), T(q) = ©(q), T(p) = ®(mp).
б) Оцінка виразу
m2q4 (і - (mq2^ m| m2q4 - mp_m+2q2p~ 2m+4
-----------------— = _ 2
1 - mq2 1 - mq
складає T(m) = ©(mp_m+1), T(q) =© (q2p_2m+2), Tp =© (mpq2p).
156
РИ, 2007, № 4
4m2q2
в) Оцінка виразу---
4mp~m+1qp ~ m+2 1 - mq
складає
T(m) = ©(mp-m), T(q) = ©(qP_m+1), T(p) = ©(mp“mqp-m+1).
. _ . - 2m2 + 2mp_m+2
г) Оцінка виразу ------------------- складає
1 - m
T(m) = ©(mp_m+1), від q не залежить,
T(p) = © (mp_m+2).
Таким чином, час роботи методу гілок та меж залежить від кількості смужок як T(m )=©(mp m+1), від кількості прямокутників як T(p) = ©(mpq2p), від максимальної потужності нечітких множин, що характеризують довжини прямокутників, як
T(q) = ©(q2p_2m+2).
2.5. Числовий приклад
Проілюструємо методи знаходження розв’язування задачі упакування прямокутників, довжини яких задані нечіткими числами.
Нехай дано три смужки і шість прямокутників: m = 3 , p = 6 . Нехай довжини прямокутників задані такими нечіткими числами:
a1 = { (і6 0,7 )(і7 0,2 J(i8 0,^},
а2 = {(17|0д)(18|0,3)(19|0,5)},
аз ={ (і! 0,і)(і2 0,5 )(і3 0,^},
а4 = {(7|0,5)(8|0,9)(9|0,3)},
а5 ={ (6 0,4 )(7 0,8) (^0,^},
a6 = {( 80,2)(80,4)(80Д)}.
Визначимо n = m • (p - m +1) = 3 • (6 - 3 +1) = 12.
Вводимо до розгляду n - p = 12 - 6 = 6 прямокутників з довжиною ag = {(08)}. Вектор x має вигляд
X = (x11,x12,x13,x14’x21’x22,x23’x24’ x31>x32>x33>x34).
Утворюємо мультимножину G:
G = { а1,а2,а3,а4,а5,а6,а0,а0,а0,а0,а0,а0}.
Позначаємо через R1,,R2 та R3 розбиття мульти-множини G на m = 3 частин,
R1 + R2 + R3 = R(G,m = 3, в кожному розбитті не більше ніж p - m +1 = 6 - 3 +1 = 4 прямокутників.
а) Розв’яжемо задачу (8)-(9) методом гілок та меж. Початковим буде розміщення прямокутників з довжиною а1 і а6 в першу смужку, прямокутників з
довжинами а2 і а5 - в другу, а3 іа4 - в третю. Значення цільової функції при початковому розташуванні:
F(£) ={(18 0,1 )(19| 0,5 )(28 0,5 )(21| 0,6 ),{п\0,3 )}.
Крок 1. Прямокутник з довжиною а1 розміщуємо в розбиття R1 (рис. 3).
Оцінка I Is1) дорівнює довжині зайнятої частини смуги, тобто \ (s1) = а1 = { (18 0,7)(170,2)(180,^}.
Крок 2. Розбиваємо множину S1 на три підмножини: S2, S2, S|: S1 = S?U S2 U S2, S2 П S2 =0 , i Ф j,
Vi, j є J3 , залежно від можливості розміщення прямокутника з довжиною а2 : в розбитті R1 , в розбитті R 2 або в розбитті R3 (рис. 4).
Оцінки Є, (s2) , I (S2), І (S3) дорівнюють:
I (S2) = а1 + а2 = {(33|0Д),(34|0,3)(35|0,5)(36|0,3)(37|0,3}, 5 (S2) =% (Si) = а1 = { (16 0,7 )(п| 0,2 )(18 0,3)}. Оскільки ||S2 ) >F(x) (тому що
33 • 0,1 + 34 • 0,3 + 35 • 0,5 + 36 • 0,3 + 37 • 0,3 = 52,9 >
> 18 • 0,1 +19 • 0,5 + 20 • 0,5 + 21- 0,6 + 22 • 0,3 = 40,5 ),
то вершину S2 відсікаємо. Розглянемо вершини S2 і S2 : згідно з запропонованим відсіканням №2, вершину S2 відсікаємо. Розгалужуємо множину S2.
РИ, 2007, № 4
157
Крок 3. Розбиваємо множину s2 на три підмножини:
S21’ S22 ’ S23 : S2 = S2lU S22U S23 , S2(i)^ S2(j) = 0 ’ i Ф j, Vi, j є J3 , залежно від можливості розміщення
прямокутника з довжиною аз : в розбитті Ri, в розбитті R2 або в розбитті R3 (рис. 5).
Оцінки Є,(s21), і (s322), і (s323) дорівнюють:
I(S2J = ai + а3 ^(27|0Д),(280,5),(290,6)(30|0,3)(3І0,3}, I(S22) = a2 + a3 ^(28|0Д),(29|0Д)|(30|0,3)(310,5)(32|0,5) Xs3X=a, ={(іб|0,7)(і7|0,2)(і8|0,з)|.
Рис. 5. Друге галуження
Оскільки XS321) >f(x) і XS22) >f(x), то вершини
S21 і S22 відсікаємо. Розгалужуємо S
23
Крок 4. Розбиваємо множину S23 на три підмножини:
S231, ,S232’ s233: S23 = S23lU S232US233 ’
S23(i)П S23(j) = 0 > i * j5 Vi,j є J3, залежно від можливості розміщення прямокутника з довжиною a4 (рис. 6).
Рис. 6. Третє галуження
Оцінки ^(S23^, \fe), \(s43^:
% fej = a1 + a4 = {(23 0,5 ) (23 0,7 )(25| 0,3 ) (230,3)(230,^};
% (^32) = a2 + a4 = {( 24 0,1)(23 0,3)(230,5)
(230,5)(290,^};
§ (s43^ = a3 + a4 = {(190,1)(130,5)(290,5)
(21|0,6)(22|0,3)}.
Оскільки XS2>3J > F(x) і Xs232 ) >F(x), то вер-
шини s231 і S232 відсікаємо. Розгалужуємо S4
232
233
Крок 5. Розбиваємо множину s233 на три підмножини:
S2331 ’ S2332, S2333: S233 = S2331U S2332U S2333 ’ S233(i)ПS233(j) = 0 ’ i ф j’ Vi,j Є J3 ’ розміщуючи прямокутник з довжиною a5 (рис. 7).
Рис. 7. Четверте галуження
Оцінки 5 (S233^’ \ (S233^’ \ (S233^:
5 (S233^ = a1 + a5 = {(290,4)(230,7)(290,3)
(290,3)(290,^};
% (S233^ = a3 + a4 = {(190д)(190,5)(290,5) (210,6)(290,^};
%(S233J = a3 + a4 + as = {(24 0,1 )(2^0,4 )(26| 0,5 ) (290,5)(290,6)(290,3)(390,^}. Оскільки XS2331 ) >F(x) і XS2333 ) >F(x), то вер-
шини S52331 і S52333 відсікаємо. Розгалужуємо S5
2332
158
РИ, 2007, № 4
Крок 6. Розбиваємо множину S2332 на три підмножини:
S6 об об
23321 , S23322, S23323 :
S2332 = S2332lU S23322U S23323 ,
S233^0^ S2332j) ф J’ Є J3 ,
розміщуючи прямокутник з довжиною Яб (рис. 8).
Оцінки 5 (S2332^’ \ (S2332^’ \ (S2332^:
% (S2332O=Я3 + Я4 = { (і8о,іИі9°’5М200’5)
(2і|0,б)(22|0,3)};
I^3322) = a2 + a5 + Яб = {(25|°д)(2б|0,2)(27|0,3), (28 0,4 )(2^ 0,4 )(30| 0,2 )(3l| 0,0};
Ifea) = Я3 + Я4 + Яб = {(20| 0,1 ),(21| 0,2 ),(22| 0,4 ), (23 0,4 )(24| 0,4 )(25| 0,3 )(2б| 0,0}.
Рис. 8. П’яте галуження
Оскільки 0s2332^) >F(x) і S^332^ >F(x), то
вершини S23322 і S23323 відсікаємо. Таким чином, вершина S23321 дає оптимальний розв’язок задачі. Найменшим буде значення функції F *(х * =
= 1 (s2332^ = {(180,1) (190,5) (20 0,5)^(210,б),(22|0,3}, а
точка, що доставляє оптимальне значення цільової функції, має вигляд: х* =({ (1б| 0,7^ (17 0,2^(18 0,^},
{(2o,2Mзo,4H4o,0}0(olOM(ol0}’
{(17| 0,1)(18 0,3 )(19| 0,0},
РИ, 2007, № 4
{(6o,4M70,8)(80,OM(0lO}Л(0lO}’
{(и| 0,1 ),(12| 0,5 ),(13| 0,б )},
{(7І0,5)(80,9)(90,ои(0іО}Л(0Ю}).
б) Розв’яжемо задачу (8)-(9) методом повного перебору.
Множина розбиттів R(G,m) має вигляд:
R(G,m) = R(G,3) = ({R1 = { abao,ao,ao},
R2 = {a2,a3,a4,a0},R3 ={a5,a6,a0,ao}},
{R1 ={a1,a2,a0,aO,R2 = {^^4^0^01
R3 = Оз^б,^,^}},^ = {a1,a2,a3,a0,
R2 ={ a4,a5,a0,a0},R3 = { a6,a0,a0,a0},•O.
Знаходимо значення F(x) для кожного елемента множини R(G,m) за формулою (10). Так, для першого елемента довжина зайнятої частини смуги буде такою:
F(x) = {( 35 0,1 ),(3б| 0,1),07 0,3 ),(38| 0,5 )
(39 0,5 )(4^ 0,5 ),(41| 0,3)},
для другого -
F(x) ={(33 0,Щ34 0,3 ),(35| 0,5 )(3б| 0,3 ),(37| 0,0},
для третього - F(x) = {( 44 0,1 )(4^ 0,1 Л(4б 0,3 )
(47 0,5 )(48| 0,5 )(49 0,3 )(59 0,3 )} тощо.
Найменшим буде значення функції
F* (х*) = {(19 0,1) (19 0,5 ) (2010,5 ) (21| 0,б ) (27 0,0},
а одна з точок, що доставляє оптимальне значення цільової функції, має вигляд:
х* 01 (19 0,7),(17 0,2)і(18| 0,0},
{OKOOKOOMUOlOUHOL
{(17|0д),(18|0,3),(19|0,ОЬ
{OlaO^H^OMHOUHOl
{(110,1 )(12 0,5 )(13 0,^},
{(70,5)(70,9)(90,ОМ(0іО}Л(0Ю}).
3. Висновки
Наукова новизна. Розглянута модель задачі упакування з врахуванням невизначеності даних, заданих нечіткими числами, що має вигляд задачі оптимізації на розбиттях. Запропоновано і здійснено розв’язування задачі методом гілок та меж. Дана верхня оцінка складності задачі на основі повного перебору, а також оцінка розв’язування методом гілок та меж.
Практична значущість проведених досліджень полягає в розширені апарату евклідової комбінаторної оптимізації на нечітких множинах.
159
Порівняння з аналогами. Задача упакування прямокутників, з врахуванням даних, заданих нечіткими числами, що має модель задачі на розбиттях, раніше не розглядалась і не розв’язувалась. Автору також невідомо про розгляд та розв’язування задачі упакування прямокутників, що має модель у вигляді задачі на розбиттях, в детермінованій постановці. При порівнянні поставленої задачі упакування прямокутників, що має модель задачі на розбиттях, з задачею упакування прямокутників, що має модель задачі на переставленнях [10], є очевидним, що використання роз-биттів є більш ефективним, оскільки кількість роз-биттів значно менша за кількість переставлень.
Перспективи дослідження. Методи та їх оцінки, висвітлені в статті, можуть бути використані для по будови і аналізу алгоритмів розв’язування евклідових комбінаторних задач (на нечітких множинах) на інших евклідових комбінаторних множинах.
Література: 1. Стоян Ю.Г., Ємець О.О. Теорія і методи евклідової комбінаторної оптимізації. К.: Інститут систем досліджень освіти, 1993. 188 с. 2. СтоянЮ.Г., Ємець О.О., Ємець Є.М. Оптимізація на полірозміщеннях: теорія та методи: Монографія. Полтава, РВЦ ПУСКУ, 2005. 103с. 3. Ємець О.О., Колечкіна Л.М. Задачі комбінаторної оптимізації з дробово-лінійними цільовими функціями: Монографія. К.: Наук. думка, 2005. 117 с. 4. Ємець О.О., Росклад-ка О.В. Задачі оптимізації на полікомбінаторних множинах: властивості та розв’язування: Монографія. Полтава, РВЦ ПУСКУ, 2006. 129 с. 5. Емец О.А. Евклидовы комбинаторные множества и оптимизация на них. Новое в математическом программировании. Учеб. пособие. К.: УМК ВО. 1992. 92 с. 6. Ємець О.О. Теорія і методи комбінаторної оптимізації на евклідових множинах в геометричному проектуванні: Автореф. дис. ... д-ра фіз.-мат. наук: 01.05.01 / Ін-т кібернетики НАН України. К., 1997. 42
с. 7. Гребеннік І.В. Математичні моделі та методи комбінаторної оптимізації в геометричному проектуванні. Автореферат дис. ... д-ра техн. наук: 01.05.02 / Інститут проблем машинобудування ім. А.М.Підгорного. Харків, 2006. 34 с. 8. Емец О.А. Комбинаторная модель и приближенный метод с априорной оценкой решения оптимизационной задачи размещения разноцветных прямоугольников // Экономика и матем. методы. 1993. Т. 29. Вып. 2. С. 294-304. 9. Ємець О.О., Роскладка А.А., Ємець Ол-ра О. Задача евклідової комбінаторної оптимізації в умовах невизначеності // Збірник наукових праць Хмельницького нац. ун-ту. Серія: фізико-математичні науки. 2005. Вип.1. С. 40-45. 10. Ємець Ол-ра О. Одна задача комбінаторної оптимізації на переставленнях нечітких множин// Волинський математичний вісник: Серія прикладна математика. 2004. Вип. 2(11). С. 101-106. 11. Кофман А. Введение в теорию нечетких множеств. М.:Радио и связь, 1982. 432 с. 12. Баранов В.И., Стечкин Б.С. Экстремальные комбинаторные задачи и их приложения. М.: Наука, 1989. 160 c. 13. Корбут А.А, Финкельштейн Ю.Ю. Дискретное программирование. М.: Наука, 1969. 368 с. 14. Кормен Т., Лейзер-сон Ч., Ривест Р. Алгоритмы: построение и анализ. М.: МЦНМО, 2001. 960с. 15. Виленкин Н.Я. Комбинаторика. М.: Наука, 1969. 328 с.
Надійшла до редколегії 18.09.2007
Рецензент: д-р фіз.-мат. наук, проф. Лагно В.І.
Ємець Олександра Олегівна, асистент кафедри економічної кібернетики Полтавського університету споживчої кооперації України. Наукові інтереси: комбінаторна оптимізація. Захоплення, хобі: туризм. Адреса: Україна, 36003, Полтава, а/с 1671. Тел. 8-066-50-60-860, роб. (8-05322) 509-205, дом. (8-05322) 7-97-18. E-mail: slemets@e-mail.pl.ua.
160
РИ, 2007, № 4