Hardprob/Minimum Job Shop Scheduling — различия между версиями
Материал из DISCOPAL
					
										
					
					StasFomin (обсуждение | вклад)  (Массовая правка: замена \geq на ≥)  | 
				StasFomin (обсуждение | вклад)   (Массовая правка: замена PCRE <m>(\w)_(\w)</m> на <em>\1<sub>\2</sub></em>)  | 
				||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 1: | Строка 1: | ||
<!-- start --><!-- {{svg-image-for-hard-problem|{{PAGENAME}}}} -->  | <!-- start --><!-- {{svg-image-for-hard-problem|{{PAGENAME}}}} -->  | ||
| − | * <m>  | + | * <m>m∈  Z^+</m> процессоров (станков, рабочих мест и т.п.), набор работ <em>J</em>, каждая работа <em>j∈J</em>    | 
| − | ** состоит из последовательности из <  | + | ** состоит из последовательности из <em>n<sub>j</sub></em> операций <m>o_{i,j}</m> с <m>1 ≤ i ≤ n_j</m>, для каждой такой операции  | 
| − | *** требуется процессор <m>p_{i,j}  | + | *** требуется процессор <m>p_{i,j}∈ [1..m]</m>  | 
| − | *** и длина <m>l_{i,j}  | + | *** и длина <m>l_{i,j}∈  N</m>.  | 
| − | * Найти «расписание работы цеха» для <em>J</em>, набор однопроцессорных расписаний, <m>f_p : \{o_{i,j} : p_{i,j}=p\}   | + | * Найти «расписание работы цеха» для <em>J</em>, набор однопроцессорных расписаний, <m>f_p : \{o_{i,j} : p_{i,j}=p\} →  N</m>, такое, что    | 
** из <m>f_p(o_{i,j}) > f_p(o_{i',j'})</m> следует <m>f_p(o_{i,j}) ≥  f_p(o_{i',j'})+l_{i',j'}</m>  | ** из <m>f_p(o_{i,j}) > f_p(o_{i',j'})</m> следует <m>f_p(o_{i,j}) ≥  f_p(o_{i',j'})+l_{i',j'}</m>  | ||
** <m>f_p(o_{i+1,j}) ≥  f_p(o_{i,j})+l_{i,j}</m>  | ** <m>f_p(o_{i+1,j}) ≥  f_p(o_{i,j})+l_{i,j}</m>  | ||
* Минимизировать время выполнения расписания, т.е.  | * Минимизировать время выполнения расписания, т.е.  | ||
| − |   <m>\max\limits_{  | + |   <m>\max\limits_{j∈  J} f_p(o_{n_j,j})+l_{n_j,j} → \min.</m>  | 
----  | ----  | ||
Текущая версия на 22:33, 17 апреля 2023
-   процессоров (станков, рабочих мест и т.п.), набор работ J, каждая работа j∈J 
-  состоит из последовательности из nj операций  с , для каждой такой операции
- требуется процессор
 - и длина .
 
 
 -  состоит из последовательности из nj операций  с , для каждой такой операции
 
-  Найти «расписание работы цеха» для J, набор однопроцессорных расписаний, , такое, что 
- из следует
 
 
- Минимизировать время выполнения расписания, т.е.
 
Код в «minimum-job-shop-scheduling.ipynb» на гитлаб или живьем в лабе
- Задача в базе NP-полных задач Вигго Кана
 - Код задачи в книге «ГД» → «SS18»