(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-27
(45)【発行日】2022-10-05
(54)【発明の名称】スケジュール作成装置、方法及びプログラム
(51)【国際特許分類】
G05B 19/418 20060101AFI20220928BHJP
B65G 61/00 20060101ALI20220928BHJP
G06Q 50/04 20120101ALI20220928BHJP
【FI】
G05B19/418 Z
B65G61/00 320
G06Q50/04
(21)【出願番号】P 2018082223
(22)【出願日】2018-04-23
【審査請求日】2020-12-03
(73)【特許権者】
【識別番号】000006655
【氏名又は名称】日本製鉄株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】小林 敬和
(72)【発明者】
【氏名】伊藤 邦春
(72)【発明者】
【氏名】影山 優
【審査官】今井 貞雄
(56)【参考文献】
【文献】特開2010-285053(JP,A)
【文献】特開2013-064245(JP,A)
【文献】特開2009-258863(JP,A)
【文献】特開2011-170408(JP,A)
【文献】特開2009-277095(JP,A)
【文献】特開2009-294874(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
制約及び目的関数で定式化される数理計画問題である主問題に基づいて、生産又は物流に係るスケジュールを作成するスケジュール作成装置であって、
前記主問題から前記制約の一部を取り除き、前記目的関数を修正した緩和問題を構築する緩和問題構築手段と、
前記緩和問題構築手段で構築した前記緩和問題を求解する緩和問題求解手段と、
前記緩和問題求解手段で前記緩和問題を求解した結果に基づいて、前記主問題に含まれる条件を固定化するための制約式を
前記主問題に追加する固定化手段と、
前記固定化手段で前記条件を固定化した前記主問題を求解する求解手段とを備えたことを特徴とするスケジュール作成装置。
【請求項2】
前記緩和問題構築手段は、前記取り除いた制約の違反量に対してペナルティが課されるように、ラグランジュ乗数を用いて前記目的関数を修正したラグランジュ緩和問題を構築することを特徴とする請求項1に記載のスケジュール作成装置。
【請求項3】
ラグランジュ乗数を更新する更新手段を備え、
前記緩和問題求解手段は、前記更新手段で更新したラグランジュ乗数を反映させたラグランジュ緩和問題を求解することを特徴とする請求項2に記載のスケジュール作成装置。
【請求項4】
前記緩和問題構築手段は、ラグランジュ分解調整法により、ラグランジュ緩和問題を分解することを特徴とする請求項2又は3に記載のスケジュール作成装置。
【請求項5】
前記緩和問題求解手段は、前記緩和問題構築手段で構築した緩和問題を求解するために、最適化又は準最適化することで、最適解又は準最適解を得ることを特徴とする請求項1乃至4のいずれか1項に記載のスケジュール作成装置。
【請求項6】
選択可能な複数の機械を含む一工程を少なくとも含み、対象物に処理を行うプロセスにおけるスケジュールを作成することを特徴とする請求項1乃至5のいずれか1項に記載のスケジュール作成装置。
【請求項7】
前記主問題は、同一機械が同一タイミングに処理できる対象物数の上限と、対象物毎、工程毎及び機械毎の処理に掛かる時間と、製品毎及び工程毎の処理開始可能時刻とに基づいて、所定の操業指標を良くすることを目的とすることを特徴とする請求項6に記載のスケジュール作成装置。
【請求項8】
前記主問題は、さらに対象物毎及び工程毎の納期時刻と、対象物毎及び工程毎の納期遅れに掛かる単価とに基づいて、納期遅れ費用を最小化することを目的とすることを特徴とする請求項7に記載のスケジュール作成装置。
【請求項9】
前記固定化手段は、前記緩和問題求解手段で求解した結果に基づいて、対象物毎の使用機械を固定化することを特徴とする請求項6乃至8のいずれか1項に記載のスケジュール作成装置。
【請求項10】
前記固定化手段は、前記緩和問題求解手段で求解した結果に基づいて、処理順を固定化することを特徴とする請求項6乃至9のいずれか1項に記載のスケジュール作成装置。
【請求項11】
制約及び目的関数で定式化される数理計画問題である主問題に基づいて、生産又は物流に係るスケジュールを作成するスケジュール作成方法であって、
前記主問題から前記制約の一部を取り除き、前記目的関数を修正した緩和問題を構築するステップと、
前記緩和問題を求解するステップと、
前記緩和問題を求解した結果に基づいて、前記主問題に含まれる条件を固定化するための制約式を
前記主問題に追加するステップと、
前記条件を固定化した前記主問題を求解するステップとを有することを特徴とするスケジュール作成方法。
【請求項12】
制約及び目的関数で定式化される数理計画問題である主問題に基づいて、生産又は物流に係るスケジュールを作成するためのプログラムであって、
前記主問題から前記制約の一部を取り除き、前記目的関数を修正した緩和問題を構築する緩和問題構築手段と、
前記緩和問題構築手段で構築した前記緩和問題を求解する緩和問題求解手段と、
前記緩和問題求解手段で前記緩和問題を求解した結果に基づいて、前記主問題に含まれる条件を固定化するための制約式を
前記主問題に追加する固定化手段と、
前記固定化手段で前記条件を固定化した前記主問題を求解する求解手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、生産又は物流に係るスケジュールを作成するスケジュール作成装置、方法及びプログラムに関する。
【背景技術】
【0002】
製造業や流通業において業務を円滑に進める上で、生産のための仕事とその時刻を決定したり、搬送すべき商品とその時刻を決定したりするスケジューリング業務はなくてはならないものである。スケジューリング業務は、絶えず発生する新たな注文、生産量の変更、搬送時刻の遅れといった変動に常に晒されるため、都度スケジュールの作成と修正を余儀なくされる等、業務負荷が高い。また、一度作成したスケジュールは何度も人が見直し、前提条件を変更したり、一部を固定したりすることを繰り返す必要があり、人が我慢できる限界として一度のスケジュールの作成は10分程度が限界となるため、スケジュール作成は高速に行われる必要がある。このため、スケジューリングの支援技術が必須である。
【0003】
これを実現する技術として、スケジュールの作成を最適化問題として捉え、その最適解を求める数理計画法、或いは準最適解を求めるヒューリスティック手法等が提案されている。産業界で取り扱う問題は、考慮しなくてはならない項目、対象とする工程、対象物が非常に多く、かつ複数工程に跨って処理される仕事の調整を取りながら、各工程で要求される日時設定された納期や設備(機械)使用の平準化の実現や、各貯蔵庫での在庫切れ回避と貯蔵容量上限制限を遵守する必要がある等、複雑な制約が設定されるために、その規模が膨大なものとなり、計算時間が長く掛かる問題があった。また、スケジュールを作成する場合に、経済状況や景気変動による操業の変化が頻繁に起き、制約の変更や、目的となる納期遵守と設備使用の平準化の優先度の変化、或いは他の目的の追加等、メンテナンスの必要に迫られ、この負荷削減が望まれていた。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2002-328977号公報
【文献】特開2010-285053号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1には、ラグランジュ分解調整法を用いる多品目多工程ロットサイズスケジューリング方法が開示されている。特許文献1では、機械干渉の解消の有無と仕掛品在庫の充足の有無とを判定し、機械干渉が解消されていないか、あるいは仕掛品在庫が充足していない場合には、対応するラグランジュ乗数を更新するようにしている。しかしながら、このラグランジュ乗数の更新により機械干渉の解消や在庫の充足が実現されることを保証するものではなく、全ての制約を満足した実行可能なスケジュールを得られる保証はない。
【0006】
特許文献2には、列車の運行ダイヤに変更が生じたときに鉄道車両もしくは乗務員の運用計画の再作成を行う運用計画再作成に関する技術が開示されている。特許文献2では、
ラグランジュ緩和法を用いて、最適解の下界値を求め、主問題の実行可能解と比較することで反復処理を行うようにしている。しかしながら、ラグランジュ緩和法を用いる際の計算と、実行可能解を求める際の計算とが大きく異なっており、仕組みが複雑なものとなっている。
【0007】
本発明は上記のような点に鑑みてなされたものであり、大規模で複雑な制約を有するスケジューリング問題であっても、全ての制約を満足した実行可能解を従来よりも高速に求めることができ、かつ従来よりも簡単にメンテナンスできる仕組みで、生産又は物流に係るスケジュールを作成できるスケジュール作成装置等を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記の課題を解決するための本発明の要旨は、以下のとおりである。
[1] 制約及び目的関数で定式化される数理計画問題である主問題に基づいて、生産又は物流に係るスケジュールを作成するスケジュール作成装置であって、
前記主問題から前記制約の一部を取り除き、前記目的関数を修正した緩和問題を構築する緩和問題構築手段と、
前記緩和問題構築手段で構築した前記緩和問題を求解する緩和問題求解手段と、
前記緩和問題求解手段で前記緩和問題を求解した結果に基づいて、前記主問題に含まれる条件を固定化するための制約式を前記主問題に追加する固定化手段と、
前記固定化手段で前記条件を固定化した前記主問題を求解する求解手段とを備えたことを特徴とするスケジュール作成装置。
[2] 前記緩和問題構築手段は、前記取り除いた制約の違反量に対してペナルティが課されるように、ラグランジュ乗数を用いて前記目的関数を修正したラグランジュ緩和問題を構築することを特徴とする[1]に記載のスケジュール作成装置。
[3] ラグランジュ乗数を更新する更新手段を備え、
前記緩和問題求解手段は、前記更新手段で更新したラグランジュ乗数を反映させたラグランジュ緩和問題を求解することを特徴とする[2]に記載のスケジュール作成装置。
[4] 前記緩和問題構築手段は、ラグランジュ分解調整法により、ラグランジュ緩和問題を分解することを特徴とする[2]又は[3]に記載のスケジュール作成装置。
[5] 前記緩和問題求解手段は、前記緩和問題構築手段で構築した緩和問題を求解するために、最適化又は準最適化することで、最適解又は準最適解を得ることを特徴とする[1]乃至[4]のいずれか一つに記載のスケジュール作成装置。
[6] 選択可能な複数の機械を含む一工程を少なくとも含み、対象物に処理を行うプロセスにおけるスケジュールを作成することを特徴とする[1]乃至[5]のいずれか一つに記載のスケジュール作成装置。
[7] 前記主問題は、同一機械が同一タイミングに処理できる対象物数の上限と、対象物毎、工程毎及び機械毎の処理に掛かる時間と、製品毎及び工程毎の処理開始可能時刻とに基づいて、所定の操業指標を良くすることを目的とすることを特徴とする[6]に記載のスケジュール作成装置。
[8] 前記主問題は、さらに対象物毎及び工程毎の納期時刻と、対象物毎及び工程毎の納期遅れに掛かる単価とに基づいて、納期遅れ費用を最小化することを目的とすることを特徴とする[7]に記載のスケジュール作成装置。
[9] 前記固定化手段は、前記緩和問題求解手段で求解した結果に基づいて、対象物毎の使用機械を固定化することを特徴とする[6]乃至[8]のいずれか一つに記載のスケジュール作成装置。
[10] 前記固定化手段は、前記緩和問題求解手段で求解した結果に基づいて、処理順を固定化することを特徴とする[6]乃至[9]のいずれか一つに記載のスケジュール作成装置。
[11] 制約及び目的関数で定式化される数理計画問題である主問題に基づいて、生産又は物流に係るスケジュールを作成するスケジュール作成方法であって、
前記主問題から前記制約の一部を取り除き、前記目的関数を修正した緩和問題を構築するステップと、
前記緩和問題を求解するステップと、
前記緩和問題を求解した結果に基づいて、前記主問題に含まれる条件を固定化するための制約式を前記主問題に追加するステップと、
前記条件を固定化した前記主問題を求解するステップとを有することを特徴とするスケジュール作成方法。
[12] 制約及び目的関数で定式化される数理計画問題である主問題に基づいて、生産又は物流に係るスケジュールを作成するためのプログラムであって、
前記主問題から前記制約の一部を取り除き、前記目的関数を修正した緩和問題を構築する緩和問題構築手段と、
前記緩和問題構築手段で構築した前記緩和問題を求解する緩和問題求解手段と、
前記緩和問題求解手段で前記緩和問題を求解した結果に基づいて、前記主問題に含まれる条件を固定化するための制約式を前記主問題に追加する固定化手段と、
前記固定化手段で前記条件を固定化した前記主問題を求解する求解手段としてコンピュータを機能させるためのプログラム。
【発明の効果】
【0009】
本発明によれば、大規模で複雑な制約を有するスケジューリング問題であっても、全ての制約を満足した実行可能解を従来よりも高速に求めることができ、かつ従来よりも簡単にメンテナンスできる仕組みで、生産又は物流に係るスケジュールを作成することができる。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係るスケジュール作成装置の機能構成を示す図である。
【
図2】実施形態に係るスケジュール作成装置によるスケジュール作成方法の手順を示すフローチャートである。
【
図3】多段工程並列機械フローショップ問題の概要を説明するための図である。
【
図4】ラグランジュ緩和問題を求解した結果を示すガントチャートである。
【
図5】ラグランジュ乗数を更新してラグランジュ緩和問題を求解した結果を示すガントチャートの遷移を表す図である。
【
図6】主問題を求解した結果を示すガントチャートである。
【
図7】取り扱う製品数が増えたときの計算時間の変化を示す特性図である。
【発明を実施するための形態】
【0011】
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
図1に、実施形態に係るスケジュール作成装置100の機能構成を示す。スケジュール作成装置100は、制約及び目的関数で定式化される数理計画問題に基づいて、生産又は物流に係るスケジュールを作成する。スケジュール作成装置100は、入力部101と、主問題構築部102と、緩和問題構築部103と、緩和問題求解部104と、ラグランジュ乗数更新部105と、固定化部106と、主問題求解部107と、出力部108とを備える。
【0012】
入力部101は、スケジュールを作成するのに必要な情報を入力する。
主問題構築部102は、スケジュールを作成するための、制約及び目的関数で定式化される数理計画問題を主問題として構築する。
【0013】
緩和問題構築部103は、主問題構築部102で構築した数理計画問題から制約の一部を取り除き、目的関数を修正した緩和問題を構築する。緩和問題として、取り除いた制約の違反量に対してペナルティが課されるように、ラグランジュ乗数を用いて目的関数を修正したラグランジュ緩和問題を構築する。本実施形態では、緩和問題構築部103が本発明でいう緩和問題構築手段として機能する。
【0014】
緩和問題求解部104は、緩和問題構築部103で構築したラグランジュ緩和問題を求解する。また、ラグランジュ乗数更新部105は、ラグランジュ乗数を更新する。緩和問題求解部104及びラグランジュ乗数更新部105は、所定の条件を満たすまで、ラグランジュ乗数を更新し、このラグランジュ乗数を反映させたラグランジュ緩和問題を求解することを繰り返す。本実施形態では、緩和問題求解部104が本発明でいう緩和問題求解手段として機能し、ラグランジュ乗数更新部105が本発明でいう更新手段として機能する。
【0015】
固定化部106は、緩和問題求解部104で求解した結果に基づいて、主問題構築部102で構築した数理計画問題に含まれる条件を固定化する。本実施形態では、固定化部106が本発明でいう固定化手段として機能する。
主問題求解部107は、固定化部106で条件を固定化した数理計画問題を求解する。本実施形態では、主問題求解部107が本発明でいう求解手段として機能する。
出力部108は、主問題求解部107で求解した結果であるスケジュールを出力する。ここでいう出力とは、例えば不図示のディスプレイに表示したり、本装置100の外部機器に送出したりすることをいう。
【0016】
以下、スケジュール作成装置100によるスケジュール作成方法の具体例を説明する。
図2は、スケジュール作成装置100によるスケジュール作成方法の手順を示すフローチャートである。
本実施形態では、生産プロセスにおけるスケジュールを作成する。本実施形態で取り扱う生産プロセスは、選択可能な複数の機械を含む一工程を少なくとも含む複数の工程を有し、各工程で対象物である製品に対して処理を行う。説明の簡単化のため、制約を表す制約式は単純なものに限定して記述した多段工程並列機械フローショップ問題を例とする。フローショップ問題とは、製品の生産工程の順序が同一のものをいう。なお、本実施形態では、多段工程並列機械フローショップ問題を例とするが、選択可能な複数の機械を含む一工程のスケジュール問題であっても、ジョブショップ問題であっても、また制約式が複雑になり、かつ問題規模が大きくなったとしても一般性は失わない。ジョブショップ問題とは、製品毎に生産工程が異なるものをいう。
【0017】
図3を参照して、本実施形態で取り扱う多段工程並列機械フローショップ問題の概要を説明する。
図3に示すのは2工程2機械フローショップ問題であり、工程P1及び工程P2の2工程があり、各工程P1及びP2には選択可能な2台の機械J1及びJ2が存在する。図中の左から右方向は時間を表す。また、処理301は、製品に対して行う所定の処理を表し、その長さが実施期間を表し、処理301同士をつなぐ線が製品の移行を表す。なお、工程P1及び工程P2に存在する機械名を同一としたが、別機械である。
【0018】
製品iは、工程(p∈{1、2})の全てを順次通過し、工程を通過する際には機械(j∈{1、2})のいずれか一つで処理が行われる。同一機械は同一タイミング(同一時刻)にN個までの製品数しか処理できない。本実施形態ではN=1とする。製品毎・工程毎・機械毎の処理に掛かる時間が予め与えられており、ある工程で処理が完了すると、その後に次の工程に移動可能となる。また、製品毎・工程毎の処理開始可能時刻と、製品毎・工程毎の納期時刻とが予め与えられている。これらの制約を守り、良くしたい操業指標として納期遅れ費用を最小化することを目的として、製品毎の使用機械、処理開始時刻を決定することが、本実施形態で取り扱う主問題である。以下に述べる例では、i={1、2、・・・、8}であるとする。
【0019】
ステップS1で、入力部101は、スケジュールを作成するのに必要な情報を入力する。これらの情報は、例えばネットワーク上の不図示の上位コンピュータから入力されるようにしてもよいし、ユーザが直接入力するようにしてもよい。
具体的には、スケジュールを作成したい期間であるスケジュール作成期間や、同一機械が同一時刻に処理できる製品数の上限N(本実施形態ではN=1)を入力する。
【0020】
また、表1に示すように、製品毎・工程毎・機械毎の処理に掛かる時間を入力する。
【0021】
【0022】
また、表2に示すように、製品毎・工程毎の処理開始可能時刻を入力する。ここでは、処理開始可能時刻を、スケジュール作成期間の最初の時刻を0として与えている。
【0023】
【0024】
また、表3に示すように、製品毎・工程毎の納期時刻を入力する。ここでは、納期時刻を、スケジュール作成期間の最初の時刻を0として与えている。
【0025】
【0026】
また、表4に示すように、製品毎・工程毎の納期遅れに掛かる単価(1日当たりの費用)を入力する。
【0027】
【0028】
ステップS2で、主問題構築部102は、制約及び目的関数で定式化される数理計画問題を主問題として構築する。上述したように、納期遅れ費用を最小化することを目的として、製品毎の使用機械、処理開始時刻を決定することが、本実施形態で取り扱う主問題である。主問題の制約及び目的関数は、数学式を用いて定式化する。なお、ここでいう主問題の構築、制約及び目的関数の定式化とは、ユーザにより予め与えられている数学式の枠組みに対して、入力部101で入力した情報を反映させて制約式、目的関数とすることをいう。本実施形態では、厳密解を求める手法として混合整数線形計画法を用い、この形式に則って、制約及び目的関数を定式化する。
【0029】
定式化にあたり、次のように定数、決定すべき変数(決定変数)が定義されており、ステップS1で入力した情報に基づいて値を設定する。
[定数]
N:同一機械が同一時刻に処理できる製品数の上限
Dipj:製品iの工程p、機械jでの処理時間
Aip:製品iの工程pの処理開始可能時刻
Lip:製品iの工程pの納期時刻
cip:製品iの工程pの納期遅れに掛かる単価
【0030】
本実施形態では、1日を均等分割したタイムスロットを考え(分割数M)、この離散的な時刻であるタイムスロットを用いて定式化を行う。例えばM=4とすると、タイムスロットの単位は6時間となり、6時間単位での離散的な時間をイメージした定式化となる。本実施形態でではM=10とする。
【0031】
[決定変数/独立なもの]
δitmpj:製品iが工程p、機械jでt日、タイムスロットmで処理を開始する場合は1、それ以外は0とする変数
δTitmpj:製品iが工程p、機械jでt日、タイムスロットmで処理中の場合は1、それ以外は0とする変数
【0032】
[決定変数/従属なもの]
bip:製品iの工程pの処理開始時刻(日)
δJipj:製品iが工程p、機械jで処理する場合は1、それ以外は0とする変数
eip:製品iの工程pの納期からの遅れ時間(日)
【0033】
以上のようにした定数、決定変数を用いて、目的関数は、式(1)のように納期遅れ費用を最小化させるものとして定式化される。
【0034】
【0035】
また、制約式は、例えば式(2)~式(9)のように定式化される。式(2)は、各製品は各工程では必ず一度処理される必要があることを表す。式(3)は、各製品は同一機械を一度しか使用できないことを表す。式(4)は、各製品の各工程での処理開始時刻bipが、どのタイムスロットに対応するかを示す関係式を表す。式(5)は、製品がある工程のある機械を使用する場合には、処理開始時刻から処理時間分は処理中となることを表す。式(6)は、一度に同一機械が処理できる製品数の上限はN個までであることを表す。式(7)は、δitmpjが1となる場合は、δJipjも1となることを表す。式(8)は、製品を処理する場合には前工程の処理終了後に次工程の処理が開始されることを表す。式(9)は、製品の納期時刻Lipに対して処理の終了が遅れた分の時間を納期遅れとして定義した式である。
【0036】
【0037】
ステップS3で、緩和問題構築部103は、ステップS2において構築した数理計画問題から制約式の一部を取り除き、目的関数を修正したラグランジュ緩和問題を構築する。ラグランジュ緩和問題では、取り除いた制約式に対して、制約を違反する量を違反量として新たに数式で定義し、その数式(例えば1次式)を目的関数に取り込むことで、違反量を最小化するように定式化する。
定式化にあたり、次のようなwtmpj(定数)を設ける。
wtmpj:製品iが工程pの機械jを占拠することに対するタイムスロット当たりのペナルティ単価
ペナルティ単価wtmpjの初期値、表5に示すように所与条件として与え、この情報に基づいて値が設定される。このwtmpjはラグランジュ乗数と呼ばれる。
【0038】
【0039】
本実施形態では、式(6)を緩和、つまり制約式から取り除くとともに、取り除いた制約式の違反量(ΣiδTitmpj-N)(>0)に対してペナルティが課されるように、式(1-2)のように、ラグランジュ乗数wtmpjを用いて目的関数を修正する。ラグランジュ乗数wtmpjが大きいほど、違反量が少なくなるように最適化又は準最適化が実行されることとなる。
【0040】
【0041】
ここで、ラグランジュ分解調整法により、ラグランジュ緩和問題を分解するようにしてもよい。式(1-2)の目的関数は、iに着目すると、式(1-3)に変形することも可能である。式(1-3)において、最終項は定数であるため省略可能であり、式(1-4)のように変形できる。このようにラグランジュ緩和問題の制約式(式(2)~式(5)、式(7)~式(9))と目的関数(式(1-4))は、製品iに対して、それぞれ分けて問題を解ける形となっているため、それぞれに分解して問題を解いてもかまわない。
【0042】
【0043】
なお、どの制約式を取り除き、違反量を目的関数にどう取り込むかは、ユーザにより予め定義されており、緩和問題構築部103はそれに従ってラグランジュ緩和問題を構築する。或いは、緩和問題構築部103は、例えば対話形式のユーザインタフェースを介してユーザからの指示を受け、その指示に従って、どの制約式を取り除き、違反量を目的関数にどう取り込むかを都度決定するようにしてもよい。
【0044】
ステップS4で、緩和問題求解部104は、ステップS3において構築したラグランジュ緩和問題を求解するために、最適化又は準最適化することで、最適解又は最適解に近い値の準最適解を得る。例えば最適化の手法として分枝限定法を用いて、ラグランジュ緩和問題の厳密解を得る。なお、分枝限定法は一般に知られた手法であり、ここではその説明を省略する。また、ラグランジュ緩和問題の求解には、最適化又は準最適化の手法が実装された市販のソルバーを用いてもよい。
この求解により、制約式(式(2)~式(5)、式(7)~式(9))を満足し、目的関数(式(1-2)~式(1-4)のいずれか)を最小化する決定変数の値が計算される。すなわち、式(6)で表される同一機械が同一時刻に処理できる製品数の上限制約を緩和したかたちで、製品毎の使用機械、処理開始時刻が決定される。
【0045】
表6及び
図4に、ラグランジュ緩和問題を求解した結果を示す。
図4のガントチャートにおいて、横軸が時間を表す。また、矩形が各処理の実施期間を表し、各矩形に示されている数字は製品番号を表す。
図4に示すようにガントチャートを画面表示する際には、各矩形に色を付しておく(
図4、
図5、
図6ではドットで表現する)。同一機械が同一時刻に処理できる製品数の上限制約を緩和しているので、同一時刻で同一機械を使用している状況も発生し、その重なりの数が多いほど矩形の色が濃くなる(
図4、
図5ではドットの密度が増えている)。破線は、処理開始可能時刻から処理開始時刻までを表し、製品毎に引かれている。また、実線は、処理終了時刻から納期までを表し、製品毎に引かれており、細線は納期が守られている場合を、太線は納期より遅れている場合を表す。
【0046】
【0047】
ステップS5で、ラグランジュ乗数更新部105は、ラグランジュ乗数wtmpjを更新するか否かの判定を行う。本実施形態では、次に述べるようにループ回数21でラグランジュ乗数の更新を終了する。ラグランジュ乗数wtmpjを更新する必要があれば(ステップS5;Yes)、ステップS6に処理を進め、更新する必要がなければ(ステップS5;No)、ステップS7に処理を進める。
【0048】
ステップS6で、ラグランジュ乗数更新部105は、ラグランジュ乗数を更新し、その後、ステップS4に処理を戻す。
本実施形態では、式(10)に従って、ラグランジュ乗数を更新する。lはループ回数を示し、定数及び決定変数の右肩の(l)は各ループでの定数、決定変数の取る値を表す。また、wはラグランジュ乗数更新用の係数を示し、本実施形態はw=0.5とした。式(10)では、ループ回数lでの違反量(Σi
(l)δTitmpj-N)が大きいほど、次のループでのラグランジュ乗数wtmpj
(l+1)が大きくなるかたちとなっている。また、ループ回数を重ねるほど、次のループでのラグランジュ乗数wtmpj
(l+1)の変化量が抑えられるかたちとなっている。
【0049】
【0050】
ラグランジュ乗数の更新を終了する条件は、予め設定されている。例えば前回のループからのラグランジュ乗数の変化量に対する閾値や、ループ回数の閾値等を予め設定しておき、これら閾値との比較に基づいてラグランジュ乗数を更新するか否かを判定する。本実施形態ではループ回数21でラグランジュ乗数の更新を終了する。
【0051】
図5に、ラグランジュ乗数を更新してラグランジュ緩和問題を求解した結果を示すガントチャートの遷移を表す。ループ回数が増えるほど、矩形の濃い色の箇所(矩形の重なり)が減っており、同一機械が同一時刻に処理できる製品数の上限制約が徐々に守られるようになっていることがわかる。
【0052】
ステップS7で、固定化部106は、ステップS4において求解した結果に基づいて数理計画問題に含まれる条件を固定化する。
例えば、固定化部106は、ステップS4においてラグランジュ緩和問題を求解して得られた製品毎の使用機械のうち、実現可能解である機械を使用するものとして、選択的に固定化する。21回目のループでラグランジュ緩和問題を求解した結果として、例えば製品1の工程1で機械2を使用することが得られた場合、主問題に式(11)のような固定化制約式を追加する。
【0053】
【0054】
また、固定化部106は、ステップS4においてラグランジュ緩和問題を求解して得られた処理開始時刻のうち、実現可能解である順にて処理を行うものとして、選択的に固定化する。21回目のループでラグランジュ緩和問題を求解した結果として、例えば工程1での機械1で製品1、製品2の順で処理する場合、主問題に式(12)のような固定化制約式を追加する。
b1、1≦b2、1 ・・・(12)
【0055】
なお、数理計画問題に含まれるどの条件を固定化するかは、ユーザにより予め定義されており、固定化部106はそれに従って固定化する。或いは、固定化部106は、例えば対話形式のユーザインタフェースを介してユーザからの指示を受け、その指示に従って、数理計画問題に含まれるどの条件を固定化するかを都度決定するようにしてもよい。
【0056】
ステップS8で、主問題求解部107は、ステップS7において条件を固定化した数理計画問題を求解する。主問題求解部107は、製品毎の使用機械、及び処理順を固定化した状態で主問題を求解することで、短い計算時間で求解することができる。しかも、ラグランジュ緩和問題の解では、同一機械が同一時刻に処理できる製品数の上限制約が緩和されていたが、ここでは要求されている全ての制約を満足した実行可能なスケジュールを得ることができる。
【0057】
表7及び
図6に、主問題を求解した結果を示す。
図6は、
図4と同じくガントチャートを表す。矩形の濃い色の箇所(矩形の重なり)がなく、同一機械が同一時刻に処理できる製品数の上限制約が守られるように動作することが示されている。また、本例での納期遅れ費用は、0.31と十分に小さな値となっている。
【0058】
【0059】
ステップS9で、出力部108は、ステップS8において求解した結果であるスケジュールを出力する。例えば
図6に示すように、制約を守り、納期遅れ費用を最小化することを目的として決定した製品毎の使用機械、処理開始時刻を表すガントチャートを画面表示する。
【0060】
図7に、取り扱う製品数が増えたときの計算時間の変化を示す。上記実施形態を適用して、ループ回数25回及びループ回数50回として主問題を求解した場合と、主問題を分枝限定法を用いて一括で解いた場合とを比較した。
分枝限定法を用いて一括で主問題を解いた場合、実線で示すように、製品数が100を超えると急激に計算時間が掛かるようになり、解を得ることさえできなかった。ここでは、計算は600秒で打ち切った。
それに対して、上記実施形態を適用して主問題を解いた場合、破線及び一点鎖線で示すように、製品数が増えたときにも計算時間が大幅に増えることはなく、安定して高速に解を得ることが可能である。
【0061】
以上述べたように、制約及び目的関数で定式化される数理計画問題に基づいて、生産又は物流に係るスケジュールを作成する場合に、数理計画問題を緩和した緩和問題を構築、求解して、その結果に基づいて数理計画問題に含まれる条件を固定化する処理を行うことにより、大規模で複雑な制約を有するスケジューリング問題であっても、全ての制約を満足した実行可能解を従来よりも高速に求めることができる。また、一つのスケジュールを作成する際に、複数の大きく異なるスケジュール作成計算を行ってスケジュールを作成する場合と比べて、制約を削除したり、新たな制約を加えたりする際にも、修正箇所が少なくて済み、簡単にメンテナンスできる仕組みで、スケジュールを作成することが可能となる。
【0062】
なお、上記実施形態のスケジュール作成装置100は、例えばCPU、ROM、RAM等を備えたコンピュータ装置により実現される。
図1ではスケジュール作成装置100を一台の装置として図示したが、例えば複数台の装置により構成される形態でもかまわない。
また、上記実施形態のスケジュール作成装置100の各種機能は、ソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータがプログラムを読み出して実行することによっても実現可能である。
上記実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0063】
100:スケジュール作成装置
101:入力部
102:主問題構築部
103:緩和問題構築部
104:緩和問題求解部
105:ラグランジュ乗数更新部
106:固定化部
107:主問題求解部
108:出力部