聞き流しラボby kufu-yaWebテキストNEW
中小企業診断士 1次試験

7科目を、聞き流しで一周する。

企業経営理論から中小企業政策まで、1次試験の論点を科目別の講義動画にまとめています。過去問の解説も1問ずつそろえています。

科目別の講義動画過去問完全解説ファイナルペーパーメンバーシップ
診断士 聞き流しラボ

スケジューリング『ジョンソン法・ディスパッチング法』

運営管理 第43回

運営管理・生産計画 00712分16秒2026年2月23日公開

「あなたが念願のカスタムTシャツショップを開いたと想像してみてください。デザインをプリントする機械と梱包する機械が1台ずつ。初日から注文が殺到します。A社は10枚、B社は1枚だけ特急、C社は50枚の大口案件。さあ、どの順番でTシャツを作りますか?」。動画はこんな問いかけから始まります。このページでは動画の流れにそって、ジョブショップ型とフローショップ型、ディスパッチング法、ジョンソン法、ガントチャートをまとめました。動画に数字の例はないので、計算の確認用に作例(補足)も付けています。まず動画を聞いて、あとからここで復習するのがおすすめです。

まず「型」を見分ける:ジョブショップ型とフローショップ型

スケジューリングは、たくさんの仕事(ジョブ)を、どの順番で、どの機械に割り当てるかを決める計画です。順番しだいで、工場の利益から残業時間まで変わります。ただし、手法を選ぶ前に、まず仕事の「型」を見分けます。動画はTシャツショップを例に、2つの型に分けます。

項目ジョブ
ショップ
フロー
ショップ
例1枚ずつ違うデザインを作るTシャツ屋、オーダーメイドの家具屋同じデザインを何百枚も作る、自動車の組立てライン
量多種少量生産少種多量生産
機械の配置穴開け・塗装など機能別。加工の順番も時間も製品ごとに違う工程順に並ぶ(ベルトコンベアのよう)。全ジョブが同じ順に流れる
計画その場のルール=ディスパッチング法事前に計算=ジョンソン法
まず仕事の「型」を見分けるジョブショップ型多種少量加工順がジョブごとに違う機械は機能別に配置フローショップ型少種多量全ジョブが同じ順に流れる機械は工程順に配置ディスパッチング法その場でルールに従うジョンソン法事前に最適順序を計算
型によって、使う道具が変わります。

(補足:JIS Z 8141(2001年版)も、生産形態の「加工品の流れ」として、フロー型・ジョブショップ型などを挙げています。)

ディスパッチング法:山の中から「次の1つ」を選ぶルール

次に何が来るかわからないジョブショップ型では、事前に完璧な計画を立てられません。そこで、機械の前に溜まった仕事(待ちジョブ)を見て、ルールに従って次に手をつける仕事をその都度決めます。これがディスパッチング法です。動画が挙げる代表的な規則は3つです。

規則優先するもの強みと弱み
先着順(FCFS)来た順最も公平でシンプル
処理時間順(SPT)作業時間が一番短い仕事平均の待ち時間を減らせる。大口の仕事が飢餓状態になるおそれ
納期順(EDD)納期が一番近い仕事顧客満足は高めやすい

短い仕事からどんどん片付ければ、完了した仕事の数が増えて気持ちよさそうです。でも、時間のかかる大口の仕事がいつまでも後回しになって、大事なお客さんを怒らせませんか。

鋭い指摘です。それがこれらのルールのトレードオフなんです。処理時間順は平均の待ち時間を減らしますが、大きな仕事が飢餓状態になる。納期順は顧客満足を守れても、工場全体の処理能力は落ちるかもしれない。

どれが絶対に正しい、というわけではないんですね。公平さか、効率か、顧客満足か。

経営判断そのものです。だから現場では、ルールを組み合わせたり、状況で切り替えたりします。

(補足:呼び名の違い。JIS Z 8141:2001(2001年版。以下のJISの記述も同じ)は「ディスパッチングルール」を「待ちジョブのなかから、次に優先して加工するジョブを決めるための規則」と定義し、先着順規則・最小作業時間規則・最早納期規則・最小スラック規則などを代表例に挙げます。動画の「処理時間順」はJISでは最小作業時間、「納期順」は最早納期にあたります。「差立て」は、JISでは、ある機械でジョブの加工が終わったとき次に加工すべきジョブを決めて指示する活動(作業手配ともいう)で、ディスパッチングは、この判断をルール化したものと考えると整理できます。「優先順位規則」といった別の呼び方の資料もありえますが、今回確認できた資料では確かめられていません。JIS Z 8141は2022年に改正されていますが、改正版の本文は確認できていません。)

(補足:動画にない2つの規則。最小スラック規則は、スラック=納期までの残り時間−残りの処理時間が小さい、つまり余裕のない仕事を先にします。クリティカルレシオ(CR)は、(納期−現在時刻)÷残りの処理時間が最小の仕事を先にします。1より小さいと、このまま始めても遅れる見込みです。時間とともに値が変わるので、優先順位が入れ替わる動的な規則です。JIS Z 8141:2001に載るのは最小スラック規則までで、CRは載っていません(2022年の改正版は本文を確認できていません)。)

数字で比べる(補足):5つのジョブを並べてみる

動画に数字は出てきません。そこで、規則の違いが見えるよう作例を用意し、Pythonで検算しました。1台の機械の前に5つのジョブが時刻0に待っています(単位は時間)。

ジョブ処理時間納期スラック
A92213
B781
C330
D51914
E21311

順序を比べる評価指標は4つです。

  • 平均流れ時間:仕事が着いてから終わるまでの時間の平均。今回は全部時刻0に着くので、完了時刻の平均です。
  • 納期遅れ:完了時刻−納期(早ければ0とする)。その平均が平均納期遅れ、最大が最大遅れ。
  • 遅れ件数:納期に間に合わなかったジョブの数。
  • 総所要時間:全部が終わるまでの時間(メイクスパン)。この例は1台だけなので、どの順でも26時間で変わりません。
規則と順序平均流れ平均遅れ遅れ件数
先着順
ABCDE
18.88.44
処理時間順
ECDBA
12.03.03
納期順
CBEDA
13.61.22
スラック順
CBEAD
14.41.82
CR順
CBAED
15.83.43
処理時間順 E→C→D→B→A(平均流れ12.0)EC+2DB+9A+4納期順 C→B→E→D→A(最大遅れ4)CB+2EDA+40510152025時間
赤い棒が納期に遅れた仕事、数字は遅れ時間です。

平均流れ時間は処理時間順が最小(12.0)です。納期順は流れ時間では少し劣りますが、遅れは小さく、最大遅れも4時間にとどまります。処理時間順は、納期が8時間後のBが後ろに回され、9時間遅れます。CR順は、時刻0でC(1.0)、3でB(0.71)、10でA(1.33)、19でE(−3.0)と、時刻ごとに値を計算し直して選んだ結果です。遅れ件数だけを減らすなら、長い仕事を最後に回します(C→E→D→A→Bで1件。ただしBは18時間遅れ)。目的しだいで、よい規則が違います。

(補足:総当たり120通りで確かめると、平均流れ12.0の最小は処理時間順、最大遅れ4の最小は納期順でした。平均遅れも納期順が最小でしたが、これは今回の数字での結果です。納期順が一般に最小にするのは最大遅れです。また、動画は納期順で処理能力が落ちるかもと言いますが、今回のように1台で段取り替えもなければ、順番で全部の終わる時刻は変わりません。変わるのは、どの仕事がいつ終わるかです。)

ジョンソン法:2工程の総所要時間を最小にする

フローショップ型は、全ジョブが同じ工程順に流れるので、事前に計算で最適順序を出せます。有名なのがジョンソン法で、全ジョブが第1工程→第2工程の2工程を通るとき、全部が終わるまでの総所要時間(メイクスパン)を最小にします。手順は意外に単純です。

  • 全ジョブ×2工程の作業時間の中から、最短のものを1つ見つける。
  • それが第1工程の作業なら、そのジョブを先頭に置く。
  • それが第2工程の作業なら、そのジョブを末尾に置く。
  • 置いたジョブを除いて、残りで同じことをくり返す。

順番を先頭から詰めるのでなく、外側から内側へ埋めていくのが特徴です。作例で追ってみます。Tシャツの注文が5件あり、第1工程が印刷、第2工程が梱包です(単位は時間)。

注文印刷梱包
A36
B72
C44
D53
E35
先頭末尾A②E④C⑤D③B①①最短は2(Bの梱包)→ 末尾に置く②次は3(Aの印刷)→ 先頭に置く③同じ3(Dの梱包)→ 後ろから2番目④同じ3(Eの印刷)→ 先頭側の2番目⑤残りのCを→ 真ん中に入れる
外側から内側へ、順番を埋めていきます。

結果は A→E→C→D→B で、総所要時間は24時間です。注文順(A→B→C→D→E)なら27時間かかります。120通りを総当たりしても、24時間より短い順序はありません。

梱包が短い仕事を最後に回すのは、損をしているように見えます。なぜそれで最短になるんですか。

狙いは機械の待ち時間を減らすことです。印刷が短い仕事を先に出せば、すぐ梱包に渡せて、梱包機が手持ち無沙汰になりません。梱包が短い仕事を最後に回せば、印刷が終わったあと、梱包機がすぐ終えられて、最後に詰まらないんです。

仕事の速さではなく、工程から工程への流れの滞りをなくすんですね。

(補足:総所要時間は、第2工程の作業時間の合計+第2工程の待ち時間です。作例では、20+4=24。つまり第2工程の待ちを減らすことが、総所要時間を最小にすることです。「第1工程の短い順に並べるだけ」では足りません。たとえばP(2,1)・Q(3,4)は、P→Qだと9時間、ジョンソン法のQ→Pだと8時間です。)

(補足:同値の扱い。最短が同じ値で複数あるときは、どれから選んでも最適になります。確認できた大学資料とWikipediaは、どちらも「適当に順序づける」としています。作例では3が3つ並ぶので、選び方によって、A→E→C→D→B も E→A→C→D→B も出ますが、どちらも24時間です。印刷と梱包が同じ時間のC(4,4)は、先頭側に入れても末尾側に入れても同じです。選択肢には、同値の置き方で並びが違うものが並ぶことがあるので、順序でなく総所要時間で見ましょう。診断士のテキストごとの同値の扱いは確認できていません。)

(補足:3工程でも、第1工程か第3工程の最小時間が第2工程の最大時間以上なら、「第1+第2」「第2+第3」の2工程に直して適用できます。資料により、条件の書き方に差があります。)

ガントチャートで、総所要時間と待ち時間を読む

ジョンソン法で順序が出ても、アルファベットの羅列にすぎません。それを誰もが一目で分かるようにするのがガントチャートです。縦軸に機械や作業、横軸に時間を取り、各作業がいつ始まりいつ終わるかを棒で表します。2台の機械がどの時間にどの仕事をしているか、どちらかの機械が待つ遊休時間がどこに出るかが、視覚的にわかります。

ジョンソン法 A→E→C→D→B:24時間印刷梱包AAEECCDDBB待ち0510152025注文順 A→B→C→D→E:27時間印刷梱包AABBCCDDEE待ち待ち0510152025
赤い枠の空白が「待ち(遊休)」です。右端が総所要時間。

読み方はこうです。総所要時間は、第2工程の最後の棒の右端(24)。待ち時間は、棒のない空白です。梱包は0〜3で、最初の注文が印刷されるのを待ち、21〜22でも待ちます。印刷は22〜24で梱包の終了を待ちます。2台の待ちの合計は6時間で、2×24−(22+20)と計算でも出ます。注文順は27時間で、待ちの合計は12時間です。順序の違いが、そのまま待ちの差に見えます。

ただし、動画はガントチャートの弱点も挙げます。①「この作業が終わらないと、次の作業を始められない」という作業どうしの依存関係を示すのが苦手です。インクの発注が遅れるとプリントを始められなくても、棒は別々に描かれるだけです。②遅れが全体に響く作業の連なり、つまりクリティカルパスがどれかを見分けにくい。だから、何百ものタスクが絡む大規模プロジェクトには向きません。

ガントチャートは、全体を見渡す地図としては最高だけど、タスクどうしをつなぐナビ機能は弱い、という感じでしょうか。

非常にうまい例えです。計算で最適順序を出すツールと、それを目に見える形にして共有するツール。両方あって初めて、現場はスムーズに動けます。

(補足:依存関係と最長の経路を扱う道具が、PERT・アローダイヤグラムです。別の回で見ます。)

動画の最後の問い:隠れた依存関係はありませんか

旅行の計画には、航空券の予約、ホテルの予約、休暇の申請があります。休暇が承認されなければ予約はできません。この依存関係を意識せず、先に返金不可の航空券を買えばぞっとします。締め切り日だけでタスクを並べていないか、見直してみましょう。

試験での出方(補足)

過去問では、計算が中心

  • 出題形:2工程フローショップで、メイクスパンを最小にする順序を選ぶ(令和元年度 問9)。ジョンソン法の順序での2台の機械の非稼働時間の合計を求める(令和7年度 問6)。工程間の運搬時間1時間つきで、投入順序ごとの総所要時間を比べる(令和5年度再試験 問3)。
  • 解く順:①ジョンソン法で順序を決める→②ガントチャートで総所要時間を出す→③待ち(非稼働)は、2×総所要時間−全作業時間の合計。
  • 用語:メイクスパン=総所要時間(出題によって呼び方が違う)。ジョブショップ=ディスパッチング、フローショップ=ジョンソン法。

(過去問は問題文のみ確認しました。表の数値や正解は、公式の問題で確かめてください。)

まとめ

  • 仕事の型で手法が変わる。ジョブショップ型はディスパッチング法(その場でルール)、フローショップ型はジョンソン法(事前に計算)。
  • ディスパッチングの代表は、先着順・処理時間順・納期順。公平さ・効率・顧客満足のトレードオフで、目的しだいで選ぶ。
  • ジョンソン法は、最短の作業が第1工程なら先頭、第2工程なら末尾に置くのをくり返し、2工程の総所要時間(メイクスパン)を最小にする。
  • ガントチャートは計画を絵にして、総所要時間と待ち時間が見える。ただし依存関係とクリティカルパスは見えにくい。
LISTEN

動画で聞く

NEXT

続けて読む