Научная статья на тему 'Методы оптимизации расписаний параллельных обслуживающих систем'

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

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

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

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

Обобщим теперь понятие интегрального преобразования на случай, когда известно несколько признаков образа линий на изображении Дх,у). Пусть |Б1(х,у)} - множество функций некоторых к (к<т) признаков образа линии (например, угол наклона нормали, кривизна и др.); Ь - тот же признак линии ф(х,у,а)=0 с параметрами а1,а2,...,ат в точке (х,у).

Преобразование, ставящее в соответствие изображению Дх,у) его спектр параметров по правилу

Ь(а)=^(х,у)П5[В((х,у)-Ь(№ ,

назовем производным интегральным преобразованием по кривой ф.

В этом случае мы имеем систему к уравнений

Шх,у)-Ь1(х,у;аьа2,...,ат) =0},

из которой выразим (если это возможно аналитически) к+1 параметров кривой ф: ат-к =У1(х,у;аьа2,...,ат-к-1), ат-к+1 =У2(х,у;аьа2,...,ат-к),

ат=Ук+1(х,у;аьа2,... ,ат-1).

Алгоритм преобразования сократится на к+1 циклов:

У(х,у)к(х,у)>0, Уа, (1=1,...,т-к-1),

Ь(а1,а2,.,ат)=Ь(а1,а2,.,ат)+Г(х, у^хау I ат-1 = ^к-1+1(х,у;а1,а2,.,ат-к-1) (1=к,.,0).

Назовем такой способ построением интегрального преобразования с разрешением параметров через дополнительные признаки.

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

МЕТОДЫ ОПТИМИЗАЦИИ РАСПИСАНИЙ ПАРАЛЛЕЛЬНЫХ ОБСЛУЖИВАЮЩИХ СИСТЕМ

Л.Н. Иванов, д.т.н.; Ю.А. Мезенцев, к.э.н. (Новосибирский государственный технический университет)

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

Среди различных разновидностей ОС [1] особое место занимают параллельные системы. Существует ряд подходов к синтезу расписаний массово параллельных систем [2-4]. Однако алгоритмы, учитывающие специфику конкретных предметных областей, например предназначенные для составления расписаний вычислительных систем, не всегда эффективны при синтезе расписаний ОС другого профиля, в частности, производственных объектов. Наивысшую актуальность разработка подобных алгоритмов обретает при синтезе расписаний параллельно-последовательных дискретных ОС, каковыми являются большинство производственных (технологических) объектов и процессов.

Простейшим примером модели неоднородной одностадийной параллельной ОС является классическая задача о назначениях. Для синтеза расписаний параллельных (многоканальных) ОС в

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

Формальная постановка задачи синтеза расписаний параллельных динамических систем

Естественным обобщением статической задачи о назначениях является учет динамики поступления в ОС заявок для обслуживания.

Пусть известно расписание поступления заявок в параллельную ОС. В этом случае необходимо учитывать величины задержек поступления заявок. Обозначим задержку поступления И-й заявки в ОС через т0 и упорядочим заявки по возрастанию т0.

Тогда динамическая модель оптимизации расписаний параллельной ОС будет иметь вид:

£жщ =1, ]=Ц, (1)

1е1

J ___

Ь * Ехи * Ь, , 1=1,1, (2)

И=1

х ={1, если заявка И назначается на прибор 1; (з и _|0 - в противном случае; ( )

уц >0 , непрерывные переменные, обнуляющие отрицательные задержки т.:

t.. =К> если Tij >0 (4)

1j 1,0 - в противном случае'

Tij=т0- Ё(т„ + ti,)xu , 1=Ц, j=1J , (5)

1=1

т.. =т.+ у.. >0, 1=Ü, j=1J, (6)

(7)

Ш + , ¡=и,

л=1 j=l

Z=Х^га1п. (8)

Отрицательная задержка Тц имеет смысл фактической задержки начала выполнения j-й заявки 1-м прибором после завершения обслуживания им предшествующей заявки. Переменные Уц вводятся для того, чтобы избежать появления отрицательных задержек Тц. Критерий суммарного времени выполнения работ:

J I

Z2=ЕЕ(т.+Vxi ^m1n •

Ц=1 1=1

Приведем (1)-(8) к нормальному виду задачи математического программирования. Условия (4)-(7) содержат рекурсивные функции фактических задержек (расписание поступления заявок в ОС) Ту. В явном виде Тц как рекурсивные функции относительно переменных хц определяет (5).

Раскрытие рекурсий (5) приводит к выражениям:

i-i i-i .0 ^ (Tj. -

k=1 1=k+1

j -*- J _____

Tij=т0 - E(Tk + tik) x.k П xii , 1=1,1, j=1J, (9)

где хи = 1-хи,У1,1.

При подстановке (9) в (6) и (7), получается задача, сложность которой в представлении (1)-(8) не адекватна возможностям современных алгоритмов оптимизации.

Вместе с тем можно предложить различные способы ее редукции.

Суть первого, заслуживающего внимание подхода состоит в приведении булевых функций У-1 _

типа х1к П хн к линейному виду посредством ис-1=к+1

пользования вспомогательных переменных, а также системы дополнительных неравенств. Подробно подобная процедура представлена в [5].

У-1 _

Обозначим: Г,ук (х1к ,Х1к+1 >-,Хц ) = ХцХ1к П хи ,

1=к+1

1=1,1, у=1Д и введем в рассмотрение переменные Ццк, значения которых истинны только тогда, когда истинны значения Ц. Соответствующие условия истинности можно задать посредством системы ограничений:

j-1

-K+2< x.j+x.k - Е x.i -Kuijk < 1,

1=1Д , у=1Д , к=1Д, К = у-к .

Тогда неравенства (7) примут вид:

J J У-1 J

1т0Ху- ЕЖ + 1,к)и„к + ЕМу.

у=1 у=1 к=1 у=1

Окончательно динамическая модель синтеза оптимального по быстродействию расписания (1)-(8), с учетом использованных преобразований, редуцируется в частично целочисленную линейную модель с булевыми переменными:

I _

!х„=1, у=и,

ь < Ex« < Ь. , i=ц,

j=1

!1, если заявка j закрепляется

за прибором i; 0 - в противном случае;

(10) (11) (12)

uijk =

1, при истинности выражения

j-1 _

fijk (xik ,xik+1 ,—,xij-1)=xijxik Пxn ' (13) 1=k+1

0 - в противном случае, j=1J, i=1Д

j-1

K+2< x.j + xft - E x.i -Kuijk < 1,

=1Д , j=1,J , k=1,J, K=j-k+1,

(14)

Tij=y.j+Tj - E(Tk + tik)Uijk > 0 ,

или

j-1

- У ij + E(Tk+tik )Uijk <.0 1=1Д , j=1,J , (15) k=1

J J J j-1

E(t0+tu)xu+Eyij - EE(Tk+tik) uijk <A,

j=1 j=1 j=1 k=1

1 = 1,1 , _ _ (16)

y.j >0 1=1Д, j= 1J , (17)

Z = min • (18)

Таким образом, задача (1)-(8) сводится к задаче линейного программирования с булевыми переменными.

Несмотря на формальную разрешимость редуцированной относительно (1)-(8) задачи (10)-(18), предложенный подход можно считать лишь начальным этапом общего решения [6]. Очевидно, что число булевых переменных в редуцированной задаче, как и число ограничений, увеличивается примерно в J/2 раз по сравнению с (1)-(8). Тем самым формальная сложность (1)-(8) редуцируется в вычислительную сложность (10)-(18).

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

l=k+1

1=1

1=k+1

k=1

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

^=1, j=i,J,

i=i

j _ _

b < Zxu < bi, i=1I

j=i

11, если заявкаj назначается

на прибор i; 0 - в противном случае;

j _

Xx0jx„ <ß, i=1,1 ,

(19)

(20)

(21)

(22)

j=i

j _

^tijXij <A , i=1,I, (23)

j=i

Z = min, Zi = ß^min . (24)

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

Линеаризовать векторный критерий Z={Z,Zi} можно посредством линейной свертки:

Z=aA+(i-a)ß, (25)

где 0 <a< i - параметр модели.

Данную идею можно критиковать, однако модель (19)-(25) обладает неоспоримым преимуществом в размерности перед рассмотренной выше точной редукцией модели (1)-(8), а следовательно, по крайней мере на текущий момент времени, имеет большую практическую ценность. Численные эксперименты с обеими моделями подтверждают эффективность второго подхода, так как при использовании (19)-(25) наблюдается падение быстродействия синтезируемых расписаний ОС не более чем на 8 % от оптимального уровня, что для рассматриваемых объектов вполне приемлемо.

Проиллюстрируем использование рассмотренных моделей для синтеза расписаний параллельных ОС на небольшом примере. Рассмотрим параллельную ОС, состоящую из двух неидентичных приборов, в которую на обслуживание неодновременно поступает семь заявок.

Данные о нормах времени обслуживания заявок и задержках (расписании) поступления заявок в систему приведены в таблице.

Номер заявки (j) Время обслуживания (tij) Задержка по-

(номер прибора®) ступления за-

1 2 явки ( т0 )

1 2 4 0

2 3 2 0

3 5 4 2

4 2 4 3

5 4 2 4

6 3 3 5

7 4 3 6

Результатом решения задачи (10)-(18) с данными таблицы является вектор х1*, на котором

определены значения критериев 721* и 71*. Сформируем также матрицу времени завершения операций Т1*. С учетом задержек поступления зая-

вок

Tj будем иметь:

xF =

0 i 0 i i0 0i i0 0i

T i* =

0 8 8 0 0 ii

Z2i* =i8, Zi* =11.

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

Для задачи (19)-(25) с данными таблицы также

T

Z2* и Z2

определим: х , >0 ,

Применение модели (19)-(25) при разных значениях параметра а приводит к следующим результатам: 0 *а* 0.66

'0 i^ 0 i i0 i0 0i i0 0i

ч

Z,

=21, Z2* =12, T

0 0 7 9 0 i2

/

6 0 0 8 0

0 ii

0.66 <a< i

' i 0N i 0 0i i0 0i i0 , 0 i

Z

=19, Z2* = 11, TD(

2 5 0 7 0

0 0 6 0 8

i0 0 0 ii

Анализ результатов применения предложенных моделей для синтеза расписаний параллельных ОС подтверждает вывод о существенном преимуществе в размерности модели (19)-(25) перед (10)-(18) и о незначительном проигрыше в эффективности синтезируемых расписаний при тех же обстоятельствах.

Список литературы

1. Левин В.И. Структурно-логические методы исследования сложных систем с применением ЭВМ. - М.: Наука, 1987. -304 с.

2. Иванов Л.Н., Корчагин И.Я. Проблемно-ориентированная концепция построения структур массово параллельных вычислительных систем. // Автометрия. - Новосибирск. - 2002. - Т. 38. - № 5 - С. 68-75.

3. Коффман Э.Г. и др. Теория расписаний и вычислительные машины. - М.: Наука, 1984. - 336 с.

4. Корчагин И.Я. Использование метода аналогий в задачах распределения ресурсов и маршрутизации сообщений в массово параллельных вычислительных системах. / Вест. Хакасского гос. ун-та. - Абакан. - 2003. - Вып. 5, Сер. 1. - С. 53-58.

5. Иванов Л.Н., Мезенцев Ю.А. Модели синтеза расписаний параллельных обслуживающих систем. / Омский науч. вест. - Омск, Изд-во ОГТУ, 2006. - №9(46). - С. 164-167.

6. Мезенцев Ю.А. Декомпозиционный метод решения одного класса задач оптимального проектирования. / Науч. вест. НГТУ. - Новосибирск, Изд-во НГТУ, 2006. - №3(24). - С. 67100.

x

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