(57)【特許請求の範囲】
【請求項１】
複数の加工装置を用いて、複数の半製品の加工をスケジューリングするスケジューリング装置であって、
スケジューリングの順序が決定された前記複数の半製品のうち先頭の所定個数の半製品を選択し、１つの集合の要素数が、前記加工装置が同時に加工できる半製品数のうち最も小さい最小同時加工可能数以上かつ、前記加工装置が同時に加工できる半製品数のうち最も大きい最大同時加工可能数以下となるように、前記選択した半製品を、複数のパターンで、先頭から順に分割して、複数の集合列を生成する分割部と、
前記集合列に属するすべての半製品の加工が最も早く完了するように、前記集合列に含まれる集合をそれぞれ前記加工装置のうちの１つに割り当てた場合に、前記集合列に属するすべての半製品の加工が最も早く完了する集合列を算出する算出部と、
前記算出部で算出された集合列の先頭の集合を、前記算出部で割り当てられた加工装置で加工させることを決定する決定部と、
を備えたスケジューリング装置。
【請求項２】
前記分割部は、スケジューリングの順序が決定された前記複数の半製品から、前記算出部で算出された集合列の先頭の集合を除去し、除去後の半製品を対象とする
ことを特徴とする請求項１に記載のスケジューリング装置。
【請求項３】
前記分割部は、前記選択した半製品を分割可能な全てのパターンで分割することにより、前記複数の集合列を生成する
請求項１または２に記載のスケジューリング装置。
【請求項４】
前記分割部は、前記選択した半製品を、少なくとも最初の集合の要素数が、最小同時加工可能数以上、最大同時加工数以下のすべてが入るように分割することにより、前記複数の集合列を生成する
請求項１または２に記載のスケジューリング装置。
【請求項５】
前記所定個数は、前記最大同時加工可能数に一致する
ことを特徴とする請求項１ないし４のいずれか一項に記載のスケジューリング装置。
【請求項６】
前記所定個数は、ユーザの指定した個数である
ことを特徴とする請求項１ないし４のいずれか一項に記載のスケジューリング装置。
【請求項７】
複数の加工装置を用いて、複数の半製品の加工をスケジューリングするスケジューリング装置であって、
スケジューリングの順序が決定された前記複数の半製品のうち先頭の複数個の半製品を選択し、１つの集合の要素数が、前記加工装置が同時に加工できる半製品数のうち最も小さい最小同時加工可能数以上かつ、前記加工装置が同時に加工できる半製品数のうち最も大きい最大同時加工可能数以下となるように、前記選択した半製品を、複数のパターンで、先頭から順に分割して、複数の集合列をそれぞれ生成する分割部と、
前記集合列に属するすべての半製品の加工の消費エネルギーが最も低くなるように、前記集合列に含まれる集合をそれぞれ前記加工装置のうちの１つに割り当て、前記消費エネルギーが最も低くなる集合列を算出する算出部と、
前記算出部で算出された集合列の先頭の集合を、前記算出部で割り当てられた加工装置で加工させることを決定する決定部と、
を備えたスケジューリング装置。
【請求項８】
前記分割部は、スケジューリングの順序が決定された前記複数の半製品から、前記算出部で算出された集合列の先頭の集合を除去し、除去後の半製品を対象とする
ことを特徴とする請求項７に記載のスケジューリング装置。
【請求項９】
前記分割部は、前記選択した半製品を分割可能な全てのパターンで分割することにより、前記複数の集合列を生成する
請求項７または８に記載のスケジューリング装置。
【請求項１０】
前記分割部は、前記選択した半製品を、少なくとも最初の集合の要素数が、最小同時加工可能数以上、最大同時加工数以下のすべてが入るように分割することにより、前記複数の集合列を生成する
請求項７または８に記載のスケジューリング装置。
【請求項１１】
前記所定個数は、前記最大同時加工可能数に一致する
ことを特徴とする請求項７ないし１０のいずれか一項に記載のスケジューリング装置。
【請求項１２】
前記所定個数は、ユーザの指定した個数である
ことを特徴とする請求項７ないし１０のいずれか一項に記載のスケジューリング装置。
【請求項１３】
複数の加工装置を用いて、複数の半製品の加工をスケジューリングするスケジューリング方法であって、
スケジューリングの順序が決定された前記複数の半製品のうち先頭の所定個数の半製品を選択し、１つの集合の要素数が、前記加工装置が同時に加工できる半製品数のうち最も小さい最小同時加工可能数以上かつ、前記加工装置が同時に加工できる半製品数のうち最も大きい最大同時加工可能数以下となるように、前記選択した半製品を、複数のパターンで、先頭から順に分割して、複数の集合列を生成する分割ステップと、
前記集合列に属するすべての半製品の加工が最も早く完了するように、前記集合列に含まれる集合をそれぞれ前記加工装置のうちの１つに割り当て、前記集合列に属するすべての半製品の加工が最も早く完了する集合列を算出する算出ステップと、
前記算出ステップで算出された集合列の先頭の集合を、前記算出ステップで割り当てられた加工装置で加工させることを決定する決定ステップと、
をコンピュータが実行するスケジューリング方法。
【請求項１４】
複数の加工装置を用いて、複数の半製品の加工をスケジューリングするスケジューリング方法であって、
スケジューリングの順序が決定された前記複数の半製品のうち先頭の所定個数の半製品を選択し、１つの集合の要素数が、前記加工装置が同時に加工できる半製品数のうち最も小さい最小同時加工可能数以上かつ、前記加工装置が同時に加工できる半製品数のうち最も大きい最大同時加工可能数以下となるように、前記選択した半製品を、複数のパターンで、先頭から順に分割して、複数の集合列を生成する分割ステップと、
前記集合列に属するすべての半製品の加工の消費エネルギーが最も低くなるように、前記集合列に含まれる集合をそれぞれ前記加工装置のうちの１つに割り当て、前記消費エネルギーが最も低くなる集合列を算出する算出ステップと、
前記算出ステップで算出された集合列の先頭の集合を、前記算出ステップで割り当てられた加工装置で加工させることを決定する決定ステップと、
をコンピュータが実行するスケジューリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、１つまたは複数の半製品を同時に加工できる複数の加工装置を用いたスケジューリング装置およびその方法に関する。
【背景技術】
【０００２】
半製品の加工スケジューリングを自動で行う最もシンプルな方法は、半製品を１つずつ最も早く加工が完了する加工装置に割り当てていく方法である。しかし、加工装置として、複数の半製品をまとめて加工できるバッチ処理装置を対象とする場合、複数の半製品をまとめて装置に割り当てることを考えなければ、生産効率が良いスケジューリングは得られない。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2010-157182号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
半製品が十分に存在する場合は、常に加工できる最大数分の半製品をバッチ処理装置にかける方が、生産効率が良い。
【０００５】
しかし、半製品が加工時間に比べて十分遅いペースで到来し、半製品の生産に時間を要する場合、バッチ処理装置が加工できる最大数の半製品が揃う前に、加工を開始してしまった方が、結果的に生産効率が良くなることがある。
【０００６】
これまでは、何個の半製品をまとめてバッチ処理装置にかけるかは、人の経験や勘により決定されていたが、生産スケジュール作成に多くの時間を必要とする上、生産効率が良いスケジュールを組むことは難しい。
【０００７】
本発明の一側面は、生産効率の良い半製品のスケジューリングを短時間で行うことを可能としたスケジューリング装置およびその方法を提供する。
【課題を解決するための手段】
【０００８】
本発明の一態様としてのスケジューリング装置は、複数の加工装置を用いて、複数の半製品の加工をスケジューリングするスケジューリング装置であって、分割部と、算出部と、決定部とを備える。
【０００９】
前記分割部は、スケジューリングの順序が決定された前記複数の半製品のうち先頭の所定個数の半製品を選択し、１つの集合の要素数が、前記加工装置が同時に加工できる半製品数のうち最も小さい最小同時加工可能数以上かつ、前記加工装置が同時に加工できる半製品数のうち最も大きい最大同時加工可能数以下となるように、前記選択した半製品を複数のパターンで分割して、複数の集合列をそれぞれ生成する。
【００１０】
前記算出部は、前記集合列に属するすべての半製品の加工が最も早く完了するように、前記集合列に含まれる集合をそれぞれ前記加工装置のうちの１つに割り当てた場合に、前記集合列に属するすべての半製品の加工が最も早く完了する集合列を算出する。
【００１１】
前記決定部は、前記算出部で算出された集合列の先頭の集合を、前記算出部で割り当てられた加工装置で加工させることを決定する。
【図面の簡単な説明】
【００１２】
【図１】本実施形態にかかる装置の構成を示すブロック図。
【図２】本実施形態にかかる装置の動作のフロー図
【図３】図１の装置の出力結果を示す図。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら、本実施形態について説明する。
【００１４】
図１は、本実施形態にかかるバッチ処理スケジューリング装置を示すブロック図である。
【００１５】
半製品管理データベース１１は、半製品の入手可能時刻および消費期限等の情報を記憶管理する。
【００１６】
装置情報データベース１２は、半製品を加工する加工装置の装置情報を記憶管理するデータベースである。装置が同時に処理できる半製品の個数、加工に要する時間、使用エネルギー量などの情報が含まれる。
【００１７】
スケジュール順決定装置１３は、半製品管理データベース１２に基づき、スケジュール対象となる半製品を特定し、特定した半製品のスケジュール順を決定する。
【００１８】
半製品集合分割装置１４は、スケジュール順に並べられた半製品のうち、先頭の所定個数の半製品を取り出す。そして、取り出した半製品の列を、先頭から１つ以上の集合に、複数のパターンで分割して、各パターンにそれぞれ対応する集合列を生成する。
【００１９】
ここで、１つの集合に含まれる要素数は、すべての加工装置のそれぞれで同時に加工できる半製品数のうち最も小さい最小同時加工可能数以上、かつ、すべての加工装置のそれぞれで同時に加工できる半製品数のうち最も大きい最大同時加工可能数以下である。すなわち１つの集合の最小要素数は、最小同時加工可能数、最大要素数は、最大同時加工可能数である
本実施形態では、スケジュール順に並べられた半製品から取り出す先頭の所定個数は、上記最大同時加工可能数に一致、またはユーザがあらかじめ指定する場合を想定する。ただし、本実施形態は、これに限定されるものでなく、任意の方法で取り出す個数を決定してよい。
【００２０】
最適分割算出装置１５は、各パターンに対応する集合列について、当該集合列に属するすべての半製品の加工が最も早く完了するように、集合列に含まれる集合をそれぞれ加工装置のうちの１つに割り当て、当該すべての半製品の加工が完了する時刻を計算する。そして、最も早く完了する集合列を特定する。
【００２１】
つまり、最適分割算出装置は、半製品集合分割装置が算出した各集合列について、最速加工完了時刻をそれぞれ計算する。そして、最速加工完了時刻が最も早い集合列を、最適な集合列として算出する。
【００２２】
または、最適分割算出装置１５は、各集合列について、使用エネルギー量をそれぞれ計算し、もっとも使用エネルギー量が少ない集合列を、最適な集合列として算出する。
【００２３】
同時処理半製品決定装置１６は、最適な集合列の最初（先頭）の集合をスケジューリングする。具体的に、最適分割算出装置１５が当該最適な集合列に対し、当該先頭の集合に割り当てた加工装置で、当該集合に含まれる半製品を加工させることを決定する。最適な集合列の２番目以降の集合については、現時点ではスケジューリングせず、半製品集合分割装置１４の次の処理に廻される。
【００２４】
出力装置は、同時処理半製品決定装置１６で決定したスケジュール結果を出力する。スケジュール結果を、表示装置に出力してもよいし、有線または無線によりネットワークを介して送信してもよいし、ハードディスクやメモリデバイス等の記録媒体に記録してもよい。
【００２５】
以下、具体例を用いて、本装置の動作を具体的に説明する。本実施形態の動作のフローを図２に示す。
【００２６】
同時に１〜４個の半製品を加工できるバッチ処理装置１台（M1とする）と、同時に１個の半製品を加工できる装置１台（M2とする）の計２台の加工装置が存在すると仮定する。このような装置に関する情報は装置情報データベース１２に含まれる。
【００２７】
ここでは、半製品m1, m2, m3, m4, m5, m6,…, mnの加工スケジュールを作成する例を説明する。半製品は特定のものに限定されず、半導体装置など、複数のステップを経て、完成品になるものなら、何でもよい。
【００２８】
各半製品が入手可能となる時刻をt(m1), t(m2), t(m3), t(m4), t(m5), t(m6),…, t(mn)とする。これらの情報は半製品管理データベース１１に含まれる。
【００２９】
まず、スケジュール順決定装置１３が、m1〜mnのスケジュール順を決定する（S101）。スケジュール順は、入手可能となる時刻順、または半製品に消費期限がある場合は消費期限の近い順等とする。一般性を失うことなく、スケジュール順はm1→m2→m3→m4→m5→m6→…→mnと仮定する。
【００３０】
半製品集合分割装置１４は、スケジュール順決定装置１３が決定したスケジュール順の半製品から、未スケジュールの半製品を先頭から所定個数取り出す（S102）。ここではバッチ処理装置が同時に処理できる最大数（4個）取り出す（m1→m2→m3→m4）。
【００３１】
そして、取り出した4つの半製品を先頭から１つ以上の集合に分割して、集合列とする（S103）。分割は複数のパターンで行う。１つの集合の最小要素数は、バッチ処理装置M1,M2がそれぞれ同時に加工できる個数のうち最も小さい１である。１つの集合の最大要素数は、バッチ処理装置M1,M2がそれぞれ同時に加工できる個数のうち最も大きい４である。
【００３２】
取り出した半製品列がm1→m2→m3→m4であるため、分割により得られる集合列は、[{m1,m2,m3,m4}], [{m1,m2,m3}{m4}], [{m1,m2}{m3,m4}], [{m1,m2}{m3}{m4}], [{m1}{m2,m3,m4}], [{m1}{m2,m3}{m4}], [{m1}{m2}{m3,m4}], [{m1}{m2}{m3}{m4}]の8パターンとなる。
【００３３】
得られる集合列の個数は、バッチ処理装置が同時に処理できる最大数に対して指数的に増加するため、バッチ処理装置が同時に処理できる最大数が大きい場合、処理時間がかかり過ぎる。そこで、スケジュール順決定装置１３でスケジュール順が決定された半製品から取り出す半製品個数は、ユーザが指定できるようにしてもよい。
【００３４】
最適分割算出装置１５は、１つの集合列内の個々の集合は同時に１台の半製品加工装置に加工させると解釈し、取り出した全ての半製品の加工が最も早く完了する集合列を特定する（S104）。
【００３５】
例えば、集合分割[{m1,m2}{m3}{m4}]の場合、まず、m1とm2は必ず同じ加工装置で処理させる必要があるので、M1に処理させることになる。このときの加工完了時刻をf({m1,m2})とおく。次にm3が最も早く加工完了できる装置を調べる。m3はM1ないしM2に割り当てられる。このときの加工完了時刻をf({m3})とおく。同様にm4の加工完了時刻をf({m4})とおく。集合列[{m1,m2}{m3}{m4}]に対する最速加工完了時刻は、f({m1,m2}), f({m3}), f({m4})の最大値となる。
【００３６】
最適分割算出装置１５は全ての分割パターンについて、最速加工完了時刻を計算する。そして、最速加工完了時刻が最も早いパターンに対応する集合列を、最適な集合列として算出する。最適なパターンが複数存在するときは、任意の方法で選択すればよい。たとえば先頭の集合の要素数が大きい方のパターンを選択することが考えられる。またランダムに選択してもよい。
【００３７】
加工を低消費エネルギーで完了することを目的とする場合、最速加工完了時刻の代わりに、全てのパターンについて、使用エネルギー量を計算し、最も使用エネルギー量が小さいパターンを算出する（S104）。
【００３８】
なお、集合列[{m1,m2}{m3}{m4}]におけるm3ないしm4のように、要素数が1の集合に含まれる半製品を加工装置に割り当てる際には、バッチ処理装置の余り領域（他の半製品と同時に加工できるスケジュール時刻）を利用するようにしてもよい。また、待ち時間パラメータwを用意しておき、w分待てばバッチ処理装置の余り領域を利用できるなら、そちらを利用する仕組みを導入してもよい。この場合、さらに加工時間短縮の効果を上げることができる。
【００３９】
同時処理半製品決定装置１６は、最適分割算出装置１５が算出した最適な集合列の最初の集合に含まれる半製品をスケジュール対象とする。同時処理半製品決定装置１６は、最適分割算出装置１５で当該最適な集合列に対して最初の集合に割り当てられた加工装置に、当該最初の集合を加工させることを決定する（S105）。
【００４０】
出力装置１７は、同時処理半製品決定装置１６による割り当て結果を、出力する（S106）。
【００４１】
例えば、最適分割算出装置１５が算出した最適な集合列が[{m1,m2}{m3}{m4}]の場合、同時処理半製品決定装置１６によって、スケジュールが完了する半製品はm1, m2の２つとなる（M1に割り当てられる）。m3,m4は現時点ではスケジュールを行わない。半製品m3→m4→m5→m6→…→mnについては、再び半製品集合分割装置１４にかけられる。m3,m4を次に廻すことで、全体として早期完了するスケジュールの可能性を高めることができる。たとえば次に廻すことで、m3,m4,m5を同時に加工する、より効率的なスケジュールが得られるかも知れない。これは本実施形態のポイントの１つである。ポイントの2つ目は、集合列内の１つの集合の最大サイズは、前述したように、装置が処理できる最大個数の上限（最大同時加工可能数）であることである。つまり１つの集合は、必ず１つの装置に割り当てられる。これにより、演算を簡単にし、スケジュール作成時間を短縮化できる。
【００４２】
全ての半製品についてスケジュールが完了するまで、以上の手続きが繰り返される（S107）。
【００４３】
以上により、スケジューリング対象となる半製品の加工を全体として早く完了するスケジューリングを、短時間で作成できる。また、スケジューリング対象となる半製品の加工を全体として低消費電力で完了するスケジューリングを、短時間で作成できる。本実施形態の効果を、さらに説明すると以下の通りである。
【００４４】
半製品のすべてm1〜mnを一度に、すべてのパターンで分割を行えば、半製品m1〜mnを最速で加工完了する理想的なスケジューリングが一度で可能である。しかしながら、半製品の個数が増大するにつれて、演算時間が指数的に増大し、現実的な時間内でスケジューリングを行うことは実際には不可能である。これに対して、本実施形態では、一度に先頭から所定個数のみの半製品を取り出し、最適な分割パターンで分割し、先頭の集合みをスケジュールし、２番目以降の集合は次の処理に廻すことを繰り返す。したがって、一回の演算量は極めて少なく、これを繰り返しても線形的に演算量が増大するのみであるため、短時間のスケジューリングが可能となる。
【００４５】
図３に、本実施形態にかかる出力結果の一例を示す。
【００４６】
1〜4個の半製品を同時に加工できるバッチ処理装置8台（装置1〜装置8）と、1個の半製品を加工できる装置12台（装置9〜装置20）が存在する。このとき、96個の半製品のスケジューリングを行ったときの出力結果が、図３に示される。このようなスケジューリングは、本実施形態を利用することで、たとえば、１秒未満で完了することができる。
【００４７】
なお、以上に説明した本実施形態におけるスケジューリング装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることで実現することが可能である。すなわち、スケジューリング装置の各処理部は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、スケジューリング装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD-ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、各データベースは、装置内もしくは外付けのメモリ装置およびハードディスク、あるいは、CD-R, CD-RW, DVD-RAM, DVD-R 等の記録媒体によって構成されてもよい。
【図１】
0005627625.tif 000002
【図２】
0005627625.tif 000003
【図３】
0005627625.tif 000004