Научная статья на тему 'О генераторе исходных данных для задачи минимизации суммарного взвешенного запаздывания'

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

CC BY
143
42
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ТЕОРИЯ РАСПИСАНИЙ / ГЕНЕРАТОР ЗАДАЧ / SCHEDULING THEORY / GENERATOR OF TASKS

Аннотация научной статьи по математике, автор научной работы — Сабиров Раиль Гарифзянович, Фазылов Валерий Рауфович

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

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

Похожие темы научных работ по математике , автор научной работы — Сабиров Раиль Гарифзянович, Фазылов Валерий Рауфович

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

n this paper features of popular pseudo-random generator of input data for total weighted tardiness problem for single machine are discussed, and modification of this generator with better properties is offered.

Текст научной работы на тему «О генераторе исходных данных для задачи минимизации суммарного взвешенного запаздывания»

УЧЕНЫЕ ЗАПИСКИ КАЗАНСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

Том 152, кн. 1

Физико-математические пауки

2010

УДК 519.854.2

О ГЕНЕРАТОРЕ ИСХОДНЫХ ДАННЫХ ДЛЯ ЗАДАЧИ МИНИМИЗАЦИИ СУММАРНОГО ВЗВЕШЕННОГО ЗАПАЗДЫВАНИЯ

Р. Г. Сабиров, В. Р. Фазылов

Аннотация

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

Введение

Задача минимизации суммарного взвешенного запаздывания для одного исполнителя определяется следующим образом (см.. например. [1]). Необходимо выполнить набор из и операций (пронумерованных числами 1, 2,..., п) на одной машине, которая не может одновременно выполнять более одной операции. Операция с номером г имеет длительность выполнения p¿, директивный срок окончания выполнения , штрафной коэффициент за запаздывание и готова к выполнению в момент времени т¿. В настоящей статье рассматривав тся случай т¿ = 0, г = 1,...,п.

п

Требуется построить расписание выполнения операций, минимизирующее ^ т^Т^,

¿=1

где T¿ = тах{0, C¿ — ¿¿}, ^ ^^^^^^^^ ^^^^^шенпя выполнения г-й операции.

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

1. Генератор исходных данных

В ряде работ (см., например, [1 7]), посвященных исследованию алгоритмов решения задачи минимизации суммарного взвешенного запаздывания для одной машины, применен генератор, основанный на двух параметрах задачи: TF (tightness factor) и RDD (range of due dates), вычисляемых по формулам:

n

£ d d _ d

TF= 1-—_, RDD = _ ",

¿=i i=i

где dmax = max di, dmin = min di.

Ki<n Ki<n

Алгоритм генерации исходных данных задачи

0. Выбираются количество операций п и значения ТД, ДДД из интервала [0.1].

1. Из целых чисел интервала [1.100] случайно (по равномерному закону) выби-

п

раются значения |рг}П=1, вычислявтся Р = ^ p¿.

¿=1

2. Из целых чисел интервала [Р(1 - ТД - ДОД/2), Р(1 - ТД + ДДД/2)] выбираются случайно (по равномерному закону) значения {¿¿}п=1, отрицательные директивные сроки обнуляются.

3. Из целых чисел интервала [1,10] случайно (по равномерному закону) выбираются значения

Как видно из описания алгоритма (п. 2), предварительный выбор {¿¿}£=1 осуществляется из интервала

[Р(1 - ТД - ДДД/2), Р(1 - ТД + ДДД/2)],

а при ТД > 0.5 и ДДД > 2 - 2 • ТД левая граница интервала предварительных значений директивных сроков будет отрицательной, значит, в этом случае могут получаться задачи с отрицательными директивными сроками операций.

Очевидно, что при условии г = 0, г = 1, ...,п, задача с отрицательными директивными сроками операций будет эквивалентна задаче, в которой все отрицательные директивные сроки заменены нулями, так как их целевые функции отличаются лишь на константу, равную ^ Шг|^|. Но заметим, что параметры

ТД, ДДД у этих задач будут различными.

В известном наборе тестовых задач (Ж-ОЬгагу, расположенном по адресу http://people.brunel.ac.uk/~mastjjb/jeb/info.html, по-видимому, также используется генератор с положительный срезкой директивных сроков, хотя в описании приводится генератор без срезки.

2. Анализ генератора

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

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

ТДрГ, ДДДрГ.

Будем считать, что задача, сгенерированная при параметрах ТДвеп, ДДДвеп, соответствует своему классу, если ее параметры ТДрг и ДДДрг принадлежат интервалам [ТДвеп-Н/2, ТДвеп+Н/2] и [ДДДвеп-Н/2, ДДДвеп+Н/2] соответственно, Н = 0. 2

В первом эксперименте мы проверили соответствие параметров генератора параметрам сгенерированных задач в рамках традиционной схемы генерации задач.

Схема эксперимента такова:

1) ТДвеп, ДДДвеп табулировались с шагом 0.2, начиная от 0.2 до 1.0;

О ГЕНЕРАТОРЕ ДАННЫХ

201

Табл. 1

TFpr \ RDDpr 0 - 0.1 0.1 - 0.3 0.3 - 0.5

0.0 - 0.1 0 / 0 / 0 0 / 0 / 0 0 / 0 / 0

0.1 - 0.3 0/0/0 100 / 0 / 0 100 / 0 / 0

0.3 - 0.5 0/0/0 100 / 0 / 0 100 / 0 / 0

0.5 - 0.7 0/0/0 100 / 0 / 0 100 / 0 / 0

0.7 - 0.9 0/0/0 100 / 0 / 0 343 / 0 / 243

0.9 - 1.1 100 / 0 / 100 200 / 100 / 200 57 / 100 / 57

TFpr \ RDDpr 0.5 - 0.7 0.7 - 0.9 0.9 - 1.1

0.0 - 0.1 0 / 0 / 0 0 / 0 / 0 0 / 0 / 0

0.1 - 0.3 100 /0/0 100 /0/0 100 / 0 / 0

0.3 - 0.5 100 /0/0 101 /0/1 99 /1/0

0.5 - 0.7 101 /0/1 200 / 0 / 100 0 / 100 / 0

0.7 - 0.9 199 / 100 / 199 0 / 100 / 0 0 / 100 / 0

0.9 - 1.1 0 / 100 / 0 0 / 100 / 0 0 / 100 / 0

2) для каждой пары TFgen, ñDDgen было сгенерировано по 100 задач размерности 100 операций:

3) для каждой задачи были вычислены TFpr, ñDDpr.

Результаты экспериментов в табл. 1 приведены в формате A / B / C. Для каждого класса, соответствующего параметрам TFgen, ñDDgen, A означает общее

B

дач, сгененернрованных при соответствующих классу значениях TFgen, ñDDgen,

C

в класс, но сгенерированных при несоответствующих классу параметрах TFgen, ñDDgen (пришедшие задачи).

Заметим, что классы с TFpr £ [0.0,0.1] или с ñDDpr £ [0.0, 0.1] не должны были содержать ни одной задачи, так как для них в эксперименте не было соответствующих параметров TFgen, ñDDgen, то в массе с TFpr £ [0.9,1.1] и ñDDpr £ [0.0,0.1] оказалось 100 задач.

Далее, из табл. 1 видно, что в некоторые классы, имеющие соответствующие параметры TFgen, ñDDgen, не попало ни одной задачи (см., например, класс с TFgen = 1.0, ñDDgen = 1.0, который должен бы соответствовать классу TFpr £ £ [0.9,1.1], ñDDpr £ [0.9,1.1]). В то же время в некоторых классах наблюдается много задач из «чужих» классов (см., например, класс с TFgen = 0.8, ñDDgen = = 0.4, который должен бы соответствов ать классу TFpr £ [0.7,0.9], ñDDpr £ £ [0.3, 0.5]). Отметим также классы с TFgen = 0.8, ñDDgen = 0.6, с TFgen = 1.0, ñDDgen = 0.2, с TFgen = 1.0, ñDDgen = 0.4, которые потеряли все «свои» задачи, но приобрели «чужие».

Таким образом, видно, что TFgen, ñDDgen И T-Fpr, ñDDpr могут не соответствовать друг другу, и поэтому выводы об эффективности методов на этих классах задач, сделанные на основании численных экспериментов, будут некорректными.

Во втором эксперименте проверялось соответствие параметров TFgen, ñDDgen параметрам TFpr, ñDDpr для задач из библиотеки OR-Library.

Схема эксперимента такова:

1) оценивались задачи из набора OR-Library при n = 100, в которых TFgen, ñDDgen изменяются от 0.2 до 1.0 с шагом 0.2;

Табл. 2

TFpr \ RDDpT 0.0 - 0.1 0.1 - 0.3 0.3 - 0.5 0.5 - 0.7 0.7-0.9 0.9 - 1.1

0.0 - 0.1 0/0/0 0/0/0 0/0/0 0/0/0 0/0/0 0/0/0

0.1 - 0.3 0/0/0 о / 0 / 0 о /0/0 о /0/0 о /0/0 о /0/0

0.3 - 0.5 0/0/0 о /0/0 о /0/0 о /0/0 о /0/0 о /0/0

0.5 - 0.7 0/0/0 о /0/0 о /0/0 о /0/0 10 / 0 / о 0 / о / 0

0.7 - 0.9 0/0/0 о /0/0 16 / 0 / 11 10 / о / 10 0 / о / 0 0 / о / 0

0.9 - 1.0 4/0/4 11 / 4 / 10 4 / о / 4 0 / о / 0 0 / о / 0 0 / о / 0

Табл. 3

TFpr \ RDDpr 0.0 - 0.2 0.2 - 0.4 0.4 - 0.6 0.6 - 0.8 0.8 - 1.0

0.0 - 0.2 100 /0/0 100 /0/0 100 / 0 / 0 100 / 0 / 0 100 / 0 / 0

0.2 - 0.4 100 /0/0 100 /0/0 100 / 0 / 0 100 / 0 / 0 100 / 0 / 0

0.4 - 0.6 100 /0/0 100 / 0 / 0 100 / 0 / 0 100 / 0 / 0 100 / 0 / 0

0.6 - 0.8 100 /0/0 100 / 0 / 0 100 / 0 / 0

0.8 - 1.0 100 / 0 / 0

2) для каждой пары TFgen, ñDDgen набор содержит по 5 задач;

3) для каждой задачи были вычислены TFpr, ñDDpr;

4) считалось, что TFpr, ñDDp соответствуют TFgen ; RDDgen если TFpr €

G [TFgen - 0.1,TFgen + 0.1] и ñDDpr € [RDDgen - 0.1,ñDDgen + 0.1].

Из табл. 2 видно, что второй эксперимент дал результаты, аналогичные результатам первого эксперимента: в наборе OR-Library 11 классов задач из 25 возможных не соответствуют ожиданиям, так как параметры TFpr, ñDDpr для задач из этих классов в основном не соответствуют порождающим их параметрам TFgen,

RDDgen •

3. Модификация генератора исходных данных

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

Д££8еп < шт{1; 2 - 2 • Т^}, (1)

и генерировать задачи, табулируя Т^еп, от 0.1 до 0.9 с шагом 0.2.

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

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

Нами был проведен эксперимент по вышеописанной схеме с предложенным ограничением на параметры Т^еп, . В табл. 3 приведены результаты

этого эксперимента, прочерки в таблице соответствуют парам ТД^еп ? RDDgen ? не удовлетворяющим условию (1), для этих пар параметров задачи не генерировались.

Как видим, предложенный генератор обеспечивает полное соответствие Т^еп, классам сгенерированных задач с ТДрг с [Т^еп — 0.1, Т^еп + 0.1] и Д££рГ € [Д£»Д;еп — 0.1, + 0.1].

4. Генерация задач с малым числом операций

Нами было проведено численное исследование свойств генератора при п < 100. Было установлено, что пока п оставалось не меньше 50, качественного отличия

О ГЕНЕРАТОРЕ ДАННЫХ

203

Табл. 4

n = 50

TFpr \ RDDpr 0.0 - 0.2 0.2 - 0.4 0.4 - 0.6 0.6 - 0.8 0.8 - 1.0

0.0 - 0.2 100 / 0 / 0 100 / 0 / 0 101 / 0 / 1 100 / 1 / 1 100 / 1 / 1

0.2 - 0.4 100 / 0 / 0 100 / 0 / 0 101 / 0 / 1 99 / 1 / 0 99 / 1 / 0

0.4 - 0.6 100 / 0 / 0 100 / 0 / 0 100 / 0 / 0 101 / 0 / 1 99 / 1 / 0

0.6 - 0.8 100 /0/0 100 /0/0 100 /0/0

0.8 - 1.0 100 / 0 / 0

Табл. 5

n = 20

TFpr \ RDDpr 0.0 - 0.2 0.2 - 0.4 0.4 - 0.6 0.6 - 0.8 0.8 - 1.0

0.0 - 0.2 0.2 - 0.4 0.4 - 0.6 0.6 - 0.8 0.8 - 1.0 101 / 0 / 1 101 / 0 / 1 102 / 0 / 2 101 / 0 / 1 100 / 0 / 0 107 / 1 / 8 103 / 1 / 4 106 / 2 / 8 110 / 1 / 11 112 / 7 / 19 114 / 4 / 18 108 / 8 / 16 89 / 11/0 111 / 21 / 32 119 / 20 / 39 116 / 16 / 32 2/ /2 70 / 31/1 67 / 42 / 9 60 / 45 / 5 1/ /1

результатов от вышеизложенных не наблюдалось. Как видно из табл. 4. количество ушедших и пришедших задач не превышает 1%.

Однако при уменьшении количества операций наблюдается заметное ухудшение качества генератора. Из табл. 5 видно, что при n =20 количество ушедших задач достигает 39%. а пришедших 45%. Особо отметим, в классы, соответствующие парам TFgen = 0.7, RDDgen = 0.7 и TFgen = 0.7, RDDgen = 0.9 (для этих пар параметров задачи не генерировались), пришли задачи из других классов.

Проведенные эксперименты показывают, что для получения задач с малым числом операций (n < 50) нужно дополнить генератор фильтром, который отсеивает задачи, не соответствующие параметрам генератора.

Работа выполнена при финансовой поддержке РФФИ (проект Х- 10-01-00728).

Summary

R.G. Sabirov, V.R. Fazylov. About the Generator of the Data for the Single Machine Total Weighted Tardiness Problem.

In this paper features of popular pseudo-random generator of input data for total weighted tardiness problem for single machine are discussed, and modification of this generator with better properties is offered.

Key words: scheduling theory, generator of tasks.

Литература

1. Putts C.N., Van Wassenhuve L.N. A branch and bound algorithm for total weighted tardiness problem // Oper. Res. 1985. V. 33. P. 363 377.

2. Liu N.. Abtlelrahman M., Ram.aswam.y S. A Genetic Algorithm for Single Machine Total Weighted Tardiness Scheduling Problem // Proc. of the 35t.li Southeastern Symposium on System Theory, Morgantown (West Virginia, USA), 16 18 March 2003 / IEEE. 2003. P. 34 38.

3. Tasgetiren M.F., Sevkli М. Particle Swarm Optimization Algorithm for Single Machine Total Weighted Tardiness Problem // Congress of Evolutionary Computation. Portland (Oregon, USA), 20 23 June 2004 / IEEE. 2004. V. 2. P. 1412 1419.

4. Congram R.K., Post C.N., van de Velde S.L. An Iterated Dynasearcli Algorithm for the Single-Machine Total Weighted Tardiness Scheduling Problem // INFORMS J. Computing. 2002. V. 14, No 1. P. 52 67.

5. Avci S., Akturk S.M., Stirrer R.H. A problem space algorithm for single machine weighted tardiness problems // IEEE Transact. 2004. V. 35. P. 479 486.

6. Akturk S.M., Yildirim B.M. A new dominance rule for the total weighted tardiness problem // Production Planning & Control. 1999. V. 10, No 2. P. 138 149.

7. Akturk S.M. , Yildirim B.M. A new lower bounding scheme for the total weighted tardiness problem // Сотр. Oper. Res. 1998. V. 25, No 4. P. 265 278.

Поступила в редакцию 28.04.09

Сабиров Раиль Гарифзянович аспирант кафедры экономической кибернетики Казанского государственного университета.

Фазылов Валерий Рауфович доктор физико-математических паук, профессор кафедры экономической кибернетики Казанского государственного университета. E-mail : Valéry. Fazylov Qksu.ru

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