(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】オンラインマッチング最適化装置、方法およびプログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20241106BHJP
【FI】
G06N99/00 180
(21)【出願番号】P 2023550853
(86)(22)【出願日】2021-09-29
(86)【国際出願番号】 JP2021035897
(87)【国際公開番号】W WO2023053277
(87)【国際公開日】2023-04-06
【審査請求日】2024-03-21
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】引間 友也
(72)【発明者】
【氏名】赤木 康紀
(72)【発明者】
【氏名】丸茂 直貴
(72)【発明者】
【氏名】金 秀明
(72)【発明者】
【氏名】浅見 太一
【審査官】福西 章人
(56)【参考文献】
【文献】HIKIMA, Yuya et al.,Integrated Optimization of Bipartite Matching and Its Stochastic Behavior: New Formulation and Appro,Proceedings of the AAAI Conference on Artificial Intelligence,米国,2021年05月28日,Vol.35, No.5: AAAI-21 Technical Tracks 5,Pages 3796-3805, ISSN: 2374-3468,[online], [retrieved on 2021.12.08], Retrieved from the Internet: <URL: https://ojs.aaai.org/index.php/AAAI/article/view/16497> and <URL: https://ojs.aaai.org/index.php/AAAI/issue/view/389>
【文献】TANG, Wenbin et al.,On optimization of expertise matching with various constraints,Neurocomputing,Volume 76, Issue 1,米国,2012年01月15日,Pages 71-83,[online], [retrieved on 2021.12.08], Retrieved from the Internet: <URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.713.9605&rep=rep1&type=pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
任意の時刻に出現する第1のノードに対し事前に用意された第2のノードを割り当てるオンラインマッチングにおいて定義される最適化問題から最適解を決定するために使用されるオンラインマッチング最適化装置であって、
複数の前記時刻について前記第1のノードの出現確率を定義する確率関数と、複数の前記時刻について、前記第1のノードの集合と前記第2のノードの集合とを対応付けるエッジの集合に対し、当該エッジがマッチングされた際に付与する報酬と、複数の前記時刻について、マッチングされた前記エッジに対応する前記第2のノードが再使用可能になるまでに要する期間とを含むパラメータ情報を取得するパラメータ取得処理部と、
取得された前記パラメータ情報を用いて、定式化された第1の最適化問題を定義する定式化処理部と、
定式化された前記第1の最適化問題を解くことにより、前記エッジの報酬および前記出現確率を制御する変数と、出現した前記第1のノードに対しいずれの前記第2のノードを割り当てるかを指定するマッチング戦略とを、前記最適解として決定する最適化処理部と、
決定された前記変数および前記マッチング戦略を出力する出力処理部と
を具備するオンラインマッチング最適化装置。
【請求項2】
前記最適化処理部は、
定式化された前記第1の最適化問題に対してその目的関数を近似した第2の最適化問題を定義する処理と、
定義された前記第2の最適化問題を解くことにより、前記変数および前記マッチング戦略を前記最適解として決定する処理と
を備える、請求項1に記載のオンラインマッチング最適化装置。
【請求項3】
前記最適化処理部は、
定式化された前記第1の最適化問題に対してその目的関数を近似した第2の最適化問題を定義する処理と、
定義された前記第2の最適化問題に対し予め設定された仮定を適用することで、前記目的関数を凸関数に変形した第3の最適化問題を定義する処理と、
前記第3の最適化問題を解くことにより、前記変数および前記マッチング戦略を前記最適解として決定する処理と
を備える、請求項1に記載のオンラインマッチング最適化装置。
【請求項4】
前記最適化処理部は、前記第3の最適化問題を、Primal-Dual Hybrid Gradient methodを用いて解くことにより、前記変数および前記マッチング戦略を前記最適解として決定する、請求項3に記載のオンラインマッチング最適化装置。
【請求項5】
任意の時刻に出現する第1のノードに対し事前に用意された第2のノードを割り当てるオンラインマッチングにおいて定義される最適化問題から最適解を決定するために使用される装置が実行する、オンラインマッチング最適化方法であって、
複数の前記時刻について前記第1のノードの出現確率を定義する確率関数と、複数の前記時刻について、前記第1のノードの集合と前記第2のノードの集合とを対応付けるエッジの集合に対し、当該エッジがマッチングされた際に付与する報酬と、複数の前記時刻について、マッチングされた前記エッジに対応する前記第2のノードが再使用可能になるまでに要する期間とを含むパラメータ情報を取得する過程と、
取得された前記パラメータ情報を用いて、定式化された第1の最適化問題を定義する過程と、
定式化された前記第1の最適化問題を解くことにより、前記エッジの報酬および前記出現確率を制御する変数と、出現した前記第1のノードに対しいずれの前記第2のノードを割り当てるかを指定するマッチング戦略とを、前記最適解として決定する過程と、
決定された前記変数および前記マッチング戦略を出力する過程と
を具備するオンラインマッチング最適化方法。
【請求項6】
請求項1乃至4のいずれかに記載のオンラインマッチング最適化装置が具備する前記各処理部による処理を、前記オンラインマッチング最適化装置が備えるプロセッサに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明の一態様は、例えば二部グラフに関するオンラインマッチングにおいて、最適化問題の最適解を求めるために用いられる最適化装置、方法およびプログラムに関する。
【背景技術】
【0002】
オンラインマッチングは、ある二部グラフG =(U,V,E)に関する特殊なマッチング問題において、事前に存在するノード集合U 、今後出現し得るノード集合V が与えられたとき、各時刻t に出現するv ∈ V に対してu ∈ U を割り当てていくものである。
【0003】
オンラインマッチングの応用例としては、例えばインターネット広告の割当があげられる。この例は、与えられた広告枠(U)を、どのWebサイトに出現するか事前に分からないWebサイト閲覧者(V)に対し割り当てるものである。また、他の応用例としては、解くべきタスク(U)をインターネットを介して逐次出現するワーカ(V)に割り振るクラウドソーシングや、空車状態のタクシー(U)を逐次出現する注文者(V)に割り当てるタクシープラットフォーム等もあげられる。
【0004】
ところで、オンラインマッチングの最適化問題の解法としては、例えば各時刻t において各エッジe ∈E を割り当てた際の報酬wetと、各時刻t において各ユーザv ∈V が出現する確率pvt が所与のものとして与えられたとき、得られるマッチングの期待重みが大きくなるようなマッチング戦略を決定する技術が知られている(例えば非特許文献1を参照)。
【0005】
また、他の技術として、目的関数としての関数の期待値を持つ最適化問題に対する解法も知られている。この解法は、例えばオンラインマッチングにおいて、各エッジe ∈E を割り当てた際の報酬と、各ノードv ∈V が出現する確率、マッチング戦略πが所与のものとして与えられたとき、得られるマッチングの期待重みが大きくなるような変数x を探索するものである(例えば非特許文献2を参照)。
【先行技術文献】
【非特許文献】
【0006】
【文献】John Dickerson, Karthik Sankararaman, Aravind Srinivasan, and Pan Xu. “Allocation problems in ride-sharing platforms: Online matching with offline reusable resources.” In Proceedings of the AAAI Conference on Articial Intelligence, Vol.32, 2018.
【文献】Warren Scott, Peter Frazier, and Warren Powell. “The correlated knowledge gradient for simulation optimization of continuous parameters using Gaussian process regression.” SIAM Journal on Optimization, Vol.21, No.3, pp. 996-1026, 2011.
【発明の概要】
【発明が解決しようとする課題】
【0007】
ところが、非特許文献1に記載された技術は、マッチングの期待重みが大きくなるようなマッチング戦略πを提案するに止まり、各エッジe ∈ E を割り当てた際の報酬と各ノードv ∈V が出現する確率が変数x によって制御することについて何ら考慮されておらず、ましてマッチング戦略πとその変数x を同時に最適化する方法についてはまったく示されていない。
【0008】
また、非特許文献2に記載された技術には、変数x の探索手法について記載されているものの、マッチング戦略πを決定することについては何ら記載されておらず、ましてマッチング戦略πとその変数x を同時に最適化する手法についてはまったく示されていない。
【0009】
この発明は上記事情に着目してなされたもので、マッチング戦略と、ノードの出現確率およびエッジの報酬を制御することが可能な変数の両方を、同時に最適化する技術を提供しようとするものである。
【課題を解決するための手段】
【0010】
上記課題を解決するためにこの発明に係るオンラインマッチング最適化装置または最適化方法の一態様は、任意の時刻に出現する第1のノードに対し事前に用意された第2のノードを割り当てるオンラインマッチングにおいて定義される最適化問題から最適解を決定する際に、複数の前記時刻について前記第1のノードの出現確率を定義する確率関数と、複数の前記時刻について、前記第1のノードの集合と前記第2のノードの集合とを対応付けるエッジの集合に対し、当該エッジがマッチングされた際に付与する報酬と、複数の前記時刻について、マッチングされた前記エッジに対応する前記第2のノードが再使用可能になるまでに要する期間とを含むパラメータ情報を取得する。そして、取得された前記パラメータ情報を用いて定式化された第1の最適化問題を定義し、定式化された前記第1の最適化問題を解くことにより、前記エッジの報酬および前記出現確率を制御する変数と、出現した前記第1のノードに対しいずれの前記第2のノードを割り当てるかを指定するマッチング戦略とを、前記最適解として決定し、決定された前記変数および前記マッチング戦略を出力するようにしたものである。
【0011】
この発明の一態様によれば、最適解として、第1のノードの出現確率およびエッジの報酬を制御することが可能な変数と、マッチング戦略πの両方を同時に決定することが可能となる。
【発明の効果】
【0012】
すなわちこの発明の一態様によれば、マッチング戦略と、ノードの出現確率およびエッジの報酬を制御することが可能な変数の両方を同時に最適化する技術を提供することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、この発明の一実施形態における最適化装置を備える応用システムの一例を示す図である。
【
図2】
図2は、この発明の一実施形態における最適化装置のハードウェア構成を示すブロック図である。
【
図3】
図3は、この発明の一実施形態における最適化装置のソフトウェア構成を示すブロック図である。
【
図4】
図4は、
図3に示した最適化装置により実行される処理の手順と処理内容の一例を示すフローチャートである。
【
図5】
図5は、
図4に示した処理手順のうち最適化処理の手順と処理内容の一例を示すフローチャートである。
【
図6】
図6は、この発明の一実施形態に係る最適化装置が取り組む、二部グラフG =(U,V,E)に関する特殊なオンラインマッチングの最適化問題を表す図である。
【
図8】
図8は、
図7に示した最適化問題の目的関数を近似した最適化問題の最適値と、その1/2近似解を簡略的に示した図である。
【発明を実施するための形態】
【0014】
以下、図面を参照してこの発明に係わる実施形態を説明する。
【0015】
[一実施形態]
(構成例)
(1)システム
図1は、この発明の一実施形態における最適化装置を備える応用システムの一例を示す図である。
【0016】
応用システムは、オンラインサービスを提供するシステムであり、例えば、タスクをインターネットを介して逐次出現するワーカに割り振るクラウドソーシングシステム、空車状態のタクシーを逐次出現するユーザに割り当てるタクシープラットフォームに相当する。
【0017】
一実施形態に係る応用システムは、マッチングプラットフォームとして機能するオンライン制御装置PFを備える。オンライン制御装置PFは、割り当て対象となるノードの割り当てを制御するもので、オンラインサービスを利用しようとするユーザが使用する複数のユーザ端末TM1~TMnから、ネットワークNWを介してアクセスが可能となっている。
【0018】
ネットワークNWは、例えばインターネットとそのアクセスネットワークとから構成される。アクセスネットワークとしては、例えば4Gまたは5G等の規格を採用した公衆無線ネットワークや、公衆光通信ネットワーク等が使用されるが、他にWiFi(登録商標)等の無線ネットワークや有線LAN(Local Area Network)等が使用されてもよく、これらに限るものではない。
【0019】
オンライン制御装置PFは、例えばWeb上またはクラウド上に設けられるサーバコンピュータからなり、このオンライン制御装置PFにはこの発明の一実施形態に係る最適化装置ODが接続されている。なお、最適化装置ODはオンライン制御装置PFの機能の一部として設けられてもよい。
【0020】
(2)最適化装置OD
図2はこの発明の一実施形態における最適化装置ODのハードウェア構成の一例を示すブロック図、
図3は最適化装置ODのソフトウェア構成の一例を示す機能ブロック図である。
【0021】
最適化装置ODは、例えばサーバコンピュータまたはパーソナルコンピュータからなる。最適化装置ODは、中央処理ユニット(Central Processing Unit:CPU)等のハードウェアプロセッサを使用した制御部1を備え、この制御部1に対し、バス5を介して、プログラム記憶部2およびデータ記憶部3を有する記憶ユニットと、入出力インタフェース(以後インタフェースをI/Fと記載する)部4を接続したものとなっている。なお、最適化装置ODは、他に通信I/F部等を備えていてもよい。
【0022】
入出力I/F部4は、上記オンライン制御装置PFから入力される各種パラメータを受信したり、制御部1において求められた最適解をオンライン制御装置PFへ出力するために使用される。
【0023】
プログラム記憶部2は、例えば、記憶媒体としてHDD(Hard Disk Drive)またはSSD(Solid State Drive)等の随時書込みおよび読出しが可能な不揮発性メモリと、ROM(Read Only Memory)等の不揮発性メモリとを組み合わせて構成したもので、OS(Operating System)等のミドルウェアに加えて、この発明の一実施形態に係る各種制御処理を実行するために必要な各種プログラムを格納する。
【0024】
データ記憶部3は、例えば、記憶媒体として、HDDまたはSSD等の随時書込みおよび読出しが可能な不揮発性メモリと、RAM(Random Access Memory)等の揮発性メモリと組み合わせたもので、この発明の一実施形態を実施するために必要な記憶領域として、パラメータ記憶部31と、定式化情報記憶部32と、最適化情報記憶部33とを備えている。
【0025】
パラメータ記憶部31は、オンライン制御装置PFから入力される、最適化問題を定義する複数のパラメータを保存するために使用される。また、パラメータ記憶部31には、取り組み対象となる最適化問題を表す関係式も記憶されている。
【0026】
定式化情報記憶部32は、制御部1により生成される、上記最適化問題を定式化した関係式を保存するために使用される。
【0027】
最適化情報記憶部33は、制御部1により導出される、上記定式化された最適化問題の最適解を保存するために使用される。
【0028】
制御部1は、この発明の一実施形態に係る処理機能として、パラメータ取得処理部11と、定式化処理部12と、最適化処理部13と、最適化情報出力処理部14とを備えている。これらの各処理部11~14は、何れもプログラム記憶部2に格納されたアプリケーション・プログラムを、制御部1のハードウェアプロセッサに実行させることにより実現される。なお、上記アプリケーション・プログラムは、プログラム記憶部2に事前に記憶されていなくてもよく、例えば必要時にオンライン制御装置PFからダウンロードするようにしてもよい。
【0029】
パラメータ取得処理部11は、最適化問題の最適解を求める処理を実行する際に、オンライン制御装置PFから入力されたパラメータを入出力I/F部4を介して取得し、取得された上記パラメータをパラメータ記憶部31に保存する処理を行う。
【0030】
定式化処理部12は、上記パラメータ記憶部31から最適化問題の関係式を読み出して定式化処理し、定式化された最適化問題の関係式を定式化情報記憶部32に記憶させる処理を行う。
【0031】
最適化処理部13は、上記パラメータ記憶部31に保存された各パラメータをもとに、定式化された上記最適化問題の関係式から最適解を算出し、算出された最適解を最適化情報記憶部33に保存させる処理を行う。最適解としては、第1のノードとしてのユーザv の出現確率およびエッジe の報酬wet を制御することが可能な変数x と、マッチング戦略πの両方が同時に算出される。
【0032】
最適化情報出力処理部14は、最適化処理により求められた最適解を上記最適化情報記憶部33から読み出し、読み出された上記最適解を入出力I/F部4からオンライン制御装置PFへ出力する処理を行う。
【0033】
(動作例)
次に、以上のように構成された最適化装置ODの動作例を説明する。
図4は、最適化装置ODにより実行される処理の手順と処理内容の一例を示すフローチャートである。
【0034】
一実施形態では、例えばオンラインでサービスを提供するシステムにおいて、オンラインサービスの提供を受けようとするユーザに対し、例えば金銭インセンティブを提示することで、ユーザからのアクセスを制御して利益の最大化を図ることを目的し、そのためにユーザに対する報酬を最適化する最適化問題を定義する。
【0035】
(1)パラメータの取得
上記最適化問題を定義するために、最適化装置ODの制御部1は、先ずパラメータ取得処理部11の制御の下でパラメータを取得する。すなわち、パラメータ取得処理部11は、ステップS1において最適化問題を定義するパラメータの入力を監視する。この状態でオンライン制御装置PFからパラメータが入力されると、パラメータ取得処理部11はステップS2において、上記パラメータを入出力I/F部4を介して取得し、取得されたパラメータをパラメータ記憶部31に保存する。
【0036】
取得されるパラメータには、以下のものが含まれる。すなわち、第1のノードとしてのユーザをv 、その集合をV とすると共に、第2のノードとしてのリソースをu 、その集合をU とし、時刻をt 、その集合をT =(t1, t2, …, tmax )としたとき、各時刻t においてユーザ(v ∈V)が出現する確率を表す変数(確率関数)pvt と、各時刻t について、上記ユーザ集合(v ∈V )と上記リソース集合(u ∈U )とを対応付ける各エッジe ∈ E に対し付与される、エッジe をマッチングしたときの報酬wet と、上記エッジe が時刻t に使用された場合に対応するリソースu が再使用可能になるまでに要する期間cet が含まれる。
【0037】
(2)最適化問題の定式化
最適化装置ODの制御部1は、続いて定式化処理部12の制御の下、ステップS3において最適化問題の定式化を行う。
【0038】
図6は、最適化装置ODが取り組む、二部グラフG =(U, V, E)に関する特殊なオンラインマッチングの最適化問題を表した図である。
最適化問題は、
図6の(I) に示す変数x
vt (v ∈V,t = 1, 2, …,t
max )と、(III) における出現したユーザv にどのリソースu を割り当てるかを決定するマッチング戦略πを決定し、期待利益を最大化する問題として定義される。この最適化問題は、以下のように定式化することができる。
【0039】
すなわち、定式化された最適化問題を(P) とすると、最適化問題(P) は上記取得された各パラメータを用いて、
【数1】
のように定義される。
【0040】
但し、x は各ユーザv ∈V に対する時刻t における価格x
vt を要素として持つベクトルとして表される決定変数、πは
図6の(III) におけるマッチング戦略を表しており、リソースu ∈U に対して出現したどのユーザv を割り当てるかを決める。Πは全てのマッチング戦略πの集合を、T ={t1,t2,…,t
max}は時刻の集合をそれぞれ示す。ξ ∈{v
1,v
2,…,v
n,⊥}
Tは、出現したノードを承諾したか否かを表す確率関数であり、ξ
t = v
k はノードv
k が時刻t に出現したことを表し、またξ
t =⊥は時刻t にどのノードも出現しなかったことを表す。
【0041】
さらに、D(x) は、ξ ∈{v1,v2,…,vn,⊥}tmax の確率分布を示す。また、その確率質量関数は、Pr (ξ|t,x)=Πt∈T Pr (ξt|t,x)で表される。但し、各v ∈{v1,v2,…,vn}についてPr (ξ =v |t,x)=pvt (xvt)であり、Pr (ξ =⊥|t,x)=1-Σv∈V pvt (xvt) である。また、関数f(π,x,ξ)は、パラメータ(π,x,ξ)が与えられたときに得られるマッチングの報酬の総和である。
【0042】
(3)最適化問題の最適化処理
(3-1)最適化問題(P) の解法
最適化装置ODの制御部1は、次にステップS4において、最適化処理部13の制御の下、上記定式化された最適化問題(P) から最適解となる変数x およびマッチング戦略πを求める処理を以下のように実行する。
【0043】
図5は、最適化処理部13により実行される最適化処理の処理手順と処理内容を示すフローチャートである。
【0044】
最適化処理部13は、先ずステップS41において、事前に設定された以下の「仮定」を満たすか否かを判定する。
「仮定」;すべてのv ∈V , t ∈T について、pvt (x) はlimx→∞ pvt (x) =0であるか、pvt (x) =0となる変数x をそのドメインに含む。また、1-pvt (x) がmonotone hazard rate function であり、pvt (x) は全単射かつ単調減少である。
【0045】
上記「仮定」は、pu として正規分布またはガンベル分布の相補累積分布関数等を含んでいる。これらの分布は、機械学習の分野で多く用いられる分布であり、上記「仮定」は緩い仮定である。
【0046】
最適化処理部13は、上記ステップS41により上記「仮定」を満たさないと判定されると、ステップS42において、最適化問題(P) を例えばヒューリスティック解法または近似解法を用いて解く。
【0047】
(3-2)最適化問題(PA) の解法
一方、最適化処理部13は、ステップS41において上記仮定を満たすと判定されると、ステップS43に移行して最適化問題(PA) から最適解を以下のように求める。
【0048】
先ず、関数maxπ∈Π Eξ~D(x)[f(π,x,ξ)]を近似する関数を定義する。ある変数x について、例えば非特許文献1に記載されるマッチング戦略をπH(x) とする。また、線形計画問題の最適値をf^(x) とすると、この最適値f^(x) は以下の最適化問題の最適値として表される。
【0049】
【数2】
また、δ(α) はノードαに接続される辺集合を表す。
【0050】
このとき、以下の不等式が成り立つ。なお、この不等式は非特許文献1に記載されているものを利用する。
【数3】
【0051】
よって、x* := argmax x∈R
V×T f^(x),π* :=πH (x*) とすれば、(x* ,π*)は最適化問題(P) の1/2近似解となる。
【0052】
すなわち、上記線形計画問題の最適値f^(x) を表す式において、1行目の決定変数zu,v,t は、t 時刻目にリソースu をユーザv にマッチングする確率に相当し、2行目の式は、ユーザv を割り当てる量がノードv が出現した上で承諾する確率の期待値以下でならないことを示す。また3行目の式は、リソースu を割り当てる量は使用可能な量までしか使えず、前の時刻で使用している量に応じて使用可能量が変化することを示している。
換言すると、上記最適値f^(x) は、確率関数についてすべて期待値を取った上で決定変数zu,v,t を連続緩和した問題と言うことができる。
【0053】
なお、先に述べたようにT ={1, 2, …, tmax }は時刻の集合であり、またpvt (x) はユーザv が時刻t に出現する確率を示す価格x に対する関数を、C_{e,t′}∈{0, 1, 2, … , n }はリソースu をユーザv に時刻t′ に割り当てたときに再使用可能になるまでの期間をそれぞれ示す。
【0054】
さらに、φ(Cu, v, t, t′)は、Cu, v, t, t′ ≧ t-t′であれば0、そうでなければ1となる関数である。つまり、この関数は、時刻t′に使用されたリソースu が時刻t に再使用可能になるのであれば0、再使用不可能であれば1となる。
【0055】
定式化された最適化問題(P) の目的関数を近似した最適化問題max
x∈R
V×T f^(x) を(PA) とすると、最適化問題(PA) は以下のように書き表すことができる。
【数4】
【0056】
この最適化問題(PA) を解くことで得られたx* によって、上記最適化問題(P) に対する1/2近似解を求めることができる。よって、最適化問題(PA) を高速に解くことが可能であれば、近似解を高速に得ることができる。そこで、最適化問題(PA) を高速に解く手法を以下に提案する。
【0057】
すなわち、上記「仮定」が満たされるとき、最適化問題(PA) の一つ目の制約はある最適解x* において必ず等式が成り立つ。そこで、最適化問題(PA) において、xvt = pvt
-1 (Σe∈δ(v) zet )とすることで、上記最適化問題(PA) と等価な最適化問題(CP) を定義する。
【0058】
この最適化問題(CP) は、
【数5】
のように表される。但し、S
vt は関数p
vt
-1の定義域である。
【0059】
上記の最適化問題(CP) の最適値z* について、x*vt := pvt
-1(Σe∈δ(v) z*et)としたとき、(x*,z*)が最適化問題(PA) の最適解となる。
【0060】
(3-3)最適化問題(CP) の解法
次に、最適化問題(CP) の解法について説明する。
【0061】
pvt (x) に対し、先に述べた「仮定」(monotone hazard rate function)を定義すると、目的関数は凸関数となり、これにより凸計画問題として扱うことが可能となる。しかし、最適化問題(CP) は、決定変数の次元が|E|・Tとなり非常に大きくなる。そこで一実施形態では、解法としてPrimal-Dual Hybrid Gradient method(PDHG法)を適用する。
【0062】
すなわち、最適化問題(CP) のLagrange 関数を
L : R
+
E×T ×R
+
U×T → R∪{∞}
とすると、この関数は、
【数6】
のように記載することができる。
【0063】
ただし、zvt ∈Rδ(v)は、z ∈RE×T から頂点v ∈V と時刻t ∈T に関する部分のみを取り出したベクトルである。また、c ∈RE×T およびd ∈RU×T はある定数行列であり、A :RE×T →RU×T はある線形写像を示す。さらに、Fvt :R →R∪{∞}は真凸関数を示している。
【0064】
Primal-Dual Hybrid Gradient method(PDHG法)の各反復では、η>0に対し、
【数7】
の形の問題を解く必要がある。このうち後者の(3) 式は、最適解を閉形式で書くことができる。一方、前者の(2) 式における目的関数は、|V|×|T|項の和になっている。よって、各v ∈V ,t ∈T に対し|δ(v)|変数の小さい問題を解けばよいことになる。
【0065】
上記各問題は、
【数8】
と書くことができる。但し、n =|δ(v)|、a は定数ベクトルである。
【0066】
この問題は容易に解くことができる。すなわち、変数s を追加し、問題を
【数9】
と等価に書き換える。この問題に対し最適性の必要条件を考えると、s についての方程式
【数10】
の解s*について、(4) 式の最適解は、
【数11】
となる。上記方程式の左辺は広義において単調減少、右辺は単調増加であるため、この方程式は高々一つの解を持ち、それは二分法で計算することができる。
また、上記(2) 式および(3) 式におけるηについては、周知の様々な加速法を適用することで、より高速に解を求めることが可能である。
【0067】
最適化処理部13は、以上のように得られた最適解(x*,z*)を最適化情報記憶部33に保存し、最適解の算出処理を終了する。
【0068】
(4)最適解の出力
最適化装置ODの制御部1は、上記最適化処理部13により最適解(x*,z*)が得られると、最適化情報出力処理部14の制御の下、ステップS5において、上記最適化情報記憶部33から上記最適解(x*,z*)を読み出し、読み出された最適解(x*,z*)を入出力I/F部4からオンライン制御装置PFへ出力する。
【0069】
オンライン制御装置PFは、上記最適解(x*,z*)をもとに、ユーザv に対するリソースu の割当処理を行う。
【0070】
(作用・効果)
以上述べたように一実施形態に係る最適化装置ODでは、先ず各v ∈V およびt ∈T に対する確率関数pvt 、各e ∈E およびt ∈T についてエッジe をマッチングしたときの報酬wet 、エッジe が時刻t に使用された場合に対応するリソースu が再使用可能になるまでに要する期間cet をそれぞれパラメータとして取得し、取得された上記各パラメータを用いて定式化された最適化問題(P) を定義する。次に、上記定式化された最適化問題(P) の最適解を求める際に、事前に設定された「仮定」を満足するか否かを判定する。そして、「仮定」を満たすと判定された場合には、上記最適化問題(P) の目的関数を近似した最適化問題(PA) を定義し、さらにこの最適化問題(PA) を変形した最適化問題(CP) を定義して、この最適化問題(CP) をPrimal-Dual Hybrid Gradient method(PDHG法)を用いて解くことにより、リソースu とユーザv の出現確率およびエッジe の報酬wet を制御することが可能な変数x と、マッチング戦略πの両方を、同時に最適解として求める。一方、「仮定」を満たさないと判定された場合には、上記最適化問題(P) をヒューリスティック解法や近似解法等を用いて解くことにより、最適解を求めるようにしている。
【0071】
従って一実施形態によれば、最適解として、リソースu とユーザv の出現確率およびエッジe の報酬wet を制御することが可能な変数x と、マッチング戦略πの両方を、同時に求めることができる。
【0072】
また、上記最適化装置ODにより求めた最適解をオンライン制御装置PFに提供することで、オンライン制御装置PFは、例えば、タスクを逐次出現するワーカに割り振るクラウドソーシング、空車状態のタクシーを逐次出現するユーザに割り当てるタクシー配車サービス等を効率的に運用することができ、これによりオンラインサービスの利益向上を図ることが可能となる。
【0073】
[その他の実施形態]
前記一実施形態では、最適化装置ODをオンライン制御装置PFに対し別の装置として設けた場合を例にとって説明した。しかし、この発明はそれに限るものではなく、例えば最適化装置ODをオンライン制御装置PF内の機能の一つとして動作するように設けてもよい。また、オンライン制御装置PFがそのサービスの種類に応じて複数存在する場合に、最適化装置ODと上記複数のオンライン制御装置PFとの間をネットワークを介してそれぞれ接続することで、複数のオンライン制御装置PFが1台の最適化装置ODを共有するように構成してもよい。
【0074】
その他、最適化装置のハードウェア構成と機能構成、最適化装置の処理手順と処理内容、オンラインマッチングを適用した応用システムにおけるオンラインサービスの種類とその内容等についても、この発明の要旨を逸脱しない範囲で種々変形して実施することができる。
【0075】
以上、この発明の実施形態を詳細に説明してきたが、前述までの説明はあらゆる点においてこの発明の例示に過ぎない。この発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、この発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。
【0076】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【符号の説明】
【0077】
OD…最適化装置
PF…オンライン制御装置
NW…ネットワーク
TM1~TMn…ユーザ端末
1…制御部
2…プログラム記憶部
3…データ記憶部
4…入出力I/F部
5…バス
11…パラメータ取得処理部
12…定式化処理部
13…最適化処理部
14…最適化情報出力処理部
31…パラメータ記憶部
32…定式化情報記憶部
33…最適化情報記憶部