2014年11月3日月曜日

Moore and Hodgson Algorithmって、これ実装してますとはなかなか公言しづらいよね

少数のお客様に多大な納期遅れを集中させることにより大多数のお客様を納期遅れにしない手法。

各種のジョブ順序決定法の比較と演習
http://www.oit.ac.jp/dim/~honiden/Exercise/Scheduling/Sch_3.pdf
http://www.mi.s.osakafu-u.ac.jp/~hojo/lecture/jugyo7.pdf
http://www.mi.s.osakafu-u.ac.jp/~hojo/lecture/jugyo8-ans.pdf

ちなみに、より多くのお客様に納期遅れを薄く広げるのは、このサンプルによれば単純EDD法。

貴女はどちらを選びますか?

(もちろん、納期遅れを発生させないマネジメントをするべきですが)

Which method should 
I implement in our system?

生産計画法について勉強中…

誰もが必要とすることなのに、意外と、決め手となる理論や解法はなく、みんな苦労してるんだなぁ、というのが率直な感想。
自社ではどうする、も含めてメモってみた。

○APS=Advanced Planning and Scheduling(事実上、生産スケジューラのマーケティング用語)

http://monoist.atmarkit.co.jp/mn/articles/0901/23/news132_2.html
オーダーが出発点(インプット)だからプル生産向き
cf. MRPは材料供給と同期して製造指示をリリースする考え方が根底にあるから、プル型の製造工程コントロールとは折り合いが悪い

○生産座席予約

http://www2.odn.ne.jp/scheduling/SCM/Onepoin6.html#label00004
ラフカット能力計画に基づく将来の生産能力(capaticy)を、各時刻に対して、いくつかの基本モデルベースについて「この基本モデルベースからできる最終製品をご発注の場合には何個できる」という数量換算(時間でなく)の形で社外に開示し、それに対して「予約」という法的にあいまい(日本的)なアポを受け付ける。その予約をもとに最終製品品目を確定させ生産計画をアウトプットする。
cf. MRP IIのATP(Available to Promise)では逆に、最終製品生産計画をもとに、引き合いに対し数量・納期回答する。生産能力を社外に開示しない。

○作業負荷のフォワード展開

http://ci.nii.ac.jp/els/110003423442.pdf?id=ART0003956455&type=pdf&lang=jp&host=cinii&order_no=&ppv_type=0&lang_sw=&no=1414977177&cp=
時刻0(現在)から始まる各時点について順に、最遅開始時刻(工程が1つしかない仕事の場合には、納期から所要時間を引いた時刻=最小slack法だろう)が最も早い作業を優先して割り当てるようスケジュールしていく。(PERT山崩し法=PERT/Manpower)
ある時点において、もし割り当てることができる作業がなければ、1つ後の時刻について同様の操作を繰り返す。
cf. 納期が最も早い作業を優先するD.DATE法

○作業負荷のバックワード展開

フォワード展開の逆のアルゴリズムで良いのだろう:
工程が1つしかない仕事の場合:
すべての仕事の納期のうち最も遅い納期時刻tmaxから遡る各時点について順に、納期が最も遅い仕事を優先して割り当てていく。
ある時点において、もし割り当てることができる作業がなければ、1つ前の時刻について同様の操作を繰り返す。
結果、いずれかの仕事の開始時刻がその入稿時刻か現在より前と算出された場合、その仕事はこのままでは納期に間に合わないことを意味する。

○納期回答法

既存のすべての仕事をバックワード展開で割り当てたのち、問い合わせの仕事をフォワード展開でそこへ追加割り当てし、その算出された終了時刻を回答納期とする。