Asprovaの本音解説;見えてきた生産スケジューラの本性

ここ数カ月、生産スケジューラについて考えています。先ず初めに、Asprovaの会長さんが書いた「Asprova解体新書」をまな板に乗せ、好奇心、疑い、批判、期待、、など、入り混じった思いで斬ってみました。生産スケジューラに特有な誇大広告的説明に“うんざり”しながらも、厚化粧の下にある素肌もみえてきました。Asprovaだけか、、。日本には生産スケジューラベンダは他にもたくさんあります。Flexscheも調べてみました。美辞麗句の宣伝文句満載というあたりはAsprovaとさほど変わりはありません。

実は、今回、生産スケジューラについて調べようと思った直接の切っ掛けは、1年半ほど前の2019年11月中頃、Asprovaより販売代理店募集の案内が届いたことです。日頃、疑問に思っていることを聞いてみるチャンスだと思い、いろいろと質問してみました。メールのやり取りで(11月中旬~12月末)、結構、正直ベースで応えていただきましたので、“すっぴん”の生産スケジューラの姿をみれるかもしれません。生産スケジューラに興味のお持ちの方には、参考になるのではないかと思います。

=== 以下、メール交換実録 ===

黒字;私(佐々木)
→Asprova(上村義孝コンサルタント部長)
_CC受信者;高橋邦芳会長、田中智弘社長、藤井賢一郎副社長

赤茶色;Asprova→私
[Kenichiro Fujii様、2019/11/17]

ご案内、ありがとうございます。資料、拝読させていただきました。質問がございます。ご教示頂ければ幸いです。

<質問>スケジューリングのとき、生産ラインや工程(機械、設備、人)の稼働率が所要時間に及ぼす影響をどのように考慮しているのでしょうか。

[佐々木様へ、2019/11/17]

いつもお世話になっております。アスプローバ社のコンサルタントの上村(カミムラ)と申します。

ご連絡ありがとうございます。下記のご質問にご回答させて頂きます。

(回答)稼働率が何によって影響するかによって設定方法が異なりますが下記の設定方法が可能です。

1. チョコ停など設備の稼働率に影響する場合は、各機械、設備にそれぞれ製造効率(稼働率)を設定できます。

2. 新規品目や特定の難易度の高いオーダによって稼働率に影響する場合は、品目やオーダに製造効率を設定できます。

・・・・・・・・(中略)・・・・・・・

10. 材料の欠品でライン停止やチョコ停が発生し稼働率に影響する場合、材料があるオーダを優先してスケジュールする事でライン停止やチョコ停を削減して稼働率の差異を少なくする事が可能です。

~~~~~~

[上村 義孝様、2019/11/18]

丁寧にお答えいただきましてありがとうございます。様々な変動要因を取り入れてスケジューリングできることがわかりました。

そのような変動(バラツキ)がスケジュールにどのように反映されるのか、について知りたいと思っております。ポイントを共有したいと思いますので、次のような事例で質問させてください。

生産ラインの途中のひとつの工程に注目します。その工程の正味平均加工時間は30分で標準偏差5分のバラツキがあります。稼働時間は8時間(480分)/日で、工程の加工能力は16個/日です。ある週(5日間)の生産個数は50個(平均10個/日、稼働率62.5%)、別の週は75個の生産が予定されています(稼働率93.8%)。前工程から流れてくる時間間隔の平均はそれぞれ48分(480÷10)、32分(480÷15)ですが、バラツキがありその変動係数はどちらも0.3とします。

このとき、どのようなスケジュールになるか、ご教示頂けると助かります。不足の条件等ありましたら、追加してください。

[佐々木様へ、2019/11/18]

下記、ご回答致します。

さて、下記の条件であれば週の稼働率が今週が62.5%と翌週が93.8%とあらかじめわかっているのであれば週単位の設備の稼働率をそれぞれ62.5%と93.8%と設定する事で今週50個と翌週75個のスケジュールを立てる事ができます。添付のイメージをご確認ください。PSI表のProductAの生産を見ると今週1日10個、翌週1日15個の生産になっている事が確認できます。また、前工程と後工程の在庫状況をPSIや在庫グラフで確認できます。但し、一般的には各週の稼働率をあらかじめわからないと思いますのでAsprovaでは日産何個では無く、品目毎の1個当たりの製造時間を設定し品目毎の生産時間のバラツキや受注の内容による段取替えの回数や生産順番によるネック工程の待ち時間などを含めてスケジュールする事で実際に1日50個生産できるのか、75個生産できるのかを各設備に対して秒単位に山崩しして割り付ける事で算出します。あと、日産の生産数はスケジュールロジックによっても異なります。例えば、同一品目をまとめて生産すれば段取が少なくなり日産の生産数は多くなりますが、在庫数も増える事となります。また、納期通りにまとめずに生産すれば在庫は少なくなりますが段取りが増え日産の生産数は減少する事になるなど計画パラメータの調整によっても日産の生産数に影響します。従って、Asprovaは納期遅れが無いように残業を入力するなど、いろいと条件を変えながらシミュレーションできるソフトウェアとなります。

~~~~~~

[上村 義孝様、2019/11/19]

ご説明ありがとうございます。

「Asprovaでは日産何個では無く、品目毎の1個当たりの製造時間を設定し品目毎の生産時間のバラツキ、、、、(中略)、、、、各設備に対して秒単位に山崩しして割り付ける事で算出します。」

とのことですので、次のように質問をさせてください。

#####

注文は1個ずつランダムな時間間隔で入ります。製造工程はひとつとします。平均製造時間は30分/個、バラツキは標準偏差;5分。工程正味稼働時間は8時間(480分)/日。工程前の仕掛はなし。段取り時間、処理順の制約もなし。

1、このとき、受注(=工程への投入)~完成までの時間はどうなりますか。(秒単位で計算されているようですので、秒単位で出てくるのでしょうか)

2、平均10個/日の注文がある日と15個/日の注文がある日で、受注~完成までの時間は同じですか? 変わりますか?

#####

[佐々木様へ、2019/11/19]

さて、下記の件ですが、Asprovaは注文を登録してからスケジュールする事となります。従って、製造時間に変わりが無ければ受注してから完成までの時間は同じになります。Asprovaでは平均製造時間が30分/個であればどの注文も30分で計算されます。また、バラツキの標準偏差は、1カ月を見れば平均値に落ち着くのであれば、Asprovaは製造時間×平均稼働率で計算します。また、バラツキにより出荷が滞る事を考える場合は、標準偏差分を安全在庫として登録する事でバラツキによる生産数分の差を埋める事となります。あと、Asprvoaは需要予測のソフトでは無いので受注オーダを生成する事はありません。従って、例えば、EDIでランダムに入って来る注文に対してすぐに出荷できるようにスケジュールする場合は、一般的には営業のフォーキャストを登録して、それを元に見込みでスケジュールし、実際の受注を引き当てて行く事となります。

~~~~~~

[上村 義孝様、2019/11/19]

不躾な質問をして失礼いたしました。最近のスケジューラの機能を知りたかったもんですから、、、。気が付いた点、コメントさせて下さい。

処理時間(加工、組み立て、調整、、)や投入時間間隔にバラツキがあるとき、稼働率によって、待ち時間の長さが大きく影響を受けます。待ち時間は工程がビジーで非処理物が待っている時間と非処理物がなくて工程が手空き状態の時間の合計です。待ち時間がどのくらいになるかは、待ち行列理論に詳しく書いてあります。よく知られている式は、

待ち時間=ρ/{μ(1-ρ)}

ρは稼働率、μはサービス率(単位時間の処理数)

グラフを描いてみればわかりますが、稼働率が70%~80%付近から、待ち時間は急激に長くなります。μ=1、ρ=0.9で待ち時間は9となります。処理時間が1時間で、90%の稼働率なら待ち時間が9時間で、製造時間は10時間となることを意味します。10時間は平均値で、それにバラツキが加わりますので、影響はさらに大きくなると思います。

もうひとつ、厄介なことは、多くの場合稼働率は70%より80%、80%より90%と高い方を狙いますが、そうすると待ち時間が急激に長くなる不安定領域に入り、生産現場が混乱するきっかけとなることです。生産性向上を狙い、稼働率を上げようとすると生産リードタイムが不安定になり、現場が混乱し、生産性を下げる。

生産スケジューラには、この“落とし穴”に入るのを防ぐセーフティガードが付いていなければならないと思います。“落とし穴”にはまっていることにも気づかず、奮闘している現場をよく目にします。

[佐々木様へ、2019/11/19]

そうですね。スケジューラ的には待ち時間については平均稼働率の差が待ち時間として出て来るのでネック工程を基準にバックワードでスケジュールするなどして待ち時間を削減するようなスケジュールを作成します。また、TOC的な考え方からすると待ち時間が発生する工程は全体のスループットを向上する要素にはならないのでスケジューラとしてはあまり着目していないかもしれません。スケジューラ的には如何に月産の生産効率を上げるかと言う観点てせ開発している部分がありネック工程の効率化に着目してスケジュールする事が多く、待ち時間が発生する工程はスケジュールしないケースもあります。弊社のスケジューラは作業指示を提示する事を目的としておりまして、待ち時間があるような工程はネック工程からの手番ずらして作業指示を機械的に提示している例もあります。

~~~~~~

[上村 義孝様、2019/11/21]

ご説明のポイントは次のようなことでしょうか。

  • 「生産効率を上げる」ために
  • 「ネック工程の効率化に着目してスケジュール」し、
  • 「スケジューラで作業指示を提示する」

TOCのDBRの考え方を利用しているようですが、これはあまりうまくいかなかったんです。うまくいかない理由をいくつか挙げますと、

①ボトルネックと非ボトルネック工程の識別が曖昧

②ラインバランスを上げようとすると、稼働率の高い工程(ボトルネック候補の工程)が複数個所出てくる。バラツキがあると(多くの場合、多かれ少なかれ、バラツキはあります)、ボトルネックが動き回るようになる。

・・・・・・・(中略)・・・・・・・

⑧ボトルネックや組み立て工程でのスケジューリングを止め、出荷スケジュールだけにしたS-DBR(Simplified-DBR)を発表。現在はほとんどがS-DBR。

⑨S-DBRは「計画負荷」という概念で時間設定をしますが、かなり大雑把で、簡単な生産ラインにしか適用できない。

ざっと、説明しますと、上記のようなことなんですが、最も致命的な欠陥は、

「DBRはバラツキを認めているにもかかわらず、バラツキを許容した時の、稼働率と待ち時間の関係を見落としている」ことです。

「生産ラインの能力はボトルネック工程の能力で決まる。だから、ボトルネック工程の能力を“100%”絞り出せ」

これが、TOC(DBR)の“教え”なんですが、稼働率が100%に近づくと待ち時間は指数関数的に長くなり、スケジューリングで最も重要な“実行可能性”が保てなくなります(作業指示機能が低下する)。

御社のご説明をお聞きしますと、同じような見落としがあるように感じますが、いかがでしょうか。

[佐々木様へ、2019/11/21]

いろいろとご指摘ありがとうございます。以下、ご回答いたします。

ご説明のポイントは次のようなことでしょうか。

回答)はい、下記の通りです。

「生産効率を上げる」ために

「ネック工程の効率化に着目してスケジュール」し、

「スケジューラで作業指示を提示する」

(回答)下記のご指摘ですがその通りだと思います。弊社のパッケージもまだまだ万能ではないので合う工場、合わない工場は存在すると考えています。従って、工場によってはネック工程を特定できる工場、ネック工程だけで計画できる工場、以下のような工場でも100点の計画では無いけれども一部の自動化でも効率化を実現できいる状況です。

また、ドラムバッファでは無いですが、前工程と後工程の最低、最大の待ち時間を設定し、一定時間以上空かないようにする事で対応する工場もあります。従って、工場毎に少しでも自動化して効率かできる部分が無いかを日々模索している状況です。また、ロジックを複雑にすればするほどパフォーマンスが悪くなる傾向があり、人が判断すれば早い部分とコンビュータで計算する方が早い部分などをうまく組み合わせてトータル的に効率化できたらと考えております。今後も少しづつ機能アップをしながら対応できる工場を増やしていきたいと考えておりますし、工場の改善に終わりが無いように弊社のパッケージも未熟な点は多々ありますが日々改善をしていきたい考えています。

~~~~~~

[上村 義孝様、2019/12/08]

別件で、ちょっと、間が空いてしまいました。ポイントは、「スケジューラで作業指示を提示する」ことにあるように思います。

生産工程では、

「処理時間にバラツキがある時、作業時刻は確率分布する」

「従って、作業時刻を固定値で決めることはできない」

「稼働率により待ち時間は大きく影響を受け、作業時刻の確率分布も大きく影響を受ける」

という特性があります。これは物理現象ですので、どのような生産工程でもみられます。

このような現象を抑制するためにはバラツキを減らせばいいわけですが、大部分のバラツキの原因は生産工程の外部にありますので、そう簡単にバラツキはなくなりません。

「スケジューラで作業指示を提示する」ことが可能な条件は、“バラツキがある範囲以下”であることが、“絶対条件“となりますが、スケジューラーの説明に、そのような条件はどこにも見当たりません。

「生産計画の変更に柔軟に対応でき」、、等の説明が散見されますが、誇大広告になっていませんか。

スケジューラーに関しては、ここ数十年、まったく進歩していませんね。AI、IoT、、等、情報技術が進歩しているのに、相も変わらず「スケジューラで作業指示を提示する」という、非現実的な前提条件に固執しているのは、なぜなんでしょうか?

根本的に考え方を変える時期に来ているんじゃないでしょうか。

[佐々木様へ、2019/12/09]

そうですね。その意味では根本的には変わっていないですね。なかなかスケジュールで算出

した作業指示通りに作業させるのは難しい状況です。現状は、まだまだスケジュール条件や

スピード面で解決で出来ていない部分も多く根本的な改善には至っていない状況です。まずはバラツキの前に最初の段階で実際の作業に近くなる必要があり最適化と言う点での改善を図っています。遺伝子アルゴリズムなどで計画パラメータを調整するなどの取り組みは行っていますが、まだ、実用には至っていません。また、バラツキは外乱要因だけでなく人にも影響する部分がまだまだ多く、スケジュールで対応せず、逆に遅れている事を知らせて戻すような事をしているのが現状です。もし、戻せない時に再スケジュールするなどバッチ的な対応となっています。

AIについては、まだまだ、私どもではスケジューラに適用するのは難しく、現状はスケジューラのシミュレーション情報を元にAGVのルートを算出する部分に深層強化学習の適用を高専の教授と進めている状況です。

~~~~~~

[上村 義孝様、2019/12/10]

「スケジューラーは、ここ数十年、まったく進歩していない」理由がこの辺りにあるんじゃあないでしょうか。いろいろな改善をこれまでもやってこられたと思いますが、「根本的には変わっていない」ということですね。将来、変わる(進歩する)可能性はありますか?つまり、いま手掛けている課題(スケジュール条件やスピード面で解決)が解決出来たら、「根本的に異なる(進歩した)スケジューラー」はできますか?

バラツキがない条件でも工程数が多くなると最適解が求められない(NP困難)ことはよく知られた話です。遺伝子アルゴリズムなどの近似解手法を使って、実用的に使えそうな“まし”な答えが得られた、という話は聞いたことありますが、NP困難が解決されたという話は聞いたとこありません。そんな話があるのでしたら、ご教示頂ければ幸いです。

「最適化」というのもくせ者。“単位時間当たりの生産数量を最大にする”、“生産リードタイムを最短にする”、“優先通りにつくる”、、、など、最適条件がいろいろあって、工場、製品、時と場合、、等で、異なります。どうやって、「最適化」を定義するんでしょうか?

「バラツキは外乱要因だけでなく人にも影響する部分がまだまだ多く、スケジュールで対応せず、逆に遅れている事を知らせて戻すような事をしているのが現状です。もし、戻せない時に再スケジュールするなどバッチ的な対応となっています。」とのことですが、バラツキがある場合はスケジュールでの対応ができない、とおっしゃっているのでしょうか?

[佐々木様へ、2019 9/12/10]

さて、最適化については絶対的な最適化は無いので段取が少なくなるなどある程度さじ加減では無いですが、現時点では重みを付けて設定する事になると思います。この辺も研究中です。少しでも現在よりも効率化が良い計画が作成できないかと言う事で100点を目指せているわけではな無いと思います。

あと、バラツキについては、作業員が関わるケースや母数が少ないと必ずしも正規分布しないケースもありスケジューラで予め対応するのは難しいかもしれません。現時点であまりご要望が無い事もあり深く探求していないのが現状です。

~~~~~~

[上村 義孝様、2019/12/30]

いろいろと教えていただきまして、ありがとうございます。Webをググっていたら、下記のような説明がありました。よくみたら、御社のWebsiteのようです。

受注生産と見込生産の混合生産

Q: 工場の中で、受注生産品と見込生産品が混在して流れていますが、対応できますか?

A: 「受注・生産・購買のひも付け図」をご覧ください(前頁)。この中では、受注生産品をスケジュールすることもできますし、見込み生産品をスケジュールすることもできます。生産計画スケジューラは、受注生産品と見込生産品の混合状態をスケジュールすることもできます。以下のようなケースでも問題なく対処できます。

・ 見込み生産の中に、試作品が混合で生産される
・ 受注生産品に長納期購買品が使われる
・ 受注生産品に見込み生産の部品が使われる
・ 受注生産品と見込生産品に同じ部品が使われる
・見込み生産品が受注生産になった
・ 受注生産品が見込生産品になった

見込み生産と受注生産が混在した工場が多いのが実状です。生産計画スケジューラは、受注オーダ、製造オーダ、購買オーダをひも付けて、全体をスケジュールすることにより、受注生産、見込み生産などすべての生産形態を包含してスケジュールできます。

受注・見込みの混合生産を実現する上で、重要なことは、スケジュールが確定する順番は、受注、製造、購買の順とは限らないことです。購買が確定して、それが製造と出荷に影響することもあります。製造の一部が確定して、それが購買と出荷に影響を与えることもあります。実際、生産計画スケジューラは「受注・生産・購買のひも付け図」の中の受注、製造、購買、在庫がどのような順番で確定しても対応できます。この仕組みにより、生産計画スケジューラは、あらゆる生産形態、生産状況に適応できます。

「生産計画スケジューラは、あらゆる生産形態、生産状況に適応できます」
とあるんですが、これまでの上村様の説明から判断しますと、“ほんとかな?”って、疑ってしまうんですが、、。

一般の商品ですと、“あぁ~使っちゃいけない”、“こぉ~使ってはダメ”という注意書きがありますが、生産スケジューラはできないことまで“何でもできます”と、、。

[佐々木様へ、2019/12/30]

いろいろとご指摘ありがとうございます。

そうですね、できると言うと100%をイメージさせてしまうかも知れませんね。弊社は現実と理想の中間点でシステム化する事をお勧めしており100%を目指していないところはあるかもしれません。どんな業種でも生産計画は立ていますが完璧な計画は立てられていないので、少しでも計画業務を軽減する事を目指しています。従って、10%でも効果があればできると言っている面はあると思います。その意味では、導入前にプロトタイプを作成し、どの程度可能かをお客様に確認頂いてご購入を判断頂けるように努めています。

=== メール交換実録、おわり ===

いかがでしたでしょうか。ご参考になれば幸いです。


投稿日

カテゴリー:

投稿者:

タグ: