(57)【特許請求の範囲】
【請求項１】
形状の異なる２種類の部品を交互に連結してなり、前記各部品の切断および連結が可能な長尺製品のための在庫引当シミュレーション装置であって、
前記長尺製品の在庫品にかかる情報を保持した在庫品データを取得し、複数の在庫品データを組合せた場合に、前記複数の在庫品データにかかる各在庫品の長さの合計が受注長を満たす在庫品データについて仮引当を行う、仮引当部と、
前記仮引当部において仮引当を行った在庫品データにかかる在庫品の端部の部品がいずれの形状であるかに基づいて、複数の在庫品データにかかる各在庫品の出荷時に要する切断および連結の作業コストを算出して、本引当を行うべき在庫品データを決定する、本引当部とを備える在庫引当シミュレーション装置。
【請求項２】
前記仮引当部は、
各在庫品の長さの降順に整列された在庫品データを有する在庫品データ群を取得し、各在庫品データにかかる在庫品の長さの合計が受注長に達するまで、前記整列された順に前記在庫品データ群から在庫品データの仮引当を行う第１仮引当部と、
前記第１仮引当部において仮引当を行った全ての在庫品データのうち、最後に仮引当を行った在庫品データを除く他の在庫品データに付加すると、各在庫品データにかかる在庫品の長さの合計が前記受注長に達するようになる在庫品データについて、前記在庫品データ群からさらに仮引当を行う第２仮引当部とを備える、請求項１に記載の在庫引当シミュレーション装置。
【請求項３】
前記長尺製品は、チェーン製品であり、
前記形状の異なる２種類の部品は、前記チェーン製品を構成するための内リンクと外リンクとであり、
前記本引当部は、前記在庫品の端部の部品が内リンクおよび外リンクのいずれであるかを判断して、前記在庫品に要する切断および連結のコストを算出する、請求項１または２に記載の在庫引当シミュレーション装置。
【請求項４】
前記本引当部は、本引当を行うべき在庫品データを決定する場合に、長さが大きい在庫品の在庫品データを優先して選択する、請求項１〜３のいずれか一項に記載の在庫引当シミュレーション装置。
【請求項５】
前記本引当部は、本引当を行うべき在庫品データを決定する場合に、連結部分における各在庫品の端部の部品が同種の形状でない在庫品の在庫品データを優先して選択する、請求項１〜４のいずれか一項に記載の在庫引当シミュレーション装置。
【請求項６】
前記本引当部は、本引当を行うべき在庫品データを決定する場合に、連結部分における各在庫品の端部の部品が同種の形状である在庫品の在庫品データを優先して選択する、請求項１〜４のいずれか一項に記載の在庫引当シミュレーション装置。
【請求項７】
前記長尺製品を計量した計量値を取得し、当該計量値と前記形状の異なる２種類の各部品の単位当たりの重量値とに基づいて、前記在庫品の端部の部品がいずれの形状であるかを判定する端部形状判定部をさらに備える、請求項１〜６のいずれか一項に記載の在庫引当シミュレーション装置。
【請求項８】
形状の異なる２種類の部品を交互に連結してなり、前記各部品の切断および連結が可能な長尺製品のための在庫引当シミュレーション装置をコンピュータを用いて実現するための在庫引当シミュレーションプログラムであって、
前記長尺製品の在庫品にかかる情報を保持した在庫品データを取得し、複数の在庫品データを組合せた場合に、前記複数の在庫品データにかかる各在庫品の長さの合計が受注長を満たす在庫品データについて仮引当を行う、仮引当処理と、
前記仮引当処理において仮引当を行った在庫品データにかかる在庫品の端部の部品がいずれの形状であるかに基づいて、複数の在庫品データにかかる各在庫品の出荷時に要する切断および連結の作業コストを算出して、本引当を行うべき在庫品データを決定する、本引当処理とをコンピュータに実行させる、在庫引当シミュレーションプログラム。
【請求項９】
形状の異なる２種類の部品を交互に連結してなり、前記各部品の切断および連結が可能な長尺製品に対する在庫引当シミュレーションの結果に基づいて生成される出力データを格納する記憶媒体の製造方法であって、
前記長尺製品の在庫品にかかる情報を保持した在庫品データを取得し、複数の在庫品データを組合せた場合に、前記複数の在庫品データにかかる各在庫品の長さの合計が受注長を満たす在庫品データについて仮引当を行う、仮引当工程と、
前記仮引当工程において仮引当を行った在庫品データにかかる在庫品の端部の部品がいずれの形状であるかに基づいて、複数の在庫品データにかかる各在庫品の出荷時に要する切断および連結の作業コストを算出して、本引当を行うべき在庫品データを決定する、本引当工程と、
前記決定された在庫品データに基づいて在庫引当シミュレーションの処理結果を示す出力データを生成し、当該生成した出力データを記憶媒体に格納する、出力工程と、
を含む記憶媒体の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、在庫引当を行うための在庫引当シミュレーション装置および在庫引当シミュレーション方法に関する。
【背景技術】
【０００２】
いわゆる長尺製品の製造業等の分野においては、顧客からの注文を受けると、予め製造しておいた在庫品を用いて注文長に応じた在庫を引き当てることが行われている。例えば、ロール状製品の在庫引当に関する技術においては、同一商品または同一商品コードの複数の注文に対して、注文毎に注文長に応じた在庫引当を行い、引き当てが不可能な注文に対しては、残った注文長をまとめた後に、その総注文長に応じた在庫を引き当てることが行われている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２９９８７５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記技術においては、注文長に応じた長さの在庫引当を行うにとどまり、在庫引当時に発生する作業コストまでをも考慮して在庫引当を行うものではない。
【０００５】
例えば、いわゆる長尺製品である産業用チェーンの在庫管理においては、予め一定長の製品を製造しておき、製造した製品を在庫品（例えば、リール在庫品。）として倉庫に保管している。そして、顧客からの注文を受けると、受注長を満たすことのできる在庫品を倉庫からいくつか探し出し、必要に応じてチェーンの切断作業や連結作業等を行うことにより、受注長に対応したチェーンに編成し直して出荷している。具体的にいえば、作業者は、在庫引当を行う在庫品対して、受注長よりも在庫品が長ければ在庫品を切断し、受注長よりも在庫品が短ければいくつかのチェーンを連結して、引き当てた在庫品が受注長に合うように調整している。
【０００６】
しかし、例えば、在庫引当時にどの在庫品をピッキングして使用するかによって、編成作業の回数やそれにともなう部品切断時の損耗数が異なってくる。言い換えれば、在庫引当の対象となる在庫品の長さの組合せによって作業コストが異なり、ひいては製造原価までも異なってくる。このように、在庫引当の対象となる在庫品の長さの組合せによって、各在庫引当時に発生する作業コストに差異が生じることは、管理上も望ましいとはいえない。このため、現状では、在庫引当時に発生する作業コストまでをも考慮して在庫引当を行うことができないという問題がある。
【０００７】
本発明は、上記のような点に鑑みてなされたものであり、在庫引当時に発生する作業コストを考慮して在庫引当を行うことのできる在庫引当シミュレーション装置および在庫引当シミュレーション方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、以下に開示する在庫引当シミュレーション装置は、形状の異なる２種類の部品を交互に連結してなり、前記各部品の切断および連結が可能な長尺製品のための在庫引当シミュレーション装置であって、前記長尺製品の在庫品にかかる情報を保持した在庫品データを取得し、複数の在庫品データを組合せた場合に、前記複数の在庫品データにかかる各在庫品の長さの合計が受注長を満たす在庫品データについて仮引当を行う、仮引当部と、前記仮引当部において仮引当を行った在庫品データにかかる在庫品の端部の部品がいずれの形状であるかに基づいて、複数の在庫品データにかかる各在庫品の出荷時に要する切断および連結の作業コストを算出して、本引当を行うべき在庫品データを決定する、本引当部とを備える。
【発明の効果】
【０００９】
本願明細書の開示によれば、在庫引当時に発生する作業コストを考慮して在庫引当を行うことが可能となる。
【図面の簡単な説明】
【００１０】
【図１】在庫引当シミュレーション装置１における各機能部の関係の一例を示す図である。
【図２】組合せ在庫引当部１３における各機能部の関係の一例を示す図である。
【図３】図１および図２に示した在庫引当シミュレーション装置１を、ＣＰＵを用いて実現したハードウェア構成の例を示す図である。
【図４Ａ】在庫引当シミュレーション処理の概要を模式的に示す図である。
【図４Ｂ】一般的なローラチェーンの構成の一例を示す図である。
【図５】在庫引当シミュレーション装置１のＣＰＵ３２で実行される在庫引当シミュレーションプログラムに基づく処理におけるオペレーションチャートの一例を示す図である。
【図６】図５のＯｐ４１３のサブルーチン処理におけるオペレーションチャートの一例を示す図である。
【図７】図５のＯｐ４１３のサブルーチン処理におけるオペレーションチャートの一例を示す図である。
【図８】受注データ１５の一例を示す図である。
【図９Ａ】在庫品データベース１６の一例を示す図である。
【図９Ｂ】抽出した在庫品データ群の一例を示す図である。
【図９Ｃ】仮引当した在庫品データを抽出した在庫品データ群の一例を示す図である。
【図９Ｄ】仮引当した在庫品データを抽出した在庫品データ群の一例を示す図である。
【図１０】引当結果データ１７の一例を示す図である。
【図１１】引当結果画面の一例を示す図である。
【図１２】作業工数データ１８の一例を示す図である。
【図１３】図５のＯｐ４１３のサブルーチン処理におけるオペレーションチャートの一例を示す図である。
【図１４】本実施形態にかかる在庫引当シミュレーション装置１における各機能部の関係の一例を示す図である。
【図１５】在庫品データ更新部１９および端部形状判定部２０において実行される端部形状判定・更新処理におけるオペレーションチャートの一例を示す図である。
【図１６】サーバとしての在庫引当シミュレーション装置１が、ネットワークＮを介して接続可能なクライアント端末から受注データを取得して、在庫の引当結果データを当該クライアント端末に送信（出力）する形態におけるシステム構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下においては、本発明の実施形態について図面を用いて具体的に説明する。
【００１２】
［１．第１の実施形態］
以下、本実施形態にかかる在庫引当シミュレーション装置を、コンピュータ装置を用いて構成する場合の例について説明する。なお、本実施形態にかかる在庫引当シミュレーション装置を、例えばハンディターミナル、ＰＤＡ（Personal Digital Assistance）または携帯電話等の装置を用いて構成してもよい。
【００１３】
また、本実施形態にかかる在庫引当シミュレーション装置は、形状の異なる２種類の部品を交互に連結してなり、各部品の切断および連結が可能な長尺製品であるチェーン製品のための在庫引当シミュレーション装置である。ここで、チェーン製品とは、形状の異なる２種類の部品としての内リンクと外リンクとを含んで構成されるものである。図４Ｂは、一般的なローラチェーン４００の構成の一例を示す図である。特に、チェーン製品がローラチェーンである場合には、内リンク４０１は、２個のブッシュ４０２が２枚の内プレート４０３に圧入され、ブッシュ４０２の外側にローラ４０４が回転できるようにはめられて構成され、外リンク４０５は、２本のピン４０６が２枚の外プレート４０７に圧入されて構成される。
【００１４】
本実施形態においては、内リンク４０１と外リンク４０５が、形状の異なる２種類の部品にそれぞれ該当する。また、ローラチェーン４００が、各部品の切断および連結が可能な長尺製品に該当する。
【００１５】
本実施形態においては、内リンク４０１と外リンク４０５とを連結する場合の作業コストは、内リンク４０１同士または外リンク４０５同士を連結する場合の作業コストに比べて小さくなるものとして説明する。また、内リンク４０１同士を連結する場合は、内リンク４０１同士のうちの一方のピン４０６を抜いて切断し、一方の端部の形状を外リンクにしてから他方の内リンクと連結するものとする。この場合、１リンクの損耗が発生する。さらに、外リンク４０５同士を連結する場合は、外リンク４０５同士のうちの一方のピン４０６を抜いて切断し、端部の形状を内リンクにしてから他方の外リンクと連結するものとする。この場合も、１リンクの損耗が発生する。
【００１６】
［１−１．システム構成］
図１は、本実施形態にかかる在庫引当シミュレーション装置における各機能部の関係の一例を示す図である。図１に示す在庫引当シミュレーション装置１は、現在庫引当部１１、一部在庫引当部１２、組合せ在庫引当部１３、結果表示部１４、受注データ１５、在庫品データベース１６、引当結果データ１７および作業工数データ１８を備える。
【００１７】
図２は、上記組合せ在庫引当部１３における各機能部の関係の一例を示す図である。図２に示す組合せ在庫引当部１３は、データ抽出部２１、データソート部２２、仮引当部２３および本引当部２６を備える。また、仮引当部２３は、第１仮引当部２４および第２仮引当部２５を備える。
【００１８】
仮引当部２３は、長尺製品の在庫品にかかる情報を保持した在庫品データを取得し、複数の在庫品データを組合せた場合に、複数の在庫品データにかかる各在庫品の長さの合計が受注長を満たす在庫品データについて仮引当を行う。
【００１９】
特に、仮引当部２３の第１仮引当部２４は、各在庫品の長さの降順に在庫品データが整列された在庫品データを有する在庫品データ群を取得し、各在庫品データにかかる在庫品の長さの合計が受注長に達するまで、前記整列された順に前記在庫品データ群から在庫品データの仮引当を行う。
【００２０】
また、仮引当部２３の第２仮引当部２５は、第１仮引当部２４において仮引当を行った全ての在庫品データのうち、最後に仮引当を行った在庫品データを除く他の在庫品データに付加すると、各在庫品データにかかる在庫品の長さの合計が受注長に達するようになる在庫品データについて、在庫品データ群からさらに仮引当を行う。
【００２１】
本引当部２６は、仮引当部２３において仮引当を行った在庫品データにかかる在庫品の端部の部品がいずれの形状であるかに基づいて、複数の在庫品データにかかる各在庫品の出荷時に要する切断および連結の作業コストを算出して、本引当を行うべき在庫品データを決定する。
【００２２】
このように、仮引当を行った在庫品データの中から、在庫品データにかかる在庫品の端部の部品がいずれの形状であるかを判断して、受注長を満たし、かつ、作業コストが最小となる在庫品データを決定するように、在庫引当シミュレーション装置を構成することにより、在庫引当時に発生する作業コストを考慮して在庫引当を行うことが可能となる。
【００２３】
なお、図１および図２の在庫引当シミュレーション装置１において示した各機能部は、プログラムによって実現されるＣＰＵの機能を含む概念である。ここで、プログラムとは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【００２４】
［１−２．ハードウェア構成］
図３は、図１および図２に示した在庫引当シミュレーション装置１としてのコンピュータ装置を、ＣＰＵを用いて実現したハードウェア構成の例を示す図である。上記在庫引当シミュレーション装置１は、ディスプレイ３１、ＣＰＵ３２、メモリ３３，キーボード／マウス３４、ハードディスク３５、ディスクドライブ３６および通信回路３７を少なくとも備える。
【００２５】
ハードディスク３５には、ＯＳ（オペレーティング・システム、図示せず。）の他、在庫引当シミュレーションプログラム３５ａ、受注データ１５、在庫品データベース１６、引当結果データ１７および作業工数データ１８等が記録される。在庫引当シミュレーションプログラム３５ａは、ディスクドライブ３６を介して、例えば、ＣＤ−ＲＯＭ等の光学式ディスク３６ａに記録されたプログラムを読み出してインストールされたものである。なお、上記インストールは、通信回路３７を用いてネットワークＮを介してサーバ装置等に記録されたプログラムをダウンロードして行うものであってもよい。
【００２６】
ＣＰＵ３２は、ＯＳおよび在庫引当シミュレーションプログラム３５ａ等に基づいた処理を実行する。図１および図２に示した在庫引当シミュレーション装置１を構成する、現在庫引当部１１、一部在庫引当部１２、組合せ在庫引当部１３、結果表示部１４、データ抽出部２１、データソート部２２、仮引当部２３、第１仮引当部２４、第２仮引当部２５および本引当部２６、は、ＣＰＵ３２上において返信メール作成プログラム２６ａを実行することによって実現される。
【００２７】
［１−３．在庫引当シミュレーション処理の概要］
図４は、本実施形態にかかる在庫引当シミュレーション処理の概要を模式的に示す図である。図４の４０に示すように、顧客からの注文を受けたローラチェーンの長さを示す受注長が「１００リンク」である場合を考える。ここで、受注長とは、チェーンのリンクの数によって表される長さ（リンク長）を示す。例えば、内リンクまたは外リンクの個数を１リンクとし、１本のチェーンの長さをリンクの数で表現する。
【００２８】
本実施形態にかかる在庫引当シミュレーション装置では、効率的な在庫引当を実現するため、受注データに対して、現在庫引当、一部在庫引当および組合せ在庫引当の順に、在庫引当シミュレーション処理を実行する。
【００２９】
まず、現在庫引当について説明する。チェーンのリール在庫として様々な長さのチェーンが在庫されているが、必ずしも受注長と合致するリール在庫が存在するとは限らない。このため、切断や連結などの作業コストが全く発生しない在庫品として、受注長と在庫長とが合致する在庫品を引き当てる。ここで、在庫長とは、リール在庫として在庫しているチェーンのリンクを示す。
【００３０】
よって、図４の４１に示す現在庫引当の場合、「切断０回、連結０回」の作業コストが発生する（つまり、作業コストが発生しない）。
【００３１】
次に、一部在庫引当について説明する。受注長と合致するリール在庫が存在しない場合（つまり、現在庫引当ができない場合）、作業コストが最小限で済む在庫品、つまり切断のみの作業コストが発生する在庫品として、受注長よりも長く、かつ、受注長との差が最小である在庫品を引き当てる。
【００３２】
よって、図４の４２に示す一部在庫引当の場合、「１２０リンク」の在庫品の「１００リンク目」を切断することにより、在庫引当を行う。このため、「切断１回、連結０回」の作業コストが発生する。なお、上記においては、切断の作業コストは、連結の作業コストよりも小さいものとしている。
【００３３】
続いて、組合せ在庫引当について説明する。受注長よりも長いリール在庫が存在しない場合（つまり、現在庫引当も一部在庫引当もできない場合）、連結および切断の作業コストがなるべく小さくて済む在庫品として、受注長が最大の在庫品を含み、かつ、連結数が最小となる在庫品を複数個組合せて引き当てる。
【００３４】
よって、図４の４３に示す組合せ在庫引当の場合、「５０リンク」、「４０リンク」および「３０リンク」の３つの在庫品を連結し、「３０リンク」の在庫品の「１０リンク目」を切断することにより、在庫引当を行う。このため、「切断１回、連結２回」の作業コストが発生する。
【００３５】
一方、図４の４４に示す組合せ在庫引当の場合、「５０リンク」、「２０リンク」、「２０リンク」および「２０リンク」の４つの在庫品を連結し、最後に連結した「２０リンク」の在庫品の「１０リンク目」を切断することにより、在庫引当を行う。このため、「切断１回、連結３回」の作業コストが発生する。この場合、４４に示す作業コストは、４３に示す作業コストよりも大きくなるため、４４ではなく４３に示す在庫引当を採用する。
【００３６】
以上により、本実施形態にかかる在庫引当シミュレーション装置によれば、各在庫引当時に発生し得る切断および連結の作業コストを考慮して在庫引当を行うことが可能となる。
【００３７】
なお、上述したように、在庫品がローラチェーンの場合、連結部分の部品形状が内リンクであるか、外リンクであるかによって、連結の作業コストが異なる。このため、図４においては示されていないが、組合せ在庫引当においては、ローラチェーンの端部の形状も考慮して作業コストを算出する。
【００３８】
［１−４．在庫引当シミュレーションプログラムの処理内容］
上述の図１〜４に加え、図５〜図１２を用いて、上記在庫引当シミュレーション装置１における在庫引当シミュレーションプログラム３５ａの処理内容を説明する。在庫引当シミュレーション装置１は、図示しない受注サーバ装置と接続可能である。ＣＰＵ３２は、この受注サーバ装置からネットワークＮを介して受注データ１５を取得し、取得した受注データ１５の各受注レコードに対して在庫しているリール在庫を引き当てるために、在庫引当シミュレーション処理を実行する。
【００３９】
図５は、在庫引当シミュレーション装置のＣＰＵ３２で実行される在庫引当シミュレーションプログラムに基づく処理（在庫引当シミュレーション処理）を示すオペレーションチャートの一例を示す図である。上述したように、この在庫引当シミュレーション処理では、効率的な在庫引当を実現するため、取得した受注データに対して、現在庫引当、一部在庫引当および組合せ在庫引当の順に実行する。
【００４０】
［１−４−１．現在庫引当処理］
まず、現在庫引当について説明する。図５に示す在庫引当シミュレーション処理において、ＣＰＵ３２は、受注データ１５に含まれる各受注レコードをソートする（Ｏｐ４０１）。例えば、出荷予定日、受注品番および受注長（リンク）の順にソート（並び替え）する。なお、出荷予定日および受注品番のソート順序（昇順または降順）は任意であるが、受注長（リンク）のソート順序は降順とすることが好ましい。
【００４１】
ＣＰＵ３２は、ソートした受注データ１５から受注レコードを１件読み込む（Ｏｐ４０２）。図８は、受注データ１５の一例を示す図である。例えば、図８の受注レコード８１を読み込む。
【００４２】
ＣＰＵ３２は、読み込んだ受注レコードに基づいて、在庫品データベース１６に保持された在庫品データを検索する（Ｏｐ４０３）。図９Ａは、在庫品データベース１６の一例を示す図である。例えば、図８の受注レコード８１の品番、受注長（リンク）、開始リンク形状および終端リンク形状に基づいて条件が合致する在庫品レコードを検索する。
【００４３】
ＣＰＵ３２は、在庫品データを検索した結果、受注長と在庫長とが合致するという条件を含むすべての条件（例えば、品番、開始リンク形状および終端リンク形状の形状が同一であるという条件等。）が合致する在庫品データが存在すると判断する場合には（Ｏｐ４０４）、切断作業コストおよび連結作業コストをそれぞれ「０」とし、この在庫品データのロットを受注レコードに対して引き当てる（Ｏｐ４０５）。例えば、図８の受注レコード８１（注番「１０１」、出荷予定日「２０１０／４／１７」）の品番「Ａ１」、受注長（リンク）「１００」、開始リンク形状「内リンク」および終端リンク形状「内リンク」は、図９Ａの在庫品レコード９１の品番「Ａ１」、在庫長（リンク）「１００」、開始リンク形状「内リンク」および終端リンク形状「内リンク」と合致しているので、在庫品データのロットが存在すると判断し、在庫品レコード９１にかかる在庫品データのロット「Ｌ１０２」を受注レコード８１に対して引き当てる。
【００４４】
図１０は、引当結果データ１７の一例を示す図である。在庫を引き当てる場合、ＣＰＵ３２は、引当結果データ１７に引当結果レコードを追加する。これにより、例えば、ＣＰＵ３２は、後述するＯｐ４１５において引当結果をディスプレイ３１に表示させることができる。Ｏｐ４０５の場合、引当結果データ１７にレコード１０１が追加される。なお、現在庫引当の場合、在庫長と受注長とが合致するので、切断や連結による作業コストが全く発生しない。このため、引当結果データ１７のレコードにおいて、切断回数および連結回数は、ともに「０回」として設定される。また、引当結果データ１７の損耗リンク数には「０」が設定される。損耗リンク数については後述する。さらに、ＣＰＵ３２は、在庫の引当が完了した受注レコード（例えば、受注レコード８１）に対しては、引当済みフラグとして、例えば「Ｔ」をセットする。また、図示しないが、引き当てた在庫品データベース１６のレコードを更新しておくことが好ましい。例えば、現在庫引当処理の場合、レコード９１の在庫長を「０」にするか、レコード９１を削除することが好ましい。
【００４５】
ＣＰＵ３２は、上記Ｏｐ４０２〜Ｏｐ４０５を、受注データ１５の全レコードに対して実行する（Ｏｐ４０６）。これにより、受注データ１５に対して、切断や連結等の作業コストが発生しない在庫品データを優先的に引き当てることができる。
【００４６】
［１−４−２．一部在庫引当処理］
次に、一部在庫引当について説明する。図５に示す在庫引当シミュレーション処理において、ＣＰＵ３２は、受注データ１５の中から未引当の受注レコードを降順に１件読み込む（Ｏｐ４０７）。例えば、図８の受注レコード８２を読み込む。
【００４７】
ＣＰＵ３２は、読み込んだ受注レコードに基づいて、在庫品データベース１６に保持された在庫品データを検索する（Ｏｐ４０８）。
【００４８】
ＣＰＵ３２は、在庫品データを検索した結果、受注長より大きい在庫長が存在すると判断する場合には（Ｏｐ４０９）、受注長より大きい在庫長を有する在庫品データのロットのうち在庫長が最小（つまり、受注長との差が最小）である在庫品データのロットを１つ抽出した後、切断作業コストを「１回」、連結作業コストを「０回」として、この在庫品データのロットを受注レコードに対して引き当てる（Ｏｐ４１０）。例えば、図８の受注レコード８２（注番「２０１」、出荷予定日「２０１０／４／１７」）の品番「Ｂ２」、受注長（リンク）「１００」、開始リンク形状「内リンク」および終端リンク形状「内リンク」に対して、図９Ａの在庫品レコード９２の品番「Ｂ１」、在庫長（リンク）「１２０」、開始リンク形状「内リンク」および終端リンク形状「内リンク」は、在庫長が受注長よりも大きい。また、在庫品レコード９２は、他の該当レコードと比較して在庫長が最小である。このため、好ましい在庫品データのロットが存在すると判断して、在庫品レコード９２にかかる在庫品データのロット「Ｌ２０２」を受注レコード８２に対して引き当てる。
【００４９】
ＣＰＵ３２は、引当結果データ１７に引当結果レコードを追加する。例えば、引当結果データ１７にレコード１０２が追加される。なお、一部在庫引当の場合、在庫長が受注長よりも大きいので、切断作業コストが発生するが連結作業コストは全く発生しない。このため、引当結果データ１７のレコードにおいて、切断回数は「１回」、連結回数は「０回」として設定される。また、引当結果データ１７の損耗リンク数には「０」が設定される。損耗リンク数については後述する。さらに、現在庫引当処理と同様に、ＣＰＵ３２は、在庫の引当が完了した受注レコード（例えば、受注レコード８２）に対しては、引当済みフラグとして、例えば「Ｔ」をセットする。また、図示しないが、引き当てた在庫品データベース１６のレコードを更新しておくことが好ましい。例えば、一部在庫引当処理の場合、レコード９２の在庫長を「２０」にすることが好ましい。
【００５０】
ＣＰＵ３２は、上記Ｏｐ４０７〜Ｏｐ４１０を、現在庫引当処理において未引当となった受注データ１５の全レコードに対して実行する（Ｏｐ４１１）。これにより、受注データ１５に対して、切断作業コストが発生するが連結作業コストは発生しない在庫品データを優先的に引き当てることができる。
【００５１】
［１−４−３．組合せ在庫引当処理］
次に、組合せ在庫引当について説明する。図５に示す在庫引当シミュレーション処理において、ＣＰＵ３２は、受注データ１５の中から未引当の受注レコードを降順に１件読み込む（Ｏｐ４１２）。例えば、図８の受注レコード８３を読み込む。図６および図７は、図５のＯｐ４１３のサブルーチン処理を示すオペレーションチャートの一例を示す図である。特に、図６は仮引当処理を示し、図７は本引当処理を示している。
【００５２】
［１−４−３−１．仮引当処理］
仮引当処理を示す図６のサブルーチン処理において、ＣＰＵ３２は、読み込んだ受注レコードに基づいて、在庫品データベース１６に保持された在庫品データを検索し、該当する在庫品データのレコードを抽出する（Ｏｐ５０１）。例えば、図８の受注レコード８３（注番「３０１」、出荷予定日「２０１０／４／１７」、品番「Ｃ３」、受注長（リンク）「３２０」、開始リンク形状「外リンク」および終端リンク形状「内リンク」）にかかる品番「Ｃ３」に基づいて、在庫品データベース１６を検索し、条件に合致するデータレコードを在庫品データ群として抽出する。
【００５３】
ＣＰＵ３２は、抽出した在庫品データ群に含まれる各在庫品データレコードを、在庫長の降順にソート（並び替え）する（Ｏｐ５０２）。なお、在庫長の降順にソートすることに代えて、在庫長の降順に各在庫品データレコードを任意の方法で整列させてもよい。例えば、各在庫データレコードに在庫長の順に順位を付して整列させてもよい。
【００５４】
図９Ｂは、抽出した在庫品データ群の一例を示す図である。図９Ｂにおいては、品番「Ｃ３」に基づいて抽出された在庫品データ群に含まれる各在庫品データレコードが、在庫長の降順にソートされている。また、抽出した在庫品データ群には、後述する仮引当を行ったレコードを判別するための仮引当フラグが設けられており、この仮引当フラグには仮引当時において「Ｔ」がセットされる。
【００５５】
ＣＰＵ３２は、変数である判定用合計長を「０」に初期化する（Ｏｐ５０３）。ここで、判定用合計長とは、後述する仮引当を行った全ての在庫品データのうち、最後に仮引当を行った在庫品データを除く他の在庫品データにかかる在庫品の在庫長の総数を算出するための変数である。
【００５６】
ＣＰＵ３２は、在庫品データ群から未仮引当（つまり、仮引当フラグに「Ｔ」がセットされていないデータレコード）の在庫品データレコードを降順に１件読み込む（Ｏｐ５０４）。例えば、図９Ｂの在庫品データレコード９３（ロット番号「Ｌ３０１」、品番「Ｃ３」、在庫長（リンク）「２００」、開始リンク形状「外リンク」および終端リンク形状「内リンク」）を読み込む。
【００５７】
ＣＰＵ３２は、読み込んだ在庫品データレコードについて仮引当を行う（Ｏｐ５０５）。例えば、在庫品データレコード９３の仮引当フラグに、仮引当済みであることを示すフラグ「Ｔ」をセットする。
【００５８】
ＣＰＵ３２は、仮引当合計長が受注長に達したか否かを判断する（Ｏｐ５０６）。ここで、仮引当合計長とは、上記Ｏｐ５０５において仮引当したすべての在庫品データにかかる在庫品の在庫長を加算した値である。例えば、仮引当合計長は、図９Ｂの在庫品データ群の中から、仮引当フラグが「Ｔ」となっているすべてのレコードの在庫長の合計値として求めることができる。
【００５９】
ＣＰＵ３２は、Ｏｐ５０６において、仮引当合計長が受注長に達していなければ（Ｏｐ５０６、Ｎｏ）、上述した判定用合計長に対して、上記において算出した仮引当合計長を加算した後（Ｏｐ５０７）、上記Ｏｐ５０４に戻って、仮引当合計長が受注長に達するまで（Ｏｐ５０６、Ｙｅｓ）同様の処理を繰り返す。
【００６０】
例えば、在庫長が「２００」である在庫品データレコード９３を仮引当した後においては、仮引当合計長が「２００」であるので、未だ仮引当合計長が受注長「３２０」に達していないと判断する。そして、変数である判定用合計長に仮引当合計長「２００」を代入して、判定用合計長を「２００」に更新する。
【００６１】
続いて、在庫長が「８０」である在庫品データレコード９４を仮引当した後においては、仮引当合計長が「２８０」であるので、未だ仮引当合計長が受注長「３２０」に達していないと判断する。そして、判定用合計長に、仮引当合計長「２８０」を代入して、判定用合計長を「２８０」に更新する。
【００６２】
続いて、在庫長が「７０」である在庫品データレコード９５を仮引当した後においては、仮引当合計長が「３５０」であるので、仮引当合計長が受注長「３２０」に達していると判断する。この場合、Ｏｐ５０６からＯｐ５０８に処理を移行する。よって、この場合、判定用合計長は更新されず、「２８０」リンクのままである。
【００６３】
Ｏｐ５０８において、ＣＰＵ３２は、在庫品データ群から未仮引当の在庫品データレコードを降順にさらに１件読み込む（Ｏｐ５０８）。例えば、図９Ｂの在庫品データレコード９６（ロット番号「Ｌ３０４」、品番「Ｃ３」、在庫長（リンク）「６０」、開始リンク形状「外リンク」および終端リンク形状「内リンク」）を読み込む。
【００６４】
ＣＰＵ３２は、上述した判定用合計長に、Ｏｐ５０８において読み込んだ在庫品データレコードの在庫長を加算し、加算後の判定用合計長が受注長に達しているか否かを判断する（Ｏｐ５０９）。このとき、ＣＰＵ３２は、加算後の判定用合計長が受注長に達していれば（Ｏｐ５０９、Ｙｅｓ）、Ｏｐ５０８において読み込んだ在庫品データレコードを仮引当の対象とする（Ｏｐ５１０）。一方、ＣＰＵ３２は、加算後の判定用合計長が受注長に達していなければ（Ｏｐ５０９、Ｎｏ）、Ｏｐ５１０をスキップして、図６のＯｐ６０１に処理を移行する。
【００６５】
例えば、上述した判定用合計長「２８０」リンクに、Ｏｐ５０８において読み込んだ在庫品データレコード９６の在庫長「６０」を加算すると、加算後の仮引当合計長「３４０」リンクは受注長「３２０」リンクに達している。このため、在庫品データレコード９６を仮引当の対象として、仮引当フラグに「Ｔ」をセットする。
【００６６】
続いてＣＰＵ３２は、Ｏｐ５０８に戻り、図９Ｂの在庫品データレコード９７（ロット番号「Ｌ３０５」、品番「Ｃ３」、在庫長（リンク）「３０」、開始リンク形状「外リンク」および終端リンク形状「内リンク」）を読み込む。そして、上述した判定用合計長「２８０」に、Ｏｐ５０８において読み込んだ在庫品データレコード９７の在庫長「３０」を加算して、加算後の仮引当合計長「３１０」リンクを得る。ところが、加算後の仮引当合計長「３１０」リンクは受注長「３２０」リンクに達していないので、在庫品データレコード９７を仮引当の対象とはしない。このため、ＣＰＵ３２は、Ｏｐ５１０をスキップして、図６のＯｐ６０１に処理を移行する。
【００６７】
このように、判定用合計長に在庫長を加算しても受注長に達しない在庫品データに対しては仮引当を行わないようにすることにより、仮引当の対象とする在庫品データを絞り込んで、在庫品の組合せを決定する処理を高速化することができる。
【００６８】
［１−４−３−２．本引当処理］
本引当処理を示す図７のサブルーチン処理において、ＣＰＵ３２は、変数である本引当合計長、連結数、切断数および損耗数をそれぞれ「０」に初期化する（Ｏｐ６０１）。ＣＰＵ３２は、上記Ｏｐ５０５およびＯｐ５１０において仮引当した在庫品データを抽出し、抽出した在庫品データ群に含まれる各在庫品データレコードを、在庫長の降順にソートする（Ｏｐ６０２）。例えば、図９Ｂにおいて仮引当フラグに「Ｔ」が設定されている在庫品データレコードをすべて抽出して在庫長の降順にソートする。図９Ｃは、仮引当した在庫品データを抽出した在庫品データ群の一例を示す図である。また、抽出した在庫品データ群には、後述する本引当を行ったレコードを判別するための本引当フラグが設けられており、この本引当フラグには本引当時において「Ｔ」がセットされる。
【００６９】
ＣＰＵ３２は、仮引当した在庫品データを抽出した在庫品データ群から、本引当が未だ行われていない未本引当の在庫品データレコード（つまり、本引当フラグに「Ｔ」がセットされていないデータレコード）を降順に１件読み込む（Ｏｐ６０３）。例えば、図９Ｃの在庫品データレコード９９１（ロット番号「Ｌ３０１」、品番「Ｃ３」、在庫長（リンク）「２００」、開始リンク形状「外リンク」および終端リンク形状「内リンク」）を読み込む。
【００７０】
ＣＰＵ３２は、上述した本引当合計長に、Ｏｐ６０３において読み込んだ在庫品データレコードの在庫長を代入して本引当の対象とする（Ｏｐ６０５）。例えば、図９Ｃの在庫品データレコード９９１にかかる在庫長「２００」が、本引当合計長に代入される。つまり、この場合、仮引当した在庫品データのうち、在庫品データにかかる在庫品の在庫長が最長のものを本引当の対象とする。これにより、チェーン連結の回数をなるべく少なくすることができ、作業コストを全体として低減させることができる。
【００７１】
ＣＰＵ３２は、本引当の対象とした在庫品データにかかる在庫品について、連結対象とする端部の形状を決定する（Ｏｐ６０５）。例えば、図８に示した受注レコード８３の開始リンク形状が「外リンク」であるので、在庫品データレコード９９１において連結対象とする端部の形状を、終端リンク形状の「内リンク」に決定する。なぜなら、在庫品データレコード９９１にかかる税個品の開始リンク形状「外リンク」は、そのまま出荷時の開始リンク形状（受注レコード８３の開始リンク形状）と一致するためである。
【００７２】
なお、連結対象とする端部の形状の決定方法は任意である。例えば、リール在庫において、リール巻きの中心部側に位置する終端リンク形状が必ず内リンクとなるように製造されている場合であって、出荷時には必ず片方の端部の形状を内リンクとして出荷することが定められているときには、リール巻きの外縁に位置する開始リンク形状を連結対象とする端部の形状として決定してもよい。
【００７３】
ＣＰＵ３２は、上記Ｏｐ６０５において連結対象として決定した端部の形状と非同種の形状を有する在庫品の在庫品データレコードを検索する（Ｏｐ６０６）。例えば、在庫品データレコード９９１の開始リンク形状「内リンク」を連結対象とする端部の形状として決定した場合には、「内リンク」と非同種（つまり、異なる形状）の「外リンク」を端部の形状とする在庫品データレコードを検索する。
【００７４】
ＣＰＵ３２は、連結対象として決定した端部の形状と非同種の形状を有する在庫品の在庫品データレコードが存在すると判断すれば（Ｏｐ６０７、Ｙｅｓ）、条件に合致するレコードのうち、在庫長が最大のものを１件抽出する。そして、ＣＰＵ３２は、抽出した在庫品データレコードにかかる在庫長を、上述した本引当合計長に加算する（Ｏｐ６０８）。例えば、図９Ｃの在庫品データレコード９９４（ロット番号「Ｌ３０４」、品番「Ｃ３」、在庫長（リンク）「６０」、開始リンク形状「外リンク」および終端リンク形状「内リンク」）を抽出し、在庫長「６０」を本引当合計長に加算する。これにより、本引当合計長は、「２６０」リンクとなる。
【００７５】
ＣＰＵ３２は、連結回数に「１」を加算する（Ｏｐ６０９）。これは、在庫品データレコード９９１にかかる在庫品の終端リンク形状「内リンク」と在庫品データレコード９９４にかかる在庫品の開始リンク形状「外リンク」とが連結されるからである。
【００７６】
ＣＰＵ３２は、本引当合計数が受注長と一致せず（Ｏｐ６１４）、かつ、本引当合計数が受注長に達していなければ（つまり、本引当合計数が受注長よりも小さければ）（Ｏｐ６１５）、検索した在庫品データにかかる在庫品の他端を連結対象とする（Ｏｐ６１６）。例えば、上記Ｏｐ６０８において検索した在庫品データレコード９９４にかかる在庫品の端部の形状は開始リンク形状「外リンク」であったので、終端リンク形状「内リンク」を次の連結対象とする。
【００７７】
Ｏｐ６０７に戻り、ＣＰＵ３２は、連結対象として決定した端部の形状と非同種の形状を有する在庫品の在庫品データレコードが存在しないと判断すれば（Ｏｐ６０７、Ｎｏ）、同種の形状を有する在庫品の在庫品データレコードの中から、在庫長が最大のものを１件抽出する。そして、ＣＰＵ３２は、抽出した在庫品データレコードにかかる在庫長を、上述した本引当合計長に加算する（Ｏｐ６１０）。例えば、在庫品データレコード９９４にかかる在庫品の終端リンク形状「内リンク」と非同種の形状である「外リンク」は、図９Ｃにおいて未本引当フラグ「Ｔ」が設定されていない在庫品データレコード９９２、９９３のいずれにも存在しないので、在庫長がより大きい方の在庫品データレコード９９２（ロット番号「Ｌ３０２」、品番「Ｃ３」、在庫長（リンク）「８０」、開始リンク形状「内リンク」および終端リンク形状「内リンク」）を抽出し、在庫長「８０」を本引当合計長に加算する。これにより、本引当合計長は「３４０」リンクとなる。
【００７８】
ＣＰＵ３２は、切断回数および連結回数にそれぞれ「１」を加算する（Ｏｐ６１１）。これは、例えば、在庫品データレコード９９４にかかる在庫品の終端リンク形状「内リンク」と在庫品データレコード９９２にかかる在庫品の開始リンク形状「内リンク」または終端リンク形状「内リンク」とが連結されるからである。つまり、内リンク同士の場合は、図４Ｂに示したピン４０６を抜いて終端の内リンクと外リンクとを切断する必要があるからである。また、切断後においては、内リンクと外リンクとを連結する必要があるからである。
【００７９】
ＣＰＵ３２は、損耗数に「１」を加算する（Ｏｐ６１２）。これは、内リンク同士または外リンク同士を連結する場合は、互いに連結するいずれかの在庫品において、図４Ｂに示したピン４０６を抜き端部の内リンクと外リンクとを切断するため、内リンクまたは外リンクの１つ分のみを損耗してしまうからである。例えば、本引当合計長が「３４０」リンクである場合には、損耗数を考慮して、本引当合計長は「３３９」リンクに変更される。
【００８０】
ＣＰＵ３２は、本引当合計数から「１」を減算する（Ｏｐ６１３）。これは、内リンクまたは外リンクの１つ分のみを損耗してしまうことにより、１リンク分短くなるからである。
【００８１】
ＣＰＵ３２は、本引当合計数が受注長と一致した場合には、このサブルーチン処理を終了する（Ｏｐ６１４、Ｙｅｓ）。ＣＰＵ３２は、本引当合計数が受注長に達していれば（つまり、本引当合計数が受注長よりも大きければ）（Ｏｐ６１５、Ｙｅｓ）、切断回数に「１」を加算する（Ｏｐ６１７）。例えば、本引当合計長が「３３９」リンクである場合には、受注長「３２０」リンクを満たすように切断する作業が発生するからである。なお、Ｏｐ６１７の処理後、このサブルーチン処理を終了する。
【００８２】
図４のＯｐ４１４に戻り、ＣＰＵ３２は、上記Ｏｐ４１２〜Ｏｐ４１３（図６および図７に示したサブルーチン処理）を、現在庫引当処理および一部在庫引当処理において未引当となった受注データ１５の全レコードに対して実行する（Ｏｐ４１４）。これにより、受注データ１５に対して、切断作業コストおよび連結作業コストがなるべく小さくなるような在庫品データを優先的に引き当てることができる。
【００８３】
［１−４−４．引当結果の表示］
ＣＰＵ３２は、上記現在庫引当処理、一部在庫引当処理または組合せ在庫引当処理において作成した引当結果データ１７および作業工数データ１８に基づいて、引当結果をディスプレイ３１に表示する（Ｏｐ４１５）。図１１は、引当結果画面の一例を示す図である。図１２は、作業工数データ１８の一例を示す図である。
【００８４】
図１１に示す引当結果画面１１０において、１１１は、受注データ１５に基づく受注情報を示している。１１２は、引当結果データ１７に基づく在庫引当情報を示している。１１３は、引当結果データ１７および作業工数データ１８に基づく作業工数情報を示している。作業工数情報には、切断作業コスト、連結作業コストおよび損耗数が含まれる。
【００８５】
例えば、図１０の引当結果データレコード１０３は、品番「Ｃ３」および切断回数「１」であるので、図１２のレコード１２１から、品番「Ｃ３」のチェーンの１回当たりの切断作業コスト「１５００円」を取得し、切断作業コスト「１５００円」を算出して表示する。これと同時に、レコード１２１から、１回当たりの切断時間「１０分」を取得して、作業時間「１０分」を算出する。また、図１０の引当結果データレコード１０３は、連結回数「２」であるので、図１２のレコード１２１から、品番「Ｃ３」のチェーンの１回当たりの連結作業コスト「１５００円」を取得し、連結作業コスト「３０００円」を算出して表示する。また、同時に、レコード１２１から、１回当たりの連結時間「１５分」を取得し、作業時間「３０分」を算出して表示する。さらに、図１０の引当結果データレコード１０３は、損耗数「１」であるので、損耗数「１リンク」を表示する。
【００８６】
［１−５．まとめ］
以上に説明したとおり、上記の在庫引当シミュレーション装置１によれば、在庫品がローラチェーンのように、連結部分の部品形状が内リンクであるか、外リンクであるかによって、連結の作業コストが異なる場合であっても、組合せ在庫引当において在庫品の端部の形状をも考慮して作業コストを算出することが可能となる。このため、在庫引当時に発生し得る作業コストを明確に把握することができ、在庫引当作業を有効に管理することができる。例えば、リール在庫のうち在庫長の大きいものから有効に在庫引当を行うことにより、在庫効率の向上や在庫の回転率の向上が見込める。
【００８７】
この実施形態において、データ抽出部２１は、一例として、図６のＯｐ５０１の処理機能を含む。データソート部２２は、一例として、図６のＯｐ５０２の処理機能を含む。第１仮引当部２３は、一例として、図６のＯｐ５０４〜Ｏｐ５０７の処理機能を含む。第２仮引当部２４は、一例として、図６のＯｐ５０８〜Ｏｐ５１０の処理機能を含む。本引当部２５は、一例として、図７のＯｐ６０１〜Ｏｐ６１７の処理機能を含む。
【００８８】
［２．第２の実施形態］
本実施形態にかかる在庫引当シミュレーション装置も、第１の実施形態と同様に、コンピュータ装置、ハンディターミナル、ＰＤＡ（Personal Digital Assistance）または携帯電話等を用いて構成可能である。また、本実施形態にかかる在庫引当シミュレーション装置は、第１の実施形態と同様に、形状の異なる２種類の部品を交互に連結してなり、各部品の切断および連結が可能な長尺製品であるチェーン製品のための在庫引当シミュレーション装置である。そして、第１の実施形態と同様に、図４Ｂに示した内リンク４０１と外リンク４０５が、形状の異なる２種類の部品にそれぞれ該当する。また、ローラチェーン４００が、各部品の切断および連結が可能な長尺製品に該当する。
【００８９】
但し、本実施形態においては、内リンク４０１同士を連結する場合の作業コストは、内リンク４０１と外リンク４０５とを連結する場合または外リンク４０５同士を連結する場合の作業コストに比べて小さくなるものとして説明する。また、内リンク４０１同士を連結する場合は、新たな外リンク４０５を追加して、両方の連結部分の内リンクのブッシュ４０２内にピン４０６をはめ込んで２つの内リンクを連結するものとする。この場合、チェーン長が１リンク分増加する。さらに、内リンク４０１と外リンク４０５とを連結する場合または外リンク４０５同士を連結する場合は、外リンク４０５側のピン４０６を抜いて切断し、端部の形状を内リンクにしてから他方の内リンクと、上記と同様の手順で連結するものとする。この場合は、１リンクの損耗が発生するが、新たな外リンク４０５を追加するため、チェーン長が１リンク分増加する。
【００９０】
［２−１．システム構成およびハードウェア構成］
本実施形態にかかる在庫引当シミュレーション装置１のシステム構成およびハードウェア構成の一例は、図１〜図３を用いて説明した第１の実施形態と基本的に同様である。
【００９１】
［２−２．在庫引当シミュレーションプログラムの処理内容］
本実施形態の在庫引当シミュレーション装置１における在庫引当シミュレーションプログラム３５ａの処理内容は、図１〜図１２を用いて説明した第１の実施形態と基本的に同様である。つまり、第１の実施形態と同様に、取得した受注データに対して、現在庫引当、一部在庫引当および組合せ在庫引当の順に実行する。但し、本実施形態では、図７に示した組合せ在庫引当処理の本引当処理が第１の実施形態と相違するため、この点について以下説明する。
【００９２】
［２−３．本引当処理］
図６および図１３は、図５のＯｐ４１３のサブルーチン処理を示すオペレーションチャートの一例を示す図である。特に、図１３は本引当処理を示している。本引当処理を示す図１３のサブルーチン処理において、Ｏｐ６０１〜６０５は、第１の実施形態に示したものと同様である。図９Ｄは、本実施形態における、仮引当した在庫品データを抽出した在庫品データ群の一例を示す図である。
【００９３】
ＣＰＵ３２は、上記Ｏｐ６０５において連結対象として決定した端部の形状と同種の形状を有する在庫品の在庫品データレコードを検索する（Ｏｐ６０６ａ）。例えば、図９Ｄの在庫品データレコード９０１の開始リンク形状「内リンク」を連結対象とする端部の形状として決定した場合には、「内リンク」と同種（つまり、同じ形状）の「内リンク」を端部の形状とする在庫品データレコードを検索する。
【００９４】
ＣＰＵ３２は、端部が内リンク同士となる在庫品の在庫品データレコードが存在すると判断すれば（Ｏｐ６０７ａ、Ｙｅｓ）、条件に合致するレコードのうち、在庫長が最大のものを１件抽出する。そして、ＣＰＵ３２は、抽出した在庫品データレコードにかかる在庫長を、上述した本引当合計長に加算する（Ｏｐ６０８ａ）。例えば、図９Ｄの在庫品データレコード９０４（ロット番号「Ｌ３０４」、品番「Ｃ３」、在庫長（リンク）「６０」、開始リンク形状「内リンク」および終端リンク形状「外リンク」）を抽出し、在庫長「６０」を本引当合計長に加算する。これにより、本引当合計長は、「２６０」リンクとなる。
【００９５】
ＣＰＵ３２は、連結回数に「１」を加算する（Ｏｐ６０９）。これは、在庫品データレコード９０１にかかる在庫品の終端リンク形状「内リンク」と在庫品データレコード９９４にかかる在庫品の開始リンク形状「内リンク」とが連結されるからである。同時に、ＣＰＵ３２は、本引当合計数に「１」を加算する（Ｏｐ６１３ａ）。これは、上述したように、内リンク同士を連結する場合には、新たに外リンクを追加するためである。
【００９６】
Ｏｐ６１４〜６１７の処理については、第１の実施形態に示したものと同様である。ここで、Ｏｐ６０７ａに戻ると、ＣＰＵ３２は、端部が内リンク同士となる在庫品データレコードが存在しないと判断すれば（すなわち、内リンクと外リンクの組合せまたは外リンク同士の組合せしか存在しない場合。）（Ｏｐ６０７ａ、Ｎｏ）、非同種の形状を有する在庫品の在庫品データレコードの中から、在庫長が最大のものを１件抽出する。そして、ＣＰＵ３２は、抽出した在庫品データレコードにかかる在庫長を、上述した本引当合計長に加算する（Ｏｐ６１０ａ）。例えば、在庫品データレコード９０４にかかる在庫品の終端リンク形状「外リンク」であり、在庫品データレコード９９２、９９３はいずれも「外リンク」であるので、在庫長がより大きい方の在庫品データレコード９９２（ロット番号「Ｌ３０２」、品番「Ｃ３」、在庫長（リンク）「８０」、開始リンク形状「外リンク」および終端リンク形状「外リンク」）を抽出し、在庫長「８０」を本引当合計長に加算する。これにより、本引当合計長は「３４０」リンクとなる。
【００９７】
ＣＰＵ３２は、端部が外リンク同士であるか否かを判断し（Ｏｐ６１１ａ）、外リンク同士であれば（Ｏｐ６１１ａ、Ｙｅｓ）、切断回数に「２」を加算するとともに連結回数に「１」を加算する（Ｏｐ６１１ｂ）。これは、例えば、在庫品データレコード９０４にかかる在庫品の終端リンク形状「外リンク」と在庫品データレコード９０２にかかる在庫品の開始リンク形状「外リンク」または終端リンク形状「外リンク」とが連結されるからである。つまり、外リンク同士の場合は、２つのチェーンの端部において図４Ｂに示したピン４０６を抜いて終端の内リンクと外リンクとを切断する必要があるからである。また、切断後においては、内リンクと内リンクとを連結する必要があるからである。
【００９８】
ＣＰＵ３２は、損耗数に「２」を加算する（Ｏｐ６１２ａ）。これは、外リンク同士を連結する場合は、互いに連結する双方の在庫品において、図４Ｂに示したピン４０６を抜き端部の内リンクと外リンクとを切断するためである。すなわち、２つのチェーンの端部において外リンクのそれぞれ１つ分のみを損耗してしまうからである。例えば、本引当合計長が「３４０」リンクである場合には、損耗数を考慮して、本引当合計長は「３３８」リンクに変更される。
【００９９】
ＣＰＵ３２は、本引当合計数から「２」を減算する（Ｏｐ６１３ａ）。これは、２つのチェーンのそれぞれの端部において外リンクの１つ分のみを損耗してしまうことにより、全体として２リンク分短くなるからである。
【０１００】
一方、内リンクと外リンクの組合せの場合には（Ｏｐ６１１ａ、Ｎｏ）、切断回数に「１」を加算するとともに連結回数に「１」を加算する（Ｏｐ６１１ｃ）。これは、外リンクであるチェーンの端部のみにおいて図４Ｂに示したピン４０６を抜いて終端の内リンクと外リンクとを切断する必要があるからである。
【０１０１】
ＣＰＵ３２は、損耗数に「１」を加算する（Ｏｐ６１２ｂ）。これは、外リンクと内外リンクとを連結する場合は、互いに連結するいずれかの在庫品において、図４Ｂに示したピン４０６を抜き端部の内リンクと外リンクとを切断するためである。つまり、１つのチェーンの端部において外リンクの１つ分を損耗してしまうからである。
【０１０２】
ＣＰＵ３２は、本引当合計数から「１」を減算する（Ｏｐ６１３ｂ）。これは、チェーンの端部において外リンクの１つ分のみを損耗してしまうことにより、全体として１リンク分短くなるからである。
【０１０３】
以上により、本実施形態の場合も、第１の実施形態の場合と同様に、受注データ１５に対して、切断作業コストおよび連結作業コストがなるべく小さくなるような在庫品データを優先的に引き当てることができる。
【０１０４】
この実施形態において、本引当部２５は、一例として、図７のＯｐ６０６ａ、Ｏｐ６０７ａ、Ｏｐ６０８ａ、Ｏｐ６１３ａ、Ｏｐ６１０ａ、Ｏｐ６１１ａ〜Ｏｐ６１１ｃ、Ｏｐ６１２ａ、Ｏｐ６１２ｂ、Ｏｐ６１３ａ、Ｏｐ６１３ｂを含むＯｐ６０１〜Ｏｐ６１７の処理機能を含む。
【０１０５】
［３．第３の実施形態］
本実施形態にかかる在庫引当シミュレーション装置も、第１の実施形態と同様に、コンピュータ装置、ハンディターミナル、ＰＤＡ（Personal Digital Assistance）または携帯電話等を用いて構成可能である。また、本実施形態にかかる在庫引当シミュレーション装置は、第１の実施形態と同様に、形状の異なる２種類の部品を交互に連結してなり、各部品の切断および連結が可能な長尺製品であるチェーン製品のための在庫引当シミュレーション装置である。そして、第１の実施形態と同様に、図４Ｂに示した内リンク４０１と外リンク４０５が、形状の異なる２種類の部品にそれぞれ該当する。また、ローラチェーン４００が、各部品の切断および連結が可能な長尺製品に該当する。
【０１０６】
本実施形態においては、第１の実施形態において示した在庫引当シミュレーション装置１の在庫品データベース１６に在庫品データを保存する際に、各在庫品についての開始リンク形状がいずれであるのかを判定する例について説明する。
【０１０７】
［３−１．システム構成およびハードウェア構成］
図１４は、本実施形態にかかる在庫引当シミュレーション装置における各機能部の関係の一例を示す図である。図１４に示す在庫引当シミュレーション装置１は、第１の実施形態において示した各機能部１１〜１８に加えて、さらに、在庫品データ更新部１９および端部形状判定部２０を含む。
【０１０８】
在庫品データ更新部１９は、長尺製品の在庫情報を記録した在庫品データベース１６を更新する。端部形状判定部２０は、長尺製品を計量した計量値を取得し、当該計量値と形状の異なる２種類の各部品の単位当たりの重量値とに基づいて、在庫品の端部の部品がいずれの形状であるかを判定する。
【０１０９】
このように、長尺製品を計量した計量値と、形状の異なる２種類の各部品の単位当たりの重量値とに基づいて在庫品の端部の部品がいずれの形状であるかを判定することにより、在庫品の入庫時における端部形状のデータ入力を自動化することができる。これにより、第１及び第２の実施形態において説明した、在庫引当シミュレーション装置における在庫引当の精度を向上させることも可能となる。
【０１１０】
その他の本実施形態にかかる在庫引当シミュレーション装置１のシステム構成およびハードウェア構成の一例は、図２、図３を用いて説明した第１の実施形態と基本的に同様である。図１４に示した在庫引当シミュレーション装置１を構成する在庫品データ更新部１９および端部形状判定部２０はそれぞれ、ＣＰＵ２３上において在庫引当シミュレーションプログラム３５ａを実行することによって実現される。
【０１１１】
［３−２．端部形状判定・更新処理の内容］
図１５は、在庫品データ更新部１９および端部形状判定部２０において実行される端部形状判定・更新処理のオペレーションチャートである。
【０１１２】
ＣＰＵ３２は、在庫品として入庫してきたチェーン製品を計量する計量器１５１から、在庫品の計量値を取得する（Ｏｐ１５０１）。同時に、ＣＰＵ３２は、在庫品として入庫してきたチェーン製品に付されたＩＣタグを読み取ったＩＣタグリーダ１５２から、チェーン製品を識別するための品番情報を取得する（Ｏｐ１５０２）。
【０１１３】
ＣＰＵ３２は、品番情報に基づいて商品マスタ１０を検索し、品番情報に基づいて特定されるチェーン製品にかかる単位当たりの内リンク重量と、単位当たりの外リンク重量とを取得する。ＣＰＵ３２は、上記において取得した計量値を、ユニット重量で除算する（Ｏｐ１５０４）。ここで、ユニット重量とは、単位当たりの内リンク重量と、単位当たりの外リンク重量との合計値である。
【０１１４】
ＣＰＵ３２は、Ｏｐ１５０４の除算の結果、余りが発生しているか否かを判断する（Ｏｐ１５０５）。余りが発生していない場合、さらに、終端リンク形状が内リンクであるか否かを判断する（Ｏｐ１５０６）。例えば、終端リンク形状の判断は、商品マスタ１０に基づいて行えばよい。また、ＩＣタグに付された情報を用いてもよい。
【０１１５】
ＣＰＵ３２は、終端リンク形状が内リンクであると判断すると、開始リンク形状を外リンクと判定する（Ｏｐ１５０７）。なぜなら、内リンクと外リンクの合計値であるユニット重量で計量値が割り切れるため、一方の端部形状が内リンクであれば、その他方の端部形状は必然と外リンクになるからである。一方、ＣＰＵ３２は、終端リンク形状が内リンクでない（すなわち、外リンクである）と判断すると、開始リンク形状を内リンクと判定する（Ｏｐ１５０８）。
【０１１６】
Ｏｐ１５０５において、余りが発生している場合、ＣＰＵ３２は、さらに、その余りが内リンク重量と一致するか否かを判断する（Ｏｐ１５０９）。その余りが内リンク重量と一致すると判断する場合（Ｏｐ１５０９、Ｙｅｓ）、ＣＰＵ３２は、開始リンク形状を内リンク、終端リンク形状を内リンクと判定する（Ｏｐ１５１０）。なぜなら、余りが内リンク重量と一致していれば、一方の端部形状が内リンクであり、他方の端部形状も内リンクとなると考えられるためである。
【０１１７】
一方、余りが内リンク重量と一致しないと判断する場合（Ｏｐ１５０９、Ｎｏ）、ＣＰＵ３２は、開始リンク形状を外リンク、終端リンク形状を外リンクと判定する（Ｏｐ１５１１）。なぜなら、余りが内リンク重量と一致しなければ、余りが外リンクと一致しており、一方の端部形状が外リンクであり、他方の端部形状も外リンクとなると考えられるためである。
【０１１８】
具体例をいえば、Ｏｐ１５０１において、計量値「５０．３ｋｇ」を取得し、Ｏｐ１５０３において内リンク重量「０．２ｋｇ」、外リンク重量「０．３ｋｇ」を取得した場合、ユニット重量は「０．５ｋｇ」であるので、Ｏｐ１５０４において計量値「５０．３ｋｇ」をユニット重量「０．５ｋｇ」で除算した場合の余りは「０．３ｋｇ」となる。余り「０．３ｋｇ」は、外リンク重量「０．３ｋｇ」と一致するので、ＣＰＵ３２は、Ｏｐ１５１１により、開始リンク形状を外リンク、終端リンク形状を外リンクと判定する。
【０１１９】
ＣＰＵ３２は、判定した結果を在庫品データベースの開始リンク形状および終端リンク形状に書き込む（Ｏｐ１５１２）。
【０１２０】
これにより、本実施形態においては、在庫引当シミュレーション装置１の在庫品データベース１６に在庫品データを保存する際に、各在庫品についての開始リンク形状がいずれであるのかを判定して更新することができる。このため、在庫引当シミュレーション装置１における在庫引当の精度を向上させることができる。
【０１２１】
［４．第４の実施形態］
上記実施形態においては、在庫引当シミュレーション装置１が、単独で処理を行う例について説明したが、ネットワークを介した他のコンピュータ装置から在庫品データ、受注データおよび／または作業工数データ等を取得して、引当結果データを当該コンピュータ装置に送信するような形態であってもよい。このような形態としては、例えば、ＡＳＰ（Application Service Provider）やＳａａＳ（Software as a Service）等に代表されるように、ユーザーがコンピュータ処理をネットワーク経由でサービスとして利用するコンピュータ環境（例えば、クラウドコンピューティング環境等。）における処理形態が該当する。
【０１２２】
［４−１．システム構成およびハードウェア構成］
本実施形態にかかる在庫引当シミュレーション装置１のシステム構成およびハードウェア構成の一例は、図１〜図３を用いて説明した第１の実施形態と基本的に同様である。
【０１２３】
［４−２．在庫引当シミュレーションプログラムの処理内容］
本実施形態の在庫引当シミュレーション装置１における在庫引当シミュレーションプログラム３５ａの処理内容は、図１〜図１５を用いて説明した第１〜第３のいずれかの実施形態と基本的に同様である。
【０１２４】
図１６は、サーバとしての在庫引当シミュレーション装置１が、ネットワークＮ（例えば、インターネット等。）を介して接続可能なクライアント端末１６０から受注データを取得して、在庫の引当結果データを当該クライアント端末１６０に送信する形態におけるシステム構成の一例を示す図である。
【０１２５】
図１６において、クライアント端末１６０は、受注データを在庫引当シミュレーション装置１に送信する。クライアント端末１６０からの送信を受けると、在庫引当シミュレーション装置１は、上記第１〜第３の実施形態に示した在庫引当シミュレーション処理と同様の処理を行う。ここで、例えば、在庫引当シミュレーション装置１は、在庫品データベース１６や作業工数データ１８を保持したデータベースサーバ１６１にネットワークＮを介して接続可能であり、これらの在庫品データベース１６や作業工数データ１８を用いて、上記在庫引当シミュレーション処理を実行する。なお、クライアント端末１６０から在庫引当シミュレーション装置１に対して、在庫品データベース１６や作業工数データ１８を送信するようにしてもよい。
【０１２６】
そして、処理結果として、図１０に示したような在庫の引当結果データ（在庫引当シミュレーションの処理結果を示す出力データ）を生成して、クライアント端末１６０に送信（出力）する。在庫引当シミュレーション装置１からの送信を受けると、クライアント端末１６０は、引当結果データをハードディスク（ＨＤＤ）やメモリ（ＶＲＡＭ）等の記憶媒体に格納する。なお、図１１に示したような在庫の引当結果画面を、在庫引当シミュレーション装置１からクライアント端末１６０に送信するようにしてもよい。
【０１２７】
これにより、クライアント端末においても、在庫引当時に発生する作業コストを考慮して在庫引当を行うことができる。
【０１２８】
また、上記第３の実施形態で説明した在庫引当シミュレーション装置１の処理を、本実施形態で実現するために、データベースサーバ１６１、在庫引当シミュレーション装置１またはクライアント端末１６０のいずれかが、図１４において説明した商品マスタ１０、在庫品データ更新部１９および端部形状判定部２０を備えるように構成し、在庫品データベース１６を更新するようしてもよい。なお、上述したように、端部形状判定部２０は、長尺製品を計量した計量値を取得し、当該計量値と形状の異なる２種類の各部品の単位当たりの重量値（商品マスタ１０より取得）とに基づいて、在庫品の端部の部品がいずれの形状であるかを判定する。在庫品データ更新部１９は、長尺製品の在庫情報を記録した在庫品データベース１６を更新する。
【０１２９】
このように、長尺製品を計量した計量値と、形状の異なる２種類の各部品の単位当たりの重量値とに基づいて在庫品の端部の部品がいずれの形状であるかを判定することにより、在庫品の入庫時における端部形状のデータ入力を自動化することができる。このため、在庫引当シミュレーション装置１における在庫引当の精度を向上させることができる。
【０１３０】
［５．その他の実施形態］
上記第１〜第４の実施形態において説明した構成の一部または全部を、２以上組合せた構成としてもよい。
【０１３１】
上記第１〜第４の実施形態において、在庫品データベースから引当を行うことができない場合には、在庫品としての入庫が予定されている生産計画データベースに対して引当処理を行うようにしてもよい。また、出荷予定日に応じて在庫品データベースまたは生産計画デーベースを使い分けてもよい。
【０１３２】
上記実施形態においては、図１、図２、図１４に示す各機能ブロックを、ソフトウェアを実行するＣＰＵの処理によって実現している。しかし、その一部もしくは全てを、ロジック回路等のハードウェアによって実現してもよい。なお、プログラムの一部の処理をさらに、オペレーティング・システム（ＯＳ）にさせるようにしてもよい。
【符号の説明】
【０１３３】
２１  データ抽出部
２２  データソート部
２３  第１仮引当部
２４  第２仮引当部
２５  本引当部
【図１】
0005471660.tif 000002
【図２】
0005471660.tif 000003
【図３】
0005471660.tif 000004
【図４Ａ】
0005471660.tif 000005
【図４Ｂ】
0005471660.tif 000006
【図５】
0005471660.tif 000007
【図６】
0005471660.tif 000008
【図７】
0005471660.tif 000009
【図８】
0005471660.tif 000010
【図９Ａ】
0005471660.tif 000011
【図９Ｂ】
0005471660.tif 000012
【図９Ｃ】
0005471660.tif 000013
【図９Ｄ】
0005471660.tif 000014
【図１０】
0005471660.tif 000015
【図１１】
0005471660.tif 000016
【図１２】
0005471660.tif 000017
【図１３】
0005471660.tif 000018
【図１４】
0005471660.tif 000019
【図１５】
0005471660.tif 000020
【図１６】
0005471660.tif 000021