目次はこちらTOC(制約理論)は革新的なのか?


ここでMPRのスケジューリングのごく簡単な復習。生産計画すなわち生産すべき生産の数量と納期が決まった時、MRPでは部品構成表に基づいて、発注すべき部品の購入リードタイムと社内での生産リードタイムを元に、在庫数を考慮して、部品の必要時期と、製品の生産開始時期が導き出される。しかしこれは実際の稼動状況・能力を考慮していないので、CRPというものを実行する。(「実務においてCRPを実行するか、実行したほうが良いのか」ということとは別)。これは各製品の各工程の作業時間を決定された作業時期のタイムバケット毎に積み上げて(山積み)工程の能力をオーバーしていないかチェックし、オーバーしている部分を生産計画に違反しない範囲で前後に作業をずらす(山崩し)。

これでも解決できない場合は、最初の生産計画を修正して(注、何を修正するかは、人間に任されている)、再度MRPから回す(クローズドループMRP)。ここではMRPの場合、最初に生産のリードタイムと言う非現実的なものを仮定して計算をしているので、(CRP内の山積み・山崩しだけではなく、)クローズドループMRPが必要になっていることを確認していただきたい。「生産リードタイム」については後述。ここでは「MRPは稼働能力を考慮していない」ということを最低限頭に入れておいていただきたい。

さて上記のMRPの「問題点」は、「最初から稼働能力・稼動状況を考慮してスケジューリングすれば、一発で正しいスケジューリングが可能である」と考えれば解決できる。APS(Advanced Planning and Scheduling)やTOC(制約理論)は、この立場に立つ。これは考え方としては分かりやすいだろう。TOC(制約理論)は、この立場に立って、スケジューリングにおいて、さらに次の工夫を行う。

   1. ボトルネック工程を優先してEPSTでスケジューリングする。
   2. .ボトルネック工程前のバッファ分だけ前にずらして以前の工程をスケジューリングする。

ここで言うボトルネック工程は前述のCCRであると解釈していただきたい。1.はボトルネックを有効活用するという観点に立てば当然のことであると言える。EPSTは、Earlist Possible Start Timeの略で、できるだけ早く着手すること。逆はLatest Possible Start Time。ボトルネックはすなわち可能な限り早めにスケジューリングする。ボトルネック以外はLPSTでスケジューリングされる。熟練者が手作業でスケジューリングしている場合は、おそらくこのようにスケジューリングしているものと思われる。この場合のボトルネックの認識は人間の役目。

CCRとボトルネックの違いで説明したように、CCR・ボトルネックは全体の生産状況を見て初めて決定できるものである。優先してスケジューリングする工程を指定するためには、それがボトルネックだと判明していなければならない。これでは論理が循環して進めないので、APSやTOC(制約理論)のスケジューリングでは、実際の状況を見ながらボトルネックを判定している。そして再スケジューリングしているので内部的にはループを構成している。TOC(制約理論)はボトルネックを自動的に判定する点において優れていると言える。(TOC(制約理論)以外の)現実のスケジューラも、ボトルネックを認識する機能や優先してスケジューリングする工程を指定する機能を持っているが、しかしこのように論理として明示した功績は大きい思われる。

2.について。TOC(制約理論)では、ボトルネック前のバッファを時間で表す。これを仕掛在庫量で表すか時間で表すかは換算可能なので本質的ではないのだが、時間で表すことによって、スケジューリングに直接に用いることが可能となる。すなわち、ボトルネック直前の工程をバッファ分だけ前に終了するようにスケジューリングする。これで以前の工程のトラブルからボトルネックを保護すると言う具体的な保証が得られることになる。この利点はよくお分かりだろう。ただしTOC(制約理論) を標榜していなくても、このように工程前にバッファを定義できる生産管理パッケージが存在することは指摘しておく。

ここでバッファをボトルネック直前に集中配置した意義は明確だろう。集中配置していなければ、直前のバッファ以外は無駄な手待ちとして食いつぶされてしまう。

これらのスケジューリングロジックについては十分に評価できる。しかし、このように稼働能力・稼動状況を考慮したスケジューリングが現実にうまく動作するのかという問題がある。そして実は、これがかなり問題なのだが、本稿では「理論的なこと」に論点を絞っているので言及しない。