(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】最適化方法、最適化装置、及びプログラム
(51)【国際特許分類】
G06N 99/00 20190101AFI20241217BHJP
【FI】
G06N99/00 180
(21)【出願番号】P 2023532875
(86)(22)【出願日】2021-07-05
(86)【国際出願番号】 JP2021025312
(87)【国際公開番号】W WO2023281576
(87)【国際公開日】2023-01-12
【審査請求日】2023-10-23
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】引間 友也
(72)【発明者】
【氏名】赤木 康紀
(72)【発明者】
【氏名】金 秀明
(72)【発明者】
【氏名】倉島 健
(72)【発明者】
【氏名】戸田 浩之
【審査官】新井 則和
(56)【参考文献】
【文献】米国特許出願公開第2020/0240257(US,A1)
【文献】米国特許出願公開第2019/0079846(US,A1)
【文献】HIKIMA, Yuya, et al.,Integrated Optimization of Bipartite Matching and Its Stochastic Behavior: New Formulation and Approximation Algorithm via Min-cost Flow Optimization,Proceedings of the AAAI Conference on Artificial Intelligence, Vol.35, No.5: AAAI-21 Technical Tracks 5,2021年05月18日,Pages 3796-3805, [online], [検索日 2024.08.02], Retrieved from the Internet: <url: https://ojs.aaai.org/index.php/AAAI/issue/view/389>,ISSN: 2374-3468
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
(57)【特許請求の範囲】
【請求項1】
確率的に
逐次的に出現する第1のノード
の集合を表す第1のノード集合Uと、与えられた第2のノード集合Vとの間のマッチング問題
であるオンラインマッチング問題を最適化する最適化方法であって、
第1のノードu∈Uの出現確率を表す確率関数p
uと、第1のノードu∈Uと第2のノードv∈Vとをマッチングしたときの価値w
uvとを入力する入力手順と、
前記確率関数p
uと前記価値w
uvとを用いて、前記確率関数p
uを制御するための制御変数x
uと前記価値w
uvとで決定される利益を最大化する問題を表す第1の最適化問題を定式化する定式化手順と、
前記確率関数p
uの特徴に応じて、前記第1の最適化問題を解くことで、前記利益を最大化する前記制御変数x
uの最適値の組x
*=(x
u
*)
u∈Uを少なくとも算出する最適化手順と、
をコンピュータが実行
し、
前記第1の最適化問題は、前記制御変数x
u
の値の組x=(x
u
)
u∈U
と、前記マッチングの戦略πと、予め決められた回数の試行を繰り返すときにおける各試行のそれぞれで出現する一の第1のノードu∈Uと前記各試行における前記一の第1のノードuの出現順とを規定する事象Aと、が与えられたときに、前記制御変数x
u
の値の組xの下で前記事象Aが発生する確率P(A|x)に関する前記利益を表す関数f(x,π,A)の期待値を最大化する問題であり、
前記最適化手順は、
前記戦略の最適値π
*
を更に算出する、最適化方法。
【請求項2】
前記最適化手順は、
前記第1の最適化問題の目的関数を近似する関数を用いて、前記第1の最適化問題を第2の最適化問題に変形し、前記第2の最適化問題を解くことで、前記制御変数x
uの最適値の組x
*を少なくとも算出する、請求項1に記載の最適化方法。
【請求項3】
前記最適化手順は、
すべての第1のノードu∈Uに対して、p
u(x
u)→0(x
u→∞)、かつ、1-p
u(x
u)がmonotone hazard rate functionで、更にp
u(x
u)が全単射であるという仮定を満たす場合、前記第2の最適化問題を最小凸費用流問題に変形し、前記最小凸費用流問題を解くことで、前記制御変数x
uの最適値の組x
*を少なくとも算出する、請求項2に記載の最適化方法。
【請求項4】
前記最適化手順は、
前記仮定を満たさない場合、前記第2の最適化問題を、ベイズ最適化及びシミュレーテッドアニーリングを含むヒューリスティック解法により解くことで、前記制御変数x
uの最適値の組x
*を少なくとも算出する、請求項3に記載の最適化方法。
【請求項5】
確率的に
逐次的に出現する第1のノード
の集合を表す第1のノード集合Uと、与えられた第2のノード集合Vとの間のマッチング問題
であるオンラインマッチング問題を最適化する最適化装置であって、
第1のノードu∈Uの出現確率を表す確率関数p
uと、第1のノードu∈Uと第2のノードv∈Vとをマッチングしたときの価値w
uvとを入力する入力部と、
前記確率関数p
uと前記価値w
uvとを用いて、前記確率関数p
uを制御するための制御変数x
uと前記価値w
uvとで決定される利益を最大化する問題を表す第1の最適化問題を定式化する定式化部と、
前記確率関数p
uの特徴に応じて、前記第1の最適化問題を解くことで、前記利益を最大化する前記制御変数x
uの最適値の組x
*=(x
u
*)
u∈Uを少なくとも算出する最適化部と、
を有
し、
前記第1の最適化問題は、前記制御変数x
u
の値の組x=(x
u
)
u∈U
と、前記マッチングの戦略πと、予め決められた回数の試行を繰り返すときにおける各試行のそれぞれで出現する一の第1のノードu∈Uと前記各試行における前記一の第1のノードuの出現順とを規定する事象Aと、が与えられたときに、前記制御変数x
u
の値の組xの下で前記事象Aが発生する確率P(A|x)に関する前記利益を表す関数f(x,π,A)の期待値を最大化する問題であり、
前記最適化部は、
前記戦略の最適値π
*
を更に算出する、最適化装置。
【請求項6】
コンピュータに、請求項1乃至
4の何れか一項に記載の最適化方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、最適化方法、最適化装置、及びプログラムに関する。
【背景技術】
【0002】
オンライン確率マッチングは、様々な応用を持つ最適化問題として知られている。これは、ある二部グラフG=(U,V,E)に関する特殊なマッチング問題である。この問題は、ノード集合Vは事前に知っているがノード集合Uを事前には知らない状況の下、逐次的に出現するu∈Uに対してv∈Vを割り当てていく(つまり、v∈Vとu∈Uの間をある重みを持つエッジeuv∈Eで接続する)というものである。応用の例としては、インターネット広告割当がある。与えられた広告枠v∈Vを、事前にはどのWebサイトに出現するかは分からないWebサイト閲覧者u∈Uに割り当てるというものである。また、インターネットを介して逐次出現するワーカu∈Uにタスクv∈Vを割り当てるクラウドソーシング、逐次出現する注文者u∈Uにタクシーv∈Vを割り当てるタクシー配車プラットフォーム等も応用に含まれる。
【0003】
ここで、オンライン確率マッチングでは、各ノードu∈Uの出現確率を制御できる変数xを考えることがある。このような変数xは多くの応用で共通に現れる。例えば、クラウドソーシングでは、ワーカu∈Uは賃金や報酬等を表す変数xの値に応じて確率的に出現すると考えることができる。また、例えば、タクシー配車プラットフォームでは、注文者u∈Uは運賃を表す変数xの値に応じて確率的に出現すると考えることができる。
【0004】
各ノードu∈Uの出現確率を制御できる変数xを導入したオンライン確率マッチングの従来技術として、非特許文献1や非特許文献2等に記載されている技術が挙げられる。非特許文献1にはクラウドソーシングにおける価格最適化技術が記載されており、非特許文献2には商品の売買市場における価格最適化技術が記載されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】Yaron Singer and Manas Mittal. Pricing mechanisms for crowdsourcing markets. In WWW, pp. 1157-1166, 2013.
【文献】Moshe Babaioff, Shaddin Dughmi, Robert Kleinberg, and Aleksandrs Slivkins. Dynamic pricing with limited supply. ACM Trans. Econ. Comput., Vol.3, No.1, March 2015.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、非特許文献1及び2に記載されている従来技術には以下の2つの問題点がある。
【0007】
(1)各エッジが均一な重みを持つ完全二分グラフのみを対象としている。
【0008】
(2)各ノードの出現確率が共通しており、それらを制御する変数xは1次元である。
【0009】
これら2つの問題点により、各応用において最終的に得られる利益の低下を引き起こしてしまうと考えられる。なお、利益とは、クラウドソーシングやタクシー配車プラットフォーム等のサービス提供者が得る利益(例えば、ワーカにタスクを実行させることによって得られる報酬とワーカに支払う賃金との差の総和、注文者から得られる運賃とタクシーによる輸送コストとの差の総和等)のことである。
【0010】
本発明の一実施形態は、上記の点に鑑みてなされたもので、オンライン確率マッチングの利益を向上させることを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、一実施形態に係る最適化方法は、確率的に出現する第1のノード集合Uと、与えられた第2のノード集合Vとの間のマッチング問題を最適化する最適化方法であって、第1のノードu∈Uの出現確率を表す確率関数puと、第1のノードu∈Uと第2のノードv∈Vとをマッチングしたときの価値wuvとを入力する入力手順と、前記確率関数puと前記価値wuvとを用いて、前記確率関数puを制御するための制御変数xuと前記価値wuvとで決定される利益を最大化する問題を表す第1の最適化問題を定式化する定式化手順と、前記確率関数puの特徴に応じて、前記第1の最適化問題を解くことで、前記利益を最大化する前記制御変数xuの最適値の組x*=(xu
*)u∈Uを少なくとも算出する最適化手順と、をコンピュータが実行する。
【発明の効果】
【0012】
オンライン確率マッチングの利益を向上させることができる。
【図面の簡単な説明】
【0013】
【
図3】本実施形態に係る最適化問題の機能構成の一例を示す図である。
【
図4】本実施形態に係る最適化処理の流れの一例を示すフローチャートである。
【
図5】本実施形態に係る最適化問題の解算出処理の流れの一例を示すフローチャートである。
【
図6】本実施形態に係る最適化装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の一実施形態について説明する。本実施形態では、オンライン確率マッチングの利益を向上させることができる最適化装置10について説明する。
【0015】
<本実施形態の理論的構成>
本実施形態の理論的構成について説明する。
【0016】
≪従来技術の問題点≫
上述したように、非特許文献1及び2に記載されている従来技術には以下の2つの問題点がある。
【0017】
(1)各エッジが均一な重みを持つ完全二分グラフのみを対象としている。
【0018】
(2)各ノードの出現確率が共通しており、それらを制御する変数xは1次元である。
【0019】
まず、(1)に記載した問題点について説明する。実際の応用では各エッジが異なる重みを持つ場合が多い。例えば、クラウドソーシングにおいては、各エッジの重みは、当該エッジで接続されるワーカとタスクの相性等を表すことになるが、ワーカとタスクの組み合わせごとに相性の良さは変化すると考えられる。また、タクシー配車プラットフォームにおいては、各エッジの重みは注文者とタクシーの間の距離等を表すことになるが、注文者とタクシーの組み合わせごとに距離は変化すると考えられる。更に、実際の応用では完全二分グラフで表現できない場合も多い。このため、これらを考慮せずに、上記の(1)の制約の下で変数xやマッチングの最適化を行ってしまうと、サービス提供者が最終的に得られる利益の低下を引き起こしてしまうと考えられる。
【0020】
次に、(2)に記載した問題点について説明する。実際の応用では各ノードu∈Uの同一の出現確率で出現するとは限らないし、その出現確率を制御する変数xも1つとは限らない。例えば、クラウドソーシングにおいては、高いスキルを持つワーカと一般的なスキルを持つワーカの出現確率は異なると考えられる。また、より高いスキルを持つワーカに対して賃金を多く支払うといったことも行われる。このため、これらを考慮せずに、上記の(2)の制約の下で変数xやマッチングの最適化を行ってしまうと、同様に、サービス提供者が最終的に得られる利益の低下を引き起こしてしまうと考えられる。
【0021】
そこで、本実施形態では、上記の(1)及び(2)の制約を取り除いた最適化問題を定式化した上で、この最適化問題に対して、(1-1/e)の近似率が保証される近似解法を提案する。
【0022】
≪問題設定及び定式化≫
まず、上記の(1)及び(2)の制約を取り除いた問題設定を考える。例えば、
図1に示すように、V={v
1,v
2,v
3,v
4}、U={u
1,u
2,u
3}、ノードu∈Uの出現確率を制御する変数をx
u、ノードu∈Uの出現確率をp
u(x
u)、ノードv∈Vとノードu∈Uを接続するエッジe
uv∈Eの重みをw
uv+x
uとする。なお、
図1では|V|=4、|U|=3であるが、これは一例であって、|V|及び|U|は任意の自然数を取り得る。
【0023】
このとき、以下の手順1及び2を実行した際に、最終的に最も多くの利益が得られるようなx=(x
u)
u∈Uと(v,u)のマッチング方法(以下、マッチング戦略ともいう。)とを決定することが目的である。なお、
図1に示すように、ノードの非出現確率(つまり、どのノードuも出現しない確率)は、p
u(x
u)の和を1から引いた値となる。
【0024】
手順1:変数x=(xu)u∈Uを決定する。
【0025】
手順2:以下の(a)~(c)の試行をn回(nは予め決められた自然数)繰り返す。
【0026】
(a)出現確率pu(xu)に従ってノードui∈Uを出現させる。このとき、現れるノードuiは最大1つまでで、1つも出現しない場合もある。ノードuiが出現した場合は(b)に進み、出現しなかった場合は当該試行を終える。
【0027】
(b)上記の(a)で出現した各ノードuiについて、マッチング戦略に従って、ノードuiをノードv∈Vとマッチングさせて利益wuv+xuを得る。なお、このとき、ノードuiがいずれのノードv∈Vともマッチングされないこともあり得る。ノードuiがいずれのノードv∈Vともマッチングされなかった場合は利益wuv+xuは得られない。
【0028】
(c)上記の(b)でマッチングされた(u,v)におけるノードvを削除する。
【0029】
なお、例えば、クラウドソーシングにおいては、ノードu∈Uはワーカ、ノードv∈Vはタスクであり、wuvはワーカuにタスクvを実行させることによって得られる報酬(正の値)、xuはワーカuに支払う賃金(負の値)とすること等が挙げられる。また、例えば、タクシー配車プラットフォームにおいては、ノードu∈Uは注文者、ノードv∈Vはタクシーであり、wuvは注文者uを目的地までに輸送する際に必要なガソリン等の輸送コスト(負の値)、xuは注文者uから得られる運賃(正の値)とすること等が挙げられる。
【0030】
最終的に最も多くの利益が得られるようなxとマッチング戦略は、以下の最適化問題(P)を解くことで得られる。
【0031】
【数1】
ここで、πはマッチング戦略であり、逐次的に出現したノードu∈Uに対するマッチングを決める法則(つまり、当該ノードuに対してどのv∈Vをマッチングさせるか(いずれのv∈Vもマッチングされない場合も含む)を表す法則)を表す。Aは上記の手順2の試行の1つの事象であり、出現するノードu∈Uとその出現順序とを規定するものである。P(A|x)はあるxの下で事象Aが発生する確率を表している。f(x,π,A)は、ある(x,π,A)の下で、手順2を行うことで得られる利益(つまり、手順2の(b)で得られる利益の総和)を表している。
【0032】
すなわち、上記の最適化問題(P)は、各ノードu∈Uの出現確率を制御する変数xとマッチング戦略πによって得られる利益の期待値を最大化する問題である。
【0033】
≪最適化問題(P)の解法≫
上記の最適化問題(P)を解くことで、最適な変数x=(xu)u∈Uとマッチング戦略πを決定することができる。最適化問題(P)を解く際には、その最適解や近似解を導出できるものであれば任意の最適化手法を用いることができる。例えば、遺伝的アルゴリズムやベイズ最適化等によって解を求めてもよいし、今後、新たに提案されたアルゴリズム等を用いてもよい。
【0034】
しかしながら、最適化問題(P)を現実的な時間内に解くことができる従来手法が現状は存在しないため、以下に近似解法を提案する。この近似解法は共通の手続き2-1を終えた後、以下の仮定1が満たされるか否かに応じて手続き2-2a又は2-2bのいずれかに分岐する。
【0035】
仮定1:すべてのu∈Uについて、pu(xu)→0(xu→∞)、かつ、1-pu(xu)がmonotone hazard rate functionである。また、pu(xu)は全単射である。
【0036】
この仮定1は、puとして正規分布、一様分布、指数分布の相補累積分布関数等を含んでいるため、弱い仮定である。
【0037】
なお、qu(xu):=1-pu(xu)として、(q'u(xu))/(1-qu(xu))がxuに関して単調非増加であるとき、qu(xu)はxuに関するmonotone hazard rate functionであるという。
【0038】
・手続き2-1:関数maxπEA~P(・|x)[f(x,π,A)]の近似
まず、関数maxπEA~P(・|x)[f(x,π,A)]を近似する関数を与える。あるxについて、以下の参考文献に記載されているマッチング戦略をπH(x)とする。
【0039】
参考文献:Brian Brubach, Karthik Abinav Sankararaman, Aravind Srinivasan, Pan Xu, Online Stochastic Matching: New Algorithms and Bounds, arXiv:1606.06395v4 [cs.DS]
より詳細には、上記の参考文献の「5 Non-integral arrival rates with stochastic rewards.」に記載されている「Algorithm 9: SM」で実現されるマッチング戦略をπH(x)とする。この参考文献に記載されている「Algorithm 9: SM」では、当該参考文献中の式(13)~(16)に示される最適化問題(線形計画問題)を解き、それに基づいてマッチングの戦略を決定している。
【0040】
また、以下の線形計画問題の最適値をL*(x)とする。
【0041】
【数2】
この線形計画問題は、上記の参考文献中の式(13)~(16)に示される最適化問題において、すべてのエッジe=(u,v)に関して、p
e=1とし、f
eをz
e、r
vをp
v(x)としたものに相当する。なお、上記の参考文献では、本実施形態とはuとvの役割が逆であることに留意されたい。
【0042】
したがって、このとき、上記の参考文献の「Theorem 4.」により、以下の不等式が成り立つ。なお、この「Theorem 4.」では「Algorithm 9: SM」が(1-1/e)近似のマッチング戦略となることが示されている。
【0043】
【数3】
よって、x
*:=argmax
xL
*(x)、π
*:=π
H(x
*)とすれば、(x
*,π
*)は最適化問題(P)の1-1/e近似解となる。
【0044】
最適化問題maxxL*(x)は以下のように書き表すことができる。
【0045】
【数4】
この最適化問題(AP)を解くことで得られたx
*によって、最適化問題(P)に対する1-1/e近似解を求めることができる。そこで、以下では、最適化問題(AP)を高速に解き、その近似解を得ることを考える。本実施形態では、上記の仮定1が満たされるか否かに応じて異なる方法により最適化問題(AP)を解く。
【0046】
・手続き2-2a:仮定1が満たされる場合の最適化問題(AP)の解法
仮定1が満たされる場合、最適化問題(AP)の1つ目の制約はある最適解x*において必ず等式が成り立つため、最適化問題(AP)において
【0047】
【0048】
【0049】
上記の数6に示す問題の最適解z*=(zuv
*)u∈U,v∈Vについて、
【0050】
【数7】
としたとき、(x
*,z
*)=(p
*,z
*)が最適化問題(AP)の最適解となる。ここで、p
*=(p
u(x
u
*))
u∈Uである。
【0051】
このとき、新たな添え字s,tを用意する。すべてのuについてzsu:=Σvzuvとし、すべてのvについてzvt:=Σuzuvとする。zstをスラック変数として用意すると、上記の数6に示す問題は以下のように書き直すことができる。
【0052】
【数8】
この最適化問題(FP)は容量制約付きの最小費用流問題である。一例として、|U|=2、|V|=3の場合に上記の最適化問題(FP)を容量制約付きの最小費用流問題として図示したものを
図2に示す。
【0053】
このとき、仮定1により、最適化問題(FP)の目的関数は凸関数となることが示せる。このため、最適化問題(FP)は容量制約付きの最小凸費用流問題となり、既存解法により高速に解くことができる。
【0054】
・手続き2-2b:仮定1が満たされない場合の最適化問題(AP)の解法
仮定1が満たされない場合(つまり、出現確率pu(xu)が仮定1を満たさない一般的な関数である場合)、最適化問題(AP)は非凸な最適化問題となる。よって、ベイズ最適化やシミュレーテッドアニーリング等のヒューリスティック解法や近似解法を用いることで、最適化問題(AP)の最適解又は近似解を求めることができる。
【0055】
<最適化装置10の機能構成>
本実施形態に係る最適化装置10の機能構成を
図3に示す。
図3に示すように、本実施形態に係る最適化装置10は、入力部101と、定式化部102と、最適化部103と、出力部104とを有する。
【0056】
入力部101は、最適化装置10に与えられた各種パラメータ(ノードuの持つ確率関数pu(xu)、ノードuとノードvをマッチングしたときの価値wuv)を入力する。なお、入力部101は、これらの各種パラメータを任意の入力元から入力すればよい。例えば、入力部101は、これらの各種パラメータを補助記憶装置等から読み出すことで入力してもよいし、通信ネットワーク等を介して接続された他の装置等から受信することで入力してもよいし、ユーザ等の入力操作を受け付けることで入力してもよい。
【0057】
定式化部102は、入力部101によって入力された各種パラメータを用いて、最適化問題(P)を定式化する。
【0058】
最適化部103は、定式化部102によって定式化された最適化問題(P)の近似解を算出する。このとき、最適化部103は、最適化問題(P)を最適化問題(AP)に変形した上で、仮定1が満たされるか否かに応じて手続き2-2a又は2-2bのいずれかにより近似解を算出する。
【0059】
出力部104は、最適化部103によって算出された近似解を出力する。なお、出力部104は、任意の出力先に近似解を出力すればよい。例えば、出力部104は、近似解を補助記憶装置等に出力(保存)してもよいし、通信ネットワーク等を介して接続される他の装置等に出力(送信)してもよいし、ディスプレイ等の表示装置に出力(表示)してもよい。
【0060】
なお、
図3に示す例では、各機能部を1つの最適化装置10が有している場合を示したが、これに限られず、各機能部を複数台の装置が分散して有していてもよい。例えば、定式化装置と最適化装置の2台の装置が存在し、定式化部102を定式化装置が有しており、最適化部103を最適化装置が有していてもよい。
【0061】
<最適化処理の流れ>
本実施形態に係る最適化装置10が実行する最適化処理の流れについて
図4を参照しながら説明する。
【0062】
まず、入力部101は、最適化装置10に与えられた各種パラメータ(ノードuの持つ確率関数pu(xu)、ノードuとノードvをマッチングしたときの価値wuv)を入力する(ステップS101)。
【0063】
次に、定式化部102は、上記のステップS101で入力された各種パラメータを用いて、最適化問題(P)を定式化する(ステップS102)。
【0064】
次に、最適化部103は、上記のステップS102で定式化された最適化問題(P)の近似解を算出する(ステップS103)。このステップS103の処理の流れの詳細については後述する。
【0065】
そして、出力部104は、上記のステップS103で算出された近似解を出力する(ステップS104)。
【0066】
ここで、上記のステップS103の処理の流れの詳細について
図5を参照しながら説明する。
【0067】
まず、最適化部103は、上記のステップS102で定式化された最適化問題(P)を最適化問題(AP)に変形する(ステップS201)。すなわち、最適化部103は、上記の手続き2-1により、最適化問題(P)を最適化問題(AP)に変形する。
【0068】
次に、最適化部103は、上記の仮定1が満たされるか否かを判定する(ステップS202)。すなわち、最適化部103は、確率関数pu(xu)が仮定1を満たすか否かを判定する。
【0069】
上記のステップS202で仮定1が満たされると判定された場合、最適化部103は、最適化問題(AP)を最適化問題(FP)に変形し、最小凸費用流問題に対する既存解法により解を算出する(ステップS203)。すなわち、最適化部103は、上記の手続き2-2aにより解を算出する。これにより、最適化問題(FP)の最適解z*が得られるため、最適化問題(AP)の最適解(p*,z*)が得られ、その結果、最適化問題(P)の最適解(x*,π*)が得られる。なお、上述したように、この最適解(x*,π*)は、最適化問題(P)の1-1/e近似解となる。
【0070】
一方で、上記のステップS202で仮定1が満たされると判定されなかった場合、最適化部103は、最適化問題(AP)をヒューリスティック解法や近似解法により解を算出する(ステップS204)。すなわち、最適化部103は、上記の手続き2-2bにより解を算出する。
【0071】
以上のように、本実施形態に係る最適化装置10は、上記の(1)及び(2)の制約を取り除いた最適化問題(P)を定式化した上で、上記の仮定1が満たされる場合は、この最適化問題(P)に対して、(1-1/e)の近似率が保証される解を算出する。これにより、最適化問題(P)として定式化可能なオンライン確率マッチングの応用例(例えば、クラウドソーシングやタクシー配車プラットフォーム等)において、サービス提供者の利益を向上させることができるようになる。
【0072】
なお、本実施形態に係る最適化装置10は、最適化問題(P)の解(x*,π*)を算出するだけでなく、例えば、クラウドソーシングやタクシー配車プラットフォーム等を実現するサーバやシステム等に対して解(x*,π*)を設定する機能を有していてもよい。また、本実施形態に係る最適化装置10は、例えば、クラウドソーシングやタクシー配車プラットフォーム等を実現するサーバやシステム等の一部として組み込まれており、最適化問題(P)の解(x*,π*)に基づいて実際のマッチングを行う機能を有していてもよい。
【0073】
<最適化装置10のハードウェア構成>
本実施形態に係る最適化装置10のハードウェア構成を
図6に示す。
図6に示すように、本実施形態に係る最適化装置10は一般的なコンピュータ又はコンピュータシステムのハードウェア構成で実現され、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、プロセッサ205と、メモリ装置206とを有する。これら各ハードウェアは、それぞれがバス207を介して通信可能に接続されている。
【0074】
入力装置201は、例えば、キーボードやマウス、タッチパネル、物理ボタン等である。表示装置202は、例えば、ディスプレイや表示パネル等である。なお、最適化装置10は、例えば、入力装置201及び表示装置202のうちの少なくとも一方を有していなくてもよい。
【0075】
外部I/F203は、記録媒体203a等の外部装置とのインタフェースである。最適化装置10は、外部I/F203を介して、記録媒体203aの読み取りや書き込み等を行うことができる。記録媒体203aには、例えば、最適化装置10の各機能部(入力部101、定式化部102、最適化部103及び出力部104)を実現する1以上のプログラムが格納されていてもよい。なお、記録媒体203aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
【0076】
通信I/F204は、最適化装置10を通信ネットワークに接続するためのインタフェースである。なお、最適化装置10の各機能部を実現する1以上のプログラムは、通信I/F204を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
【0077】
プロセッサ205は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。最適化装置10の各機能部は、例えば、メモリ装置206に格納されている1以上のプログラムがプロセッサ205に実行させる処理により実現される。
【0078】
メモリ装置206は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
【0079】
本実施形態に係る最適化装置10は、
図6に示すハードウェア構成を有することにより、上述した最適化処理を実現することができる。なお、
図6に示すハードウェア構成は一例であって、最適化装置10は、他のハードウェア構成を有していてもよい。例えば、最適化装置10は、複数のプロセッサ205を有していてもよいし、複数のメモリ装置206を有していてもよいし、
図6に示したハードウェア以外の種々のハードウェアを有していてもよい。
【0080】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0081】
10 最適化装置
101 入力部
102 定式化部
103 最適化部
104 出力部
201 入力装置
202 表示装置
203 外部I/F
203a 記録媒体
204 通信I/F
205 プロセッサ
206 メモリ装置
207 バス