【実施例】
【0018】
まず、本実施例に係る生産管理装置の構成について説明する。
図1は、本実施例に係る生産管理装置の構成を示すブロック図である。
図1に示す生産管理装置10は、製品を効率よく生産するための生産計画の立案と、生産計画に基づいて実行された作業工程(以下、単に「工程」ということがある)の分析とを行う情報処理装置である。
【0019】
なお、本実施例において、「生産計画」とは、製品を生産するための各工程をどのリソース(作業員および設備)を用いて、いつ、どれだけの時間を掛けて実行するのかを示す計画をいう。また、本実施例において、「製品」とは、工程を経て生産されるものを意味し、必ずしも最終製品を意味しない。すなわち、本実施例で説明する「製品」には、他の製品に組み込まれる部品も含まれる。
【0020】
図1に示すように、生産管理装置10は、表示部11と、入力部12と、通信部13と、媒体読取部14と、制御部15と、記憶部16とを備える。
【0021】
表示部11は、液晶パネルや有機EL(Organic Electro−Luminescence)パネル等の表示装置を有し、制御部15から送信される制御信号に基づいて、文字や図形等の各種情報を表示する。入力部12は、キーボード等の入力装置を有し、利用者が入力装置に対して行った操作に対応する信号を制御部15へ出力する。
【0022】
通信部13は、所定の通信プロトコルに基づいて、携帯端末装置20等の他の装置との間での情報の送受信を制御する。携帯端末装置20は、製品の生産に携わる作業員によって携帯される情報処理端末である。媒体読取部14は、CD−ROM等の記憶媒体からプログラムやデータを読み取る。
【0023】
制御部15は、演算手段であるCPU(Central Processing Unit)151と、記憶手段であるメモリ152とを備え、これらのハードウェア資源を用いてプログラムを実行することによって各種の機能を実現する。具体的には、制御部15は、記憶部16に記憶されているプログラムを読み出してメモリ152に展開し、メモリ152に展開されたプログラムに含まれる命令をCPU151に実行させる。そして、制御部15は、CPU151による命令の実行結果に応じて、メモリ152および記憶部16に対してデータの読み書きを行ったり、通信部13等の動作を制御したりする。
【0024】
記憶部16は、磁気記憶装置や半導体記憶装置等の不揮発性を有する記憶装置からなり、各種のプログラムおよびデータを記憶する。記憶部16に記憶されるデータには、作業員情報161と、工程情報162と、出荷予定情報163と、探索結果情報164と、生産計画情報165とが含まれる。また、記憶部16に記憶されるプログラムには、生産計画立案プログラム166と、工程管理プログラム167と、工程分析プログラム168とが含まれる。
【0025】
なお、
図1において記憶部16が記憶していることとしたプログラムおよびデータの全体または一部は、媒体読取部14が読み取り可能な記憶媒体に記憶されていてもよい。また、
図1において記憶部16が記憶していることとしたプログラムおよびデータの全体または一部は、通信部13による通信によって他の装置から取得されてもよい。
【0026】
作業員情報161は、各工程で作業を行う作業者に関する情報を保持する。作業員情報161には、作業者の勤務予定に関する情報も含まれる。
【0027】
工程情報162は、各工程で行われる作業に関する情報を保持する。
図2は、工程情報162の一例を示す図である。
図2に示すように、工程情報162は、工程番号、作業形態番号、有効フラグ、内外作区分、使用設備、作業者、作業時間、ペナルティといった項目を有する。工程情報162は、1つの工程番号に対して、作業形態番号からペナルティの組み合わせを複数保持できるように構成されている。
【0028】
工程番号は、工程を識別するための識別番号である。作業形態番号は、工程の作業形態を識別するための識別番号である。各工程の作業形態には、使用する設備および担当する作業者等が異なる複数のパターンがあることがある。作業形態番号は、各工程のそれぞれのパターンに割り当てられる。有効フラグは、対応するパターンが有効であるか否かを示す。本実施例では、対応するパターンが有効である場合、有効フラグの値は「1」となり、対応するパターンが有効でない場合、有効フラグの値は「0」となる。有効でないパターンは、生産計画を作成する際に利用されない。
【0029】
内外作区分は、対応するパターンにおいて作業が自社で行われるのか、他社で行われるのかを示す。本実施例では、作業が自社で行われる場合、内外作区分の値は「内作」となり、作業が他社で行われる場合、内外作区分の値は「外注」となる。使用設備は、対応するパターンにおいて使用される設備の識別番号である。
【0030】
作業者は、対応するパターンにおいて作業を担当する作業者を示す。作業者の値が「*(1)」の場合、任意の1人が作業を担当することを示し、作業者の値が「*(2)」の場合、任意の2人が作業を担当することを示す。このように、作業者の値が「*」と括弧付きの数字の組み合わせの場合、数字が示す人数の作業者が作業を担当することを示す。この場合、作業者は特定されない。また、作業者の値が特定の作業者の名前または識別番号のリストである場合、それらのリストに対応する作業者が作業を担当することを示す。
【0031】
作業時間は、対応するパターンにおいて作業に要すると見積もられる時間を示す。ペナルティは、対応するパターンを評価するための値である。本実施例では、対応するパターンが好ましくないほど、ペナルティに大きな値が設定される。
【0032】
図2に示す例においては、「P01」という1つの工程番号に対して、「OP01−01」、「OP01−02」、「OP01−03」という3つの作業形態番号が対応付けられている。これは、「P01」で識別される工程は、3パターンの作業形態のいずれかで実行されることを示している。
【0033】
そして、「OP01−01」で識別されるパターンでは、使用設備として「EA−01」が設定され、作業時間として「60分」が設定され、ペナルティとして「0」が設定されている。「OP01−02」で識別されるパターンでは、使用設備として「EA−02」が設定され、作業時間として「80分」が設定され、ペナルティとして「10」が設定されている。「OP01−03」で識別されるパターンでは、使用設備として「EA−03」が設定され、作業時間として「90分」が設定され、ペナルティとして「20」が設定されている。他の項目の値は、3つのパターンで共通である。これは、「P01」で識別される工程は、使用する設備によって作業時間が異なり、作業時間が短いパターンの方が好ましいことを示している。
【0034】
なお、パターンによって使用する設備が異なる場合、作業時間ではなく、コストや用途に基づいてペナルティの値を決定してもよい。例えば、使用する設備によって加工コストが異なる場合、加工コストが高い設備を使用するパターンほどペナルティを高く設定してもよい。また、主として他の工程で使用される設備を使用するパターンでは、主としてその工程で使用される設備を使用するパターンよりもペナルティを高く設定してもよい。
【0035】
また、
図2に示す例においては、「P02」という1つの工程番号に対して、「OP02−01」、「OP02−02」という2つの作業形態番号が対応付けられている。これは、「P02」で識別される工程は、2パターンの作業形態のいずれかで実行されることを示している。
【0036】
そして、「OP02−01」で識別されるパターンでは、作業者として「TANAKA」と「SUZUKI」が設定され、作業時間として「120分」が設定されている。「OP02−02」で識別されるパターンでは、作業者として「SATO」と「CHIBA」が設定され、作業時間として「240分」が設定されている。他の項目の値は、2つのパターンで共通である。これは、「TANAKA」という作業員と「SUZUKI」という作業員とが作業を担当する場合、「SATO」という作業員と「CHIBA」という作業員とが作業を担当する場合と比較して、作業が半分の時間で終了することを示している。
【0037】
2つのパターンの作業時間の差は、例えば、作業の習熟度に起因する。2つのパターンには、ペナルティとしていずれも「0」が設定されているが、これは、他の工程への作業員の割り当て状況に応じて、どちらのパターンが選択されても構わないとの管理者の判断による。
【0038】
また、
図2に示す例においては、「P03」という1つの工程番号に対して、「OP03−01」、「OP03−02」という2つの作業形態番号が対応付けられている。これは、「P03」で識別される工程は、2パターンの作業形態のいずれかで実行されることを示している。
【0039】
そして、「OP03−01」で識別されるパターンでは、作業者として「ITO」が設定され、作業時間として「60分」が設定され、ペナルティとして「0」が設定されている。「OP03−02」で識別されるパターンでは、作業者として「HAYASHI」が設定され、作業時間として「90分」が設定され、ペナルティとして「20」が設定されている。他の項目の値は、2つのパターンで共通である。これは、「ITO」という作業員は「HAYASHI」という作業員よりも作業を早く終了させることができるため、「ITO」という作業員が担当するパターンの方が好ましいことを示している。
【0040】
このように、パターンによって作業を担当する作業員が異なる場合、作業員の習熟度に応じて、ペナルティの値をパターン毎に異ならせてもよい。例えば、対応する工程に習熟した作業者が割り当てられる第1のパターンと、対応する工程に未習熟の作業者が割り当てられる第2のパターンとがある場合、第2のパターンのペナルティを第1のパターンよりも高く設定してもよい。このように設定することにより、各工程での作業が早く終了する作業計画が作成されやすくなる。
【0041】
また、パターンによって作業を担当する作業員が異なる場合、作業員の適応の幅(対応できる工程の数)に応じて、ペナルティの値をパターン毎に異ならせてもよい。例えば、多数の工程に習熟した作業者が割り当てられる第1のパターンと、少数の工程にしか習熟していない作業者が割り当てられる第2のパターンとがある場合、第1のパターンのペナルティを第2のパターンよりも高く設定してもよい。このように設定することにより、少数の工程にしか習熟していない作業者がいずれの工程にも割り当てられない状態を含む作業計画が作成される可能性を低減することができる。
【0042】
また、
図2に示す例においては、「P04」という1つの工程番号に対して、「OP04−01」、「OP04−02」という2つの作業形態番号が対応付けられている。これは、「P04」で識別される工程は、2パターンの作業形態のいずれかで実行されることを示している。
【0043】
そして、「OP04−01」で識別されるパターンでは、作業者として「*(2)」が設定され、作業時間として「120分」が設定されている。「OP04−02」で識別されるパターンでは、作業者として「*(1)」が設定され、作業時間として「240分」が設定されている。他の項目の値は、2つのパターンで共通である。これは、2人の作業員を割り当てた場合に、1人の作業員を割り当てた場合の半分の時間で作業を早く終了させることができることを示している。2つのパターンには、ペナルティとしていずれも「0」が設定されているが、これは、他の工程への作業員の割り当て状況および他の工程の作業時間に応じて、どちらのパターンが選択されても構わないとの管理者の判断による。
【0044】
また、
図2に示す例においては、「P05」という1つの工程番号に対して、「OP05−01」、「OP05−02」という2つの作業形態番号が対応付けられている。これは、「P05」で識別される工程は、2パターンの作業形態のいずれかで実行されることを示している。
【0045】
そして、「OP05−01」で識別されるパターンでは、内外作区分として「内作」が設定され、作業時間として「60分」が設定され、ペナルティとして「0」が設定されている。「OP05−02」で識別されるパターンでは、内外作区分として「外注」が設定され、作業時間として「720分」が設定され、ペナルティとして「1000」が設定されている。2つのパターンは、使用設備および作業者の値も相違している。これは、「P05」で識別される工程は、他社に依頼することも可能であるが、他社に依頼することは、作業時間等の点から好ましくないことを示している。
【0046】
なお、
図2に示したペナルティの値は一例であり、生産管理装置10の管理者は、実情および戦略等に応じてペナルティの値を任意に変更することができる。
【0047】
出荷予定情報163は、製品の出荷予定に関する情報を保持する。
図3は、出荷予定情報163の一例を示す図である。
図3に示すように、出荷予定情報163は、注文番号、優先度、出荷日といった項目を有する。注文番号は、製品の注文を識別するための識別番号である。優先度は、注文の優先度の高さを示す値である。本実施例では、優先度の値が「1」の注文が最も優先度が高く、優先度の値が大きい注文ほど優先度が低いものとする。出荷日は、注文に対応する製品を出荷すべき日付である。
【0048】
探索結果情報164は、好適な生産計画を決定する過程で探索された生産計画に関する情報を保持する。
図4は、探索結果情報164の一例を示す図である。
図4に示すように、探索結果情報164は、生産計画毎に設定される情報と、生産計画毎かつ注文毎に設定される情報と、生産計画毎かつ注文毎かつ工程毎に設定される情報とを含む。
【0049】
生産計画毎に設定される情報は、計画番号、評価値、総遅れ日数、総作業時間、総作業者数といった項目を有する。計画番号は、生産計画を識別するための識別番号である。評価値は、生産計画を評価するための指標値である。本実施例では、評価値は、生産計画に含まれる全ての注文の出荷に関するペナルティの合計と、生産計画に含まれる全ての工程の作業に関するペナルティの合計とを加算した値である。
【0050】
総遅れ日数は、生産計画に含まれる注文の出荷遅れ日数の合計である。総作業時間は、生産計画に含まれる工程の作業時間の合計である。総作業者数は、生産計画に含まれる工程に割り当てられる作業者の延べ数である。総遅れ日数、総作業時間、および総作業者数は、評価値とは異なる観点から生産計画を評価するための指標値として利用される。なお、生産計画を評価するための指標値として、全ての注文の出荷日までの余裕日数の合計(在庫として保有する期間)、段取り回数、設備優先度の合計、作業者優先度の合計、残業時間、作業の平準度(日毎の作業時間のばらつき)等を保持するようにしてもよい。
【0051】
生産計画毎かつ注文毎に設定される情報は、注文番号、優先度、出荷日、出荷予測日、出荷に関するペナルティといった項目を有する。注文番号は、製品の注文を識別するための識別番号である。優先度は、注文の優先度の高さを示す値である。出荷日は、注文に対応する製品を出荷すべき日付である。出荷予測日は、生産計画に従って製品を生産した場合に製品が出荷される日付である。
【0052】
出荷に関するペナルティは、生産計画に従って製品を生産した場合の出荷の遅れを評価する値である。本実施例では、出荷に関するペナルティは、出荷遅れ日数に1000を乗じることによって算出される。出荷遅れ日数は、出荷予測日が出荷日と同日または出荷日よりも前の場合には0日であり、出荷予測日が出荷日よりも後の場合には、出荷日から出荷予測日までの日数である。なお、出荷に関するペナルティの決定の仕方は、この例に限定されない。例えば、出荷日を守るために時間外労働を含む生産計画を作成する場合、時間外労働に要するコスト(作業員の残業代および設備の運用コスト等)の大きさに応じて、出荷に関するペナルティを決定してもよい。また、製品を在庫として保有する日数に応じて、出荷に関するペナルティを決定してもよい。
【0053】
生産計画毎かつ注文毎かつ工程毎に設定される情報は、工程番号、作業形態番号、内外作区分、使用設備、作業者、開始日時、終了日時、作業時間といった項目を有する。これらの項目は、生産計画の実体である。すなわち、これらの項目は、製品を生産するための工程をどのリソースを用いて、いつ、どれだけの時間を掛けて実行するのかを示す。生産計画毎かつ注文毎かつ工程毎に設定される情報は、作業に関するペナルティという項目をさらに有する。
【0054】
工程番号は、工程を識別するための識別番号である。作業形態番号は、工程の作業形態を識別するための識別番号である。内外作区分は、作業が自社で行われるのか、他社で行われるのかを示す。使用設備は、使用される設備の識別番号である。作業者は、作業を担当する作業者を示す。開始日時は、作業を開始すべき日時である。終了日時は、作業を終了すべき日時である。作業時間は、終了日時と開始日時との差、すなわち、作業に掛けることができる時間である。
【0055】
作業に関するペナルティは、選択された作業形態の好ましさを示す。作業に関するペナルティには、工程情報162において、選択された作業形態と対応付けて設定されているペナルティの値が設定される。
【0056】
生産計画情報165は、選定された生産計画と、その生産計画に基づいて実行された作業の実績とに関する情報を保持する。
図5は、生産計画情報165の一例を示す図である。
図5に示すように、生産計画情報165は、注文番号、工程番号、作業形態番号、内外作区分、使用設備、作業者といった項目を有する。また、生産計画情報165は、開始日時、終了日時、および作業時間の予定値の項目と、開始日時、終了日時、および作業時間の実績値の項目とを有する。生産計画情報165は、1つの注文番号に対して、工程番号から作業時間の実績値の組み合わせを複数保持できるように構成されている。
【0057】
注文番号は、製品の注文を識別するための識別番号である。工程番号は、工程を識別するための識別番号である。作業形態番号は、工程の作業形態を識別するための識別番号である。内外作区分は、作業が自社で行われるのか、他社で行われるのかを示す。使用設備は、使用される設備の識別番号である。作業者は、作業を担当する作業者を示す。開始日時の予定値は、作業を開始すべき日時である。終了日時の予定値は、作業を終了すべき日時である。作業時間の予定値は、作業に掛けることができる時間である。
【0058】
開始日時の実績値は、作業が実際に開始された日時である。終了日時の実績値は、作業が実際に終了した日時である。作業時間の実績値は、実際に作業に要した時間である。開始日時、終了日時、および作業時間の実績値は、生産計画情報165が作成された段階では、空欄または0となる。
【0059】
生産計画立案プログラム166は、好適な生産計画を立案するための機能を提供する。生産計画立案プログラム166は、初期計画作成部166aと、スケジューラ166bと、生産計画評価部166cと、生産計画探索部166dと、生産計画選択部166eを含む。
【0060】
初期計画作成部166aは、工程情報162および出荷予定情報163等に基づいて、初期の生産計画(以下、「初期計画」ということがある)を作成する機能を提供する。初期計画は、出荷予定情報163に登録されている注文に対応する製品を生産するための各工程の作業形態をランダムに選択して作成される。そのため、初期計画の内容は、作成されるたびに異なる。
【0061】
スケジューラ166bは、生産すべき製品とそれらの製品を生産するための各工程の作業形態とが決定されている生産計画に対して、各工程へのリソース(作業員および設備)の割り当てと、各工程の開始日時および終了日時の決定とを行う機能を提供する。リソースの割り当てと、開始日時および終了日時の決定とは、優先度の高い注文ほど出荷日が守られるように行われる。
【0062】
生産計画評価部166cは、生産計画を評価する機能を提供する。具体的には、生産計画評価部166cは、
図4に示した評価値を算出する機能と、総遅れ日数等の評価値以外の指標値を算出する機能とを提供する。
【0063】
生産計画探索部166dは、初期計画を起点として好適な生産計画を探索する機能を提供する。具体的には、生産計画探索部166dが提供する機能によれば、以下のように、複数の初期計画を用いた局所探索法によって好適な生産計画が探索される。
【0064】
まず、1つの初期計画が現行の生産計画(以下、「現行計画」ということがある)とされる。そして、現行計画の評価値と、現行計画の一部を変更した近傍の生産計画の評価値とが比較され、近傍の生産計画の方が高評価の場合、近傍の生産計画が現行計画とされる。こうして、所定の終了条件が満たされるまで現行計画の近傍の探索が繰り返し実行され、その結果、1つの好適な生産計画(局所最適解)が得られる。
【0065】
続いて、別の初期計画が現行計画とされ、現行計画の近傍の生産計画の探索によって別の好適な生産計画(局所最適解)が得られる。こうして複数の初期計画を起点として、初期計画毎に好適な生産計画(局所最適解)が探索される。そして、探索された複数の好適な生産計画(局所最適解)の中で最も評価の高いものが実行すべき生産計画として選定される。選定された生産計画は、生産計画情報165として記憶される。このように、複数の初期計画を用いて探索を行うことにより、作業形態の多様な組み合わせを評価することができ、その結果、真に最適な生産計画またはそれに近い生産計画が得られる可能性が高まる。
【0066】
生産計画選択部166eは、探索の過程で探索結果情報164に記録された生産結果の中から、実行すべき生産計画を管理者が選択する作業を支援する機能を提供する。生産計画探索部166dは、評価値に基づいて実行すべき生産計画を選定するが、状況によっては、評価値以外の指標値を考慮して生産計画を選定することが好ましいこともある。そのような場合、管理者は、生産計画選択部166eが提供する機能によって表示部11に表示される情報を参照して、実行すべき生産計画を選定し直す。選定し直された生産計画は、生産計画情報165として記憶される。
【0067】
工程管理プログラム167は、生産計画情報165を
図1に示した携帯端末装置20に配信する機能と、生産計画に基づいて実行された作業の実績に関する情報を携帯端末装置20から収集する機能とを提供する。
【0068】
携帯端末装置20は、各工程の作業を担当する作業員によって携帯される。携帯端末装置20は、配信された生産計画情報165に含まれる情報のうち、自装置を携帯している作業員に関する情報を表示部に表示する。そのため、作業員は、自分が、いつ、どの工程で、どの設備を用いて、どの製品に関する作業を行うべきかを容易に知ることができる。そして、作業員は、各工程での作業の開始時および終了時に携帯端末装置20に対して所定の操作を行う。その結果、各工程における作業の開始日時および終了日時が携帯端末装置20に記録される。記録された開始日時および終了日時は、生産計画に基づいて実行された作業の実績に関する情報として生産管理装置10へ送信される。
【0069】
なお、生産管理装置10と携帯端末装置20との間の情報のやりとりは、送信すべき情報が更新される度にリアルタイムに行われてもよいし、所定の時刻に一括して行われてもよい。
【0070】
工程分析プログラム168は、生産計画と実績の乖離を分析するための機能と、分析結果に基づいて作業計画の立案を改善するための機能とを提供する。工程分析プログラム168は、工程分析部168aと、工程改善部168bとを含む。工程分析部168aは、生産計画と実績の乖離を表示部11上に視覚化するための機能を提供する。工程改善部168bは、分析結果に基づいて作業計画の立案を改善するために工程情報162を変更するための機能を提供する。
【0071】
次に、
図6および
図7を参照しながら、生産管理装置10が実行する生産計画立案処理の処理手順について説明する。
図6は、生産計画立案処理の処理手順を示すフローチャートである。
図7は、生産計画立案処理内で実行される局所最適解探索処理の処理手順を示すフローチャートである。
図6および
図7に示す処理手順は、制御部15が生産計画立案プログラム166を実行することによって実現される。
【0072】
図6に示すように、制御部15は、まず、初期計画作成部166aの提供する機能に基づいて、初期計画を作成する(ステップS101)。この段階では、生産すべき製品とそれらの製品を生産するための各工程の作業形態とが決定される。そして、制御部15は、後述する局所最適解探索処理を実行し、それによって、初期計画を起点とした好適な生産計画(局所最適解)を取得する(ステップS102)。
【0073】
続いて、制御部15は、局所最適解探索処理で探索された生産計画を探索結果情報164に保存する(ステップS103)。記憶容量を節約するため、制御部15は、局所最適解探索処理で探索された生産計画のうち、局所最適解のみを探索結果情報164に保存してもよい。また、制御部15は、局所最適解探索処理で探索された生産計画のうち、評価の高い順に上位所定数の生産計画のみを探索結果情報164に保存してもよい。
【0074】
続いて、制御部15は、第1の終了条件が充足されたかを判定する(ステップS104)。制御部15は、以下の場合に第1の終了条件が充足されたと判定する。まず、制御部15は、局所最適解探索処理の実行回数が第1の所定の回数より多くなった場合に、第1の終了条件が充足されたと判定する。また、制御部15は、生産計画立案処理の処理時間が第1の所定の時間より長くなった場合に、第1の終了条件が充足されたと判定する。また、制御部15は、局所最適解探索処理によって得られた生産計画の評価が十分に良好な場合、すなわち、生産計画の評価値が所定の条件を満たす場合に、第1の終了条件が充足されたと判定する。所定の条件とは、例えば、評価値が0であること、または評価値が十分小さい閾値未満であることである。
【0075】
第1の終了条件が充足された場合(ステップS104,Yes)、制御部15は、局所最適解探索処理によって得られた生産計画のうち、最も高く評価された生産計画を生産計画情報165として保存する(ステップS105)。そして、制御部15は、生産計画立案処理を終了させる。第1の終了条件が充足されない場合(ステップS104,No)、制御部15はステップS101以降を再実行する。
【0076】
図7に示すように、局所最適解探索処理において、制御部15は、初期計画を現行計画Pcとする(ステップS201)。そして、制御部15は、スケジューラ166bの提供する機能に基づいて、現行計画Pcの各工程にリソースを割り当て(ステップS202)、各工程の開始日時および終了日時を決定する(ステップS203)。そして、制御部15は、生産計画評価部166cの提供する機能に基づいて、現行計画Pcを評価する(ステップS204)。
【0077】
続いて、制御部15は、近傍の生産計画を作成するために用いられる注文番号と工程番号が選択される確率を調整する(ステップS205)。具体的には、制御部15は、現行計画Pcにおいて、出荷に関するペナルティの値が閾値よりも大きい注文に対応する注文番号が選択される可能性が高くなるように確率を調整する。また、制御部15は、現行計画Pcにおいて、作業に関するペナルティの値が閾値よりも大きい工程に対応する注文番号と工程番号が選択される可能性が高くなるように確率を調整する。
【0078】
このように、大きなペナルティに関連している注文番号と工程番号が選択される可能性が高くなるように確率を調整することにより、ペナルティの値が小さい近傍に早期に達すること、すなわち、好適な生産計画が早期に探索されることが期待される。なお、確率を調整する程度は、ペナルティの大きさの順序での順位、またはペナルティの大きさそのものに応じて決定してもよい。
【0079】
続いて、制御部15は、調整後の確率に基づいて、現行計画Pcに含まれる注文番号および工程番号の中から注文番号および工程番号を1つずつ選択する(ステップS206)。そして、制御部15は、以下のように第1の近傍を評価する。
【0080】
すなわち、制御部15は、まず、第1の近傍として、選択した注文番号および工程番号に対応する工程の作業形態番号を変更した生産計画P1を現行計画Pcから作成する(ステップS207)。作業形態番号は、ランダムに変更される。生産計画P1を作成できた場合(ステップS208,Yes)、制御部15は、スケジューラ166bの提供する機能に基づいて、生産計画P1の各工程にリソースを割り当て(ステップS209)、各工程の開始日時および終了日時を決定する(ステップS210)。そして、制御部15は、生産計画評価部166cの提供する機能に基づいて、生産計画P1を評価する(ステップS211)。
【0081】
生産計画P1の評価値が現行計画Pcの評価値よりも少ない場合、すなわち、生産計画P1が現行計画Pcよりも高評価の場合(ステップS212,Yes)、制御部15は、生産計画P1を現行計画Pcとする(ステップS213)。そして、制御部15は、第2の終了条件が充足されたかを判定する(ステップS214)。
【0082】
制御部15は、以下の場合に第2の終了条件が充足されたと判定する。まず、制御部15は、現行計画Pcの近傍の生産計画を全て評価したが、現行計画Pcよりも高評価の生産計画がなかった場合に、第2の終了条件が充足されたと判定する。また、制御部15は、生産計画の評価回数が第2の所定の回数より多くなった場合に、第2の終了条件が充足されたと判定する。また、制御部15は、局所最適解探索処理の処理時間が第2の所定の時間より長くなった場合に、第2の終了条件が充足されたと判定する。また、制御部15は、現行計画Pcの評価が十分に良好な場合、すなわち、現行計画Pcの評価値が所定の条件を満たす場合に、第2の終了条件が充足されたと判定する。所定の条件とは、例えば、評価値が0であること、または評価値が十分小さい閾値未満であることである。
【0083】
第2の終了条件が充足された場合(ステップS214,Yes)、制御部15は、局所最適解探索処理を終了させる。第2の終了条件が充足されない場合(ステップS214,No)、制御部15はステップS205以降を再実行する。なお、制御部15は、選択した注文番号および工程番号に対応する工程の作業形態番号が異なる全ての生産計画P1が評価されるまで、ステップS205からステップS213を繰り返し実行してもよい。
【0084】
生産計画P1の評価値が現行計画Pcの評価値以上の場合、すなわち、生産計画P1が現行計画Pcよりも高評価でない場合(ステップS212,No)、制御部15は、以下のように第2の近傍を評価する。また、選択した注文番号および工程番号に対応する工程の作業形態番号を変更した生産計画P1を作成できない場合、すなわち、工程の作業形態が1パターンしかない場合も(ステップS208,No)、制御部15は、以下のように第2の近傍を評価する。
【0085】
すなわち、制御部15は、まず、第2の近傍として、選択した注文番号に対応する優先度を変更した生産計画P2を現行計画Pcから作成する(ステップS215)。優先度は、所定の範囲内でランダムに変更される。そして、制御部15は、スケジューラ166bの提供する機能に基づいて、生産計画P2の各工程にリソースを割り当て(ステップS216)、各工程の開始日時および終了日時を決定する(ステップS217)。そして、制御部15は、生産計画評価部166cの提供する機能に基づいて、生産計画P2を評価する(ステップS218)。
【0086】
生産計画P2の評価値が現行計画Pcの評価値よりも少ない場合、すなわち、生産計画P2が現行計画Pcよりも高評価の場合(ステップS219,Yes)、制御部15は、生産計画P2を現行計画Pcとする(ステップS220)。そして、制御部15は、第2の終了条件が充足されたかを判定する(ステップS214)。生産計画P2が現行計画Pcよりも高評価でない場合(ステップS219,No)、制御部15は、現行計画Pcを変更することなく、第2の終了条件が充足されたかを判定する(ステップS214)。
【0087】
第2の終了条件が充足された場合(ステップS214,Yes)、制御部15は、局所最適解探索処理を終了させる。第2の終了条件が充足されない場合(ステップS214,No)、制御部15はステップS205以降を再実行する。なお、制御部15は、選択した注文番号に対応する優先度を所定の範囲内で変更した全ての生産計画P2が評価されるまで、ステップS215からステップS220を繰り返し実行してもよい。また、高優先で生産されるべき製品の出荷が遅れることを避けるために、ステップS215では、優先度を下げないこととしてもよい。
【0088】
次に、生産計画選択部166eが提供する機能に基づいて表示される画面の例について説明する。
図8は、生産計画探索画面40の一例を示す図である。生産計画探索画面40は、生産計画選択部166eが提供する機能に基づいて、制御部15によって表示部11に表示される。
【0089】
図8に示すように、生産計画探索画面40は、横軸選択項目41と、縦軸選択項目42と、分布表示領域43と、一覧表示領域44と、選択ボタン45とを含む。横軸選択項目41は、生産計画の指標値のうち、分布表示領域43に横軸として設定される指標値を選択するための項目である。縦軸選択項目42は、生産計画の指標値のうち、分布表示領域43に縦軸として設定される指標値を選択するための項目である。
【0090】
分布表示領域43は、探索結果情報164に含まれる生産計画が、横軸選択項目41で選択された指標値と、縦軸選択項目42で選択された指標値とに対応する位置にマッピングされる領域である。なお、制御部15は、探索結果情報164に含まれる全ての生産計画を分布表示領域43内にマッピングしてもよいし、評価が高い順に所定の数の生産計画を分布表示領域43内にマッピングしてもよい。
【0091】
一覧表示領域44は、探索結果情報164に含まれる生産計画が一覧表示される領域である。一覧表示領域44に表示される生産計画は、分布表示領域43に対する操作に応じて絞り込まれる。例えば、入力部12において、選択領域43aのように一覧表示領域44内の一部の領域が選択された場合、制御部15は、選択された領域内にマッピングされている生産計画のみを一覧表示領域44に表示させる。また、制御部15は、選択領域43a内に表示されている各生産計画に対応するシンボルに対するクリック等の操作が入力部12において検出された場合、操作が検出された位置に対応する生産計画の選択領域43aでの表示/非表示を切り替える。
【0092】
このように、分布表示領域43に対する操作に応じて一覧表示領域44に表示する生産計画を絞り込むことにより、利用者は、特定の指標値が所望の範囲内にある生産計画のみを比較することができる。
【0093】
利用者は、絞り込んだ生産計画の中から実行すべき生産計画を選定すると、選定した生産計画を一覧表示領域44において選択状態にして選択ボタン45を押下する。制御部15は、選択ボタン45の押下が入力部12によって検出されると、一覧表示領域44において選択状態にある生産計画の情報を探索結果情報164から取得し、生産計画情報165として保存する。
【0094】
次に、工程分析プログラム168が提供する機能に基づいて表示される画面の例について説明する。
図9は、作業実績画面50の一例を示す図である。作業実績画面50は、工程分析プログラム168が提供する機能に基づいて、制御部15によって表示部11に表示される。
【0095】
図9に示すように、作業実績画面50は、期間選択項目51と、一覧表示領域52とを含む。期間選択項目51は、実績を分析する期間を選択するための項目である。一覧表示領域52は、選択された期間における作業の実績に関する情報が工程毎に表示される領域である。一覧表示領域52には、工程番号と、標準時間と、実績時間と、最小値と、最大値と、標準時間、実績時間、最小値、および最大値を視覚化したダイアグラムとが表示される。なお、作業実績画面50において、一覧表示領域52中のデータを、工程の順序、標準時間の長い順、実績時間の長い順、実績時間−標準時間の大きい順、実績時間÷標準時間の大きい順等で並べ替えることができるようにしてもよい。このようにデータを並べ替えることにより、改善すべき工程を抽出しやすくなる。
【0096】
標準時間は、選択された期間における工程毎の作業時間の予定値の平均である。実績時間は、選択された期間における工程毎の作業時間の実績値の平均である。最小値は、選択された期間における工程毎の作業時間の実績値の最小値である。最大値は、選択された期間における工程毎の作業時間の実績値の最大値である。
【0097】
一覧表示領域52において、工程番号は、クリック可能であることを示すために下線を付して表示される。制御部15は、工程番号の表示領域内でのクリック等が入力部12によって検出されると、
図10に示すように、選択された期間における工程の作業時間の実績値がどのようにばらついているかを示す作業時間分布画面60を表示する。このように、作業時間の実績値のばらつきを視覚化することにより、利用者は、ばらつきの程度や原因を判断しやすくなる。なお、作業時間分布画面60は、作業時間の実績値のばらつきをヒストグラムとして表示してもよい。
【0098】
また、一覧表示領域52内の各工程に対応するダイアグラムでは、標準時間は、時間の長さに応じた位置に所定の形状のシンボル52cとして図示される。実績時間は、時間の長さに応じた幅をもつブロック(図形)52bとして図示される。最小値および最大値は、それぞれの時間の長さに応じた位置に跨がる所定の形状のシンボル52dとして図示される。ブロック52b、シンボル52c、およびシンボル52dは、工程毎に同じスケール上に重畳して表示される。なお、シンボル52dに代えて、最小値の長さに応じた位置に所定の形状のシンボルと、最大値の長さに応じた位置に所定の形状のシンボルの少なくとも一方を表示してもよい。また、シンボルや図形の形状は、任意に変更してもよいし、各値をシンボルと図形のいずれで変更してもよい。
【0099】
このように、作業に関する複数の情報を重畳してダイアグラムとして図示することにより、利用者は、各工程の作業計画に問題があるか否かを一目で判断することができる。例えば、「P03」で識別される工程では、シンボル52cがブロック52bのやや右に位置しており、シンボル52dの幅が比較的狭い。このダイアグラムから、利用者は、「P03」で識別される工程では、作業時間の実績値が予定値をやや下回っており、作業時間の実績値のばらつきが少ないこと、すなわち、この工程に関しては生産計画に問題が無いことを容易に判断することができる。
【0100】
シンボル52dの幅が比較的広い工程がある場合、利用者は、その工程に関して生産計画に問題があるか否かを判断し難い。その場合、利用者は、その工程に対応する行の左端に表示されている展開/収縮ボタン52aを押下することにより、その工程に関するより詳細な情報を参照することができる。
【0101】
展開/収縮ボタン52aの押下が入力部12によって検出された場合、制御部15は、
図11に示すように、押下された展開/収縮ボタン52aに対応する工程の作業の実績に関する情報を作業形態別に表示させる。
図11に示す例においては、「OP01−01」で識別される作業形態および「OP01−02」で識別される作業形態では、シンボル52cがブロック52bの右端に位置しており、シンボル52dの幅が比較的狭い。これらのダイアグラムから、利用者は、これらの2つの作業形態に関しては生産計画に問題が無いことを容易に判断することができる。
【0102】
また、
図11に示す例においては、「OP01−03」で識別される作業形態では、シンボル52cがブロック52bの右端よりもかなり左側に位置しており、シンボル52dの幅が比較的広い。このダイアグラムから、利用者は、この作業形態に関しては作業時間の実績値が予定値を大きく上回っており、ばらつきも大きいこと、すなわち、生産計画に問題があることを容易に判断することができる。
【0103】
このように、特定の作業形態に関して生産計画に問題があることが判明した場合、利用者は、作業実績画面50上で工程情報162を変更することができる。例えば、
図12に示すように、作業形態別に設けられたチェックボックス52eのチェックを外す操作が入力部12によって検出された場合、制御部15は、チェックが外れたチェックボックス52eに対応する作業形態が生産計画に用いられないように工程情報162の有効フラグの値を更新する。
【0104】
また、一覧表示領域52内で作業形態に対応する標準時間の値を書き換える操作が入力部12によって検出された場合、制御部15は、書き換えられた標準時間の値を、工程情報162におけるその作業形態の作業時間として設定する。この場合、制御部15は、書き換えられた標準時間に対応する工程と作業形態のダイアグラムを更新する。
【0105】
このように、分析結果に基づいて作業計画の基となる情報を更新することにより、予定値と実績値の乖離を小さくし、その結果、作業計画の質を向上させることができる。
【0106】
なお、上記の実施例で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、上記の実施例で示したプログラムは、複数のモジュールに分割されていてもよいし、他のプログラムと統合されていてもよい。また、上記の実施例では、好適な生産計画を探索するために局所探索法を用いることとしたが、他の解探索手法を用いて好適な生産計画を探索してもよい。また、上記の実施例で示した各種画面の構成は、機能および視認性を損なわない範囲で変更することができる。
【0107】
また、上記の実施例では、値が小さいほど好適な生産計画であることを示すように評価値を算出する例について説明したが、生産管理装置10は、値が大きいほど好適な生産計画であることを示すように評価値を算出してもよい。
【0108】
また、上記の実施例では、生産管理装置10が、生産計画に対する実績として、各工程での作業の開始日時および終了日時を収集することとしたが、他の情報をさらに収集してもよい。例えば、作業に遅れが発生した場合に、遅れの理由を作業者に入力させることとし、入力された理由を生産管理装置10が収集してもよい。そして、生産管理装置10が、収集した理由を工程毎等で集計し、集計結果を利用者に示して作業計画の質の向上のために利用してもらうこととしてもよい。
【0109】
また、上記の実施例では、生産管理装置10が、各種の画面を生産管理装置10が備える表示部11に表示することとしたが、生産管理装置10は、各種の画面を他の装置の表示部に表示させることとしてもよい。この場合、例えば、画面は、HTML(HyperText Markup Language)形式で生産管理装置10から他の装置へ送信される。また、生産管理装置10と他の装置との間の情報のやりとりは、HTTP(HyperText Transfer Protocol)に基づいて実行される。