第2章 生産の管理
下の動画はこの節の解説ではありません。 解説動画の雰囲気を知っていただくための見本として、「JITシステム」の動画を再生します。
この節の解説動画はプレミアム限定です。プレミアムなら全科目・全節が見放題!
プレミアムで見るスケジューリングは、どの仕事をいつ始めて、いつ終わらせるのかを決める仕事です。運営管理のなかでも計算問題がいちばん濃い分野で、ジョンソン法・ディスパッチングルール・PERT・CPMは、ほぼ毎年どれかが出ます。反対にいえば、手順さえ身体で覚えてしまえば確実に取れる場所でもあります。この節では、設例を最後まで解ききる形で、計算の型を1つずつ手に入れていきます。
簡単にいうと
計画には粗さのちがう3つの層があります。年単位のざっくりした計画、月単位の部門別計画、そして明日の作業指示。この3層が噛み合って初めて、現場は動きます。
生産計画は「生産量と生産時期とに関する計画」(JIS Z 8141-3302)と定義され、その備考で大日程計画・中日程計画・小日程計画の3つに分けられるとされています。同じ「計画」という言葉でも、期間の長さと対象の粗さがまるで違います。
| 計画の種類 | おおよその計画期間 | 計画対象 | 決めること |
|---|---|---|---|
| 大日程計画 | 6か月〜2年 | 全工場・全製品 | 月別の生産量。日程のマスターになる長期計画 |
| 中日程計画 | 1〜3か月 | 部門 | 大日程計画にもとづく部門別の生産予定 |
| 小日程計画 | 1〜10日 |
具体例
自動車メーカーの例で3層を並べてみましょう。
納期が決まっている受注品では、バックワードで組むのが基本です。「12月20日納品なら、検査に2日、組立に5日、部品調達に10日かかるから、遅くとも12月3日には部品を発注していないと間に合わない」という具合に、後ろから逆算していきます。

生産計画の階層と日程計画
試験のポイント
簡単にいうと
工程が2つだけの工場で、5つの仕事をどの順で流せば全部が最短で終わるか。これを紙の上で解けるようにしたのがジョンソン法です。ルールは「一番短い作業を探して、前工程なら前へ、後工程なら後ろへ」。それだけです。
フローショップとは、すべてのジョブについて行うべき作業が似ていて、その作業順序に沿って機械が並べられている多段階の生産システムをいいます。全部のジョブが機械配置に沿って一方向に流れるので、考えるべきは「どのジョブから流すか」という投入順序だけになります。
ジョンソン法は、2段階の工程に複数の生産オーダーが出ているとき、全体の作業期間が最短になる順序を求める古典的な方法です。手順は次のとおりです。
1. すべての作業(全ジョブ×全工程)のなかから、処理時間が最も短いものを1つ選ぶ
2. その作業が前工程(工程1)のものなら、そのジョブをできるだけ前の順序に置く
3. その作業が後工程(工程2)
簡単にいうと
ジョブごとに回る順番がバラバラなジョブショップでは、全体の最適解を出すのは現実的ではありません。そこで「機械が空いたとき、待っているどれを次にやるか」というその場のルールで回します。これがディスパッチングルールです。
ジョブショップは、機械設備の利用順序が異なる多数のジョブを扱う工場・生産形態です。ジョブごとに通るルートが違うので、流れは複雑に錯綜します。ジョブの数と機械の数が増えると組み合わせが爆発的に増えるため、最適なスケジュールを求めることはフローショップに比べてずっと難しくなります。
そこで実務では、全体最適をあきらめて「機械が空いたその瞬間に、待ち行列のどれを選ぶか」という局所的な規則で運用します。これがディスパッチングルールで、「待ちジョブのなかから、次に処理する仕事を決めるための規則」(JIS Z 8141-3314)と定義されます。
| ルール名 | 英語 | 優先するジョブ |
|---|---|---|
簡単にいうと
工場の生産だけでなく、新工場の立ち上げや新製品の開発のように「一度きりの大仕事」を段取るための道具がPERTです。作業の前後関係を矢印の図にして、全体像を一目で見えるようにします。
PERT(Program Evaluation and Review Technique)は、順序関係のある複数のアクティビティ(作業)で構成されるプロジェクトを能率よく実行するためのスケジューリング手法です。アローダイアグラムという表記法で、作業の全体像を図に表します。
アローダイアグラムは「プロジェクトを構成している各作業を矢線で表し、作業間の先行関係に従って結合し、プロジェクトの開始と完了を表すノードを追加したネットワーク図」(JIS Z 8141-3315)と定義されます。
| 図の要素 | 表すもの | 別名 |
|---|---|---|
| ノード(○) |
簡単にいうと
アローダイアグラムが描けたら、次は数字を入れていきます。左から足していくのが最早、右から引いていくのが最遅。迷ったら「早いほうは大きい値を採る、遅いほうは小さい値を採る」と覚えてください。
最早結合点時刻は最早着手日(EPST:Earliest Possible Start Time)ともいい、そのノードから出る次の作業を、最も早ければいつ始められるかを表します。
計算はプロジェクトの最初のノード(図の左端)から順に、アクティビティの始点側の最早結合点時刻に、そのアクティビティの所要時間を加算して、終点側の最早結合点時刻を求めます。
大きいほうを採るのは、そのノードから先に進むには流れ込んでくる作業がすべて終わっていなければならないからです。一番遅く終わる作業を待つしかありません。
簡単にいうと
全部の作業を平等に見張る必要はありません。1日でも遅れたらプロジェクト全体が遅れる経路が必ずあり、そこだけを重点的に見ればよい。その経路がクリティカルパスです。
クリティカルパスは「アローダイアグラム上でプロジェクトの所要日数を決定付ける作業の経路」(JIS Z 8141-3315)と定義されます。開始から完了までにはいくつもの経路がありますが、そのうち所要日数が最長の経路がクリティカルパスです。
この経路上の作業は余裕がまったくありません。1日でも遅れれば、その分そのままプロジェクト全体の完了が遅れます。逆にいえば、ここだけは重点的に管理しなければならない、ということです。
① すべての経路の所要日数を足して比べる
経路の数が少ないうちは、これがいちばん確実です。
② 最早結合点時刻と最遅結合点時刻が等しいノードをたどる
余裕0のノードがクリティカルパス上のノードです。それらを結んだ作業群がクリティカルパスになります。経路が多いときはこちらが速いので、両方できるようにしておくと安心です。
簡単にいうと
「あと3日早められないか」と言われたとき、どの作業にお金をかけるのが一番安上がりか。それを詰めるのがCPMです。ポイントは、クリティカルパス上を縮めること、そして縮めた結果クリティカルパスが乗り換わることです。
CPM(Critical Path Method:クリティカルパスメソッド)は、最小の投下費用で最大の期間短縮を実現する策を検討する方法です。最もお金をかけずに期間を短縮できる作業を見つけ出し、求められる工期を達成しようとします。
考え方の骨格は次の3つです。
1. まずクリティカルパス上の作業で期間短縮を考える
2. そのなかで短縮費用が最も経済的な作業を見つけて短縮する
3. 要求されるプロジェクト全体の期間になるまで、これを繰り返す
動画・テキスト・過去問・AI添削まですべて網羅!
予備校代の1/10以下で、独学の不安をまるごと解決できます
| 日々の作業予定 |
計画期間や計画対象は、企業の生産環境によって変わります。「6か月〜2年だから大日程」と丸暗記するより、対象が全工場なのか、部門なのか、人と機械なのかで見分けるほうが確実です。
日程計画では、製品や部品の生産量と、各作業の開始・完了時期を決めていきます。その決め方には、時間軸のどちらから攻めるかで2つの流儀があります。
| 方式 | 起点 | 進む向き | 分かること |
|---|---|---|---|
| フォワードスケジューリング | 着手予定日 | 工程順序に沿って前から | 最も早い完了日 |
| バックワードスケジューリング | 完成予定日・納期 | 工程順序とは逆向きに後ろから | 各作業の最も遅い着手日 |
フォワードは「今から目一杯詰めたらいつ終わるか」、バックワードは「納期に間に合わせるには遅くともいつ始めればよいか」を教えてくれます。実務では両方を突き合わせ、その差(余裕)がどれだけあるかを見ます。余裕がマイナスなら、そもそも納期に無理があるということです。
4. 順序が決まったジョブを候補から外し、残りで1〜3を繰り返す
「短い前工程は先に流して後工程を早く動かし始める」「短い後工程は最後に回して後工程の手待ちを減らす」という理屈です。最短のものが同じ時間で並んだ場合は、どちらを先に処理しても総所要時間は同じになります。
順序が決まったら、ガントチャート(横軸に時間、縦軸に工程をとった棒グラフ)を描いて総所要時間を読み取ります。ここで気をつけたいのは、工程2は「そのジョブの工程1が終わっている」かつ「工程2が空いている」の両方が満たされて初めて着手できるという点です。機械的に足し算するのではなく、遅いほうに合わせて開始時刻が決まります。
具体例
設例を最後まで解いてみましょう。5つのジョブがすべて工程1→工程2の順に処理されます。
| ジョブ | 工程1(時間) | 工程2(時間) |
|---|---|---|
| J1 | 4 | 5 |
| J2 | 6 | 5 |
| J3 | 6 | 7 |
| J4 | 3 | 2 |
| J5 | 4 | 3 |
順序を決める
求められた順序は J1 → J3 → J2 → J5 → J4 です。
ガントチャートで総所要時間を出す
| ジョブ | 工程1 開始→終了 | 工程2 開始→終了 |
|---|---|---|
| J1 | 0 → 4 | 4 → 9 |
| J3 | 4 → 10 | 10 → 17 |
| J2 | 10 → 16 | 17 → 22 |
| J5 | 16 → 20 | 22 → 25 |
| J4 | 20 → 23 | 25 → 27 |
最後のJ4が工程2を終えるのが27時間後なので、総所要時間は27です。
J3の工程2に注目してください。J3の工程1は10時間後に終わっていますが、工程2ではJ1の作業が9時間後まで続いています。したがってJ3の工程2は、遅いほうである10時間後から始まります。このように「前の工程が終わった時刻」と「その機械が空く時刻」の遅いほうが開始時刻になる、という読み方が計算の肝です。

フローショップ・スケジューリング(ジョンソン法)
試験のポイント
| 先着順規則(FCFS) |
| First Come First Served |
| 機械に先に到着したジョブ |
| 最小作業時間規則(SPT) | Shortest Processing Time First | その機械での加工時間が最小のジョブ |
| 最長作業時間規則(LPT) | Longest Processing Time First | その機械での加工時間が最長のジョブ |
| 最早納期規則(EDD) | Earliest Due-date First | 納期が最も迫っているジョブ |
| 最小スラック規則 | Minimum Slack First | 納期に対する余裕が最小のジョブ |
スラックは納期までの余裕時間のことで、次の式で計算します。
納期までまだ日があっても、残りの加工が山ほどあればスラックは小さくなります。単に納期の早さだけを見るEDDより、仕事量まで織り込んだ見方だといえます。
どのルールが良いかは、何を良くしたいかで変わります。
なお、ディスパッチング法はジョブショップ専用の道具ではなく、待ち行列が生じる場面なら他にも応用できます。
具体例
2機械のジョブショップの設例を、LPT(最長作業時間)ルールで解いてみます。
| ジョブ | 機械1 | 機械2 | 作業順序 |
|---|---|---|---|
| ジョブ1 | 6 | 6 | 機械1 → 機械2 |
| ジョブ2 | 5 | 5 | 機械1 → 機械2 |
| ジョブ3 | 4 | 4 | 機械2 → 機械1 |
| ジョブ4 | 3 | 3 | 機械2 → 機械1 |
LPTなので、それぞれの機械で「待っているなかで作業時間が最長のもの」を選びます。
時間軸に並べるとこうなります。
| 機械 | 0〜 | |||
|---|---|---|---|---|
| 機械1 | ジョブ1(0-6) | ジョブ2(6-11) | ジョブ3(11-15) | ジョブ4(15-18) |
| 機械2 | ジョブ3(0-4) | ジョブ4(4-7) | ジョブ1(7-13) | ジョブ2(13-18) |
総所要時間は18となります。2台の機械が最初から最後までほぼ空きなく埋まっていることが読み取れます。

ジョブショップ・スケジューリング(ディスパッチングルール)(1)

ジョブショップ・スケジューリング(ディスパッチングルール)(2)
試験のポイント
| 作業の区切り目 |
| 結合点、イベント |
| アクティビティ(→) | 作業そのもの。矢線の上に名前、下に所要時間を書く | 作業 |
| ダミー作業(破線→) | 所要時間0の見せかけの作業 | ダミーアロー |
1. あるノードに複数の先行作業が入ってくる場合は、それらがすべて完了してから、そのノードから出る作業が始められる
2. 同じノードとノードのあいだに複数のアクティビティを並べて描くことはできない。作業時間0のダミー作業で分ける
① 作業の並行を避けるため
同じ先行作業(たとえばA)と同じ後続作業(D)をもつ複数の作業(B、C)があると、BとCがまったく同じノードのあいだを結んでしまい、図の上で区別できません。そこで一方の終点ノードを分けて、そこからダミー作業を引いて合流させます。
② 正しい順序関係を表すため
次のような作業一覧を考えます。
| 作業名 | 先行作業 |
|---|---|
| A | − |
| B | − |
| C | A |
| D | A、B |
AとBの終点を同じノードにまとめてしまうと、そこから出るCの先行作業までAとBの両方になってしまいます。Cの先行はAだけなので、これは誤りです。そこでAとBの終点ノードを分け、Aの終点からBの終点へダミー作業を引きます。こうするとDの先行はAとBの両方、Cの先行はAだけ、という関係を正しく表せます。
1. 作業とその期間の情報を整理して一覧表にする
2. 一覧表をもとにノードとアクティビティでネットワーク図を描く
3. 各アクティビティに所要期間を書き込む
4. 最早結合点時刻(最早着手日)を記入する
5. 最遅結合点時刻(最遅着手日)を記入する
6. クリティカルパスを確認する
具体例
ダミー作業の要否は、作業一覧表を見た時点でだいたい判断できます。チェックの勘どころは次の2つです。
試験では「このプロジェクトのアローダイアグラムを作成するにはダミーが何本必要か」と直接聞かれることがあります。一覧表の先行作業の欄を縦に眺めて、同じ組み合わせや包含関係を探す、という手順を決めておくと迷いません。

PERTとアローダイアグラムの描き方(1)

PERTとアローダイアグラムの描き方(2)
試験のポイント
最遅結合点時刻は最遅着手日(LPST:Latest Possible Start Time)ともいい、プロジェクト全体を遅らせないために、遅くともいつまでに次の作業へ着手しなければならないかを表します。
計算はプロジェクトの最後のノード(図の右端)から逆に、アクティビティの終点側の最遅結合点時刻から、そのアクティビティの所要時間を減算して、始点側の最遅結合点時刻を求めます。
小さいほうを採るのは、そのノードから出ていく作業のうち最も余裕のないものに合わせなければ、全体が遅れてしまうからです。
| 進む向き | 計算 | 候補が複数のとき | |
|---|---|---|---|
| 最早結合点時刻 | 左から右へ | 加算 | 大きいほうを採る |
| 最遅結合点時刻 | 右から左へ | 減算 | 小さいほうを採る |
ノードごとに、最早を上、最遅を下に2段で書き込んでいくと整理しやすくなります。その差が、そのノードの余裕です。
具体例
次の設例を最後まで計算してみましょう。作業一覧は次のとおりです。
| 作業名 | 先行作業 | 期間(日) |
|---|---|---|
| A | なし | 5 |
| B | なし | 5 |
| C | A | 2 |
| D | A | 3 |
| E | B | 6 |
| F | B | 1 |
| G | C | 4 |
| H | D、E | 6 |
| I | F | 4 |
ノードは、①開始、②Aの完了、③Bの完了、④Cの完了、⑤DとEの完了、⑥Fの完了、⑦全体の完了、の7つになります。
最早結合点時刻(左から加算、合流は大きいほう)
ノード⑤が11になるのは、そこから出ていくHがDとEの両方の完了を待つためです。Dは8日後に終わっていても、Eが終わるのは11日後。Hは11日後からしか始められません。
最遅結合点時刻(右から減算、分岐は小さいほう)

最早結合点時刻と最遅結合点時刻の計算(1)

最早結合点時刻と最遅結合点時刻の計算(2)
試験のポイント
なお、クリティカルパスは1本とは限りません。同じ所要日数の経路が複数あれば、それらすべてがクリティカルパスになります。この場合、1本だけ短縮しても全体は縮まりません。
具体例
先ほどの設例(作業A〜I)で、すべての経路の所要日数を出してみます。
| 経路 | 計算 | 所要日数 |
|---|---|---|
| A → C → G | 5 + 2 + 4 | 11日 |
| A → D → H | 5 + 3 + 6 | 14日 |
| B → E → H | 5 + 6 + 6 | 17日 |
| B → F → I | 5 + 1 + 4 | 10日 |
最長は17日の B → E → H で、これがクリティカルパスです。プロジェクト全体の所要日数も17日になります。
もう一つの見つけ方でも確かめてみましょう。最早と最遅が一致するノードを拾うと、①(0・0)、③(5・5)、⑤(11・11)、⑦(17・17)です。①→③はB、③→⑤はE、⑤→⑦はH。やはり B → E → H が出てきました。
一方、ノード④は最早7・最遅13で6日間の余裕があります。つまりCやGが多少遅れても全体には響きません。現場の管理者が毎朝いちばんに確認すべきなのは、CやGの進み具合ではなく、B・E・Hが予定どおり進んでいるかということになります。

クリティカルパス
試験のポイント
3つ目が試験でいちばん狙われるところです。「作業Eを4日短縮すれば工期は4日縮む」と反射的に答えると外します。短縮後にもう一度すべての経路を計算し直す、という手順を必ず踏んでください。
具体例
先ほどのプロジェクト(全体17日、クリティカルパスはB→E→H)について、次の3つの案が出てきたとします。
| 案 | 内容 | 費用 |
|---|---|---|
| ① | 作業Aを4日短縮する | 20万円 |
| ② | 作業Eを4日短縮する | 30万円 |
| ③ | 作業Hを3日短縮する | 25万円 |
①は効果ゼロです。Aはクリティカルパス上にないので、4日縮めても全体の17日は変わりません。
②は30万円で3日の短縮にとどまります。Eを6日から2日に縮めると、B→E→Hは5+2+6=13日になりますが、そのときA→D→Hが5+3+6=14日となり、クリティカルパスがA→D→Hに乗り換わって全体は14日で止まります。4日短縮したのに、全体は3日しか縮みません。1日あたり7万5千円の計算です。
③は25万円で3日の短縮です。Hを6日から3日に縮めると、B→E→Hは5+6+3=14日、A→D→Hは5+3+3=11日、A→C→Gは11日、B→F→Iは10日となり、全体は14日になります。②と同じ3日の短縮を5万円安く実現できるので、③が最も費用対効果が高いという結論になります。
次のプロジェクトで、最短のプロジェクト遂行期間を達成するときの最小費用を考えます。
| 作業名 | 先行作業 | 所要期間 | 最短所要期間 | 単位当たり短縮費用 |
|---|---|---|---|---|
| A | − | 5 | 5 | − |
| B | A | 4 | 3 | 90万円 |
| C | A | 5 | 2 | 50万円 |
手順1:最短所要期間でアローダイアグラムを描く
全作業を限界まで縮めたとき、経路は A→B→D が 5+3+3=11日、A→C→D が 5+2+3=10日。したがって最短のプロジェクト遂行期間は11日です。
手順2:クリティカルパスを見つける
11日を決めているのは A→B→D です。
手順3:クリティカルパス以外の作業の余裕を確かめる
ここが勝負どころです。Cはクリティカルパス上にないので、限界の2日まで縮める必要がありません。A→C→D が 11日以内に収まればよいので、5+C+3 ≦ 11、つまりCは3日まで縮めれば十分です。余計に1日縮めても工期は変わらないのに、50万円だけ余計にかかってしまいます。
手順4:必要短縮期間×単位当たり短縮費用を合計する
| 作業名 | 所要期間 ① | 最短所要期間 ② | 必要短縮期間 ③=①−② | 単位当たり短縮費用 ④ | 短縮費用 ⑤=③×④ |
|---|---|---|---|---|---|
| A | 5 | 5 | − | − | − |
| B | 4 | 3 | 1 | 90万円 | 90万円 |
| C | 5 |
答えは790万円です。Cを最短の2日まで縮めて計算すると840万円になってしまいます。「クリティカルパス以外は、必要な分だけ縮めればよい」という手順3を飛ばさないことが、この問題を落とさないための唯一のコツです。

CPMによる最小コストでの期間短縮
試験のポイント
プレミアムプラン
¥9,800〜/ 買い切り・自動更新なし(税込)
決済はStripe(世界最高水準・PCI-DSS準拠)で安全に処理されます。カード情報は当サービスに保存されません。
ノード②が8になる理由を押さえておきましょう。仮に11日後にCとDを始めると、Dは3日かかるのでHの着手が14日後になり、プロジェクト全体が20日に伸びてしまいます。全体を17日に収めたいなら、②は遅くとも8日後でなければなりません。
こうして各ノードに2つの数字が入ると、余裕の大小がひと目で分かります。たとえばノード④は最早7・最遅13なので6日間の余裕、ノード③は最早5・最遅5なので余裕0です。
| B、C |
| 8 |
| 3 |
| 120万円 |
| 3 |
| 2 |
| 50万円 |
| 100万円 |
| D | 8 | 3 | 5 | 120万円 | 600万円 |
| 計 | 790万円 |