(58)【調査した分野】(Int.Cl.,DB名)
さらに、前記探索情報を入力して、目的関数に対するスコアの改善度を報酬とし、前記報酬に基づいて、前記行動価値関数を更新する行動価値関数学習部を有することを特徴とする請求項1記載の解探索処理装置。
前記問題情報に対する最適解を探索する手順において、目的関数に対するスコアの改善度を報酬とし、前記報酬に基づいて、行動価値関数を更新することを特徴とする請求項5記載の解探索処理方法。
さらに、前記探索情報を入力して、目的関数に対するスコアの改善度を報酬とし、前記報酬に基づいて、前記行動価値関数を更新する手順を有することを特徴とする請求項5記載の解探索処理方法。
前記行動価値関数を更新する手順において、前記行動価値関数の学習のための方策の選択戦略として、ε−greedy法を用いることを特徴とする請求項7記載の解探索処理方法。
【背景技術】
【0002】
制約プログラミングにより制約充足解を探索する問題の応用として、鉄道や資源配置、工場の生産計画などの産業分野における資源の管理や計画の業務を対象とする場合がある。
【0003】
対象とする業務としては、例えば、鉄道運行管理業務では、通常時には予め定められた列車の運行計画(ダイヤ)に基づいて列車を走行させることが要求されているが、運行当日にダイヤ乱れが発生した場合には、列車運行に支障がないように計画を修正しなければならない。鉄道輸送に必要な計画は列車のダイヤのほかに、ダイヤ上の列車に車両の割り当て計画を定めた車両運用情報や、乗務員の割り当て計画を定めた乗務員運用情報がある。運行当日にダイヤ乱れが発生した場合には、ダイヤの修正に応じて車両運用情報や乗務員運用情報の修正が行われる。
【0004】
また、例えば、資源配置計画業務では、資源の入出荷によって日次で変動する資源の在庫量に応じて、容量制限のある資源の配置場所に資源を配置する日次計画を立案することが求められる。このとき、出荷のための資源の加工を決められた日時に決められた場所で行う制約や日当たりでの資源を移動させる手段の容量制限の制約など多くの制約を遵守しながら、なおかつ前日の計画とはなるべく変更をしないように日次計画を立案する必要がある。
【0005】
上記のような計画作成業務では、大規模な制約充足問題の解を導出しなければならず、従来では熟練したオペレータが手動で行っていた。しかしながら、近年では熟練したオペレータの退職に伴い、上記の業務をシステムで代替しようというニーズが顕在化している。熟練者のオペレータの業務を代替するシステムにおいてはオペレータが立案した計画と同等に実用的な制約充足解を実用的な時間内に求解することが求められている。
【0006】
これまでも、実用的な制約充足解の求解を容易化する技術は提案されている。例えば、特許文献1には、ユーザにより決定変数のドメイン変更などの新たな要求が追加されるたびに、過去の問題解決事例において採用された解と比較し、同一の解が採用された頻度に基づいて解候補の評価値を求め、固定化された制約と追加の要求を満たす中で最も評価値の高い解を出力する技術が記載されている。
【0007】
また、非特許文献1には、ツリー探索を効率的に行うプログラミングパラダイムの一つとして、制約プログラミングという手法が開示されている。
【発明を実施するための形態】
【0017】
以下、本発明に係る一実施形態を、
図1ないし
図9Bについて説明する。
【0018】
先ず、
図1を用いて実施形態1に係る解探索処理装置のハードウェア・ソフトウェア構成について説明する。
解探索処理装置は、鉄道における車両や乗務員の再割り当てや資源配置計画を自動で行うための装置であり、
図1に示されるように、表示部101、入力部102、CPU103、通信部104、記憶部107、メモリ105から構成される一般的な情報処理装置で実現される。解探索処理装置のハードウェアとして用いられる情報処理装置は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットやサーバ装置であってもよい。また、解探索処理装置の情報処理装置は、ネットワーク100を介して他の情報処理装置と通信可能である。
【0019】
記憶部107には、過去の探索情報110、現在の問題情報112が格納されている。過去の探索情報110は、過去の解の履歴と制約式と決定変数のドメインの初期状態で構成される情報である。現在の問題情報112は、制約式と決定変数のドメインの初期状態で構成される情報である。過去の探索情報110は、行動価値関数の初期化に用いられ、現在の問題情報112は、現在の準最適解を求めるための対象とする問題のデータである。
【0020】
また、メモリ105には、解探索処理装置の各機能を実行するプログラム106が記憶されており、CPU103に実行されることにより機能が実現される。解探索処理装置は、プログラム106を実行することにより、行動価値関数初期化部120、探索部121、遷移後状態算出部122、行動価値関数学習部123の各機能部の機能を実行する。なお、各部の機能の詳細については、後に詳述する。
【0021】
次に、
図2ないし
図6を用いて本実施形態の基本的な考え方、記法と、例として取り上げる離散最適化問題について説明する。
本実施形態では、ラインX、Y、Zの各々の生産量(それぞれの生産量をx,y,zとして、整数と仮定)を、決められた制約条件のもとで、ある生産高をなるべく大きくする条件(生産量x、y、zなど)を求める離散最適化問題を考える。
【0022】
ここで、以下のような制約条件を仮定する。
各ラインの生産能力:0≦x,y,z≦3
ラインY、Zの共用設備から来る生産設備上の制約:0≦y+z≦3
生産に従事する作業員の配置から来る制約:
z=3のとき、x=0、y=0
z=2のとき、x≦1
z=1のとき、(x,y)=(0,0)∪(1,1)
z=0のとき、(x,y)≠(3,3)
このときに、生産高f(x,y,z)=5x+3y+zを最大化する問題を考える。このように最適化問題のターゲットとなる関数を、目的関数という。
【0023】
解探索処理装置においては、過去の探索情報110を受け取り、各探索ステップごとに選択した決定変数の値と決定変数の選択によって変化する選択可能なドメインとの関係を導出する。ここで、決定変数とは、問題の対象として、その値を決定するべき変数であり、この問題の例では、各ラインの生産量であるx,y,zである。また、ドメインとは、決定変数が取りうる値の範囲(定義域)である。
【0024】
探索ステップtでの各決定変数の値選択状況と選択可能なドメインで表現され、以下の行列で表記される。
V
t:探索ステップtでの各決定変数の値選択状況を表す行列
D
t:探索ステップtでの各決定変数の選択可能なドメインを表す行列
行列V
t、D
tは、行が決定変数x,y,zで、列がその決定変数x,y,zのドメインを示している。V
tの探索ステップt=0での各要素の初期値は0である。
【0025】
V
tについては、探索ステップtで
x,y,z=l(l=0,1,2,3)
となっている決定変数x,y,zの行のドメインlの列に1を選択するものとする。
【0026】
D
tについては、探索ステップt=0での各要素の初期値は決定変数の初期状態で選択可能となっている決定変数x,y,zのドメインlを1とし、選択不能となっているものを0としたものである。探索ステップt≠0については、V
tの状態での他の決定変数からの制約伝播により、選択可能となった決定変数x,y,zの行のドメインlの列を1と更新し、選択不能となったものを0と更新する。
【0027】
例えば、あるステップtで、x=y=1が選択され、zが選択されていないときには、V
tは、
図2(a)に示されるようになる。
【0028】
また、あるステップtで、x=y=z=1が選択されたときには、
図2(b)に示されるようになる。ここで、全の行に1が一つだけ現れるときに、x,y,zが全て選択されていることを意味する。
【0029】
実際に、x=y=z=1のときには、上記の制約条件の全てを満たし、このときの生産高は、f(1,1,1)=5×1+3×1+1=9となる。
【0030】
また、初期状態ステップ1で、全ての値をとりうるときのドメインを表す行列D
1は、
図3に示されるようになる。そして、次のステップ2では、zのとりうる値がz=3,2,1,0に従って、
図4(a)、
図4(b)、
図4(c)、
図4(d)に示されるようになる。
【0031】
なお、この離散最適化問題の最適解は、(x,y,z)=(3,2,0)であり、生産高は、f(3,2,0)=5×3+3×2+0=21となる。また、この生産高に近い解としては、(x,y,z)=(2,3,0)であり、生産高は、f(2,3,0)=5×2+3×3+0=19となり、この解は、準最適解と評価してよい。
【0032】
このような問題において、本実施形態では、以下のようなアルゴリズムにより、最適解(準最適解)の探索をおこなう。このアルゴリズムは、強化学習の一種であるQ学習の行動価値関数を応用したものである。
【0033】
強化学習(Reinforcement Learning)とは、エージェント(行動主体)は環境の状況に基づき或る行動を選択し、行動に基づき環境が変化するという前提の下、環境の変化に伴って、何らかの報酬がエージェントに与えられ、エージェントはより良い行動の選択(意志決定)を学習していくという方法である。
【0034】
Q学習(Q-learning)は、この強化学習の一種であり、或る環境状態sの下で、方策aを選択する価値(行動価値関数の値)Q(s,a)を学習する方法である。Q学習の基本的なアイデアとしては、ある状態sのとき、Q(s,a)の最も高いaを最適な行動として選択すればよいというものである。
【0035】
このQ学習における行動価値関数を利用して、本実施形態の解探索処理装置における解探索の処理を以下のようにしておこなう。
1)ある探索ステップtの値選択状況V
tで選択可能なドメインD
tを、上記Q学習の状態sを表すものとする。
2)選択可能なドメインD
tは、値選択状況V
tから制約伝播によって計算する。
3)状態sに応じて,次に値を決定するために選択するべき決定変数とその値を方策aとする。
4)目的関数のスコアの改善度を報酬rとする。
5)方策決定前の選択可能なドメインs_pre、方策決定後の選択可能なドメイン s_postとし、行動価値関数は、これらのドメインs_pre,s_postを入力としたQ(s_pre,s_post,a)で表現し,行動価値関数が最大となる方策aを選択する(
図5、
図6)。
6)目的関数のスコアの改善度で与えられる報酬rによって行動価値関数Q(s_pre,s_post,a)を更新する。
【0036】
本実施形態では、報酬rを目的関数fにより、以下の(式1)で定義する。
r=f(x
2,y
2,z
2)−f(x
1,y
1,z
1) …(式1)
ここで、x
1,y
1,z
1は、方策決定前の値、x
2,y
2,z
2は、方策決定後の値である。これは、目的関数fが最大のものを求めることに対応して、目的関数fが大きいものを、その報酬が大きいものと評価するという意味である。なお、本実施形態の生産計画問題のように、報酬rは目的関数が単調ならば、準最適解が見つかった時点ではなく、解探索の途中に付与してもよい。
【0037】
また、初期状態においては、行動価値関数Qの値は、以下の(式2)で定義する。
Q(s_pre,s_post,a)=f(x
2,y
2,z
2) …(式2)
ここでも、x
2,y
2,z
2は、方策決定後の値である。
【0038】
次に、
図7を用いて行動価値関数Qの学習処理を説明する。
上記のように本実施形態の解探索のアルゴリズムは、強化学習を前提としたものであり、行動価値関数Qは、以下の(式3)により学習により、更新していくものとする。
【0040】
ここで、s_pre′は、後方での方策決定前の選択可能なドメイン、s_postは、後方での方策決定後の選択可能なドメイン、cは、方策の候補である。また、γ(0<γ≦1)は、割引率、α(0<α≦1)は、学習率であり、これらは、Q学習における定数である。
【0041】
学習のための探索戦略としては、例えば、ε−greedy法を用いる。これは、改善解を求めるにあたって、確率εで、ランダムに探索ツリーを探索し、確率1−εで、Qを最大化するように探索ツリーを探索するものである。
【0042】
改善解としては、行動価値関数が大きいものが一つの指標になるので、Qを最大化するように探索するのは、当然であるが、それでは、解の探索範囲が広がらず、埋もれた準最適解や最適解があるおそれがある。ε−greedy法は、そのために、ランダムな探索と、Qを最大化する探索を組み合わせたアルゴリズムであるということができる。
【0043】
本実施形態の解探索処理装置では、
図6に示されるように、過去の探索情報110を用いたオフライン学習200と、現在の問題情報112を用いたオンライン学習210を用いたQによる探索処理300をおこなう。
【0044】
オフライン学習200は、過去の探索情報110による模倣と強化プロセスである。模倣のプロセスは、過去の問題の解(教師データ)を用いて、行動価値関数Qを更新するプロセスであり、強化のプロセスは、過去の問題に対して新たな解を見つけて、Qを更新するプロセスである。
【0045】
一方のオンライン学習210は、目的関数の変更や過去データに対する反例の対応のためにおこなう学習である。もし、目的関数変更、反例が存在する場合に、過去の探索情報110による行動価値関数Qに従った解の探索をすると、高い報酬rが得られない。そのため、上記のε−greedy法により、確率εで、たまたま高い報酬rが見つかると、そのたまたま見つかった高い報酬rの方向を重点的に探索するようQを更新する。したがって、オンライン学習210で更新した行動価値関数Qに従って探索した結果、目的関数が変更されたり、反例が存在する場合でも探索をアジャストできるというものである。
なお、オフライン学習200でもオンライン210でもQ学習のアルゴリズムは同様である。
【0046】
次に、
図8を用いて解探索処理装置の処理の全体概要について説明する。
図8に示される行動価値関数初期化部120は、行動価値関数Qを初期化する機能部である。行動価値関数初期化部120では、行動価値関数Qを過去データの問題と解の履歴により初期化する(オフライン学習200)。ここでは、上記の(式2)に従い、目的関数のスコアを報酬としてQを更新し、初期化する。
【0047】
行動価値関数学習部123は、行動価値関数Qを学習する機能部である。行動価値関数学習部123では、初期化された行動価値関数Qに対して、ε−greedy法で過去データの問題の改善解を探索し,改善度を報酬としてQを更新する(オフライン学習200、(式3))。また、現在の問題に対する探索中に呼出されて、ε−greedy法で改善解を探索し,改善度を報酬としてQを更新する(オンライン学習210、(式3))。
【0048】
探索部121は、行動価値関数Qに従った解の探索をする機能部である。探索部121は、オフライン学習200でチューニングされた行動価値関数Qにより現在の探索情報からデータを受け取り、各ステップで方策aをとることにより、最適解、準最適解を探索する。
【0049】
次に、
図9Aおよび
図9Bを用いて解探索処理装置による探索処理について説明する。
本実施形態の探索処理は、強化学習の考え方を利用した制約伝播下における探索処理であり、
図9Aに示される例では、目的関数の途中のスコア(目的関数の値)に応じて報酬rを各ステップの方策ごとに随時付与し、Qを更新しながら、探索するアルゴリズムになっている。これは、ε−greedy法で、確率1−εで、Qを最大化するように探索ツリーを探索するものである。
【0050】
全ての方策候補について、以下の処理を繰り返す(S01−S06)。
方策aを選択し(S02)、状態s_preと方策aで制約伝播を算出し(S03)、状態、s_postを算出する(S04)。そして、Q(s_pre,s_post,a)を算出する(S05)。
【0051】
S01−S07のループを抜けたとき、Q(s_pre,s_post,a)が最大となる方策aを選択し(S07)、方策aに対する報酬rに応じて、Q(s_pre,s_post,a)を更新する(S08、(式3))。
【0052】
探索終了条件を満たすときには(S09:YES)、探索処理を終了し、解が全て定まっていないときには(S09:NO)、次ステップに行き(S10)、S01に戻る。
【0053】
探索終了条件は、離散最適化問題の特質やユーザの意図に応じて定める。例えば、ステップ数や探索ツリーの深さが既定のものを超えたこと、準最適解が求められて目的化関数で十分なスコアを得られたこと、解探索処理装置のCPU稼働時間が既定の時間をオーバしたことなどが考えられる。
【0054】
また、他の探索戦略においては、
図9Bに示されるように、方策aをランダムに選択する。ε−greedy法で、確率εで、ランダムに探索ツリーを探索することに対応するものである。
先ず、ランダムに方策aを選択し(S21)、状態s_preと方策aで制約伝播を算出し(S22)、状態、s_postを算出する(S23)。そして、Q(s_pre,s_post,a)を算出する(S24)。
そして、方策aに対する報酬rに応じて、Q(s_pre,s_post,a)を更新する(S26、(式3))。
【0055】
探索終了条件を満たすときには(S26:YES)、探索処理を終了し、解が全て定まっていないときには(S26:NO)、次ステップに行き(S30)、S21に戻る。
【0056】
離散最適化問題の一例として、将棋、チェス、囲碁などの完全情報ゲームで、局面を与えて望ましい着手を計算する問題がある。この場合には、それらのゲームはルール(制約、目的関数)が固定されている。そのため,探索モデルは同一のルールであれば変更する必要がない。一方、業務スケジューリング問題は、毎回、制約や目的関数が変更されるため、同一のルールが前提条件となっているゲーム用の人工知能では対応できない。本実施形態の解探索処理方法によれば、そのような制約や目的関数が変更される問題においても、ルール(特に制約)の変更が反映される決定変数の選択可能なドメインを制約伝播により、計算し、選択可能なドメインの変化に応じて強化学習のモデルにより探索することによって、ルールの変化に応じて準最適解を効率的に探索できるという利点がある。
【0057】
また、行動価値関数は、引数の場合分けの数が膨大となる可能性があるため、畳み込みニューラルネットワークにより、行動価値関数Qが最大となる方策aを推定するようにしてもよい。
【0058】
また、本実施形態では、行動価値関数をQ学習で更新する強化学習する例を述べたが、強化学習の枠組みなら上記に限定されず、Actor−Critic、Sarsaやモンテカルロ法などの他の強化学習の手法によってもよい。
【0059】
なお、本実施形態で、状態として捉えた方策決定後の選択可能なドメインs_postは,方策決定前の選択可能なドメインs_postの行列と制約伝播の作用の行列との要素どうしの積により算出することができる。また、方策自体を制約伝播の作用の行列で表現してもよい。
【0060】
以上、説明したように、本実施形態の解探索処理装置によれば、強化学習の手法を離散最適化問題に応用することにより、制約や目的関数が変更される場合にあっても、行動価値関数にそった探索をおこなうことによって、決定変数のとりうる組合せ数が膨大な場合でも、実用時間内に準最適解を求めることができる。