(57)【要約】【課題】複数の種類の製品の製造に用いられる複数の種類の部品を保管する倉庫などにおいて、最適な部品の配置を算出する。【解決手段】専用部品占有面積算出部２１は、製品の複数の種類それぞれについて、専用部品を棚に保管する際の占有面積を算出する。共用部品占有面積算出部２２は、共用部品を棚に保管する際の占有面積を算出する。棚内部品配置算出部２３は、複数の種類それぞれについての専用部品が一箇所にまとめて保管され、かつ、共用部品が一箇所にまとめて保管されるという制約条件のもと、棚の数が最小になる部品の配置を算出する。棚配置算出部２４は、複数の種類それぞれの製品を製造するために用いられる部品の出庫頻度と動線距離との積を出庫負荷とし、出庫負荷の合計が最小になる複数の棚の配置を算出する。【選択図】図５
2014034442.tif 000002
【特許請求の範囲】
【請求項１】
専用部品占有面積算出部と、共用部品占有面積算出部と、棚内部品配置算出部と、棚配置算出部とを有し、
上記専用部品占有面積算出部は、演算装置を用いて、製品の複数の種類それぞれについて、上記種類の製品の製造に用いられる部品のうち、上記種類以外の製品の製造には用いられない専用部品を棚に保管する際の占有面積を算出し、
上記共用部品占有面積算出部は、上記演算装置を用いて、上記複数の種類のうち少なくともいずれか２種類以上の製品の製造に用いられる共用部品を上記棚に保管する際の占有面積を算出し、
上記棚内部品配置算出部は、上記演算装置を用いて、上記専用部品占有面積算出部及び上記共用部品占有面積算出部が算出した占有面積に基づいて、上記複数の種類それぞれについて、上記種類についての上記専用部品が一箇所にまとめて保管され、かつ、上記共用部品が一箇所にまとめて保管されるという制約条件のもと、上記複数の種類の製品の製造に用いられる部品を保管するために用いられる棚の数が最小になる上記部品の配置を算出し、
上記棚配置算出部は、上記演算装置を用いて、上記複数の種類それぞれについて、上記種類の製品を製造するために用いられる上記部品を上記棚から取得する頻度と、上記部品を上記棚から取得するための動線距離との積を、出庫負荷とし、上記複数の種類についての出庫負荷の合計が最小になる複数の上記棚の配置を算出する
ことを特徴とする配置算出装置。
【請求項２】
上記棚配置算出部は、棚仮配置部と、動線距離算出部と、出庫負荷算出部と、棚配置選択部とを有し、
上記棚仮配置部は、複数の上記棚の配置を複数生成し、
上記動線距離算出部は、上記棚仮配置部が生成した複数の配置のそれぞれについて、上記動線距離を算出し、
上記出庫負荷算出部は、上記動線距離算出部が算出した動線距離に基づいて、上記出庫負荷を算出し、
上記棚配置選択部は、上記出庫負荷算出部が算出した出庫負荷に基づいて、上記棚仮配置部が生成した複数の配置のなかから、上記出庫負荷の合計が最小になる配置を選択する
ことを特徴とする請求項１に記載の配置算出装置。
【請求項３】
上記棚仮配置部は、生成した複数の配置のうち少なくともいずれかの配置の一部を変更することにより、更に別の配置を生成することを特徴とする請求項２に記載の配置算出装置。
【請求項４】
上記動線距離算出部は、倉庫の入口の位置と、上記倉庫の出口の位置と、上記倉庫のなかに複数の上記棚を配置した場合に上記部品が保管される位置とに基づいて、上記動線距離を算出する
ことを特徴とする請求項２または請求項３に記載の配置算出装置。
【請求項５】
上記動線距離算出部は、
上記専用部品と上記共用部品とを用いて製造される種類の製品についての動線距離として、
上記倉庫の入口の位置から、上記専用部品が保管された棚から上記専用部品を取得する位置と、上記共用部品が保管された棚から上記共用部品を取得する位置とを通って、上記倉庫の出口の位置まで至る動線距離を算出する
ことを特徴とする請求項４に記載の配置算出装置。
【請求項６】
上記棚配置算出部は、遺伝的アルゴリズムを用いて、上記出庫負荷の合計が最小になる複数の上記棚の配置を算出することを特徴とする請求項１乃至請求項５のいずれかに記載の配置算出装置。
【請求項７】
上記棚内部品配置算出部は、部品仮配置部と、棚数算出部と、部品配置選択部とを有し、
上記部品仮配置部は、上記部品の配置を複数生成し、
上記棚数算出部は、上記部品仮配置部が生成した複数の配置のそれぞれについて、上記棚の数を算出し、
上記部品配置選択部は、上記棚数算出部が算出した棚の数に基づいて、上記部品仮配置部が生成した複数の配置のなかから、上記棚の数が最小になる配置を選択する
ことを特徴とする請求項１乃至請求項６のいずれかに記載の配置算出装置。
【請求項８】
上記部品仮配置部は、生成した複数の配置のうち少なくともいずれかの配置の一部を変更することにより、更に別の配置を生成することを特徴とする請求項７に記載の配置算出装置。
【請求項９】
上記棚内部品配置算出部は、遺伝的アルゴリズムを用いて、上記棚の数が最小になる上記部品の棚の配置を算出することを特徴とする請求項１乃至請求項８のいずれかに記載の配置算出装置。
【請求項１０】
演算装置を有するコンピュータが実行することにより、上記コンピュータを請求項１乃至請求項９のいずれかに記載の配置算出装置として機能させることを特徴とするコンピュータプログラム。
【請求項１１】
演算装置が、製品の複数の種類それぞれについて、上記種類の製品の製造に用いられる部品のうち、上記種類以外の製品の製造には用いられない専用部品を棚に保管する際の占有面積を算出し、
上記演算装置が、上記複数の種類のうち少なくともいずれか２種類以上の製品の製造に用いられる共用部品を上記棚に保管する際の占有面積を算出し、
上記演算装置が、算出した占有面積に基づいて、上記複数の種類それぞれについて、上記種類についての上記専用部品が一箇所にまとめて保管され、かつ、上記共用部品が一箇所にまとめて保管されるという制約条件のもと、上記複数の種類の製品の製造に用いられる部品を保管するために用いられる棚の数が最小になる上記部品の配置を算出し、
上記演算装置が、上記複数の種類それぞれについて、上記種類の製品を製造するために用いられる上記部品を上記棚から取得する頻度と、上記部品を上記棚から取得するための動線距離との積を、出庫負荷とし、上記複数の種類についての出庫負荷の合計が最小になる複数の上記棚の配置を算出する
ことを特徴とする配置算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、倉庫などに保管される部品の配置を算出する配置算出装置に関する。
【背景技術】
【０００２】
様々な部品を保管する倉庫において、収容効率の高い部品の配置を算出する装置がある。
また、出庫頻度が高い部品を出入口の近くに配置することにより、アクセス性の高い部品の配置を算出する装置がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１８１８１４号公報
【特許文献２】特開２００４−１８１３７号公報
【特許文献３】特開平１０−２７５１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
１つの製品は、複数の種類の部品を組み合わせて製造される。ある製品を製造するために必要な部品を倉庫に取りに行く場合、それぞれの部品が保管されている場所を回って、部品を収集する必要がある。
また、製品の種類によって、使用する部品の種類が異なる。部品のなかには、１種類の製品にしか用いられないものもあれば、複数の種類の製品に共通して用いられるものもある。したがって、同じ種類の製品に用いられる部品であっても、出庫頻度は、部品によって様々である。
このため、出庫頻度が高い部品を出入口の近くに配置したとしても、アクセス性が高くなるとは限らない。
【０００５】
この発明は、例えば、複数の種類の製品の製造に用いられる複数の種類の部品を保管する倉庫などにおいて、最適な部品の配置を算出することを目的とする。
【課題を解決するための手段】
【０００６】
この発明にかかる配置算出装置は、
専用部品占有面積算出部と、共用部品占有面積算出部と、棚内部品配置算出部と、棚配置算出部とを有し、
上記専用部品占有面積算出部は、演算装置を用いて、製品の複数の種類それぞれについて、上記種類の製品の製造に用いられる部品のうち、上記種類以外の製品の製造には用いられない専用部品を棚に保管する際の占有面積を算出し、
上記共用部品占有面積算出部は、上記演算装置を用いて、上記複数の種類のうち少なくともいずれか２種類以上の製品の製造に用いられる共用部品を上記棚に保管する際の占有面積を算出し、
上記棚内部品配置算出部は、上記演算装置を用いて、上記専用部品占有面積算出部及び上記共用部品占有面積算出部が算出した占有面積に基づいて、上記複数の種類それぞれについて、上記種類についての上記専用部品が一箇所にまとめて保管され、かつ、上記共用部品が一箇所にまとめて保管されるという制約条件のもと、上記複数の種類の製品の製造に用いられる部品を保管するために用いられる棚の数が最小になる上記部品の配置を算出し、
上記棚配置算出部は、上記演算装置を用いて、上記複数の種類それぞれについて、上記種類の製品を製造するために用いられる上記部品を上記棚から取得する頻度と、上記部品を上記棚から取得するための動線距離との積を、出庫負荷とし、上記複数の種類についての出庫負荷の合計が最小になる複数の上記棚の配置を算出することを特徴とする。
【発明の効果】
【０００７】
この発明にかかる配置算出装置によれば、複数種類の製品の製造に用いられる複数種類の部品を保管する倉庫などにおいて、最適な部品の配置を算出することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１における倉庫８０の一例を示す平面図。
【図２】実施の形態１における棚８１の一例を示す正面図。
【図３】実施の形態１における部品８３と製品８６との関係の一例を示す図。
【図４】実施の形態１における配置算出装置１０のハードウェア資源の一例を示す図。
【図５】実施の形態１における配置算出装置１０の機能ブロックの構成の一例を示す図。
【図６】実施の形態１における配置算出処理Ｓ１０の流れの一例を示す図。
【図７】実施の形態１における棚内部品配置算出部２３の詳細な機能ブロックの構成の一例を示す図。
【図８】実施の形態１における部品配置データ６１の一例を示す図。
【図９】実施の形態１における棚内部品配置算出処理Ｓ２３の流れの一例を示す図。
【図１０】実施の形態１における部品仮配置工程Ｓ３１の流れの一例を示す図。
【図１１】実施の形態１における棚数算出工程Ｓ３２の流れの一例を示す図。
【図１２】実施の形態１における部品配置変更工程Ｓ３５の流れの一例を示す図。
【図１３】実施の形態１における棚配置算出部２４の詳細な機能ブロックの構成の一例を示す図。
【図１４】実施の形態１における棚配置データ６２の一例を示す図。
【図１５】実施の形態１における動線７１の一例を示す図。
【図１６】実施の形態１における経路７６の一例を示す図。
【図１７】実施の形態１における棚配置算出処理Ｓ２４の流れの一例を示す図。
【図１８】実施の形態１における棚仮配置工程Ｓ４１の流れの一例を示す図。
【図１９】実施の形態１における出庫負荷算出工程Ｓ４３の流れの一例を示す図。
【図２０】実施の形態１における棚配置変更工程Ｓ４６の流れの一例を示す図。
【図２１】実施の形態２における倉庫８０の一例を示す平面図。
【図２２】実施の形態２における棚８１の一例を示す図。
【発明を実施するための形態】
【０００９】
実施の形態１．
実施の形態１について、図１〜図２０を用いて説明する。
【００１０】
図１は、この実施の形態における倉庫８０の一例を示す平面図である。
【００１１】
倉庫８０は、製品を製造するために使われる部品を保管する場所である。倉庫８０は、入口と出口とを有する。なお、入口と出口とは、同じであってもよい。また、入口及び出口は、それぞれ複数あってもよい。
倉庫８０には、複数の棚８１ａ〜８１ｇ（以下、単に「棚８１」と呼ぶ場合がある。）が設置されている。複数の棚８１ａ〜８１ｇは、同じ棚である。すなわち、複数の棚８１ａ〜８１ｇは、同じ長さ、同じ高さ、同じ奥行きを有する。
また、倉庫８０内には、棚８１に保管された部品を出し入れするための通路が設けられている。この図の上を「北」とするならば、通路は、倉庫８０の西端および東端と、それぞれの棚８１の南側とに設けられている。棚８１の南側の通路は、その棚８１に保管された部品を出し入れするために使われる。
倉庫８０内での移動は、すべて、この通路に沿って行われる。なお、一方通行など通行形態に制限のある通路があってもよい。この例では、入口及び出口が一方通行である以外には、通行形態の制限はないものとする。
以下、このような制約にしたがって移動する経路を「動線」と呼ぶ。また、動線の長さ、すなわち倉庫８０内での移動距離を「動線距離」と呼ぶ。
【００１２】
図２は、この実施の形態における棚８１の一例を示す正面図である。
【００１３】
棚８１には、複数の間口８２ａ〜８２ｈ（以下、単に「間口８２」と呼ぶ場合がある。）が設けられている。複数の間口８２ａ〜８２ｈは、同じ幅を有する。
それぞれの間口８２は、棚板などによって複数の収納空間に分割されている。なお、棚板は、固定されたものであってもよいし、収納する部品の大きさなどに合わせて移動可能であってもよい。また、間口８２は、棚板などによって分割されていなくてもよい。
【００１４】
図３は、この実施の形態における部品８３と製品８６との関係の一例を示す図である。
【００１５】
倉庫８０に保管されている部品８３を使って製造される製品８６には、複数の機種８７ａ〜８７ｄ（以下、単に「機種８７」と呼ぶ場合がある。）が存在する。製品８６の製造に使われる部品８３は、機種８７ごとに異なる。
部品８３には、専用部品８４ａ，８４ｂ，８４ｄ（以下、単に「専用部品８４」と呼ぶ場合がある。）と、共用部品８５ａ，８５ｂ（以下、単に「共用部品８５」と呼ぶ場合がある。）とがある。
専用部品８４は、１つの機種８７にしか使われていない部品８３である。例えば、専用部品８４ａは、機種８７ａだけに使われる。専用部品８４ｂは、機種８７ｂだけに使われる。専用部品８４ｄは、機種８７ｄだけに使われる。
共用部品８５は、２つ以上の機種８７に使われる部品８３である。例えば、共用部品８５ａは、機種８７ａと機種８７ｂとに使われる。共用部品８５ｂは、機種８７ｂと機種８７ｃとに使われる。
機種８７によっては、専用部品８４だけを使うもの、共用部品８５だけを使うもの、専用部品８４と共用部品８５とを両方使うものがある。例えば、機種８７ａの製造には、専用部品８４ａと、共用部品８５ａとが使われる。機種８７ｂの製造には、専用部品８４ｂと、共用部品８５ａ，８５ｂとが使われる。機種８７ｃの製造には、共用部品８５ｂが使われる。機種８７ｄの製造には、専用部品８４ｄが使われる。
【００１６】
ある機種８７を製造するための部品８３を倉庫８０に取りに来たとき、必要な部品８３が倉庫８０内のあちこちに分散して保管してあると、あちこち移動する必要が生じ、効率が悪い。
【００１７】
そこで、１つの機種８７の専用部品８４は、一箇所にまとめて保管することとする。
また、共用部品８５は、使用する機種８７にかかわらず、すべて一箇所にまとめて保管することとする。
そうすれば、専用部品８４のみを使う機種８７を製造する場合、その機種８７の専用部品８４を保管している場所にいけば、必要な部品８３をすべて取得できる。共用部品８５のみを使う機種８７を製造する場合、共用部品８５を保管している場所にいけば、必要な部品８３をすべて取得できる。専用部品８４と共用部品８５とを使う機種８７を製造する場合、その機種８７の専用部品８４を保管している場所と、共用部品８５を保管している場所との２箇所にいけば、必要な部品８３をすべて取得できる。
なお、この例において、「一箇所にまとめて保管」とは、１つの棚８１の連続した間口８２を使って保管することを意味する。
【００１８】
また、機種８７ごとの専用部品８４の保管場所および共用部品８５の保管場所は、倉庫８０内での移動距離がなるべく小さくなるように配置する。
機種８７によって部品８３を取りに来る頻度が異なるので、その機種８７に必要な部品８３を取得するために必要な動線距離と、部品８３を取りに来る頻度（以下「出庫頻度」と呼ぶ。）との積を、「出庫負荷」と呼ぶ。すべての機種８７についての「出庫負荷」の合計がなるべく小さくなるよう、部品８３を配置する。
【００１９】
配置算出装置１０は、上記のような条件を満たす配置を算出する装置である。
【００２０】
図４は、この実施の形態における配置算出装置１０のハードウェア資源の一例を示す図である。
【００２１】
配置算出装置１０は、例えばコンピュータである。なお、配置算出装置１０は、複数のコンピュータによって構成されたものであってもよい。コンピュータは、例えば、制御装置９１と、入力装置９２と、出力装置９３と、記憶装置９４と、演算装置９５とを有する。なお、コンピュータは、制御装置９１や、入力装置９２や、出力装置９３や、記憶装置９４や、演算装置９５を、複数有する構成であってもよい。
制御装置９１は、記憶装置９４が記憶したコンピュータプログラムを実行することにより、コンピュータ全体を制御する。
記憶装置９４は、制御装置９１が実行するコンピュータプログラムや、演算装置９５が演算に使用するデータなどを記憶する。記憶装置９４は、例えば、揮発性メモリや不揮発性メモリなどの内部記憶装置や、磁気ディスク装置や光学ディスク装置などの外部記憶装置などである。
入力装置９２は、コンピュータの外部から様々な情報を入力して、データに変換する。入力装置９２は、例えば、マウスやキーボードなどの操作入力装置、マイクなどの音声入力装置、カメラやスキャナなどの画像入力装置、温度センサや圧力センサなどの物理量測定装置、他の装置が送信した信号を受信する受信装置などである。入力装置９２が変換したデータは、例えば、記憶装置９４が記憶する。
演算装置９５は、記憶装置９４が記憶したデータや、入力装置９２が変換したデータなどを使って、算術演算や論理演算などの演算をし、演算結果を表わすデータを生成する。演算装置９５が生成したデータは、例えば、記憶装置９４が記憶する。
出力装置９３は、記憶装置９４が記憶したデータや、演算装置９５が生成したデータなどを、コンピュータの外部に出力できる形式に変換して出力する。出力装置９３は、例えば、ディスプレイなどの表示装置、スピーカなどの音声出力装置、プリンタなどの印刷装置、他の装置に対して信号を送信する送信装置などである。
【００２２】
以下に説明する配置算出装置１０の機能ブロックは、例えば、記憶装置９４が記憶したコンピュータプログラムを制御装置９１が実行することにより実現できる。しかし、配置算出装置１０の機能ブロックのすべて、あるいは、そのうちのいくつかは、アナログ回路などの電気的構成や機械的構成など他の構成により実現したものであってもよい。
【００２３】
図５は、この実施の形態における配置算出装置１０の機能ブロックの構成の一例を示す図である。
【００２４】
配置算出装置１０は、例えば、部品記憶部１１と、機種記憶部１２と、棚記憶部１３と、通路記憶部１４と、専用部品占有面積算出部２１と、共用部品占有面積算出部２２と、棚内部品配置算出部２３と、棚配置算出部２４と、配置出力部２５とを有する。
【００２５】
部品記憶部１１は、記憶装置９４を用いて、部品８３の種類ごとに、その種類の部品８３に関する情報を表わすデータ（以下「部品データ」と呼ぶ。）をあらかじめ記憶している。部品データが表わす情報には、例えば、その部品８３の形状や大きさ、天地無用・積載禁止など保管の制限などがある。
【００２６】
機種記憶部１２は、記憶装置９４を用いて、機種８７ごとに、その機種８７に関する情報を表わすデータ（以下「機種データ」と呼ぶ。）をあらかじめ記憶している。機種データが表わす情報には、例えば、その機種８７に使われる部品８３の種類や数、出庫頻度、その機種８７をいくつ製造できるだけの部品８３を倉庫８０に保管しておく必要があるかなどがある。
【００２７】
棚記憶部１３は、記憶装置９４を用いて、棚８１に関する情報を表わすデータ（以下「棚データ」と呼ぶ。）をあらかじめ記憶している。棚データが表わす情報には、例えば、棚８１の幅や高さや奥行き、間口８２の幅や数などがある。
【００２８】
通路記憶部１４は、記憶装置９４を用いて、倉庫８０内の通路に関する情報を表わすデータ（以下「通路データ」と呼ぶ。）を記憶している。通路データが表わす情報には、例えば、倉庫８０の入口や出口の位置、動線の分岐点の位置、棚８１に保管された部品８３を出し入れする地点（以下「取得点」と呼ぶ。）の位置、それぞれの位置の間の動線の長さ、一方通行などの通路の通行制限などがある。
【００２９】
専用部品占有面積算出部２１は、演算装置９５を用いて、機種８７ごとに、その機種８７の専用部品８４を棚８１に保管するために必要な間口８２の数を算出する。間口８２の数は、占有面積の一例である。専用部品占有面積算出部２１は、部品記憶部１１が記憶した部品データと、機種記憶部１２が記憶した機種データと、棚記憶部１３が記憶した棚データとに基づいて、間口数を算出する。専用部品占有面積算出部２１は、機種データに基づいて、その機種８７だけに使われる専用部品８４を判定する。専用部品占有面積算出部２１は、機種データに基づいて、判定した専用部品８４を保管すべき数を算出する。専用部品占有面積算出部２１は、判定した専用部品８４に基づいて、部品記憶部１１が記憶した部品データのなかから、その機種８７の専用部品８４の部品データを抽出する。専用部品占有面積算出部２１は、棚データが表わす棚８１の高さや奥行き・間口８２の幅などと、抽出した部品データが表わす部品８３の形状や大きさ・保管の制限などと、算出した保管すべき専用部品８４の数とに基づいて、専用部品８４を最も効率よく棚８１に保管した場合に必要となる間口数を算出する。
【００３０】
なお、一つの間口８２に複数の機種８７の専用部品８４や共用部品８５を混在して保管してもよい場合、専用部品占有面積算出部２１が算出する間口数は、整数になるとは限らない。その場合、小数点以下の部分は、間口８２の一部しか使わない半端を表わす。
これに対し、そのような混在を許さず、一つの間口８２には一つの機種８７の専用部品８４や共用部品８５しか保管しない場合には、専用部品占有面積算出部２１は、小数点以下を切り上げて整数にした間口数を算出する。
次に説明する共用部品占有面積算出部２２が算出する間口数も、同様である。
【００３１】
共用部品占有面積算出部２２は、演算装置９５を用いて、共用部品８５を棚８１に保管するために必要な間口８２の数を算出する。間口８２の数は、占有面積の一例である。共用部品占有面積算出部２２は、部品記憶部１１が記憶した部品データと、機種記憶部１２が記憶した機種データと、棚記憶部１３が記憶した棚データとに基づいて、間口数を算出する。共用部品占有面積算出部２２は、機種データに基づいて、複数の機種８７に使われる共用部品８５を判定する。共用部品占有面積算出部２２は、機種データに基づいて、判定した共用部品８５を保管すべき数を算出する。共用部品占有面積算出部２２は、判定した共用部品８５に基づいて、部品記憶部１１が記憶した部品データのなかから、共用部品８５の部品データを抽出する。共用部品占有面積算出部２２は、棚データが表わす棚８１の高さや奥行き・間口８２の幅などと、抽出した部品データが表わす部品８３の形状や大きさ・保管の制限などと、算出した保管すべき共用部品８５の数とに基づいて、共用部品８５を最も効率よく棚８１に保管した場合に必要となる間口数を算出する。
【００３２】
配置算出装置１０は、以下の２つの段階により、部品の配置を算出する。
第一段階では、棚８１のなかにおける部品８３の配置を算出する。複数の棚８１ａ〜８１ｇがすべて同じであることに着目し、実際に倉庫８０内に配置された棚８１ａ〜８１ｇとは無関係に、それぞれの棚８１に、どの機種８７の専用部品８４や共用部品８５を組み合わせて保管するかを決定する。この段階では、実際に倉庫８０内のどの棚８１ａ〜８１ｇにどの部品８３を保管するかは決定しない。
第二段階では、保管する部品８３の組み合わせを決定した棚８１と、実際に倉庫８０内に設置されている棚８１ａ〜８１ｇとを対応づける。これにより、実際に倉庫８０内のどの棚８１ａ〜８１ｇにどの部品８３を保管するかが決定する。
【００３３】
このように、部品の配置を算出する処理を２つの段階に分けて行うことにより、最適化問題の規模を小さくすることができ、計算負荷を軽減することができる。
【００３４】
第一段階の処理は、棚内部品配置算出部２３が行う。
第二段階の処理は、棚配置算出部２４が行う。
【００３５】
棚内部品配置算出部２３は、演算装置９５を用いて、複数の棚８１それぞれのなかにおける部品８３の配置を算出する。棚内部品配置算出部２３は、専用部品占有面積算出部２１や共用部品占有面積算出部２２が算出した間口数に基づいて、機種８７ごとの専用部品８４や共用部品８５を一箇所にまとめて保管するという制約を満たす配置を算出する。
制約を満たす配置が複数ある場合、棚内部品配置算出部２３は、必要な棚８１の数が少ない配置ほど良い配置であるとみなして、最良の配置を算出する。
なお、棚内部品配置算出部２３は、複数の配置を算出する構成であってもよい。例えば、必要な棚８１の数が同じ配置が複数ある場合、棚内部品配置算出部２３は、必要な棚８１の数が最小となる複数の配置を算出する構成であってもよい。あるいは、棚内部品配置算出部２３は、必要な棚８１の数が少ないほうから順番に、所定の数の配置を算出する構成であってもよい。
【００３６】
棚配置算出部２４は、演算装置９５を用いて、棚内部品配置算出部２３が部品８３の配置を算出した棚８１を、倉庫８０内に設置された棚８１ａ〜８１ｇに対応づける。棚配置算出部２４は、出庫負荷の合計が最小になるよう、対応づけをする。
なお、棚内部品配置算出部２３が算出した配置が複数ある場合、棚配置算出部２４は、棚内部品配置算出部２３が算出した複数の配置のなかから、出庫負荷の合計が最小になる対応づけを有する配置を選択して、対応づけをする。
【００３７】
配置出力部２５は、出力装置９３を用いて、部品８３の配置を出力する。配置出力部２５が出力する部品８３の配置は、実際に倉庫８０に設置された棚８１ａ〜８１ｇのどの間口８２にどの部品８３を保管するかを表わす。この配置は、棚内部品配置算出部２３が算出した棚８１のなかにおける部品８３の配置と、棚配置算出部２４が算出した棚８１の対応づけとによって定まる。
【００３８】
図６は、この実施の形態における配置算出処理Ｓ１０の流れの一例を示す図である。
【００３９】
配置算出処理Ｓ１０において、配置算出装置１０は、部品８３の配置を算出する。配置算出処理Ｓ１０は、例えば、占有面積算出処理Ｓ２１と、棚内部品配置算出処理Ｓ２３と、棚配置算出処理Ｓ２４と、配置出力処理Ｓ２５とを有する。配置算出装置１０は、配置算出処理Ｓ１０を占有面積算出処理Ｓ２１から開始する。
【００４０】
占有面積算出処理Ｓ２１において、専用部品占有面積算出部２１は、それぞれの機種８７について、その機種８７の専用部品８４を棚８１に保管する際の間口数を算出する。また、共用部品占有面積算出部２２は、共用部品８５を棚８１に保管する際の間口数を算出する。
【００４１】
棚内部品配置算出処理Ｓ２３において、棚内部品配置算出部２３は、占有面積算出処理Ｓ２１で専用部品占有面積算出部２１及び共用部品占有面積算出部２２が算出した間口数に基づいて、それぞれの機種８７の専用部品８４と共用部品８５とを棚８１のなかに配置する配置を算出する。
【００４２】
棚配置算出処理Ｓ２４において、棚配置算出部２４は、棚内部品配置算出処理Ｓ２３で部品８３の配置を算出した棚８１を倉庫８０のなかに配置する配置を算出する。
【００４３】
配置出力処理Ｓ２５において、配置出力部２５は、棚内部品配置算出処理Ｓ２３で棚内部品配置算出部２３が算出した棚８１のなかにおける部品８３の配置と、棚配置算出処理Ｓ２４で棚配置算出部２４が算出した倉庫８０のなかにおける棚８１の配置とよって定まる、倉庫８０のなかにおける部品８３の配置を出力する。
【００４４】
図７は、この実施の形態における棚内部品配置算出部２３の詳細な機能ブロックの構成の一例を示す図である。
【００４５】
棚内部品配置算出部２３は、例えば、遺伝的アルゴリズムと呼ばれる方式を使って、部品８３の配置を算出する。棚内部品配置算出部２３は、例えば、部品仮配置部３１と、棚数算出部３２と、部品配置選択部３３と、部品配置出力部３６とを有する。
【００４６】
部品仮配置部３１は、演算装置９５を用いて、暫定的な部品８３の配置を複数生成する。
棚数算出部３２は、演算装置９５を用いて、部品仮配置部３１が生成した暫定的な配置に必要となる棚８１の数を算出する。
部品配置選択部３３は、演算装置９５を用いて、棚数算出部３２が算出した棚数に基づいて、部品仮配置部３１が生成した暫定的な配置のなかから、良い配置を複数選択する。
部品配置出力部３６は、演算装置９５を用いて、部品配置選択部３３が選択した配置を出力する。
【００４７】
最初の段階において、部品仮配置部３１は、例えばランダムに、部品８３の配置を複数生成する。部品配置選択部３３は、部品仮配置部３１が最初に生成した配置のなかから、良い配置を複数選択する。
次に、部品仮配置部３１は、部品配置選択部３３が選択した配置を少しだけ変更して、別の配置を複数生成する。部品配置選択部３３は、最初に選択した配置と、部品仮配置部３１が生成した別の配置とのなかから、良い配置を複数選択する。
これを何回か繰り返したのち、部品配置出力部３６は、部品配置選択部３３が選択した配置を出力する。
【００４８】
なお、図１に示した例のように、倉庫８０の入口及び出口が棚８１の左側に設けられている場合、出庫頻度が多い部品８３ほど棚８１の左側に配置するほうが、出庫負荷が小さくなる。このため、部品配置出力部３６は、部品配置選択部３３が選択した部品８３の配置を、棚８１ごとに、出庫頻度が多い順に並べ替え、並べ替えた配置を出力する構成であってもよい。
【００４９】
図８は、この実施の形態における部品配置データ６１の一例を示す図である。
【００５０】
部品配置データ６１ａ〜６１ｂ（以下、単に「部品配置データ６１」と呼ぶ場合がある。）は、部品仮配置部３１が生成するデータである。部品配置データ６１は、部品８３の配置を表わす。
【００５１】
部品配置データ６１は、例えば文字列データである。
それぞれの文字は、その部品８３が専用部品８４であるか共用部品８５であるか、専用部品８４である場合どの機種８７の専用部品８４であるかを表わす。例えば、「Ａ」は、機種８７ａの専用部品８４を表わす。「Ｂ」は、機種８７ｂの専用部品８４を表わす。「Ｚ」は、共用部品８５を表わす。
文字の順序は、部品８３を配置する順序を表わす。すべての棚８１を一列に並べたと仮定し、左端から順に、その文字によって表わされる部品８３を配置していく。例えば、「ＡＢＤＥＺ…」は、最初の棚８１の左端に機種８７ａの専用部品８４を配置し、その右に機種８７ｂの専用部品８４を配置し、更にその右に機種８７ｄの専用部品８４を配置し、というように配置していくことを表わす。
ただし、それぞれの機種８７の専用部品８４や共用部品８５を一つにまとめて保管するという制約があるので、詰めて配置すると棚８１の境界にかかる場合は、次の棚８１に配置する。
例えば、棚８１の間口数が８、機種８７ａの専用部品８４に必要な間口数が４、機種８７ｂの専用部品８４に必要な間口数が３、機種８７ｄの専用部品８４に必要な間口数が２であるとする。機種８７ａの専用部品８４は、最初の棚８１の左端の間口８２から４番目の間口８２までの間に配置される。機種８７ｂの専用部品８４は、最初の棚８１の５番目の間口８２から７番目の間口８２までの間に配置される。最初の棚８１の８番目の間口８２は使わず、機種８７ｄの専用部品８４は、２番目の棚８１の左端の間口８２から２番目の間口８２までの間に配置される。
【００５２】
また、部品配置データ６１ａは、部品配置選択部３３が選択した配置を表わす部品配置データであるとする。部品仮配置部３１は、部品配置データ６１ａの一部を変更して、別の配置を表わす部品配置データ６１ｂを生成する。
例えば、部品仮配置部３１は、部品配置データ６１ａのなかからランダムに２文字を選択し、選択した２文字を入れ替える。例えば、「ＡＢＤＥＺ…」のなかから「Ｂ」と「Ｅ」とを選択して入れ替え、「ＡＥＤＢＺ…」とする。
【００５３】
図９は、この実施の形態における棚内部品配置算出処理Ｓ２３の流れの一例を示す図である。
【００５４】
棚内部品配置算出処理Ｓ２３は、例えば、部品仮配置工程Ｓ３１と、棚数算出工程Ｓ３２と、部品配置選択工程Ｓ３３と、終了判定工程Ｓ３４と、部品配置変更工程Ｓ３５と、部品配置出力工程Ｓ３６とを有する。棚内部品配置算出部２３は、棚内部品配置算出処理Ｓ２３を部品仮配置工程Ｓ３１から開始する。
【００５５】
部品仮配置工程Ｓ３１において、部品仮配置部３１は、部品８３の配置をランダムに所定の数（例えば３２）生成する。
【００５６】
棚数算出工程Ｓ３２において、棚数算出部３２は、部品仮配置工程Ｓ３１（または部品配置変更工程Ｓ３５）で部品仮配置部３１が生成した配置のそれぞれについて、必要となる棚数を算出する。
【００５７】
部品配置選択工程Ｓ３３において、部品配置選択部３３は、棚数算出工程Ｓ３２で棚数算出部３２が算出した棚数に基づいて、部品仮配置部３１が生成した配置のなかから、所定の数（例えば８）の配置を選択する。例えば、部品配置選択部３３は、部品仮配置部３１が生成した配置を、棚数が少ない順に並べ、順位が所定の数以下となる配置を選択する。
【００５８】
終了判定工程Ｓ３４において、部品配置出力部３６は、棚内部品配置算出処理Ｓ２３を終了するか否かを判定する。例えば、部品配置出力部３６は、部品配置選択工程Ｓ３３を部品配置選択部３３が実行した回数が、所定の回数に達した場合に、棚内部品配置算出処理Ｓ２３を終了すると判定する。あるいは、部品配置出力部３６は、部品配置選択工程Ｓ３３で部品配置選択部３３が選択した配置の棚数のうち最小の棚数が、部品配置選択工程Ｓ３３を部品配置選択部３３が所定の回数実行しても変化しない場合に、棚内部品配置算出処理Ｓ２３を終了すると判定する。
棚内部品配置算出処理Ｓ２３をまだ終了しないと判定した場合、部品配置出力部３６は、部品配置変更工程Ｓ３５へ処理を進める。
棚内部品配置算出処理Ｓ２３を終了すると判定した場合、部品配置出力部３６は、部品配置出力工程Ｓ３６へ処理を進める。
【００５９】
部品配置変更工程Ｓ３５において、部品仮配置部３１は、部品配置選択工程Ｓ３３で部品配置選択部３３が選択した配置の一部を変更して、別の配置を所定の数（例えば２４）生成する。部品仮配置部３１は、部品配置選択工程Ｓ３３で部品配置選択部３３が選択しなかった配置の数と同じ数の別の配置を生成する。これを、部品配置選択工程Ｓ３３で部品配置選択部３３が選択した配置と合わせることにより、暫定的な配置の数は、最初に部品仮配置工程Ｓ３１で部品仮配置部３１が生成した数と同じ数になる。
なお、部品仮配置部３１は、部品配置選択工程Ｓ３３で部品配置選択部３３が選択しなかった配置の数よりも少ない数の別の配置を生成する構成であってもよい。そうすれば、暫定的な配置の数は、少しずつ減ることになる。
部品仮配置部３１は、棚数算出工程Ｓ３２に処理を戻す。
【００６０】
部品配置出力工程Ｓ３６において、部品配置出力部３６は、部品配置選択工程Ｓ３３で部品配置選択部３３が選択した配置を出力する。なお、部品配置出力部３６は、部品配置選択工程Ｓ３３で部品配置選択部３３が選択した配置をすべて出力するのではなく、部品配置選択工程Ｓ３３で部品配置選択部３３が選択した配置のなかから更に絞り込んだ配置だけを出力する構成であってもよい。例えば、部品配置出力部３６は、部品配置選択工程Ｓ３３で部品配置選択部３３が選択した配置のうち、棚数が最小である配置だけを出力する。あるいは、部品配置出力部３６は、部品配置選択工程Ｓ３３で部品配置選択部３３が選択した配置を、棚数が少ない順に並べ、順位が所定の数（例えば４）以下となる配置だけを出力する。
【００６１】
図１０は、この実施の形態における部品仮配置工程Ｓ３１の流れの一例を示す図である。
【００６２】
部品仮配置工程Ｓ３１は、例えば、機種選択工程Ｓ３１１と、専用部品判定工程Ｓ３１２と、文字取得工程Ｓ３１３と、共用部品判定工程Ｓ３１４と、文字取得工程Ｓ３１５と、文字列生成工程Ｓ３１６と、文字列出力工程Ｓ３１７と、終了判定工程Ｓ３１８とを有する。部品仮配置部３１は、部品仮配置工程Ｓ３１を機種選択工程Ｓ３１１から開始する。
【００６３】
機種選択工程Ｓ３１１において、部品仮配置部３１は、倉庫８０に保管される部品８３を使う機種８７のなかから、機種８７を一つ選択する。例えば、部品仮配置部３１は、専用部品占有面積算出部２１が間口数を算出した機種８７のなかから、機種８７を一つ選択する。
すべての機種８７が選択済であり、未選択の機種８７が存在しない場合、部品仮配置部３１は、共用部品判定工程Ｓ３１４へ処理を進める。
まだ選択していない機種８７が存在する場合、部品仮配置部３１は、未選択の機種８７のなかから機種８７を一つ選択し、専用部品判定工程Ｓ３１２へ処理を進める。
【００６４】
専用部品判定工程Ｓ３１２において、部品仮配置部３１は、機種選択工程Ｓ３１１で選択した機種８７が専用部品８４を使う機種８７であるか否かを判定する。例えば、部品仮配置部３１は、その機種８７について専用部品占有面積算出部２１が算出した間口数が０でない場合に、その機種８７が専用部品８４を使うと判定する。
専用部品８４を使うと判定した場合、部品仮配置部３１は、文字取得工程Ｓ３１３へ処理を進める。
専用部品８４を使わないと判定した場合、部品仮配置部３１は、機種選択工程Ｓ３１１に処理を戻し、次の機種８７を選択する。
【００６５】
文字取得工程Ｓ３１３において、部品仮配置部３１は、機種選択工程Ｓ３１１で選択した機種８７の専用部品８４を表わす文字（例えば「Ａ」「Ｂ」…）を取得する。
部品仮配置部３１は、機種選択工程Ｓ３１１に処理を戻し、次の機種８７を選択する。
【００６６】
共用部品判定工程Ｓ３１４において、部品仮配置部３１は、倉庫８０に保管される部品８３のなかに共用部品８５が存在するか否かを判定する。例えば、部品仮配置部３１は、共用部品占有面積算出部２２が算出した間口数が０でない場合に、共用部品８５が存在すると判定する。
共用部品８５が存在すると判定した場合、部品仮配置部３１は、文字取得工程Ｓ３１５へ処理を進める。
共用部品８５が存在しないと判定した場合、部品仮配置部３１は、文字列生成工程Ｓ３１６へ処理を進める。
【００６７】
文字取得工程Ｓ３１５において、部品仮配置部３１は、共用部品８５を表わす文字（例えば「Ｚ」）を取得する。
【００６８】
文字列生成工程Ｓ３１６において、部品仮配置部３１は、文字取得工程Ｓ３１３，Ｓ３１５で取得した文字をランダムな順番で並べた文字列を生成する。
文字列出力工程Ｓ３１７において、部品仮配置部３１は、文字列生成工程Ｓ３１６で生成した文字列を、生成した配置を表わす部品配置データ６１として出力する。
【００６９】
終了判定工程Ｓ３１８において、部品仮配置部３１は、部品仮配置工程Ｓ３１を終了するか否かを判定する。例えば、部品仮配置部３１は、文字列生成工程Ｓ３１６を所定の回数実行した場合に、部品仮配置工程Ｓ３１を終了すると判定する。
部品仮配置工程Ｓ３１をまだ終了しないと判定した場合、部品仮配置部３１は、文字列生成工程Ｓ３１６に処理を戻し、次の部品配置データ６１を生成する。
部品仮配置工程Ｓ３１を終了すると判定した場合、部品仮配置部３１は、部品仮配置工程Ｓ３１を終了する。
【００７０】
図１１は、この実施の形態における棚数算出工程Ｓ３２の流れの一例を示す図である。
【００７１】
棚数算出工程Ｓ３２は、例えば、配置選択工程Ｓ３２１と、初期化工程Ｓ３２２と、文字取得工程Ｓ３２３と、占有面積取得工程Ｓ３２４と、占有面積加算工程Ｓ３２５と、棚数増加工程Ｓ３２６と、棚数出力工程Ｓ３２７とを有する。棚数算出部３２は、棚数算出工程Ｓ３２を配置選択工程Ｓ３２１から開始する。
【００７２】
配置選択工程Ｓ３２１において、棚数算出部３２は、部品仮配置部３１が生成した配置のなかから、配置を一つ選択する。
すべての配置が選択済であり、未選択の配置が存在しない場合、棚数算出部３２は、棚数算出工程Ｓ３２を終了する。
まだ選択していない配置が存在する場合、棚数算出部３２は、未選択の配置のなかから配置を一つ選択し、初期化工程Ｓ３２２へ処理を進める。
【００７３】
初期化工程Ｓ３２２において、棚数算出部３２は、配置選択工程Ｓ３２１で選択した配置について、使用棚数と使用間口数とを初期化する。棚数算出部３２は、使用棚数として１を記憶し、使用間口数として０を記憶する。
【００７４】
文字取得工程Ｓ３２３において、棚数算出部３２は、配置選択工程Ｓ３２１で選択した配置を表わす部品配置データ６１から、文字を一つ取得する。
部品配置データの文字をすべて取得済であり、未取得の文字が存在しない場合、棚数算出部３２は、棚数出力工程Ｓ３２７へ処理を進める。
まだ取得していない文字が存在する場合、棚数算出部３２は、未取得の文字のうち最初の文字を取得し、占有面積取得工程Ｓ３２４へ処理を進める。
【００７５】
占有面積取得工程Ｓ３２４において、棚数算出部３２は、文字取得工程Ｓ３２３で取得した文字によって表わされる部品８３（専用部品８４または共用部品８５）について、専用部品占有面積算出部２１または共用部品占有面積算出部２２が算出した間口数を取得する。
【００７６】
占有面積加算工程Ｓ３２５において、棚数算出部３２は、記憶している使用間口数に、占有面積取得工程Ｓ３２４で取得した間口数を加算した間口数を算出する。
算出した間口数が、棚８１の間口数以下である場合、棚数算出部３２は、算出した間口数を使用間口数として記憶する。棚数算出部３２は、文字取得工程Ｓ３２３に処理を戻し、次の文字を取得する。
算出した間口数が、棚８１の間口数を超えた場合、棚数算出部３２は、棚数増加工程Ｓ３２６へ処理を進める。
【００７７】
棚数増加工程Ｓ３２６において、棚数算出部３２は、記憶している使用棚数を１増やす。棚数算出部３２は、占有面積取得工程Ｓ３２４で取得した間口数を使用間口数として記憶する。棚数算出部３２は、文字取得工程Ｓ３２３に処理を戻し、次の文字を取得する。
【００７８】
棚数出力工程Ｓ３２７において、棚数算出部３２は、記憶している使用棚数を、配置選択工程Ｓ３２１で選択した配置の棚数として出力する。棚数算出部３２は、配置選択工程Ｓ３２１に処理を戻し、次の配置を選択する。
【００７９】
図１２は、この実施の形態における部品配置変更工程Ｓ３５の流れの一例を示す図である。
【００８０】
部品配置変更工程Ｓ３５は、例えば、配置選択工程Ｓ３５１と、変更終了判定工程Ｓ３５２と、文字選択工程Ｓ３５３と、文字交換工程Ｓ３５４と、交換終了判定工程Ｓ３５５と、文字列出力工程Ｓ３５６とを有する。部品仮配置部３１は、部品配置変更工程Ｓ３５を配置選択工程Ｓ３５１から開始する。
【００８１】
配置選択工程Ｓ３５１において、部品仮配置部３１は、部品配置選択工程Ｓ３３で部品配置選択部３３が選択した配置のなかから、配置を一つ選択する。
すべての配置が選択済であり、未選択の配置が存在しない場合、部品仮配置部３１は、部品配置変更工程Ｓ３５を終了する。
まだ選択していない配置が存在する場合、部品仮配置部３１は、未選択の配置のなかから配置を一つ選択し、変更終了判定工程Ｓ３５２へ処理を進める。
【００８２】
変更終了判定工程Ｓ３５２において、部品仮配置部３１は、配置選択工程Ｓ３５１で選択した配置をもとにした別の配置の生成を終了するか否かを判定する。例えば、部品仮配置部３１は、配置選択工程Ｓ３５１で選択した配置をもとにした別の配置を表わす部品配置データを文字列出力工程Ｓ３５６で所定の数（例えば３）出力した場合に、配置選択工程Ｓ３５１で選択した配置をもとにした別の配置の生成を終了すると判定する。
配置選択工程Ｓ３５１で選択した配置をもとにした別の配置の生成をまだ終了しないと判定した場合、部品仮配置部３１は、配置選択工程Ｓ３５１で選択した配置を表わす部品配置データ６１を、変更部品配置データとして記憶する。
配置選択工程Ｓ３５１で選択した配置をもとにした別の配置の生成を終了すると判定した場合、部品仮配置部３１は、配置選択工程Ｓ３５１に処理を戻し、次の配置を選択する。
【００８３】
文字選択工程Ｓ３５３において、部品仮配置部３１は、記憶している変更部品配置データのなかから、ランダムに２つの文字を選択する。
文字交換工程Ｓ３５４において、部品仮配置部３１は、文字選択工程Ｓ３５３で選択した２つの文字を交換した文字列を生成する。部品仮配置部３１は、２つの文字を交換した文字列を変更部品配置データとして記憶する。
【００８４】
交換終了判定工程Ｓ３５５において、部品仮配置部３１は、文字の交換を終了するか否かを判定する。例えば、部品仮配置部３１は、文字交換工程Ｓ３５４を所定の回数（例えば１０回）実行した場合に、文字の交換を終了すると判定する。あるいは、部品仮配置部３１は、文字交換工程Ｓ３５４を、所定の範囲内（例えば５回以上２０回以下）でランダムに定めた回数実行した場合に、文字の交換を終了すると判定する。あるいは、部品仮配置部３１は、所定の確率（例えば１０％）で文字の交換を終了すると判定する。文字の交換を終了すると判定する確率をｐ（０＜ｐ＜１）とすると、文字交換工程Ｓ３５４を実行する平均回数は１／ｐになる。
文字の交換をまだ終了しないと判定した場合、部品仮配置部３１は、文字選択工程Ｓ３５３に処理を戻し、次に交換する文字を選択する。
文字の交換を終了すると判定した場合、部品仮配置部３１は、文字列出力工程Ｓ３５６へ処理を進める。
【００８５】
文字列出力工程Ｓ３５６において、部品仮配置部３１は、記憶している変更部品配置データを、生成した別の配置を表わす部品配置データ６１として出力する。部品仮配置部３１は、変更終了判定工程Ｓ３５２に処理を戻す。
【００８６】
図１３は、この実施の形態における棚配置算出部２４の詳細な機能ブロックの構成の一例を示す図である。
【００８７】
棚配置算出部２４は、例えば遺伝的アルゴリズムと呼ばれる方式を使って、棚８１の配置を算出する。棚配置算出部２４は、例えば、棚仮配置部４１と、動線距離算出部４２と、出庫負荷算出部４３と、棚配置選択部４４と、棚配置出力部４７とを有する。
【００８８】
棚仮配置部４１は、演算装置９５を用いて、暫定的な棚８１の配置を複数生成する。
動線距離算出部４２は、演算装置９５を用いて、棚仮配置部４１が生成した暫定的な配置のそれぞれについて、それぞれの機種８７についての動線距離を算出する。
出庫負荷算出部４３は、演算装置９５を用いて、棚仮配置部４１が生成した暫定的な配置のそれぞれについて、それぞれの機種８７についての出庫負荷を算出する。
棚配置選択部４４は、演算装置９５を用いて、出庫負荷算出部４３が算出した出庫負荷に基づいて、棚仮配置部４１が生成した暫定的な配置のなかから、良い配置を複数選択する。
棚配置出力部４７は、演算装置９５を用いて、棚配置選択部４４が選択した配置のうち、最良の配置を出力する。
【００８９】
最初の段階において、棚仮配置部４１は、例えばランダムに、棚８１の配置を複数生成する。棚配置選択部４４は、棚仮配置部４１が最初に生成した配置のなかから、良い配置を複数選択する。
次に、棚仮配置部４１は、棚配置選択部４４が選択した配置を少しだけ変更して、別の配置を複数生成する。棚配置選択部４４は、最初に選択した配置と、棚仮配置部４１が生成した別の配置とのなかから、良い配置を複数選択する。
これを何回か繰り返したのち、棚配置出力部４７は、棚配置選択部４４が選択した配置のうち、最良の配置を出力する。
【００９０】
図１４は、この実施の形態における棚配置データ６２の一例を示す図である。
【００９１】
棚配置データ６２ａ〜６２ｂ（以下、単に「棚配置データ６２」と呼ぶ場合がある。）は、棚仮配置部４１が生成するデータである。棚配置データ６２は、棚８１の配置を表わす。
【００９２】
棚配置データ６２は、例えば文字列データである。
それぞれの文字は、棚内部品配置算出部２３が部品８３を配置したそれぞれの棚８１を表わす。例えば、「１」は、棚内部品配置算出部２３が部品８３を配置した一番目の棚８１を表わす。「２」は、棚内部品配置算出部２３が部品８３を配置した二番目の棚８１を表わす。
文字の順序は、その棚８１と、実際に倉庫８０内に設置された棚８１ａ〜８１ｇとの対応づけを表わす。例えば、最初の文字によって表わされる棚８１は、棚８１ａに対応づけられる。二番目の文字によって表わされる棚８１は、棚８１ｂに対応づけられる。
【００９３】
また、棚配置データ６２ａは、棚配置選択部４４が選択した配置を表わす部品配置データであるとする。棚仮配置部４１は、棚配置データ６２ａの一部を変更して、別の配置を表わす棚配置データ６２ｂを生成する。
例えば、棚仮配置部４１は、棚配置データ６２ａのなかからランダムに２文字を選択し、選択した２文字を入れ替える。例えば、「１２３４５…」のなかから「１」と「４」とを選択して入れ替え、「４２３１５…」とする。
【００９４】
図１５は、この実施の形態における動線７１の一例を示す図である。
【００９５】
白丸で表わされた分岐点７２は、通路が分岐する地点である。
黒丸で表わされた取得点７３は、棚８１の間口８２に保管された部品８３を取り出す地点である。
四角で表わされた入口７４は、倉庫８０の入口である。
菱形で表わされた出口７５は、倉庫８０の出口である。
太線で表わされた動線７１は、倉庫８０で移動するための経路であり、分岐点７２、取得点７３、入口７４及び出口７５の間を、通路に沿って接続している。
【００９６】
動線距離算出部４２は、通路記憶部１４があらかじめ記憶している通路データから、分岐点７２、取得点７３、入口７４及び出口７５の位置を取得する。
それぞれの動線７１の長さは、動線距離算出部４２が、取得した分岐点７２、取得点７３、入口７４及び出口７５の位置に基づいて算出する構成であってもよいし、通路記憶部１４があらかじめ記憶している通路データから取得する構成であってもよい。
【００９７】
図１６は、この実施の形態における経路７６の一例を示す図である。
【００９８】
動線距離算出部４２は、棚内部品配置算出部２３が算出した部品８３の配置と、棚仮配置部４１が生成した棚８１の配置とに基づいて、それぞれの機種８７に必要な部品８３を取得するため動線距離を算出する。
例えば、専用部品８４と共用部品８５とを使って製造される機種８７についての専用部品８４と、共用部品８５とが図に示した位置に配置されるとすると、動線距離算出部４２は、入口７４から、専用部品８４を取り出すためのすべての取得点７３と、共用部品８５を取り出すためのすべての取得点７３とを通って、出口７５に至る経路７６を算出する。経路７６は、動線７１の上を通るものでなければならない。また、一方通行などの通路の通行制限がある場合には、その制限にしたがったものでなければならない。動線距離算出部４２は、算出した経路７６の長さを算出する。
入口７４から、専用部品８４の取得点７３と共用部品８５の取得点７３とを通って、出口７５に至る経路には、実線で示した経路７６のほかに、例えば、専用部品８４の取得点７３から共用部品８５の取得点７３までの間において破線で示した動線を通る経路や、共用部品８５の取得点７３を先に通り、専用部品８４の取得点７３を後に通る経路などがある。
動線距離算出部４２は、これらの経路のなかから、経路の長さが最も短いものを選択する。動線距離算出部４２は、選択した経路の長さを、動線距離とする。
【００９９】
なお、倉庫８０の入口や出口が複数ある場合、機種８７ごとにどの入口や出口を使うかがあらかじめ定まっているものとする。その情報は、通路記憶部１４が記憶した通路データが表わす情報に含まれている。動線距離算出部４２は、それぞれの機種８７について、通路データから、どの入口及び出口を使うかを取得し、取得した情報に基づいて動線距離を算出する。
【０１００】
図１７は、この実施の形態における棚配置算出処理Ｓ２４の流れの一例を示す図である。
【０１０１】
棚配置算出処理Ｓ２４は、例えば、棚仮配置工程Ｓ４１と、出庫負荷算出工程Ｓ４３と、棚配置選択工程Ｓ４４と、終了判定工程Ｓ４５と、棚配置変更工程Ｓ４６と、棚配置出力工程Ｓ４７とを有する。棚配置算出部２４は、棚配置算出処理Ｓ２４を棚仮配置工程Ｓ４１から開始する。
【０１０２】
棚仮配置工程Ｓ４１において、棚仮配置部４１は、棚内部品配置算出部２３が算出した部品８３の配置それぞれについて、棚８１の配置をランダムに所定の数（例えば３２）生成する。棚内部品配置算出部２３が算出した部品８３の配置の数をｎ、棚仮配置部４１が１つの部品８３の配置について生成する棚８１の配置の数をｍとすると、棚仮配置部４１は、部品８３の配置と棚８１の配置との組み合わせを全部でｍ×ｎ個生成する。
【０１０３】
出庫負荷算出工程Ｓ４３において、棚仮配置工程Ｓ４１（または棚配置変更工程Ｓ４６）で棚仮配置部４１が生成した配置それぞれについて、動線距離算出部４２が動線距離を算出し、出庫負荷算出部４３が出庫負荷を算出する。
【０１０４】
棚配置選択工程Ｓ４４において、棚配置選択部４４は、出庫負荷算出工程Ｓ４３で出庫負荷算出部４３が算出した出庫負荷に基づいて、棚仮配置部４１が生成した配置のなかから、所定の数（例えば８×ｎ）の配置を選択する。例えば、棚配置選択部４４は、棚仮配置部４１が生成した配置を、出庫負荷の合計が少ない順に並べ、順位が所定の数以下となる配置を選択する。
【０１０５】
終了判定工程Ｓ４５において、棚配置出力部４７は、棚配置算出処理Ｓ２４を終了するか否かを判定する。例えば、棚配置出力部４７は、棚配置選択工程Ｓ４４を棚配置選択部４４が実行した回数が、所定の回数に達した場合に、棚配置算出処理Ｓ２４を終了すると判定する。あるいは、棚配置出力部４７は、棚配置選択工程Ｓ４４で棚配置選択部４４が選択した配置の出庫負荷の合計のうち最小の出庫負荷の合計が、棚配置選択工程Ｓ４４を棚配置選択部４４が所定の回数実行しても変化しない場合に、棚配置算出処理Ｓ２４を終了すると判定する。
棚配置算出処理Ｓ２４をまだ終了しないと判定した場合、棚配置出力部４７は、棚配置変更工程Ｓ４６へ処理を進める。
棚配置算出処理Ｓ２４を終了すると判定した場合、棚配置出力部４７は、棚配置出力工程Ｓ４７へ処理を進める。
【０１０６】
棚配置変更工程Ｓ４６において、棚仮配置部４１は、棚配置選択工程Ｓ４４で棚配置選択部４４が選択した配置の一部を変更して、別の配置を所定の数（例えば２４×ｎ）生成する。棚仮配置部４１は、棚配置選択工程Ｓ４４で棚配置選択部４４が選択しなかった配置の数と同じ数の別の配置を生成する。これを、棚配置選択工程Ｓ４４で棚配置選択部４４が選択した配置と合わせることにより、暫定的な配置の数は、最初に棚仮配置工程Ｓ４１で棚仮配置部４１が生成した数と同じ数になる。
なお、棚仮配置部４１は、棚配置選択工程Ｓ４４で棚配置選択部４４が選択しなかった配置の数よりも少ない数の別の配置を生成する構成であってもよい。そうすれば、暫定的な配置の数は、少しずつ減ることになる。
棚仮配置部４１は、出庫負荷算出工程Ｓ４３に処理を戻す。
【０１０７】
棚配置出力工程Ｓ４７において、棚配置出力部４７は、棚配置選択工程Ｓ４４で棚配置選択部４４が選択した配置のうち、最も出庫負荷の合計が小さい配置を出力する。
【０１０８】
図１８は、この実施の形態における棚仮配置工程Ｓ４１の流れの一例を示す図である。
【０１０９】
棚仮配置工程Ｓ４１は、例えば、部品配置選択工程Ｓ４１１と、文字取得工程Ｓ４１２と、文字列生成工程Ｓ４１３と、文字列出力工程Ｓ４１４と、終了判定工程Ｓ４１５とを有する。棚仮配置部４１は、棚仮配置工程Ｓ４１を部品配置選択工程Ｓ４１１から開始する。
【０１１０】
部品配置選択工程Ｓ４１１において、棚仮配置部４１は、棚内部品配置算出部２３が算出した部品８３の配置のなかから、配置を一つ選択する。
すべての配置が選択済であり、未選択の配置が存在しない場合、棚仮配置部４１は、棚仮配置工程Ｓ４１を終了する。
まだ選択していない配置が存在する場合、棚仮配置部４１は、未選択の配置のなかから配置を一つ選択し、文字取得工程Ｓ４１２へ処理を進める。
【０１１１】
文字取得工程Ｓ４１２において、棚仮配置部４１は、部品配置選択工程Ｓ４１１で選択した部品８３の配置について、棚数算出部３２が算出した棚数を取得する。棚仮配置部４１は、取得した棚数に基づいて、それぞれの棚８１を表わす文字（例えば「１」「２」…）を取得する。
【０１１２】
文字列生成工程Ｓ４１３において、棚仮配置部４１は、文字取得工程Ｓ４１２で取得した文字をランダムな順番で並べた文字列を生成する。
文字列出力工程Ｓ４１４において、棚仮配置部４１は、文字列生成工程Ｓ４１３で生成した文字列を、生成した配置を表わす棚配置データ６２として出力する。
【０１１３】
終了判定工程Ｓ４１５において、棚仮配置部４１は、部品配置選択工程Ｓ４１１で選択した部品８３の配置についての棚配置データ６２の生成を終了するか否かを判定する。例えば、棚仮配置部４１は、文字列生成工程Ｓ４１３を所定の回数実行した場合に、部品配置選択工程Ｓ４１１で選択した部品８３の配置についての棚配置データ６２の生成を終了すると判定する。
部品配置選択工程Ｓ４１１で選択した部品８３の配置についての棚配置データ６２の生成をまだ終了しないと判定した場合、棚仮配置部４１は、文字列生成工程Ｓ４１３に処理を戻し、次の棚配置データ６２を生成する。
部品配置選択工程Ｓ４１１で選択した部品８３の配置についての棚配置データ６２の生成を終了すると判定した場合、棚仮配置部４１は、部品配置選択工程Ｓ４１１に処理を戻し、次の部品８３の配置を選択する。
【０１１４】
図１９は、この実施の形態における出庫負荷算出工程Ｓ４３の流れの一例を示す図である。
【０１１５】
出庫負荷算出工程Ｓ４３は、例えば、配置選択工程Ｓ４３１と、初期化工程Ｓ４３２と、機種選択工程Ｓ４３３と、動線距離算出工程Ｓ４３４と、機種出庫負荷算出工程Ｓ４３５と、出庫負荷加算工程Ｓ４３６と、出庫負荷出力工程Ｓ４３７とを有する。
【０１１６】
配置選択工程Ｓ４３１において、出庫負荷算出部４３は、棚仮配置部４１が生成した配置のなかから、配置を一つ選択する。
すべての配置が選択済であり、未選択の配置が存在しない場合、出庫負荷算出部４３は、出庫負荷算出工程Ｓ４３を終了する。
まだ選択していない配置が存在する場合、出庫負荷算出部４３は、未選択の配置のなかから配置を一つ選択し、初期化工程Ｓ４３２へ処理を進める。
【０１１７】
初期化工程Ｓ４３２において、出庫負荷算出部４３は、配置選択工程Ｓ４３１で選択した配置について、合計出庫負荷を初期化する。出庫負荷算出部４３は、合計出庫負荷として０を記憶する。
【０１１８】
機種選択工程Ｓ４３３において、出庫負荷算出部４３は、倉庫８０に保管される部品８３を使う機種８７のなかから、機種８７を一つ選択する。例えば、出庫負荷算出部４３は、専用部品占有面積算出部２１が間口数を算出した機種８７のなかから、機種８７を一つ選択する。
すべての機種８７が選択済であり、未選択の機種８７が存在しない場合、出庫負荷算出部４３は、出庫負荷出力工程Ｓ４３７へ処理を進める。
まだ選択していない機種８７が存在する場合、出庫負荷算出部４３は、未選択の機種８７のなかから機種８７を一つ選択し、動線距離算出工程Ｓ４３４へ処理を進める。
【０１１９】
動線距離算出工程Ｓ４３４において、動線距離算出部４２は、機種選択工程Ｓ４３３で出庫負荷算出部４３が選択した機種８７について、配置選択工程Ｓ４３１で出庫負荷算出部４３が選択した配置における動線距離を算出する。
【０１２０】
機種出庫負荷算出工程Ｓ４３５において、出庫負荷算出部４３は、動線距離算出工程Ｓ４３４で動線距離算出部４２が算出した動線距離と、機種記憶部１２が記憶した機種データによって表わされる出庫頻度とに基づいて、機種選択工程Ｓ４３３で出庫負荷算出部４３が選択した機種８７について、配置選択工程Ｓ４３１で出庫負荷算出部４３が選択した配置における出庫負荷を算出する。
【０１２１】
出庫負荷加算工程Ｓ４３６において、出庫負荷算出部４３は、記憶している合計出庫負荷に、機種出庫負荷算出工程Ｓ４３５で算出した出庫負荷を加算した値を算出する。出庫負荷算出部４３は、算出した値を合計出庫負荷として記憶する。
出庫負荷算出部４３は、機種選択工程Ｓ４３３に処理を戻し、次の機種８７を選択する。
【０１２２】
出庫負荷出力工程Ｓ４３７において、出庫負荷算出部４３は、記憶している合計出庫負荷を出力する。出庫負荷算出部４３は、配置選択工程Ｓ４３１に処理を戻し、次の配置を選択する。
【０１２３】
図２０は、この実施の形態における棚配置変更工程Ｓ４６の流れの一例を示す図である。
【０１２４】
棚配置変更工程Ｓ４６は、例えば、配置選択工程Ｓ４６１と、変更終了判定工程Ｓ４６２と、文字選択工程Ｓ４６３と、文字交換工程Ｓ４６４と、交換終了判定工程Ｓ４６５と、文字列出力工程Ｓ４６６とを有する。棚仮配置部４１は、棚配置変更工程Ｓ４６を配置選択工程Ｓ４６１から開始する。
【０１２５】
配置選択工程Ｓ４６１において、棚仮配置部４１は、棚配置選択工程Ｓ４４で棚配置選択部４４が選択した配置のなかから、配置を一つ選択する。
すべての配置が選択済であり、未選択の配置が存在しない場合、棚仮配置部４１は、棚配置変更工程Ｓ４６を終了する。
まだ選択していない配置が存在する場合、棚仮配置部４１は、未選択の配置のなかから配置を一つ選択し、変更終了判定工程Ｓ４６２へ処理を進める。
【０１２６】
変更終了判定工程Ｓ４６２において、棚仮配置部４１は、配置選択工程Ｓ４６１で選択した配置をもとにした別の配置の生成を終了するか否かを判定する。例えば、棚仮配置部４１は、配置選択工程Ｓ４６１で選択した配置をもとにした別の配置を表わす部品配置データを文字列出力工程Ｓ４６６で所定の数（例えば３）出力した場合に、配置選択工程Ｓ４６１で選択した配置をもとにした別の配置の生成を終了すると判定する。
配置選択工程Ｓ４６１で選択した配置をもとにした別の配置の生成をまだ終了しないと判定した場合、棚仮配置部４１は、配置選択工程Ｓ４６１で選択した配置を表わす棚配置データ６２を、変更棚配置データとして記憶する。
配置選択工程Ｓ４６１で選択した配置をもとにした別の配置の生成を終了すると判定した場合、棚仮配置部４１は、配置選択工程Ｓ４６１に処理を戻し、次の配置を選択する。
【０１２７】
文字選択工程Ｓ４６３において、棚仮配置部４１は、記憶している変更棚配置データのなかから、ランダムに２つの文字を選択する。
文字交換工程Ｓ４６４において、棚仮配置部４１は、文字選択工程Ｓ４６３で選択した２つの文字を交換した文字列を生成する。棚仮配置部４１は、２つの文字を交換した文字列を変更棚配置データとして記憶する。
【０１２８】
交換終了判定工程Ｓ４６５において、棚仮配置部４１は、文字の交換を終了するか否かを判定する。例えば、棚仮配置部４１は、文字交換工程Ｓ４６４を所定の回数（例えば１０回）実行した場合に、文字の交換を終了すると判定する。あるいは、棚仮配置部４１は、文字交換工程Ｓ４６４を、所定の範囲内（例えば５回以上２０回以下）でランダムに定めた回数実行した場合に、文字の交換を終了すると判定する。あるいは、棚仮配置部４１は、所定の確率（例えば１０％）で文字の交換を終了すると判定する。
文字の交換をまだ終了しないと判定した場合、棚仮配置部４１は、文字選択工程Ｓ４６３に処理を戻し、次に交換する文字を選択する。
文字の交換を終了すると判定した場合、棚仮配置部４１は、文字列出力工程Ｓ４６６へ処理を進める。
【０１２９】
文字列出力工程Ｓ４６６において、棚仮配置部４１は、記憶している変更棚配置データを、生成した別の配置を表わす棚配置データ６２として出力する。棚仮配置部４１は、変更終了判定工程Ｓ４６２に処理を戻す。
【０１３０】
以上説明した配置算出装置（１０）は、専用部品占有面積算出部（２１）と、共用部品占有面積算出部（２２）と、棚内部品配置算出部（２３）と、棚配置算出部（２４）とを有する。
上記専用部品占有面積算出部（２１）は、演算装置（９５）を用いて、製品の複数の種類（機種８７）それぞれについて、上記種類の製品の製造に用いられる部品（８３）のうち、上記種類以外の製品の製造には用いられない専用部品（８４）を棚（８１）に保管する際の占有面積（間口数）を算出する。
上記共用部品占有面積算出部（２２）は、上記演算装置を用いて、上記複数の種類のうち少なくともいずれか２種類以上の製品の製造に用いられる共用部品（８５）を上記棚に保管する際の占有面積を算出する。
上記棚内部品配置算出部（２３）は、上記演算装置を用いて、上記専用部品占有面積算出部及び上記共用部品占有面積算出部が算出した占有面積に基づいて、上記複数の種類それぞれについて、上記種類についての上記専用部品が一箇所にまとめて保管され、かつ、上記共用部品が一箇所にまとめて保管されるという制約条件のもと、上記複数の種類の製品の製造に用いられる部品を保管するために用いられる棚の数が最小になる上記部品の配置を算出する。
上記棚配置算出部（２４）は、上記演算装置を用いて、上記複数の種類それぞれについて、上記種類の製品を製造するために用いられる上記部品を上記棚から取得する頻度と、上記部品を上記棚から取得するための動線距離との積を、出庫負荷とし、上記複数の種類についての出庫負荷の合計が最小になる複数の上記棚の配置を算出する。
【０１３１】
製品の種類ごとに専用部品を一箇所にまとめて保管するので、出庫負荷が小さくなる。これにより、少ない計算量で、出庫負荷の合計が小さい配置を算出することができる。
更に、複数種類の製品に使われる共用部品を一箇所にまとめて保管するので、ある製品に必要な部品を取得するためには、最大でも２箇所に行くだけでよく、出庫負荷が小さくなる。これにより、少ない計算量で、出庫負荷の合計が小さい配置を算出することができる。
また、棚内部品配置算出部が棚のなかにおける部品の配置を最適化し、棚配置算出部が棚の配置を最適化するという２段階に分けて処理をするので、少ない計算量で、出庫負荷の合計が小さい配置を算出することができる。
【０１３２】
上記棚配置算出部（２４）は、棚仮配置部（４１）と、動線距離算出部（４２）と、出庫負荷算出部（４３）と、棚配置選択部（４４）とを有する。
上記棚仮配置部は、複数の上記棚（８１）の配置を複数生成する。
上記動線距離算出部は、上記棚仮配置部が生成した複数の配置のそれぞれについて、上記動線距離を算出する。
上記出庫負荷算出部は、上記動線距離算出部が算出した動線距離に基づいて、上記出庫負荷を算出する。
上記棚配置選択部は、上記出庫負荷算出部が算出した出庫負荷に基づいて、上記棚仮配置部が生成した複数の配置のなかから、上記出庫負荷の合計が最小になる配置を選択する。
【０１３３】
これにより、最適な棚の配置を容易に算出することができる。
【０１３４】
上記棚仮配置部（４１）は、生成した複数の配置のうち少なくともいずれかの配置の一部を変更することにより、更に別の配置を生成する。
【０１３５】
これにより、最適な棚の配置を容易に算出することができる。
【０１３６】
上記動線距離算出部（４２）は、倉庫（８０）の入口（７４）の位置と、上記倉庫の出口（７５）の位置と、上記倉庫のなかに複数の上記棚を配置した場合に上記部品が保管される位置とに基づいて、上記動線距離を算出する。
【０１３７】
これにより、動線距離を正確に算出することができる。
【０１３８】
上記動線距離算出部（４２）は、上記専用部品（８４）と上記共用部品（８５）とを用いて製造される種類の製品についての動線距離として、上記倉庫（８０）の入口（７４）の位置から、上記専用部品が保管された棚（８１）から上記専用部品を取得する位置（取得点７３）と、上記共用部品が保管された棚から上記共用部品を取得する位置（７３）とを通って、上記倉庫の出口（７５）の位置まで至る動線距離を算出する。
【０１３９】
これにより、動線距離を正確に算出することができる。
【０１４０】
上記棚配置算出部（２４）は、遺伝的アルゴリズムを用いて、上記出庫負荷の合計が最小になる複数の上記棚（８１）の配置を算出する。
【０１４１】
これにより、最適な棚の配置を容易に算出することができる。
【０１４２】
上記棚内部品配置算出部（２３）は、部品仮配置部（３１）と、棚数算出部（３２）と、部品配置選択部（３３）とを有する。
上記部品仮配置部は、上記部品（８３）の配置を複数生成する。
上記棚数算出部は、上記部品仮配置部が生成した複数の配置のそれぞれについて、上記棚（８１）の数を算出する。
上記部品配置選択部は、上記棚数算出部が算出した棚の数に基づいて、上記部品仮配置部が生成した複数の配置のなかから、上記棚の数が最小になる配置を選択する。
【０１４３】
これにより、最適な部品の配置を容易に算出することができる。
【０１４４】
上記部品仮配置部（３１）は、生成した複数の配置のうち少なくともいずれかの配置の一部を変更することにより、更に別の配置を生成する。
【０１４５】
これにより、最適な部品の配置を容易に算出することができる。
【０１４６】
上記棚内部品配置算出部（２３）は、遺伝的アルゴリズムを用いて、上記棚の数が最小になる上記部品の棚の配置を算出する。
【０１４７】
これにより、最適な部品の配置を容易に算出することができる。
【０１４８】
実施の形態２．
実施の形態２について、図２１〜図２２を用いて説明する。
なお、実施の形態１と共通する部分については、同一の符号を付し、説明を省略する。
【０１４９】
この実施の形態における配置算出装置１０は、実施の形態１と同様である。
【０１５０】
図２１は、この実施の形態における倉庫８０の一例を示す平面図である。
【０１５１】
倉庫８０には、複数の棚８１ａ〜８１ｈが設置されている。複数の棚８１ａ〜８１ｈは、同じ棚である。棚８１ａと棚８１ｂとは、通路を挟んで向かい合っている。棚８１ｃと棚８１ｄとは、通路を挟んで向かい合っている。棚８１ｅと棚８１ｆとは、通路を挟んで向かい合っている。棚８１ｇと棚８１ｈとは、通路を挟んで向かい合っている。
【０１５２】
図２２は、この実施の形態における棚８１の一例を示す図である。
【０１５３】
実施の形態１と同様、棚８１には、複数の間口８２が設けられている。複数の間口８２は、同じ幅を有する。棚８１ａには、間口８２ａ〜８２ｈが設けられている。棚８１ｂには、間口８２ｉ〜８２ｐが設けられている。
【０１５４】
２つの棚８１が向かい合って配置されているので、１つの機種８７の専用部品８４や共用部品８５を一箇所にまとめて保管するにあたり、１つの棚８１に横一列に並べて保管するよりも、向かい合った２つの棚８１に保管するほうが移動が少なくなり、動線距離が短くなる。
例えば、ある機種８７の専用部品８４を保管するのに４つの間口８２が必要である場合、棚８１ａの４つの間口８２ａ，８２ｂ，８２ｃ，８２ｄに保管すると、その専用部品８４を取得するためには、少なくとも、間口８２ａの前から間口８２ｄの前まで移動する必要がある。これに対し、棚８１ａの２つの間口８２ａ，８２ｂと、棚８１ｂの２つの間口８２ｉ，８２ｊとに保管すれば、間口８２ａと間口８２ｉとの間から間口８２ｂと間口８２ｊとの間まで移動すればよくなる。
【０１５５】
そこで、この実施の形態における配置算出装置１０は、向かい合って配置された２つの棚８１を１つにまとめた仮想的な棚８８に対して処理を行い、最適な部品８３の配置を算出する。仮想的な棚８８は、実際の棚８１の２倍の数の間口８９を有する。実際の棚８１において向かい合っている間口８２は、仮想的な棚８８において隣り合った間口８９に対応する。
例えば、棚８８ａは、棚８１ａと棚８１ｂとを１つにまとめた仮想的な棚である。棚８８ａは、間口８９ａ〜８９ｐを有する。間口８９ａは、棚８１ａの間口８２ａに対応する。間口８９ｂは、棚８１ｂの間口８２ｉに対応する。間口８９ｃは、棚８１ａの間口８２ｂに対応する。間口８９ｄは、棚８１ｂの間口８２ｊに対応する。
【０１５６】
すなわち、この例において、「一箇所にまとめて保管」とは、向かい合って配置された２つの棚８１を一つの棚８８とみなし、向かい合っている間口８２を隣接した間口８９とみなして、一つの棚８８の連続した間口８９を使って保管することを意味する。
【０１５７】
棚内部品配置算出部２３は、このような変換をした棚８８について、部品８３の配置を算出する。
【０１５８】
棚配置算出部２４は、このような変換をした棚８８を、向かい合って配置された２つの棚８１に対応づける配置を算出する。
【０１５９】
これにより、２つの棚８１が向かい合って配置された倉庫８０についても、最適な部品８３の配置を算出することができる。
【０１６０】
以上、各実施の形態で説明した構成は、一例であり、他の構成であってもよい。例えば、本質的でない部分の構成を、他の構成で置き換えた構成であってもよい。
【０１６１】
例えば、倉庫の床面の形状は、正方形や長方形などの矩形に限らず、他の形状であってもよい。
倉庫内における棚の配置は、一列ではなく、複数列であってもよい。
棚のなかに部品を保管する単位は、間口ではなく、例えば棚板で区切られた「段」を単位とするなど、他の単位であってもよい。
【０１６２】
以上説明した部品保管配置自動算出装置（配置算出装置１０）は、
部品倉庫（倉庫８０）内の部品棚（棚８１）の配置を自動算出する。部品（８３）を組み付け先となる製品機種（８７）ごとにまとめ、棚の単位とする。棚の単位の組み合わせを最適化し、列の単位を構成する。列の単位の組み合わせを最適化し、最終的な棚の配置を決定する。
部品を保管する設備を、棚の単位と、棚で構成する列の単位に分け、別の指標で段階的に最適化を行うことで、複雑な部品配置の組み合わせ最適化問題を解決する。それぞれの最適化処理には、例えば遺伝的アルゴリズムを適用する。
【０１６３】
これにより、出庫頻度が高い部品を出入口の近くに配置するなどの単純な方式では算出することができない最適な配置を、少ない計算量で算出することができる。
【０１６４】
これにより、部品を出庫する際に部品と部品の間を行ったり来たりする無駄な移動が不要になる。
また、機種のモデルチェンジや生産頻度が変化しても、手作業で再設計する作業が不要になる。
更に、部品倉庫内の部品配置を決定する際、部品の出庫頻度を考慮した出庫時の動線距離と、保管面積とのバランスをとり、部品配置を理論的かつ定量的に最適化することができる。
【符号の説明】
【０１６５】
１０  配置算出装置、１１  部品記憶部、１２  機種記憶部、１３  棚記憶部、１４  通路記憶部、２１  専用部品占有面積算出部、２２  共用部品占有面積算出部、２３  棚内部品配置算出部、２４  棚配置算出部、２５  配置出力部、３１  部品仮配置部、３２  棚数算出部、３３  部品配置選択部、３６  部品配置出力部、４１  棚仮配置部、４２  動線距離算出部、４３  出庫負荷算出部、４４  棚配置選択部、４７  棚配置出力部、６１  部品配置データ、６２  棚配置データ、７１  動線、７２  分岐点、７３  取得点、７４  入口、７５  出口、７６  経路、８０  倉庫、８１，８８  棚、８２，８９  間口、８３  部品、８４  専用部品、８５  共用部品、８６  製品、８７  機種、９１  制御装置、９２  入力装置、９３  出力装置、９４  記憶装置、９５  演算装置、Ｓ１０  配置算出処理、Ｓ２１  占有面積算出処理、Ｓ２３  棚内部品配置算出処理、Ｓ２４  棚配置算出処理、Ｓ２５  配置出力処理、Ｓ３１  部品仮配置工程、Ｓ３１１，Ｓ４３３  機種選択工程、Ｓ３１２  専用部品判定工程、Ｓ３１３，Ｓ３１５，Ｓ３２３，Ｓ４１２  文字取得工程、Ｓ３１４  共用部品判定工程、Ｓ３１６，Ｓ４１３  文字列生成工程、Ｓ３１７，Ｓ３５６，Ｓ４１４，Ｓ４６６  文字列出力工程、Ｓ３１８，Ｓ３４，Ｓ４１５  終了判定工程、Ｓ３２  棚数算出工程、Ｓ３２１，Ｓ３５１，Ｓ４３１，Ｓ４６１  配置選択工程、Ｓ３２２，Ｓ４３２  初期化工程、Ｓ３２４  占有面積取得工程、Ｓ３２５  占有面積加算工程、Ｓ３２６  棚数増加工程、Ｓ３２７  棚数出力工程、Ｓ３３，Ｓ４１１  部品配置選択工程、Ｓ３５  部品配置変更工程、Ｓ３５２，Ｓ４６２  変更終了判定工程、Ｓ３５３，Ｓ４６３  文字選択工程、Ｓ３５４，Ｓ４６４  文字交換工程、Ｓ３５５，Ｓ４６５  交換終了判定工程、Ｓ３６  部品配置出力工程、Ｓ４１  棚仮配置工程、Ｓ４３  出庫負荷算出工程、Ｓ４３４  動線距離算出工程、Ｓ４３５  機種出庫負荷算出工程、Ｓ４３６  出庫負荷加算工程、Ｓ４３７  出庫負荷出力工程、Ｓ４４  棚配置選択工程、Ｓ４５  終了判定工程、Ｓ４６  棚配置変更工程、Ｓ４７  棚配置出力工程。
【図１】
2014034442.tif 000003
【図２】
2014034442.tif 000004
【図３】
2014034442.tif 000005
【図４】
2014034442.tif 000006
【図５】
2014034442.tif 000007
【図６】
2014034442.tif 000008
【図７】
2014034442.tif 000009
【図８】
2014034442.tif 000010
【図９】
2014034442.tif 000011
【図１０】
2014034442.tif 000012
【図１１】
2014034442.tif 000013
【図１２】
2014034442.tif 000014
【図１３】
2014034442.tif 000015
【図１４】
2014034442.tif 000016
【図１５】
2014034442.tif 000017
【図１６】
2014034442.tif 000018
【図１７】
2014034442.tif 000019
【図１８】
2014034442.tif 000020
【図１９】
2014034442.tif 000021
【図２０】
2014034442.tif 000022
【図２１】
2014034442.tif 000023
【図２２】
2014034442.tif 000024