1632
 правки
Изменения
м
rollbackEdits.php mass rollback
===Описание алгоритма===
Минимальное значение <tex> T_C_{minmax} </tex> минимизуруемой функции упирается в следующие ограничения:# В допустимом расписании на каждом станке надо обработать каждую работу, поэтому <tex> T_C_{minmax} \ge geqslant  n </tex>.# В допустимом расписании каждую работу нужно обработать на всех станках, причем ее нельзя обрабатывать на двух станках одновременно, поэтому <tex> T_C_{minmax} \ge geqslant m </tex>.Тогда <tex> T_C_{minmax} = \max{(m, n)} </tex>.
В случае <tex> n \ge geqslant m </tex> оптимальное расписание строится циклическими сдвигами последовательности <tex> 1 \dots n </tex> и выглядит следующим образом:         '''1     2     3   ... k   k+1 ... {| class="wikitable"|-!              !| <tex>\textbf1</tex> || <tex>\textbf2</tex> || <tex>\textbf3</tex> ||<tex>\bf{\cdots}</tex>|| <tex>\textbf{n-1 }</tex> || <tex>\textbf{n'''}</tex>  '''|- style="text-align:center;"!<tex>\bf{M_1'''    }</tex>|| <tex>1     </tex> || <tex>2     </tex> || <tex>3   ... k   k+1 ... </tex> ||<tex>\cdots</tex>|| <tex>n-1 </tex> || <tex>n</tex>|- style="text-align:center;"  '''!<tex>\bf{M_2'''    }</tex>|| <tex>n     </tex> || <tex>1     </tex> || <tex>2   ... k</tex> ||<tex>\cdots</tex>|| <tex>n - 2</tex> || <tex>n - 1</tex>|- style="text-align:center;"!<tex>\bf{M_3}</tex>|| <tex>n -1 k   ... </tex> || <tex>n</tex> || <tex>1</tex> ||<tex>\cdots</tex>|| <tex>n - 3</tex> || <tex>n-2 n</tex>|- style="text-1align:center;"!<tex>\bf{\vdots}</tex>               '''.'''      ...   ...   ... ... ... ... ... ... ...||<tex>\vdots</tex>||<tex>\vdots</tex>||<tex>\vdots</tex>||<tex>\ddots</tex>||<tex>\vdots</tex>||<tex>\vdots</tex>   '''.'''      ...   ...   ... ... ... ... ... ... ...|- style="text-align:center;"  '''!<tex>\bf{M_m'''    }</tex>|| <tex>n-m+2 </tex> || <tex>n-m+3 ... ... ... ... ... </tex> || <tex>n-m + 4</tex> ||<tex>\cdots</tex>|| <tex>n - m</tex> || <tex>n-m+1</tex>|}
Если же <tex> n < m </tex>, добавим <tex> m - n </tex> фиктивных работ с номерами <tex> n + 1 \dots m </tex>, построим расписание способом выше и удалим из полученного расписания фиктивные работы.  
===Оценка сложности алгоритма===
==См. также.==
* [[Методы решения задач теории расписаний]]
* [[O2Cmax|<tex> O2 \mid \mid C_{max} </tex>]]
* [[QpmtnCmax|<tex> Q \mid pmtn \mid C_{max} </tex>]]
* [[Opij1Sumwc|<tex> O \mid p_{ij} = 1 \mid \sum w_i C_i </tex>]]
[[Категория: Дискретная математика Алгоритмы и алгоритмыструктуры данных]]
[[Категория: Теория расписаний]]
