Глава 2 МИНИМИЗАЦИЯ СУММАРНОГО ВЗВЕШЕННОГО МОМЕНТА ОКОНЧАНИЯ ВЫПОЛНЕНИЯ ВЗАИМОСВЯЗАННЫХ ЗАДАНИЙ ОДНИМ ПРИБОРОМ Введение Труднорешаемая задача комбинаторной оптимизации «Минимизация суммарного взвешенного момента окончания выполнения заданий одним прибором при отношении порядка, заданном ориентированным ацикличным графом» (МВМ) формулируется следующим образом. Частично-упорядоченное множество J ( j1 , j2 ,..., jn ) заданий начиная с момен- та времени d 0 обслуживается одним прибором. Для каждого задания j известны длительность li > 0 его обслуживания и вес j (произвольное действи- тельное число). Задания обслуживаются без прерываний и не более чем по одному одновременно. Отношение порядка между заданиями задано ориентиро- ванным ацикличным графом. [29] Необходимо найти такую последовательность обслуживания заданий, суммарный взвешенный момент окончания выполнения заданий в которой минимален: n F jk c jk min , (2.1) k 1 где c j – момент завершения выполнения задания, стоящего в допустимом расk писании на k -й позиции; k c jk l js . 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 ( ) jk c jk . 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 jk R l js , 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. Последовательность заданий j1 , j2 ,..., jg называется допустимой, если при jk jl обслуживание задания jk согласно этой после- довательности должно завершиться до начала обслуживания задания j l . Для простоты все различные задания в последовательности будем обозначать одной и той же буквой j ; l j – длительность выполнения задания j , k занимающего в последовательности позицию k . Определение 2.3. Приоритетно-упорядоченным (р-упорядоченным) расписанием называется допустимая последовательность заданий, удовлетворяющая следующим свойствам: 1. а) первым выполняется подмножество S1 J ( J – множество всех заданий), имеющее максимально возможный приоритет, т.е. pS1 pU , 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. Подпоследовательность заданий jg jr , jr 1 ,..., jg в последовательности называется цепочкой заданий, если где 1. jr 2. p j r ,..., j g k 1 p j g k ,..., j g 1 , j g jr 1 ... j g ; для всех допустимых натуральных k , j / L j – приоритет цепочки j p j g g g вес цепочки j g , а L j g jl j g ljl g ; j g j – jl j g l – длительность ее выполнения. 111 Глава 2 Определение 2.5. Две цепочки заданий j g , j f называются независимыми, если ни для какой пары заданий jk jg и jl 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 p2 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 j11 , j22 ,..., jpp , j*p1 , jpp12 ,..., jgg21 , jgg1 . Для цепочки заданий jg jr , jr 1 ,..., jg 1 , jg интервал переноса I где k p 1, r 1, j k , j g j p r 1 l k p 1 j k , . j g Определение 2.9. Интервал эффективного переноса для задания jg определяется интервалом I g l k g 1 j k где – позиция, на которой разность j g , l k g 1 jk l j g k g 1 jk 0 достигает мак- симального значения; для цепочки заданий j g интервал эффективного переноса r 1 I j g l jk , k q где q – позиция, на которой разность ет максимального значения. Здесь l j g q k r 1 l j g q k r 1 j k jk 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 jk , 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. Пусть в допустимой последовательности для независимых цепочек заданий jr , jr 1 ,..., jg 1 , jg , js , js 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 j1 , j2 ,..., jg первые g 1 заданий j 1 , j 2 ,..., j g 1 являются приоритетно-упорядоченными для множества заданий j , j ,..., j . Эту начальную подпоследовательность обозначим 1 2 g 1 jr , jr 1 ,..., jg 1 , jg образуют jg . цепочку 1 . Задания Существует цепочка j f js , js 1 ,..., j f 1 , j f , f r , j[ f ] j[ g ] . Для остальных заданий j 1 выполняется j . j g Справедливы следующие утверждения. Утверждение 2.3. Если выполняется jk jg 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 ние jk jg в р-упорядоченном расписании на рассматриваемом множестве 114 Минимизация суммарного взвешенного момента окончания выполнения заданий… заданий займет позицию с номером t f n1 , где n1 – количество заданий j j g . Утверждение 2.5. Пусть последовательность, включающая подпоследова 1 jg , тельность р-упорядочена. При выполнении условия p j в приоритетно-упорядоченном расписании позиции между p j g f цепочками заданий j f и j g могут занимать только подпоследовательности заданий z jq , r q f , для которых справедливо p j ; p z jq 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 Доказательство. а) пусть p1 p 2 , тогда p 2 p1 2 p1 ; (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 либо цепочка ( jl ) , предшествующая по графу первому заданию ( g k 1 ) , для которого справедливо p( jl ) p( ( g k 1 )) либо p( ( jl )) p( ( g k 1 )) . В дальнейшем будем считать задание частным случаем цепочки. Тогда возможны следующие случаи, изображенные на рис. 2.2. 117 Глава 2 β(j[l]) α(g[k+1]) ... ... a β(j[l]) ... qj ... ... α(g[k+1]) ... ... б Рис. 2.2. Ситуация 2. Связи между цепочками ( jl ) и ( gk 1 ) , удовлетворяющие свойствам последовательно-параллельного графа Цепочки q j и ( g k 1 ) независимы между собой: j p(q j ) p( ( gk 1 )) ; p (q j ) p (q j 1 ) , связи между цепочками удовлетворяют свойству последователь- но-параллельного графа. Пусть все задания и цепочки, следующие за цепочкой ( g k 1 ) , независимы между собой и цепочками ( g k 1 ) , q j ,… На подпоследовательностях цепочек ( jl ) , ( g k 1 ) и заданий, следующих за цепочкой ( g k 1 ) (рис. 2.2, а), и цепо- чек ( jl ),..., q j ,..., ( gk 1 ) и заданий, следующих за цепочкой ( g k 1 ) (рис. 2.2, б), в соответствии с утверждением 2.6 и указанным в нем порядком расположения независимых цепочек, строим конструкцию K . Примечание. Если задания или цепочки, следующие за цепочкой ( g k 1 ) , не являются непосредственными преемниками ( jl ) и имеют приоритет больший, чем приоритет ( jl ) , то в р-упорядоченном расписании на k -м шаге в соответствии с утверждением 2.1 они будут занимать позиции, предшествующие цепочке ( jl ) . Таким образом, в К включаются только те работы или цепочки, следующие за ( g k 1 ) , которым предшествует ( jl ) по графу частичного упорядочения, и их приоритет выше, чем 118 p ( jl ) . Минимизация суммарного взвешенного момента окончания выполнения заданий… Выполняем процедуру эффективного переноса для конструкции 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 jl цепочек цепочки и ( jl ) не сливаются в одну, а рассматриваются в дальнейшем как две рядом стоящие цепочки, причем цепочка запирает цепочку ( jl ) . Ситуация 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 ] ), Kis1,..., Ki f , где p( Ki) p( K if 1 ) , а конструкции Kil , l f 1, z образуют несмежные приоритетно-упорядоченные множества. Если p( Ki) p( K i 1 ) , то оптимальное расписание построено и имеет вид , K1,..., Ki1, 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 s1,..., 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 s1,..., 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( Kis1 ) ... 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[ h1] ) = ( g[ s ] ,..., g[ h1] ) . Заметим, что если 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 i11 , i11 ,..., 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 s2 меньший показатель качества. На последнем шаге сравнения получаем, что расписание (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, не возникает. На задании gk 1 строим цепочку ( gk 1 ) и выполняем операцию эффективного переноса. I. Пусть при этом реализуется ситуация для последовательно- параллельного графа: запирающая цепочка , цепочка ( gk 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...qi1 ) p( ) .Тогда делаем для 1 q1... qi1 qi qi1... qk q2 ... . а) p( qi ) p(qi 1 ) и неухудшающую перестановку При этом возможны следующие ситуации: p( q1 ) p(q2 ) , значит, полученное расписание оптимально при исходных ограничениях; б) p( qi ) p(qi1 ) и p( q1 ) p(q2 ) . Если возможно, делаем улучшающую пере- становку для конструкции 1 q1... qi1 qi... qk . Если q1 ность улучшающей перестановки для цепочки V q2 , q1 то проверяем возмож- . Если перестановка не- возможна, то накладываем два дополнительных ограничения: 2 и 2 . С учетом первого ограничения повторяем описанные рассуждения для конструкции q1 1 q1... qi1 qi qi1... qk q2 , c учетом второго – для подпоследовательности 1 q1... qi1qi1... qk 2 qi qi1... qk q1... , где , åñëè qi qj qj ,åñëè qi qj ; qj ; 153 Глава 2 qj qj \ qi ; qi qi1...qk в) p( qi ) p(qi 1 ) и p( q1 ) p(q2 ) . Если возможно, делаем для q1 улучшающие перестановки, пока не окажется, что p( qi ) p(qj ) , i 1 j k . Тогда расписание будет оптимально при исходных ограничениях. Возможно, что qi и qj , j i 1, k p( qi ) p (qk ) . то расписание 1 q1... qi1 qi1... qk раничениях. Если же qi , и q2 Если при этом qi q2 q3 ...qm p( 1 q1... qi1 qi1... qk ) p ( qi ) , оптимально при исходных ог- p( 1 q1... qi1 qi1... qk ) p ( qi ) , то для последовательностей повторяем рассуждения, проведенные для и q1 . Пусть с помощью улучшающих перестановок для цепочки qi нельзя добиться выполнения описанных условий п.в). Для простоты будем считать, что qi qi1 , тогда для конструкции qi qi1 повторяем рассуждения, проведенные для последовательности qi ; г) p ( qi ) p (qi1 ) и p ( q1 ) p (q2 ) . Проводим те же рассуждения, что и в п. в), но вместо оптимальности на всей подпоследовательности будем стремиться к оптимальности на подпоследовательности 1 q1... qi1 qi qi1... qk . После достижения такой оптимальности повторяем рассуждения, проведенные в п. б). 2. p( 1q1... qi1 ) 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 P1 y P2 , Таким образом, получаем набор расписаний при дополнительном ограничении 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 P1 yP2 . Процеду- ру, аналогичную описанной в п. V.1-4, применяем к подпоследовательности yP2 . k Получаем набор Pl условно-оптимальных на последовательности расписаний. Далее, выделяем на последовательности сти максимального приоритета P1Mk P12k P1tk . k P1 yP2 k подпоследовательно- Строим на них оптимальное распи- сание согласно алгоритму П1 или п. І–V алгоритма ОММП. 1. Если справедливо p( P1tk ) p( Pl) , 158 p( P1tk ) p( Pl) , то переходим к п. 2.1 (см. ниже). Если то применяем процедуру оптимизации к подпоследовательности Минимизация суммарного взвешенного момента окончания выполнения заданий… P1tk Pl (при условии, что дополнительные ограничения на получаем набор условно-оптимальных расписаний Pm y не изменяются) и (переход к п. 2.1) (п. 1 проводится для всех ранее полученных условно-оптимальных расписаний Pl ). Аналогичную процедуру повторяем до тех пор, пока либо не окажется k p ( Pm ) p ( P1i 1 ) (переход к п. 2.1), либо не получим 2. Находим на подпоследовательности тельности максимального приоритета PM 1 k Pm . k начальные подпоследова- P1 P 22 . PMm Строим на них оптимальное расписание согласно алгоритму П1 или п. I–V алгоритма ОММП. 2.1. Если ) p( P1kM ) , p( PMm следовательности ) p( P1kM ) , p( PMm при то полученное расписание оптимально на всей по- данных дополнительных ограничениях. Если то последовательно строим оптимальное либо условно- оптимальное расписание на подпоследовательности лученных расписаний проверяем выполнение: если упорядоченное множество на последовательности PM 1 P1Mk PMm . Для всех по- 1 k p( PMm ) p( P12 ), PM 1 P1Mk PMm где 1 – pPMm , которому соот- ветствует минимальный приоритет, то полученное расписание оптимально при данных дополнительных ограничениях. В противном случае продолжаем изложенную выше процедуру, пока не получим выполнение i p( PMm ) p( P1ik1 ) , тогда построенное расписание оптималь- но при наложенных дополнительных ограничениях либо j p( PMm ) p( Pm ) (переход к п. 2.2). 2.2. Если ) p( Pm ) , p( PMm то при данных дополнительных ограничениях по- лучим оптимальное расписание на подпоследовательности Если ) p( Pm ) , p( PMm k k k k P1 P 22 P1 y P2 . то применяем к последовательности 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.