スタートページ> Web教材一覧> オペレーションズリサーチ
ジョブスケジューリングとは、複数のジョブ(加工処理)、a、b、c・・・を複数の機械、X、Y、Z・・・で加工するとき、どのような順序で行えば、全体の処理時間を最小にできるかというような問題を取り扱う技法です。
すべてのジョブが、X→Y→Zの順で処理するように作業順序が一定の場合をフローショップ型といい、個々のジョブで順序が異なる場合をジョブショップ型、処理順序が指定されていない場合をオープンショップ型といいます。
一般的に、ジョブスケジュールの問題は、組み合わせの問題になり、短時間で計算する適切なアルゴリズムはないのですが、機械が2つの場合、フローショップ型ではジョンソンの方法、ジョブショップ型ではジャクソンの方法があります。
ジョンソンの方法は、機械が2台のフローショップ型のジョブスケジュールの最適解の一つを得る方法です。
●例題
5つのジョブa、b、c、d、eは、2つの機械XとYで、X→Yの順序で加工される。各々の加工時間が下表のように与えられているとき、全作業が完了するまでの時間を最小にするには、a~eをどの順序で行えばよいか。
X Y
a 4 7 単位(分)
b 5 5
c 7 4
d 7 2
e 3 6
いくつかを例示すると次の図になります。
a→b→c→d→eの順 32分
0 5 10 15 20 25 30 32
├────┼────┼────┼────┼────┼────┼─┤
│
│ a b c d e
X ┝━━━╋━━━━╋━━━━━━╋━━━━━━╋━━┫
│
│ a b c d e
Y │ ┣━━━━━━╋━━━━╋━━━┫ ┣━┫┣━━━━━┫
│
e→a→b→c→dの順 28分
0 5 10 15 20 25 28
├────┼────┼────┼────┼────┼──┤
│
│ e a b c d
X ┝━━╋━━━╋━━━━╋━━━━━━╋━━━━━━┫
│
│ e a b c d
Y │ ┣━━━━━╋━━━━━━╋━━━━╋━━━┫┣━┫
│
●解法
ジョンソンの方法は、次のステップで、最適解を求めます。
上の例題を、これに従って解いてみましょう。
(注)場合によっては、X(Y)に複数の最小値が存在することがあります。その場合は、どちらを選んでもよいのですが、
Xの場合は、Yが小さいほうのジョブを先頭にする
Yの場合は、Xが大きいほうのジョブを最後にする
のが適切です。
このように、ジョンソンの方法は、一つの最適解を得ることはできますが、これ以外にも最適解がある場合もあります。例えば、e→a→c→b→dでも28分になります。
機械が3台以上のときには一般的な解法はないのですが、
max(Yでの加工時間)≦min(Xでの加工時間)
max(Yでの加工時間)≦min(Zでの加工時間)
のいずれかの条件が満足される場合には、
α=X+Y、β=Z+Y
という仮想機械を想定して、2機械でのジョンソンの方法を適用することができます。
X Y Z α=X+Y β=Z+Y
a 6 1 8 7=6+1 9=8+1
b 8 4 4 12=8+4 8=4+4
c 2 2 7 4=2+2 9=2+7
d 8 3 6 11=8+3 9=3+6
左表の場合では、
max(Yでの加工時間)=max(1,4,2,3)=4
min(Xでの加工時間)=min(6,8,2,8)=2
min(Zでの加工時間)=min(8,4,7,6)=4
なので、
max(Yでの加工時間)≦min(Xでの加工時間)は成立しないが、
max(Yでの加工時間)≦min(Zでの加工時間)は成立する
ので、上表の右のように変形することにより、ジャクソンの方法が使えます。
●練習問題
X Y Z
a 8 2 6
b 8 3 7
c 6 4 11
d 9 6 10
e 4 5 8
(解答)
maxY(2,3,4,6,5)=6
minZ(6,7,11,10,8)=6
ジャクソンの方法が使える
α β
a 10 8
b 11 10
c 10 15
d 14 16
e 9 13
全体の最小値=8(a,β) ?→?→?→?→a
a以外の最小値=9(e,α) e→?→?→?→a
a、e以外の最小値=10(b,β)または(c,α) e→c→?→b→a
結果として、 e→c→d→b→a
ジャクソンの方法は、機械が2台のジョブショップ型のジョブスケジュールの最適解の一つを得る方法です。
●例題
ジョブa~lは、2つの機械XとYで加工される。その順序と加工時間が下表のように与えられているとき、全作業が完了するまでの時間を最小にするには、どの順序で行えばよいか。
X 順序 Y
a 2 ← 1 単位(分)
b 2 → 1
c 1
d 4 → 3
e 1 ← 2
●解法
ジャクソンの方法は、次のステップで、最適解を求めます。
これをガントチャートにすると、図のように、完了時間は10分になります。
0 1 2 3 4 5 6 7 8 9 10
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│
│ d b c a e
X ┝━━━━━━━╋━━━╋━╋━━━╋━┫
│
│a e d b
Y ┝━╋━━━┫ ┣━━━━━╋━┫
│
●練習問題
X 順序 Y
a 6 → 7
b 8 ← 5
c 7 → 4
d 6
e 4 ← 8
(解答)
GX :なし
GY :d
GXY:a,c a→c
GYX:b,e b→e
X:a→c→b→e
Y:b→e→d→a→c