Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1сем Экон кибернетика Заочн Метод Указ.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.06 Mб
Скачать
  1. Задача Джонсона

Постановка задачи:

Необходимо обработать на трех станках n деталей. У всех деталей одна и та же последовательность обработки: 1-й, 2-й и 3-й станки. Времена обработки деталей на каждом станке приведены в таблице:

Детали

Станки

1

2

n

Σ

Станок 1

a1

a2

an

Σ ai

Станок 2

b1

b2

bn

Σ bi

Станок 3

c1

c2

cn

Σ ci

Требуется составить оптимальную последовательность обработки всех n деталей на этих станках, т.е. такую последовательность запуска деталей на обработку, для которой время окончания обработки на всех станках будет наименьшим.

Алгоритм решения

Эта задача решается методом ветвей и границ, для этого введем ряд параметров:

σk={i1, i2, …,ik} –произвольная последовательность из k деталей;

σk+1=k , ik+1} – произвольная последовательность из k+1 деталей;

A(σk), B(σk) и C(σk) - моменты окончания обработки последовательности деталей σk на первом, втором и третьем станках соответственно. Для последовательности σk+1 аналогичные моменты можно вычислить по рекурентным формулам:

A(σk+1) = A(σk)+ak+1;

B(σk+1) = max(A(σk+1),B(σk)) + bk+1;

C(σk+1) = max(B(σk+1),C(σk)) + ck+1.

О ценки:

δ Ak= A(σk) +Σ ai + min (bi + ci), по всем i Є σk (по всем деталям i не входящим в последовательность σk);

δBk= B(σk) +Σ bi + min ci, по всем i Є σk;

δ Ck= C(σk) +Σ ci, по всем i Є σk.

Величина δAk имеет смысл оценки окончания обработки всей последовательности деталей на всех станках. Таким образом, можно сказать, что обработка всех деталей на трех станках завершится не ранее чем через δAk , δBk и δCk.

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

ξ = max(δAk, δBk, δCk),

тогда С(σn) ≥ ξ,

т.е. величина ξ является оценкой (нижней границей) момента окончания всех n деталей на трех станках, при условии, что последовательность σk прошла обработку на всех станках. Очевидно, если взять другую последовательность (из других номеров) деталей, то величина ξ может быть иной. Та из последовательностей σk, для которой ξ имеет меньшее значение, является более предпочтительной для рассмотрения в первую очередь.

Пример решения задачи Джонсона (задачи о трех станках)

Пусть условия задачи заданы следующей таблицей:

Детали

Станки

1

2

3

4

Станок 1

4

8

3

8

Станок 2

10

12

7

9

Станок 3

6

8

4

9

0-й шаг, когда в последовательности 0 деталей:

Очевидно, что δA0 = δB0 = δC0.

Т огда

δ A0= 0 +Σ ai + min (bi + ci)=34, по всем i=1,n;

δ B0= 0 +Σ bi + min ci= 42, по всем i=1,n;

δC0= 0 +Σ ci = 27, по всем i=1,n;

Оценим перспективность каждого из подмножеств последовательностей обработки, т.е. для каждого из подмножеств необходимо вычислить их ξi, где i=1, 2, 3, 4.

Для i = 1:

A(σ1) = A(σo)+a1

B(σ1) = max(A(σ1),B(σ0)) + b1

C(σ1) = max(B(σ1),C(σ0)) + c1

δA1= A(σ1) +Σ ai + min (bi + ci), по всем i ≠1;

δB1= B(σ1) +Σ bi + min ci , по всем i ≠1;

δC1= C(σ1) +Σ ci , по всем i ≠1.

В таком случае, введем обозначение

ξ1 = max(δA1, δB1, δC1) .

Теперь можно сказать, что если обработка деталей начнется с детали № 1, то закончится обработка не ранее чем через ξ1.

Для i = 2:

A(σ1) = A(σo)+a2 ;

B(σ1) = max(A(σ1),B(σ0)) + b2

C(σ1) = max(B(σ1),C(σ0)) + c2

δA1= A(σ1) +Σ ai + min (bi + ci), по всем i ≠1;

δB1= B(σ1) +Σ bi + min ci , по всем i ≠1;

δC1= C(σ1) +Σ ci , по всем i ≠1.

Найдем maxξ2.

Аналогично вычисляем для других подмножеств.

Теперь можно сказать, какое подмножество на данном этапе является наиболее перспективным .

Все вычисления удобно проводить в такой таблице:

σk

A(σk)

B(σk)

C(σk)

ξk

δAk

δBk

δCk

Перспективным является множество 1.

Разбиваем это множество возможных последовательностей обработки на подмножества. В этих подмножествах все последовательности начинаются деталью № 1, а вторые детали у них разные из оставшихся (кроме №1). После вычислений и сравнения оценок множеств получим перспективное множество (последовательность деталей σ2={1,2}, последовательность обработки, начинающаяся деталями 1,2). И так далее. После выполнения последовательности из четырех шагов , получаем оптимальную последовательность обработки деталей:

σ5*={3,4,1,2}с наименьшим временем обработки 43 часа.

т тттттттттттт

Варианты задачи Джонсона о трех станках: