“米国の大学生向けの教科書”に書いてあること

「Asprova解体新書」から見えてきたAsprovaの致命的欠陥。それは、一般的な生産ラインでは、必ず起きる“待ち行列現象”を考慮に入れていないことではないか。と言いながらも、ちょっと、ひっかかるものがあります。13ページにある記述です。

米国の大学生向けの教科書的な本は、「生産スケジューリングは絶対に無理なのでやめるように」と明言している。

著者は、米国では「生産スケジューラは絶対に無理」だと言われていることをご存知だったんですね。そして、さらに、

米国はその後、生産スケジューラの失敗の後遺症から立ち直っていない。しかし、現在のテクノロジーなら可能なのかもしれない。

と。

現在のテクノロジーなら可能なのかもしれない

著者はどんな可能性を思い浮かべているのでしょうか。この文脈から推察すると「米国の大学生向けの教科書的な本」に手がかりみたいなものが書いてあるのでは? どんなことが書いてあるのか、気になりだしました。実はこの本、心当たりがあるんです。たぶん、これしかないかな、と思う本が。

書名;FACTORY PHYSICS
著者;Wallace J. Hopp、Mark L. Spearman
出版社;Waveland Press,Inc.
Amazonでみる

B5サイズで700ページ。ぎっしり書いてあります。1990年、Northwestern大学のMaster of Management in Manufacturingで本格的に使い始めたようです。今回は、第15章 Production Scheduling(516p~552p)辺りにどんなことが書いてあるか、覗いてみましょう。

はじめに、少し、補足しておきます。第15章では、生産スケジューリングを生産方式、ジョブの流し方、人間の経験則などなど、様々な角度から多面的に捉えています。ここでは、コンピュータによる生産スケジューリングに的を絞って考察してみたいと思います。そのために、初めに、生産スケジューラ(コンピュータ)の機能、役割を確認しておきます。

生産スケジューラに期待される機能としては、
① 工場(企業)の利益向上のため、生産リードタイム、工程仕掛、稼働率などの最適なバランスを提示する →目標を達成する最適スケジュールの生成
② それを実現するための具体的なスケジュール(作業者・機械などの開始・完了時刻)を生成する →実行可能なスケジュールの生成

とします。


第15章の初めで、スケジューリング研究の歴史を振り返っています。本書から引用します(要約)。

実務としてのスケジューリングは生産と同じぐらい古いが、研究としては1900年代初めの科学的管理法の動きまでさかのぼる。しかしスケジューリング問題に本格的に取り組み始めたのは1950~1960年代にコンピュータが現れてからである。

MRP,MRPII,and ERPについての記述があります。

コンピュータが使われ始めたのはMRPあたりから。MRPの特徴は、

 1、リードタイムは部材に結び付けられ、生産現場の状態には無関係。生産能力は無限。
 2、過剰在庫より仕事遅れの防止を重視し、リードタイムはひとつ。そのため、リードタイムが長くなりやすい。投入を早めて、待ち行列が長くなり、サイクルタイムが長くなる。

MRPの単純なモデルでは有効な結果は出せないことがわかると、スケジューリングの研究者や実務者はMRPIIそしてさらにERPを志向するようになる。JITに傾く者もいた。しかしながら大部分のスケジューリング研究者は、オペレーションリサーチの領域で数理的体系化を目指した。

スケジューリングの数理問題を解く条件を次のように単純化しています。

1、すべてのジョブは問題の初めに準備ができている(すなわち、処理が始まる前にジョブは到着している)。
2、処理時間は決定している
3、処理時間はスケジュールの影響は受けない(つまり、段取りはない)
4、機械は絶対に故障しない
5、優先使用はなし(すなわち、一旦、ジョブ処理が始まったら、中断なく終わらなければならない)
6、ジョブのキャンセルはなし


現実は次のようになっています。

1、常に2台以上の機械がある。従って、生産リードタイムを最短にするジョンソンのアルゴリズムやその他の派生アルゴリズムは直接役に立たない。
2、処理時間や需要はバラツク。ランダムなバラツキは生産システムに多大な渋滞を生じさせる。これを無視すれば、スケジューリング理論は非現実的な動きをベースにすることになる。
3、課題の前提条件となるジョブの準備が整っていない。工場が稼働している間、新しいジョブは入り続ける。工場を“からっぽ”にしてから新しいジョブを始める、という条件などは現実的ではない。
4、処理時間は時には順序依存性がある。段取り回数はジョブの順序に依存する。似たような部分のあるジョブは段取りを共通にできるが似ていないジョブはできない。これはボトルネック工程のスケジューリングでは重要。


つまり、生産スケジューリングを生成する数理モデルの条件と現実の生産ラインの状態には、根本的な違いがある、ということです。最も重要な違いを2つ挙げておきます。

*処理時間のバラツキ
様々な要因で処理時間はバラツキます。ところが、生産スケジューラの条件では、「処理時間は決定」していますので、矛盾します。

*需要発生のバラツキ
工場には常に新しいオーダー(ジョブ)が入り続けます。予めどのようなジョブが来るかきめられませんが、生産スケジューラでは、「処理が始まる前にどのようなジョブを処理するかわかっている」という条件です。これも矛盾します。

この違いが生産スケジューリングの機能にどのような影響を与えるのか、考えてみます。

ひとつ目の「目標を達成する最適スケジュール」を生成することはできるかをみてみます。
数理的条件で考えてみます。機械1台で25種類のジョブを処理するとします。組み合わせは、25!。25の階乗です。エクセルで計算したら、
15,511,210,043,331,000,000,000,000
と出ました。すごい数ですね。ビックリマーク(!)の意味がわかります。スーパーコンピュータ富岳の計算スピードが41.5京回/秒 だそうです。チェックするプログラムってどんなのかわかりませんが、単純に割り算すると、433日かかることに、、。現実の工場には、機械は数台、数十台ありますので、数理モデルで最適解をもとめるのは、“不可能”ですね。(NP困難問題)

実際はさらに、“処理時間のバラツキ”と“需要発生のバラツキ”があります。仮に上記の計算が数日で済んだとしても、処理を実行するときは、条件が変わっていて、最適解の意味はまったくなくなってしまいます。

結論は次のようになります。
「生産スケジューラが目標達成のための最適スケジュールを生成することは“不可能”である」

次に、二つ目の機能について検討します。

実行可能なスケジュール

ひとつ目の「目標を達成する最適スケジュール」を生成することは不可能ですが、“まぁまぁ”のスケジュールを生成することはできます(後述)。問題は、それに従って実行できるかどうか。

ある時、工場で処理する「オーダー(ジョッブ)」とそれらの処理時間を決めます。その決められた数値でスケジュールが生成されます。現実は、新しいオーダーがランダムに入り続け、処理時間もバラツキます。“まぁまぁ”のスケジュールでも、できるだけ高い稼働率を狙います。すると、その工程では、処理時間の数倍の待ち時間が生じてしまいます。この待ち時間を挽回することはできません。累積され、後ろの工程になればなるほど、処理開始時刻がどんどん遅れることになります。

「スケジュールでは昨日の午前9:00から始めることになっていたジョブが今日の午後3:00にやっと着いた」、なんていうことが頻発することになります。

結論は次のようになります。
「実行可能なスケジュールを生成することはできない」
あるいは、
「生産スケジューラから出力されるスケジュールに従って作業を行うことはできない」

このような結論となるわけですが、Factory Physicsでは、これに対する解決策も提案しています。どんなものか、みてみます。

先ず、生産方式の改善で対処するアプローチはお馴染みです。例えば、「フォード生産方式」。コンベヤーに台車を等間隔に投入することで「需要発生のバラツキ」をなくします。生産車種はT型1車種、作業を分業してコンベヤーに沿って人を配置して「処理時間のバラツキ」をなくします。この考えを多車種生産に広げたのがトヨタ生産方式。ただ、トヨタ生産方式のようにバラツキがなくなると(小さくなると)、ジョブは等間隔(サイクルタイム)で流れてきますので、生産スケジューラが出力するような細かなスケジュールは不要になります。

その他、小さな改善も含めれば数え切れないほどの方式が提案されています。

では、「処理時間のバラツキ」も「需要発生のバラツキ」も扱えない生産スケジューラではどのような改善策があるのでしょうか。大きく2つあるようです。

ひとつ目は、「処理時間のバラツキ」や「需要発生のバラツキ」の少ない生産方式と生産スケジューラの組み合わせです。バラツキを扱えない生産スケジューラでもバラツキが小さくなれば、使える可能性は出てきます。第15章では“動的管理”としてCONWIPと生産スケジューラの組み合わせが紹介されています。

動的管理:システムの物理的特性を利用することで、リスケジューリングすることなく、需要や生産能力のランダムな変化に対応できる動的管理ができる。動的管理の一例は統計的スループット管理(STC)とフレキシブルなキャパシティバッファー(例えばシフトの追加)のあるCONWIPである。生産ラインの長期的生産量に影響のない小さなランダムなゆらぎがあっても一切、調整はしない。さらに、このようなシステムは、予定よりも生産能力が大きいときは“前倒し生産”となる。これを詳細なスケジュールで行うことは難しい。

もうひとつは、“ヒューリスティック(Heuristic)”。発見的という意味だそうですが、分かりにくいですね。試行錯誤とか経験則と言った方がわかりやすい。論理的ではなく、必ずしも“最適解”ではないが、まぁまぁの答えとなる、ということのようです。

実際、生産スケジューラがHeuristicを使っているのは“NP困難問題”に対しです。AsprovaではGreedy AlgorithmというHeuristicを使っているようです。

実行不可能なスケジュールでも現場作業監督者は作業者に指示を出さなければなりません。新参者にはできません。試行錯誤の経験則(Heuristic)が物言うところです。

しかし、問題としている「処理時間のバラツキ」と「需要発生のバラツキ」を固定値しか扱えない生産スケジューラで処理しなければならないという矛盾をHeuristicなアプローチで改善できるか、というと、答えは、明らかに“否”。

ということで、Factory Physicsが示す、スケジューリング問題に対する解決策は、すべて周辺(生産方式とか)の条件を変えるもので、2点の対立を解消するものではありません。

従って、Factory Physicsが示す生産スケジューラの機能についての結論は次のようになります。

「生産スケジューラが目標達成のための最適スケジュールを生成することは“不可能”である」
「実行可能なスケジュールを生成することはできない」


著者は「生産スケジューラは絶対に無理」の意味を理解しているのでしょうか、、。それは失礼ですね。ちゃんと理解してますよね。

と、すると、「現在のテクノロジーなら可能なのかもしれない」と宣う著者は、Factory Physicsも気が付いていない「生産スケジューラ・起死回生の秘策」を持っているのではないか。「Asprova解体新書」をもう一度、見直してみたいと思います。

DPM研究舎

コメントを残す