Глава 2 Минимизация суммарного взвешенного момента

advertisement
Глава 2
МИНИМИЗАЦИЯ СУММАРНОГО ВЗВЕШЕННОГО
МОМЕНТА ОКОНЧАНИЯ ВЫПОЛНЕНИЯ ВЗАИМОСВЯЗАННЫХ
ЗАДАНИЙ ОДНИМ ПРИБОРОМ
Введение
Труднорешаемая задача комбинаторной оптимизации «Минимизация суммарного взвешенного момента окончания выполнения заданий одним прибором при отношении порядка, заданном ориентированным ацикличным графом» (МВМ) формулируется следующим образом.
Частично-упорядоченное множество
J  ( j1 , j2 ,..., jn )
заданий начиная с момен-
та времени d  0 обслуживается одним прибором. Для каждого задания j известны длительность
li > 0
его обслуживания и вес  j (произвольное действи-
тельное число). Задания обслуживаются без прерываний и не более чем по одному одновременно. Отношение порядка
между заданиями задано ориентиро-
ванным ацикличным графом. [29]
Необходимо найти такую последовательность обслуживания заданий, суммарный взвешенный момент окончания выполнения заданий в которой минимален:
n
F    jk  c jk   min ,
(2.1)
k 1
где c j  – момент завершения выполнения задания, стоящего в допустимом расk
писании на k -й позиции;
k
c jk    l js 
.
s 1
Эта задача является NP-трудной в сильном смысле и останется таковой, если все длительности или все веса равны 1. Она разрешима за полиномиальное
время, если порядок
является «лесом» или последовательно-параллельным
графом. Если вместо условий предшествования ввести индивидуальные моменты поступления, то полученная задача будет NP-трудной в сильном смысле,
даже если все веса заданий равны единице.
108
Минимизация суммарного взвешенного момента окончания выполнения заданий…
2.1 Основные теоретические положения
Рассмотрим свойства исследуемого функционала (2.1). Для этого введем
следующие обозначения: j и ji – номер работы в соответствии с индексацией, заданной функционалом;
j[g ]
– номер работы, стоящей в допустимом расписании на
позиции g;  – множество всех перестановок  r  ( j1 , j 2 ,..., j r ), r  0, n из элементов множества N  1,2,..., n, где r – длина перестановки  r ,  0    . Если
,
то
через
  q  ,  q    0 ,
 1 ,   2   ,
Q
обозначим
множество
всех
тех
перестановок
для которых существуют такие перестановки
 
и
что    1 ,  q  ,  2  .
Утверждение 2.1. Пусть на множестве
  
задан функционал
n
F ( )    jk  c jk  .
k 1
Пусть    . Тогда для любых перестановок
    1 ,  a  ,  b  ,  2  
(2.2)
и
    1 ,  b  ,  a  ,  2   ,
принадлежащих  , существует функционал f   , определенный на множестве
Q  и обладающий следующим свойством: из условия f  a    f  b   следует
F    F   , а из условия f  a    f  b   – равенство F    F  .
Доказательство [79]. Введем функционал
r
k


  , R     jk   R   l js  ,
k 1
s 1


(2.3)
где R – действительное число. Очевидно, F     ,0,  a  ,  b  – подпоследовательности заданий, не связанные отношением порядка между собой. Тогда

       
  

F    ,    ,    ,         ,0     , t         , t    ,         , t    ,    ,     .
F  1 ,  a  ,  b  ,  2     1 ,0    a  , t  1    b  , t  1 ,  a     2  , t  1 ,  a  ,  b  ;
1
b
a
2
1
Так как
b

1
a
 
1
b
2
1
a
b

t  1 ,  a  ,  b   t  1 ,  b  ,  a  ,
то для выполнения неравенства



F  1 ,  a  ,  b  ,  2   F  1 ,  b  ,  a  ,  2 

109
Глава 2
необходимо и достаточно, чтобы

 




lj 

 



  a  , t  1    b  , t  1 ,  a     b  , t  1    a  , t  1 ,  b  ,
(2.4)
или иными словами,

 
b
j   
Обозначим p   
j
  /  l
j 
j
j

j

 
a
j   
 
a
j   
j

 
b
j   
lj .
(2.5)
– приоритет перестановки  . Очевидно, что
равенство (2.5) справедливо при l j  0 и значениях  j , определяемых произвольными действительными числами. Тогда выражение (2.5) можно переписать
в виде
   
p  b   p  a  .
(2.6)
Утверждение доказано.
Определение 2.1. Пусть на множестве заданий J ориентированным ацикличным графом задано отношение частичного порядка. Если
ствует такого
jz ,
что
предшественником
jl ,
jk
jl ,
jz , jz
обозначив
то
jk
jk
jl
и не суще-
будем называть непосредственным
jl .
jk
Определение 2.2. Последовательность заданий    j1 , j2  ,..., jg   называется
допустимой, если при
jk 
jl 
обслуживание задания jk  согласно этой после-
довательности должно завершиться до начала обслуживания задания j l  .
Для простоты все различные задания в последовательности  будем обозначать одной и той же буквой j ; l j  – длительность выполнения задания j ,
k
занимающего в последовательности  позицию k .
Определение 2.3. Приоритетно-упорядоченным (р-упорядоченным) расписанием называется допустимая последовательность заданий, удовлетворяющая
следующим свойствам:
1. а) первым выполняется подмножество S1  J ( J – множество всех заданий), имеющее максимально возможный приоритет, т.е.
pS1   pU , U  J \ S1 ;
110
(2.7)
Минимизация суммарного взвешенного момента окончания выполнения заданий…
б) подмножество S1 содержит минимально возможное количество заданий
при условии выполнения неравенства (2.7);
в) вторым выполняется подмножество S 2 , удовлетворяющее свойствам а),
б) на множестве заданий
J \ S1
и т.д.
2. Обозначим  i Si  – последовательность выполнения заданий на S i . Тогда
множество заданий любой начальной подпоследовательности  i Si  удовлетворяет свойству 1.
Теорема 2.1. Оптимальное расписание является р-упорядоченным.
Доказательство этой теоремы вытекает из последовательного применения
леммы 3 из работы [186], доказательство которой должно быть переформулировано с учетом определения приоритета множества заданий G вида
p G  
 G 
L G 
.
Теорема 2.2. При отношении порядка, заданном последовательно-параллельным графом, р-упорядоченное расписание является оптимальным при
условии выполнения всех перестановок вида (2.2).
Доказательство теоремы вытекает из алгоритма построения р-упорядоченного расписания для последовательно-параллельного графа [74]. Действительно, различные р-упорядоченные расписания могут отличаться лишь перестановками вида (2.2) при условии
   
p  a   p  b  .
Определение 2.4. Подпоследовательность заданий
  jg     jr  , jr 1 ,..., jg  
в последовательности  называется цепочкой заданий, если
где
1.
jr 
2.
p j r  ,..., j g k 1  p j g k  ,..., j g 1 , j g 

jr 1
...
j g  ;
 

для всех допустимых натуральных k ,
      j   / L  j   – приоритет цепочки   j
p  j g 
g
g
вес цепочки   j  g   , а L  j g   

 
jl  j g 
ljl

g 
;
 
 j g  
  j  –
 
jl  j g 
l
– длительность ее выполнения.
111
Глава 2
Определение 2.5. Две цепочки заданий   j  g   ,   j f   называются независимыми, если ни для какой пары заданий jk     jg   и jl     j f   не выполняются
условия предшествования.
Определение 2.6. Конструкцией К называется допустимая последовательность заданий, структура которой показана на рис 2.1 (  ,  1 ,...,  k – цепочки;
j i , i  1, k ; p 1   p 2     p k  ).
j
β
...
...
α1
α2
...
...
αk
...
...
Рис. 2.1. Конструкция заданий
~
Определение 2.7. Сложной конструкцией K называется такая конструкция,
в которой либо:
а) вместо любой цепочки  t стоит конструкция
K*
(типа К) и выполняется:
задание j непосредственно предшествует первому заданию конструкции
K* ;
~
б) аналогично, в конструкции K может выполняться условие а) для любой
~
цепочки ~ j , входящей в K , и т.д.
~
Для К либо K должно выполняться: при любом разбиении последовательности заданий конструкции на две непересекающиеся части, приоритет
начальной части меньше или равен приоритету конечной (соответствующий
аналог свойства цепочки).
Определение 2.8. Интервалом переноса в последовательности  отдельного задания j k  (или подпоследовательности заданий) назовем максимальный
интервал, при переносе на который задания j k  для более раннего выполнения
допустимость последовательности  не нарушается.
Например,
интервал
   j , j ,..., j , j
1
1
112
2
2
p
 p
p 1
 p 1
p2
 p  2
,j
переноса
g 1
g 1
,..., j
*
g 
,j
задания
j*
в
последовательности
 определяется величиной
I j 
g 1
l
k  p 1
j k 
, где р+1
Минимизация суммарного взвешенного момента окончания выполнения заданий…
– позиция с минимальным номером, занимаемая заданием j  p 1 , для которого
j  , k  p  1, g  1, j p 
выполняется
j k 
выполнения
процедуры
j .
переноса
Последовательность заданий  после
преобразуется
в
последовательность
 1   j11 , j22 ,..., jpp  , j*p1 , jpp12 ,..., jgg21 , jgg1 .
Для цепочки заданий   jg     jr  , jr 1 ,..., jg 1 , jg   интервал переноса
I 
где
k  p  1, r  1, j k 
 ,
 j g 
j p 
r 1
l
k  p 1
j k 
,
 .
 j g 
Определение 2.9. Интервал эффективного переноса для задания jg  определяется интервалом
I

g 


l
k  g 1
j k 
где  – позиция, на которой разность  j 
g
,

l
k  g 1
jk 
 l j g 


k  g 1
jk 
 0 достигает мак-
симального значения; для цепочки заданий   j  g   интервал эффективного переноса
r 1
I  j g     l jk  ,
k q
где q – позиция, на которой разность
ет максимального значения. Здесь
 l
 j g 
q
k r 1
 l
 j g 
q
k  r 1
j k 
jk 
 
 L j g 
q
k r 1
j k 
0
достига-
– уменьшение штрафа по це-
почке заданий в результате выполнения процедуры переноса; L  j g     j  –
q
k r 1
k
приращение штрафа по заданиям j k  , смещенным на более поздние позиции
k  r  1, q ;
для конструкций К интервал эффективного переноса
s 1
I K  j g     l jk  ,
k i
113
Глава 2
где i – позиция, на которой разность
s 1
s 1
K  l j k  LK   j k  0
k i
 
k i
 
достигает макси-
мального значения; s – позиция первого задания конструкции К до выполнения эффективного переноса. Аналогично определяется интервал эффективного
~
переноса для K .
Утверждение 2.2. Пусть в допустимой последовательности  для независимых цепочек заданий    jr  , jr 1 ,..., jg 1 , jg   ,    js  , js 1 ,..., j f 1 , j f   , где
      и v  s, k  g
если j    j   , то p  j    p    j    ;
если   j   j  , то p  j    p   j    ;
f  r , выполняется условие p  j g   p  j f 
v
f
g
k
v
f
k
g
тогда в приоритетно-упорядоченном расписании цепочка заданий   j f   должна выполняться раньше цепочки заданий   j  g   .
Пусть в допустимом расписании  J 1    j1 , j2 ,..., jg   первые g  1 заданий
j 1 , j 2  ,..., j  g 1 являются приоритетно-упорядоченными для множества заданий
j  , j  ,..., j  . Эту начальную подпоследовательность обозначим
1
2
g 1
jr  , jr 1 ,..., jg 1 , jg 
образуют
  jg   .
цепочку
 1 . Задания
Существует
цепочка
  j f     js  , js 1 ,..., j f 1 , j f   , f  r ,   j[ f ]     j[ g ]  . Для остальных заданий j   1
выполняется
j
 .
 j g 
Справедливы следующие утверждения.
Утверждение 2.3. Если выполняется
 
jk    jg 
    p    j   , то любое задание
p  j g 
f
в приоритетно-упорядоченном расписании на рассматриваемом
множестве заданий занимает позицию с номером t  f .
    p    j   и в последовательности  для
j  , f  q  r , выполняется условие p  j    p    j    , то любое зада-
Утверждение 2.4. Если
всех заданий
q
p  j g 
1
f
q
f
ние jk     jg   в р-упорядоченном расписании на рассматриваемом множестве
114
Минимизация суммарного взвешенного момента окончания выполнения заданий…
заданий займет позицию с номером t  f  n1 , где n1 – количество заданий
j    j g   .
Утверждение 2.5. Пусть последовательность, включающая подпоследова 1  jg  ,
тельность
р-упорядочена.
При
выполнении
условия
    p    j   в приоритетно-упорядоченном расписании позиции между
p  j g 
f
цепочками заданий   j f   и   j  g   могут занимать только подпоследовательности заданий z  jq  , r  q  f , для которых справедливо
    p   j   ;
p z jq
g
  z  j   .
 j f 
q
Утверждения 2.2–2.5 доказаны в работе [74] и справедливы также для кон~
струкций K , K .
Утверждение 2.6. Пусть имеется подпоследовательность  и совокупность подпоследовательностей G 1 ,...,  k  (  1 ,...,  k – не связанные по графу
подпоследовательности заданий), тогда объединение подпоследовательностей
максимального приоритета, включающего  , определяется по следующему
правилу:
строим последовательность заданий G1 :


G1   1 ,  2  ,...,  k1  ;
   


p  1  p   2   ...  p   k1  ;
 
p  j  p   , j  1, k1;
(2.8)
 
 j  G \ G1 , p  j  p   ;
определяем объединение подпоследовательностей, имеющее суммарный
максимальный приоритет,  ,1 ,..., p , где
p
max 
p


p     j  


j 1


p t


p      j  , t  1, p  1 ,


j 1


p


p     j  


j 1


p 1


p     j  .


j 1


Доказательство. а) пусть p1   p 2  , тогда
p 2   p1   2   p1  ;
(2.9)
115
Глава 2
неравенство очевидно;
б) из неравенства (2.9) следует справедливость процедуры (2.8);
в) рассмотрим множество G2  G1 , состоящее из всех  j , p  j   pmax . Пусть


p      j   pmax .


 j G2


(2.10)
Тогда не существует такого множества подпоследовательностей заданий
G3  G 2 , что


p      j   pmax .


 j G3


(2.11)
Доказательство неравенства (2.11) будем вести от противного. Пусть G3
существует. Тогда неравенство (2.10) не выполняется в силу справедливости
выражения (2.9).
Пусть


p      j   pmax


 j G2


(2.12)
Если G2 – это подмножество  ,1 ,..., p , то в силу определения p max приходим к противоречию.
Пусть  ,1 ,..., p – это подмножество G2 , но в силу определения
p   G2   pmax .
Следовательно, множества G2 , удовлетворяющего неравенству
(2.12), не существует.
2.2 Построение р-упорядоченного расписания при отношении порядка,
заданном последовательно-параллельным графом
Алгоритм построения допустимого расписания
Находим задание с максимальным приоритетом. Начальной подпоследовательностью будет подпоследовательность, включающая это задание со всеми
его предшественниками, упорядоченная в соответствии с неравенством (2.6)
при условии допустимости перестановок отношениями предшествования. Далее эта процедура повторяется для оставшегося множества заданий и т.д.
116
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Построим оптимальное расписание для случая, когда отношение порядка
задано последовательно-параллельным графом [79]. Основное свойство последовательно-параллельного графа, используемое в алгоритме: если некоторое
задание j непосредственно предшествует совокупности заданий S и произвольному заданию i  S непосредственно предшествует множество заданий S1 ,
то каждое задание из множества S1 непосредственно предшествует всем заданиям из множества S .
Алгоритм построения оптимального расписания
Пусть на k -м шаге получено p-упорядоченное расписание на множестве
первых k заданий допустимого расписания  k ( j1 ,..., jk ) .
(k  1) -й
шаг алгоритма. Строим допустимую подпоследовательность
 k 1 ( j1 ,..., jk , g k 1 ) ,
где g k 1 – (k  1) -е задание исходного допустимого расписания.
Отношение порядка задаем ациклическим подграфом, содержащим все ребра
исходного графа на множестве вершин j1 ,..., jk , g k 1 .
Рассмотрим все логические ветви алгоритма построения p-упорядоченного
расписания на множестве заданий j1 ,..., jk , g k 1 .
1. Задание g k 1 либо цепочка  ( g k 1 ) встроена на позиции, определяемые
интервалом эффективного переноса. Если после удаления ограничений предшествования, связывающих g k 1 либо  ( g k 1 ) с заданиями, занимающими более ранние позиции, интервал эффективного переноса для g k 1 либо  ( g k 1 )
равен нулю, то построенное расписание р-упорядочено.
2. Пусть после операции эффективного переноса цепочки  ( g k 1 ) нашлось
задание jl либо цепочка  ( jl  ) , предшествующая по графу первому заданию
 ( g k 1 ) , для которого справедливо p( jl )  p( ( g k 1 )) либо p(  ( jl  ))  p( ( g k 1 )) .
В дальнейшем будем считать задание частным случаем цепочки. Тогда возможны следующие случаи, изображенные на рис. 2.2.
117
Глава 2
β(j[l])
α(g[k+1])
...
...
a
β(j[l])
...
qj
...
...
α(g[k+1])
...
...
б
Рис. 2.2. Ситуация 2. Связи между цепочками  ( jl  ) и  ( gk 1 ) , удовлетворяющие свойствам последовательно-параллельного графа
Цепочки q j и  ( g k 1 ) независимы между собой:
j p(q j )  p( ( gk 1 )) ;
p (q j )  p (q j 1 ) , связи между цепочками удовлетворяют свойству последователь-
но-параллельного графа.
Пусть все задания и цепочки, следующие за цепочкой  ( g k 1 ) , независимы
между собой и цепочками  ( g k 1 ) , q j ,… На подпоследовательностях цепочек
 ( jl  ) ,  ( g k 1 ) и заданий, следующих за цепочкой  ( g k 1 ) (рис. 2.2, а), и цепо-
чек  ( jl  ),..., q j ,...,  ( gk 1 ) и заданий, следующих за цепочкой  ( g k 1 ) (рис. 2.2,
б), в соответствии с утверждением 2.6 и указанным в нем порядком расположения независимых цепочек, строим конструкцию K .
Примечание. Если задания или цепочки, следующие за цепочкой  ( g k 1 ) ,
не являются непосредственными преемниками  ( jl  ) и имеют приоритет
больший, чем приоритет  ( jl  ) , то в р-упорядоченном расписании на k -м шаге
в соответствии с утверждением 2.1 они будут занимать позиции, предшествующие цепочке  ( jl  ) .
Таким образом, в К включаются только те работы или цепочки, следующие
за  ( g k 1 ) , которым предшествует  ( jl  ) по графу частичного упорядочения, и
их приоритет выше, чем
118

p  ( jl  )
.
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Выполняем процедуру эффективного переноса для конструкции K . Если
для конструкции K выполняются условия случая 1, то построенное расписание является р-упорядоченным.
3. Пусть существует задание либо цепочка, по графу предшествующая построенной конструкции K . В силу свойств последовательно-параллельного графа
возможен один из трех случаев (см. рис. 2.3), либо их комбинация.
K
γ
β(j[l])
...
...
...
...
...
a
K
γ
β(j[l])
...
...
...
...
...
б
γ
q1
...
...
...
qt
β(j[l])
...
...
K
...
...
...
в
Рис. 2.3. Ситуация 3. Связи между цепочками и конструкцией K , удовлетворяющие свойствам последовательно-параллельного графа
Имеет место соотношение приоритетов
Примечание к рис. 2.3, а. Если
p(q1 )  p(q 2 )  ...  p(qt )  p( K )  p( ) .
   , то по правилу построения
p    p  jl 
цепочек цепочки  и  ( jl  ) не сливаются в одну, а рассматриваются в дальнейшем как две рядом стоящие цепочки, причем цепочка  запирает цепочку
 ( jl  ) .
Ситуация 3 предполагает, что за конструкцией K стоят приоритетноупорядоченные независимые цепочки. Тогда, используя определение сложной
~
конструкции K , в соответствии с процедурой, аналогичной ситуации 2, строим
~
сложную конструкцию K максимального приоритета на множестве  , q1 ,..., qt , K
119
Глава 2
и независимых цепочках, стоящих после K . После этого реализуем процедуру
эффективного переноса и p -упорядочение цепочек, стоящих в новом допу~
стимом расписании после конструкции K . Далее процедуру повторяем аналогично в соответствии с ситуациями 1–3 до построения p -упорядоченного расписания.
4. Рассмотрим ситуацию, показанную на рис. 2.4. Приоритет цепочки 
меньше или равен приоритетам цепочек (рис. 2.4), которым она предшествует
по графу.
Конструкция
K1
была построена до (k  1) -го шага алгоритма.
K1
β
α(g[k+1])
...
...
...
...
...
...
...
...
...
Рис. 2.4. Ситуация 4
После операции эффективного переноса цепочки  ( g k 1 ) возникает ситуация, изображенная на рис. 2.5. В этом случае конструкция K строится в соответствии со случаем 2 алгоритма. Конструкция K1 не входит в конструкцию K и
находится в новом расписании на месте, соответствующем ее приоритету p( K1 ) .
K1
K
β
...
α(g[k+1])
...
...
...
...
...
...
...
...
...
...
Рис. 2.5. Ситуация 4, после эффективного переноса цепочки  ( g k 1 )
Затем проводится операция эффективного переноса для конструкции K в
соответствии с ситуациями 2–3. При этом очевидно, что конструкция K либо
~
сложная конструкция K при каждой операции эффективного переноса «перескакивает» через конструкции, построенные на предыдущих шагах алгоритма,
120
Минимизация суммарного взвешенного момента окончания выполнения заданий…
~
если они не связаны по графу частичного упорядочения и конструкция K имеет больший приоритет.
5. Рассмотрим случай, показанный на рис. 2.6. Приоритет цепочки 
меньше, чем приоритеты цепочек и конструкций (рис. 2.6), которым она предшествует по графу.
K2
K3
K1
β
α(g[k+1])
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Рис. 2.6. Ситуация 5
После операции эффективного переноса цепочки  ( g k 1 ) возникает ситуа~
ция, изображенная на рис. 2.7. Далее строим сложную конструкцию K , включающую цепочку  ( g k 1 ) , в соответствии с определением 2.7 и утверждением
~
2.6. Реализуем операцию эффективного переноса для конструкции K (рис. 2.7)
до получения p -упорядоченного расписания.
Примечание. После каждой операции эффективного переноса конструкции
~
K либо K p -упорядочивается часть допустимого расписания, задания которой
~
занимают позиции после конструкции K либо K .
K2
K3
β
K1
α(g[k+1])
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Рис. 2.7. Ситуация 5, после эффективного переноса цепочки  ( g k 1 )
В силу свойств последовательно-параллельного графа эта часть расписания
состоит из независимых между собой заданий, цепочек и конструкций типа K
~
или K . Для p -упорядочения на множестве этих элементов необходимо последовательно применить перестановки в соответствии с утверждением 2.1 и в
случае необходимости процедуры, соответствующие ситуациям 1–5.
Конец (k  1) -го шага алгоритма.
121
Глава 2
После (n  1) -го шага алгоритма получим p -упорядоченное расписание на
множестве всех n заданий, которое в соответствии с теоремой 2.2 является оптимальным.
2.3 Схема и общее описание ПДС-алгоритма решения задачи
Разработанный ПДС-алгоритм решения задачи МВМ условно можно представить в виде следующих основных блоков [15]:
а) блок упорядочения;
б) блок построения начального расписания;
в) блок оптимизации.
В блоке упорядочения выполняется упорядочение заданий в соответствии
с их приоритетами. Все задания упорядочиваются по невозрастанию отношения
j lj
, и если полученная последовательность допустима по выполнению, то она
оптимальна.
В блоке б) cтроится допустимая по выполнению начальная последовательность заданий.
Блок в) – итерационный алгоритм, включающий:
– декомпозицию начальной последовательности, полученной в блоке б),
на множества максимального приоритета;
– построение оптимального расписания на множествах максимального
приоритета.
Для выполнения блока оптимизации задачи МВМ разработаны адаптивные
алгоритмы поиска оптимального решения. Их суть состоит в том, что на каждой k-й итерации анализируется решение (k–1)-й итерации, на основании чего
выбирается дальнейшая стратегия поиска решения.
ПДС-алгоритм задачи МВМ – это точный алгоритм, состоящий из двух составляющих: полиномиальной и декомпозиционной. Порядок решения задачи
составляющими алгоритма является последовательным. Для первой составляющей определены условия, выполнение которых приводит к получению оптимального решения за полиномиальное время (p-условия). В случае нарушения
122
Минимизация суммарного взвешенного момента окончания выполнения заданий…
p-условий (первая составляющая не смогла решить задачу) задачу решает вторая составляющая, для которой определены условия декомпозиции исходной
задачи на подзадачи меньшей размерности (d-условия). Декомпозиция заключается в разбиении исходного множества заданий на подмножества максимальных
приоритетов и выполняется полиномиальной вычислительной схемой [29].
Алгоритм решения задачи МВМ является итерационным. Он основывается
на анализе приоритетов и использовании перестановочного приема для непосредственно следующих друг за другом подпоследовательностей заданий. Данный алгоритм на каждой k-й итерации строит р-упорядоченное расписание следующим образом: к оптимальному расписанию, полученному на (k–1)-й итерации, добавляется очередное запаздывающее задание из начальной допустимой
последовательности и по определенным правилам строится структура взаимосвязанных заданий (цепочка, простая конструкция, вложенная конструкция и
т.д.), которая встраивается в соответствии с приоритетом в допустимой последовательности на более ранние позиции, не нарушая допустимость всей последовательности. Затем проводится последующая оптимизация. Аналогично
строится р-упорядоченное расписание для всего множества заданий, которое в
соответствии с определением представлено упорядоченной подпоследовательностью подмножеств максимальных приоритетов.
Алгоритм построен таким образом, что в результате выполнения каждой
итерации значение оптимизируемого функционала для всего множества заданий уменьшается (или остается неизменным). Последнее обстоятельство позволяет остановить процесс решения при достижении граничного времени и
оценить отклонение полученного решения от искомого оптимального, так как
для решенного класса задач получены оценки, величины которых зависят от
текущего решения.
Отметим еще одно свойство разработанного алгоритма. Структура алгоритма позволяет «загрублять» предлагаемые решения, т.е. выигрывать во времени за счет потери точности получаемых результатов, исключая из алгоритмов те процедуры, которые статистически лишь незначительно влияют на зна-
123
Глава 2
чение функционала. Это свойство позволяет строить эффективные приближенные решения.
2.4 Полиномиальные алгоритмы решения индивидуальных задач МВМ
при отношении порядка, заданном ориентированным ацикличным
графом
Рассмотрим полиномиальные алгоритмы решения задачи МВМ общего вида, основанные на сведении к алгоритмам построения p -упорядоченного расписания при отношении порядка, заданном последовательно-параллельным
графом.
Алгоритм 1. В основе алгоритма лежит следующее утверждение.
Если на всех итерациях k  2, n при решении конкретной задачи в процессе
построения p -упорядоченного расписания все структуры, участвующие в последовательном построении множеств максимальных приоритетов, удовлетворяют свойству последовательно-параллельного графа, то построенное расписание по схеме последовательно-параллельного графа является оптимальным
для данной индивидуальной задачи.
Обоснование. По построению полученное расписание состоит из последовательных p -упорядоченных множеств заданий, причем все ребра графа, связывающие между собой задания произвольного p -упорядоченного множества,
представляют собой последовательно-параллельный подграф. Тогда, аннулируя все ребра исходного графа, соединяющие между собой задания различных
p -упорядоченных множеств, получаем последовательно-параллельный под-
граф, для которого построенное расписание оптимально. Следовательно, это
расписание оптимально и для исходной индивидуальной задачи.
Примечание. При построении цепочек, простой и сложной конструкций K
~
и K учитываются связи только между заданиями конструкций (избыточные
ребра отбрасываются).
Алгоритм 2. В основе алгоритма лежат следующие рассуждения.
124
Минимизация суммарного взвешенного момента окончания выполнения заданий…
На каждом шаге алгоритма реализуется схема решения задачи с отношением порядка, заданным последовательно-параллельным графом с модификацией
~
определения конструкции K и сложной конструкции K , показанной на рис.
2.8.
Конструкция K , изображенная на рис. 2.8, а, построена в соответствии с
утверждением 2.6 с соответствующим порядком расположения цепочек в конструкции K . При этом p(  )  p(v), p(  )  p(v  s) , и приоритет цепочки  не превышает приоритеты всех цепочек конструкции. Тогда порядок расположения заданий, изображенный на рис. 2.8, а, является оптимальным на этом множестве заданий.
Обоснование. Цепочка v не связана отношением порядка с цепочкой  ,
поэтому в допустимом расписании она может стоять перед  (рис. 2.8, в), что
невозможно для оптимального расписания в силу утверждения 2.1. Следовательно, в оптимальном расписании цепочка v стоит после цепочки  . Тогда
для допустимого расписания, изображенного на рис. 2.8, а, введем фиктивную
связь (рис. 2.8, б), которая не влияет на структуру оптимального расписания.
Исключая связь между цепочками  и s , получаем структуру последовательно-параллельного графа, для которого расписание, изображенное на рис. 2.8, а,
является оптимальным.
Для конструкции K и ее оптимального расписания также справедливо:
связи между цепочкой  и цепочками конструкции K аналогичны связям
между цепочками  и цепочками v и s с соответствующими соотношениями
~
приоритетов. Определение сложной конструкции K для этого случая совпадает с определением 2.7. Если процесс построения p -упорядоченного расписания совпадает с алгоритмом 1 с учетом определений 2.6, 2.7 и рис. 2.8, то построенное расписание оптимально.
125
Глава 2
β
v
s
...
...
...
q
...
...
а
β
v
s
...
...
...
q
...
...
б
β
v
...
q
s
...
...
...
...
в
Рис. 2.8. Примеры построения конструкций по алгоритму 2
Алгоритм 3. В основе алгоритма лежат следующие рассуждения. Пусть
после операции эффективного переноса конструкции K имеем ситуацию,
изображенную на рис. 2.9, а. При этом справедливо следующее соотношение
приоритетов: p(v)  p( ); p(v  l )  p(q1 ); p(v)  p(l ).
Тогда расписание на множестве заданий, составляющих цепочку v и конструкцию K (рис. 2.9, а), является оптимальным.
К
v
β
l
...
...
...
qi
...
...
а
β
v
l
...
...
...
qi
...
...
б
Рис. 2.9. Примеры построения конструкций по алгоритму 3
126
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Обоснование. 1. Расписание 2.9, а, является оптимальным для последовательно-параллельного
G v, K
графа
v, K
с
отношением
предшествования
v   .
2. Аналогично расписание 2.9, б, является оптимальным для случая 
v.
3. Предположим, что оптимальным является расписание, изображенное на
рис. 2.9, б. При условии, что цепочка v стоит после  , полученное расписание
является оптимальным (доказательство вытекает из рис. 2.9, б). Тогда приходим к противоречию, так как существует улучшающая перестановка и расписание на рис. 2.9, а оптимально при условии, что цепочка  стоит после v .
Описанная ситуация является обобщением понятия конструкции K , используемой в алгоритме 1. Аналогично обобщается понятие сложной кон~
струкции K .
Полиномиальный алгоритм П1. Если на каждом k -м шаге алгоритма
( k  2, n) построения p -упорядоченного расписания встречаются в произволь-
ном порядке только случаи, рассмотренные в алгоритмах 1–3, то такой алгоритм является полиномиальным, а само расписание – оптимальным.
Обоснование этого алгоритма очевидно.
Условия выполнения полиномиальной составляющей ПДС-алгоритма
решения задачи МВМ
Определим условия на ограничения предшествования и соотношение приоритетов в множестве максимального приоритета, при выполнении которых алгоритм строит оптимальное расписание за полиномиальное время [3, 41, 79, 172].
Пусть до (k–1)-й итерации реализовывались условия полиномиальной составляющей алгоритма. На начальном этапе k-й итерации имеем следующее
расписание:   {M 1 , M 2 ,..., M t , g[ k ] } , где M i – множество максимально возможного приоритета на множестве заданий M i ,..., M t ; g[k ] – задание, включенное в
расписание на k-ом шаге. Образуем цепочку  ( g[k ] ) и выполняем операцию
эффективного переноса [55]. В результате получим расписание
127
Глава 2
 1  {M 1 , M 2 ,..., M i ,  ( g[ k ] ), M i 1 ,..., M t } ,
 ( g[k ] ) : f  M s , s  i  1, t .
где f
Если p( ( g[ k ] ))  p( M i ) , то оптимальное расписание построено [55].
Пусть M i   ( g[k ] ) и p( ( g[ k ] ))  p( M i ) . M i – это множество максимального
приоритета и, следовательно, оно имеет структуру конструкции общего вида
[55]. Рассмотрим соотношение приоритетов и отношения предшествования заданий, входящих в M i . Без ограничения общности будем считать, что последнее задание цепочки  предшествует первым заданиям конструкций произвольного вида (рис. 2.10).
...
...
К1
...
...
...
...
...
...
Кi
...
...
...
...
Кt
β
...
...
Mi
p( K1 )  ...  p( Kt )  p(  ) .
Рис. 2.10. Последнее задание цепочки  предшествует первым заданиям
конструкций произвольного вида
а) Пусть p( K i )  p( ( g [k ] )) и p( K i 1 )  p( ( g [ k ] )) , причем задания конструкции K s , s  i  1, t и цепочка  ( g[k ] ) не имеют общих ребер на графе частичного
упорядочения. Тогда оптимальное расписание на множестве M i   ( g[k ] ) имеет
вид:
 , K1 ,..., Ki ,  ( g[ k ] ), Ki 1 ,..., Kt ,
(2.13)
Более того, в M i возможны следующие отношения предшествования,
нарушающие условия предшествования заданий в конструкции: направленные
128
Минимизация суммарного взвешенного момента окончания выполнения заданий…
ребра, определяющие отношения предшествования конструкций K s , s  1, i , к
цепочке  ( g[k ] ) , могут быть произвольными (рис. 2.11).
...
...
К1
...
...
...
...
...
...
Кi
...
...
...
Кt

...
(g[k])
...
...
...
Рис. 2.11. Случай произвольного предшествования K s и  ( g[k ] )
б) p( K i 1 )  p( ( g [ k ] )) , K s
 ( g[k ] ) s  i  1, t ; p ( K i )  p ( ( g [k ] )) , K i   ( g[k ] ) .
Рассмотрим структуру конструкции K i и соотношение приоритетов входящих в нее заданий.
1. Если цепочка  ( g[k ] ) заняла в K i позицию в соответствии со своим приоритетом и задания, непосредственно ей предшествующие, принадлежат множествам, имеющим больший приоритет, строим новую конструкцию Ki ,
включающую в себя цепочку  ( g[k ] ) и являющуюся множеством максимального приоритета на множестве K i   ( g[k ] ) . Если K i   ( g[k ] ) представляет собой
множество одного приоритета, то Ki имеет вид
Ki = i , Ki1,..., Kis ,  ( g[ k ] ), Kis 1,..., Kiz ,
где
p( Kis )  p( ( g[ k ] )), p( Kis 1 )  p( ( g[ k ] )) .
В
противном
случае
Ki =
= i , Ki1,..., Kis ,  ( g[k ] ), Kis1,..., Ki f , где p( Ki)  p( K if 1 ) , а конструкции Kil , l  f  1, z
образуют
несмежные
приоритетно-упорядоченные
множества.
Если
p( Ki)  p( K i 1 ) , то оптимальное расписание построено и имеет вид
 , K1,..., Ki1, Ki, Ki f 1, Kiz , Ki 1,..., Kt
(2.14)
129
Глава 2
В противном случае выполняем для конструкции Ki операцию эффективного переноса [55]. Упорядочиваем задания конструкций или цепочек
K s 1,..., Ki 1 , сдвинутых после перемещения Ki и конструкции Kil , l  f  1, z . Та-
ким образом, если граф, определяющий отношение предшествования на множестве заданий K s1,..., Ki 1,
Kil , l  f  1, z ,
удовлетворяет p-условиям, то опти-
мальное расписание имеет вид
 , K1,..., Ks , Ki, Ki,s , Ki 1,..., Kt ,
где
p( K s )  p( Ki), p( K s 1 )  p( Ki), Kl
Ki, l  s  1, i  1 ,
упорядоченные множества заданий K s1,..., Ki 1,
Примечание. Если
p( K s )  p( Ki), K s
Ki ,
ченное расписание на множестве заданий
а
(2.15)
Ki , s
–
приоритетно-
Kil , l  f  1, z .
то строим приоритетно-упорядо-
K i  K s
и т.д.
Расписание (2.14) или (2.15) является оптимальным также для следующих
случаев:
– при произвольных отношениях предшествования заданий конструкций
K f , f  1, s
к цепочке  ( g[k ] ) ;
– если первому заданию цепочки  ( g[k ] ) предшествуют только задания
конструкции
K i ,
принадлежащие цепочкам и конструкциям большего
приоритета, т.е.    ( g[k ] ) : p( Kis )  p( ( g[k ] )),   Kis ;
– пусть приоритетно-упорядоченное множество максимального приоритета M i имеет вид i1,..., i j , Ki1,..., Kit , где цепочки i1,..., i j попарно не связаны и приоритетно-упорядочены, а их последние задания непосредственно предшествуют первым работам конструкций K1,..., Kt и цепочки
 ( g[k ] ) . Тогда предшествования других заданий цепочек i1 ,..., i j цепоч-
ке  ( g[k ] ) может быть произвольным.
Обоснование. Доказательство оптимальности расписаний вытекает из того,
что все направленные ребра, которые определяют отношение предшествования
и не являются ребрами конструкции, могут быть исключены из графа. Это
130
Минимизация суммарного взвешенного момента окончания выполнения заданий…
расписание также является оптимальным для полученного подграфа, имеющего вид сложной конструкции и, следовательно, удовлетворяющего p-условиям.
2. Расписание (2.14) или (2.15), полученное в п.1, также является оптимальным:
2.1) если нарушаются p-условия следования цепочек i и  ( g[k ] ) , но выполняется условие непосредственного предшествования последнего задания i [172];
2.2) если нарушается условие непосредственного предшествования последнего задания i = ( i1,..., i j ) цепочке  ( g[k ] ) , но
p(il ,..., i j )  p ( ( g [k ] )) , iq
 ( g[k ] ) , q  l , j , il 1
 ( g[k ] ) ,
(2.16)
то расписание (2.14) или (2.15) также является оптимальным.
Это условие справедливо и для случая, когда K i имеет вид i1,..., i j , Ki1,..., Kit ,
причем условие (2.16) должно выполняться для каждой цепочки i , для которой нарушено условие предшествования последнего задания.
...
...
...
...
...
...
...
...
...
...
...
Кi1
i1
...
Кij
...
if
...
(g[k])
...
...
...
Кip
i
Рис. 2.12. Случай, когда K i имеет вид  i1 ,...,  f , K i1 ,..., K ip
Обоснование. Для цепочки или конструкции i   ( g[k ] ) оптимальным является расписание i ,  ( g[k ] ) , а для i1,..., i j   ( g[k ] ) – соответственно i1,..., i j ,
 ( g[k ] ) . Из-за того, что приоритет каждой из конструкции Ki1,..., Kis больше или
равен приоритету  ( g[k ] ) , расписание (2.14) является оптимальным.
131
Глава 2
Примечание. Если подграф ( i ,  ( g[k ] ) ) или ( i1,..., i j ,  ( g[k ] ) ) не удовлетворяет p-условиям, исключим все связи, за исключением il 1
 ( g[k ] ) . Расписа-
ние   = i ,  ( g[k ] ) или   = i1,..., i j ,  ( g[k ] ) будет для него также оптимальным;
2.3) если конструкция K i имеет вид i , Ki1,..., Kit , то позиция  ( g[k ] ) в оптимальном расписании на множестве K i   ( g[k ] ) определяет значение приоритетов
множеств  ( g[k ] ) и ( il ,..., i j , Ki1 ,..., Kis ),
Если
p(il ,..., i j , Ki1,..., Kis )  p( ( g[k ] )) ,
p( Kis )  p( ( g[ k ] ))
и
p( Kis 1 )  p( ( g[ k ] )) .
то оптимальным является расписание
i1 ,..., il 1 ,  ( g[k ] )
, il ,..., i j , Ki1,..., Kis
(2.17)
3. Пусть ограничения, определяющие отношения предшествования цепочек i или i1,..., i j к  ( g[k ] ) , произвольны, но  ( g[k ] ) предшествуют задания
конструкции K i , принадлежащие цепочкам и конструкциям большего приоритета (для которых p-условия ПДС-алгоритма относительно цепочек i1,..., i j не
нарушены), тогда расписание (2.14) или (2.15), полученное в п.1, также является оптимальным (рис. 2.12).
Обоснование. Расписание (2.14) или (2.15) является оптимальным для подграфа ( K i ,  ( g[k ] ) ), полученного после исключения ограничений, определяющих предшествования заданий цепочек i1,..., i j и всех заданий конструкций
Ki1,..., Kis до  ( g[k ] ) и не являющихся ребрами конструкции.
Аналогичная схема используется для получения оптимального расписания,
если конструкция K i имеет структуру многоуровневой конструкции. Если выполняются условия предшествования и соотношение приоритетов, определенные в п.1 относительно некоторой подконструкции K i , то переходим к рассмотрению отношений предшествования и значений приоритетов данной подконструкции, аналогично п.1.
Примечание 1. Следует отметить, что вне логики алгоритма невозможно
определить ограничения на отношения предшествования и значения параметров индивидуальной задачи, при выполнении которых в общем случае получаем оптимальное расписание за полиномиальное время.
132
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Примечание 2. Условия случаев 1–3 записаны только для заданий  ( g[k ] ) ,
так как последовательности всех остальных заданий p-упорядочены на предыдущих итерациях.
Определение 2.10. Подпоследовательность  ' , удовлетворяющую условиям  '
Ki , i  1, q , на множестве {  ', K1 ,..., K q }, будем называть запирающей, а
подпоследовательности K1 ,..., K q – преемниками первого уровня.
На рис. 2.12 цепочки  i1 ,...,  i j являются несмежными приоритетноупорядоченными запирающими цепочками на множестве M i .
В соответствии со структурой M i [29] после операции эффективного переноса будет получена следующая подпоследовательность:
i1,..., i j , Ki1,..., Kis ,  ( g[k ] ), Kis 1,..., Kit ,
(2.18)
где p( Ki1 )  ...  p( Kis )  p( ( g[k ] ))  p( Kis1 )  ...  p( Kit ) . Расписание (2.18) является
оптимальным для случаев 1–3, описанных выше.
В ограничениях отношений предшествования случаев 2–3 снимается требование непосредственного предшествования последнего задания цепочек
{  i1 ,...,  i j } всем первым заданиям конструкций и цепочек первого уровня.
Снимем требование непосредственного предшествования запирающих цепочек
первому заданию  ( g[k ] ) и рассмотрим ограничения на соотношения приоритетов конструкций и цепочек M i , при выполнении которых можно получить
оптимальное расписание за полиномиальное время.
Пусть  ( g[k ] ) = ( g[ s ] ,..., g[ k ] ) и  it  g[ f 1] , t  1, j . Обозначим  кон ( g [k ] ) =
= ( g [ f 1] ,..., g [ k ] ) и  нач ( g[ f ] ) = ( g[ s ] ,..., g[ f ] ) . Тогда справедливо следующее
утверждение.
Утверждение 2.7. Пусть начальная последовательность цепочки  ( g[k ] ) –
 нач ( g[ f ] ) и задания  i1 ,...,  i j , K i1 ,..., K it не имеют общих ребер по графу частичного упорядочения. Тогда если справедливо
 p (  нач ( g[ f ] ) ),
p ( Kis )  p (  кон ( g [k ] ) ),
где
p ( il ,..., i j , Ki1,..., Kis ) ≥
p (  il )< p (  нач ( g[ f ] ) )
и
133
Глава 2
p (  il 1 )  p (  нач ( g[ f ] ) ), то расписание (2.18) оптимально на множестве зада-
ний M i   ( g[k ] ) . При выполнении условий p ( il ,..., i j , Ki1,..., Kis )< p (  нач ( g[ f ] ) ),
p ( Kis )  p (  кон ( g [k ] ) ) оптимальным является расписание
 i1 ,...,  il 1 ,  нач ( g[ f ] ) , il ,..., i j , Ki1,..., Kis ,  кон ( g[k ] ) ,…, K it .
(2.19)
Доказательство. По определению свойств цепочки справедливо неравенство p (  нач ( g[ f ] ) )  p (  ( g[k ] ) ).
Рассмотрим две возможные ситуации, определяющие позиции цепочки
 нач ( g[ f ] ) в оптимальном расписании.
1. Пусть в соответствии со своим приоритетом цепочка  нач ( g[ f ] ) занимает в оптимальном расписании положение между заданиями конструкций
Ki1,..., Kis , т.е. является преемником первого уровня. Данное условие эквива-
лентно введению следующих дополнительных ограничений предшествования
первому заданию  нач ( g[ f ] ) :
 i1   нач ( g[ f ] ) ;…;  i j   нач ( g[ f ] ) .
Получены ограничения предшествования, определяющие конструкцию,
для которой оптимальным является расписание (2.18).
2. Пусть в соответствии со своим приоритетом  нач ( g[ f ] ) занимает в оптимальном расписании положение между цепочками  i1 ,...,  i j , т.е. является
запирающей цепочкой. Всем первым заданиям подпоследовательностей
t
Ki1,..., Kis ,  кон ( g [k ] ) ,…, K i предшествуют последние задания цепочек
 i1 ,...,  i j .
Таким образом, только цепочка  нач ( g[ f ] ) может быть запирающей. Задания
 i1 ,...,  i j – это приоритетно-упорядоченные несмежные цепочки и, следовательно, на множестве  i1 ,...,  i j ,  нач ( g[ f ] ) оптимальной является последовательность
 i1 ,...,  il 1 ,  нач ( g[ f ] ) ,  il ,...,  i j .
Данное
положение
 нач ( g[ f ] ) эквивалентно введению дополнительных ограничений
134
цепочки
Минимизация суммарного взвешенного момента окончания выполнения заданий…
 нач ( g[ f ] )  K i1 ,…,  нач ( g[ f ] )  K it .
Полученное множество максимального приоритета удовлетворяет требованиям конструкции, для которой оптимальным является расписание (2.19).
Расписания (2.18) и (2.19) различаются перестановкой смежных подпоследовательностей заданий (Утверждение 2.1). Следовательно, оптимальное расписание
определяется
значениями
приоритетов
подпоследовательностей
 il ,...,  i j , K i1 ,..., K it и  нач ( g[ f ] ) .
Следствие 1. При выполнении условия
p (  il ,...,  i j , K i1 ,..., K it )< p ( нач ( g[ f ] ) ),
где p (  il )< p (  нач ( g[ f ] ) ), p (  il 1 )  p (  нач ( g[ f ] ) ), оптимальным является
расписание, в котором  нач ( g[ f ] ) является запирающей цепочкой.
Доказательство. Расписания (2.18) и (2.19) различаются перестановкой
смежных подпоследовательностей заданий, определенной в Утверждении 2.1.
Следовательно, значение показателя качества расписания (2.19) меньше. При
снятии ограничения p ( Kis )  p (  кон ( g [k ] ) ), оптимальным расписанием для ситуации 2 Утверждения 2.7 будет расписание
 i1 ,...,  il 1 ,  нач ( g[ f ] ) ,  il ,...,  i j , K i1 ,..., K ir ,  кон ( g[k ] ) , K ir 1 ,…, K it ,
где p ( K ir )  p (  кон ( g [k ] ) ), p ( K ir 1 )< p (  кон ( g [k ] ) ), если задания  кон ( g [k ] ) и
Kir 1 ,…, Kis
не смежны. Но данное расписание также различается положениями
прилегающих последовательностей заданий, поэтому его показатель качества
меньше, чем у расписания (2.19). При наличии ограничений предшествования
между заданиями K ir и  кон ( g [k ] ) , где p ( K ir )< p (  кон ( g [k ] ) ), процедура получения оптимального расписания для ситуации 2 Утверждения 2.7 имеет другую структуру [29], но значение показателя качества полученного расписания
в силу его оптимальности будет меньше, чем для расписания (2.19). Таким образом, оптимальное расписание, полученное для случая, где  нач ( g[ f ] ) – запи-
135
Глава 2
рающая цепочка, является также оптимальным на множестве заданий
M i   ( g[k ] ) .
Следствие 2. Если справедливы следующие условия:
p ( il ,..., i j , Ki1,..., Kis )  p (  нач ( g[ f ] ) ), p ( Kis )  p (  кон ( g [k ] ) ),
где p (  il )< p (  нач ( g[ f ] ) ) и p (  il 1 )  p (  нач ( g[ f ] ) ),
 нач ( g[ f ] ) = ( g[ s ] ,..., g[ f ] ) и  g[ f 1]   ( g[k ] ) :
it
g[ f 1] , t  1, j ,
то расписание (2.18) оптимально на множестве заданий M i   ( g[k ] ) . Отношение
предшествования заданий  it , t  1, j заданиям  нач ( g[ f ] ) может быть произвольным.
Доказательство. Рассмотрим граф частичного упорядочивания, в котором
удалены все ребра, определяющие предшествования заданий  it , t  1, j , заданиям  нач ( g[ f ] ) . Получаем подграф исходной задачи, удовлетворяющий условиям Утверждения 2.7. Следовательно, на рассматриваемом множестве
M i   ( g[k ] ) расписание (2.18) оптимально.
Примечание. Если  v  Ki ,   s : v  g [h ] , g [h ]   нач ( g[ f ] ) , то условия
Утверждения 2.7 проверяются для цепочки  нач ( g[ h1] ) = ( g[ s ] ,..., g[ h1] ) . Заметим, что если  v  Ki ,   s , такая, что v  g [s ] , то имеет место ситуация 3 и,
следовательно, на рассматриваемом множестве заданий оптимальным является
расписание (2.18).
Рассмотрим обобщение данного утверждения. Пусть M i имеет следующий
вид:
Mi =
1 ,...,  i , K1 ,1 , K 2 ..., K j , j , K j 1 ,..., K p , p ,
(2.20)
где последовательность K1 ,1 , K 2 ..., K j , j , K j 1 ,..., K p , p состоит из приоритетно-упорядоченных
конструкций
и
цепочек;
 j  K s , j  1, i ;
 j   s , s  1, p . Порядок следования цепочек и конструкций определяется соотношениями приоритетов. При этом множество K j может обозначать объ136
Минимизация суммарного взвешенного момента окончания выполнения заданий…
единение несмежных приоритетно-упорядоченных конструкций и цепочек.
Для простоты доказательства будем считать, что нарушение предшествования
первому заданию на множестве M i справедливо только для цепочек  i . Обозначим задания цепочки  i следующим образом:
 i =(  iнач ,  iкон ), где  iнач  начальная часть цепочки  i , не смежная ни с
одним заданием M i ,  t   iкон , t  1, i .
Утверждение 2.8. Пусть задания M i удовлетворяют следующим соотношениям приоритетов:
кон
p (  1нач )  p (  2нач )  …  p (  нач
j ) и p ( K 1 )  p (  1 ) , …,
p ( K j )  p (  кон
j ) , тогда если p (  f ,...,  i , K1 ) 
p (  1нач ) , где p (  f )<
p (  1нач ) и p (  f 1 )  p ( 1нач ) , то расписание (2.20) является оптимальным на
множестве заданий M i .
Доказательство. 1. В оптимальном расписании занимать позиции, смежные с цепочками {  f }, и, таким образом, быть запирающими цепочками могут только последовательности {  нач
j }. Докажем, что ни одна произвольная
последовательность  нач
не может занимать позиции непосредственно предj
шествующие всем конструкциям множества M i . Предшествование всем конструкциям M i эквивалентно выполнению условия предшествования  нач
всем
j
первым заданиям конструкций и цепочек первого уровня, следовательно,  нач
j
удовлетворяет требованию запирающей цепочки в конструкции. Условие
непосредственного
предшествования
всех
заданий
{ f }
цепочкам
lнач , l  1, p, l  j , эквивалентно заданию  lнач , ограничений преемников первого
уровня. Таким образом, задана конструкция на множестве M i . Поэтому справедливо, что для произвольной  нач
выполняется
j
p (  f ,...,  i , K1 , 1 , K 2 ,..., K j )> p (  f ,...,  i , K1 )  p ( 1нач ) .
Обозначим  (  нач
j ) = (  g ,...,  i , K1 , 1 , K 2 ,..., K j ), где
137
Глава 2
нач
p (  нач
j )  p (  g ) и p (  j )< p (  g 1 ).
Пусть p (  нач
j )< p (  f ), тогда в силу свойства приоритета (сумма двух
приоритетов меньше приоритета большей величины) справедливы следующие
соотношения:
p (  f ,…, i ) ≤ p (  f ,...,  i , K1 , 1 , K 2 ,..., K j ) 

p (  f ,...,  i , K1 , 1 , K 2 ,..., K j ) < p (  (  нач
j )),
поскольку p (  1нач )  p (  f ,…,  g 1 ). Следовательно,
нач
нач
p (  (  нач
j )) > p (  f ,...,  i , K1 , 1 , K 2 ,..., K j )  p (  1 )  p (  j ),
так как p (  1нач )  p (  нач
j ). Итак, мы получили
нач
p (  (  нач
j ))  p (  j )
(2.21)
и, следовательно, ни одна произвольная цепочка  нач
не может предшествоj
вать в оптимальном расписании подпоследовательности K 1 .
2. Рассмотрим расписание   , оптимальное при условии, что некоторое
подмножество цепочек {  iнач
} в нем является запирающим и, следовательно,
j
предшествует по порядку следования всем конструкциям M i , а остальные задания  нач
занимают в расписании позиции среди конструкций { K j } в соотj
ветствии со своими приоритетами. Введенные ограничения отвечают требованиям конструкции, поэтому в силу соотношений приоритетов множества M i
это расписание имеет вид
1 ,...,  j , iнач ,  j 1 ,...,  j , iнач ,  j 1 ,...,  i , K1 ,1 , K 2 ,..., K i , iкон ,
1
1
1
K i11 , i11 ,..., K is ,
s
кон
is
s
s
1
1
, K is 1 ,..., K p , p ,
(2.22)
) > p (  j 1 ).
где p (  j1 )  p (  iнач
) > p (  j1 1 ); … ; p (  js )  p (  iнач
s
1
s
Сравним показатели качества расписания (2.22) и расписания, оптимально,..., iнач
го при условии, что на множестве M i {  iнач
} являются в нем запираю1
s 1
щими цепочками, а  iнач
занимает позиции преемника первого уровня. Эти
s
138
Минимизация суммарного взвешенного момента окончания выполнения заданий…
требования к M i также удовлетворяют свойствам конструкции. Расписание
имеет вид
1 ,...,  j1 , iнач
,  j1 1 ,...,  js 1 , iнач
,  js 1 1 ,...,  js ,  js 1, ...,  i , K1 ,
1
s 1
1 , K 2 ,..., K i1 , iкон
, K i1 1 ,  i1 1 ,..., K is 1 , iкон
, K is 1 1 ,..., K is , is ,
1
s 1
(2.23)
K is 1 ,..., K p , p
Эти расписания отличаются друг от друга перестановкой последовательностей заданий  js 1 ,...,  i , K1 ,..., K is и  iнач
, занимающих смежные позиции. В
s
силу
соотношения
(2.21)
и
того,
что
p (  iкон )> p (  i ),
справедливо
) , и, следовательно, показатель качества расписаp (  js 1 ,..., K is ) ≥  p (  iнач
s
ния (2.23) меньше, чем показатель качества расписания (2.22). Продолжая аналогичным образом сравнивать расписание (2.23) и расписание, в котором за,..., iнач
пирающими цепочками являются  iнач
, получаем, что последнее имеет
1
s2
меньший показатель качества. На последнем шаге сравнения получаем, что
расписание (2.20) имеет наименьший показатель качества. В силу произвольности выбора цепочек {  iнач
} расписание (2.20) оптимально.
j
Примечание. В Утверждении 2.8 нарушение условий предшествования
первому заданию преемника первого уровня не зависит от его вида, поэтому
цепочки  i могут быть заменены конструкциями произвольной вложенности.
Пусть на множестве заданий M i справедливы условия предшествования и
соотношения приоритетов Утверждения 2.8. Рассмотрим дополнительные
ограничения предшествования, при выполнении которых расписание (2.20)
также является оптимальным:
1) при произвольном предшествовании заданий цепочек {  f , f  1, i } цепочкам  нач
j , j  1, p ;
2) при произвольном предшествовании заданий цепочек  нач
цепочкам
j
 lнач , l  j ;
139
Глава 2
3) при произвольном предшествовании заданий конструкций K j заданиям
цепочек  lнач , l  j .
Доказательство оптимальности вытекает из того факта, что множество заданий подграфа исходного множества, в котором удалены выше рассмотренные ограничения, удовлетворяет условиям Утверждения 2.8.
В результате исследований мы доказали, что оптимальное расписание может быть получено за полиномиальное время для множеств максимальных
приоритетов, не являющихся в общем случае совокупностью конструкций, при
выполнении следующих ограничений:
1. Если последнее задание цепочки  предшествует всем первым заданиям
цепочек и конструкций первого уровня (требование p-условий ПДСалгоритма). Возможны произвольные отношения предшествования заданий 
заданиям произвольных конструкций и цепочек, входящих в M i [172].
2. Если условие 1 нарушено, но  ( g[k ] ) удовлетворяет требованию условия
(2.16), определяющего отношения предшествования и значение приоритетов
цепочек  и  ( g[k ] ) . Данное условие справедливо для произвольной конструкции или цепочки, входящей в M i .
3. Между приоритетно-упорядоченными цепочками и конструкциями возможны произвольные отношения предшествования от конструкции с большим
приоритетом к конструкции с меньшим. Предшествование цепочки  цепочке
 ( g[k ] ) в данном случае может быть произвольным.
4. Выведены ограничения на структуры множеств максимальных приоритетов индивидуальных задач МВМ, при выполнении которых оптимальное
расписание может быть получено за полиномиальное время и определены новые условия полиномиальной составляющей ПДС-алгоритма. Утверждения
2.7–2.8 определяют новые полиномиальные подклассы исходной задачи, причем условия утверждений определены для подмножеств одного приоритета.
Проверка данных условий в процессе реализации ПДС-алгоритма позволяет
существенно расширить класс полиномиально разрешимых задач МВМ.
140
Минимизация суммарного взвешенного момента окончания выполнения заданий…
2.5 Универсальный ПДС-алгоритм решения задачи
2.5.1 Полиномиальный алгоритм построения допустимого расписания,
декомпозирующего задания на множества максимальных приоритетов (ДММП)
Алгоритм для (k  1) -го шага (в рамках общей схемы). При этом предполагаем, что на некотором этапе подъема ни одна из ситуаций, описанных в алгоритме П1, не возникает.
На задании gk 1 строим цепочку  ( gk 1 ) и выполняем операцию эффективного переноса.
I.
Пусть
при
этом
реализуется
ситуация
для
последовательно-
параллельного графа: запирающая цепочка  , цепочка  ( gk 1 ) и другие эле~
менты образовали конструкцию типа K или K (построения по алгоритму 1).
Выполним эффективный перенос для построенной конструкции, которую обозначим K .
Построение множеств максимальных приоритетов основано на следующих
процедурах.
Примем следующее условие. Пусть в расписании позиции непосредственно перед конструкцией K занимает запирающая цепочка  1 . Последнее задание цепочки  1 связано со всеми заданиями gi  K , для которых справедливо
q j  1, q j
gi .
Может наблюдаться одна из следующих ситуаций.
1. В соответствии со свойствами графа частичного упорядочивания последнее задание цепочки  1 связано отношением непосредственного предшествования с первыми заданиями некоторых, независимых между собой последовательностей заданий, образующих конструкцию K .
Рассмотрим вычислительные процедуры (ВП), которые позволяют последовательно выделять допустимые подпоследовательности максимального приоритета для подмножества заданий расписания, начиная с  1 .
141
Глава 2
ВП1. Выделяем все задания, являющиеся преемниками цепочки g1 . Из всех
связей, заданных на заданиях конструкций K , исключаем те, для которых задания из выделенного множества являются непосредственными преемниками.
Описанную операцию удаления связей назовем освобождением множества. В
силу определений конструкций 2.6, 2.7 для каждой из освобожденных независимых подпоследовательностей выполняем все возможные улучшающие перестановки (см. утверждение 2.1).
Строим конструкцию
K1
типа
K
либо
K
на цепочке g1 и освобожденных
независимых подпоследовательностях. Обозначим через
ний конструкции
K
K2
множество зада-
за исключением заданий, входящих в освобожденные
подпоследовательности.
Полученная недопустимая последовательность имеет вид
{K1K10 }
– множество всех освобожденных заданий и цепочка g1 ;
K1 , K10 , K 2 ,
K2 –
где
подпосле-
довательность максимального приоритета для заданий, не связанных по графу
отношением предшествования с цепочкой g1 на множестве {g1K} .
2. Последнее задание цепочки g1 связано соотношениями непосредственного предшествования с произвольными заданиями конструкции
K.
Если цепочка g1 связана соотношением непосредственного предшествования с заданиями цепочки
b
, то остальные ее связи с заданиями конструкции
можно исключить, а p-упорядоченность расписания на цепочках g1 и
b
будет
определяться схемой для последовательно-параллельного графа.
Тогда выполняем процедуру эффективного переноса последовательности
g1K
и выделяем допустимые подпоследовательности заданий максимального
приоритета из всего множества заданий расписания, занимающих позиции после подпоследовательности
g1K .
Допустим, что связи цепочек g1 и
b
отсутствуют.
ВП2. Выделяем все задания в конструкции
K,
являющиеся преемниками
цепочки g1 . Из всех связей, заданных на заданиях конструкции
K,
исключаем
те связи, при которых заданиям из выделенного множества непосредственно
142
Минимизация суммарного взвешенного момента окончания выполнения заданий…
предшествуют остальные задания конструкции
множество
Vg1
K
K.
Обозначаем выделенное
. Применяем ко всем освобожденным подпоследовательностям
заданий из множества
Vg1
все возможные улучшающие перестановки (см.
K
утверждение 2.1). Далее в соответствии с ВП1 определяем множества заданий
K1 , K10 , K 2 .
Исходная конструкция
K
может состоять из цепочек и подконструк-
ций любого количества вложений.
Выделяем в конструкции
из исходной конструкции
K2
K,
подмножества тех цепочек и подконструкций
задания которых принадлежат множеству
Vg1
K
.
Обозначаем множество таких подмножеств цепочек и подконструкций
W ( K \ Vg1
K)
. Операцию выделения такого множества назовем выделением изме-
ненных подмножеств (цепочек, подконструкций и т.д.).
Для выделенных подмножеств цепочек вычисляем приоритеты всех входящих в них заданий вместе со всеми их преемниками. Для выделенных подмножеств подконструкций вычисляем их приоритеты вместе с их преемниками. Из найденных значений приоритетов находим минимальное
pmin < p( K 2 ) ,
pmin .
Если
то удаляем соответствующее подмножество вместе со всеми его
преемниками из конструкции
K2 .
Получаем подпоследовательность
K 21 K 01 ,
где
– удаленное подмножество.
K01
Добавляем к множеству
зультате удаления
K01 ,
W ( K \ Vg1
K 0i- 1...K 01
\ {K 01} *
подмножества, измененные в ре-
и повторяем вычисление приоритетов. Находим
так далее, пока не окажется, что
довательность
K)
pmin i ³ p( K 2i ) .
Обозначим
и
а подпосле-
после последовательного выделения множеств макси-
мального приоритета –
K 20 .
Конструкция
K 2M
стью максимального приоритета на множестве
отношением предшествования с цепочкой
*
K 2i = K 2 M ,
pmin1
является подпоследовательноg1K
для заданий, не связанных
g1 .
Операция \ обозначает не обычное множественное вычитание, а вычитание с учетом
того, что K01 или его преемники могли входить в некоторые подмножества из W ( K \ Vg1
K).
143
Глава 2
Рассмотрим недопустимую подпоследовательность заданий
K1 K10 K 2 M K 20 ,
а
также часть допустимого расписания, занимающего позиции после исходной
конструкции
K,
которые последовательно упорядочены в соответствии с под-
последовательностями максимального приоритета
Утверждение 2.9. Если
p(Q1 ) < p( K 2 M ) ,
то подпоследовательность макси-
мального приоритета для множества заданий
жит множеству заданий
Q1 , Q2 ,..., Qt .
{K1 , K10 , K2 M , K20,Q1 ,..., Qt }
принадле-
{g1K} .
Доказательство. 1) Пусть
p( K1 ) £ p( K 2 ) Þ p( K1 + K10 ) < p( K 2 ) .
Делаем улучша-
ющую перестановку (см. утверждение 2.1) и получаем допустимое расписание
K 2 K1K10 ,
для которого допустимой подпоследовательностью максимального
приоритета является конструкция
2) Пусть
p ( K1 ) > p ( K 2 ) ,
В конструкции
K
K 2M
.
тогда возвращаемся к последовательности
выделяем множество заданий, принадлежащих
g1KQ1...Qt .
K1 \ g1 , K10 , K 20 .
Удаляем для него связи всех заданий с остальными заданиями из конструкции
K.
Затем для каждого независимого освобожденного множества выполняем
перестановку из утверждения 2.1. Последовательно строим на множестве заданий
{K1 , K10 , K 20 }
множества максимального приоритета и получаем следующую
последовательность:
приоритета;
1
K10
1
K11K10
K 2 M Q1...Qt ,
где
K11
– первое множество максимального
– последовательность таких множеств. Возможны следующие
случаи:
а)
p( K11 ) £ p( K 2 M ) ,
рестановку
(см.
1
K 2 M K11K10
Q1...Qt ,
где
тогда
1
p( K11 + K10
) £ p( K 2 M ) .
утверждение
K 2M
2.1).
Делаем для конструкции
Получаем
допустимое
K 2M
пе-
расписание
– подпоследовательность максимального приоритета на
всем рассматриваемом множестве заданий;
б)
p( K11 ) > p( K 2 M ) ,
если
тогда
1
p( K10
) > p( K 2 M ) ,
то
1
p( K11 + K10
+ K 2 M ) = p(g1K ) > p(Q1 )
мального приоритета является подпоследовательность
если
1
p( K10
) < p( K 2 M ) ,
но
1
K10
Ì K1 ,
то конструкция
максимального приоритета на подпоследовательности
144
и множеством макси-
g1K ;
K
является множеством
KQ1...Qt .
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Следовательно,
1
p( K10
) ³ p( K ) ³ p( K 2 M ) .
Приходим к противоречию – множе-
ство максимального приоритета есть подпоследовательность
ВП3. Пусть
p(Q1 ) ³ p( K 2 M ) .
Освобождаем
его
K2 M , K20 , Q1 \ VK1K10
Q1
от
На первом шаге выделяем в
связей
с
заданиями
из
Q1
g1K .
множество
VK1K10
Q1
.
подпоследовательностей
. Приоритет каждой из освобожденных подпоследовательно-
стей больше, чем приоритет
p(Q1 ) ³ p( K 2 M ) > p( K 2 M K 20 ) .
Применяем для освобож-
денных подпоследовательностей улучшающие перестановки (утверждение 2.1).
Получаем подпоследовательность
K1K10Q10 K 2 M K 20Q1 ,
последовательности
Q1 = Q1 \ VK1K10
Q10 = VK1K10
Q1
,а
Применяем к подпоследовательности
Q1
Q1
где множество заданий под-
.
процедуру ВП2 при условии, что
процедуры сравнения и удаления структур минимального приоритета производятся со значением приоритета
Q1¢.
p( K 2 M ) .
Полученное множество обозначаем
Для него применяем улучшающие перестановки (утверждение 2.1). Полу-
чаем подпоследовательность
независимые множества из
Во множестве
¢
K 20
¢ Q1¢( K 20 \ K 20
¢ )(Q1 \ Q1¢) ,
...K 2 M K 20
¢)
( K20 \ K20
1
P2M
до
Q1¢;
p( K 2 M ) .
Q2 ,
Q1¢; полученное множество
обозначим
¢¢ .
K 20
выделяем начальное множество максимального
¢¢Q1¢}
{K2M K20
приоритета и обозначаем его
позиции от
имеют приоритет меньший, чем
¢
Q1¢, K20
удалим все начальные подпоследовательности, не пред-
шествующие заданиям из множества
На множестве
где (K20 \ K20¢ )
1
.
P2M
Для подпоследовательности, занимающей
применяем все возможные перестановки (утверждение
2.1). Результат обозначаем
1
.
P20
Тогда получаем
1 1
1
K1K10
P2 M P20
Q2 ... ,
где
1
K10
= K10Q10 .
Далее продолжаем подобную процедуру, пока на некотором шаге не выполнится
p( P2i-M1 ) > p(Qi ) .
Обозначим полученное множество
P2i-M1
через
P2M .
Про-
цедура окончена.
Построенная конструкция P2M является множеством максимального приоритета на последовательности
предшествования с цепочкой
g1KQ1...Qt
для заданий, не связанных отношением
g1 .
145
Глава 2
Примечание. Процедура сортировки ВПЗ выполняется после ВП1, если
p(Q1 ) ³ p( K 2 ) .
Утверждение 2.10. Подпоследовательность максимального приоритета
для множества заданий
{g1, K , Q1,..., Qt }
Доказательство. 1.
i
p( K1i ) = p( K1K10
) < p( P2i-M1 ) .
новку (утверждение 2.1) для
стимую на множестве
принадлежит множеству
P2i-M1 .
i
i- 1
{K1 , K10
, P2i-M1 , P20
}.
Делаем улучшающую переста-
Получаем подпоследовательность
{g1, K , Q1,..., Qt }
P2i-M1 ,
допу-
и имеющую максимальный приоритет на
данном множестве.
2.
p( K1i ) ³ p( P2iM ) ,
струкции
K
возвращаемся к подпоследовательности
выделяем множество
ниями из множества
{K Ç P2i-M1} .
K \ P2i-M1
g1KQ1...Qt .
В кон-
и освобождаем его от связей с зада-
Приоритет каждой из освобожденных подпо-
следовательностей больше, чем
p( K ) .
Применяем последовательно все воз-
можные перестановки (утверждение 2.1) к освобожденным подпоследовательностям. Получаем
g1K \ P2i-M1K Ç P2i-M1Q1Q2 ...Qt .
Выделяем в подпоследовательности
Q1
множество
{Q1 \ P2i-M1}
ственно освобождаем его от связей с заданиями из множества
Приоритет освобожденных подмножеств больше, чем
и соответ-
{K Ç P2i-M1 , Q Ç P2i-M1} .
p(Q1 ) ³ p( K 2 M ) ³ p( K Ç P2i-M1 ) .
Делаем все возможные перестановки (утверждение 2.1) для освобожденных
подмножеств. Продолжаем процедуру для всех
На множестве заданий
Ql , l = 2,..., i - 1 .
G= {g1K \ P2M Q1 \ P2M ...Qi- 1 \ P2M }
максимального приоритета (см. п. IV). Обозначаем его
находим множество
K1I .
Тогда возможны
две ситуации:
1)
p( K1I ) £ p( P2 M ) Þ p( P2 M ) ³ p(G) .
(утверждение 2.1) для
{P2M } –
P2M
и получаем подпоследовательность
при
p( K1I ) < p( P2 M );{P2 M K1I } –
мального приоритета на множестве
p( K1I ) > p( P2 M ) .
Тогда строим
(ММП) на множестве
146
P2 M K1I G \ K1I ,
где
допустимое подмножество максимального приоритета на множестве
{P2M G} = {g1KQ1...Qt }
2)
Выполняем неухудшающую перестановку
{G \ K1II } .
{P2M G}
K1II –
при
допустимое множество максиp( K1I ) = p( P2 M ) ;
множество максимального приоритета
Аналогично возможны следующие ситуации:
Минимизация суммарного взвешенного момента окончания выполнения заданий…
а)
p( K1II ) < p( P2 M ) Þ ММП (g1KQ1...Qt ) Ì {P2 M K1I } ;
б)
p( K1II ) = p( P2 M ) Þ ММП (g1KQ1...Qt ) Ì {P2 M K1I K1II } ;
в)
P( K1II ) > p( P2 M ) ,
строим
K1III - ММП (G \ K1II \ K1I )
Построив последовательно на множестве
{K1I ,..., K1D } = G ,
получим, что
= {g1KQ1...Qi- 1} и
p( K1D ) > p( P2 M ) Þ
и т.д.
G
ММП
K1I K1II ...K1D ,
ММП (g1KQ1...Qt ) Ì
{P2 M K1I ,..., K1D } =
p(Qi ) < p( P2 M ) < p( P2 M K1D ) < ... < p( P2 M K1I K1D ) .
Ситуация 2) соответствует принадлежности цепочки
g1
множеству макси-
мального приоритета, которое имеет в этом случае следующий вид:
где
j
так что
– максимальный номер множества, для которого
Примечание. Если цепочка
g1
g1 KQ1...Q j ,
p(g1KQ1...Q j- 1 ) £ p(Q j ) .
не удовлетворяет условию п.I, то выполняем
следующую процедуру.
В цепочке
g1
находим самое первое по расписанию задание, удовлетворя-
ющее указанному свойству, и реализуем какую-либо из описанных вычислительных процедур для участка цепочки
g1 ,
начиная с этого задания и до по-
следнего (либо для всех подцепочек этого участка, если они не удовлетворяют
определению 2.4).
II. Пусть на множестве заданий
g2 ...gk KQ1...Qt
подпоследовательность
g 2 ...g k K
является начальной подпоследовательностью максимального приоритета
( g 2, ..., g k – цепочки,
произвольны,
K
i = 2, k ).
– конструкция типа
K, K ,
причем связи
g1g 2 ...g k KQ1¢...Qs¢,
p(g1 ) < p(g2 ...gk K ) ;
g1
связи цепочки
где
g1
– цепочка,
с подпоследовательностью
вольны, с учетом условия п.I для последних заданий цепочек
Q1¢,..., Qs¢ являются
с
После операции эффективного переноса для
лучаем подпоследовательность
ства
gi
gi+ 1...g k K
g 2 ...g k K
g1
g1...g k .
по-
g2 ...gk K
g 2 ...g k K –
–
;
произ-
Множе-
последовательно выделенными начальными подпоследо-
вательностями максимального приоритета.
ВП4. Выделяем в конструкции
g 2 ...g k K
его от связей. Подпоследовательность
множество
g 2 ...g k K
Vg1
g 2 ...g k K
и освобождаем
есть множество максимального
приоритета, поэтому все освобожденные подпоследовательности имеют прио147
Глава 2
ритет больший, чем
p(g 2 ...g k K ) .
Применяем для освобожденных подпоследова-
тельностей перестановки, описанные в утверждении 2.1. Получаем подпоследовательность
ством
Vg1
g 2 ...g k K
g1P¢g2¢...gk¢K ¢Q1¢...Qs¢,
где множество заданий
совпадает с множе-
.
Применяем ВП2 к подпоследовательности
некоторая цепочка
gi
рым предшествует
gi ,
множества
P¢
g i È Vgi
g2¢...gk¢K ¢
при условии, что если
не изменилась, но изменилось множество заданий, котото при нахождении
g i¢+ 1 ...g k¢K ¢
подпоследовательности
pmin
учитывается также приоритет
. Получаем множество максимального приоритета на
g 2¢...g k¢K .
Обозначаем его
P2M .
Подграф на заданиях
является последовательно-параллельным. Выделяем на множестве
начальную подпоследовательность максимального приоритета
подпоследовательность
K1K10 P2 M P20 ,
Утверждение 2.11. Если
где
g1P¢
Получаем
K10 = g1P¢\ K1 , P 20 = g2¢...gk¢K ¢\ P2 M .
p( P2M ) > p(Q1¢) ,
то начальная подпоследователь-
ность максимального приоритета на множестве заданий
жится в последовательности
K1 .
g1P¢
g1g2 ...gk KQ1¢...Q¢s
содер-
K1K10 P2 M P20 .
Доказательство аналогично доказательству утверждения 2.9. Если
p( P2M ) > p(Q1¢) ,
то применяем процедуру, аналогичную ВП3, и находим началь-
ную подпоследовательность максимального приоритета в соответствии с
утверждением 2.10.
III. Пусть задана подпоследовательность
g1...g k K
y2g1...g k Kz1...zl K ¢Q1...Qt .
И пусть
– начальная подпоследовательность максимального приоритета на по-
следовательности
g1...gk Kz1...zl K ¢Q1...Qt ; y2 g1...g k Kz1...zl K ¢–
начальная подпоследова-
тельность максимального приоритета на конструкции
y2 , g1 ,..., g k , z1... zl
– цепочки,
g1...g k Kz1...zl K ¢, g i
и
K
и
K¢
– конструкции типа
g i+ 1...g k Kz1...zl K ¢, i = 1, k ,
и
zj
и
K, K .
y2g1...g k Kz1...zl K ¢Q1...Qt ;
Связи между
z j+ 1...zl K ¢, j = 1, l ,
148
и
произвольны с
учетом определения множества связей для последнего задания цепочек
g1 ,.., g k , z1...zl .
y2
y2 ,
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Пусть в результате процедуры эффективного переноса структуры максимального приоритета построена подпоследовательность
Обозначим
y1 y2g1...gk Kz1...zl K ¢Q1¢...Qs¢.
g1...g k K = G, z1...zl K ¢= G¢.
ВП5. Выделяем в последовательности
y2GG¢
множество
Vy1
y2 GG¢
и освобож-
даем его от связей в ней. Как и в ВП4, применяем для освобожденных подпоследовательностей перестановки в соответствии с утверждением 2.1. Получаем
y1P ¢y2¢GG¢,
где множество заданий из
y2¢ = y2 \ Vy1
y2GG¢
;
G= G \ Vy1
y2GG¢
G¢= G¢\ Vy1
;
P¢
y2GG¢
G
и
G¢.
Vy1
y2 GG¢
;
.
Применяем ВП2 к последовательности
ного в ВП4, для
совпадает с множеством
y2¢GG¢
с учетом дополнения, сделан-
Выделяем последовательно на
y1P ¢ начальные
подпо-
следовательности максимального приоритета. Получаем подпоследовательность
P1M P10 P2M P20Q1¢...Qs¢,
где
P1M
– начальная подпоследовательность максималь-
ного приоритета на множестве
P10 = y1P¢\ P1M ; P20 = y2¢GG¢\ P2M
{ y1P¢} ,
а
P2M –
на множестве
{ y2¢GG¢} ,
.
Утверждение 2.12. Если
p( P2M ) > p(Q1¢) ,
то начальная подпоследователь-
ность максимального приоритета на множестве заданий
ся в подпоследовательности
y1 y2GG¢Q1¢...Qs¢ содержит-
P1M P10 P2 M P20 .
Доказательство аналогично доказательству утверждения 2.9. Если
p( P2M ) £ p(Q1¢) ,
то применяем процедуру, аналогичную ВП3, и находим началь-
ную подпоследовательность максимального приоритета в соответствии с
утверждением 2.10.
IV. Опишем процедуры последовательного выделения начальных подпоследовательностей максимального приоритета на подпоследовательности, занимающей в расписании позиции после выделенной согласно утверждениям
2.9–2.12 начальной подпоследовательности максимального приоритета, и эффективного переноса их.
Пусть имеется подпоследовательность
Q1Q2 ...Qt ,
где
Qi –
начальная подпо-
следовательность максимального приоритета на множестве заданий
Qi , i = 1, t .
149
Глава 2
Делаем для всех независимых
ние 2.1) и получаем
Qi
все возможные перестановки (см. утвержде-
Q1¢Q2¢...Qt ¢.
Найдем такое минимальное
k
, что существует
же такое максимальное l , что существует
довательности
Qk¢...Ql¢
для любого
j< l ,
i> k
что
, что
p(Qk¢) < p(Qi¢) ,
p (Q ¢j ) < p(Ql¢) .
На подпосле-
определим минимальное
i = 1, l - s
а так-
s,
что
p(Qs¢+ i ) < p(Qk¢...Qs¢+ i- 1 ) .
Для
Qk¢...Qs¢ и
любого
i = k, s
на множестве
Qi¢ найдем
все структуры, описан-
ные в ВП2–ВП4. Вычислим приоритеты этих структур вместе со всеми их преемниками и определим минимальный из всех найденных приоритетов
ли
pmin < p(Qk¢...Qs¢) ,
преемниками из
pmin .
Ес-
то удаляем соответствующую структуру вместе со всеми ее
Qk¢...Qs¢.
Далее повторяем описанную процедуру, вычисляя так же, как при нахождении
pmin ,
приоритеты всех измененных в результате удаления структур (см.
ВП4–ВП5). Таким образом найдем
QkM
– начальную подпоследовательность
максимального приоритета на множестве
Q1¢...Qt¢.
Аналогичную процедуру повторяем для подпоследовательности, занимающей в расписании позиции после
QkM
.
Примечание. П.IV выполняется всякий раз после выделения согласно
утверждениям 2.9–2.12 подпоследовательности максимального приоритета и
ее эффективного переноса.
V. Если после процедуры эффективного переноса множество максимального приоритета
PM
заняло позиции в соответствии со своим приоритетом, то
могут реализоваться следующие две возможности:
1) более ранние позиции занимает ранее выделенная подпоследовательность максимального приоритета PM¢ , причем
p( PM¢ ) > p( PM ) .
Тогда после выпол-
нения процедуры, описанной в п. IV, расписание будет последним упорядоченным в соответствии с множествами максимальных приоритетов;
2) более ранние позиции занимает часть ранее выделенной подпоследовательности максимального приоритета
150
PM¢¢
(возможно,
PM¢ = PM¢¢),
причем
Минимизация суммарного взвешенного момента окончания выполнения заданий…
p( PM¢¢) £ p( PM ) ,
и в PM¢¢ существует задание
последовательности
PM¢¢PM
j1 ,
так что
j1
PM
. Тогда из множества
выделяем новую начальную подпоследовательность
максимального приоритета, применяя ВП2–ВП4 и утверждения 2.9–2.12, где
цепочки
g1
либо
y1
заменяем на
PM¢¢.
Следует отметить, что случай, описанный
в п.I.1, не является общим, т.е. после операции эффективного переноса
a ( g[ k + 1] )
могут встретиться более сложные ситуации, описанные в п.II–III. В таких случаях должны применяться соответствующие вычислительные процедуры.
2.5.2 Алгоритм построения оптимального расписания на множестве максимального приоритета (ОММП)
Описываемый алгоритм предназначен для построения оптимального расписания на подпоследовательности максимального приоритета. Если множество заданий было последовательно разбито на начальные подпоследовательности максимальных приоритетов, то расписание, полученное в результате
применения описываемого алгоритма к каждой такой подпоследовательности,
является оптимальным [186]. Поэтому работу алгоритма будем описывать для
одной произвольной начальной подпоследовательности максимального приоритета, включающей структуры, описанные в алгоритме П1 и алгоритме последовательной декомпозиции множества заданий на подпоследовательности
максимальных приоритетов. Следует отметить, что если подпоследовательность максимального приоритета имеет структуру, аналогичную получаемой в
результате работы алгоритма П1, то расписание на этой подпоследовательности является оптимальным.
Рассмотрим алгоритм оптимизации подпоследовательностей максимального приоритета, имеющих структуру, описанную в алгоритме выделения подпоследовательностей максимальных приоритетов.
I. Пусть подпоследовательность максимального приоритета (далее просто
«подпоследовательность») имеет вид
па
K; g
что
$ j ¢Î K
K,
причем, если
такое, что
j
j* –
j¢ и
gK ,
где g – цепочка,
K–
конструкция ти-
последнее из заданий цепочки g , то
выполнено:
j*
j ¢¢ для
всех
j ¢¢Î K
"j Î g
таких, что
такой,
j
j ¢¢.
151
Глава 2
Пусть также все задания из конструкции
шествует задание
конструкции
j* ,
которым непосредственно пред-
являются первыми в подцепочках и подконструкциях
K (верхнего
уровня вложения).
Предположим, что конструкция
q1 ,..., qm
K,
имеет вид
K
– цепочки либо конструкции типа
p(b q1...qi ) £ p(qi+ 1...qm ), i = 1, m - 1 ,
b q1... qm ,
где
b
– цепочка,
p(q1 ) ³ p(q2 ) ³ ... ³ p(qm ) ³ p(b ) ,
K;
и т.д. (см. определения 2.6, 2.7).
Введем понятие условной оптимальности. Предположим, что на множество заданий наложены дополнительные ограничения порядка, не нарушающие ацикличности графа и делающие его последовательно-параллельным. Оптимальное расписание, построенное для такой задачи, будем называть условнооптимальным или оптимальным при условии дополнительных ограничений:
1) если последнее задание цепочки
вому заданию цепочки
b
непосредственно предшествует пер-
, то полученный граф является последовательно-
параллельным, а расписание
gb q1...qm –
оптимальным;
2) если последнее задание цепочки
вому заданию цепочки
g
g,
b
непосредственно предшествует пер-
то полученный граф является последовательно-
параллельным без учета лишних связей из цепочки
b
в те множества, которым
предшествует цепочка g .
С помощью алгоритма П1 построим для полученной задачи оптимальное
расписание. Сравнивая значения функционалов условно-оптимальных расписаний с ограничениями 1) и 2), найдем оптимальное значение функционала и
оптимальное расписание на множестве заданий
gK
при исходных ограничени-
ях.
Условие 1. Если при удовлетворении ограничения 2) оптимальное расписание имеет вид  q1... qi 
p(  q1... qi )  p ( ) ,
qi 1 ... qm , i  1, m
и, соблюдается соотношение приоритетов
то расписание  q1... qi 
ходных ограничениях; если же
qi 1 ... qm
p(  q1 ... qi )  p( ) ,
ограничениях будет расписание   q1 ... qm .
152
является оптимальным при исто оптимальным при исходных
Минимизация суммарного взвешенного момента окончания выполнения заданий…
II. Пусть подпоследовательность имеет вид  K , где  – цепочка;
струкция,
такой, что
j
K   q1 ... qm ,
 j  K
причем, если
такая, что j
j ,
j –
K
– кон-
последнее задание цепочки  , то
j
выполнено:
j 
для всех
j   K
 j 
таких, что
j  .
Пусть также все задания из конструкции
j ,
предшествует задание
K
, которым непосредственно
являются первыми в подцепочках или подконструк-
циях всех уровней вложения. Накладываем дополнительное ограничение 1)
для цепочек  и  . Для этой последовательности оптимальное расписание
  q1 ... qm .
Для дополнительного ограничения 2) опишем работу алгоритма на
примере.
Пусть конструкция
струкций,
K
K
имеет только один уровень вложенных подкон-
K   q1 ... qm ; q1  1 q1 ... qk ; q2   2 q1 ... ql ,
. Пусть также
j
причем
q1 q2
при некотором i , 1  i  k , а также
qi
j
– конструкция типа
qi , i  1, i  1 , j 
1 .
Возможны два варианта соотношения приоритетов.
1. p( 1 q1...qi1 )  p( ) .Тогда делаем для 
 1 q1... qi1  qi qi1... qk q2 ... .
а)
p( qi )  p(qi 1 )
и
неухудшающую перестановку
При этом возможны следующие ситуации:
p( q1 )  p(q2 ) ,
значит, полученное расписание оптимально
при исходных ограничениях;
б)
p( qi )  p(qi1 )
и
p( q1 )  p(q2 ) .
Если возможно, делаем улучшающую пере-
становку для конструкции 1 q1... qi1 
qi... qk .
Если  q1
ность улучшающей перестановки для цепочки   V
q2 ,
q1
то проверяем возмож-
. Если перестановка не-
возможна, то накладываем два дополнительных ограничения:   2 и  2  . С
учетом первого ограничения повторяем описанные рассуждения для конструкции
q1  1 q1... qi1  qi qi1... qk q2 ,
c учетом второго – для подпоследовательности
 1 q1... qi1qi1... qk  2  qi qi1... qk q1... ,
где
, åñëè  qi
qj  
 qj ,åñëè  qi
qj ;
qj ;
153
Глава 2
qj  qj \ qi ;     qi qi1...qk
в)
p( qi )  p(qi 1 )
и
p( q1 )  p(q2 ) .
Если возможно, делаем для  q1 улучшающие
перестановки, пока не окажется, что
p( qi )  p(qj ) , i  1  j  k .
Тогда расписание будет оптимально при исходных ограничениях. Возможно, что  qi
и
qj , j  i  1, k
p( qi )  p (qk ) .
то расписание  1 q1... qi1 qi1... qk 
раничениях. Если же
    qi ,
и
q2
Если при этом
qi q2 q3 ...qm
p( 1 q1... qi1 qi1... qk )  p ( qi ) ,
оптимально при исходных ог-
p( 1 q1... qi1 qi1... qk )  p ( qi ) ,
то для последовательностей
повторяем рассуждения, проведенные для  и
q1 .
Пусть с помощью улучшающих перестановок для цепочки  qi нельзя добиться выполнения описанных условий п.в). Для простоты будем считать, что
 qi qi1 ,
тогда для конструкции  qi qi1 повторяем рассуждения, проведенные
для последовательности  qi ;
г)
p ( qi )  p (qi1 )
и
p ( q1 )  p (q2 ) .
Проводим те же рассуждения, что и в п. в),
но вместо оптимальности на всей подпоследовательности будем стремиться к
оптимальности на подпоследовательности 1 q1... qi1  qi qi1... qk . После достижения такой оптимальности повторяем рассуждения, проведенные в п. б).
2.
p( 1q1... qi1 )  p( ) .
Тогда накладываем дополнительное ограничение: 1 
(последнее задание – первому) и повторяем рассуждения, аналогичные проведенным в п. 1.
Таким образом, строим ветвящуюся процедуру, результатом работы которой является получение набора задач с дополнительными ограничениями и соответствующих оптимальных значений функционалов. Расписание, соответствующее минимальному из таких значений, будет оптимальным для исходной
подпоследовательности.
Примечание. После перестановок цепочки   V
ных им) может быть нарушена
q1
p -упорядоченность
в п. б) и г) (и аналогичзаданий, занимающих в
расписании более ранние позиции, чем  . Это следует учитывать при получении условно-оптимальных расписаний.
154
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Если конструкция
имеет множество уровней вложения, то в алгоритме
K
должны проверяться описанные условия для всех таких уровней.
Откажемся от требования непосредственного предшествования задания
только первым заданиям цепочек из конструкции
K
j
, так как каждую цепочку,
некоторому заданию которой непосредственно предшествует задание
j ,
мож-
но представить в виде конструкции (цепочка является частным случаем конструкции типа
K ),
у которой начальному заданию какой-либо подцепочки или
подконструкции непосредственно предшествует задание
j .
III. Пусть подпоследовательность имеет вид  1 2 K , где  1 и  2 – цепочки;
K
– конструкция типа
j2
цепочек  1 и  2 выполнено предположение из п. ІІ.
K
; 1
K
и 2
K,
причем для последних заданий
Пусть  1  2 , тогда применяем к цепочкам  1 ,  2 и
K
j1
и
процедуру, аналогич-
ную описанной в п. II, причем дополнительные ограничения накладываются
независимо. Если при построении оптимального расписания оказывается, что
цепочки  1 и  2 принадлежат одной конструкции, причем на одном уровне
вложения, и множества заданий в этой конструкции, которым непосредственно
предшествуют задания
j1
и
j2 ,
пересекаются, но не совпадают, то дополни-
тельно должны быть наложены следующие ограничения:
а) последнее задание цепочки  1 непосредственно предшествует первому
заданию цепочки  2 ;
б) последнее задание цепочки  2 непосредственно предшествует первому
заданию цепочки  1 .
Более экономичным, с точки зрения количества анализируемых вариантов,
является путь, по которому сначала строится оптимальное расписание на конструкции  2 K , а затем к цепочке  1 и полученному расписанию применяется
процедура, аналогичная описанной в п. II, с одновременной проверкой оптимальности положения цепочки  2 (подробнее подобный подход описан в п. IV).
155
Глава 2
Примечание 1. Если цепочки  1 и  2 связаны отношениями порядка, то это
уменьшает количество перебираемых вариантов, так как не требуется накладывать дополнительные ограничения.
Примечание 2. Описанную процедуру можно обобщить на подпоследовательность вида  1... k K .
IV. Пусть подпоследовательность (см. п. IV алгоритма выделения начальных подпоследовательностей максимального приоритета) имеет вид
где
y,

,   – цепочки;
p( y  K )  p(  K ) .
Пусть также
и
K
K .
K
– конструкции типа
K
;
Если это не так и, например,
y K   K ,
y  K  K  ,
 ,
y K
то возможна улучшающая перестановка для цепочки   . В этом
p( y  K )  p( ) ,
случае оптимальное расписание на конструкции   y  K K  строится аналогично.
1. Строим оптимальные расписания
K
P
и
P
для подпоследовательностей
и   K  . Полученное расписание будет оптимально для подпоследователь-
ности  K   K  .
2. Накладываем дополнительные ограничения: последнее задание цепочки
y
предшествует первому заданию конструкций
K
и
K :
если оптимальное рас-
писание на последовательности  K  имеет вид  K , то для построения оптимального расписания при дополнительном ограничении 2) (см. п. I) достаточно
построить оптимальное расписание на подпоследовательности y  .
Если же
ние
y P P . P 
P K,
то при дополнительном ограничении оптимально расписа-
– оптимальное расписание на  K  .
3. Пусть
j.
P  P1 j P2 , y P1 , y
перестановку
P1 y j P2 P .
Если же
Если
p( y )  p( P1 ) ,
p( y )  p( P1 ) ,
то делаем неухудшающую
то накладываем дополнительное
ограничение: последнее задание цепочки  предшествует первому заданию
цепочки

y K   q1
qn , K    q1
qk
.
Далее, аналогично п. II, применяем процедуру оптимизации для подпоследовательности
156
P1 y j P2
либо для множества заданий последовательностей
y
и
P
Минимизация суммарного взвешенного момента окончания выполнения заданий…
с дополнительным ограничением 
тельность
y.
В результате получаем подпоследова-
P1 y P 2 P .
4. Пусть
P 2 P  P 21 P 22 P1 j P2 ,
где
j .
P22 P1 , yP 21
y P 21
делаем неухудшающую перестановку
Если
P1 P 22 P1 y P 21 j  P2 .
накладываем дополнительное ограничение  
p( y P21 )  p( P 22 P1) ,
то
В противном случае
y.
Далее, аналогично п. II, применяем процедуру оптимизации для подпоследовательности
y, P 21
и
P1 y P 21 j P2
либо для множества заданий последовательностей
при дополнительном ограничении  
P
P22  P 22 \ Vy P 21
P 22
y.
Здесь
P21  P 21 Vy P 21
P 22
,
.
Примечание. Описанную в п. 3 и 4 процедуру следует повторять для всех
ответвлений алгоритма, порождаемых дополнительными ограничениями.
k k
k
k
P1 P 22 P1 y P2 ,
Таким образом, получаем набор расписаний
при дополнительном ограничении
y
а также
k
1. Если   P 2 , причем в последовательностях
k
P1
k
P1k y P 2 P .
и
k
P2
более ранние пози-
ции, чем цепочка  , занимают те же задания, что и в расписании
p( y)  p( ) ,
k
.
V. Рассмотрим некоторую подпоследовательность
ритет вместе с приоритетом цепочки
k
P1 y P 2 P
y
P,
их прио-
не меньше, чем приоритет цепочки  , и
то при дополнительных ограничениях, накладываемых на
y
(п.
IV.1–3), данное расписание оптимально. Если же приоритет заданий, занимающих в подпоследовательности
k
P1
и
k
P2
более ранние позиции, чем цепочка  ,
меньше, чем приоритет этой цепочки, то при рассматриваемых дополнительных ограничениях для заданий из множества у оптимальным будет
расписание, соответствующее дополнительному ограничению   (для простоты подразумевается, что
K
– конструкция типа
K
, и соотношения приори-
тетов должны проверяться для вложенных подконструкций, если
2. Пусть в расписании
было выполнено
P
p ( q1 )  p (qi ) .
K
типа
K
).
при выполнении алгоритма п. II для цепочки 
Если представить
P1k  P11k P12k ,
начальная подпоследовательность из расписания
P,
где
P11k
– неизменная
содержащая цепочку  qi ,
157
Глава 2
то полученное расписание оптимально при соответствующих ограничениях на
y
(п. IV.1–3).
3. Если  qi  P1k и не существует разбиения
k
k
k
k
P1  P11 P12 ,
где  qi  P11 ;
неизменная начальная подпоследовательность из расписания
алгоритм п. II к заданиям из множеств  и
k
P1 \ 
P,
k
P11
то применяем
, а затем в сравниваемые рас-
писания включаем расписание с дополнительными ограничениями   , 
y   ,   p1k .
4. Пусть
–
y,
В результате получаем набор условно-оптимальных расписаний.
k
qi \ P1  
и
k
qi  P1  qi .
k
Если представить
k
k
P1  P11  qi P12 ,
неизменная начальная подпоследовательность из расписания
P,
где
k
P11
–
то расписание,
получаемое в результате применения процедур, описанных в п. ІІ, ІІІ для подпоследовательности  qi , является оптимальным при дополнительных ограничениях на y .
Условие 2. Если в результате применения процедуры, описанной в п. II,
окажется, что приоритет подпоследовательности, построенной на цепочке  ,
больше либо равен приоритету подпоследовательности, построенной на цепочке
y,
то полученное расписание на множестве заданий

y K   K
 является
k
оптимальным при исходных ограничениях; в противном случае ( P11 – не неизменная начальная подпоследовательность
P)
в сравниваемые расписания сле-
дует включить расписание с дополнительными ограничениями   , 
y,
y  .
VI. Рассмотрим некоторую подпоследовательность
k k
k
k
P1 P 22 P1 yP2 .
Процеду-
ру, аналогичную описанной в п. V.1-4, применяем к подпоследовательности
yP2 .
k
Получаем набор Pl условно-оптимальных на последовательности
расписаний. Далее, выделяем на последовательности
сти максимального приоритета
P1Mk P12k
P1tk .
k
P1
yP2
k
подпоследовательно-
Строим на них оптимальное распи-
сание согласно алгоритму П1 или п. І–V алгоритма ОММП.
1. Если справедливо
p( P1tk )  p( Pl) ,
158
p( P1tk )  p( Pl) ,
то переходим к п. 2.1 (см. ниже). Если
то применяем процедуру оптимизации к подпоследовательности
Минимизация суммарного взвешенного момента окончания выполнения заданий…
P1tk Pl
(при условии, что дополнительные ограничения на
получаем набор условно-оптимальных расписаний
Pm
y
не изменяются) и
(переход к п. 2.1) (п. 1
проводится для всех ранее полученных условно-оптимальных расписаний
Pl ).
Аналогичную процедуру повторяем до тех пор, пока либо не окажется
k
p ( Pm )  p ( P1i 1 )
(переход к п. 2.1), либо не получим
2. Находим на подпоследовательности
тельности максимального приоритета
PM 1
k
Pm .
k
начальные подпоследова-
P1 P 22
 .
PMm
Строим на них оптимальное
расписание согласно алгоритму П1 или п. I–V алгоритма ОММП.
2.1. Если
 )  p( P1kM ) ,
p( PMm
следовательности
 )  p( P1kM ) ,
p( PMm
при
то полученное расписание оптимально на всей по-
данных
дополнительных
ограничениях.
Если
то последовательно строим оптимальное либо условно-
оптимальное расписание на подпоследовательности
лученных расписаний проверяем выполнение: если
упорядоченное множество на последовательности
PM 1
 P1Mk
PMm
. Для всех по-
1
k
p( PMm
)  p( P12
),
PM 1
 P1Mk
PMm
где
1
– pPMm
, которому соот-
ветствует минимальный приоритет, то полученное расписание оптимально при
данных дополнительных ограничениях.
В противном случае продолжаем изложенную выше процедуру, пока не
получим выполнение
i
p( PMm
)  p( P1ik1 ) ,
тогда построенное расписание оптималь-
но при наложенных дополнительных ограничениях либо
j
p( PMm
)  p( Pm )
(переход
к п. 2.2).
2.2. Если
 )  p( Pm ) ,
p( PMm
то при данных дополнительных ограничениях по-
лучим оптимальное расписание на подпоследовательности
Если
 )  p( Pm ) ,
p( PMm
k k
k
k
P1 P 22 P1 y P2 .
то применяем к последовательности
 Pm
PMm
алгоритм П1
или п. І–V алгоритма ОММП и повторяем предыдущие рассуждения.
Аналогично
п.1,
п.2
оптимальных расписаний
проводится
для
всех
полученных
условно-
Pm .
159
Глава 2
Таким образом, получаем набор расписаний, оптимальных при различных
дополнительных ограничениях, а также при ограничении    или    , и выбираем расписание, соответствующее минимальному значению функционала.
Приведенный
алгоритм
вательности вида 11  1k
1
K1  12
можно
 k22 K 2
 1m
обобщить
на
случай
подпоследо-
 kmm K m .
Полиномиальный алгоритм П2
Первый этап. Строится допустимое расписание в соответствии с описанным алгоритмом.
Второй этап. Итерационной процедурой за  n  1 шаг строится допустимое расписание на множествах максимального приоритета.
На каждой
k
-й итерации,
k  2, n ,
вычисления являются комбинацией поли-
номиального алгоритма П1 и ДММП. Алгоритмы используются в зависимости
от ситуации, возникающей в процессе построения множества максимального
приоритета, множеств максимальных приоритетов для расписания, занимающего позиции после выделенного ранее множества максимального приоритета
и проведенной операции эффективного переноса.
Если в результате  n  1 итерации использовался только алгоритм П1, то
полученное расписание является оптимальным. В противном случае переходим к третьему этапу.
Третий этап. На каждом множестве максимального приоритета строим
оптимальное расписание с помощью ОММП. В зависимости от структуры допустимого расписания на множестве максимального приоритета возможно
следующее: а) расписание уже оптимально; б) оптимальное расписание строится полиномиальной вычислительной схемой; в) для построения оптимального расписания необходим комбинаторный перебор полиномиально вычисляемых условно-оптимальных расписаний на выделенных подмножествах множества максимального приоритета.
Если в процессе построения алгоритма ОММП не реализовались аналоги
условий 1) и 2) (п. I, V), то верхняя оценка числа условно-оптимальных распи160
Минимизация суммарного взвешенного момента окончания выполнения заданий…
саний является экспоненциальной. Однако реализация этого алгоритма приводит к небольшому числу условно-оптимальных расписаний, вследствие того,
что условия 1) и 2) могут реализовываться на части расписания, что существенно сокращает количество условно-оптимальных расписаний.
В алгоритме П2 заранее задается полиномиальная верхняя оценка
K ( n)
об-
щего количества условно-оптимальных расписаний (на всех множествах максимального приоритета), участвующих в комбинаторном переборе ( K (n) –
фиксированный полином от общего числа заданий
n ).
Если общее число
условно-упорядоченных расписаний превышает эту оценку, то необходимо
строить субоптимальное расписание на множестве максимального приоритета
с учетом следующих эвристических соображений относительно предпочтительной направленности перебора.
Для множеств максимального приоритета, имеющих структуру  1  k K , в
построении оптимального расписания в первую очередь участвуют те цепочки
i ,
которые имеют приоритет, существенно меньший, чем все остальные (при
условии, что  i  j ,
j  i  1, k ),
и связаны по графу с цепочками, имеющими мак-
симальный приоритет в подконструкциях
K
. При наличии ограничений по-
рядка, не позволяющих выделить цепочку  i , с минимальным приоритетом, не
связанную по графу с цепочкой  j ,
1
k
j  i  1, k ,
следует из подпоследовательности
выделить подпоследовательность заданий, удовлетворяющую указанно-
му свойству.
Аналогично можно строить расписания на множествах максимального
приоритета, имеющих в качестве своих элементов структуры типа  1  k K .
Наилучшее из построенных условно-оптимальных расписаний сравнивается с
эвристическим расписанием, а затем выбирается лучшее из них.
Примечание 1. Общая верхняя оценка построения допустимого расписания
на множествах максимального приоритета является достаточно высокой
однако реальная вычислительная сложность не превышает
n2
 n  ,
5
вследствие того,
161
Глава 2
что ситуации, описанные в ДММП, встречаются крайне редко и на ограниченном множестве заданий.
Примечание 2. Оценку
K ( n)
можно задать в виде небольшой константы (по-
рядка нескольких сотен) вследствие того, что вероятность появления индивидуальной задачи, требующей перебора большого количества условно-оптимальных
расписаний, мала, а эффективность описанной и применяемой в случае необходимости полиномиальной эвристической схемы получения субоптимального
расписания высока.
2.6 Иллюстративный пример
Таблица 2.1 – Исходные данные к примеру
j 1 2 3 4 5 6 7 8 9 10 11 12
lj 4 5 6 2 7 1 4 3 2 11 1 5
j 20 25 36 4 14 2 32 24 4 55 150 10
j 21 22 23 24 25 26 27 28 29 30 31 32
lj 2 3 11 20 5 7 31 4 3 2 1 7
j 4 6 22 40 10 14 62 8 6 4 2 14
j 41 42 43 44 45 46 47 48 49 50 51 52
lj 2 3 2 1 7 6 10 20 15 1 1 3
j 4 6 4 2 14 12 20 40 30 2 2 6
j 61 62 63 64 65 66 67 68 69 70 71 72
lj 2 5 10 6 2 1 5 10 3 20 4 8
j 30 30 50 80 4 1 5 10 3 20 4 8
j 81 82 83 84 85 86 87 88 89 90 91 92
lj 40 6 12 7 15 16 17 22 4 3 2 11
j 40 6 12 7 15 16 17 22 4 3 2 11
13
4
12
33
5
10
53
1
1
73
7
7
93
14
14
14
14
28
34
6
12
54
7
7
74
16
16
94
5
5
15
5
15
35
9
18
55
10
150
75
3
3
95
6
6
16
4
8
36
20
40
56
1
8
76
50
50
96
70
70
17
1
1
37
25
50
57
3
27
77
40
40
97
68
68
18
2
2
38
6
12
58
2
30
78
4
4
98
35
35
19
4
4
39
5
10
59
1
10
79
2
2
99
65
65
20
1
1
40
8
16
60
5
50
80
50
50
100
30
30
Матрица взаимосвязи вершин графа приведена в табл. 2.3–2.4. Единица в
столбце обозначает, что у вершины, соответствующей текущей строке, есть
непосредственный предшественник – вершина, соответствующая данному
столбцу.
162
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Таблица 2.2 – Допустимая последовательность
j 3 1 2 16 4 6 8 5 7 12 15 13 14
lj 6 4 5 4 2 1 3 7 4 5 5 4 14
j 36 20 25 8 4 2 24 14 32 10 15 12 28
j 21 22 23 24 25 26 27 28 29 30 31 32 33
lj 2 3 11 20 5 7 31 4 3 2 1 7 5
j 4 6 22 40 10 14 62 8 6 4 2 14 10
j 41 42 43 44 45 46 47 48 49 50 55 58 61
lj 2 3 2 1 7 6 10 20 15 1 10 2 2
j 4 6 4 2 14 12 20 40 30 2 150 30 30
j 54 57 52 65 53 66 67 68 69 70 71 72 73
lj 7 3 3 2 1 1 5 10 3 20 4 8 7
j 7 27 6 4 1 1 5 10 3 20 4 8 7
j 79 80 83 84 85 87 89 90 98 99 100 91 86
lj 2 50 12 7 15 17 4 3 35 65 30 2 16
j 2 50 12 7 15 17 4 3 35 65 30 2 16
10
11
55
34
6
12
59
1
10
74
16
16
88
22
22
9
2
4
35
9
18
56
1
8
75
3
3
92
11
11
11
1
150
36
20
40
60
5
50
81
40
40
93
14
14
17
1
1
37
25
50
63
10
50
82
6
6
94
5
5
Значение функционала по допустимой последовательности f
доп
18
2
2
38
6
12
64
6
80
76
50
50
95
6
6
19
4
4
39
5
10
51
1
2
78
4
4
96
70
70
20
1
1
40
8
16
62
5
30
77
40
40
97
68
68
= 805 831.
163
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
1
–
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
–
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
–
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
–
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
–
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
–
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
–
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
–
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
– 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 – 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 – 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 1 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 – 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 – 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 – 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 – 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 – 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 – 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 –
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Глава 2
Таблица 2.3 – Матрица взаимосвязи вершин графа (часть 1)
164
№ 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
52 1 – 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
53 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
54 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
55 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
56 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
57 0 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
58 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
59 0 0 0 0 0 0 0 1 – 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
60 0 0 0 0 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
61 0 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
62 0 0 0 0 0 0 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
63 0 0 0 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
64 0 0 0 0 0 0 0 0 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
65 0 0 0 0 0 0 0 0 0 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
77 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
78 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 – 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
84 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0
86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 – 0 0 0 0 0 0 0 0 0 0 0 0 0
0
87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 – 0 0 0 0 0 0 0 0 0 0 0 0
0
88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 – 0 0 0 0 0 0 0 0 0 0 0
0
89 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 – 0 0 0 0 0 0 0 0 0 0
0
90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 – 0 0 0 0 0 0 0 0 0
0
91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 – 0 0 0 0 0 0 0 0
0
92 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 – 0 0 0 0 0 0 0
0
93 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 – 0 0 0 0 0 0
0
94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 – 0 0 0 0 0
0
95 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 – 0 0 0 0
0
96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 – 0 0 0
0
97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 – 0 0
1
98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 – 0
0
99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 –
0
100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
–
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Таблица 2.4 – Матрица взаимосвязи вершин графа (часть 2)
165
Глава 2
Примечание. Остальные ячейки матрицы взаимосвязи (столбцы 51–100 для
строк 1–50 и столбцы 1–50 для строк 52–100) содержат нули.
166
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Таблица 2.5 – Оптимальная последовательность
j 55 58 61 59 56 60 63 64 62 3 1 2 16 4 6 8 5 7 12 15
 1 2 3 4 5 5 6 6 7 8 9 9 9 9 9 9 9 9 9 9
lj 10 2 2 1 1 5 10 6 5 6 4 5 4 2 1 3 7 4 5 5
j 150 30 30 10 8 50 50 80 30 36 20 25 8 4 2 24 14 32 10 15
Сj 10 12 14 15 16 21 31 37 42 48 52 57 61 63 64 67 74 78 83 88
j 13 14 10 9 11 54 57 51 52 65 21 22 23 24 25 26 27 28 29 30
 9 9 9 9 9 10 10 11 11 11 12 12 12 12 12 12 12 12 12 12
lj 4 14 11 2 1 7 3 1 3 2 2 3 11 20 5 7 31 4 3 2
j 12 28 55 4 150 7 27 2 6 4 4 6 22 40 10 14 62 8 6 4
Сj 92 106 117 119 120 127 130 131 134 136 138 141 152 172 177 184 215 219 222 224
j 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
lj 1 7 5 6 9 20 25 6 5 8 2 3 2 1 7 6 10 20 15 1
j 2 14 10 12 18 40 50 12 10 16 4 6 4 2 14 12 20 40 30 2
Сj 225 232 237 243 252 272 297 303 308 316 318 321 323 324 331 337 347 367 382 383
j 53 66 67 68 69 70 71 72 73 74 75 81 82 76 78 77 79 80 83 84
 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
lj 1 1 5 10 3 20 4 8 7 16 3 40 6 50 4 40 2 50 12 7
j 1 1 5 10 3 20 4 8 7 16 3 40 6 50 4 40 2 50 12 7
Сj 384 385 390 400 403 423 427 435 442 458 461 501 507 557 561 601 603 653 665 672
j 85 87 89 90 98 99 100 91 86 88 92 93 94 95 96 97 17 18 19 20
 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
lj 15 17 4 3 35 65 30 2 16 22 11 14 5 6 70 68 1 2 4 1
j 15 17 4 3 35 65 30 2 16 22 11 14 5 6 70 68 1 2 4 1
Сj 687 704 708 711 746 811 841 843 859 881 892 906 911 917 987 1055 1056 1058 1062 1063
Здесь  – номер подпоследовательности максимального приоритета.
В рассматриваемом примере реализован 2-й тип условий получения точного решения полиномиальной составляющей ПДС-алгоритма. Структура ориентированных подграфов и соотношения приоритетов в данном примере позволили построить оптимальное расписание на множествах максимального приоритета, не являющихся совокупностью конструкций, с полиномиальной вычислительной схемой трудоемкости О(n log n). Количество выполненных итераций – 14. Значение функционала по оптимальной последовательности
f опт = 693 791.
2.7 Статистические исследования алгоритма решения задачи
Для исследования алгоритма использовался пакет прикладных программ,
написанных на языке Borland C++. В пакете существенно используются воз167
Глава 2
можности динамического распределения оперативной памяти, динамической
загрузки программных модулей, последовательной организации данных. Для
хранения промежуточных данных (промежуточной информации) используются либо только оперативная память, либо (при необходимости) и внешние носители информации (диски).
Решение задачи производится пользователем в диалоге с системой путем запуска в определенной последовательности решения задачи и анализа выдаваемой
информации. В качестве входных данных используется информационная модель,
включающая входные массивы в виде бинарных файлов прямого доступа.
Изучение поведения алгоритмов в среднем сводится к формированию
множества предположительно типичных индивидуальных задач, выполнении
алгоритмов на этом множестве задач и анализе полученных результатов. Считая, что параметры индивидуальных задач (длительность выполнения заданий,
директивный срок, вес и т.д.), встречающихся на практике, подчинены равномерному закону распределения, выборка индивидуальных задач, предназначенная для исследования поведения алгоритмов, организовывалась на основании построения «случайных» индивидуальных задач. Для получения значений
параметров индивидуальных задач использовался генератор случайных чисел.
Для задачи МВМ были получены результаты, приведенные в табл. 2.6–2.10.
Исследования проводились на процессоре Pentium IV с тактовой частотой 3,6
ГГц при объеме оперативной памяти 2 Гбайт.
В таблицах 2.6 и 2.7 даны общие результаты зависимости процента реализации получения оптимального решения полиномиальной составляющей алгоритма от количества заданий и относительной заполненности графа. Для каждой пары {n, M} было проведено в среднем по 100 испытаний.
Из табл. 2.6 и 2.7 получены таблица зависимости реализации полиномиальной составляющей ПДС-алгоритма от коэффициента относительной заполненности графа М (табл. 2.8) и таблица зависимости реализации полиномиальной
составляющей ПДС-алгоритма от размерности задачи МВМ (табл. 2.9).
168
Минимизация суммарного взвешенного момента окончания выполнения заданий…
Таблица 2.6 – Общая зависимость реализации полиномиальной
составляющей алгоритма от количества заданий и относительной
заполненности графа М в случае d (приоритеты вершин различаются
существенно)
N
50
100
150
200
250
300
350
400
450
500
10
62
60
57
55
54
52
51
48
45
41
20
55
55
53
52
47
43
39
37
37
34
30
53
52
52
51
48
45
41
39
38
35
M(%)
40
82
82
81
80
77
74
69
65
65
62
50
96
96
95
94
90
88
87
85
82
75
60
98
98
97
96
96
92
90
88
87
86
70
100
99
98
98
98
97
97
96
96
95
Таблица 2.7 – Общая зависимость реализации полиномиальной
составляющей алгоритма от количества заданий и относительной
заполненности графа M в случае s (приоритеты вершин различаются
незначительно)
N
50
100
150
200
250
300
350
400
450
500
10
61
60
58
57
52
51
50
48
44
40
20
55
54
52
52
45
42
38
36
36
33
30
53
52
51
50
47
44
41
38
37
34
M(%)
40
80
79
79
78
75
73
68
65
65
62
50
95
94
94
93
90
87
86
84
82
74
60
97
97
96
96
95
91
90
87
86
85
70
99
98
97
97
96
96
96
95
95
94
Таблица 2.8 – Зависимость процента реализации полиномиальной
составляющей ПДС-алгоритма решения задачи МВМ от коэффициента
относительной заполненности графа M
M, %
10
20
30
40
50
60
70
Реализация полиномиальной составляющей (%)
Для случая d
Для случая s
51,545
51,182
44,273
43,455
44,636
43,818
72,818
71,545
87,818
86,909
92,182
91,455
97,237
96,091
169
Глава 2
Выводы из табл. 2.8.
1. Получение оптимального расписания значительно зависит от значения
относительной заполненности вершин графа M (рис. 2.13). При фиксированном количестве заданий для значений М, лежащих в диапазоне 0–25% и 40–
100% достаточна велика частотность реализации полиномиальной составляющей алгоритма, при М=70% достигает значения больше 95%. Таким образом,
чем больше заполненность графа, тем вероятнее то, что он имеет следующую
структуру: множества максимального приоритета получаемых расписаний являются последовательно-параллельными подграфами, либо оптимальные расписания, получаемые для усеченных последовательно-параллельных подграфов, являются допустимыми для исходного графа, заданного на подмножествах множеств максимальных приоритетов. В таких случаях полиномиальная
составляющая алгоритма реализуется чаще, т.к. при выполнении алгоритма
расписание строится только на последовательно-параллельных связях, лишние
связи отбрасываются, что и говорит о достоинстве больших значений М. Для
значений М в диапазоне 20–30% в таких случаях просто не могут быть обеспечены достаточные связи для последовательно-параллельной структуры подграфов, поэтому и менее вероятна реализация полиномиальной составляющей.
А при М=10% вероятность реализации полиномиальной составляющей больше, чем при М=20–30%. Это объясняется тем, что при М=10% множество заданий декомпозируется на множества максимальных приоритетов, образованные на относительно небольшом количестве заданий.
2. Реализация полиномиальной составляющей незначительно зависит от
вида задания параметров (весов и длительностей). В случае, когда приоритеты
вершин существенно отличаются (случай d), имеется чуть большая вероятность реализации полиномиальной составляющей, чем в случае, когда приоритеты вершин отличаются незначительно (случай s). Это объясняется тем, что
последовательность заданий, имеющих сильно отличающиеся между собой
приоритеты, в процессе построения оптимального расписания легче разбивается на множества максимальных приоритетов, следовательно, более вероятно
170
Минимизация суммарного взвешенного момента окончания выполнения заданий…
получить расписание полиномиальной составляющей, чем для последовательности заданий, имеющих незначительно отличающиеся приоритеты.
3. Для задачи МВМ проведено 7700 испытаний, в 70% случаев результирующее расписание оптимально. Анализ результатов статистического моделирования показал, что полиномиальная составляющая ПДС-алгоритма задачи
МВМ является статистически значимой для моделируемых произвольным об-
Процент полиномиальной
составляющей
разом индивидуальных задач.
110
100
90
d
s
80
70
60
50
40
10
20
30
40
50
60
70
Относительная заполненность графа M (%)
Рис. 2.13. Зависимость реализации полиномиальной составляющей ПДСалгоритма от значения относительной заполненности графа
Таблица 2.9 – Зависимость процента реализации полиномиальной
составляющей ПДС-алгоритма от размерности задачи
N
50
100
150
200
250
300
350
400
450
500
Реализация полиномиальной составляющей (%)
Для случая d
Для случая s
78
77,143
77,429
76,286
76,143
75,286
75,143
74,714
72,857
71,429
70,143
69,143
67,714
67,001
65,429
64,714
64,286
63,571
61,143
60,286
Из табл. 2.9 видно, что процент реализации полиномиальной составляющей
незначительно зависит от количества заданий (рис. 2.14). Значит, программный
171
Глава 2
модуль, решающий данную задачу, является достаточно эффективным и пригодным для автоматизированных систем управления реальным производством с
Процент
полиномиальной
составляющей
точки зрения решения прикладных задач большой размерности.
100
80
d
s
60
40
20
0
50
100 150 200 250 300 350 400 450 500
Размерность задачи n
Рис. 2.14. Зависимость реализации полиномиальной составляющей ПДСалгоритма задачи МВМ от размерности задачи
В табл. 2.10 приведена потребность в процессорном времени при выполнении полиномиальной составляющей ПДС-алгоритма решения задачи МВМ.
Таблица 2.10 – Потребности в вычислительных ресурсах решения задачи
МВМ полиномиальной составляющей ПДС–алгоритма
n
50
100
150
200
250
300
350
400
450
500
10
0.11
0.16
0.22
0.38
0.77
1.22
1.87
3.24
6.65
11.69
20
0.11
0.17
0.39
0.66
1.31
1.70
2.95
4.78
7.66
12.38
30
0.11
0.17
0.44
0.99
1.98
2.47
3.95
5.11
8.93
13.84
t, с.
40
0.11
0.22
0.55
1.21
2.47
2.96
4.12
6.65
9.05
14.48
50
0.11
0.22
0.61
1.37
3.18
3.76
4.78
7.07
11.59
16.17
60
0.11
0.28
0.76
1.70
3.95
5.07
7.27
10.26
13.05
17.52
70
0.16
0.27
0.77
1.87
4.12
6.65
8.98
11.37
14.48
19.36
Из табл. 2.10 видно, что с увеличением значения коэффициента относительной заполненности графа M и количества вершин графа n увеличивается и время, требуемое для выполнения полиномиального подалгоритма. Но даже при
количестве заданий, принимающем значение 500, в зависимости от значения коэффициента относительной заполненности графа M время счета варьируется
только от 10 до 19 с. Согласно данным этой таблицы и изложенному выше
172
Минимизация суммарного взвешенного момента окончания выполнения заданий…
можно сделать вывод, что быстродействие алгоритма достаточно велико, что
позволяет использовать его в условиях АСУ в реальном масштабе времени.
Проведенное статистическое моделирование подтверждает эффективность
построенного алгоритма для множества индивидуальных задач задачи МВМ,
порожденных моделированием случайным образом ее параметров.
Верхнюю оценку вычислительной сложности полиномиальной составляющей алгоритма легко построить по полученным признакам оптимальности.
При моделировании произвольных индивидуальных задач этого класса статистически значимо структура оптимального расписания соответствует структуре последовательно-параллельного графа и определяется работами, цепочками,
простыми конструкциями. В этом случае верхняя оценка вычислительной
сложности получения оптимального расписания ограничена полиномом второй степени от числа заданий.
173
Глава 2
СПИСОК ЛИТЕРАТУРЫ НЕ ПЕЧАТАЕТСЯ, НО ДОЛЖЕН БЫТЬ В КОНЦЕ КАЖДОЙ ГЛАВЫ, ЧТОБЫ ПОЛЯ ПРАВИЛЬНО ОБНОВЛЯЛИСЬ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
174
Адлер Ю.П., Маркова Е.В., Грановский Ю.В. Планирование эксперимента при поиске оптимальных условий. – 2-е изд., перераб. и доп. – М.:
Наука, 1976. – 280 с.
Айвазян С.А. Многомерный статистический анализ // Математическая
энциклопедия / Гл. ред. И.М. Виноградов. – М., 1982. – Т.З. – Стб. 732738.
Аксенова Л.А. Новые полиномиальные подклассы труднорешаемой задачи
«Минимизация суммарного взвешенного момента» для множества одного
приоритета // Управляющие системы и машины, – 2002.– №6.– С.21-28
Андерсон Т. Введение в многомерный статистический анализ / Пер. с
англ. Ю.Ф. Кичатова; Под ред. Б.В. Гнеденко. – М.: Физматтиз, 1963. –
500 с.
Андрейчиков А.В., Андрейчикова О.Н. Анализ, синтез, планирование решений в экономике. – Москва: Финансы и статистика. – 2001.
Веселов С.И., Шевченко В.Н. Об экспоненциальном росте коэффициентов
агрегирующего уравнения: Тез. докл. 4 Феодосийской конф. по пробл.
теорет. кибернетики. – Новосибирск: Ин-т математики СО АН СССР,
1977. – 53 с.
Галочкин И., Нестеренко Ю.В., Шидковский А.Б. Введение в теорию чисел. – М.: Изд-во Моск. ун-та, 1984. – 280 с.
Гери М.Р., Джонсон Д.С. Вычислительные машины и труднорешаемые
задачи. – М.: Мир, 1982. – 416 с.
Д. Худсон. Статистика для физиков. Москва, Мир, 1970.
Емельянов С.В. Управление гибкими производственными системами. Модели и алгоритмы.– Л.: Машиностроение; Берлин: Техник,– 1987.– 364 с.
Ершов А. А. Стабильные методы оценки параметров: (Обзор) // Автоматика и телемеханика. – 1978. – № 8. – С. 66-100.
Зайченко Ю.П. Дослідження операцій, – Київ: Слово – 2006 р. – 814с.
Згуровский М.З., Павлов А.А. Иерархическое планирование в системах,
имеющих сетевое представление технологических процессов и ограниченные ресурсы, как задача принятия решений // Системні дослідження
та інформаційні технології.– 2009.– №.__ С.____ .
Згуровский М.З., Павлов А.А., Штанькевич А.С. Модифицированный метод анализа иерархий // Системні дослідження та інформаційні технології.– 2010.– №.1. – С.____ .
Згуровский М.З., Павлов А.А., Мисюра Е.Б. ПДС-алгоритмы и труднорешаемые задачи комбинаторной оптимизации. Анализ эффективности, методология построения // Системні дослідження та інформаційні технології.– 2009.– №.__ С.____ .
Минимизация суммарного взвешенного момента окончания выполнения заданий…
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Згуровский М.З., Павлов А.А., Мисюра Е.Б., Мельников О.В. Методология построения эффективного решения многоэтапных задач календарного
планирования на основе принципа иерархии и комплекса взаимосвязанных моделей и методов // Вісник НТУУ “КПІ”. Інформатика, управління
та обчислювальна техніка. К.: “ВЕК+”, 2010.– №50
Згуровский М.З., Павлов А.А., Мисюра Е.Б., Мельников О.В. Методы
оперативного планирования и принятия решений в сложных организационно-технологических системах // Вісник НТУУ “КПІ”. Інформатика,
управління та обчислювальна техніка. К.: “ВЕК+”, 2010.– №50
Згуровський М.З., Панкратова Н.Д. Основи системного аналізу // К.: Видавнича група BHV, 2007. – 544c.
И. Экланд. Элементы математической экономики. – М.: Мир, 1983. –
245ст.
Ивахненко А.Г. Моделирование сложных систем. – Киев: Высшая школа,
1997.
Ивахненко А.Г., Мюллер И.А.Самоорганизация прогнозирующих моделей. – Киев: Техника, 1985. – 221с.
Ивахненко А.Г., Юрачковский Ю.В. Моделирование сложных систем по
экспериментальным данным. – М: Радио и связь, 1986. – 118с.
Интернет-страница: http://www.bilkent.edu.tr/~bkara/start.html
Информатика в Украине: становление, развитие, проблемы. / Сергієнко И.В., Капітонова Ю.В., Лебедєва Т.Т. – НАН Украины. Ін-т кибернетики им. В.М. Глушкова.– К.: Наук. думка.– 1999 – 354 с.
Катренко А.В., Пасічник В.В., Пасько В.П. Теорія прийняття рішень. –
Київ: Видавнича группа BHV, – 2009, – 438 с.
Кини Р.Л., Райфа X. Принятие решений при многих критериях: предпочтения и замещения.—М.: Радио и связь, 1981. – 560 с.
Колмогоров А.Н. К обоснованию метода наименьших квадратов // Успехи
математических наук. – 1946. – Т. 1, Вып. 1. – С.57-70.
Конвей Р.В., Максвелл У.Л. Теория расписаний.– М.: Наука, 1975.– 359 с.
Конструктивные полиномиальные алгоритмы решения индивидуальных
задач из класса NP / Павлов А.А. и др., – Киев: Техника, – 1993. – 128 с.
Котлер Ф. Основы маркетинга: Пер. с англ.. / Под общ. ред.
Е.М.Пеньковой.– М.: Прогресс,– 1990.–736 с.
Ларичев О.И. Теория и методы принятие решений. – М.:Логос, 2000.
Меншикова О.Г., Подиновский В.В. Построение отношения предпочтения
и ядра в многокритериальных задачах с упорядоченными по важности неоднородными критериями // ЖВМ и МФ. 1988. № 5. С. 647 – 659.
Миллер Г. Магическое число семь плюс или минус два // Инж. психология. – М: Прогресс, – 1964.
Многоуровневая система оперативного управления ГПС в машиностроении / С.А.Соколицын, В.А.Дуболазов, Ю.Н.Демченко; под общ.ред.
С.А.Соколицына. – СПб: Политехника,– 1991. – 208 с.
175
Глава 2
35
36
37
38
39
40
41
42
43
44
45
46
47
48
176
Ногин В.Д. Упрощенный вариант метода анализа иерархий на основе нелинейной свертки критериев // Журнал вычислительной математики и математической физики. – 2004. – т.44. – № 7. – С.1259-1268.
Норманн Р. Дрейпер, Гарри Смит. Прикладной регрессионный анализ, 3е изд.: Пер. с англ. – М.: Издательский дом «Вильямс», 2007. – 912 с
Общая модель и методы иерархического планирования функционирования
сложных организационно-производственных систем с ограниченными ресурсами / А.А. Павлов, Е.Б. Мисюра, О.В.Мельников, Сераржи Али Рухани
// Системні дослідження та інформаційні технології.– 2005.– №4.– С.7-24
Основы системного анализа и проектирования АСУ: Учебн. пособие. /
А.А. Павлов, С.Н. Гриша, В.Н.Томашевский и др. Под общ. ред.
А.А.Павлова, К.: Выща шк.,– 1991.– 367 с.
Павлов А.А. Линейные модели в нелинейных системах управления. – К.:
Техніка, 1982. – 166 с.
Павлов А.А. Алгоритмическое обеспечение сложных систем управления. /
К.: Выща школа, 1989. – 162 с.
Павлов А.А., Аксенова Л.А. Новые условия полиномиальной составляющей ПДС-алгоритма задачи «Минимизация суммарного взвешенного момента» // Проблемы программирования.– 2001.– №1.– C.69-75.
Павлов А.А., Анализ оценок сложности вычислений точных алгоритмов
решения задачи линейного целочисленного программирования общего
вида//Автоматика. – 1985. – № 5. – С. 42-48.
Павлов А.А., Гершгорин А. Е. Об одном методе сведения задачи линейного целочисленного программирования общего вида к задаче «о ранце»
//Автоматика. – 1985. – № 1. – С. 52-56.
Павлов А.А., Гриша С.Н., Томашевский В.Н. и др. Основы системного
анализа и проектирования АСУ: учеб. пособие./ под общ. ред. Павлова
А.А. – К.: Выща шк., 1991. – 367 с.
Павлов А.А., Иванова А.А. Алгоритм идентификации функции цели в методе анализа иерархий. / Вісник НТУУ “КПІ”. Інформатика, управління та
обчислювальна техніка. К.: “ВЕК+”, 2008.– №48.– С.46-48
Павлов А.А., Иванова А.А., Зигура Р.А. Метод группового учета аргументов и анализа иерархий (МГУАиАИ) в задачах принятия решений. //
Віснік НТУУ «КПІ» Інформатика, управління та обчислювальна техніка,
Київ – 2007р. №47. – 350с. – С. 205-214.
Павлов А.А., Иванова А.А., Чеховский А.В. Восстановление функции
принятия решения с использованием модифицированного метода анализа
иерархий // Вестник НТУ “ХПИ”: Сборник научных трудов. Тематический выпуск «Системный анализ, управление и информационные технологии».– Харьков: НТУ «ХПИ».– 2009.– №4.– С.17-23
Павлов А.А., Кут В.И. Математические модели оптимизации для обоснования и нахождения весов объектов по неоднородным матрицам парных
сравнений // Системні дослідження та інформаційні технології. 2007.–
№3.– С. 28–37
Минимизация суммарного взвешенного момента окончания выполнения заданий…
49
50
51
52
53
54
55
56
57
58
59
60
Павлов А.А., Кут В.И., Штанкевич А.С. Нахождение весов по матрице
парных сравнений с односторонними ограничениями. / Вісник НТУУ
“КПІ”. Інформатика, управління та обчислювальна техніка. К.: “ВЕК+”,
2008.– №48.– С.29-32
Павлов А.А., Лищук Е.И. Оперативное корректирование в задаче многокритериального выбора. / Автоматизированные системы управления и
приборы автоматики. – 2007. – В печати.
Павлов А.А., Лищук Е.И. Принятие решений на основе метода анализа
иерархий. // Вестник НТУ «ХПИ». Системный анализ, управление и информационные технологии. – 2007. – №41. – С. 69-76.
Павлов А.А., Лищук Е.И., Кут В.И. Математические модели оптимизации
для обоснования и нахождения весов в методе парных сравнений // Системні дослідження та інформаційні технології.– 2007.– №2.– С.13–21
Павлов А.А., Лищук Е.И., Кут В.И. Многокритериальный выбор в задаче
обработки данных матрицы парных сравнений // Вісник НТУУ “КПІ”. Інформатика, управління та обчислювальна техніка. К.: “ВЕК+”, 2007.–
№46.– С.84-88
Павлов А.А., Мисюра Е.Б. Новый подход к решению задачи «Минимизация суммарного взвешенного опоздания при выполнении независимых
заданий с директивными сроками одним прибором» // Системні дослідження та інформаційні технології, – 2002, №2, С.7-32.
Павлов А.А., Павлова Л.А. Основы методологии проектирования ПДСалгоритмов для труднорешаемых комбинаторных задач/ Киев.– Проблемы
информатики и управления.– 1995.–№ 4.– ст. 135-141.
Павлов А.А., Теленик С.Ф. Информационные технологии и алгоритмизация в управлении.– К.: Техника.– 2002.– 344 с.
Павлов А.А., Чеховский А.В. Построение многомерной полиномиальной
регрессии (активный эксперимент) // Системні дослідження та інформаційні технології, – 2009, №1. – С.87-99
Павлов А.А., Чеховский А.В. Построение многомерной полиномиальной
регрессии. Активный эксперимент с ограничениями // Вестник НТУ
“ХПИ”: Сборник научных трудов. Тематический выпуск «Системный
анализ, управление и информационные технологии».– Харьков: НТУ
«ХПИ».– 2009.– №4.– С.174-186
Павлов А.А., Чеховский А.В. Сведение задачи построения многомерной
регрессии к последовательности одномерных задач // Вісник НТУУ
“КПІ”. Інформатика, управління та обчислювальна техніка. К.: “ВЕК+”,
2008.– №48.– С.111-112
Павлов А.А., Штанькевич А.С. Восстановление закономерности по результатам пассивного эксперимента с ограниченным набором данных. /
Вестник НТУ «ХПИ». Системный анализ, управление и информационные
технологии. – Харьков: НТУ «ХПИ».– 2009.– №4.– С.160-169
177
Глава 2
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
178
Павлов А.А., Штанькевич А.С. Восстановление неизвестной закономерности по ограниченному набору экспериментальных данных с ошибкой./
Вестник НТУУ «ХПИ». Системный анализ, управление и информационные технологии. Харьков: НТУ «ХПИ». – 2009. – №5. – 10с.
Пападимитриу X. Стайглиц К. Комбинаторная оптимизация. Алгоритмы и
сложность. – М.: Мир, 1985. – 510 с.
Первин Ю. А., Португал В. М., Семенов А. И. Планирование мелкосерийного производства в АСУП. – М.: Наука, – 1973. – 459 с.
Петров В.А., Масленников А.Н., Осипов Л.А. Планирование гибких производственных систем.– Л.: Машиностроение, ЛО,– 1985.– 182 с.
Планирование и управление в автоматизированном производстве / В.В.
Шкурба, С.А. Белецкий, К.Ф. Ефетова и др.– К.: Наукова думка, 1985.–
224 с.
Планирование производства в условиях АСУ: Справочник / Ефетова К.Ф.,
Подчасова Т.П., Португал В.М., Тринчук Б.Е.– К.: Техніка,– 1984.– 135 с.
Подиновский В.В. Многокритериальные задачи с однородными равноценными критериями // ЖВМ и МФ. 1975. № 2. С. 330 – 344.
Радченко С.Г. Устойчивые методы оценивания статистических моделей:
Монография – К.: ПП «Санспарель», 2005. – 504 с.
Саати Т. Принятие решений. Метод анализа иерархий: Tomas Saaty. The
Analytic Hierarchy Process. –Пер. с англ. Р.Г. Вачнадзе. – М.: Радио и
связь, 1993. – 315 с.
Саати Т. Целочисленные методы оптимизации и связанные с ними экстремальные проблемы. – М.: Мир, 1973. – 302 с.
Саати Т., Кернс К. Аналитическое планирование. Организация систем:
Пер. с англ. Р.Г. Вачнадзе: Под ред. И.А. Ушакова. – М.: Радио и связь,
1991. – 223 с.
Сергиенко И.В. Математические модели и методы решения задач дискретной оптимизации. / К.: Наукова думка, 1985. – 382 с.; 2-е изд., доп. и
перераб., 1988. – 472 с.
Сергиенко І.В. Інформатика в Україні: становлення, розвиток, проблеми /
К.: Наукова думка, 1999. – 354 с.
Системы автоматизированного планирования и диспетчирования групповых производственных процессов / А.А.Павлов, З.Банашак, С.Н.Гриша,
Е.Б.Мисюра; под ред. А.А.Павлова.– К.: Тэхника, 1990.– 260 с.
Скурихин В.И., Павлов А.А., Путилов Э.П., Гриша С.Н. Автоматизированные системы управления гибкими технологиями. – К.: Техніка, 1987. –
184 с.
Танаев В.С., Шкурба В.В. Введение в теорию расписаний. – М.: Наука,
1975.– 256 с.
Таха Хемди. Введение в исследование операций, 6-е издание: Пер. с англ.
– М.: Издательский дом «Вильямс», 2001. – 912с.: ил. – Парал. тит. англ.
Тоценко В.Г. Методы и системы поддержки принятия решений. Алгоритмический аспект. – Киев: Наукова думка. – 2002. – 381с.
Минимизация суммарного взвешенного момента окончания выполнения заданий…
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
Универсальный алгоритм решения задачи «Минимизация взвешенного
момента окончания работ при отношении порядка, заданном ориентированным ациклическим графом» / А.А.Павлов, Л.А.Павлова, А.Б.Литвин,
Е.Б.Мисюра.– К., 1992.– 58с.– Деп. в УкрНИИНТИ 05.05.90, №569 – Ук
92
Форсайт Дж., Малькольм М., Моулер К. Машинные методы математических вычислений / Пер. с англ. Х.Д. Икрамова. – М.: Мир, 1980. – 280 с.
Ху Т. Целочисленное программирование и потоки в сетях. – М.: Мир,
1974.-519 с.
Шило В.П. Метод глобального равновесного поиска / Кибернетика и систем. анализ, 1999. -№1. – С. 74-80.
A.H.G. Rinnooy Kan, B.J. Lageweg and J.K.Lenstra, Minimizing total costs in
one-machine scheduling / Oper. Res. 23, 908–927 (1975).
Aarts, E.H.L., Van Laarhooven, P.J.M., Ulder, N.L.J. Local search based algorithms for job-shop scheduling. Working Paper.– Eindhoven: University of
Technology, Department of Mathematics and Computer Science,– 1991.– 20 p.
Adams, J., Balas, E., Zawack, D. The shifting bottleneck procedure for jobshop scheduling // Management Science,– 1988.– №34 (3).– pp. 391–401.
Akers, S.B., Jr. A graphical approach to production scheduling problems // Operations Research.– 1956.– №4.– pp. 244–245.
Baker K.R., Scudder G.D. Sequencing with earliness and tardiness penalties: a
review // Operations Research.– 1990.– Vol.1.– №38.– Р.22-36
Baker K.R., Shrage L.E. Finding an optimal sequence by dynamic programming: an extension to precedence-related tasks / Oper. Res. 26, 111–120 (1978).
Balas, E., Lancia, G., Serafini, P., Vazacopoulos, A. Job-shop scheduling with
deadlines // Journal of Combinatorial Optimization.– 1998.– №1 (4).– pp. 324–
353.
Balas, E., Vazacopoulos, A. Guided local search with shifting bottleneck for
job-shop scheduling // Management Science.– 1998.– №44 (2).– pp. 262–275.
Bitran G.R., Haas E.A., Hax A.C. Hierarchical Production Planning: A Single
Stage System. Operations Research 29,– 1981.– pp.717-743.
Bitran G.R., Hax A.C. Disaggregation and Resource Allocation Using Convex
Knapsack Problems. Management Science 27,– 1981.– pp.431-441.
Bitran G.R., Hax A.C. One the Design of Hierarchical Production Planning
Systems. Decision Science 8,– 1977.– pp.28-55.
Bitran G.R., Tirupati D., Hierarchical Production Planning, in: Handbooks in
Operations Research and Management Science, Volume 4, Logistics of Production and Inventory, edited by S. C. Graves, A. H. G. Rinnooy Kan and P. H. Zipkin, Amsterdam, Elsevier Science Publishers B. V.,– 1993, pp. 523-568.
Bradley G.Н. Transformation of Integer Programs to Knapsack Problems
//Discrate Mathematics. – 1971. – 1. – P. 29-45.
Bräsel, H. Lateinische Rechtecke und Maschinenbelegung.– Magdeburg: Habilitationschrift, TU Magdeburg, 1990.– 272 p.
179
Глава 2
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
180
Brucker P., Hurink J., Werner F. Improving local search heuristics for some
scheduling problems part I // Discrete Applied Mathematics.– 1996.– №65 (1–
3).– pp. 97–122.
Brucker P., Hurink J., Werner F. Improving local search heuristics for some
scheduling problems part II // Discrete Applied Mathematics.– 1997.– №72
(1/2).– pp. 47–69.
C.N.Potts and L.N.Van Wassenhove, A decomposition algorithm for the single
machine total tardiness problem / Oper. Res. Lett. 1, 177–181 (1982).
C.N.Potts and L.N.Van Wassenhove, Dynamic programming and decomposition approaches for single machine total tardiness problem / European J. Oper.
Res. 32, 405–414 (1987).
Caseau Y., Laburthe F. Disjunctive scheduling with task intervals. LIENS
Technical Report No 95-25.– Paris: Laboratoire d’Informatique de l’ Ecole
Normale Superieure Departement de Mathematiques et d’Informatique, 1995.–
35 p.
Chen B., Potts C.N., Woeginger G.J. A Review of Machine Scheduling: Complexity, Algorithms and Approximability // In: D.-Z. Du and P. Pardalos, eds.,
Handbook of Combinatorial Optimization, Vol. 3 (Kluwer Academic Publishers),– 1998.– pp.21-169.
Chris N. Potts, Mikhail Y. Kovalyov. Scheduling with batching: A review //
European Journal of Operational Research.– 2000, Vol.120.– P.228-249.
Cook, S.A.: The complexity of theorem-proving procedures // Proc. 3rd.
Annual ACM Symp. Theory of Computing.– New York, 1971.– pp. 151–158.
Davis J.S., Kanet J.J. Single-machine scheduling with early and tardy completion costs // Naval Research Logistics.– 1996.– №40.– Р.85-101
Delia Croce F., Grosso A., Paschos V.Т. Lower bounds on the approximation
ratios of leading heuristics for the single-machine total tardiness problem /
Journal of Scheduling 7: 85-91, 2004.
Demirkol, E., Mehta, S., Uzsoy, R. A computational study of shifting bottleneck procedures for shop scheduling problems // Journal of Heuristics.– 1997.–
№3 (2).– pp. 111–137.
Dorndorf U., Pesch E. Evolution based learning in a job-shop scheduling environment // Computers and Operations Research.– 1995.– №22 (1).– pp. 25–40.
Du J., Leung J.Y.-T. Minimizing total tardiness on one processor is NP-hard. /
Math. Oper. Res. 15, 483–495 (1990).
Emmons H. One machine sequencing to minimize certain functions of job tardiness / Oper. Res. 17, 701–715 (1969).
Falkenauer, E., Bouffouix, S. A genetic algorithm for the job-shop. // The Proceedings of the IEEE International Conference on Robotics and Automation.–
Sacremento, California, USA, 1991.– pp. 41-48.
Feldmann M., Biskup D. Single-machine scheduling for minimizing earliness
and tardiness penalties by meta-heuristic approaches // Computers & Industrial
Engineering.– 2003.– №44.– P.307-323
Минимизация суммарного взвешенного момента окончания выполнения заданий…
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
Fisher H., Thompson G.L. Probabilistic learning combinations of local jobshop scheduling rules. / In: Muth, J.F., Thompson, G.L. Industrial Scheduling.–
Englewood Cliffs: Prentice-Hall, 1963.– pp. 225–251.
Fisher M.L. A dual algorithm for the one-machine scheduling problem / Math.
Programming 11, 229–251 (1976).
Fisher, M.L., Rinnooy Kan, A.H.G. The design, analysis and implementation of
heuristics (special issue) // Management Science.– 1988.– №34 (3).– pp. 263–
401.
Foo, S.Y., Takefuji, Y. Integer linear programming neural networks for jobshop scheduling // IEEE International Conference on Neural Networks.– San
Diego, 1988.– pp. 341–348.
Foo, S.Y., Takefuji, Y. Stochastic neural networks for solving job-shop scheduling: Part 1. Problem representation // IEEE International Conference on Neural Networks.– San Diego, 1988.– pp. 275–282.
Foo, S.Y., Takefuji, Y. Stochastic neural networks for solving job-shop scheduling: Part 2. Architecture and simulations // IEEE International Conference on
Neural Networks.– San Diego, 1988.– pp. 283–290.
Forsythe G, journ. Sos.Ind. Appl. Math 5,74 (1957)
Fox, M.S. Constraint-Directed Search: A Case Study of Job-Shop Scheduling //
Research Notes in Artificial Intelligence.– London:Pitman, 1987.– pp. 12-23.
Garey, M.R., Tarjan, R.E., Wilfong, G.T. One-processor scheduling with symmetric earliness and tardiness penalties // Mathematics of Operations Research.– 1988.– №13.– Р.330-348
Glover F. Future paths for integer programming and links to artificial intelligence // Computers and Operations Research.– 1986.– №13 (5).– pp. 533–549.
Glover F. Heuristics for integer programming using surrogate constraints // Decision Sciences.–1977.– №8 (1).– pp. 156–166.
Glover F. Tabu search – Part I // ORSA Journal on Computing.– 1989.–
№1(3).– pp. 190–206.
Glover F. Tabu search – Part II // ORSA Journal on Computing.– 1990.– №2
(1).– pp. 4–32.
Glover, F., Greenberg, H.J. New approaches for heuristic search: A bilateral
linkage with artificial intelligence // European Journal of Operations Research.–
1989.– №39 (2).– pp. 119–130.
Glover, F., Laguna, M. Tabu Search. Kluwer, Norwell: Kluwer.– 1989.– 85 p.
Goldman R.P., Boddy M.S. A constraint-based scheduler for batch manufacturing. // IEEE Expert 12 (1),– 1997.– pp.49-56.
Grabot B., Geneste L. Dispatching rules in scheduling: A fuzzy approach // International Journal of Production Research.– 1994.– №32 (4).– pp. 903–915.
Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.E.G.: Optimization
and approximation in deterministic sequencing and scheduling: a survey // Ann.
Discrete Math.– 1979.– №5.– pp. 287–326.
Graves S.C. Manufacturing Planning and Control. Massachusetts Institute of
Technology. / Working paper // In: Handbook of Applied Optimization, edited
by P. Pardalos and M. Resende,– 1999.– 26 p.
181
Глава 2
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
182
Grefenstette J.J. Incorporating problem specific knowledge into genetic algorithms. / In: Davis L. Genetic Algorithms and Simulated Annealing.– London:
Pitman, 1987.– pp. 42–60.
Grossmann I.E., Quesada I., Raman R. et. al. Mixed integer optimization techniques for the design and scheduling of batch processes. Presented at NATO
Advanced Study Institute – Batch process system engineering. Antalya,
Turkey, – 1992.
Grosso A., Della Croce F., Tadei R. An enhanced dynasearch neighborhood for
the single-machine total weighted tardiness scheduling problem // Operations
Research Letters. – 2004.– №32.– pp.68–72
Hax A. C., Meal H. C. Hierarchical Integration of Production Planning and
Scheduling. // Studies in Management Sciences, Vol. 1. Logistics, M. A. Geisler (ed.), North Holland-American Elsevier, New York, – 1975.
Hefetz, N., Adiri, I. An efficient optimal algorithm for the two-machines unittime job-shop schedule-length problem // Mathematics of Operations Research.– 1982.– №7.– pp. 354–360.
Jackson, J.R. An extension of Johnson's result on job lot scheduling. // Naval
Research Logistics Quarterly.– 1956.– №3 (3).– pp. 201–203.
Jain, A.S., Meeran, S. Deterministic job-shop scheduling: Past, present and future. European Journal of Operational Research.– 1999.– №113.– pp. 390–434.
Jin S., Mason S.J. Minimizing earliness and tardiness costs on a single machine
with uncommon job due dates // Department of Industrial Engineering, Bell
Engineering Center, University of Arkansas Fayetteville, 2004.– 23 p.
Johnson, D.S., Papadimitriou, C.H., Yannakakis, M. How easy is local search?
// Journal of Computer and System Sciences.– 1988.– №37 (1).– pp. 79–100.
Johnson, S.M. Optimal two– and three-stage production schedules with set-up
times included // Naval Research Logistics Quarterly.– 1954.– №1.– pp. 61–68.
Karp, R.M.: Reducibility among combinatorial problems / In: Miller, R.E.,
Thather, J.W. (eds.): Complexity of Computer Computations, Plenum press,
New York, 1972.– pp. 85–103.
Kempf K.G., Le Pape C, Smith S. F., Fox B. R. Issues in the Design of AIBased Schedulers: A Workshop Report. AI Magazine, Special Issue.– 1991
Kirkpatrick S., Gelatt C.D., Vecchi M.P. Optimization by simulated annealing /
Science. – 1983. -220. –P. 671-680.
Kolonko, M. Some new results on simulated annealing applied to the job shop
scheduling problem // The European Journal of Operational Research.– 1999.–
№113.– pp. 435–467.
Kovacs A. Novel Models and Algorithms for Integrated Production Planning
and Scheduling: Ph.D. Thesis. Computer and Automation Research Institute:
Budapest,– 2005.
Lageweg, B.J., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G. Computer-aided
complexity classification of deterministic scheduling problems, Report BM
№138.– New York: Centre for Mathematics and Computer Science, 1981.– 41 p.
Минимизация суммарного взвешенного момента окончания выполнения заданий…
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
Lageweg, B.J., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G. Computeraided complexity classification of combinatorial problems // Comm. ACM.–
1982.– №25.– pp.817-822.
Lawler E.L. A pseudopolynomial algorithm for sequencing jobs to minimize
total tardiness / Ann. Discrete Math. 1, 331–342 (1977).
Lawler E.L. Sequencing jobs to minimize total weighted completion time subject to precedence constraints // Ann. Discrete Math.– 1978.– №2.– P.75–90.
Lawler E.L., Lenstra J.K., Rinnooy Kan A.H.G., Shmoys D.B. Sequencing and
scheduling: Algorithms and complexity / In: Lawler, E.L., Lenstra, J.K. Handbook in Operations Research and Management Science 4: Logistics of Production and Inventory.– New York: Academic Press, 1993.– pp 120-182.
Lawler, E.L. A fully polynomial approximation scheme for the total tardiness
problem // Operations Research Letters.– 1982.– №1.– Р.207-208
Lawrence S. Supplement to resource constrained project scheduling: An experimental investigation of heuristic scheduling techniques.– Pittsburgh: Graduate
School of Industrial Administration, Carnegie-Mellon University, 1984.– 120 p.
Liu R. A Framework for Operational Strategies for Pipeless Plants. (Ph.D. thesis, Department of Chemical Engineering, The University of Leeds).– 1996.–
pp. 26-28.
Lourenco H.R.D. A computational study of the job-shop and the flow-shop
scheduling problems. Ph.D. Thesis TR – New York: School of Operations Research and Industrial Engineering, Cornell University, 1993.– 185 p.
Lourenco H.R.D. Job-shop scheduling: Computational study of local search
and large-step optimization methods // European Journal of Operational Research.– 1995.– №83.– pp. 347–364.
Lourenco H.R.D., Zwijnenburg M. Combining the large-step optimization with
tabu-search: Application to the job-shop scheduling problem / In: Osman, I.H.,
Kelly, J.P. Meta-heuristics: Theory and Applications.– Boston, MA: Kluwer
Academic Publishers, 1996.– pp. 219–236.
Martin O., Otto S.W., Felten E.W. Large-step Markov chains for traveling
salesman problem // Complex Systems.– 1989.– №5.– pp. 299–326.
Martin O., Otto S.W., Felten E.W. Large-step Markov chains for TSP incorporating local search heuristics // Operations Research Letters.– 1992.– №11.– pp.
219–224.
Matsuo, H., Suh, C.J., Sullivan, R.S. A controlled search simulated annealing
method for the general job-shop scheduling problem. Working Paper, 03-04-88.–
Austin: Graduate School of Business, University of Texas at Austin, 1988.– 42 p.
Morton, T.E., Pentico, D.W. Heuristic Scheduling Systems // Wiley Series in
Engineering and Technology Management.– New York, 1993.– pp.35-47.
Moscato P. On evolution, search, optimization, genetic algorithms and martial
arts: Towards memetic algorithms. // C3P Report 826: Caltech Concurrent
Computation Program.– Caltech, CA, 1989.– pp. 33-48.
Musier R.F.H., Evans L.B. An approximate method for the production scheduling of industrial batch processes with parallel units. / Computers & Chemical
Engineering, 13 (1-2),– 1989.– pp. 229-238.
183
Глава 2
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
184
Nakano, R., Yamada, T. Conventional genetic algorithm for job-shop problems. / In: Kenneth, M.K., Booker, L.B. (Eds.), Proceedings of the Fourth International Conference on Genetic Algorithms and their Applications.– San
Diego, CA, USA, 1991.– pp. 474–479.
Nowicki E., Smutnicki C. A fast taboo search algorithm for the job-shop problem // Management Science.– 1996.– №42 (6).– pp.797– 813.
Nuijten W.P.M., Le Pape C. Constraint-based job-shop scheduling with ILOG
SCHEDULER // Journal of Heuristics.– 1998.– №3 (4).– pp. 271–286.
Nussbaum M., Parra E.A. A Production Scheduling System. ORSA Journal on
Computing. Vol. 5, No. 2, Spring 1993, pp.168-181
Overturf B.W., Reklaitis G.V., Woods J.W. GASP IV and the simulation of
batch/semi-continuous operations: single train process. // Industrial and Engineering Chemistry, Process Design and Development, 17 (2),– 1978.– pp. 161165.
Ow P.S.; Morton T.E.The Single Machine Early/Tardy Problem / Management
Science, Vol. 35, №2, 1989,– p.177-191
Panwalkar S.S., Iskander W. A survey of scheduling rules // Operations Research.– 1977.– №25 (1).– pp.45–61.
Pavlov A., Pavlova L. PDC-algorithms for intractable combinatorial problems.
Theory and methodology of design. – Uzhhorod, «Karpatskij region» shelf
№15, 1998,– 320 pp.
Pavlov A.A., Pavlova L.A. About one subclass of polynomially solvable problems from class «Sequencing jobs to minimize total weighted completion time
subject to precedence constraints»// Вестник международного Соломоновского университета (Киев).– 1999.– №1.– C. 109-116.
Pesch E., Tetzlaff U.A.W. Constraint propagation based scheduling of job
shops // INFORMS Journal on Computing.– 1996.– №8 (2).– pp. 144–157.
Plaggenborg, S. Ein Algorithmus zur komplexitaetsmaessigen Klassifikation
von Schedulingproblemen. – Osnabrueck: Diplomarbeit Fachbereich Mathematik/Informatik, Universitaet Osnabrueck, 1994.– 112 S.
Resende, M.G.C. A GRASP for job shop scheduling // INFORMS Spring
Meeting.– San Diego, CA, 1997.– pp. 23-31.
Rich S.H., Prokopakis G.J. Scheduling and sequencing of batch operations in a
multipurpose plant. / Industrial and Engineering Chemistry, Process Design and
Development, 25,– 1986.– pp. 979-988.
Rippin D.W.T. Design and operations of multiproduct and multipurpose batch
chemical plants – an analysis of problem structure. / Computers & Chemical
Engineering, 7 (4),– 1983.– pp.463-481.
Rippin D.W.T. Simulation of single- and multiproduct batch chemical plants
for optimal design and operation. / Computers & Chemical Engineering, 7 (3),–
1983.– pp.137-156.
Rodammer, F.A., White, K.P., Jr. A recent survey of production scheduling //
IEEE Transactions of Systems, Man and Cybernetics.– 1988.– №18 (6).– pp.
841–851.
Минимизация суммарного взвешенного момента окончания выполнения заданий…
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
Saaty T.L. Multycriteric Decision Making. The Analytic Hierarchy Process,
McGraw Hill International. – New York, 1980. Translated to Russian, Portuguese, and Chinese. Revised edition, Paperback. – Pittsburgh, PA: RWS Publications, 1990, 1996.
Saaty T.L. The Analytic Network Process. – Pittsburgh: RWS Publications,
2001.– p.386.
Sabuncuoglu, I., Bayiz, M. A beam search based algorithm for the job shop
scheduling problem. Research Report IEOR-9705.– Bilkent: Department of
Industrial Engineering, Bilkent University, Turkey, 1997.– 24 p.
Sabuncuoglu, I., Gurgun, B. A neural network model for scheduling problems
// European Journal of Operations Research.– 1996.– №93 (2).– pp. 288–299.
Sadeh, N. Look-ahead techniques for micro-opportunistic job shop scheduling.
Ph.D. Thesis.– Pittsburgh, PA: School of Computer Science, Carnegie Mellon
University, 1991.– 168 p.
Shrage L., Baker K.R. Dynamic programming solution of sequencing problems
with precedence constraints / Oper. Res. 26, 444–449 (1978).
Sidney J.B. Decomposition algorithm for Single-Machine Sequencing with
Precedence Relation and Deferral Costs // Operation Res.– 1975.– N23.–
P.283-298
Sridharan V., Zhou, Z. A decision theory based scheduling procedure for single-machine weighted earliness and tardiness problem // European Journal of
Operations Research.– 1996.– №94.– Р.292-301
Srinivasan V. A hybrid algorithm for the one-machine sequencing problem to
minimize total tardiness / Naval Res. Logist. Quart. 18, 317–327 (1971).
Szwarc W. Single machine total tardiness problem revisited, in: Y.Ijiri (ed.),
Creative and Innovative Approaches to the Science of Management, Quorum
Books, 1993, pp.407–419.
Szwarz W., Mukhopadhyay S.K. Decomposition of the single machine total
tardiness problem // Operations Research Letters 19 (1996) pp.243-250.
Szwarc W., Mukhopadhyay S.K. Optimal timing scheduling in earlinesstardiness single machine sequencing // Naval Research Logistics.– 1995.–
№42.– Р.1109-1114
Szwarc W., Grosso A., Delia Croce F. Algorithmic paradoxes of the single machine total tardiness problem / Journal of Scheduling 4, 93-104 (2001).
Taillard, E. Parallel taboo search technique for the job-shop scheduling problem.
Internal Research Report ORWP89/11.– Lausanne, Switzerland: Department de
Mathematiques (DMA), Ecole Polytechnique Federale de Lausanne, 1989.– 38 p.
Tϋtϋncϋoglu R.A. Sequencing with earliness and tardiness penalties.–
Department of Industrial Engineering, Bilkent University, 1999.– 14 p.
Ulder N.L.J., Aarts E.H.L., Bandelt H.-J. et al. Genetic local search algorithm
for the travelling salesman problem // Lecture Notes in Computer Science.–
1991.– №496.– pp. 109–116.
Ulder N.L.J., Aarts E.H.L., Bandelt H.-J. et al. Improving TSP exchange heuristics by population genetics // First International Workshop on Parallel Problem solving from Nature (PPSN’1).– Dortmund, Germany, 1990.– pp. 45-51.
185
Глава 2
197
198
199
200
201
202
203
204
205
206
207
186
Vaessens, R.J.M. Operations research library of problems. London: Management School, Imperial College, 1996.– 150 p.
Valente J. M. S., Alves R. A. F. S. Improved heuristics for the early/tardy
scheduling problem with no idle time // Computers & Operations Research.–
2005.– №32.– P.557-569
Van Laarhoven, P.J.M., Aarts, E.H.L., Lenstra, J.K. Job-shop scheduling by
simulated annealing. Report OS-R8809.– Amsterdam: Centrum voor Wiskunde
en Informatica, 1988.– 58 p.
Wallace M.G. Practical applications of constraint programming. Constraints,
1(1):139-168, 1996.
Werner, F., Winkler, A. Insertion techniques for the heuristic solution of the
job-shop problem // Discrete Appl. Math.– 1995.– №58 (2).– pp. 191–211.
Yamada T., Nakano R. Job-shop scheduling by simulated annealing combined
with deterministic local search. Meta-heuristics: Theory and Applications.–
Hingham, MA: Kluwer Academic Publishers, 1996.– pp. 237–248.
Yamada, T., Nakano, R. Job-shop scheduling by simulated annealing combined
with deterministic local search. // Metaheuristics International Conference
(MIC’95).– Hilton, Breckenridge, Colorado, USA, 1995.– pp. 344–349.
Yannakakis, M. The analysis of local search problems and their heuristics //
Lecture Notes in Computer Science.– 1990.– №415.– Berlin: Springer-Verlag.–
pp. 298–311.
Yano C.A., Kim Y.D. Algorithms for a class of single-machine weighted tardiness and earliness problems // European Journal of Operations Research.–
1991.– №52.– pp.167–178
Zhou, D.N., Cherkassky, V., Baldwin, T.R., Hong, D.W. Scaling neural networks for job-shop scheduling. // International Joint Conference on Neural
Networks (IJCNN'90).– San Diego, CA, 1990.– pp. 889–894.
Zhou, D.N., Cherkassky, V., Baldwin, T.R., Olson, D.E. A neural network approach to job-shop scheduling // IEEE Transactions on Neural Network.–
1991.– №2 (1).– pp.175–179.
Download