Научная статья на тему 'Алгоритмы решения задач теории расписаний на основе прогноза. Часть 2'

Алгоритмы решения задач теории расписаний на основе прогноза. Часть 2 Текст научной статьи по специальности «Математика»

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

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

Настоящая статья является прямым продолжением работы [1]. В ней исследуется алгоритм решения задачи, сформулированной в указанной работе, приводятся его характеристики, полученные экспериментальным путем.

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

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

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

ALGORITHMS FOR SOLVING THE PROBLEMS OF THE SCHEDULE THEORY ON THE BASIS OF PREDICTION. PART 2

This paper is a direct continuation of [1]. It investigates the algorithm for solving the problem formulated in this paper, and gives its characteristics obtained experimentally.

Текст научной работы на тему «Алгоритмы решения задач теории расписаний на основе прогноза. Часть 2»

УДК 658.52.011.56 М.В.КОСТИКОВА, В.А.ПЬЯНИДА

АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧ ТЕОРИИ РАСПИСАНИЙ НА ОСНОВЕ ПРОГНОЗА. ЧАСТЬ 2

Настоящая статья является прямым продолжением работы [1]. В ней исследуется алгоритм решения задачи, сформулированной в указанной работе, приводятся его характеристики, полученные экспериментальным путем.

1. Алгоритм

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

Рис. 1. Технологический граф От В алгебраической форме исходные величины представим в виде двух матриц:

. Номера строк этих матриц соответствуют номерам обраба-

тываемых предметов: 1 - а, 2 - Ь, 3 - с. Номера столбцов отображают естественные порядки выполнения операций предметов: 1, 2, 3. Элементы матрицы^ задают имена операций и машин, на которых они выполняются согласно технологиям изготовления предметов. Элементы матрицы т указывают длительности выполнения операций каждого предмета соответствующей машиной. Результаты решения задачи также будем пред-

а1 а2 а з "6 3 1"

S = Ь1 Ьз Ь2 т = 2 3 3

_С1 С2 С3 _ 4 3 6

а1 Ь1 С1 " " иа1 иы и С1"

ставлять в виде двух матриц: Р = а2 Ь2 С2 ,и = иа2 и Ь2 иС2 и величины L,которую

>3 а 3 С3 _ ию иа3 ис3 _

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

Следуя [2], определим понятие множества ожидающих операций Ок , к = 1, 2, ..., < п , которые согласно технологическим последовательностям I;,{ = 1, 2, ..., п могут выполняться машинами Я из множества Q в данный момент времени t. Тогда для момента 1 = 0 это операции а!, Ь, с - вершины графа Gx , в которые заходят только дуги У8 . В матрице 8 - это элементы первого столбца.

Обозначим для 1 = 0 моменты начала ожидающих операций и^ = 0, ; = 1, 2, ..., п, и моменты начала возможной загрузки машин и = 0, я е Q . По существу это времена завершения фиктивной операции, обозначенной вершиной .

Выберем из множества ожидающих операций {а!, Ьь с^ для выполнения любую операцию, например, а!. Тем самым мы скажем, что вначале на машине 1 будет выполняться операция а! и, таким образом, она предшествует операциям Ц, с . На технологическом графе Gт (рис. 1) этот выбор отметим дугами порядка, исходящими из вершины а! и направленными к вершинам Ь и с. Эти действия проиллюстрированы на рис. 2.

Рис. 2. Выбор выполнения операции a^

Далее вычислим времена возможного начала uSi и завершения uF1 операции a1. Учитывая, что в каждую вершину графа G, исключая вершину iF, может заходить не более двух дуг, одна из которых технологическая, а другая - дуга порядка, в общем случае, для получения времени начала выбранной операции следует использовать выражение USq = max(Uiq, Uq), где Uiq - момент завершения операции, предшествующей по технологии рассматриваемой операции iq, а Uq - момент освобождения машины q е Q , на которой должна выполняться рассматриваемая операция. Время завершения операции

F g

вычисляется так: Uiq = Uiq +1iq = max(Uiq, Uq) +1iq .

На этом основании для операции a1 имеем: ug1 = max(UiS, U1) = max(0, 0) = 0 ,

uF1 = 0 +1„, = 0 + 6 = 6.

La1

В результате получаем, что машина 1 освобождается в момент времени и! = 6, и операция а2, следующая по технологии за операцией а!, может начаться в момент

иа2 = 6.

Выбранную операцию а! заносим в матрицу р на первое место первой строки, а момент

ее начала и^ - в матрицу и.

Теперь после выбора операции а! множество ожидающих операций Ок составляют

операции а2 , Ь, с. Из них для выполнения можно выбрать любую. Выберем операцию Ь

и отметим это дугой порядка, направленной к вершине с (см. рис. 2). Тем самым мы

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

Вычислим временные параметры, характеризующие выбор этой операции. Момент ее

начала и^ = тах(и;8, и!) = тах(0, 6) = 6 , и момент завершения и^ = и^ +1 Ь! = 6 + 2 = 8 .

Таким образом, время начала операции Ь3, следующей по технологии за операцией Ь1, равно иЬ3 = 8, а время освобождения машины и = 8 .

Операцию Ь1 заносим в матрицу р вслед за операцией а1, а в матрицу и помещаем момент ее начала иЬ1 = 6 .

Очередное множество ожидающих операций Ок образуют операции а2 , Ь3, С1. Выберем для выполнения операцию С1 . Тем самым на машине 1 устанавливаем последовательность выполнения операций а1 , Ь1 , С1 .

Момент начала выполнения операции С1 определяем как ^ = max(UiS, и1) = тах(0, 8) = 8. Момент ее завершения И^ = И^ +1С1 = 8 + 4 = 12 . В результате получаем, что время начала операции С2 , следующей по технологии за операцией С1, иС2 = 12 , а время освобождения машины и1 = 12 .

Операцию с1 заносим в матрицу р вслед за операцией Ь1, а в матрицу и помещаем время ее начала иС1 = 8 .

Теперь множество ожидающих операций образуют операции а2 , Ь3, С2 . Для них известны технологические времена начала операций Иа2 = 6, ИЬ3 = 8,Ис2 = 12 и возможные

моменты загрузки машин И2 = 0 , И3 = 0 . Поэтому описанные выше действия выбора операций могут быть продолжены. В связи с тем, что множество операций конечно и согласно процедуре ни одна из них не выбирается более одного раза, выбор операций будет завершен тогда, когда будет выбрана последняя операция и множество Ок окажется пустым.

Предположим, что Ок = 0. Тогда полное время обработки всех п предметов может

быть найдено так: L = игах^ц) = гпах(ИЧ). Для рассматриваемого примера

L = тах(И3, И £2, И3) = тах(И1, И 2, И3). Заметим, что при вычислении момента начала операции С1 мы учитываем лишь одно значение И = 8 , найденное как сумма весов дуг порядка (а1, Ь1) + (Ь1, с1) = 6 + 2 = 8. Длина дуги (а1, с1) транзитивного замыкания была отброшена, так как ее вес меньше И1 = 8 . При построении графа О и вычислении длины его критического пути при помощи описанной процедуры дуги транзитивного замыкания всегда могут быть отброшены,так как сумма весов дуг включает все такие дуги:(а1, ЬО = 6 и (а1, С1) = 6 .

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

" а1 Ь1 С1

р=

Согласно графу От один из вариантов решения будет таким:

а2 Ь2 С2 Ь3 а3 С3

И =

0 6 8 6 11 14 8 11 17

L = тах(Ис1 +1 с1, Ис2 +1 с2 , Ис3 + tc3) = тах(8 + 4, 14 + 3, 17 + 6) = 23.

Возможность построения других ациклических графов порождается возможностью выбора из множеств ожидающих операций иных элементов. Например, на первом шаге процедуры из множества ожидающих операций {аь Ц, с^ могла быть выбрана не операция а^, а операция Ь или с. Это привело бы к получению других множеств ожидающих операций {аь Ь3, с^ или {аь Ьь с2} , которые предоставили бы возможность очередного формирования иных множеств ожидающих операций.

Наглядную картину вариантов выбора операций дает граф типа дерева, первые три и последний ярусы которого изображены на рис. 3.

Корневой вершиной этого дерева является исходное множество ожидающих операций {а!, Ц, с^} . Остальные вершины - множества ожидающих операций, порождаемые выбором операций из непосредственно предшествующих множеств. Дуги, исходящие из вершин дерева, идентифицируют выбираемую операцию и заходят в вершины, порождаемые ее выбором. Дерево содержит п. т +1 ярусов, определяемых количеством операций и исходным множеством ожидающих операций. Последний ярус дерева - его листья - представляют собой пустые множества, фиксирующие то обстоятельство, что та или иная последовательность выбора операций завершена. Пути от корня дерева к некоторому его листу, как последовательность дуг, определяют порядки выполнения операций на машинах. Среди этих путей имеется и тот путь (оптимальный), который порождается графом G с наименьшим значением критического пути Ь*.

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

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

Интуитивно ясно, что расписание тем короче, чем меньше суммарные простои машин. Поэтому выбор операций должен быть таким, чтобы минимизировать эти простои. Эта идея была положена в основу составления компактных и незадерживающих расписаний [2].

Компактные расписания характеризуются тем, что если расписание составлено, то никакие перестановки выполнения операций на машинах не допускают уменьшения его длины, согласно [2], не допускают сдвига начала операций влево. Незадерживающие расписания образуют подмножество компактных расписаний. Они характеризуются тем, что не допускают задержек в выполнении операций: как только машина освободилась, она сразу же загружается выполнением «ждущей» операции. Множеству компактных расписаний всегда принадлежит расписание с длиной Ь*, множество незадерживающих расписаний в общем случае этим свойством не обладает [2].

Ярус 0

Ярус 1

Ярус 2

Рис. 3. Дерево вариантов выбора операций

В рамках описанной выше процедуры построения ациклического графа G компактное расписание составляется следующим образом: 1) в множестве ожидающих операций Ok найти ту операцию, которая может завершиться на некоторой машине q е Q раньше остальных операций Ok и зафиксировать момент ее завершения UF ; 2) выделить такие операции с Ok , которые можно начать выполнять на машине q е Q строго раньше момента UF, т.е. для которых Uiq < UF ; 3) выбрать любую операцию из множества iq.

Таким образом, компактные расписания порождаются выбором операций из множеств Ik, k = 1, 2, ..., < n , q е Q . Экспериментально установлено, что в среднем примерно половина множеств Ik имеет единичную мощность [4]. Это свидетельствует о том, что дерево поиска компактных расписаний содержит существенно меньше ветвей, чем общее дерево (рис. 3). Тем не менее, перебор вариантов для поиска лучшего расписания в задачах реальной размерности и для компактных расписаний практически непригоден. По-прежнему не решенной является проблема выбора «лучшей» операции из множеств Ik, k = 1, 2, ..., < n , q е Q.

Из набора различных способов выбора операций, известных под названием приоритетных правил [2], мы предлагаем выбор на основании прогноза длины расписания.

В множестве Ik произвольно выберем операцию iq е Ik . По этой операции сформируем очередное множество Ik+j с самым ранним временем завершения некоторой операции UF1 . Затем выберем очередную операцию iq е Ik и для нее сформируем очередное множество Ik+i с самым ранним временем завершения некоторой операции UF2 . Этот процесс закончим выбором последней p -й операции из множества Ik и определением значения Up . Операцией, которую следует окончательно выбрать для построения расписания, будем считать ту из них, для которой UF = min{UFl, ..., UF } .

Назовем описанный процесс выбора операции одношаговым прогнозом частичной длины расписания L . Возможен также двухшаговый, трехшаговый и т.д. прогнозы, которые осуществляются не на одну операцию вперед, а на две, три и т.д. операции. Например, двухшаговый прогноз может быть осуществлен так. Выберем из множества Ik первую операцию iq е Ik. Сформируем далее множество Ik+1. Для каждой операции из Ik+1 выделим множества Ik+2, вычислим значения UF+1 для каждой операции из Ik+2 и определим операцию iq е Iq+1, порождающую наименьшее значение UF . Тем самым получим последовательность операций iq е Ik, iq е Ik+1. Далее перейдем к выполнению описанных действий для очередной операции из множества Ik . Прогноз закончим выбором последовательности операций iq е Iq, iq е Iq+1, порождающей наименьшее значение UF .

Продемонстрируем ряд этапов одношагового прогноза на задаче (см. рис. 1).

Множество ожидающих операций {a1, b1, С1} является одновременно и множеством I1, порождающим компактные расписания, так как Uf = 2, а Ua1 = 0 , = 0, Uc1 = 0 строго меньше UF .

Шаг 1. Выберем операцию a1 е I1 = {a1, b1, c1} и образуем множество ожидающих операций O2 = {a2, b1, c1}, для которых Ua2 = 6, Ub1 = 0, Uc1 = 0 , U1 = 6 . Найдем UF для элементов множества O2:

UF2 = max(Ua2, U2) +1 a2 = max(6, 0) + 3 = 9,

U F1 = max(U b1, U1) +1 b1 = max(0, 6) + 2 = 8,

UF1 = max(Uc1, U1) +1 c1 = max(0, 6) + 4 = 10 .

Получаем, что самое раннее время завершения операции

И = тт{И ^, и 5?1, и = min(9, 8, 10) = 8 определяется операцией Ь1, выполняемой на машине 1.

Шаг 2. Выберем операцию Ь1 е II = {а1, Ь1, с1} и образуем множество ожидающих

операций оЬ = {а1, Ь3, с1} , для которых иа1 = 0 , иь3 = 2 , ис1 = 0 , и1 = 2. Найдем ИР для

ь . 2 '

элементов множества о2:

И^1 = тах(и а1, и1) +1 а1 = тах(0, 2) + 6 = 8,

И^3 = тах(иь3, из) + гЬ3 = тах(2, 0) + 3 = 5,

и^ = тах(ис1, и1) +1с1 = тах(0, 2) + 4 = 6 . Таким образом, самое раннее время завершения операции

И = min{U И^3, и = min(8, 5, 6) = 5 определяется операцией Ь3, которая выполняется на машине 3.

Шаг 3. Выберем операцию с1 е I1 = {а1, Ь1, с1} и образуем множество ожидающих

операций 02 = {а1, Ь1, с2} , для которых иа1 = 0 , иЬ1 = 2, ис2 = 4, и1 = 4 . Найдем Ир для

элементов множества 02:

И^1 = тах(иа1, и1) + га1 = тах(0, 4) + 6 = 10,

и" = тах(И Ь1, И1) + г Ь1 = тах(0, 4) + 2 = 6,

И2 = тах(Ис1, И2) + гс2 = тах(4, 0) + 3 = 7 .

В результате, И для 02 равно тт{И^, И^1, И2} = min{10, 6, 7} = 6. Оно определяется машиной 1.

На основании изложенного получаем, что наименьшее значение Ир, полученное при выполнении одношагового прогноза, равно тт{И^, ИИ^} = тт{8, 5, 6} = 5 . Это значение можно получить, если планировать к выполнению на машине 1 операцию Ь1 . Далее описанные действия следует повторять до тех пор, пока не будут выбраны все операции. В заключение отметим, что в тех случаях, когда в результате прогноза будут получены

одинаковые Ир для разных работ, следует выбрать ту операцию, которая на соответствующей машине завершается раньше всех других операций. 2. Экспериментальные характеристики алгоритма

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

п

наборов «случайных» задач разного размера N = п • т и разных отношений — .

«Случайными» задачами мы называем такие задачи, в которых матрицы S, Т получены при помощи случайных механизмов. Конкретно «случайная» матрица8 формируется путем задания случайных перестановок элементов ее строк, что порождает случайные технологические последовательности выполнения операций предметов. Матрица Т создается генерацией ее элементов как случайных целых чисел, равномерно распределенных на интервале (0,100).

Для сравнительной оценки статистик погрешностей исследованы два алгоритма, составляющие компактные расписания: с одношаговым прогнозом и при помощи одного из

лучших приоритетных правил выбора операций из множеств - N0PNR [2]. Алгоритмы

71

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

запрограммированы на языке Турбо Паскаль 7.0. Программы реализованы в среде Delhi на ПК IBM PC.

В целях получения правдоподобных оценок погрешностей алгоритмов при равных значениях n , m использовался следующий ряд размеров задач: 5х5, 10х10, 15х15, 20х20, 25х25, 30х30, 35х35, 40х40. Таким образом, задача самого малого размера - это 25 операций, самого большого - 1600 операций. По каждому размеру генерировалось 100 «случайных» задач. Иными словами, на языке статистики объем выборки составлял 100 элементов. Относительная погрешность алгоритмов при решении каждой задачи вычислялась по

отношению к нижней границе LN = max(LT, LP) [1] в процентах согласно выражению

А =-N • 100, гдеL - найденная длина расписания.

LN

В связи с этим получаемые значения погрешностей оказывались несколько завышенными по отношению к точным их значениям.

n n

При разных значениях — использовался ряд задач возрастающего отношения :

40x40, 57x28, 80x20, 100x16, 114x14, 126x13, 160x10, 180x9.

Для каждой выборки вычислялись следующие статистики погрешности: среднее арифметическое AS, стандартное отклонение SA , максимальное отклонение Аmax , среднее

арифметическое отклонение решения задачи от верхней границы Ag , которое определя-

LT + Lp — L ^t + Lp

задач. Статистики получены средствами пакета Statgraphics.

Результаты экспериментов сведены в три таблицы. В первой из них приведены статистические данные для наборов задач отношения — = 1, т.е n = m, во второй - данные для

m

наборов задач возрастающего отношения — «1, 2, 4, 6, 8, 10, 16, 20 и N = const« 1600, в

m

третьей - минимальные превышения верхней границы над решением.

Таблица 1

лось путем усреднения относительного отклонения А т , т ^100 каждой из 100

Lт + Lr

Размер задачи Алгоритм с прогнозом Алгоритм с правилом NOPNR

AS SA А max AV As SA А max aV

5x5 32,75 17,58 45,24 30,24 37,16 16,28 85,11 27,95

10x10 40,64 11,78 80,68 26,88 47,10 12,29 81,96 23,51

15x15 47,99 10,47 79,32 23,89 50,55 10,13 86,02 22,56

20x20 51,61 10,07 75,49 21,94 53,60 8,85 74,77 20,91

25x25 53,62 8,27 73,24 21,36 57,48 7,67 78,65 19,38

30x30 55,31 7,37 83,26 20,58 59,98 7,02 75,33 18,19

35x35 57,23 7,21 71,40 19,73 61,29 6,80 75,33 17,65

40x40 58,09 6,87 79,66 19,39 63,10 6,33 76,32 16,84

Из табл. 1, 2 следует, что средняя погрешность алгоритмов As при увеличении размера

задачи N и — = 1 = const растет, а при N = const и увеличении — падает. Тем самым mm

экспериментально подтверждаются теоретические выводы о поведении погрешности алгоритмов при изменении параметров N, — , полученные ранее в работе [1].

m

Параметры п, т задачи Алгоритм с прогнозом Алгоритм с правилом КОРКЯ

Дз ЗД Д тах Д! Дз ЗД Д тах д!

40x40 59,09 6,87 79,62 19,39 63,10 6,33 76,32 16,84

57x28 27,93 5,06 42,64 16,34 28,78 6,10 46,34 15,78

80x20 10,78 3,89 19,56 14,19 15,65 4,18 24,80 10,41

100x16 6,03 3,51 20,35 11,25 13,65 3,67 24,37 4,87

114x14 3,74 3,10 13,50 10,09 12,54 2,70 20,19 2,47

126x13 2,13 2,52 12,38 9,66 12,16 2,68 18,11 0,80

160x10 0,53 1,08 6,90 7,13 11,36 2,14 16,96 -2,87

180x9 0,26 0,53 3,65 6,01 10,71 1,96 16,07 -3,79

Таблица 3

Размер \<5адачи Правило 5x5 10x10 15x15 20x20 25x25 30x30 35x35 40x40

Ж)РЖ 4,63 4,80 5,66 12,58 9,53 9,91 10,72 9,30

Прогноз 4,95 5,48 9,88 10,46 7,91 7,29 13,62 8,69

Минимальные превышения верхней границы длины расписания над решением (табл. 3), в качестве которой была взята величина Lт + Lp, свидетельствуют о том, что из 800 задач

размера отК = 25 до N = 1600, — = 1 не встретилось задачи, для которой бы эта граница

т

п

была превзойдена. Это свидетельствует о том, что данная граница для случая — = 1

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

Не выполняет принятая величина Lт + Lp роль верхней границы, например, для задач

размера 160Х10 , 180Х9, что видно из табл. 2.

п _

Рис. 4. Диаграммы рассеяния погрешностей Д8 для случаев N , т =1 = С0П5*

Законы изменения погрешностей алгоритма наглядно видны из диаграмм рассеяния, построенных на основании табл. 1, 2 и приведенных на рис. 4, 5. Как видно из рис. 4, при

п

— = 1 = сшй и росте размера задачи N рост средней погрешности Д8 алгоритма происходит согласно степенной функции Д8 = а • NЬ с положительным значением показателя Ь < 1. При этом с увеличением N темпы роста средней погрешности алгоритма замедляются.

Рис. 5. Диаграммы рассеяния погрешностей Д8 для случая N ^ ж, — = сог^ «I600

Аналитическая зависимость Д8 = а • N методом регрессионного анализа приближена

эмпирическими кривыми Д§ = 22,8 • №,1Э4 (правило прогноза), Д8 = 24,87 • №,т (правило NOPNR).

п

Для случая N = Сшй , — = уаг согласно рис. 5 уменьшение погрешностей Д8 с ростом

отношения — происходит по закону гиперболы Дs = а • ^—^ . Эмпирические зависимости

/ п 1,8446

для правил прогноза и NOPNR, полученные методом регрессии, такие: Дs = 110,7 • I — I ,

/ п 0,7568 п Д§ = 47,71 • I — I . При этом характерно, что при стремлении отношения--> ж для

правила прогноза средняя погрешность Д8 асимптотически стремится к нулю, а для

п

правила NOPNR это явление не наблюдается. Например, при — = 20 погрешность Д8

(прогноз) равна 0,26%, а погрешность Д8 (NOPNR) равна 10,71%, т.е. она примерно в 40 раз выше.

Что касается других статистик алгоритмов, представленных в табл. 1, 2, то для обоих правил выбора операций стандартные отклонения Зд с ростом размера задачи N и п

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

п

образом, более «кучному» решению задач. С ростом отношения — для обоих правил

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

т

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

Список литературы: 1. Костикова М.В., Пьянида B.A. Алгоритмы решения задач теории расписаний на основе прогноза. Часть 1 // АСУ и приборы автоматики. 2007. 2. Конвей Р.В., Максвелл В.П., Миллер Л.В. Теория расписаний. М.: Наука, 1975. 360 с. 3. Канцедал С.А. Вычислительные алгоритмы решения задач теории расписаний // Изв. АН СССР. Техническая кибернетика. 1982. - .№3. С. 42-51. 4. Канцеда-л С.А. Эффективные алгоритмы упорядочения работ в многостадийных производственных системах дискретного типа. Автореф. дисс. д-ра техн. наук. Харьков: Институт проблем машиностроения АН УССР. 1991. 32 с.

Поступила в редколлегию 07.09.2007 Костикова Марина Владимировна, канд. техн. наук, доцент кафедры информатики Харьковского национального автомобильно-дорожного университета. Научные интересы: математическое моделирование, теория расписаний и ее применение. Адрес: Украина, 61002, Харьков, ул. Петровского, 25, тел. 707-37-74.

Пьянида Виктор Александрович, преподаватель кафедры прикладной математики и информатики Западнодонбасского института экономики и управления. Научные интересы: теория расписаний в моделировании производственных и управленческих процессов. Адрес: Украина, 51400, Павлоград, ул. Парковая, 1а, тел. 311-95.

п

УДК 519.713:681.326

В.И. ХАХАНОВ, М.А.КАМИНСКАЯ, С.А.ЗАЙЧЕНКО

ВЕРИФИКАЦИЯ ЦИФРОВЫХ УСТРОЙСТВ НА ОСНОВЕ ИСПОЛЬЗОВАНИЯ АНАЛИЗА ТЕСТОПРИГОДНОСТИ И АССЕРЦИОННЫХ БИБЛИОТЕК

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

1. Введение

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

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