Алгоритм Джонсона — различия между версиями

Материал из ALL
Перейти к: навигация, поиск
(Восстановление статей Logic-samara)
 
Строка 1: Строка 1:
== Определение ==
 
 
'''Алгоритм Джонсона''' — это алгоритм нахождения оптимальной последовательности обработки деталей на двух станках.
 
'''Алгоритм Джонсона''' — это алгоритм нахождения оптимальной последовательности обработки деталей на двух станках.
 
+
== Обозначения ==
 
Введём обозначения:
 
Введём обозначения:
  
Строка 13: Строка 12:
  
 
'''{i<sub>1</sub>, i<sub>2</sub>, …, i<sub>n</sub>}''' – оптимальная последовательность обработки деталей на двух станках;
 
'''{i<sub>1</sub>, i<sub>2</sub>, …, i<sub>n</sub>}''' – оптимальная последовательность обработки деталей на двух станках;
 +
== Алгоритм Джонсона ==
 +
Входные данные: '''n; {a<sub>1</sub>,a<sub>2</sub>,...,a<sub>n</sub>}; {b<sub>1</sub>,b<sub>2</sub>,...,b<sub>n</sub>}'''.
 +
 +
[[файл:АДЖ01.JPG]]
 +
 +
Выходные данные: '''{i<sub>1</sub>,i<sub>2</sub>,...,i<sub>n</sub>}'''.
 +
 +
Введём дополнительные обозначения:
  
 
'''t<sub>i1н</sub>''' – время начала обработки '''i'''-детали на первом станке;
 
'''t<sub>i1н</sub>''' – время начала обработки '''i'''-детали на первом станке;
Строка 23: Строка 30:
  
 
'''T''' – общая длительность обработки всех деталей.
 
'''T''' – общая длительность обработки всех деталей.
 
 
== Алгоритм расчёта графика ==
 
== Алгоритм расчёта графика ==
 
Входные данные: '''n; {a<sub>1</sub>,a<sub>2</sub>,...,a<sub>n</sub>}; {b<sub>1</sub>,b<sub>2</sub>,...,b<sub>n</sub>}'''.
 
Входные данные: '''n; {a<sub>1</sub>,a<sub>2</sub>,...,a<sub>n</sub>}; {b<sub>1</sub>,b<sub>2</sub>,...,b<sub>n</sub>}'''.
Строка 30: Строка 36:
  
 
Выходные данные: '''{i<sub>1</sub>,i<sub>2</sub>,...,i<sub>n</sub>}; {t<sub>i1н</sub>}; {t<sub>i1к</sub>}; {t<sub>i2н</sub>}; {t<sub>i2к</sub>}; T'''.
 
Выходные данные: '''{i<sub>1</sub>,i<sub>2</sub>,...,i<sub>n</sub>}; {t<sub>i1н</sub>}; {t<sub>i1к</sub>}; {t<sub>i2н</sub>}; {t<sub>i2к</sub>}; T'''.
 
+
== Другие графики: ==
 +
* [[Сетевой график]];
 +
* [[Графики Гантта]];
 +
* [[График c последовательным движением деталей]];
 +
* [[График c параллельным движением деталей]];
 +
* [[График c параллельно-последовательным движением деталей]].
 +
== Другие алгоритмы: ==
 +
*[[Алгоритм Дейкстры]];
 +
*[[Алгоритм Флойда]];
 +
*[[Алгоритм Ху]].
 
== Ссылки ==
 
== Ссылки ==
 
* [[Участник:Logic-samara]]
 
* [[Участник:Logic-samara]]
 
[[Категория:Логистика]][[Категория:Алгоритмы]]
 
[[Категория:Логистика]][[Категория:Алгоритмы]]

Версия 16:56, 15 января 2016

Алгоритм Джонсона — это алгоритм нахождения оптимальной последовательности обработки деталей на двух станках.

Обозначения

Введём обозначения:

n – число деталей;

ai – длительность обработки i-детали на первом станке;

bi – длительность обработки i-детали на втором станке;

ij – номер детали на j-ом месте в последовательности;

{i1, i2, …, in} – оптимальная последовательность обработки деталей на двух станках;

Алгоритм Джонсона

Входные данные: n; {a1,a2,...,an}; {b1,b2,...,bn}.

АДЖ01.JPG

Выходные данные: {i1,i2,...,in}.

Введём дополнительные обозначения:

ti1н – время начала обработки i-детали на первом станке;

ti2н – время начала обработки i-детали на втором станке;

ti1к – время окончания обработки i-детали на первом станке;

ti2к – время окончания обработки i-детали на втором станке;

T – общая длительность обработки всех деталей.

Алгоритм расчёта графика

Входные данные: n; {a1,a2,...,an}; {b1,b2,...,bn}.

АД01.JPG

Выходные данные: {i1,i2,...,in}; {ti1н}; {ti1к}; {ti2н}; {ti2к}; T.

Другие графики:

Другие алгоритмы:

Ссылки