Научная статья на тему 'Приближенный алгоритм для решения общей задачи теории расписаний с высокой точностью'

Приближенный алгоритм для решения общей задачи теории расписаний с высокой точностью Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Канцедал Сергей Андреевич, Костикова Марина Владимировна

Описывается приближенный итеративный алгоритм, позволяющий решать общую задачу теории расписаний со средней 12%-й погрешностью. Приводятся теоретические и экспериментальные характеристики нового алгоритма, а также намечаются пути улучшения его временных показателей путем распараллеливания вычислений и реализации параллельной версии алгоритма на многопроцессорных ЭВМ.

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

Похожие темы научных работ по математике , автор научной работы — Канцедал Сергей Андреевич, Костикова Марина Владимировна

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

Approximate algorythm for general problem solving of the schedule theory with high accuracy

For algorythm designing solvrng a general problem of the schedule theory on the average more accurately than known algorythms the umting idea of two known approxmate algorythms has been used. The umting has been carried out so that one approxmate algorythm srngles out a minimum set of poss&le problem solvrng at each step and the other finds the best solvrng іп this set.

Текст научной работы на тему «Приближенный алгоритм для решения общей задачи теории расписаний с высокой точностью»

УДК 658.52.011.56

ПРИБЛИЖЕННЫЙ АЛГОРИТМ ДЛЯ РЕШЕНИЯ ОБЩЕЙ ЗАДАЧИ ТЕОРИИ РАСПИСАНИЙ С ВЫСОКОЙ ТОЧНОСТЬЮ

КАНЦЕДАЛ С.А., КОСТИКОВА М.В._____________

Описывается приближенный итеративный алгоритм, позволяющий решать общую задачу теории расписаний со средней 12%-й погрешностью. Приводятся теоретические и экспериментальные характеристики нового алгоритма, а также намечаются пути улучшения его временных показателей путем распараллеливания вычислений и реализации параллельной версии алгоритма на многопроцессорных ЭВМ.

1. Формализация и свойства задачи

Общую задачу сформулируем в традиционной постановке. Заданы конечные множества предметов

I = {i|1 < i < n} и обрабатывающих их машин Q = {q 11 < q < m}. Обработка предмета і є I состоит в выполнении машинами из множества Q предписаний последовательности операций Ii ={iqj|1^ j ^ ji}, специфичной для этого предмета. Операция iqj є Ii выполняется машиной q є Q за время tiq. > 0 без

прерывания и может начаться после полного завершения непосредственно предшествующей ей операции iqj_1 є Ii. Любая машина q є Q одновременно может выполнять только одну операцию. В силу этого все множество операций Ii = UієДі разбивается на m, 1 < m < n классов Iq, 1 < q < m — перечней

операций, выполняемых каждой машиной. Задача составления расписания состоит в том, чтобы для каждой машины q є Q указать такой порядок выполнения операций из класса Iq и тем самым

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

iqj є Ii однозначно идентифицирует номер предмета i є I, последовательности операций, определенные на множествах Iq, q є Q , представляют собой перестановки номеров предметов на машинах. Таким образом, смысл задачи состоит в том, чтобы определить совокупность m перестановок номеров предметов, минимизирующую полное время их обработки.

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

операций Ii, i є I представим последовательным графом Gi = (Ii, Vi, Wi) с множеством вершин Ii, дуг Vi

и функцией Wi : Ii ^ R+ так, что каждая вершина iq j этого графа соответствует одной и только одной операции iqj предмета Ii; каждая пара вершин (щ.,щ.+1 )с Ii, j = 1,2,..., ji_1 соединяется дугой Oij є Vi, которая исходит из вершины iqj и заходит в вершину iqj+1; функция Wi определена как Wi(iqJ = tiqj . Тогда конечный ациклический граф Gi = U iej Gi = (II,VI,WL) с множеством вершин Ij,

дуг Vj и функцией Wi :Vj ^ R+ будет представлять исходные данные задачи.

Множество вершин Ij пополним вершинами is,iF и положим W(is) = W(iF) = 0 . Вершину is соединим исходящими дугами Vs с вершинами Ij, имеющими в Gi нулевую полустепень захода. Вершины из Ij с нулевой полустепенью исхода в Gj соединим с

вершиной iF дугами Vf , направленными к этой вершине. В результате получим технологическую сеть GT = (Ij, is, iF, VT, Wj), VT = Vi U Vs U Vf,

WT :{II U{is}U{iF}} ^ R + U{0} с истоком is и стоком iF . Длина критического пути на этой сети, т.е. значение максимального пути из вершины is в вершину iF графа Gt , определяется по выражению

ji

Lj = max{Li}, где Li = £t^, , 1 < i < n — время обра-ieI j=1 j

ботки i-го предмета без задержек в выполнении операций.

Пусть Iq с Ij, 1 < q < m — множества вершин графа Gt , соответствующие множествам операций Iq, 1 < q < m , выполняемых m машинами. Любые порядки выполнения операций машинами q є Q отобразим на графе Gt множествами Vq , 1 < q < m дополнительных дуг, связывающих вершины каждого множества Iq так, что для любой пары вершин (iqj, iqj с Iq дуга В ji є Vq исходит из вершины iqj и заходит в вершину iqi тогда и только тогда, когда

операция, отображаемая вершиной iqj є Iq , непосредственно предшествует операции, отображаемой вершиной iqi є Iq . Если построенный таким способом граф

Gt = (II,is,iF,V,WT), V = VT U Vm , Vm = Uq1=1Vq

РИ, 1999, № 4

97

окажется ациклическим, т.е. сетью, то длина критического пути L на этой сети определит максимальное

время выполнения множества операций Ij, порождаемое постоянно заданным технологическим порядком их выполнения, отображаемым сетью GT, и теми порядками выполнения операций, которые установлены на машинах q є Q .

Пусть G ацикличен. Рассмотрим машинную сеть gm = Cbis.iF.Vr.Wr), Vm = V\Vi ,

Wm:Vm ^R+ U{0},

приписав дугам Vm веса тех вершин, из которых они исходят в графе G. Очевидно, что длина критического пути на этой сети определяется по выражению

Pq

LM = max{Lq}, где Lq = £tipq , 1 < q < m - время qeQ p=1

использования q-й машины без простоев при выполнении ею всех pq операций. Таким образом, критический путь Vk на сети G образуется дугами из множеств Vt , Vm , т.е. Vk = Vt U Vm , и его длина ограничена снизу величиной LN = max{LT,LM}. Определим q как множество всех сетей G, которые

можно построить, формируя nm=1|Iq|! различных

порядков обработки предметов на машинах. Тогда задачу о поиске порядка, обеспечивающего наименьшую длительность обработки всех предметов I,

можно сформулировать так: построить сеть G* єй с наименьшей длиной критического пути

L* = l(g*)= minL(G) . Последовательности дуг GeQ

vq, 1 < q < m этой сети укажут порядки обработки

предметов каждой машиной. Множество чисел U *, составленное из m последовательностей — начальных времен выполнения операций машинами q eQ ,—

определит расписание, соответствующее G * . Таким образом, искомым решением общей задачи теории расписаний в сетевой постановке является тройка

|g*,u*,l* j, Ln <L*. Приближенное ее решение

(G,U,L ) должно удовлетворять условиям G ей, где

L* < L < а (здесь a — положительно определенная функция от параметров задачи).

Особенность сформулированной задачи состоит в том, что не каждый граф G, построенный на основании произвольно выбранного порядка обработки предметов на машинах, ацикличен, т.е. допускает составление расписания. Более того, отделить априори допустимые порядки от недопустимых не представляется возможным. Вместе с тем известно не-

сколько способов построения заведомо ациклических графов G eQ . Самый очевидный из них включает следующие этапы:

1. В графе Gt вычислить ранние сроки начала операций и приписать вершинам II веса, соответствующие этим срокам. 2. Вершины каждого множества

Iq с Ii , q є Q соединить дугами Vq в порядке неубывания весов этих вершин и тем самым построить граф G є Q . В том случае, когда веса вершин каждого

множества Iq, q є Q образуют строго возрастающие

последовательности, граф GeQ окажется единственным. Рассчитав в нем ранние сроки начала операций и построив критический путь, составим расписание и найдем его длину L.

Оценим сверху длину критического пути построенного изложенным способом графа G eQ . Для этого рассмотрим худший случай, когда первые операции всех n предметов выполняются одной и той же машиной, например первой, и эта машина определяет

значение Lm . Выполним первый этап процедуры построения графа GeQ . Далее выберем некоторый порядок выполнения операций первой машиной и тем самым построим частичный граф G1. Вычислим в нем ранние сроки начала операций и длину критического пути L1. Очевидно, что путь Vk для некоторого худшего порядка выполнения операций первой машиной будет обозначен всеми дугами из множеств

Vt , Vm , определяющими длины критических путей Lt , Lm на графах Gt , Gm . На этом основании длина L1 может быть найдена по выражению L1 = Lt + Lm - tTM , где Gm — вес дуги Vtm такой, что одновременно Vtm є Vt и Vtm є Vm . Остальные последовательные упорядочения операций на m -1 машинах и расчеты параметров графов G2 , ..., Gm в общем случае увеличат длину L1 на некоторую величину ДLm . Поэтому L < Lt + Lm +Д L , Д L =Д Lm - tTM .

На рис. 1 представлены исходный граф Gt и частичный граф G1. Шифровка вершин графов произведена буквенно-цифровым способом. Первый индекс —тип предмета, второй — номер машины. Над дугами графов указаны их веса—длительности операций. У вершин графов в квадратах проставлены ранние сроки начала операций. Критический путь на графе

G1 отмечен жирными линиями. Рис. 2 иллюстрирует последовательные этапы доупорядочения операций и расчет параметров графов G2, G .

Как следует из примера, длина критического пути графа G1 равна 21 единице времени (рис. 1,б), а вычисленная по выражению L1 = Lt + Lm - tTM , для

РИ, 1999, № 4

98

0 6 9

( а' і И аЛ

0 2 5

(Ї у V У 3 Э

; ч ) Ч

0 и И

( с« у V /—-• \ 3

; Ч °2 ) °з )

а

-H lF 8

6 X6 8 11 \ 10

ҐЛ 2 XX 3 ХД 3 Пт

\ 1 1 ‘vv ►Мру)[14|

8 V 2 12 А / X 15 Q X X Л 21

с,

С2

б

Рис. 1. Исходный граф Gj и частичный граф Gj: а — исходный граф с ранними сроками начала операций; б — частичный граф Gj с критическим путем VK = Vj U Vm

графа G2 (рис. 2,а) она составляет соответственно 23 единицы времени, и не изменяется для графа G efi . При этом Д L = 2.

Предположим, каждый раз при построении графа G eQ описанным способом величина Д L может быть определена. Тогда, учитывая, что наименьшая

длина критического пути L*, порождаемая графом

G* , удовлетворяет неравенству L* > max(LT,LM ), для абсолютной и относительной погрешностей алгоритма, реализующего оптимальный способ построения графа G eQ , получим

L — L <Lj + L м + ДL — max(L-p,LM ),

L/L <(Lt + L м + ДL) /ma^(LT,LM ).

Из первого соотношения следует, что с увеличением размера задачи N = n • m растут значения LT, LM; как следствие, растет правая часть неравенства и, таким образом, погрешность алгоритма. Второе соотношение показывает, что при Lj = LM , что соответствует случаям n и m , погрешность алгоритма будет максимальна, но не больше 2 + ДL/Lm или

2 + ДL/Lj . При Lm >> Lj , что соответствует случаям n >> m, погрешность алгоритма минимальна и равна 1 + L/Lm . Таким образом, при n >> m алгоритм должен решать задачу более точно, чем при n и m . К сожалению, из-за неопределенности значения Д L приведенные оценки алгоритма нельзя считать гарантированными оценками его погрешности, как, например, L/L* < m [2].

2. Алгоритмы

Описанный алгоритм построения ациклического графа позволяет получить ограниченное число графов G efi, не гарантируя того, что среди них

окажется экстремальный граф G* . Универсальная процедура, предоставляющая принципиальную возможность построения всех графов Gefi, приведена ниже.

Пусть is — отмеченная вершина графа G, а Is с Ij — множество неотмеченных его вершин, т.е. таких вершин из Ij , в которые заходят дуги только из

отмеченных вершин; 1^ — отмеченные вершины из

множества Iq , q є Q . Процедура включает следую-

Рис.2. Графы G2, G: а — частичный граф G2 с критическим путем; б — граф G є Q с ранними сроками начала операций и критическим путем

РИ, 1999, № 4

99

щие действия: 1) выделить множество Is ; 2) выбрать

вершину iq є Is ; 3) если

Iq\{iq U{iq}}

> 1,

верши-

ну iq соединить исходящими из нее дугами с вершинами множества Iq \{iq U{iq}}; 4) отметить вершину

iq; 5) выделить множество Is; 6) если Is =0, остановиться; иначе вернуться к п. 2. Корректность процедуры вытекает из следующего. Процесс выбора и пометки вершин iq є Is последовательный. Поэтому образование цикла в формируемом графе G означало бы, что выбор некоторой

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

вершины iq є Is , уже выбранной и помеченной, повторился. В свою очередь это бы означало, что первичный выбор этой вершины был осуществлен так, что некоторые заходящие в нее дуги исходили из неотмеченных вершин. Поскольку последнее противоречит действиям процедуры, выбор помеченных вершин не повторяется, и последовательный процесс их пометки будет доведен до конца без повторения. В результате полученный граф G окажется ациклическим.

Согласно процедуре выбор вершины iq є Is, сопровождаемый исходящими из нее дугами, однозначно определяет порядок следования этой вершины в

множестве Iq , q є Q и предопределяет структуру

очередного множества Is . Поэтому, реализуя процедуру многократно — как исчерпывающий поиск всех вариантов выбора вершин из множества Is для всех Is , порождаемых этими вариантами, получаем принципиальную возможность формировать все множество графов G eQ.

Процедура формирования графа Gefiвесьма просто объединяется с составлением расписания U и вычислением его длины L. Пусть G_1(iq) — множество тех вершин G, которые непосредственно предшествуют вершине iq . Тогда

= max [Ь(^,щ&) + tiq# ] iq seG (iq)

—выражение, по которому вычисляется длина критического пути на сети G из вершины is в вершину

iq . Поэтому L = b(is,iF) = max JLOsPq) + tiq]. С

iqseG 41f)

учетом того, что в каждую вершину множества вершин Ii \{1f} графа G может заходить не более одной дуги из множества Vi U Vs и не более одной дуги из множества Vm , выражение для расчета длины критического пути из вершины is в вершину iq Є Is может быть записано в виде L(is,iq)=max(Uiq,Uq ),

где Uiq — длина максимального пути в iq є Is через непосредственно предшествующую отмеченную вер-100

шину по дуге из множества Vi U Vs; Uq — длина

максимального пути в iqeis через другую непосредственно предшествующую вершину по дуге множества Vm . На основании этого вычисления начинаем с формирования множества Is , s = 1, и для выбранной вершины iq є Is устанавливаем Ui = 0; Uq = 0 .

Затем находим раннее начало Usq = max(Uiq,Uq) выполнения операции iq є Is и момент ее завершения Ui = USq + tiq . Полагая, что Uq = Ui, фиксируем момент освобождения машины q є Q , выполняющей операцию iq є Is, S = 1. Продолжая процесс рекурсивно до тех пор, пока Is ^0 , S = 1, 2, ..., получаем

множества {Ui} , 1 < i < n , {Uq } , 1 < q < m , фиксирующие моменты завершения последних операций предметов и освобождения машин. На этом основании L = max{Ui} либо L = max{Uq} . Расписание lei qeQ

идентифицируем набором m неубывающих последо-

s

вательностей значений Uiq.

Изложенный порядок построения G, составления расписания U и вычисления его длины L позволяет построить алгоритмы, осуществляющие полный и частичный перебор решений задачи. Исходные данные задачи, определяемые графом GT , представим

двумя матрицами M = ||qij|, T = ||tij| размерности

n х max ji. Индексы строк матриц идентифицируют номера предметов, индексы столбцов — естественные порядки выполнения операций каждого предмета.

Элемент qij матрицы M определяет номер машины, выполняющий j-ю операцию i-го предмета, элемент tij матрицы T — время выполнения этой операции. Результаты решения задачи представим матрицами

перестановок предметов P = ||iqp||, расписания

U = ||Uqp|| размерности nх maxPq и длиной расписания L. Индексы строк матриц P, U определяют номера машин, индексы столбцов — порядки обработки предметов на машинах. Элемент iqp матрицы P идентифицирует номер предмета i, обрабатываемого на q-й машине в p-м порядке. Элемент Uqp

матрицы U — момент начала загрузки q-й машины p-м по порядку предметом i.

Алгоритм G, осуществляющий полный перебор решений задачи в режиме исчерпывающего поиска, включает следующие действия.

1. Положить S = 1; вычислить множество IS; Viqeis

положить Uiq = 0; Vq є Q положить Uq = 0 .

РИ, 1999, № 4

2. По заданному правилу выбрать операцию iq є Is .

3. Для выбранной операции вычислить Uiq, Ui,

положить Uq = Ui, поместить значение USq в матрицу U, номер предмета i — в матрицу P.

4. Положить S = S +1; выделить множество Is .

5. Если Is =0 , вычислить L = max{Uq} и остано-

qeQ

виться; иначе для операции iq , поступившей в Is , положить Uiq = Ui и вернуться к п.2.

Алгоритмы KP, NZ имеют теоретическую временную

сложность порядка N2. Практически же среднее время решения задачи как функция размера растет немногим быстрее, чем линейно, что объясняется большой долей

множеств iK, IN , S = 1, 2, ... единичной мощности, для

которых не требуется выбора операций. Экспериментально установлено, что максимальные мощности

множеств iK,iN, S=1, 2, ... почти инвариантны к

размерамзадач и не превышаютзначение 6 для n/m = 1. Средняя доля множеств единичной мощности для алгоритма KP составляет около 50% от всех N множеств

IK, для алгоритма NZ — примерно 75% от всех N

с

Пусть Iq с Is — множество операций, выполняемых

машинойqє Q на каждом шаге S = 1, 2, .... Алгоритм KP, составляющий компактные расписания и значительно ограничивающий полный перебор с сохранением решения (g*, U*, L* ], предусматривает следующую модификацию п. 2 алгоритма G.

2. Вычислить u| = min min [max (Uic|,Uq) + tiq ], т.е.

q^Q iqeiq

множеств iN .

Идея предлагаемого алгоритма состоит в том, чтобы в качестве приоритетного правила выбора операций

iq є Is из множеств iJK , S = 1, 2, ... неединичной

мощности в алгоритме KP использовать алгоритм NZ однократного действия с приоритетным правилом MWKR/P. Тогда на каждом шаге S = 1, 2,...

алгоритма KP таком, что

ik

IS

> 1, для выбора

наити самое раннее время завершения некоторой операции iq є Is некоторой машиной q є Q ; выделить множество операций iK машины, определившей Up такое, что(viqelK) Uiq <Up; по заданному правилу выбрать операцию iq є iK.

Алгоритм NZ, составляющий незадерживающие расписания, которые являются подмножеством компактных расписаний, предусматривает такую модификацию п. 2 алгоритма G.

операции iq є iK по наименьшей длине расписания

L необходимо

IK

IS

раз решить задачу алгоритмом

NZ. При этом полные решения задачи этим алгоритмом строятся лишь для элементов первого неединич-

ного множества iK . Для остальных шагов алгоритма

KP эти решения находятся с учетом ранее найденных частичных решений, что заметно сокращает объем вычислений.

Алгоритм KN включает следующие действия.

2. Вычислить UN = min min max (uiq,Uq) , т.е. най-

q^Q iqeiq

ти самое раннее время начала выполнения некоторой операции iq є Is некоторой машиной q є Q ; выделить множество операций iN машины, определившей uN , такое, что (viqelN ) max(uiq,Uq )=UN ; по заданному правилу выбрать операцию iq є iN.

Алгоритмы KP, NZ широко обсуждались и экспериментально исследовались как алгоритмы однократного действия, т.е. решающие задачу один раз. С этой

целью для выбора операций из множеств iK, iN, S=

1, 2, ... исследовались различные приоритетные правила. Для широкого спектра задач наиболее предпочтительными оказались правила группы MWKR [1]. В частности, по нашим исследованиям, для алгоритма NZ лучшим правилом по величине средней погрешности является правило MWKR/P (max {(work remaining)/(processing -time)}).

1. Положить S = 1; выделить множество IS; V iqels положить Uiq = 0; V q є Q положить Uq = 0 .

2. Вычислить Up = min min [ max (Uiq,Uq)+tiq]; вы-

q^Q iqeiS

делить множество операций iK такое, что iqelK ) Uiq < Up .

3. Если

= 1, перейти к п. 4; иначе по алгоритму

NZ (MWKR/P) для каждой операции iq є iK найти

решение задачи (P, U, L), выделить решение с наименьшим значением L и соответствующую ему

операцию iq є I

K

S

4. Для операции iq є IK вычислить Uiq, Ui и положить Uq = Ui .

РИ, 1999, № 4

101

5. Положить S = S + 1; выделить множество IS.

6. Если Is =0 , остановиться; иначе для операции iq, поступившей в Is , положить Uiq = Ui и вернуться к п. 2.

Легко убедиться в том, что временная сложность

з

алгоритма KN порядка N . Действительно, в каждом

к

< n

цикле S = 1, 2, ... алгоритм KN реализует раз алгоритм NZ. В связи с тем, что временная сложность алгоритма NZ порядка N2, сложность

этих действий алгоритма KN равна 1к • О (N ). А в силу того, что алгоритм KN выполняет N циклов, его временная сложность будет N •

0(N2) = 0(N3).

Для правдоподобной оценки погрешности решения задач алгоритмом KN специально разработан точный алгоритм и приближенная его версия, позволяющие получать точные решения задач и решения с гарантированной погрешностью. Точный алгоритм основан на схеме ветвей и границ и использует идеи алгоритма KN. Множествами ветвления служат множества iK, S = 1, 2, ... формируемые алгоритмом KN.

Для определения стратегии ветвления используется алгоритм NZ (MWKR/P). Он же вычисляет верхнюю границу длины расписания, используемую для отсечения ветвей в дереве поиска. Точный алгоритм включает следующие процедуры: 1) формирование

множеств вершин ветвления iK, S = 1, 2, ...; 2)

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

вычисление оценок нижних (L; } , 1< l <

IK

и верх-

них (lSj , 1< h< I

к

S

границ длины расписания; 3)

выделение вершины ветвления iq є iK , соответствующей min{Ljh }; 4) отсев вершин множеств iK , S = 1, 2, ... , для которых LS > min{Ljh}, и формирование множеств активных вершин {iKa } , S = 1, 2, ...; 5) ветвление, т.е. вычисление Uiq, Uq и формирование

матриц P, U для вершины ветвления iq є iK, либо возврат к предшествующему множеству активных

вершин {iKA } , если {iKA} = 0 .

Оценки нижних границ для вершин множеств iK , S = 1, 2, ... вычислялись следующим образом. Пусть некоторое множество iK содержит iqi,..., iqk вершин - операций с возможными моментами их начала

U1Sqi = max(U1qi,Uq ), ..., USqk = max (Uiqk ,U q) и оставшимися длительностями невыполненных работ

Tiq1 ,..., Tiqk предметов, определяемых этими опера-102

циями. Выберем операцию iq1 и вычислим выраже-

ния Liq1 = USn + Tiq1 , Uq = Ur, + tiq1 . Для осталь

iq

iq1 q

iq1

iq1

ных операций вычислим Liq = ma^(Uiq2 ,Uq )+ Tiq ,

..., Liqk = ma^(Uiqk,Uq )+ Tiqk . Предварительную оценку нижней границы длины расписания, порождаемую выбором операции iq1 , найдем по выраже-

нию Lp = max{Liq1 ,...,Liqk } . Окончательно оценка

определяется так: LS = max {max (LT, LM),Lp }. Аналогичным образом вычисляются оценки нижних границ, порождаемые выбором остальных операций

iq2, ..., ^.

Приближенная версия точного алгоритма получена релаксацией наименьшей текущей верхней границы

длины расписания до величины (і-е)• minL , где є — заданная погрешность 0,05; 0,1; 0,15.

3. Экспериментальные характеристики алгоритмов

Экспериментальные исследования алгоритмов KN, NZ, KP, прежде всего, были предприняты в целях определения следующих их характеристик: 1) средней погрешности д и среднего времени счета t как функций размера задачи N при n/m = const; 2) средней погрешности Д и среднего времени счета t как функций отношения n/m при N = const. Иными словами, ставилась задача подтвердить или опровергнуть свойства алгоритмов, полученные ранее аналитическим путем.

Очередной этап исследований состоял в том, чтобы определить погрешности алгоритмов по отношению к точному решению задачи, а также выявить, насколько велико различие между погрешностями

алгоритмов и величиной Lt + Lm .

Все алгоритмы запрограммированы на языке TURBO BASIC версии 1.1. Эксперимент проводился на ПК модели IBM PC/P с тактовой частотой 200 MHz.

Для получения зависимостей Д = f (N), t = ф (N) при n/m = COnSt = 1 был выбран следующий ряд задач с размерами n х m : 4 х 4, 5 х 5, 6 х 6 , 7 х 7 , 8 х 8, 10 х 10, 15 х 15 , 20 х 20, 25 х 25 , 30 х 30 . По каждому размеру генерировалось 60 задач со случайными технологическими последовательностями и случайными длительностями времен операций, равномерно распределенными на интервале [1,100]. Для каждой

задачи по выражениям Д = (L - Ln)/Ln-100 , D = (Lt + Lm - L)/Ln -100 вычислялись погрешности ее решения д и величина превышения Lt + Lm над погрешностью D . Кроме этого, фиксировалось процессорное время решения задачи (с) и определялись следующие статистики: средние арифметичес-

РИ, 1999, № 4

Таблица 1

Размер задачи KN NZ KP

Д A max D Д A max D Д A max D

4x4 22,5 54,1 65,3 27,6 65,4 60,16 27,8 79,3 59,9

5x5 25,1 53,8 66,1 31,9 73,1 59,3 32,8 78,0 58,5

6x6 24,3 44,9 65,2 32,3 59,4 57,2 30,9 52,6 58,6

7x7 26,3 48,9 65,5 34,3 70,4 57,4 34,9 69,7 56,8

8x8 29,5 53,3 62,9 37,4 75,9 55,0 41,5 77,9 50,9

10x10 29,6 47,9 62,6 39,8 66,1 52,4 39,6 80,7 52,5

15x15 33,6 51,9 60,7 43,1 65,1 51,1 47,3 74,9 47,0

20x20 35,1 51,0 59,5 44,5 59,5 50,1 51,5 75,5 43,1

25x25 38,3 48,8 57,0 47,8 59,5 47,4 53,6 73,2 41,6

30x30 40,7 55,3 55,1 49,0 62,2 46,7 55,5 79,0 40,3

кие погрешности д и времени решения t , их дисперсии и средние квадратические отклонения, минимальные Дmin , tmin и максимальные Amax, tmax погрешности и времена счета, среднее арифметическое превышения D • Результаты вычислений представлены в табл. 1, 2.

Из табл. 1 следует, что средние погрешности алгоритмов KN, NZ, KP при n/m = const = 1 с увеличением размера задачи растут. Это подтверждает теоретические результаты, полученные ранее. При этом степень роста погрешности различна для всех алгоритмов.

средней погрешности алгоритмов. При этом ни для одной из решенных задач не встретился случай, когда превышение D оказалось бы меньшим нуля. Это

свидетельствует о том, что оценка сверху LT + LM погрешностей алгоритмов статистически достаточно устойчива.

Временные характеристики алгоритмов в известной степени определяются типом процессора, стилем программирования и, безусловно, самой сутью алгоритма. Эксперимент показал, что с увеличением размера задачи всем алгоритмам свойственен рост процессорного времени счета. Для алгоритма KN

Так, если при увеличении размера задачи от N = 16 до N = 900 погрешность алгоритма KN возрастает примерно на 18%, то для алгоритмов NZ, KP этот рост составляет соответственно 22 и 27%. Существенно различие алгоритмов и по величине средней погрешности. Алгоритм KN имеет погрешность примерно на 8% ниже, чем алгоритм NZ, и на 12%, чем алгоритм KP.

Статистические характеристики вариаций погрешностей — среднее квадратическое отклонение и дисперсия — с увеличением размера задач так же как и средние значения имеют тенденцию к росту. Вместе с тем относительный показатель рассеяния — коэффициент вариаций — не изменяется с увеличением размера задач и примерно одинаков для всех алгоритмов. Это свидетельствует о том, что степень рассеяния погрешностей алгоритмов инвариантна к размеру решаемой задачи и алгоритму и примерно равна для всех алгоритмов. Существенное отличие алгоритма KN от алгоритмов NZ, KP по показателям вариаций состоит в том, что он имеет низкие значения максимальных погрешностей.

Данные эксперимента показывают, что средние превышения D над средними погрешностями д для всех алгоритмов достаточно велики (больше 50%). Однако при увеличении размера задачи они имеют тенденцию к уменьшению, что объясняется ростом

время решения растет немногим быстрее, чем N2; для алгоритмов NZ, KP — немногим быстрее, чем N. При этом задачу размерности N=900 алгоритм KN решает в среднем за 6 с, алгоритмы NZ, KP — за сотые доли секунды. Эти данные подтверждают теоретические характеристики временной сложности алгоритмов и свидетельствуют о полной практической пригодности алгоритмов по показателю времени счета. В практических целях данные табл. 1, 2 приближены следующими эмпирическими зависимостями:

Akn = f(N)

______N_______

0.026 • N + 0.471;

Д NZ = f (N)

______N______.

0.021-N + 0.322 ;

Akp = f (N)

______N_______.

0.018 • N + 0.398 ;

tKN = 9(N) = 3.475 • 10_6 • N2 082 .

В процессе эксперимента было отмечено, что алгоритм KN генерирует хорошие решения задач в первых циклах его работы S = 1,2,... и в дальнейшем улучшает эти решения незначительно. Это послужи -ло основанием для создания параметрического алго-

Таблица 2

Время Размер задачи. Алгоритм KN

4x4 5x5 6x6 7x7 8x8 10x10 15x15 20x20 25x25 30x30

tmin 0,0004 0,0006 0,002 0,005 0,01 0,05 0,2 0,8 2,4 5,6

t 0,0024 0,0025 0,0048 0,0098 0,0155 0,04 0,25 0,92 2,59 6,03

tmax 0,0031 0,004 0,006 0,015 0,03 0,1 0,3 1,0 2,9 6,5

РИ, 1999, № 4

103

Таблица 3

Размер задачи h = 1 h = 0.8 h = 0.6 h = 0.4 h = 0.3 h = 0.2

д t Д t Д t Д t Д t Д t

4x4 22,5 0,0024 22,6 0,0023 22,7 0,0022 23,1 0,0021 23,2 0,0021 23,8 0,019

5x5 25,1 0,0025 25,6 0,0024 25,4 0,0023 25,9 0,0022 26,0 0,0023 26,6 0,002

6x6 24,3 0,0052 24,4 0,0048 24,5 0,0034 25,5 0,003 25,0 0,0025 27,0 0,0024

7x7 26,3 0,015 26,3 0,0108 26,5 0,01 27,1 0,009 27,7 0,003 28,6 0,0028

8x8 29,5 0,02 29,6 0,015 29,7 0,013 30,1 0,01 30,5 0,009 30,7 0,0075

10x10 29,6 0,04 29,5 0,036 29,9 0,03 30,3 0,025 30,6 0,02 31,3 0,0123

15x15 33,6 0,25 33,6 0,24 33,9 0,21 34,5 0,16 34,9 0,13 35,5 0,093

20x20 35,1 0,92 35,3 0,88 35,6 0,78 36,2 0,59 36,6 0,46 37,1 0,34

25x25 38,3 2,59 38,4 2,5 38,8 2,19 39,4 1,68 39,8 1,34 40,2 0,95

30x30 40,7 6,03 40,9 5,8 41,3 5,07 41,7 3,71 42,2 3,07 42,6 2,16

Таблица 4

Размер задачи n/m KN; h = 0.3 NZ KP

Д t Д t Д t

40x40 1 43,8 11,9 50,8 0,018 58,4 0,026

57x28 2 10,7 21,9 15,5 0,02 27,9 0,025

80x20 4 0,8 22,8 2,8 0,025 15,3 0,037

100x16 6 0,2 13,0 0,9 0,03 13,8 0,045

114x14 8 0,0 0,3 0,06 0,03 12,4 0,05

126x13 10 0,0 0,5 0,04 0,04 12,1 0,06

160x10 16 0,0 2,8 0,08 0,05 11,2 0,11

180x9 20 0,0 1,3 0,0 0,06 10,6 0,16

ритма, в котором предельное число циклов S определяется параметром h = 0.2,..., 1 и вычисляется по выражению S = h • N . Таким образом, погрешность и быстродействие такого алгоритма зависит от параметра h .

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

В табл. 3 приведены средние погрешности Д и средние времена счета t решения 60-и задач каждого размера в зависимости от параметра h. Эти данные показывают, что для больших размеров задач ценой увеличения средней погрешности алгоритма примерно на 2% можно добиться уменьшения среднего времени решения примерно в три раза (h = 0.2), а если согласиться с увеличением средней погрешности 1.5%, то среднее время счета можно уменьшить в два раза (h = 0.3).

Для получения зависимостей Д = f(n/m),t = ф(n/m) при N = const = 1600 использовался следующий ряд задач с величинами n х m : 40 х 40, 57 х 28, 80 х 20 , 100 х16, 114 х 14, 126 х 13 , 160 х 10, 180 х 9 . По каждому размеру генерировалось 60 случайных задач. Средние характеристики решения этих задач алгоритмами KN, NZ, KP представлены в табл. 4.

Данные табл. 4 полностью подтверждают теоретическое положение о том, что с увеличением отношения n/m при N = const алгоритмы решают задачу более точно. Наиболее интенсивное снижение средней погрешности при росте n/m дает алгоритм KN. Уже при n/m = 4 эта погрешность составляет менее одного процента, а, начиная с отношения n/m = 8, алгоритм решает задачу точно. Следует отметить, что среднее превышение D оценки LT + LM над средней погрешностью Д с увеличением отношения n/m уменьшается. При n/m = 20 оно составляет около 7 %. Это объясняется все меньшей ролью составляющей Lm в сумме Lt + Lm .

Для определения того, с какой средней погрешностью решают задачу алгоритмы KN, NZ, KP и перспективен ли в практическом отношении приближенный алгоритм, решающий задачу с гарантированной погрешностью, точным и приближенным алгоритмами был решен набор задач с величинами n х m : 4 х 4, 5 х 5, 6 х 6 , 7 х 7, 8 х 8 . Усредненные данные эксперимента приведены в табл. 5.

Сопоставляя данные табл. 1 и 5, убеждаемся в том, что алгоритм KN решаетзадачу отношения n/m = 1 со средней погрешностью, не превышающей 15%. Скорее всего она равна 12%. Отсюда следует вывод, что алгоритм NZ решает такие задачи с погрешностью примерно 20%, алгоритм KP — с погрешностью 25%. Средние времена решения задач приближенным алгоритмом с гарантированной погрешностью, представленные в табл. 5, свидетельствуют о нецелесообразности его практического применения для решения задач реальной размерности.

4. Заключение

Таким образом, нами описан практически приемлемый по расходу времени приближенный алгоритм, позволяющий решать общую задачу теории расписаний со средней погрешностью примерно на 8% меньшей, чем это делает лучший известный алгоритм. Доказана и экспериментально проверена вре-

Таблица 5

Размер задачи СО II о Ч© о4 є = 5% є = 10% є = 15% є = 20%

д t Д t Д t Д t Д t

4x4 20,8 0,0015 21,4 0,0007 21,8 0,0003 22,4 0,004 22,4 0,00006

5x5 22,9 0,02 24,0 0,11 25,1 0,001 25,3 0,003 25,3 0,0005

6x6 21,4 0,36 23,0 0,16 24,4 0,04 25,1 0,01 25,1 0,004

7x7 22,6 46,9 25,0 23,0 26,5 6,3 26,7 1,32 26,7 0,02

8x8 23,1 610,1 25,8 322,1 27,9 11,7 29,4 1,12 29,4 0,06

104

РИ, 1999, № 4

менная сложность алгоритма, а также предложена и практически подтверждена статистическая оценка его погрешности. Теоретически и экспериментально изучено поведение средней погрешности алгоритма в зависимости от соотношения между параметрами n,m — количеств предметов и машин, фигурирующих в задаче.

В тех случаях, когда ставится цель повысить быстродействие алгоритма KN, ее можно достичь, распараллеливая вычисления и реализуя параллельную его версию на многопроцессорной ЭВМ. Элементы параллелизма вычислений явно содержатся в 3-м шаге

этого алгоритма. Здесь решение (P,U,b) для каждой

операции iq є iK должно быть найдено каждым

параллельно работающим процессором и передано головному процессору. Следовательно, дополнительные затраты времени потребуются для передачи данных к параллельным процессорам, для получения

результатов из них и выделения лучшего решения. Тем самым временная характеристика такого алгоритма окажется близкой к аналогичной характеристике алгоритма N Z.

Литература: 1. Конвей Р.В., Максвелл В.Л., Миллер Л.В. Теория расписаний. М.: Наука, 1975. 320с. 2. Gonzales T., Sahni S. Flowshop and Jobshop Schednles: Complexity and Approximation // Oper. Res. 1975. Vol.36, № 2. P.36-52.

Поступила в редколлегию 21.11.99

Рецензент: д-р техн. наук Евдокимов А.Г.

Канцедал Сергей Андреевич, д-р техн. наук, профессор. Научные интересы: математическое моделирование, теория расписаний и ее применение. Адрес: Украина, 61002, Харьков, ул. Петровского, 25, тел. 10-77-53.

Костикова Марина Владимировна, канд. техн. наук, доцент кафедры информатики ХГАДТУ. Научные интересы: математическое моделирование, теория расписаний и ее применение. Адрес: Украина, 310002, ул. Петровского, 25, тел. 10-77-53.

УДК 681.335.001.53

ЗАСТОСУВАННЯ ТЕОРІЇ ІНФОРМАЦІЙНОЇ ВЗАЄМОДІЇ ДО ПОБУДОВИ СИСТЕМ КЛАСИФІКАЦІЇ ОБРАЗІВ

ТЕСЛЯ Ю.М.

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

1. Вступ

Основні підходи в теорії розпізнавання образів базуються або на індуктивних методах, які включають в себе емпірику, або на абстрактно-математичних підходах, які в основному використовуються в сучасній математиці. Але при цьому забувається, що методи розпізнавання образів — це методи “виробництва” нової інформації, тобто такої, яку не можна отримати безпосередньо з зовнішнього середовища. Інформаційна сутність задач розпізнавання образів дозволяє використовувати для їх рішення методи та підходи інформатики. Пропонується підхід до задач класифікації образів, в основі якого лежать результати, отримані в теорії інформаційної взаємодії [ 1 -3 ].

2. Основні положення теорії

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

1. Об’єкта інформаційної взаємодії (ОІВ), як позначення сутності дії.

2. Стану ОІВ, як позначення його відмінності (неподільності).

3. Значень станів ОІВ: присутності (1) + ОІВ різні; відсутності (0) — ОІВ неподільні.

4. Міри інформаційної дії (тотожної поданим нижче фізичним величинам):

4.1. Коефіцієнт Лоренца:

t =

0,5

Vp1 - p)

(1)

де p — імовірність стану присутності ОІВ; t — визначеність станів ОІВ.

4.2. Імпульс:

{л/р2-! , при p>0,5;

(2)

-Vt2-1, при p<0,5,

тут ї-кількіс"а міра інформаційної дії (кількість інформації про стан ОІВ).

5. Величини дії. Всяке відхилення імовірності знаходження ОІВ в одному з станів є проявом інформаційної дії на цей ОІВ. Вираз величини дії тотожний фізичним залежностям:

5.1. Релятивістському додаванню швидкостей:

Ід=І’ ■ t - t’ ■ i, (3)

де i(t) — попередня величина інформаційної дії на ОІВ (визначеність ОІВ); i’(t’) — нове значення інформаційної дії на ОІВ (нове значення визначеності ОІВ); ід — величина додаткової дії на ОІВ.

5.2. Додаванню імпульсу:

Ісум=І1 + І2 + ... + ij + ... + in, (4)

де Ісум — загальна додаткова дія на ОІВ; ij - додаткові дії на ОІВ.

РИ, 1999, № 4

105

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