生産計画

カウンター by  SOHO COUNTER

生産計画とは、いくつかの組立工場を持つ工場が、各工場での部品の生産量と、どの工場で組み立てた部品をどの工場にどれくらい送るか、あるいはどの小売店にどれくらい卸すかという、生産と輸送の計画を建て、生産と輸送にかかるコストをなるべく小さくしようというものです。まずは、簡単な例を見てみましょう。

生産1.gif (7236 バイト)

四国に工場1、東北に工場2、合わせて2つの工場を持ち、札幌・東京・大阪・福岡の小売店(それぞれ、小売店1,2,3,4) に品物を卸しているメーカーがあるとします。各小売店での売上高はわかっているとします。それと、各工場で1つの品物を作るときにかかるコストと、各工場から各小売店に品物を1つ運ぶときにかかる運送費がわかっているとします。あと、各工場では、生産できる品物の上限、それと、最低これだけは作らないといけない下限があります。このとき、どの工場でどれだけ品物を作り、どこの小売店へどれくらい運ぶと、もっとも低コストになるか、その生産量と輸送経路を最適化する問題が生産計画になります。これは、生産計画とよばれるもののなかで、もっとも単純なものです。

この例では、東北工場での生産コストがちょっと高めだとすると、最適な計画は次の図のようになります。

生産2.gif (5598 バイト)

生産計画は、基本的に、線形計画という問題の1例になっているので、線形計画を解くいいソフトがあれば、大きな問題、つまり、工場が500ぐらいある場合でも最適な計画が瞬く間に求められます。どうしてこの問題が線形計画になるのか、以下で少し解説しようと思います。数式が嫌いな人は、次の絵のところまで読み飛ばしてください。

さて、この問題を数学的に表してみましょう。まず、工場 1,2 での生産コストを c1,c2、生産量を y1, y2 とします。工場 i から小売店 j への輸送コストを cij、輸送量を xij とします。コストはわかってますから、y1,y2 と各 xij をどのように設定するとコストが最小になるか、それを求めよう、という問題です。工場 1 での生産量 y1 を決めると、品物を y1 個作るコストは c1 × y1、同様に生産量y2 を決めると、コストは c2 × y2 になります。輸送量もそうで、輸送量 xij を決めると、コストは cij × xij となります。ですので、生産量と輸送量を決めると、そのコストは

    Σ ci × yi  +  Σ cij × xij

になります。この値が最小になるように、y1, y2, xij を決めてあげればよいわけです。

さて、y1, y2, xij を決めるときには、守らなければいけない条件があります。まず、工場の生産量。各工場には生産量の上下限があります。工場 1 では最低 1000 個、最大で 2000個の製品しか作れないので、y1 は

  1000  ≦  y1  ≦  2000

という制約条件を満たす必要があります。同様に y2 も  1500 ≦ y2 ≦ 3000 という制約条件を満たさなければなりません。各工場での生産量と、出荷量は一致している必要があります。そうでなければ、品物不足になるか、余剰が発生します。出荷量は、その工場から各小売店への輸送量の合計なので、

    y1   =   Σ x1j

という制約条件を満たす必要があります。y2 も  y2   =    Σ x2j という制約条件を満たさなければなりません。

各小売店への入荷量も、その小売店での売り上げと一致している必要があります。ですので、例えば札幌の小売店ならば、

   500  =  x11  +  x21

という制約条件を満たす必要があります。あと、生産量、輸送量はマイナスの数、つまり負になってはいけない、という条件があります。まとめると、y1, y2, xij は

  1000  ≦  y1  ≦  2000    ,     1500 ≦ y2 ≦ 3000

    y1   =   Σ x1j          ,            y2   =    Σ x2j

500 = x11 + x21,   1500 = x12 + x22,  800 = x13 + x23,  700 = x14 + x24 

              y1, y2, xij ≧ 0

という制約条件を満たさなければならない、ということになります。

このような制約条件を満たす中で、y1,y2,xij を最大にする問題、これは線形計画問題になります。線形計画問題は、シンプレックス法という方法を使ったプログラムを使うと、短時間で答えが得られることがわかっています。生産計画の場合、だいたい、工場が50、小売店が5000くらいの問題でしたら、最近のパソコンを使って1分程度で最適な解を得ることができます。

下の図にあるような生産計画の複雑なバージョンでは、上の例の条件に加えて、他の工場からいくつかの部品を運び込み、そこで製品を組み立てる工場がある場合、輸送手段がいくつかある場合、また、いくつかの期間に分けて生産を行うような場合(各期での輸送・生産コストや売上高が変化する)にも対応できます。このバージョンの問題も、線形計画のソフトを使って、それなりですが、短時間で解けます。工場100、小売も1000、期間が30くらいでしたら、家庭用のパソコンでも1時間くらいで最適な計画が見つかると思います。

生産3.gif (14163 バイト)

少し、この例について解説をしておきましょう。この例で取り上げたのは、部品2つとケース1つを組合せ製品を作るメーカーの問題です。各期に中間工場に届く部品とケースの数は2対1になるようにし、また、各期での小売店への入荷量と売上高は一致する必要があります。輸送手段はトラックと船があり、船のほうが安いが、輸送に2期かかる、というような制約条件をつけています。

より複雑な制約やコストを考えようとすると、生産計画は線形計画では解けなくなります。例えば、輸送コストはコンテナ1つにつきいくらで、中に何個品物が入っていようが関係ない、とか、工場は、生産量の上下限を守るか、または休業にしたい、などの制約です。このような問題は、非線形計画、あるいは組合せ最適化問題になりますので、正確に解くのはほぼ不可能になります。近似解法などを用いて、なるべく最適解に近い解を見つける、というアプローチがとられています。

生産計画はコンピューターで求めた解が比較的現実に即したものである、という性質があります。また、生産計画は通常大規模な問題になり、人間が直感や手計算で最適解を得ることはほぼ不可能である、ということもわかっています。ですので、コンピューターのソフトで解けば、比較的使い物になる計画が、比較的短時間で簡単に手に入ります。生産計画の導入により、1割程度は経費の削減ができたという報告もあります。年間の生産・輸送コストが10億かかる企業であれば、導入により1億程度の経費の削減にチャレンジできるわけです。最適化を行うということが、企業活動にとっていかに大きな可能性を秘めているかがわかっていただけると思います。

 

 宇野毅明のホームページへ          情報学研究所のホームページへ