(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-11
(45)【発行日】2024-06-19
(54)【発明の名称】処理装置、処理方法、およびプログラム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20240612BHJP
G05B 19/418 20060101ALI20240612BHJP
【FI】
G06Q10/04
G05B19/418 Z
(21)【出願番号】P 2020194501
(22)【出願日】2020-11-24
【審査請求日】2023-10-05
(73)【特許権者】
【識別番号】000203977
【氏名又は名称】日鉄テックスエンジ株式会社
(74)【代理人】
【識別番号】100090273
【氏名又は名称】國分 孝悦
(72)【発明者】
【氏名】黒川 哲明
(72)【発明者】
【氏名】中川 繁政
(72)【発明者】
【氏名】古川 昭仁
【審査官】後藤 昂彦
(56)【参考文献】
【文献】特開2006-048212(JP,A)
【文献】特開2018-180943(JP,A)
【文献】特開2009-181195(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G05B 19/418
(57)【特許請求の範囲】
【請求項1】
生産計画または物流計画を立案するための多目的最適化問題を一目的化した目的関数であり、複数の計画立案用評価指標と、当該計画立案用評価指標に対して乗算される重み係数と、を有する計画立案用目的関数における当該重み係数を導出する処理を実行する処理装置であって、
前記生産計画または物流計画として採用された複数の採用計画に基づく前記複数の計画立案用評価指標の値と、前記生産計画または物流計画として採用されなかった複数の非採用計画に基づく前記複数の計画立案用評価指標の値と、を取得する取得手段と、
前記採用計画に基づく前記計画立案用目的関数である採用目的関数と前記非採用計画に基づく前記計画立案用目的関数である非採用目的関数との差を示す目的関数値差分と、前記重み係数と、を含む決定変数を、最適化問題を求解することにより導出する重み係数導出手段と、を有し、
前記最適化問題における制約式である係数決定用制約式は、前記採用計画に基づく前記計画立案用評価指標の値が代入され、且つ、前記重み係数が未知である状態の前記採用目的関数と、前記非採用計画に基づく前記計画立案用評価指標の値が代入され、且つ、前記重み係数が未知である状態の前記非採用目的関数と、の差が、前記目的関数値差分に基づく制限値により制限されることを示す採用・非採用目的関数値差分制約式を含み、
前記最適化問題における目的関数である係数決定用目的関数は、前記目的関数値差分を係数決定用評価指標として含むことを特徴とする処理装置。
【請求項2】
前記複数の採用計画と、前記複数の非採用計画と、のうち、前記生産計画または物流計画の立案に際して事前に設定される情報が同じである1つの前記採用計画と1つの前記非採用計画とを1つのペアとし、
前記採用・非採用目的関数値差分制約式は、前記採用目的関数と前記非採用目的関数との差が、前記目的関数値差分に基づく制限値により制限されることが、前記ペアごとに実現されることを示し、
前記目的関数値差分は、前記採用目的関数と前記非採用目的関数との差を、前記ペアごとに定めたものであることを特徴とする請求項1に記載の処理装置。
【請求項3】
前記決定変数は、前記非採用目的関数の値が前記採用目的関数の値よりも前記生産計画または物流計画に対する評価が低いことを示す前記採用計画および前記非採用計画のペアの数を計数するためのペア計数変数を更に含み、
前記非採用目的関数の値が前記採用目的関数の値よりも前記生産計画または物流計画に対する評価が低いことを示す前記採用計画および前記非採用計画のペアに対する前記目的関数値差分は、前記非採用目的関数の値が前記採用目的関数の値よりも前記生産計画または物流計画に対する評価が高いことを示す値をとることが許容されず、前記非採用目的関数の値が前記採用目的関数の値よりも前記生産計画または物流計画に対する評価が低いことを示さない前記採用計画および前記非採用計画のペアに対する前記目的関数値差分は、前記非採用目的関数の値が前記採用目的関数の値よりも前記生産計画または物流計画に対する評価が高いことを示す値をとることが許容され、
前記係数決定用目的関数は、前記目的関数値差分と、前記ペア計数変数と、を係数決定用評価指標として含むことを特徴とする請求項1に記載の処理装置。
【請求項4】
前記係数決定用制約式は、前記重み係数が、上下限値の範囲内であることを示す係数上下限値制約式をさらに含むことを特徴とする請求項1~3の何れか1項に記載の処理装置。
【請求項5】
前記係数決定用目的関数は、前記係数決定用評価指標のそれぞれに対して乗算される係数であって、前記係数決定用評価指標の導出元となる前記採用計画に応じて異なる値を有する係数をさらに含むことを特徴とする請求項1~4の何れか1項に記載の処理装置。
【請求項6】
生産計画または物流計画を立案するための多目的最適化問題を一目的化した目的関数であり、複数の計画立案用評価指標と、当該計画立案用評価指標に対して乗算される重み係数と、を有する計画立案用目的関数における当該重み係数を導出する処理を実行する処理方法であって、
前記生産計画または物流計画として採用された複数の採用計画に基づく前記複数の計画立案用評価指標の値と、前記生産計画または物流計画として採用されなかった複数の非採用計画に基づく前記複数の計画立案用評価指標の値と、を取得する取得工程と、
前記採用計画に基づく前記計画立案用目的関数である採用目的関数と前記非採用計画に基づく前記計画立案用目的関数である非採用目的関数との差を示す目的関数値差分と、前記重み係数と、を含む決定変数を、最適化問題を求解することにより導出する重み係数導出工程と、を有し、
前記最適化問題における制約式である係数決定用制約式は、前記採用計画に基づく前記計画立案用評価指標の値が代入され、且つ、前記重み係数が未知である状態の前記採用目的関数と、前記非採用計画に基づく前記計画立案用評価指標の値が代入され、且つ、前記重み係数が未知である状態の前記非採用目的関数と、の差が、前記目的関数値差分に基づく制限値により制限されることを示す採用・非採用目的関数値差分制約式を含み、
前記最適化問題における目的関数である係数決定用目的関数は、前記目的関数値差分を係数決定用評価指標として含むことを特徴とする処理方法。
【請求項7】
請求項1~5の何れか1項に記載の処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、処理装置、処理方法、およびプログラムに関し、特に、生産計画または物流計画を立案するための多目的最適化問題における目的関数に対して設定される重み係数を導出するために用いて好適なものである。
【背景技術】
【0002】
生産計画または物流計画を、数理計画問題を解くことにより立案することが行われている。数理計画問題は、制約式を満足する範囲で目的関数の値が最小または最大になるときの決定変数を求める問題である。生産計画または物流計画を立案する場合、決定変数は、生産計画または物流計画を定めるために決定する必要がある変数である。制約式は、生産計画または物流計画に従って生産または物流を実行する際に課せられる制約条件を表す数式である。目的関数は、生産計画または物流計画の良否の程度を評価する評価指標であって、決定変数に基づいて値が定められる評価指標を1つ以上含む。
【0003】
生産計画や物流計画においては、複数の目的を同時に達成することが求められ、しかも、複数の目的は、相互にトレードオフの関係にあることが多く、それぞれの目的に対応する評価指標の間の評価のバランスをとることが重要である。トレードオフの関係とは、一方の評価指標の値を、生産計画または物流計画に対する評価が良くなるように変更すると、他方の評価指標の値が、生産計画または物流計画に対する評価が悪くなるように変更される関係をいう。例えば、生産計画を立案する際には、コスト、品質、生産性、および納期等の様々な目的を同時に達成することが求められる。この場合、例えば、コストを下げると生産計画または物流計画の評価は良くなり、品質を上げると生産計画または物流計画の評価は良くなる。また、一般に、コストを下げると品質は低下する。従って、コスト面での、生産計画または物流計画に対する評価が良くなるように変更すると、品質面での、生産計画または物流計画に対する評価が悪くなるように変更されるので、コストと品質とはトレードオフの関係にある。
【0004】
このような複数の評価指標を有する数理計画問題は、多目的最適化問題と称される。多目的最適化問題を解く際には、パレート最適解(実行可能領域の境界に存在する最適解の集合)を求める方法もあるが、ここでは多目的の目的毎に重み係数を付与して一目的化して(1つの目的関数として)単目的最適化問題を求解する方法を想定する。重み係数は、各評価指標の間の評価のバランスを表し、重み係数の値は、当該重み係数に対する評価指標を、他の評価指標に対して、どの程度重視するかによって決められる。尚、目的関数、重み係数は、それぞれ、コスト関数、コスト係数等と称されることもある。また、個々の評価指標を目的関数と称することもあるが、本明細書では、個々の目的関数を評価指標と称し、重み係数が設定された評価指標の和を目的関数と称し、これらを区別することとする。また、或る評価指標に対して基準となる重み係数を1に固定して、その他の評価指標に対する重み係数を設定する場合もある。
【0005】
多目的最適化問題を一目的化して解く際には、それぞれ全く異なる単位(次元)の異なる目的を表す複数の評価指標の値の大小を同じ土俵で比較する必要がある。このため、それぞれの評価指標に対する重み係数の調整は容易ではない。また、重み係数は、一度定めたら変更する必要はないというものではなく、変更が必要になる場合もある。生産計画や物流計画においては、例えば、外部環境、生産対象・物流対象、および操業状態等に応じて、複数の評価指標の重要度が変更されることがある。このような場合には、重み係数を変更しないと、適切な生産計画・物流計画を立案することができなくなる虞がある。
【0006】
重み係数の値を決定するための技術として、特許文献1に記載の技術がある。特許文献1には、最終品質を、各品質値もしくは製造条件の線形結合で表現し、それぞれの回帰係数を重回帰分析によって事前に求めることが記載されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に記載の技術では、重回帰分析により回帰係数を重み係数として導出するので、教師データを作成するために、各品質値だけでなく各品質値に対応する最終品質の正解値も定める必要がある。このため、最終品質は、例えば、計測可能な値である必要がある。従って、目的関数(目的変数)の正解値が定まらない場合には、重み係数を正確に導出することができない虞がある。
【0009】
本発明は、以上のような問題点に鑑みてなされたものであり、生産計画または物流計画を立案するための多目的問題における目的関数の正解値を定めなくても、目的関数に対して設定される重み係数を導出することができるようにすることを目的とする。
【課題を解決するための手段】
【0010】
本発明の処理装置は、生産計画または物流計画を立案するための多目的最適化問題を一目的化した目的関数であり、複数の計画立案用評価指標と、当該計画立案用評価指標に対して乗算される重み係数と、を有する計画立案用目的関数における当該重み係数を導出する処理を実行する処理装置であって、前記生産計画または物流計画として採用された複数の採用計画に基づく前記複数の計画立案用評価指標の値と、前記生産計画または物流計画として採用されなかった複数の非採用計画に基づく前記複数の計画立案用評価指標の値と、を取得する取得手段と、前記採用計画に基づく前記計画立案用目的関数である採用目的関数と前記非採用計画に基づく前記計画立案用目的関数である非採用目的関数との差を示す目的関数値差分と、前記重み係数と、を含む決定変数を、最適化問題を求解することにより導出する重み係数導出手段と、を有し、前記最適化問題における制約式である係数決定用制約式は、前記採用計画に基づく前記計画立案用評価指標の値が代入され、且つ、前記重み係数が未知である状態の前記採用目的関数と、前記非採用計画に基づく前記計画立案用評価指標の値が代入され、且つ、前記重み係数が未知である状態の前記非採用目的関数と、の差が、前記目的関数値差分に基づく制限値により制限されることを示す採用・非採用目的関数値差分制約式を含み、前記最適化問題における目的関数である係数決定用目的関数は、前記目的関数値差分を係数決定用評価指標として含むことを特徴とする。
【0011】
本発明の処理方法は、生産計画または物流計画を立案するための多目的最適化問題を一目的化した目的関数であり、複数の計画立案用評価指標と、当該計画立案用評価指標に対して乗算される重み係数と、を有する計画立案用目的関数における当該重み係数を導出する処理を実行する処理方法であって、前記生産計画または物流計画として採用された複数の採用計画に基づく前記複数の計画立案用評価指標の値と、前記生産計画または物流計画として採用されなかった複数の非採用計画に基づく前記複数の計画立案用評価指標の値と、を取得する取得工程と、前記採用計画に基づく前記計画立案用目的関数である採用目的関数と前記非採用計画に基づく前記計画立案用目的関数である非採用目的関数との差を示す目的関数値差分と、前記重み係数と、を含む決定変数を、最適化問題を求解することにより導出する重み係数導出工程と、を有し、前記最適化問題における制約式である係数決定用制約式は、前記採用計画に基づく前記計画立案用評価指標の値が代入され、且つ、前記重み係数が未知である状態の前記採用目的関数と、前記非採用計画に基づく前記計画立案用評価指標の値が代入され、且つ、前記重み係数が未知である状態の前記非採用目的関数と、の差が、前記目的関数値差分に基づく制限値により制限されることを示す採用・非採用目的関数値差分制約式を含み、前記最適化問題における目的関数である係数決定用目的関数は、前記目的関数値差分を係数決定用評価指標として含むことを特徴とする。
【0012】
本発明のプログラムは、前記処理装置の各手段としてコンピュータを機能させるためのものである。
【発明の効果】
【0013】
本発明によれば、生産計画または物流計画を立案するための多目的問題における目的関数の正解値を定めなくても、目的関数に対して設定される重み係数を導出することができる。
【図面の簡単な説明】
【0014】
【
図1】処理装置の機能的な構成の一例を示す図である。
【
図2】処理方法の第1の例を説明するフローチャートである。
【
図3】処理方法の第2の例を説明するフローチャートである。
【
図5】第1~第5の入力データに基づいて立案された生産計画(採用計画および非採用計画)の数の一例を示す図である。
【
図6】第1~第5の入力データに基づいて立案された生産計画から取得された、納期遅れ、納期早作り、およびロット変更の回数を示す図である。
【
図7】第1の入力データに基づいて立案された採用計画から取得された、納期遅れ、納期早作り、およびロット変更の回数の一例を示す図である。
【
図8】第1の入力データに基づいて立案された非採用計画から取得された、納期遅れ、納期早作り、およびロット変更の回数の一例を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の実施形態を説明する。
(第1の実施形態)
まず、第1の実施形態を説明する。
図1は、処理装置100の機能的な構成の一例を示す図である。処理装置100のハードウェアは、例えば、CPU、ROM、RAM、HDD、および各種のインターフェースを備える情報処理装置、または、専用のハードウェアを用いることにより実現される。
図2は、本実施形態の処理装置100を用いた処理方法の一例を説明するフローチャートである。
【0016】
<計画立案用目的関数Jr、計画立案用評価指標xk>
処理装置100は、生産計画または物流計画を立案するための多目的最適化問題を一目的化した目的関数(1つの等式の目的関数)であり、複数の計画立案用評価指標と、当該複数の計画立案用評価指標に対して乗算される重み係数と、を有する計画立案用目的関数における当該重み係数を導出する処理を実行する。本実施形態では、以下の(1)式に示す計画立案用目的関数Jrの値が最小になるときの複数の計画立案用評価指標xkを、数理計画法による最適化計算を実行することにより最適解として導出し、導出した最適解に基づいて生産計画または物流計画が定められる場合を例示する。(1)式において、kは、計画立案用評価指標xkを識別する変数であり、計画立案用評価指標xkの総数がKであるものとする(k∈K)。min.は、目的関数((1)式では計画立案用目的関数Jr)の最小値を求めることを示す。本実施形態では、数理計画問題が複数の計画立案用評価指標xkを有する多目的最適化問題であるので、Kは2以上の整数である。w[k]は、計画立案用評価指標xkに対して乗算される重み係数である。
【0017】
【0018】
計画立案用評価指標xkは、生産計画または物流計画の良否の程度を評価する評価指標であり、生産計画または物流計画を立案する際の目的に応じて定められる。多目的最適化問題では、通常、複数の計画立案用評価指標xkのうち、少なくとも2つの計画立案用評価指標xkはトレードオフの関係にある。トレードオフの関係とは、一方の計画立案用評価指標xkの値を、生産計画または物流計画に対する評価が良くなるように変更すると、他方の計画立案用評価指標xkの値が、生産計画または物流計画に対する評価が悪くなるように変更される関係をいう。(1)式では、計画立案用目的関数Jrの値を最小にする最小化問題を例示するので、生産計画または物流計画に対する評価を良くすることは、計画立案用評価指標xkの値を小さくことに対応する。
【0019】
尚、一般に、多目的最適化問題を始めとする数理計画問題を求解する場合には、制約式を満足する範囲で目的関数の最適値を導出する。従って、(1)式に示す計画立案用目的関数Jrを用いて生産計画または物流計画を立案する際には、生産計画または物流計画に従って生産または物流を実行する際に課せられる制約条件を表す数式である制約式を満足する範囲で、(1)式に示す計画立案用目的関数Jrの最小値を導出することになる。制約式自体は、本実施形態の要旨と直接の関連性はないので、その詳細な説明を省略する。
【0020】
計画立案用評価指標xkは、例えば、納期遅れ、納期早作り、およびロット変更の回数等である。
納期遅れとは、製品が納期に対してどのくらい遅れて出荷されるのか否かを示すものであり、例えば、製品の出荷予定日から納期を引いた値である(製品の出荷予定日が納期よりも早い場合(即ち、製品の出荷予定日から納期を引いた値が負の値である場合)、納期遅れは0(ゼロ)となる)。納期遅れとなる製品を抑制することを目的として有する生産計画または物流計画を立案する場合、納期遅れが計画立案用評価指標xkに含まれる。
【0021】
納期早作りとは、製品が納期に対してどのくらい早く出荷ができるかを示すものであり、例えば、製品の納期から出荷予定日を引いた値である(製品の納期が出荷予定日よりも早い場合(即ち、製品の納期から出荷予定日を引いた値が負の値である場合)、納期早作りは0(ゼロ)となる)。製品が納期よりも前に出荷できるようになると、製品は在庫となるため、当該製品に対する置場を確保しなければならない。このような余分な置場の確保を抑制することを目的として有する生産計画または物流計画を立案する場合、納期早作りが計画立案用評価指標xkに含まれる。
【0022】
次に、ロット変更の回数について説明する。複数の工程を経て処理される生産プロセス・物流プロセスでは、例えば、操業条件、製造作業、仕分け作業等の簡略化および効率化のために、複数の製品をロットに纏めることが行われる。ロットとは、同一条件の操業(例えば、製造作業、仕分け作業、輸送作業)で処理可能な複数の製品を纏めた処理単位(例えば、生産単位、輸送単位)であり、各工程で処理される複数の製品を1つのグループに纏めたものである。同一のロットに属する製品には、同一のロット番号がロットを識別する情報として付与される。
【0023】
生産または物流における各工程では、できるだけ多くの製品を1つのロットを纏めて処理するのが好ましい。処理が異なるロットに変わる際には、通常、段取り替え(ロットの変更に伴う作業準備)が必要になるからである。このため、例えば、処理効率を高めることを目的として生産計画または物流計画を立案する場合、段取り替え作業が少なくなるように、ロット変更の回数は少ないほどよい。このような目的を有する生産計画または物流計画を立案する場合、ロット変更の回数が計画立案用評価指標xkに含まれる。尚、ロット変更の回数は、工程ごとに計数されたロット変更の回数の和を指すものとする。
【0024】
ロット変更の回数を少なくするために、多くの製品を同一のロットにまとめると、同一のロットに含まれる複数の製品の納期がばらつく可能性が高くなる。例えば、納期までに時間的に余裕がある製品を先に処理(例えば、生産、輸送)し、その結果、本来先に処理すべき製品の処理が後回しになる場合がある。この場合、処理が後回しとなった製品が納期遅れになる虞がある。
【0025】
また、一般に、ロットを纏める際の条件は工程ごとに異なる。つまり、後の工程の処理順序が、先の工程の製品の処理順序を踏襲するとは限らない。このような場合には、ロット変更の回数を少なくすると、納期遅れおよび納期早作りとなる可能性がより高くなる。
以上のように、ロット変更の回数と納期(納期遅れおよび納期早作り)とはトレードオフの関係にある。
また、納期遅れが生じないようにすると、納期早作りが生じやすくなる。従って、納期遅れと納期早作りもトレードオフの関係にある。
【0026】
尚、計画立案用評価指標xkは、例えば、納期遅れ、納期早作り、およびロット変更の回数に限定されず、生産計画または物流計画の良否の程度を評価する評価指標であり、生産計画または物流計画を立案する際の目的に応じて定められるものであればよい。例えば、製品の品質やコストに関連する評価指標を、計画立案用評価指標xkとして用いてもよい。
【0027】
生産計画を立案する場合と物流計画を立案する場合とでは、(1)式における計画立案用評価指標xkの具体的な内容が異なるだけであり、重み係数w[k]を導出する処理装置100は、生産計画および物流計画の何れに対しても適用することができるが、以下では、説明を簡単にするため、生産計画または物流計画を、必要に応じて生産計画と称して説明を行う。
【0028】
図1に示すように、処理装置100は、取得部101と、重み係数導出部102と、出力部103と、を有する。
【0029】
<取得部101>
取得部101は、生産計画として採用された複数の採用計画に基づく複数の計画立案用評価指標xkの値(実績値)と、生産計画として採用されなかった複数の非採用計画に基づく複数の計画立案用評価指標xkの値(実績値)と、を取得する。採用計画は、実際に製品の生産に使用された生産計画であり、例えば、立案者(例えば熟練者)が立案した生産計画や、公知の生産シミュレータを用いて立案された生産計画である。非採用計画は、生産計画として立案されたものの、製品の生産には使用されていない生産計画であり、例えば、立案者(例えば非熟練者)が立案した生産計画や、公知の生産シミュレータを用いて立案された生産計画である。
【0030】
本実施形態では、取得部101は、複数の採用計画の内容を特定する情報と、複数の非採用計画の内容を特定する情報と、を取得する。これらの情報の取得形態として、例えば、処理装置100のユーザーインターフェースに対する入力操作、外部装置から送信された情報の受信、および可搬型記憶媒体に記憶された情報の読み出しのうち、少なくとも1つが挙げられる。
【0031】
取得部101は、このようにして取得した情報により特定される、複数の採用計画および複数の非採用計画、のうち、1つの採用計画と1つの非採用計画とを1つのペアとすることを、複数の採用計画のそれぞれについて実行する。同一の採用計画に対し、相互に異なる2つ以上の非採用計画がペアとなることがある。即ち、或る採用計画と或る非採用計画とのペアと、当該採用計画と当該非採用計画とは異なる非採用計画とのペアと、が存在することがある。
【0032】
ペアとなる採用計画および非採用計画は、計画立案の際の前提条件(計画立案に際して事前に設定される情報)が同じである生産計画である。計画立案の際の前提条件が同じである場合、計画立案用目的関数Jrの値の計算の際に定数(固定値)として用いられる値は同じ値になる。例えば、ペアとなる採用計画および非採用計画に含まれる製品のIDは同じである。また、計画立案用評価指標xkとして納期遅れ、納期早作りを用いる場合、ペアとなる採用計画および非採用計画に含まれる製品の納期は同じである。また、計画立案用評価指標xkとしてロット変更の回数を用いる場合、ペアとなる採用計画および非採用計画に含まれる製品のロット番号は同じになる。
【0033】
取得部101は、これらの情報(製品のID、納期、ロット番号)が全て同じある1つの採用計画および1つの非採用計画を、1つのペアとして作成する。また、このようにすることに代えて、例えば、採用計画および非採用計画のそれぞれに、計画立案の際の前提条件の識別情報が付与されている場合、取得部101は、当該識別情報が同じである1つの採用計画および1つの非採用計画を、1つのペアとして作成してもよい。
【0034】
取得部101は、採用計画から計画立案用評価指標xkの値を取得すると共に、当該採用計画と同一のペアに属する非採用計画から計画立案用評価指標xkの値を取得することを、ペアごとに実行する。
例えば、計画立案用評価指標xkに、納期遅れおよび納期早作りが含まれる場合、採用計画および非採用計画には、例えば、製品の生産が完了して出荷ができる状態になる出荷予定日と、製品の納期とが含まれる。製品の納期から出荷予定日を引いた値が0(ゼロ)または正の値である場合、納期早作りとして当該値が特定され、納期遅れとして0(ゼロ)が特定される。また、製品の出荷予定日から納期を引いた値が0(ゼロ)または正の値である場合、納期遅れとして当該値が特定され、納期早作りとして0(ゼロ)が特定される。
【0035】
また、計画立案用評価指標xkに、ロット変更の回数が含まれる場合、採用計画および非採用計画には、例えば、ロット番号が設定された各製品の工程ごとの生産順が含まれる。ロット番号を製品の生産順に並べた場合のロット番号の変更回数を計数することを工程ごとに実行し、工程ごとのロット番号の変更回数を加算した値が、ロット変更の回数として特定される。
【0036】
本実施形態で説明する各式において、以上のようにして取得部101により取得されるペアを識別する変数をi∈I(Iはペアの集合)とする。また、採用計画、非採用計画であることを、それぞれ、OK、NGと表記する。尚、前述したように、同一の採用計画に対し、相互に異なる2つ以上の非採用計画がペアとなることがあるが、これらのペアは異なる変数iで識別されるものとする。
【0037】
<重み係数導出部102>
重み係数導出部102は、採用計画に基づく計画立案用目的関数Jrである採用目的関数と非採用計画に基づく計画立案用目的関数Jrである非採用目的関数との差を示す目的関数値差分ε[i]と、重み係数w[k]と、を含む決定変数を導出する。本実施形態では、計画立案用目的関数Jrの値の最小値を求める最小化問題を例示するので(即ち、計画立案用目的関数Jrの値が小さい方が良い計画であるので)、非採用目的関数の値が採用目的関数の値以上の値となる。そこで、本実施形態では、採用目的関数と非採用目的関数との差が、後者(非採用目的関数)から前者(採用目的関数)を減算した値で表される場合を例示する。
【0038】
ここで、以下の各式において、w[k]の[k]は、計画立案用評価指標xkに対する値であることを示すものとする。また、ε[i]の[i]はペアiに対する値であることを示すものとする。また、xk_i_OKの添え字k_i_OKは、重み係数w[k]に乗算され、且つ、ペアi(変数iで識別されるペア)に属し、且つ、採用計画に基づくものであることを示すものとする。同様に、xk_i_NGの添え字k_i_NGは、重み係数w[k]に乗算され、且つ、ペアi(変数iで識別されるペア)に属し、且つ、非採用計画に基づくものであることを示すものとする。
【0039】
(1)式に示す例では、採用目的関数の値は、Σk∈Kw[k]・xk_i_OKである。尚、前述したように、採用計画に基づく計画立案用評価指標xk_i_OKの値は採用計画から特定されるので、採用目的関数のうち未知の値は重み係数w[k]である。同様に、非採用目的関数の値は、Σk∈Kw[k]・xk_i_NGである。非採用計画に基づく計画立案用評価指標xk_i_NGの値は非採用計画から特定されるので、採用目的関数のうち未知の値は重み係数w[k]である。
【0040】
本実施形態では、重み係数w[k]を決定するための制約式である係数決定用制約式には、採用・非採用目的関数値差分制約式と、目的関数値差分制約式と、係数上下限値制約式と、が含まれる。また、本実施形態では、重み係数w[k]を決定するための目的関数である係数決定用目的関数Jcには、目的関数値差分ε[i]が係数決定用評価指標として含まれる。
【0041】
採用・非採用目的関数値差分制約式は、採用計画に基づく計画立案用評価指標xk_i_OKの値が代入され、且つ、重み係数w[k]が未知である状態の計画立案用目的関数Jrである採用目的関数(Σk∈Kw[k]・xk_i_OK)と、非採用計画に基づく計画立案用評価指標xk_i_NGの値が代入され、且つ、重み係数w[k]が未知である状態の計画立案用目的関数Jrである非採用目的関数(Σk∈Kw[k]・xk_i_NG)と、の差が、目的関数値差分ε[i]に基づく制限値により制限されることを示す制約式である。採用・非採用目的関数値差分制約式は、例えば、以下の(2)式で表される。
【0042】
目的関数値差分制約式は、採用目的関数の値と非採用目的関数の値との大小関係が逆転しないことを示す制約式であり、例えば、以下の(3)式で表される。
係数上下限値制約式は、重み係数w[k]が、予め設定された上下限値の範囲内であることを示す制約式であり、例えば、以下の(4)式で表される。
【0043】
【0044】
(2)式において、採用目的関数と前記非採用目的関数との差は、Σk∈Kw[k]・xk_i_NG-Σk∈Kw[k]・xk_i_OKである。また、(2)式においては、目的関数値差分ε[i]に基づく制限値は、目的関数値差分ε[i]そのものであり、採用目的関数と前記非採用目的関数との差の下限値を示す。(2)式に示すように、本実施形態では、採用・非採用目的関数値差分制約式は、採用目的関数と非採用目的関数との差(Σk∈Kw[k]・xk_i_NG-Σk∈Kw[k]・xk_i_OK)が目的関数値差分ε[i]以上であることが、ペアiごとに実現されるようにすることを示す。
【0045】
(2)式に示すようにして目的関数値差分ε[i]を定めることに伴い、(3)式に示すように目的関数値差分ε[i]を0以上とし、非採用目的関数の値が採用目的関数の値以上の値となるようにする。
【0046】
(4)式において、重み係数w[k]の下限値wLBおよび上限値wUBは、重み係数w[k]としてとり得る範囲に基づいて予め設定される。(4)式は、主に、求解不能となることを防止するための制約式である。
【0047】
本実施形態では、係数決定用目的関数Jcは、以下の(5)式で表される。
【0048】
【0049】
(5)式に示す例では、係数決定用目的関数Jcの値は、目的関数値差分ε[i]の全てのペアiについての総和である。max.は、目的関数((5)式では係数決定用目的関数Jc)の最大値を求めることを示す。(2)式および(3)式に示すようにして目的関数値差分ε[i]が定められるので、目的関数値差分ε[i]の全てのペアiについての総和を最大にすることは、非採用目的関数の値から採用目的関数の値をペアiごとに減算した値(Σk∈Kw[k]・xk_i_NG-Σk∈Kw[k]・xk_i_OK)の総和を最大にすることに対応する。従って、採用目的関数の値と非採用目的関数の値とが可及的に大きく乖離するときの重み係数w[k]が導出されることになる。尚、(2)式~(5)式に示すように本実施形態では、採用目的関数と非採用目的関数との差を、SVM(Support Vector Machine)における識別関数(分離超平面)のような他の関数を介さずに直接的に評価することができる。
【0050】
重み係数導出部102は、(2)式~(4)式を満足する範囲で、(5)式に示す係数決定用目的関数Jcの値が最大になるときの重み係数w[k]および目的関数値差分ε[i]を数理計画法による最適化計算を実行することにより導出する。数理計画法による最適化計算は、例えば、線形計画問題を求解するための公知のソルバーを用いることにより実現されるので、ここでは、その詳細な説明を省略する。尚、ここでは、重み係数導出部102は、数理計画法による最適化計算を実行することにより重み係数w[k]および目的関数値差分ε[i]を導出する場合を例示するが、必ずしも、最適化問題を求解していれば、数理計画法による最適化計算を実行する必要はない。例えば、遺伝的アルゴリズムを用いてもよい。
【0051】
<出力部103>
出力部103は、重み係数導出部102により導出された重み係数w[k]を示す情報を出力する。情報の出力形態として、例えば、コンピュータディスプレイへの表示、処理装置100の内部または外部の記憶媒体への記憶、および外部装置への送信のうち、少なくとも1つが挙げられる。
【0052】
<フローチャート>
次に、
図2のフローチャートを参照しながら、処理装置100を用いた処理方法の一例を説明する。
まず、ステップS201において、取得部101は、複数の採用計画の内容を特定する情報と、複数の非採用計画の内容を特定する情報と、を取得する。
次に、ステップS202において、取得部101は、同じ前提条件の下で立案された、1つの採用計画と1つの非採用計画とを1つのペアiとすることを、複数の採用計画のそれぞれについて実行する。
【0053】
次に、ステップS203において、取得部101は、採用計画から計画立案用評価指標xk_i_OKの値を取得すると共に、当該採用計画と同一のペアiに属する非採用計画から計画立案用評価指標xk_i_NGの値を取得することを、ペアiごとに実行する。
【0054】
次に、ステップS204において、重み係数導出部102は、ステップS203でペアiごとに取得された、計画立案用評価指標xk_i_OK、xk_i_NGと、予め設定されている重み係数w[k]の下限値wLBおよび上限値wUBと、を用いて、(2)式~(4)式を満足する範囲で、(5)式に示す係数決定用目的関数Jcの値が最大になるときの重み係数w[k]および目的関数値差分ε[i]を数理計画法による最適化計算を実行することにより導出する。
最後に、ステップS205において、出力部103は、ステップS204で導出された重み係数w[k]を示す情報を出力する。
【0055】
<まとめ>
以上のように本実施形態では、処理装置100は、複数の採用計画に基づく複数の計画立案用評価指標xk_i_OKの値と、複数の非採用計画に基づく複数の計画立案用評価指標xk_i_NGの値と、を取得する。処理装置100は、採用計画に基づく計画立案用目的関数Jrである採用目的関数と非採用計画に基づく計画立案用目的関数Jrである非採用目的関数との差を示す目的関数値差分ε[i]と、重み係数w[k]と、を含む決定変数を、最適化問題を求解することにより導出する。この際、処理装置100は、(5)式に示す係数決定用目的関数Jcを用いる。また、処理装置100は、(2)式に示す採用・非採用目的関数値差分制約式を用いる。従って、実績計画である採用計画および非採用計画を用いて、多目的最適化問題における重み係数w[k]を導出することができる。よって、生産計画または物流計画を、最適化問題を求解することにより立案する際の調整パラメータである重み係数w[k]を、目的関数(目的変数)の正解値を定めなくても、自動的に導出することができる。このため、計画立案者の試行錯誤による調整期間および人的負荷を軽減することができる。
【0056】
また、本実施形態では、処理装置100は、複数の採用計画および複数の非採用計画に基づいて、生産計画の立案に際して事前に設定される情報が同じである、1つの採用計画と1つの非採用計画とを1つのペアiとすることを、複数の採用計画のそれぞれについて実行する。そして、処理装置100は、採用計画から計画立案用評価指標xk_i_OKの値を取得すると共に、当該採用計画と同一のペアiに属する非採用計画から計画立案用評価指標xk_i_NGの値を取得することを、ペアiごとに実行する。そして、処理装置100は、(2)式に示すように採用・非採用目的関数値差分制約式をペアiごとの制約式として、採用目的関数と非採用目的関数との差をペアiごとに定めた目的関数値差分ε[i]と、重み係数w[k]と、を含む決定変数を導出する。従って、重み係数w[k]を導出するための決定変数および制約式を少なくすることができる。
【0057】
また、本実施形態では、処理装置100は、係数決定用制約式として、(4)式に示す係数上下限値制約式を用いる。従って、重み係数w[k]が求解不能となることを、より確実に防止することができる。
【0058】
<変形例>
本実施形態では、(1)式に示すように計画立案用目的関数Jrの値を最小にする最小化問題を例示した。しかしながら、本実施形態では、計画立案用目的関数Jrの値を最大にする最大化問題としてもよい。このようにする場合、例えば、(1)式は以下の(6)式に、(2)式は以下の(7)式に、(3)式は以下の(8)式に、(5)式は以下の(9)式にそれぞれ置き替えられる。
【0059】
【0060】
また、係数決定用目的関数Jcは、(5)式に示すものに限定されない。係数決定用目的関数Jcは、例えば、係数決定用評価指標のそれぞれに対して乗算される係数であって、係数決定用評価指標の導出元となる採用計画に応じて異なる値を有する係数をさらに含んでいてもよい。係数決定用目的関数Jcは、例えば、以下の(10)式で表されるものであってもよい。
【0061】
【0062】
ここで、ρは、忘却係数であり、0超1未満の範囲で1に近い値が予め設定される。また、係数決定用目的関数Jcが(10)式で表される場合、iは、作成日時が新しい採用計画が属するペアから順に各ペアを並べた場合の並び順とする(先頭のペアに対するiを1(i=1)とし、先頭から2番目のペアに対するiを2(i=2)とし、最後尾のペアに対するiをI(i=Iとする)。(10)式のようにすれば、新しい採用計画が属するペアiであるほど、係数決定用目的関数Jcの値に与える影響を大きくし、古い採用計画が属するペアiであるほど、係数決定用目的関数Jcの値に与える影響を小さくすることができる。従って、例えば、外部環境、生産対象・物流対象、および操業状態等の変化により、各評価指標の重要度が変化する場合でも、当該変化に応じた適切な重みのバランスを提示することができる。
【0063】
また、重み係数w[k]のうちの1つを1に固定し、残りの重み係数w[k]を本実施形態で説明したようにして導出してもよい。
【0064】
(第2の実施形態)
次に、第2の実施形態を説明する。第1の実施形態では、採用計画と非採用計画との対応関係が明確になっている場合(即ち、計画立案の際の前提条件(計画立案に際して事前に設定される情報))が同じである場合を例示した。しかしながら、採用計画と非採用計画との対応関係が明確に残されていない場合もある。本実施形態では、このような場合であっても重み係数w[k]を導出することができるように、計画立案の際の前提条件に基づく採用計画および非採用計画のペアを作成せずに、重み係数w[k]を導出する。このように本実施形態は、第1の実施形態に対し、計画立案の際の前提条件に基づいて採用計画および非採用計画のペアを作成しないことによる構成および処理が主として異なる。従って、本実施形態の説明において、第1の実施形態と同一の部分については、
図1~
図2に付した符号と同一の符号を付す等して詳細な説明を省略する。
【0065】
本実施形態の処理装置100も、
図1に示すように、取得部101と、重み係数導出部102と、出力部103と、を有する。本実施形態でも、第1の実施形態と同様に、処理装置100は、生産計画および物流計画の何れに対しても適用することができるが、以下では、生産計画または物流計画を、必要に応じて生産計画と称して説明を行う。
【0066】
<取得部101>
第1の実施形態で説明したように、取得部101は、生産計画として採用された複数の採用計画に基づく複数の計画立案用評価指標xkの値(実績値)と、生産計画として採用されなかった複数の非採用計画に基づく複数の計画立案用評価指標xkの値(実績値)と、を取得する。
【0067】
本実施形態では、取得部101は、複数の採用計画の内容を特定する情報と、複数の非採用計画の内容を特定する情報と、を取得する。そして、取得部101は、複数の採用計画に基づく複数の計画立案用評価指標xkの値と、複数の非採用計画に基づく複数の計画立案用評価指標xkの値と、を取得する。採用計画・非採用計画から計画立案用評価指標xkの値を取得(特定)することができることは、第1の実施形態で説明した通りである。
【0068】
第1の実施形態では、取得部101は、1つの採用計画と1つの非採用計画とを1つのペアiとすることを、複数の採用計画のそれぞれについて実行し、採用計画から計画立案用評価指標xk_i_OKの値を取得すると共に、当該採用計画と同一のペアiに属する非採用計画から計画立案用評価指標xk_i_NGの値を取得することを、ペアiごとに実行する。しかしながら、本実施形態では、このようなペアiの作成と、採用計画・非採用計画からの計画立案用評価指標xk_i_OK・xk_i_NGのペアiごとの取得と、は行われない。本実施形態では、取得部101は、複数の採用計画のそれぞれから、複数の計画立案用評価指標xkの値を取得すると共に、複数の非採用計画のそれぞれから、複数の計画立案用評価指標xkの値を取得する。
【0069】
ここで、以下の各式において、採用計画を識別する変数をu∈U(Uは採用計画の集合)とし、非採用計画を識別する変数をv∈V(Vは非採用計画の集合)とし、採用計画に基づく複数の計画立案用評価指標xkをxk_Uと表記し、非採用計画に基づく複数の計画立案用評価指標xkをxk_vと表記する。このように、以下の各式においては、変数u、vにより、採用計画、非採用計画であることが識別される。
【0070】
<重み係数導出部102>
第1の実施形態で説明したように、重み係数導出部102は、採用計画に基づく計画立案用目的関数Jrである採用目的関数と非採用計画に基づく計画立案用目的関数Jrである非採用目的関数との差を示す目的関数値差分ε[u][v]と、重み係数w[k]と、を含む決定変数を導出する。
【0071】
ただし、第1の実施形態では、目的関数値差分ε[i]は、採用目的関数と非採用目的関数との差をペアiごとに定めたものである。これに対し、本実施形態では、目的関数値差分ε[u][v]は、採用目的関数と非採用目的関数との差を、採用計画ごと、非採用計画ごとに定めたものである。
【0072】
また、本実施形態では、ペア計数変数δ[u][v]が決定変数としてさらに含まれる。ペア計数変数δ[u][v]は、非採用目的関数の値が採用目的関数の値よりも生産計画に対する評価が低いことを示す採用計画および非採用計画のペアの数を計数するための変数である。本実施形態でも第1の実施形態と同様に、計画立案用目的関数Jrが(1)式である場合(即ち、最小化問題)を例示する。この場合、非採用目的関数の値が採用目的関数の値よりも生産計画に対する評価が低いことを示すことは、採用目的関数の値が非採用目的関数の値よりも大きくならないことを指す。具体的に、ペア計数変数δ[u][v]は、変数uで識別される採用計画に基づく採用目的関数の値が、変数vで識別される非採用計画に基づく非採用目的関数の値以下(採用目的関数の値≦非採用目的関数の値)である場合に「1」となり、そうでない場合に「0」となる0-1変数である。従って、ペア計数変数δ[u][v]の総和は、採用目的関数の値が非採用目的関数の値以下となる採用計画と非採用計画とのペアの総数になる。
【0073】
本実施形態でも第1の実施形態と同様に、計画立案用目的関数Jrが(1)式である場合を例示する。そうすると、採用目的関数の値は、Σk∈Kw[k]・xk_uである。尚、前述したように、採用計画に基づく計画立案用評価指標xk_uの値は採用計画から特定されるので、採用目的関数のうち未知の値は重み係数w[k]である。同様に、非採用目的関数の値は、Σk∈Kw[k]・xk_vである。非採用計画に基づく計画立案用評価指標xk_vの値は非採用計画から特定されるので、採用目的関数のうち未知の値は重み係数w[k]である。
【0074】
本実施形態でも第1の実施形態と同様に、重み係数w[k]を決定するための制約式である係数決定用制約式には、採用・非採用目的関数値差分制約式と、目的関数値差分制約式と、係数上下限値制約式と、が含まれる。また、本実施形態では、重み係数w[k]を決定するための目的関数である係数決定用目的関数Jcには、目的関数値差分ε[i]とペア計数変数δ[u][v]とが係数決定用評価指標として含まれる。
【0075】
ただし、第1の実施形態では、採用・非採用目的関数値差分制約式、目的関数値差分制約式、係数上下限値制約式は、それぞれ、(2)式、(3)式、(4)式で表される。これに対し、本実施形態では、採用・非採用目的関数値差分制約式、目的関数値差分制約式、係数上下限値制約式は、それぞれ、以下の(11)式、(12)式、(13)式で表される。また、第1の実施形態では係数決定用目的関数Jcは、(5)式で表される。これに対し、本実施形態では、係数決定用目的関数Jcは、以下の(14)式で表される。尚、(13)式は(4)式と同じものであるが表記および説明の容易化のために再掲する。
【0076】
【0077】
(11)式において、採用・非採用目的関数値差分制約式は、非採用計画に基づく計画立案用評価指標xk_vの値が代入され、且つ、重み係数w[k]が未知である状態の計画立案用目的関数Jrである非採用目的関数(Σk∈Kxk_v・w[k])と、採用計画に基づく計画立案用評価指標xk_uの値が代入され、且つ、重み係数w[k]が未知である状態の計画立案用目的関数Jrである採用目的関数(Σk∈Kxk_u・w[k])と、の差が、目的関数値差分ε[u][v]に基づく制限値により制限されることを示す制約式である。
【0078】
(12)式において、Mbigは、(12)式の右辺の絶対値としてとり得る値の上限を想定した正の値の定数であり、予め設定される。
従って、ペア計数変数δ[u][v]が0(ゼロ)である場合、(12)式は、自明な式となり、目的関数値差分ε[u][v]が負となることが許容される。それに伴い、(11)式による採用・非採用目的関数値差分制約式により、変数uで識別される採用計画に基づく採用目的関数と、変数vで識別される非採用計画に基づく非採用目的関数とにおいて採用目的関数の値よりも非採用目的関数の値が小さくなる(良くなる)ことが許容される。これは、本実施形態においては、変数uで識別される採用計画と変数vで識別される非採用計画の、計画立案の際の前提条件が同じでない場合があり、このような場合には、計画立案の際の前提条件が同じでない計画同士の比較となることから、常に採用目的関数の値が非採用目的関数の値より小さくなる(良くなる)わけではないことを考慮したものである。
【0079】
一方、ペア計数変数δ[u][v]が1である場合、目的関数値差分ε[u][v]には0(ゼロ)以上の制約が課されることになる(即ち、目的関数値差分ε[u][v]が負となることが許容されない)。それに伴い、変数uで識別される採用計画に基づく採用目的関数と、変数vで識別される非採用計画に基づく非採用目的関数とにおいて採用目的関数の値よりも非採用目的関数の値が小さくなる(良くなる)ことが許容されず、非採用計画に基づく計画立案用評価指標xk_vの値が代入され、且つ、重み係数w[k]が未知である状態の計画立案用目的関数Jrである非採用目的関数(Σk∈Kxk_v・w[k])と、採用計画に基づく計画立案用評価指標xk_uの値が代入され、且つ、重み係数w[k]が未知である状態の計画立案用目的関数Jrである採用目的関数(Σk∈Kxk_u・w[k])と、の差が、目的関数値差分ε[u][v]に基づく制限値により制限される。
【0080】
(11)式に示すように、本実施形態では、採用・非採用目的関数値差分制約式は、非採用目的関数と採用目的関数との差(Σk∈Kxk_v・w[k]-Σk∈Kxk_u・w[k])が目的関数値差分ε[u][v]以上であることが、任意の採用計画・任意の非採用計画ごとに実現されることを示す。(11)式に示すようにして目的関数値差分ε[u][v]を定めることに伴い、(12)式に示すようにして目的関数値差分ε[u][v]が負の値もとり得ることとする。こうすることにより、非採用目的関数と採用目的関数との差(Σk∈Kxk_v・w[k]-Σk∈Kxk_u・w[k])の下限であるε[u][v]が負となる好ましくない場合にも、目的関数(14)式の右辺第二項によりその影響を最小限にとどめることができる。
【0081】
本実施形態では、係数決定用目的関数Jcの値は、(14)式に示すように、ペア計数変数δ[u][v]の、採用計画uおよび非採用計画vのペアとしてとり得る全てのペアについての総和と、目的関数値差分ε[u][v]の、採用計画uおよび非採用計画vのペアとしてとり得る全てのペアについての総和と、の重み付き線形和である。p1は、ペア計数変数δ[u][v]に乗算される重み係数であり、p2は、目的関数値差分ε[u][v]に乗算される重み係数であり、いずれも正の値を有する。
【0082】
(11)式および(12)式に示すように目的関数値差分ε[u][v]が定められるので、目的関数値差分ε[u][v]の、採用計画uおよび非採用計画vのペアとしてとり得る全てのペアについての総和を大きくすることは、採用計画uおよび非採用計画vのペアごとに非採用目的関数の値から採用目的関数の値を減算した値(Σk∈Kxk_v・w[k]-Σk∈Kxk_u・w[k])の総和を大きくすることに対応する。従って、非採用目的関数の値と採用目的関数の値とが大きく乖離するときの重み係数w[k]が算出されることになる。
【0083】
ただし、非採用目的関数の値が採用目的関数の値よりも生産計画に対する評価が低いことを示す採用計画および非採用計画のペア(即ち、δ[u][v]=1となるu、vのペア)が少なすぎると、適切な重み係数w[k]が導出されない虞がある。従って、非採用目的関数の値が採用目的関数の値よりも生産計画に対する評価が低いことを示す採用計画と非採用計画とのペア(即ち、δ[u][v]=1となるu、vのペア)が多くなるようにする。
【0084】
以上のように(14)式は、非採用目的関数の値と採用目的関数の値とが大きく乖離することと、非採用目的関数の値が採用目的関数の値よりも生産計画に対する評価が低いことを示す採用計画と非採用計画とのペアが多くなることとの双方を実現するに際し、何れの評価を重要視するかを、重み係数p1、p2で調整することを示す。
【0085】
重み係数p1、p2は、重み係数w[k]と同様に、ペア計数変数δ[u][v]と目的関数値差分ε[u][v]との評価のバランスをとるためのものである。ただし、重み係数p1、p2は、(11)式~(14)式に基づいて重み係数w[k]、目的関数値差分ε[u][v]、およびペア計数変数δ[u]を導出するに際して予め設定される。ペア計数変数δ[u][v]および目的関数値差分ε[u][v]は、いずれも、採用目的関数の値と非採用目的関数の値との大きさの関係を評価する評価指標であり、目的は同じである。重み係数p1、p2の設定に際しては、例えば、p2=1とし、p1は、(u,v)の全ペアに対し6~7割程度以上がδ[u][v]=1となるまで、大きく設定する。
【0086】
重み係数導出部102は、(11)式~(13)式を満足する範囲で、(14)式に示す係数決定用目的関数Jcの値が最大になるときの重み係数w[k]、目的関数値差分ε[u][v]、およびペア計数変数δ[u][v]を数理計画法による最適化計算を実行することにより導出する。数理計画法による最適化計算は、例えば、線形計画問題(混合整数計画問題)を求解するための公知のソルバーを用いることにより実現されるので、ここでは、その詳細な説明を省略する。尚、第1の実施形態で説明したように、重み係数w[k]、目的関数値差分ε[u][v]、およびペア計数変数δ[u][v]の導出に際し、必ずしも、数理計画法による最適化計算を実行する必要はない。
【0087】
<フローチャート>
次に、
図3のフローチャートを参照しながら、本実施形態の処理装置100を用いた処理方法の一例を説明する。
まず、ステップS301において、取得部101は、複数の採用計画の内容を特定する情報と、複数の非採用計画の内容を特定する情報と、を取得する。
次に、ステップS302において、取得部101は、採用計画から計画立案用評価指標x
k_uの値を取得すると共に、非採用計画から計画立案用評価指標x
k_vの値を取得する。
【0088】
次に、ステップS303において、重み係数導出部102は、ステップS302で取得された、計画立案用評価指標xk_u、xk_vと、予め設定されている重み係数w[k]の下限値wLBおよび上限値wUBと、を用いて、(11)式~(13)式を満足する範囲で、(14)式に示す係数決定用目的関数Jcの値が最大になるときの重み係数w[k]、目的関数値差分ε[u][v]、およびペア計数変数δ[u][v]を数理計画法による最適化計算を実行することにより導出する。
最後に、ステップS304において、出力部103は、ステップS303で導出された重み係数w[k]を示す情報を出力する。
【0089】
<まとめ>
以上のように本実施形態では、目的関数値差分ε[u][v]を、任意の採用計画および任意の非採用計画のペアごとに定める。また、重み係数w[k]および目的関数値差分ε[u][v]に加えて、ペア計数変数δ[u][v]を決定変数に含める。処理装置100は、これらの決定変数を、最適化問題を求解することにより導出する。この際、処理装置100は、(14)式に示す係数決定用目的関数Jcを用いる。また、処理装置100は、(11)式に示す採用・非採用目的関数値差分制約式を用いる。従って、第1の実施形態で説明した効果に加えて、採用計画と非採用計画との対応関係が明確に残されていない場合でも、重み係数w[k]を導出することができるという効果が得られる。
【0090】
<変形例>
本実施形態においても、第1の実施形態で説明した種々の変形例を採用することができる。
例えば、本実施形態でも第1の実施形態と同様に、(1)式に示すように計画立案用目的関数Jrの値を最小にする最小化問題を例示した。しかしながら、第1の実施形態の変形例で説明したように、本実施形態でも、計画立案用目的関数Jrの値を最大にする最大化問題としてもよい。このようにする場合、例えば、(1)式は(6)式に書き替えられる。また、(11)式は以下の(15)式に置き替えられる。尚、最大化問題とした場合でも、(12)式~(14)式は、最小化問題と同様に用いられる。
【0091】
【0092】
また、第1の実施形態の変形例で説明したように、本実施形態でも、係数決定用目的関数Jcは、(14)式に示すものに限定されない。係数決定用目的関数Jcは、例えば、以下の(16)式で表されるものであってもよい。
【0093】
【0094】
(16)式は、第1の実施形態の変形例で説明した(9)式に対応するものであり、ρは、忘却係数であり、0超1未満の範囲で1に近い値が予め設定される。また、係数決定用目的関数Jcが(16)式で表される場合、u、vは、例えば、作成日時が新しいものから順に各採用計画を並べた場合の並び順とする(先頭の採用計画u(v)を1(u(v)=1)とし、先頭から2番目の採用計画u(v)を2(u(v)=2)とし、最後尾の採用計画u(v)を|U|+|V|(u(v)=|U|+|V|とする))。あるいは、u、vは、現時刻を起点0(ゼロ)として、過去に遡りそのデータが採取された時点をあらわす量と考えてもよい。(16)式のようにすれば、新しい採用計画であるほど、係数決定用目的関数Jcの値に与える影響を大きくし、古い採用計画であるほど、係数決定用目的関数Jcの値に与える影響を小さくすることができる。
【0095】
(計算例)
次に、計算例を説明する。本計算例では、10個の製品を、2つの工程で生産する場合の生産計画として2つの工程における処理完了時刻を立案するための計画立案用目的関数Jrにおける重み係数w[1]、w[2]、w[3]を、第1の実施形態で説明した手法を用いて導出する場合について説明する。尚、本計算例は仮想事例である。
【0096】
本計算例では、計画立案用目的関数Jrは、納期遅れx1、納期早作りx2、およびロット変更の回数x3の3つの計画立案用評価指標xkを有し、以下の(17)式で表されるものとする。
【0097】
【0098】
また、本計算例では、計画立案の際の前提条件(計画立案に際して事前に設定される情報)として5つの前提条件のそれぞれにおいて立案された生産計画(採用計画および非採用計画)を教師データとして用いた。ここでは、計画立案の際の前提条件(計画立案に際して事前に設定される情報)を入力データと称することとする。
【0099】
図4A、
図4B、
図4C、
図4D、
図4Eは、それぞれ、第1の入力データ401、第2の入力データ402、第3の入力データ403、第4の入力データ404、第5の入力データ405を示す図である。
【0100】
第1~第5の入力データ401~405には、製品ID、工程1ロット番号、工程2ロット番号、および納期が含まれる。製品ID、工程1ロット番号、工程2ロット番号、および納期は、納期遅れx1、納期早作りx2、およびロット変更の回数x3を導出するための前提条件で、定数(固定値)として用いられるものである。
【0101】
図5は、第1~第5の入力データ401~405に基づいて立案された生産計画(採用計画および非採用計画)の数を表形式で示す図である。
図5において、入力データ番号1、2、3、4、5は、それぞれ、第1の入力データ401、第2の入力データ402、第3の入力データ403、第4の入力データ404、第5の入力データ405を示す。
図5では、第1の入力データ401、第2の入力データ402、および第4の入力データ404に基づいて、1つの採用計画および2つの非採用計画が立案されたことを示す。また、第3の入力データ403に基づいて、1つの採用計画および3つの非採用計画が立案されたことを示す。また、第5の入力データ405に基づいて、1つの採用計画および1つの非採用計画が立案されたことを示す。
【0102】
本計算例では、採用計画は、重み係数w[1]、w[2]、w[3]を、それぞれ、3、1、10として(w[1]=3、w[2]=1、w[3]=10として)立案されたものである。従って、本計算例では、これらの値(w[1]=3、w[2]=1、w[3]=10)が、重み係数w[1]、w[2]、w[3]の正解値になる。一方、非採用計画は、重み係数w[1]、w[2]、w[3]の少なくとも1つを正解値と異ならせて立案されたものである。このように本計算例では、採用計画を作成する際に用いた重み係数w[k](w[1]=3、w[2]=1、w[3]=10)を、第1の実施形態の手法により再現できるかを調査するための仮想事例を示す。このように、重み係数w[1]、w[2]、w[3]の正解値は、第1の実施形態の手法による重み係数w[k]の導出結果と比較されるものであり、第1の実施形態の手法により重み係数w[k]を導出する際に用いられるものではない。
【0103】
図6は、第1~第5の入力データ401~405に基づいて立案された生産計画(採用計画および非採用計画)から取得された、納期遅れx
1、納期早作りx
2、およびロット変更の回数x
3を示す図である。
図6において、採用は、採用計画に基づく値であることを示し、非採用は、非採用計画に基づく値であることを示す。
【0104】
ここで、納期遅れx
1、納期早作りx
2、およびロット変更の回数x
3の導出過程を、
図6の入力データ番号が1の第1の入力データ401に基づいて立案された採用計画および非採用計画を例に挙げて説明する。
図7は、第1の入力データ401に基づいて立案された採用計画から取得された納期遅れx
1、納期早作りx
2、およびロット変更の回数x
3を示す図である。
【0105】
前述したように本計算例では、生産計画として2つの工程の処理時刻が立案される。
図7(a)において、下工程(下流の工程である)工程2での処理時刻(工程2処理時刻)は、上工程(上流側の工程)である工程1での処理時刻(工程1処理時刻)より、早い時刻とすることはできないとする(即ち、工程2を工程1より早い時刻で実行できないとする).』。従って、例えば工程2での処理順が1番目の製品の、工程1での処理順がk番目の場合は、工程2での処理時刻(工程2処理時刻)はkとし、工程2での処理順が2番目以降の製品の処理時刻も(k+1)以上となるものとする。つまり、工程2での処理時刻(工程2処理時刻)は、工程間に伴う時間遅れが考慮された時刻であるものとする。納期についても工程2処理時刻と同様の考え方で設定されているとする。尚、
図7(a)には、第1の入力データ401(製品ID、工程1ロット番号、工程2ロット番号、および納期)を、生産計画(工程1処理時刻、工程2処理時刻)と共に示す。また、
図7(a)~
図7(c)において、説明の都合上、納期、工程1処理時刻、工程2処理時刻を、実際の時刻ではなく、小さい値であるほど早い時刻に対応する0以上の整数で表すこととする。
【0106】
図7(a)において、工程2処理時刻から納期を減算した値が正の値である場合、当該値が納期遅れの値になる。工程2処理時刻から納期を減算した値が0(ゼロ)以下の値である場合、納期遅れの値は0(ゼロ)になる。一方、納期から工程2処理時刻を減算した値が正の値である場合、当該値が納期早作りの値になる。納期から工程2処理時刻を減算した値が0(ゼロ)以下の値である場合、納期早作りの値は0(ゼロ)になる。このような計算を各製品IDの製品について実行することにより、各製品IDの製品の納期遅れおよび納期早作りが導出される。
図7(a)の納期遅れの欄に示す値の加算値(納期遅れの欄の下の欄外に示す数値(=3))が、
図6の入力データ番号が「1」の採用計画における納期遅れx
1の欄の値(=3)になる。同様に、
図7(a)の納期早作りの欄に示す値の加算値(納期早作りの欄の下の欄外に示す数値(=3))が、
図6の入力データ番号が「1」の採用計画における納期早作りx
2の欄の値(=3)になる。
【0107】
図7(b)は、
図7(a)に示す工程1処理時刻が早い製品であるほど上位のレコードとなるように各製品を並べ替えたものである。
図7(b)において、工程1ロット番号が変更されているのは、製品IDが6の製品から製品IDが3の製品に処理対象が変更されたときと、製品IDが3の製品から製品IDが1の製品に処理対象が変更されたときと、製品IDが10の製品から製品IDが2の製品に処理対象が変更されたときと、製品IDが5の製品から製品IDが9の製品に処理対象が変更されたときと、の4回である(ロット変更の欄の下の欄外に示す数値(=4)を参照)。
【0108】
図7(c)は、
図7(a)に示す工程2処理時刻が早い製品であるほど上位のレコードとなるように各製品を並べ替えたものである。
図7(c)において、工程2ロット番号が変更されているのは、製品IDが7の製品から製品IDが8の製品に処理対象が変更されたときと、製品IDが1の製品から製品IDが10の製品に処理対象が変更されたときと、製品IDが9の製品から製品IDが6の製品に処理対象が変更されたときと、の3回である(ロット変更の欄の下の欄外に示す数値(=3)を参照)。
工程1ロット番号の変更回数(=4)と工程2ロット番号の変更回数(=3)の加算値(=7)が、
図6の入力データ番号が「1」の採用計画におけるロット変更の回数x
3の欄の値(=7)になる。
【0109】
図8は、第1の入力データ401に基づいて立案された非採用計画から取得された納期遅れx
1、納期早作りx
2、およびロット変更の回数x
3を示す図である。
図8では、
図6の入力データ番号が「1」の1行目の非採用計画から取得された納期遅れx
1、納期早作りx
2、およびロット変更の回数x
3を例示する。
【0110】
図8(a)、
図8(b)、
図8(c)は、それぞれ、
図7(a)、
図7(b)、
図7(c)に対応する。
図7を参照しながら説明したのと同様の方法で、
図8(a)の納期遅れの欄に示す値の加算値(納期遅れの欄の下の欄外に示す数値(=12))が導出され、
図6の入力データ番号が「1」の1行目の非採用計画における納期遅れx
1の欄の値(=12)が得られる。同様に、
図8(a)の納期早作りの欄に示す値の加算値(納期早作りの欄の下の欄外に示す数値(=2))が、
図6の入力データ番号が「1」の1行目の非採用計画における納期早作りx
2の欄の値(=2)になる。また、工程1ロット番号の変更回数(=3)と工程2ロット番号の変更回数(=2)の加算値(=5)が、
図6の入力データ番号が「1」の1行目の非採用計画におけるロット変更の回数x
3の欄の値(=5)になる。
【0111】
詳細な値を示すことは省略するが、その他の生産計画(採用計画および非採用計画)についても、納期遅れx
1、納期早作りx
2、およびロット変更の回数x
3が導出され、その結果が
図6に示される。
【0112】
図6において、入力データ番号が同一の欄の採用および1つの非採用が1つのペアiとなる。例えば、入力データ番号が「1」の1行目の非採用と採用とが1つのペアiとなり、入力データ番号が「1」の2行目の非採用と採用とが1つのペアiとなる。このように、入力データ番号が「1」の第1の入力データ401から2つのペアiが作成される(
図2のステップS202を参照)。同様に、入力データ番号が「2」、「3」、「4」、「5」の第2、第3、第4、第5の入力データ402、403、404、405から、2つ、3つ、2つ、1つのペアiがそれぞれ作成される(
図2のステップS202を参照)。
【0113】
また、
図6において、採用の欄の納期遅れx
1、納期早作りx
2、およびロット変更の回数x
3が、採用計画に基づく計画立案用評価指標x
k_i_OKに対応する。また、非採用の欄の納期遅れx
1、納期早作りx
2、およびロット変更の回数x
3が、非採用計画に基づく計画立案用評価指標x
k_i_NGに対応する。このような採用計画に基づく計画立案用評価指標x
k_i_OKの値および非採用計画に基づく計画立案用評価指標x
k_i_NGの値を、前述したようにして作成されるペアiごとに取得する(
図2のステップS203を参照)。
【0114】
そして、ペアiごとの計画立案用評価指標x
k_i_OK、x
k_i_NGを用いて、(2)式~(4)式を満足する範囲で、(5)式に示す係数決定用目的関数Jcの値が最大になるときの重み係数w[k]および目的関数値差分ε[i]を数理計画法による最適化計算を実行することにより導出した(
図2のステップS204を参照)。
【0115】
その結果、重み係数w[1]、w[2]、w[3]として、それぞれ、4、1、10(w[1]=4、w[2]=1、w[3]=10)が導出された。重み係数w[1]のみ正解値(w[1]=3、w[2]=1、w[3]=10)と異なる値となったが、少数(5つ)の入力データであるのにも関わらず、正解値に近い結果が得られた。
【0116】
(その他の実施形態)
尚、以上説明した本発明の実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、前記プログラムを記録したコンピュータ読み取り可能な記録媒体及び前記プログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。また、本発明の実施形態は、PLC(Programmable Logic Controller)により実現されてもよいし、ASIC(Application Specific Integrated Circuit)等の専用のハードウェアにより実現されてもよい。
また、以上説明した本発明の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0117】
100 処理装置
101 取得部
102 重み係数導出部
103 出力部