IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アマデウス エス.アー.エス.の特許一覧

特許7486507インベントリの管理および最適化のための強化学習システムおよび強化学習方法
<>
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図1
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図2
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図3
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図4
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図5
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図6A
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図6B
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図7
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図8A
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図8B
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図9
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図10
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図11
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図12
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図13
  • 特許-インベントリの管理および最適化のための強化学習システムおよび強化学習方法 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-09
(45)【発行日】2024-05-17
(54)【発明の名称】インベントリの管理および最適化のための強化学習システムおよび強化学習方法
(51)【国際特許分類】
   G06Q 10/04 20230101AFI20240510BHJP
   G06Q 10/02 20120101ALI20240510BHJP
【FI】
G06Q10/04
G06Q10/02
【請求項の数】 15
(21)【出願番号】P 2021547890
(86)(22)【出願日】2019-10-21
(65)【公表番号】
(43)【公表日】2022-01-20
(86)【国際出願番号】 EP2019078491
(87)【国際公開番号】W WO2020088962
(87)【国際公開日】2020-05-07
【審査請求日】2022-07-22
(31)【優先権主張番号】1860075
(32)【優先日】2018-10-31
(33)【優先権主張国・地域又は機関】FR
(73)【特許権者】
【識別番号】509228994
【氏名又は名称】アマデウス エス.アー.エス.
【氏名又は名称原語表記】AMADEUS S.A.S.
【住所又は居所原語表記】485 Route du Pin Montard,Sophia Antipolis,F-06410 Biot,France
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ロドリゴ・アレハンドロ・アクーニャ・アゴスト
(72)【発明者】
【氏名】トマ・フィグ
(72)【発明者】
【氏名】ニコラ・ボンドゥ
(72)【発明者】
【氏名】アン-チャン・グエン
【審査官】加舎 理紅子
(56)【参考文献】
【文献】米国特許出願公開第2017/0140269(US,A1)
【文献】RUBEN FISZEL,REINFORCEMENT LEARNING AND DQN, LEARNING TO PLAY FROM PIXELS,[ONLINE],2016年08月24日,PAGE(S):1-25,https://rubenfiszel.github.io/posts/rl4j/2016-08-24-Reinforcement-Learning-and-DQN.html
【文献】VOLODYMYR MNIH; ET AL,HUMAN-LEVEL CONTROL THROUGH DEEP REINFORCEMENT LEARNING,NATURE,2015年02月25日,VOL:518, NR:7540,PAGE(S):529-533,https://doi.org/10.1038/nature14236
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
そこから生成される収益を最適化しようと努めながら、販売範囲を有する消滅性リソースのインベントリを管理するためのシステム内のリソース管理エージェントに対する強化学習の、コンピュータによって実装される方法であって、前記インベントリが、前記消滅性リソースの残量と前記販売範囲の残りの期間と含む関連する状態を有し、前記方法が、
前記関連する状態に対して複数のアクションを生成するステップであって、各アクションが、前記インベントリ内に残っている消滅性リソースに関する価格設定スケジュールを定義するデータを公開することを含む、生成するステップと、
前記複数のアクションに応じて、対応する複数の観測を受信するステップであって、各観測が、前記関連する状態の遷移と、前記消滅性リソースの販売から生成される収益の形の関連するリワードとを含む、受信するステップと、
前記受信された観測をリプレイメモリストア内に記憶するステップと、
ニューラルネットワークをトレーニングするために、優先順位付けされたリプレイサンプリングアルゴリズムに従って観測の無作為化されたバッチを前記リプレイメモリストアから周期的にサンプリングするステップであって、トレーニングエポックを通して、前記無作為化されたバッチ内の観測の選択に対する確率分布が、最終状態に近い遷移に対応する観測の選択を優先する分布から初期状態に近い遷移に対応する観測の選択を優先する分布に向かって漸進的に適応される、周期的にサンプリングするステップと、
入力インベントリ状態および入力アクションが前記ニューラルネットワークに与えられて、前記ニューラルネットワークが、与えられた前記インベントリ状態に関連付けられた与えられた前記アクションを生成する真の値を密に近似する値を出力したとき、前記ニューラルネットワークによって出力された値を前記真の値により密に近似するように、前記リソース管理エージェントのアクション値関数近似器を備えた前記ニューラルネットワークの重みパラメータを更新するために、観測の各無作為化されたバッチを使用するステップと
を含み、
前記ニューラルネットワークが、前記インベントリの関連する状態に対して生成され前記複数のアクションの各々を選択するために使用され得る、
方法。
【請求項2】
前記ニューラルネットワークがディープニューラルネットワークである、請求項1に記載の方法。
【請求項3】
既存の収益管理システムに関連する値関数を決定するステップであって、前記値関数が、前記関連する状態を対応するアクションの推定値にマッピングする、決定するステップと、
前記値関数を、前記リソース管理エージェントに適応された、対応する変換されたアクション値関数に変換するステップであって、時間ステップサイズを前記リソース管理エージェントに関連する時間ステップに整合させ、アクションディメンションを前記値関数に追加するステップを含む、変換するステップと、
前記ニューラルネットワークに対するトレーニングデータセットを生成するために、前記変換されたアクション値関数をサンプリングするステップと、
前記トレーニングデータセットを使用して、前記ニューラルネットワークをトレーニングするステップと
によって、前記ニューラルネットワークを初期化するステップをさらに含む、請求項1または2に記載の方法。
【請求項4】
前記ニューラルネットワークを使用するアクション値関数近似と、前記アクション値関数の表形式表現に基づくQ学習手法とを切り替えるように前記リソース管理エージェントを構成するステップであって、前記切り替えが、
各状態およびアクションに対して、前記ニューラルネットワークを使用して対応するアクション値を計算し、アクション値ルックアップテーブル内のエントリーに前記計算値をポピュレートするステップと、
前記アクション値ルックアップテーブルを使用して、Q学習動作モードに切り替えるステップと
を含む、構成するステップをさらに含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記切り替えが、
前記ニューラルネットワークに対するトレーニングデータセットを生成するために、前記アクション値ルックアップテーブルをサンプリングするステップと、
前記トレーニングデータセットを使用して、前記ニューラルネットワークをトレーニングするステップと、
前記トレーニングされたニューラルネットワークを使用して、ニューラルネットワーク関数近似動作モデルに切り替えるステップと
をさらに含む、請求項4に記載の方法。
【請求項6】
前記生成されたアクションが市場シミュレータに送信され、観測が前記市場シミュレータから受信される、請求項1から4のいずれか一項に記載の方法。
【請求項7】
前記市場シミュレータが、シミュレートされた需要生成モジュール、シミュレートされた予約システム、および選択シミュレーションモジュールを備える、請求項6に記載の方法。
【請求項8】
前記市場シミュレータが、1つまたは複数のシミュレートされた競合インベントリシステムをさらに備える、請求項7に記載の方法。
【請求項9】
そこから生成される収益を最適化しようと努めながら、販売範囲を有する消滅性リソースのインベントリを管理するためのシステムであって、前記インベントリが、前記消滅性リソースの残量と前記販売範囲の残りの期間と含む関連する状態を有し、前記システムが、
コンピュータ実装されるリソース管理エージェントモジュールと、
前記リソース管理エージェントモジュールのアクション値関数近似器を備えた、コンピュータ実装されるニューラルネットワークモジュールと、
リプレイメモリモジュールと、
コンピュータ実装される学習モジュールと
を備え、
前記リソース管理エージェントモジュールが、
前記関連する状態に対して複数のアクションを生成することであって、各アクションが、前記インベントリに関連する現在の状態を使用して前記ニューラルネットワークモジュールに問い合わせることによって決定され、前記インベントリ内に残っている消滅性リソースに関する価格設定スケジュールを定義するデータを公開することを含む、生成することと、
前記複数のアクションに応じて、対応する複数の観測を受信することであって、各観測が、前記関連する状態における遷移と、前記消滅性リソースの販売から生成される収益の形の関連するリワードとを含む、受信することと、
前記受信された観測を前記リプレイメモリモジュール内に記憶することと
を行うように構成され、
前記学習モジュールが、
ニューラルネットワークをトレーニングするために、優先順位付けされたリプレイサンプリングアルゴリズムに従って観測の無作為化されたバッチを前記リプレイメモリモジュールから周期的にサンプリングすることであって、トレーニングエポックを通して、前記無作為化されたバッチ内の観測の選択に対する確率分布が、最終状態に近い遷移に対応する観測の選択を優先する分布から初期状態に近い遷移に対応する観測の選択を優先する分布に向かって漸進的に適応される、周期的にサンプリングすることと、
入力インベントリ状態および入力アクションが前記ニューラルネットワークに与えられて、前記ニューラルネットワークが、与えられた前記インベントリ状態に関連付けられた与えられた前記アクションを生成する真の値を密に近似する値を出力したとき、前記ニューラルネットワークによって出力された値を前記真の値により密に近似するように、前記ニューラルネットワークモジュールの重みパラメータを更新するために、観測の各無作為化されたバッチを使用することと
を行うように構成される、
システム。
【請求項10】
前記コンピュータ実装されるニューラルネットワークモジュールがディープニューラルネットワークを備える、請求項9に記載のシステム。
【請求項11】
コンピュータ実装される市場シミュレータモジュールをさらに備え、前記リソース管理エージェントモジュールが、前記生成されたアクションを前記市場シミュレータモジュールに送信し、前記対応する観測を前記市場シミュレータモジュールから受信するように構成される、請求項9または10に記載のシステム。
【請求項12】
前記市場シミュレータモジュールが、シミュレートされた需要生成モジュール、シミュレートされた予約システム、および選択シミュレーションモジュールを備える、請求項11に記載のシステム。
【請求項13】
前記市場シミュレータモジュールが、1つまたは複数のシミュレートされた競合インベントリシステムをさらに備える、請求項12に記載のシステム。
【請求項14】
そこから生成される収益を最適化しようと努めながら、販売範囲を有する消滅性リソースのインベントリを管理するためのコンピューティングシステムであって、前記インベントリが、前記消滅性リソースの残量と前記販売範囲の残りの期間と含む関連する状態を有し、前記システムが、
プロセッサと、
前記プロセッサによってアクセス可能な、少なくとも1つのメモリデバイスと、
前記プロセッサによってアクセス可能な通信インターフェースと
を備え、
前記メモリデバイスが、リプレイメモリストアおよび一連のプログラム命令を含有し、前記プログラム命令が、前記プロセッサによって実行されると、前記コンピューティングシステムに、
前記関連する状態に対して複数のアクションを生成するステップであって、各アクションが、前記インベントリ内に残っている消滅性リソースに関する価格設定スケジュールを定義するデータを、前記通信インターフェースを介して公開することを含む、生成するステップと、
前記通信インターフェースを介して、前記複数のアクションに応じて、対応する複数の観測を受信するステップであって、各観測が、前記関連する状態における遷移と、前記消滅性リソースの販売から生成される収益の形の関連するリワードとを含む、受信するステップと、
前記受信された観測を前記リプレイメモリストア内に記憶するステップと、
ニューラルネットワークをトレーニングするために、優先順位付けされたリプレイサンプリングアルゴリズムに従って観測の無作為化されたバッチを前記リプレイメモリストアから周期的にサンプリングするステップであって、トレーニングエポックを通して、前記無作為化されたバッチ内の観測の選択に対する確率分布が、最終状態に近い遷移に対応する観測の選択を優先する分布から初期状態に近い遷移に対応する観測の選択を優先する分布に向かって漸進的に適応される、周期的にサンプリングするステップと、
入力インベントリ状態および入力アクションが前記ニューラルネットワークに与えられて、前記ニューラルネットワークが、与えられた前記インベントリ状態に関連付けられた与えれた前記アクションを生成する真の値を密に近似する値を出力したとき、前記ニューラルネットワークによって出力された値を前記真の値により密に近似するように、リソース管理エージェントのアクション値関数近似器を備えたニューラルネットワークの重みパラメータを更新するために、観測の各無作為化されたバッチを使用するステップと
を含む方法を実装させ、
前記ニューラルネットワークが、前記インベントリの関連する状態対して生成され前記複数のアクションの各々を選択するために使用され得る、
コンピューティングシステム。
【請求項15】
コンピュータプログラムがコンピュータ上で実行されると、請求項1から9のいずれかに記載の方法のステップを実行するためのプログラムコード命令を備える、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インベントリの管理および最適化を改善するための技術的な方法およびシステムに関する。詳細には、本発明の実施形態は、改善された収益管理システムの実装において機械学習技術、具体的には、強化学習を採用する。
【背景技術】
【0002】
インベントリシステムは、たとえば、価格設定および収益管理を通してリソースの可用性、および関連する計算を制御するために、多くの産業において採用されている。インベントリシステムにより、顧客はプロバイダによって提供される利用可能なリソースまたは商品を購入または予約することが可能になる。加えて、インベントリシステムは、プロバイダが、利用可能なリソースを管理し、これらのリソースを顧客に提供する際に収益および利益を最大化することを可能にする。
【0003】
この文脈で、「収益管理」という用語は、消費者行動を予測し、製品提供および価格設定を最適化して収益成長を最大化するためのデータ解析の適用を指す。収益管理および価格設定は、接客業、旅行業、および運送業において特に重要であり、これらの業界はすべて、「消滅性(perishable)インベントリ」、すなわち、部屋または座席など、使われていない空間が、それらの使用範囲が過ぎると回収不能の損失収益を表すことによって特徴付けられる。価格設定および収益管理は、これらの産業の経営者がその事業業績および財務業績を改善し得る最も効果的な方法のうちの1つである。有意には、価格設定は、容量管理および負荷分散における強力な手段である。結果として、ここ数十年は、これらの業界において洗練された自動収益管理システムの開発を経験してきた。
【0004】
例として、航空会社の収益管理システム(RMS:Revenue Management System)は、予約期間(一般に一年)にわたりすべての利用可能な座席から生み出されるフライト収益を最大化するように設計された自動システムである。RMSは、最大収益を達成するために、経時的に座席の可用性および価格設定(航空運賃)に関するポリシーを設定するために使用される。
【0005】
従来のRMSはモデル形成されたシステムであり、すなわち、従来のRMSは、収益および予約のモデルに基づく。モデルは、業務をシミュレートするように具体的に構築され、結果として、多数の仮定、推定、およびヒューリスティックを必然的に具現する。これらは、顧客行動の予測/モデル形成、需要(数量およびパターン)の予測、個々の飛行区間の、ならびにネットワーク全体にわたる座席利用率およびオーバーブッキングの最適化を含む。
【0006】
しかしながら、従来のRMSは、いくつかの欠点および限界を有する。まず、RMSは、無効になり得る仮定に依存する。たとえば、RMSは、将来が過去によって正確に説明されると仮定するが、事業環境(たとえば、新しい競合相手)、需要および消費者の価格感応性におけるシフト、または顧客行動に変化がある場合、これは当てはまらない。このRMSはまた、顧客行動が合理的であると仮定する。加えて、従来のRMSモデルは、競合相手のアクション(action)が顧客行動で暗示的に明らかにされるという仮定の下で、市場を独占として扱う。
【0007】
RMSに対する従来の手法のさらなる欠点は、利用可能な入力データ内のいかなる変更も新しい情報または変更された情報を活用するためにまたは考慮に入れるためにそのモデルが修正または再構築されることを必要とするように、モデルとその入力との間に概して独立性が存在することである。加えて、人間の介入がない場合、モデル形成されたシステムは、そのモデルが基づく履歴データ内の、不十分に表されているか、または表されていない、需要における変更に対応するのに時間がかかる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
したがって、従来のRMSの欠点および限界のうちの1つまたは複数を克服するか、または少なくとも軽減することが可能な改善されたシステムを開発することが望ましいことになる。
【課題を解決するための手段】
【0009】
本発明の実施形態は、機械学習(ML)技術に基づく収益管理のための手法を実装する。この手法は、有利には、収益を最適化するために、推奨される価格設定および/または可用性ポリシーなどの出力を生成するために履歴データおよび実データ(たとえば、インベントリスナップショット)の観測を使用する強化学習(RL)システムを提供することを含む。
【0010】
強化学習は、本発明の実施形態において、システムの現在の状態の観測、すなわち、所定の予約期間にわたる予約および利用可能なインベントリ、に基づいて、より長い期間にわたって収益を最適化するために、任意のある時点で設定されるべきポリシーを決定することなど、連続的な決断問題に適用され得るML技法である。有利には、RLエージェントは、システムの状態の観測だけに基づいてアクションを行い、一連の過去のアクションにおいて達したサクセッサー状態、および強化または「リワード」、たとえば、目的を達成する際にそれらのアクションがどの程度効果的であるかの測度、の形でフィードバックを受信する。RLエージェントは、このようにして、予約期間にわたって収益を最大化するための、設定されるべき価格/運賃および可用性ポリシーなど、目的を達成するために任意の所与の状態で行われる最適アクションを経時的に「学習」する。
【0011】
より具体的には、一態様では、本発明は、そこから生成される収益を最適化しようと努めながら、販売範囲(sales horizon)を有する消滅性リソースのインベントリを管理するためのシステム内のリソース管理エージェントに対する強化学習の方法であって、インベントリが、消滅性リソースの残りの可用性と販売範囲の残りの期間と含む関連する状態を有し、方法が、
複数のアクションを生成するステップであって、各アクションが、インベントリ内に残っている消滅性リソースに関する価格設定スケジュールを定義するデータを公開することを含む、生成するステップと、
複数のアクションに応じて、対応する複数の観測を受信するステップであって、各観測が、インベントリに関連する状態の遷移と、消滅性リソースの販売から生成される収益の形の関連するリワードとを含む、受信するステップと、
受信された観測をリプレイメモリストア内に記憶するステップと、
優先順位付けされたリプレイサンプリングアルゴリズムに従って観測の無作為化されたバッチをリプレイメモリストアから周期的にサンプリングするステップであって、トレーニングエポックを通して、無作為化されたバッチ内の観測の選択に対する確率分布が、最終状態に近い遷移に対応する観測の選択を優先する分布から初期状態に近い遷移に対応する観測の選択を優先する分布に向かって漸進的に適応される、周期的にサンプリングするステップと、
入力インベントリ状態(input inventory state)および入力アクション(input action)が与えられるとき、ニューラルネットワークの出力が入力インベントリ状態にある間に入力アクションの生成の真の値をより密に近似するように、リソース管理エージェントのアクション値関数近似器(action-value function approximator)を備えたニューラルネットワークの重みパラメータを更新するために、観測の各無作為化されたバッチを使用するステップと
を含み、
ニューラルネットワークが、インベントリに関連する対応する状態に応じて生成される複数のアクションの各々を選択するために使用され得る、
方法が提供される。
【0012】
有利には、ベンチマーキングシミュレーションは、そこから学習する観測データが与えられれば、本発明の方法を具現するRLリソース管理エージェントが先行技術のリソース管理システムよりも改善された性能を提供することを実証している。さらに、観測される状態における遷移およびリワードは消滅性リソースに対する市場の何らかの変化とともに変更されることになるため、エージェントは、人間の介入なしに、そのような変更に対応することが可能である。エージェントは、適用するために市場のモデルまたは消費者行動のモデルを必要としない、すなわち、エージェントには、モデルがなく、何の対応する仮定もない。
【0013】
有利には、RLエージェントの初期トレーニングに必要とされるデータ量を低減するために、本発明の実施形態は、深層学習(DL)手法を採用する。具体的には、ニューラルネットワークは、ディープニューラルネットワーク(DNN)であってよい。
【0014】
本発明の実施形態では、ニューラルネットワークは、リソース管理エージェントに対する「ウォームスタート」を提供するために、既存の収益管理システムからの(すなわち、教師あり学習の形で)知識伝達(knowledge transfer)のプロセスによって初期化され得る。知識伝達の方法は、
既存の収益管理システムに関連する値関数を決定するステップであって、値関数が、インベントリに関連する状態を対応する推定値にマッピングする、決定するステップと、
値関数を、リソース管理エージェントに適応された、対応する変換されたアクション値関数に変換するステップであって、時間ステップサイズをリソース管理エージェントに関連する時間ステップに整合させ、アクションディメンション(action dimension)を値関数に追加するステップを含む、変換するステップと、
ニューラルネットワークに対するトレーニングデータセットを生成するために、変換されたアクション値関数をサンプリングするステップと、
トレーニングデータセットを使用して、ニューラルネットワークをトレーニングするステップと
を含み得る。
【0015】
有利には、知識伝達プロセスを採用することによって、リソース管理エージェントは、最適な、または近最適な、ポリシーアクションを学習するために、かなり低減された追加データ量を必要とし得る。当初、少なくとも本発明のそのような実施形態は、同じインベントリ状態に応じて同じアクションを生成するという意味で、そのような実施形態は、既存の収益管理システムと等しく動作する。その後、リソース管理エージェントは、その初期知識が伝達された元の既存の収益管理システムを上回るように学習し得る。
【0016】
いくつかの実施形態では、リソース管理エージェントは、ニューラルネットワークを使用するアクション値関数近似と、アクション値関数の表形式表現に基づくQ学習手法とを切り替えるように構成され得る。具体的には、切替え方法は、
各状態およびアクションに対して、ニューラルネットワークを使用して対応するアクション値を計算し、アクション値ルックアップテーブル内のエントリーに計算値をポピュレートするステップと、
アクション値ルックアップテーブルを使用して、Q学習動作モードに切り替えるステップと
を含み得る。
【0017】
ニューラルネットワークベースのアクション値関数近似に再度切り替えるためのさらなる方法は、
ニューラルネットワークに対するトレーニングデータセットを生成するために、アクション値ルックアップテーブルをサンプリングするステップと、
トレーニングデータセットを使用して、ニューラルネットワークをトレーニングするステップと、
トレーニングされたニューラルネットワークを使用して、ニューラルネットワーク関数近似動作モデル(function approximation operation model)に切り替えるステップと
を含み得る。
【0018】
有利には、ニューラルネットワークベースの関数近似モードと表形式のQ学習動作モードとを切り替える能力を提供することにより、両方の手法の利益が所望されるように取得され得る。具体的には、ニューラルネットワーク動作モードで、リソース管理エージェントは、表形式のQ学習モードと比較したとき、はるかに少量の観測データを使用して変更を学習し適応することが可能であり、経験リプレイ方法を使用して、進行中のトレーニングおよび適応により代替戦略をオンラインで効率的に調査し続けることができる。しかしながら、安定した市場では、表形式のQ学習モードにより、リソース管理エージェントはアクション値表の形で具現された知識をより効果的に活用することが可能であり得る。
【0019】
本発明の実施形態は、インベントリ状態および市場データの実観測を使用してオンラインで動作し、学習し、適応することが可能であるが、有利には、市場シミュレータを使用して一実施形態をトレーニングしベンチマーキングすることも可能である。市場シミュレータは、シミュレートされた需要生成モジュール、シミュレートされた予約システム、および選択シミュレーションモジュールを含み得る。市場シミュレータは、シミュレートされた競合インベントリシステムをさらに含み得る。
【0020】
別の態様では、本発明は、そこから生成される収益を最適化しようと努めながら、販売範囲を有する消滅性リソースのインベントリを管理するためのシステムであって、インベントリが、消滅性リソースの残りの可用性と販売範囲の残りの期間とを含む関連する状態を有し、システムが、
コンピュータ実装されるリソース管理エージェントモジュールと、
リソース管理エージェントのアクション値関数近似器を備えた、コンピュータ実装されるニューラルネットワークモジュールと、
リプレイメモリモジュールと、
コンピュータ実装される学習モジュールと、
を備え、
リソース管理エージェントモジュールが、
複数のアクションを生成することであって、各アクションが、インベントリに関連する現在の状態を使用してニューラルネットワークモジュールに問い合わせることによって決定され、インベントリ内に残っている消滅性リソースに関する価格設定スケジュールを定義するデータを公開することを含む、生成することと、
複数のアクションに応じて、対応する複数の観測を受信することであって、各観測が、インベントリに関連する状態における遷移と、消滅性リソースの販売から生成される収益の形の関連するリワードとを含む、受信することと、
受信された観測をリプレイメモリモジュール内に記憶することと
を行うように構成され、
学習モジュールが、
優先順位付けされたリプレイサンプリングアルゴリズムに従って観測の無作為化されたバッチをリプレイメモリストアから周期的にサンプリングすることであって、トレーニングエポックを通して、無作為化されたバッチ内の観測の選択に対する確率分布が、最終状態に近い遷移に対応する観測の選択を優先する分布から初期状態に近い遷移に対応する観測の選択を優先する分布に向かって漸進的に適応される、周期的にサンプリングすることと、
入力インベントリ状態および入力アクションが与えられるとき、ニューラルネットワークモジュールの出力が入力インベントリ状態にある間に入力アクションの生成の真の値をより密に近似するように、ニューラルネットワークモジュールの重みパラメータを更新するために、観測の各無作為化されたバッチを使用することと
を行うように構成される、
システムが提供される。
【0021】
別の態様では、本発明は、そこから生成される収益の最適化を探索すると同時に、販売範囲を有する消滅性リソースのインベントリを管理するためのコンピューティングシステムであって、インベントリが、消滅性リソースの残りの可用性と販売範囲の残りの期間と含む関連する状態を有し、システムが、
プロセッサと、
プロセッサによってアクセス可能な、少なくとも1つのメモリデバイスと、
プロセッサによってアクセス可能な通信インターフェースと
を備え、
メモリデバイスが、リプレイメモリストアおよび一連のプログラム命令を含有し、プログラム命令が、プロセッサによって実行されると、コンピューティングシステムに、
複数のアクションを生成するステップであって、各アクションが、インベントリ内に残っている消滅性リソースに関する価格設定スケジュールを定義するデータを、通信インターフェースを介して公開することを含む、生成するステップと、
通信インターフェースを介して、複数のアクションに応じて、対応する複数の観測を受信するステップであって、各観測が、インベントリに関連する状態における遷移と、消滅性リソースの販売から生成される収益の形の関連するリワードとを含む、受信するステップと、
受信された観測をリプレイメモリストア内に記憶するステップと、
優先順位付けされたリプレイサンプリングアルゴリズムに従って観測の無作為化されたバッチをリプレイメモリストアから周期的にサンプリングするステップであって、トレーニングエポックを通して、無作為化されたバッチ内の観測の選択に対する確率分布が、最終状態に近い遷移に対応する観測の選択を優先する分布から初期状態に近い遷移に対応する観測の選択を優先する分布に向かって漸進的に適応される、周期的にサンプリングするステップと、
入力インベントリ状態および入力アクションが与えられるとき、ニューラルネットワークの出力が入力インベントリ状態にある間に入力アクションの生成の真の値をより密に近似するように、リソース管理エージェントのアクション値関数近似器を備えたニューラルネットワークの重みパラメータを更新するために、観測の各無作為化されたバッチを使用するステップと
を含む方法を実装させ、
ニューラルネットワークが、インベントリに関連する対応する状態に応じて生成される複数のアクションの各々を選択するために使用され得る、
コンピューティングシステムが提供される。
【0022】
さらに別の態様では、本発明は、命令を記憶した有形コンピュータ可読媒体を備えたコンピュータプログラム製品であって、これらの命令が、プロセッサによって実行されると、そこから生成される収益を最適化しようと努めながら、販売範囲を有する消滅性リソースのインベントリを管理するためのシステム内のリソース管理エージェントに対する強化学習の方法を実装し、インベントリが、消滅性リソースの残りの可用性と販売範囲の残りの期間と含む関連する状態を有し、この方法が、
複数のアクションを生成するステップであって、各アクションが、インベントリ内に残っている消滅性リソースに関する価格設定スケジュールを定義するデータを公開することを含む、生成するステップと、
複数のアクションに応じて、対応する複数の観測を受信するステップであって、各観測が、インベントリに関連する状態の遷移と、消滅性リソースの販売から生成される収益の形の関連するリワードとを含む、受信するステップと、
受信された観測をリプレイメモリストア内に記憶するステップと、
優先順位付けされたリプレイサンプリングアルゴリズムに従って観測の無作為化されたバッチをリプレイメモリストアから周期的にサンプリングするステップであって、トレーニングエポックを通して、無作為化されたバッチ内の観測の選択に対する確率分布が、最終状態に近い遷移に対応する観測の選択を優先する分布から初期状態に近い遷移に対応する観測の選択を優先する分布に向かって漸進的に適応される、周期的にサンプリングするステップと、
入力インベントリ状態および入力アクションが与えられるとき、ニューラルネットワークの出力が入力インベントリ状態にある間に入力アクションの生成の真の値をより密に近似するように、リソース管理エージェントのアクション値関数近似器を備えたニューラルネットワークの重みパラメータを更新するために、観測の各無作為化されたバッチを使用するステップと
を含み、
ニューラルネットワークが、インベントリに関連する対応する状態に応じて生成される複数のアクションの各々を選択するために使用され得る、
コンピュータプログラム製品が提供される。
【0023】
本発明の実施形態のさらなる態様、利点、および特徴は、様々な実施形態の以下の説明から当業者に明らかになるであろう。しかしながら、本発明は、説明する実施形態に限定されず、説明する実施形態は、前述の記述において定義したような本発明の原理を示すために、かつ当業者がこれらの原理を実際の取組みに実施するのを助けるために提供されることを諒解されたい。
【0024】
次に、同様の参照番号が同様の特徴を指す、添付の図面を参照しながら本発明の実施形態を説明する。
【図面の簡単な説明】
【0025】
図1】本発明を具現するインベントリシステムを含む、1つの例示的なネットワーク接続システムを示すブロック図である。
図2】本発明を具現する、1つの例示的なインベントリシステムの機能ブロック図である。
図3】本発明を具現する強化学習収益管理システムをトレーニングおよび/またはベンチマーキングするのに適した航空旅行市場シミュレータのブロック図である。
図4】表形式のQ学習手法を採用する本発明を具現する強化学習収益管理システムのブロック図である。
図5】シミュレートされた環境と対話するときの、図4のQ学習強化学習収益管理システムの性能を示すチャートである。
図6A】深層Q学習手法を採用する本発明を具現する強化学習収益管理システムのブロック図である。
図6B】本発明を具現する、優先順位付けされた応答手法によるサンプリングおよび更新の方法を示す流れ図である。
図7】シミュレートされた環境と対話するときの、図6の深層Q学習強化学習収益管理システムの性能を示すチャートである。
図8A】本発明を具現する強化学習収益管理システムを初期化するための知識伝達の方法を示す流れ図である。
図8B図8Aの知識伝達方法の追加の詳細を示す流れ図である。
図9】本発明を具現する強化学習収益管理システムにおいて深層Q学習動作から表形式のQ学習動作に切り替える方法を示す流れ図である。
図10図3の市場シミュレータを使用した先行技術の収益管理アルゴリズムの性能ベンチマークを示すチャートである。
図11図3の市場シミュレータを使用して本発明を具現する強化学習収益管理システムの性能ベンチマークを示すチャートである。
図12図10の性能ベンチマークに対応するブッキングカーブを示すチャートである。
図13図11の性能ベンチマークに対応するブッキングカーブを示すチャートである。
図14】先行技術の収益管理システムおよび図3の市場シミュレータを使用して本発明を具現する強化学習収益管理システムによって選択される運賃ポリシーの影響を示すチャートである。
【発明を実施するための形態】
【0026】
図1は、本発明を具現するインベントリシステム102を含む、1つの例示的なネットワーク接続システム100を示すブロック図である。具体的には、インベントリシステム102は、本発明の一実施形態に従って収益最適化を実行するように構成された強化学習(RL)システムを備える。具体化するために、本発明の一実施形態は、航空会社の座席の販売および予約のためのインベントリおよび収益最適化システムを参照しながら説明され、ネットワーク接続システム100は、概して、航空会社ブッキングシステムを含み、インベントリシステム102は、特定の航空会社のインベントリシステムを含む。しかしながら、これは、システムおよび方法を示すための単なる一例であることを諒解されたく、本発明のさらなる実施形態は、航空会社の座席の販売および予約に関する実施形態以外のインベントリおよび収益管理システムに適用され得ることを諒解されたい。
【0027】
航空会社インベントリシステム102は、従来のアーキテクチャを有するコンピュータシステムを含み得る。具体的には、航空会社インベントリシステム102は、示すように、プロセッサ104を備える。プロセッサ104は、たとえば、示すように、1つまたは複数のデータ/アドレスバス108を介して、不揮発性メモリ/記憶デバイス106に動作可能に関連付けられる。不揮発性記憶装置106は、ハードディスクドライブであってよく、かつ/またはROM、フラッシュメモリ、固体ドライブ(SSD)、など、固体不揮発性メモリを含み得る。プロセッサ104は、プログラム命令および航空会社インベントリシステム102の動作に関する一時的データを含有した、RANなど、揮発性記憶装置110にもインターフェースされる。
【0028】
従来の構成では、記憶デバイス106は、航空会社インベントリシステム102の通常の動作に関連する既知のプログラムおよびデータコンテンツを保持する。たとえば、記憶デバイス106は、オペレーティングシステムプログラムおよびデータ、ならびに航空会社インベントリシステム102の意図された機能に必要な他の実行可能なアプリケーションソフトウェアを含有し得る。記憶デバイス106は、プログラム命令をやはり含有し、プログラム命令は、プロセッサ104によって実行されると、航空会社インベントリシステム102に、以下で、また具体的には、図4から図14を参照しながら、より詳細に説明するように、本発明の一実施形態に関する動作を実行させる。動作中、記憶デバイス106上に保持された命令およびデータは、オンデマンドで実行するために揮発性メモリ110に伝達される。
【0029】
プロセッサ104はまた、従来の方法で通信インターフェース112と動作可能に関連付けられる。通信インターフェース112は、インターネット116など、広域データ通信ネットワークに対するアクセスを円滑にする。
【0030】
使用中、揮発性記憶装置110は、記憶デバイス106から伝達され、本発明の特徴を具現する処理動作および他の動作を実行するように構成された、対応する一連のプログラム命令114を含有する。プログラム命令114は、以下で、特に、図4から図14を参照しながらさらに説明するような、収益最適化システムおよび機械学習システムの技術分野において十分に理解されている、ルーチン、および従来のアクションに加えて、本発明の一実施形態を実装するように具体的に開発され、構成された当技術分野に技術的に寄与する。
【0031】
航空会社インベントリシステム102、ならびに本明細書で説明する他の処理システムおよび処理デバイスの前の概要に関する、「プロセッサ」、「コンピュータ」、などの用語は、文脈によってその他に要求されない限り、ハードウェアおよびソフトウェアの組合せを備えた、デバイス、装置、およびシステムの考えられる実装形態の範囲を指すと理解すべきである。これは、シングルプロセッサデバイスおよびシングルプロセッサ装置、ならびに、ポータブルデバイス、デスクトップコンピュータ、および共同設置されてよいか、または分散されてもよく、協働するハードウェアプラットフォームおよびソフトウェアプラットフォームを含めて様々なタイプのサーバシステムを含む、マルチプロセッサデバイスおよびマルチプロセッサ装置を含む。物理プロセッサは、汎用CPU、デジタル信号プロセッサ、グラフィックス処理装置(GPU)、および/または必要とされるプログラムおよびアルゴリズムの効率的な実行に適した他のハードウェアデバイスを含み得る。当業者が諒解するように、GPUは、具体的には、1つまたは複数の汎用CPUの制御下で、様々な本発明の実施形態を含む、ディープニューラルネットワークの高性能実装に対して採用され得る。
【0032】
コンピューティングシステムは、従来のパーソナルコンピュータアーキテクチャ、または他の汎用ハードウェアプラットフォームを含み得る。ソフトウェアは、様々なアプリケーションプログラムおよびサービスプログラムと組み合わせたオープンソースのかつ/または市販のオペレーティングシステムソフトウェアを含み得る。代替として、コンピューティングプラットフォームまたは処理プラットフォームは、カスタムハードウェアおよび/またはソフトウェアアーキテクチャを含み得る。拡張されたスケーラビリティのために、コンピューティングシステムおよび処理システムは、クラウドコンピューティングプラットフォームを含んでよく、それにより、サービス需要に応じて、物理ハードウェアリソースが動的に割り振られることが可能になる。これらの変形形態のすべては本発明の範囲に入るが、説明および理解を容易にするために、これらの例示的な実施形態は、本明細書でシングルプロセッサ汎用コンピューティングプラットフォーム、一般に利用可能なオペレーティングシステムプラットフォーム、および/またはデスクトップPC、ノートブックPCまたはラップトップPC、スマートフォン、タブレットコンピュータ、など、広く利用可能な消費者向け製品を例示的に参照しながら説明される。
【0033】
具体的には、「処理ユニット」および「モジュール」という用語は、オフラインデータまたはオンラインデータへのアクセスおよびその処理、強化学習モデルのかつ/またはそのようなモデル内のディープニューラルネットワークまたは他の関数近似器のトレーニングステップの実行、または価格設定ステップおよび収益最適化ステップの実行など、特定の定義されたタスクを実行するように構成されたハードウェアおよびソフトウェアの任意の好適な組合せを指すために本明細書で使用される。そのような処理ユニットまたはモジュールは、単一の処理デバイス上の単一のロケーションにおいて実行する実行可能コードを含み得るか、または複数のロケーション内かつ/または複数の処理デバイス上で実行する、協働する実行可能コードモジュールを含み得る。たとえば、いくつかの本発明の実施形態では、収益最適化アルゴリズムおよび強化学習アルゴリズムは、航空会社インベントリシステム102など、単一のシステム上で実行するコードによって完全に実行され得るが、他の実施形態では、対応する処理は、複数のシステムにわたって分散されて実行され得る。
【0034】
本発明の特徴を具現するソフトウェア構成要素、たとえば、プログラム命令114は、ソフトウェアエンジニアリングの当業者が精通するように、任意の好適なプログラミング言語、開発環境、または言語と開発環境の組合せを使用して開発され得る。たとえば、好適なソフトウェアは、Cプログラミング言語、Javaプログラミング言語、C++プログラミング言語、Goプログラミング言語、Pythonプログラミング言語、Rプログラミング言語、および/または機械学習アルゴリズムの実装に適した他の言語を使用して開発され得る。本発明を具現するソフトウェアモジュールの開発は、TensorFlowライブラリ、Torchライブラリ、およびKerasライブラリなど、機械学習コードライブラリの使用によってサポートされ得る。しかしながら、本発明の実施形態は、機械学習システム分野において十分理解されていない、ルーチンの、または従来のソフトウェア構成およびコードの実装に関連し、既存のライブラリは実装を助けるが、これらのライブラリは、本発明の様々な利益および利点を実現し、以下で、具体的には、図4から図14を参照しながら説明する、特定の構造、処理、計算、およびアルゴリズムを実現するために、特定の構成および幅広い増強(すなわち、追加のコード開発)を必要とすることを当業者は了解されよう。
【0035】
言語、環境、およびコードライブラリの前述の例は、限定であることを意図せず、システム要件に従って、任意の好都合な言語、ライブラリ、および開発システムが採用され得ることを諒解されよう。本明細書で提示する説明、ブロック図、流れ図、等式、などは、例として、それにより、ソフトウェアエンジニアリングおよび機械学習の当業者が、本発明の特徴、性質、および範囲を理解し諒解すること、および追加の発明性のある創意工夫を実行することなしに、本開示による任意の好適な言語、フレームワーク、ライブラリ、および開発システムを使用して好適なソフトウェアコードの実装によって本発明の1つまたは複数の実施形態を実施することが可能になるように提供される。
【0036】
本明細書で説明するアプリケーション/モジュールのうちのいずれかで具現されるプログラムコードは、様々な異なる形でプログラム製品として個々にまたは一括して分布されてよい。具体的には、プログラムコードは、プロセッサに本発明の実施形態の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体を使用して分布されてよい。
【0037】
コンピュータ可読記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなど、情報を記憶するための任意の方法または技術で実装される、揮発性および不揮発性、ならびに取り外し可能および取り外し不可能な、有形媒体を含み得る。コンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリもしくは他の個体メモリ技術、ポータブルコンパクトディスク読み取専用メモリ(CD-ROM)、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用可能であり、コンピュータによって読取り可能な、任意の他の媒体をさらに含み得る。コンピュータ可読記憶媒体は、一時的信号自体(たとえば、電波もしくは他の伝搬電磁波、導波路などの伝送媒体を通して伝搬する電磁波、またはワイヤを通して送信される電気信号)を含まなくてよく、コンピュータ可読プログラム命令は、そのような一時的信号を介して、コンピュータ、別のタイプのプログラマブルデータ処理装置に、もしくはコンピュータ可読記憶媒体からの別のデバイスに、またはネットワークを介して外部コンピュータまたは外部記憶デバイスに、ダウンロードされ得る。
【0038】
コンピュータ可読媒体内に記憶されたコンピュータ可読プログラム命令は、コンピュータ可読媒体内に記憶された命令が、流れ図、シーケンス図、および/またはブロック図に指定された関数、行為、および/または動作を実装する命令を含む製品を生み出すように、特定の方法で機能するようにコンピュータ、他のタイプのプログラマブルデータ処理装置、または他のデバイスに指示するために使用され得る。コンピュータプログラム命令は、1つまたは複数のプロセッサを介して実行する命令が、流れ図、シーケンス図、および/またはブロック図に指定された関数、行為、および/または動作を実装するために一連の計算を実行させるように、機械を生み出すために汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置の1つまたは複数のプロセッサに提供され得る。
【0039】
図1の議論に戻ると、航空会社ブッキングシステム100は、予約システム(図示せず)を含み、予約が行われ得る様々な航空会社の運賃およびスケジュールのデータベース120にアクセスすることが可能な、グローバルディストリビューションシステム(GDS:global distribution system)118を含む。代替航空会社のインベントリシステム122がやはり示されている。単一の代替航空会社インベントリシステム122が例として図1に示されているが、航空業界は競合が激しく、実際に、GDS118は、各々がその独自のインベントリシステムを有する多数の航空会社に対して、運賃およびスケジュールにアクセスし、予約を実行することが可能であることを諒解されよう。個人、ブッキングエージェント、または任意の他の企業または個人のエンティティであってもよい顧客は、ネットワーク116を介して、たとえば、対応する予約ソフトウェアを実行する顧客端末124を介して、GDS118の予約サービスにアクセスする。
【0040】
一般的な使用事例によれば、顧客端末124からの到着要求126がGDS118において受信される。到着要求126は、目的地に行くことを望む乗客に関するすべての予想される情報を含む。たとえば、この情報は、出発地、到着地、旅行日、乗客数、などを含み得る。GDS118は、運賃およびスケジュールのデータベース120にアクセスして、顧客要件を満たし得る1つまたは複数の旅程を識別する。GDS118は、次いで、選択された旅程に関して、1つまたは複数のブッキング要求を生成し得る。たとえば、図1に示すように、ブッキング要求128はインベントリシステム102に送信され、インベントリシステム102は、その要求を処理し、ブッキングが受け入れられるかまたは拒否されるかを示す応答130を生成する。代替航空会社インベントリシステム122に対するさらなるブッキング要求132の送信、および対応する受入れ/拒否応答134がやはり示されている。次いで、ブッキング確認メッセージ136がGDS118によって顧客端末124に送信され得る。
【0041】
航空業界でよく知られているように、競合環境により、航空会社の多くはいくつかの異なる搭乗クラス(たとえば、エコノミー/コーチクラス、プレミアムエコノミークラス、ビジネスクラス、およびファーストクラス)を提供し、各搭乗クラス内に、異なる価格設定および条件を有する、いくつかの運賃クラスが存在し得る。収益管理システムおよび最適化システムの主要機能は、したがって、そのフライトにより航空会社に生成される収益を最大化するために、ブッキングの開始とフライトの出発の間の時間期間にわたって、これらの異なる運賃クラスの可用性および価格設定を制御することである。最も洗練された従来のRMSは、特定の時点で、利用可能な運賃クラスのセットの各々に対する特定価格を含むポリシーを生成するために、座席の可用性、出発までの時間、各座席の限界価格および限界コスト、顧客行動のモデル(たとえば、価格感応性または支払い意思)、などを考慮に入れる収益生成プロセスのモデルを解決するための動的プログラミング(DP)手法を採用する。一般的な実装形態では、各価格は、「終了(closed)」、すなわち、その運賃クラスがもはや販売可能ではないという指示を含み得る、運賃ポイント(fare point)の対応するセットから選択され得る。一般に、需要が高まる、かつ/または供給が減少するにつれて(たとえば、出発時間が近づくにつれて)、各運賃クラスに対して選択された価格ポイント(price point)が増大し、より安価な(かつ、より制約された)クラスが「終了」するように、RMSによってそのモデルに対する解決策から生成されたポリシーは変更される。
【0042】
本発明の実施形態は、従来のRMSのモデルベースの動的プログラミング手法を強化学習(RL)に基づく新規性のある手法に置換する。
【0043】
1つの例示的なインベントリシステム200の機能ブロック図を図2に示す。インベントリシステム200は、運賃ポリシー、すなわち、所与の時点で予約のために利用可能な各フライトに対して利用可能な運賃クラスのセットのうちの各々に対する価格設定の生成を担う収益管理モジュール202を含む。概して、収益管理モジュール202は、従来のDPベースのRMS(DP-RMS)、またはポリシーを決定するためのいくつかの他のアルゴリズムを実装し得る。本発明の実施形態では、収益管理モジュールは、図4から図14を参照しながら以下で詳細に説明するように、RLベースの収益管理システム(RL-RMS)を実装する。
【0044】
動作中、収益管理モジュール202は、通信チャネル206を介してインベントリ管理モジュール204と通信する。収益管理モジュール202は、それにより、利用可能なインベントリ(すなわち、オープンフライトに対して残っている売れ残りの座席)に関する情報をインベントリ管理モジュール204から受信し、運賃ポリシー更新をインベントリ管理モジュール204に送信することができる。インベントリ管理モジュール204と収益管理モジュール202は両方とも、各運賃クラスに対して航空会社によって設定された利用可能な価格ポイントおよび条件を定義する情報を含めて、運賃データ208にアクセスすることができる。収益管理モジュール202はまた、顧客行動、価格感応性、履歴需要、などに関する情報を具現する、フライト予約の履歴データ210にアクセスするように構成される。
【0045】
インベントリ管理モジュール204は、たとえば、ブッキング、変更、およびキャンセルに対する要求214をGDS118から受信する。インベントリ管理モジュール204は、収益管理モジュール202によって設定された現在のポリシー、および運賃データベース208内に記憶された対応する運賃情報に基づいて、これらの要求を受け入れるかまたは拒否することによって、これらの要求に応答する(212)。
【0046】
異なる収益管理手法および収益管理アルゴリズムの性能を比較し、RL-RMSに対するトレーニング環境を提供するために、航空旅行市場シミュレータを実装することは有益である。そのようなシミュレータ300のブロック図を図3に示す。シミュレータ300は、シミュレートされた顧客要求を生成するように構成された需要生成モジュール302を含む。シミュレートされた要求は、関連する履歴期間にわたって観測された需要と統計的に同様になるように生成され得、需要の何らかの他のパターンに従って合成されてよく、かつ/または何らかの他の需要モデルまたはモデルの組合せに基づいてよい。シミュレートされた要求は、イベントキュー304に追加されてよく、イベントキュー304はGDS118によってサービスされる。GDS118は、インベントリシステム200に対して、かつ/または任意の数のシミュレートされた競合する航空会社インベントリシステム122に対して、対応するブッキング要求を行う。各競合する航空会社インベントリシステム122は、インベントリシステム200に対する同様の関数モデルに基づき得るが、収益管理モジュール202の等価物内で収益管理に対する異なる手法、たとえば、DP-RMSを実装し得る。
【0047】
選択シミュレーションモジュール306は、航空会社インベントリシステム200、122によって提供された利用可能な旅行解決策をGDS118から受信し、シミュレートされた顧客選択を生成する。顧客選択は、顧客予約行動、価格感応性、などの履歴観測に基づいてよく、かつ/または消費者行動の他のモデルに基づいてよい。
【0048】
インベントリシステム200の観点から、需要生成モジュール302、イベントキュー304、GDS118、選択シミュレータ306、および競合する航空会社インベントリシステム122は、集合的に、インベントリシステム200がブッキングを競合し、その収益生成の最適化に努める、シミュレートされた動作環境(すなわち、航空旅行市場)を備える。本開示の目的で、図4から図7を参照しながら以下で説明するように、RL-RMSをトレーニングするために、図10から図14をさらに参照しながら説明するように、RL-RMSの性能を代替収益管理手法と比較するために、このシミュレートされた環境が使用される。しかしながら、諒解されるように、本発明を具現するRL-RMSは、実在の航空旅行市場と対話するとき、同じ方法で動作することになり、シミュレートされた環境との対話に限定されない。
【0049】
図4は、Q学習手法を採用する本発明を具現するRL-RMS400のブロック図である。RL-RMS400は、外部環境404と対話するように構成されたソフトウェアモジュールであるエージェント402を備える。環境404は、実在の航空旅行市場、または図2を参照しながら上記で説明したような、ミュレートされた航空旅行市場であってよい。RLシステムの周知のモデルに従って、エージェント402は、環境404に影響を及ぼすアクションを行い、環境の状態の変更を観測し、それらのアクションに応じて、リワードを受け取る。具体的には、RL-RMSエージェント402が行うアクション406は、生成された運賃ポリシーを含む。所与のフライトに対する環境408の状態は、可用性(すなわち、売れ残りの座席数)、および出発までの残りの日数を含む。リワード410は、座席予約から生成された収益を含む。エージェント402のRL目標は、したがって、総リワード410(すなわち、フライト単位の収益)を最大化する、環境の各観測された状態に対するアクション406(すなわち、ポリシー)を決定することである。
【0050】
Q学習RL-RMS400は、各状態sおよび各利用可能なアクションa(運賃ポリシー)に対する値推定Q[s,a]を含むアクション値表412を保持する。現在の状態sにおいて行うべきアクションを決定するために、エージェント402は、それぞれの利用可能なアクションaに対してアクション値表412に問い合わせ(414)、対応する値推定Q[s,a]を検索し、何らかの現在のアクションポリシーπに基づいてアクションを選択するように構成される。実際の市場内のライブ動作において、アクションポリシーπは、現在の状態sのQを最大化するアクションa(すなわち、「グリーディ」アクションポリシー)を選択することであり得る。しかしながら、RL-RMSを、たとえば、シミュレートされた需要を使用してオフラインで、または顧客行動の最近の観測を使用してオンラインで、トレーニングするとき、現在のアクション値データの活用と現在より低い値であると見なされるアクションの調査との平衡を保つが、状態が調査されていないことにより、または市場における変更により、最終的に高い収益をもたらし得る、「εグリーディ」アクションポリシーなどの代替アクションポリシーが選好され得る。
【0051】
アクションaを行った後で、エージェント402は、新しい状態s'およびリワードRを環境404から受け取り、結果として生じる観測(s',a,R)がQ更新ソフトウェアモジュール420に引き渡される(418)。Q更新モジュール420は、状態アクションの対(s,a)の現在の推定値Qkを検索し(422)、アクションaに応じて実際に観測された新しい状態s'およびリワードRに基づいて、改訂された推定Qk+1を記憶する(424)ことによって、アクション値表412を更新するように構成される。好適なQ学習更新ステップの詳細は、強化学習の当業者に周知であり、したがって、不要な追加説明を回避するために、ここでは省略される。
【0052】
図5は、シミュレートされた環境404と対話しているQ学習RL-RMS400の性能のチャート500を示す。横軸502は、シミュレートされた市場データの年数を(1000単位で)表し、縦軸504は、RL-RMS400によって達成される目標収益508の割合を表す。収益曲線508は、RL-RMSが、実際に、目標506に向けて収益を最適化することを学習することが可能であるが、その学習速度は、非常に遅く、160,000年分のシミュレートデータを経験した後でのみ、約96%の目標収益を達成することを示す。
【0053】
図6Aは、深層Q学習(DQL)手法を採用する本発明を具現する代替RL-RMS600のブロック図である。エージェント402の環境404との対話、およびエージェント402の意思決定プロセスは、同じ参照番号の使用によって示すように、表形式のQ学習RL-RMSにおけるのと実質的に同じであり、したがって、再度説明する必要はない。DQL RL-RMSでは、アクション値表が関数近似器に、具体的には、ディープニューラルネットワーク(DNN)602に置換される。1つの例示的な実施形態では、およそ200席を有する航空会社の場合、DNN602は、4つの隠れ層を備え、各隠れ層は、完全に接続された100個のノードを備える。したがって、例示的なアーキテクチャは、(k,100,100,100,100,n)として定義可能であり、ここで、kは、状態の長さ(すなわち、可用性および出発までの日数からなる状態に対してk=2)であり、nは、考えられるアクションの数である。1つの代替実施形態では、DNN602は、値ネットワーク(value network)が(k,100,100,100,100,1)であり、アドバンテージネットワーク(advantage network)が(k,100,100,100,100,n)であるデュエリング(duelling)ネットワークアーキテクチャを備え得る。シミュレーションでは、本発明者らは、デュエリングネットワークアーキテクチャの使用が単一のアクション値ネットワークに対して若干利益をもたらし得ることを見出したが、本発明の一般的な性能に極めて重要となる改善は見出されなかった。
【0054】
DQL RL-RMSでは、環境の観測はリプレイメモリストア604内に保存される。DQLソフトウェアモジュールは、DNN602をトレーニングする際に使用するために、リプレイメモリ604からの遷移(s,a)→(s',R)をサンプリングするように構成される。具体的には、本発明の実施形態は、比較的少数の観測された遷移を使用しながら良好な結果を達成することが見出されている、特定の形態の優先順位付けされた経験リプレイを採用する。DQLにおける一般的な手法は、DNN重みの収束を妨げる可能性がある相関を回避するために、リプレイメモリからの遷移を無作為に完全にサンプリングすることである。代替の既知の優先順位付けされたリプレイ手法は、より大きな誤りを有する(したがって、推定における最大の改善が予想され得る)状態がサンプリングされる可能性がより高くなるように、各状態に対する値関数の現在の誤り推定に基づく確率を有する遷移をサンプリングする。
【0055】
本発明の実施形態で採用される、優先順位付けされたリプレイ手法は、異なり、実際の最終収益が知られているとき、(たとえば、DPを使用する)収益最適化問題の完全な解決が最終状態、すなわち、フライトの出発、で始まり、対応する値関数を決定するために、考えられる経路の「ピラミッド」を最終状態に向けて拡張することにより逆方向に進む観測に基づく。各トレーニングステップにおいて、最終状態に近い遷移を当初優先順位付けする統計的分布に従って、遷移のミニバッチがリプレイメモリからサンプリングされる。トレーニングエポックにわたる複数のトレーニングステップにわたり、優先順位が最終状態からさらに離れた遷移に経時的にシフトするように、分布のパラメータが調整される。それでもなお、DNNが、当該状態空間全体にわたりアクション値関数を学習し続け、DNNが早期の状態の知識をさらに多く得るにつれて、DNNが最終に近い状態について学習したことを事実上「忘れ」ないように、いずれの遷移も任意のバッチ内で依然として選択される機会を有するように、統計的分布が選定される。
【0056】
DNN602を更新するために、DQLモジュール606は、DNN602の重みパラメータθを検索し(610)、たとえば、従来の逆伝搬アルゴリズムを使用して、サンプリングされたミニバッチを使用して1つまたは複数のトレーニングステップを実行し、次いで、更新∇をDNN602に送る(612)。本発明を具現する、優先順位付けされた応答手法による、サンプリングおよび更新の方法のさらなる詳細は、図6Bに示す流れ図620に示されている。ステップ622において、出発直前の時間間隔を表すために時間指数tが初期化される。1つの例示的な実施形態では、出発時間Tがt=21に対応し、したがって、方法620において時間指数tの初期値がt=20であるように、ブッキングの開始と出発の間の時間は、20個のデータ収集点(DCP:data collection points)に分割される。ステップ624において、DNN更新アルゴリズムのパラメータが初期化される。1つの例示的な実施形態では、Adam更新アルゴリズム(すなわち、改善された形態の確率的勾配降下法)が採用される。ステップ626において、DNNの各更新において使用される反復(および、ミニバッチ)の数を制御する、カウンタnが初期化される。1つの例示的な実施形態では、カウンタの値は、基本値n0と、n1(T-t)によって与えられる、出発までの残りの時間間隔数に比例する値とを使用して決定される。具体的には、n0は50に設定されてよく、n1は20に設定されてよいが、シミュレーションにおいて、本発明者らは、これらの値は特に重要でないことを見出した。基本原理は、アルゴリズムがさらに時間を(すなわち、ブッキングの開始に向けて)遡るにつれて、DNNをトレーニングする際により多くの反復が使用されることである。
【0057】
ステップ628において、サンプルのミニバッチが現在の指数tおよび出発時間Tによって定義される時間間隔に対応する、リプレイセット604内のそれらのサンプルから無作為に選択される。次いで、ステップ630において、選択されたミニバッチを使用して、アップデータ(updater)によって勾配降下の1つのステップがとられる。このプロセスは、すべてのn個の反復が完了するまで、時間ステップtに対して繰り返される(632)。時間指数tは、次いで、減分され(634)、ゼロに達しない場合、制御はステップ624に戻る。
【0058】
1つの例示的な実施形態では、リプレイセットのサイズは、フライトごとに20の時間間隔にわたる300回のフライトから収集されたデータに対応する、6000個のサンプルであったが、この数字は重要でないことが観測されており、広範な値が使用され得る。さらに、ミニバッチサイズは、使用された特定のシミュレーションパラメータに基づいて決定された、600である。
【0059】
図7は、シミュレートされた環境404と対話しているDQL RL-RMS600の性能のチャート700を示す。横軸702は、シミュレートされた市場データの年数を表し、縦軸704は、RL-RMS600によって達成された目標収益706の割合を表す。収益曲線708は、DQL RL-RMS600が、表形式のQ学習RL-RMS400よりもはるかに迅速に、目標706に向けて収益を最適化することを学習することが可能であり、ほんの5年分のシミュレートデータで目標収益のおよそ99%を達成し、15年分のシミュレートデータでは100%近くまで達成することを示す。
【0060】
RL-RMS400、600を初期化する代替方法が図8Aにおいて流れ図800によって示されている。方法800は、RL-RMSに対する「知識伝達」のためのソースとして、既存のRMS、たとえば、DP-RMSを使用する。この方法の下の目標は、所与の状態sにおいて、RL-RMSは、そこからRL-RMSが初期化されるソースRMSを使用して生み出されることになるのと同じ運賃ポリシーを当初生成すべきであるということである。プロセス800によって具現される一般原理は、したがって、ソースRMSに対応する等価アクション値関数の推定を取得し、この関数を使用して、たとえば、Q学習実施形態において表形式のアクション値表現の対応する値を設定することによって、またはDQL実施形態においてDNNの教師ありトレーニングによって、RL-RMSを初期化することである。
【0061】
ソースDP-RMSの場合、しかしながら、等価アクション値関数への変換を実行する際に克服しなければならない困難が2つ存在する。第1に、DP-RMSは、アクション値関数を採用しない。モデルベースの最適化プロセスとして、DPは、最適化アクションが常に行われるという仮定に基づいて、値関数VRMS(sRMS)を生み出す。この値関数から、対応する運賃価格設定が取得され、最適化が実行される時点で運賃ポリシーを計算するために使用され得る。したがって、アクションディメンションを含めるために、DP-RMSから取得された値関数を修正する必要がある。第2に、DPは、その最適化手順において、すなわち、実際には、時間ステップごとにせいぜい1つのブッキング要求が予想されるように非常に小さな値に設定される時間ステップを採用する。RL-RMSシステムにおいて同様に小さな時間ステップが採用され得るが、実際には、これは望ましくない。RLにおける各時間ステップに対して、アクションおよび環境からの何らかのフィードバックが存在しなければならない。小さな時間ステップを使用することは、したがって、かなり多くのトレーニングデータを必要とし、実際には、利用可能なデータおよびキャビン容量を考慮に入れて、RL時間ステップのサイズが設定されるべきである。実際には、市場および運賃ポリシーは迅速に変更されないため、これは、許容可能であるが、結果として、DP公式における時間ステップ数とRLシステムにおける時間ステップ数との間に矛盾をもたらす。加えて、RL-RMSは、競合相手のリアルタイム行動(たとえば、競合相手が現在提供している最低価格)など、DP-RMSに利用可能ではない追加の状態情報を考慮に入れるように実装され得る。そのような実施形態では、この追加状態情報もRL-RMSを初期化するために使用されるアクション値関数に組み込まれなければならない。
【0062】
したがって、プロセス800のステップ802において、値関数VRMS(sRMS)を計算するためにDP公式が使用され、ステップ804において、これは、時間ステップの数を低減し、追加の状態およびアクションディメンションを含むように変換され、結果として、変換されたアクション値関数QRL(sRMS,a)をもたらす。この関数は、Q学習RL-RMSにおいて表形式のアクション値表現に対する値を取得するために、かつ/または変換されたアクション値関数を近似するためにDQL RL-RMSにおいてDNNの教師ありトレーニングに対するデータを取得るために、サンプリング(806)され得る。したがって、ステップ808において、適切な方法でRL-RMSを初期化するために、サンプリングされたデータが使用される。
【0063】
図8Bは、本発明を具現する知識伝達方法のさらなる詳細を示す流れ図820である。方法820は、RL-RMSシステムにおいて使用されるより大きな時間間隔を表すために「チェックポイント」のセット{cp1,…,coT}を採用する。これらのチェックポイントの各々の間の時間は、DP-RMSシステムにおいて使用される、より短い時間間隔に対応する複数のマイクロステップmに分割される。以下の議論において、RL時間ステップ指数は、tによって示され、これは、1からTまで変化し、マイクロ時間ステップ指数は、mtによって示され、これは、0からMTまで変化し、ここで、これらは、各RL-RMS時間ステップにおいてM個のDP-RMSマイクロ時間ステップになるように定義される。実際には、RL時間ステップの数は、たとえば、およそ20である。DP-RMSの場合、マイクロ時間ステップは、たとえば、オープンブッキング窓内に数百のマイクロ時間ステップ、または数千のマイクロ時間ステップすら存在し得るように、各間隔でブッキング要求が受信される20%の確率が存在するように定義され得る。
【0064】
流れ図820に従って、一般的なアルゴリズムは以下のように進む。最初に、ステップ822において、チェックポイントのセットが確立される。第2のRL-RMS時間間隔の開始、すなわち、cp2、に対応する、指数tがステップ824において初期化される。入れ子にされたループの対が次いで実行される。外部ループ内で、ステップ826において、現在のチェックポイントに1つのマイクロステップだけ先立つ時間、および可用性xによって定義される「仮想状態」に対応するRLアクション値関数QRL(s,a)の等価値、すなわち、s=(cpt-1,x)、が計算される。この仮想状態におけるRL-RMSの仮定される行動は、RLが、各チェックポイントにおいてアクションを実行し、2つの連続チェックポイントの間ですべてのマイクロ時間ステップに対して同じアクションを維持することを考慮することに基づく。ステップ828において、マイクロステップ指数mtが、直前のマイクロステップ、すなわち、cpt-2、に初期化される。内部ループは、次いで、ステップ826において計算された値から逆方向に進むことによって、ステップ830において、RLアクション値関数QRL(s,a)の対応する値を計算する。このループは、前のチェックポイントに達するまで、すなわち、mtがゼロに達する(832)ときまで継続する。外部ループは、次いで、すべてのRL時間間隔が計算されるまで、すなわち、t=Tであるときまで継続する(834)。
【0065】
プロセス820における計算の1つの例示的な数学的記述について次に説明する。DP-RMSにおいて、DP値関数は、以下のように表すことができる:
VRMS(mt,x)=Maxa[lmt*Pmt(a)*(Rmt(a)+VRMS(mt+1,x-1))+(1-lmt*Pmt(a))*VRMS(mt+1,x)]、式中、
lmtは、ステップmtにおいて要求を有する確率であり、
Pmt(a)は、アクションaを条件に、ステップmtにおいて要求からブッキングを受信する確率であり、
Rmt(a)は、アクションaを条件に、ステップmtにおけるブッキングからの平均収益である。
【0066】
実際には、lmtおよび対応するマイクロ時間ステップは、需要予測量および到着パターンを使用して定義され(かつ、時間非依存として扱われ)、Pmt(a)は、消費者需要支払い意思分布(consumer-demand willingness-to-pay distribution)(時間依存である)に基づいて計算され、Rmt(a)は、(時間依存パラメータを用いた) 顧客選択モデルに基づいて計算され、xは、DP-RMSとRL-RMSの間で変更がないと仮定される航空会社オーバーブッキングモジュールによって提供される。
【0067】
さらに、
すべてのxに対して、VRL(cpT,x)=0、
すべてのx、aに対して、QRL(cpT,x,a)=0、
すべてのmtに対して、VRL(mt,0)=0、
すべてのmt、aに対して、QRL(mt,0,a)=0
である。
【0068】
次いで、すべてのmt=cpt-1(すなわち、ステップ826に対応する)に対して、RLアクション値関数の等価値が以下のように計算され得る:
QRL(mt,x,a)=lmt*Pmt(a)*(Rmt(a)+VRL(mt+1,x-1))+(1-lmt*Pmt(a))*VRL(mt+1,x)、
式中、VRL(mt,x)=MaxaQRL(mt,x,a)
である。
【0069】
さらに、すべてのcpt-1≦mt<cpt-1(すなわち、ステップ830に対応する)に対して、RFアクション値関数の等価値が以下のように計算され得る:
QRL(mt,x,a)=lmt*Pmt(a)*(Rmt(a)+QRL(mt+1,x-1,a))+(1-lmt*Pmt(a))*QRL(mt+1,x,a)
【0070】
したがって、チェックポイントにおいてtの値を利用して、ステップ808において教師ありの形でニューラルネットワークを初期化するために使用され得る表Q(t,x,a)が取得される。実際には、DP-RMSおよびRL-RMSの値表は若干異なることが見出されている。しかしながら、これらは結果として、シミュレーションにおいておよそ99%一致するポリシーをもたらし、それらのポリシーから取得される収益もほとんど同じである。
【0071】
有利には、プロセス800を採用することは、RLに対して有効な開始点を提供し、したがって、既存のDP-RMSと同等に当初実行することが予測されるだけではなく、RL-RMSの後続のトレーニングをやはり安定させる。DNNの使用など、関数近似方法は、概して、トレーニングが、既知の状態/アクションの出力を修正するだけでなく、履歴データ内で観測されていない状態/アクションを含めて、すべての状態/アクションの出力をやはり修正するという属性を有する。これは、同様の状態/アクションが同様の値を有する可能性が高いことを利用するという点で有利であり得るが、トレーニング中、それは、結果として、いくつかの状態/アクションのQ値に大きな変更をやはりもたらし、誤った最適化アクションを生み出す可能性もある。初期化プロセス800を採用することによって、初期Q値(および、DQL RL-RMS実施形態では、DNNパラメータ)はすべて有意義な値に設定され、それにより、トレーニング中の誤った極大値の発生を低減する。
【0072】
上記の議論では、Q学習RL-RMSおよびDQL RL-RMSは、本発明の別個の実施形態として説明されている。しかしながら、実際には、各々の利益を取得するために、両方の手法を単一の実施形態に組み合わせることが可能である。示してきたように、DQL RL-RMSは、Q学習RL-RMSよりもはるかに少量のデータを使用して変更を学習し適応することが可能であり、経験リプレイ方法を使用した進行中のトレーニングおよび適応により、代替戦略をオンラインで効率的に調査し続けることができる。しかしながら、安定市場では、Q学習は、アクション値表内で具現された知識を効果的に活用することができる。したがって、Q学習とRL-RMSのDQL動作を切り替えることが時として望ましいことがある。
【0073】
図9は、DQL動作からQ学習動作に切り替える方法を示す流れ図900である。方法900は、Q学習ルックアップテーブルを作り上げ、深層Q学習DNNを使用して対応するQ値を評価する(904)、sおよびaのすべての離散値に対するルーピング902を含む。DNNの現在の状態に正確に対応する値がこのようにポピュレートされた表を用いて、システムは、ステップ906においてQ学習に切り替える。
【0074】
逆プロセス、すなわち、Q学習からDQLへの切替えも可能であり、プロセス800のサンプリング806ステップおよび初期化808ステップと同様の方法で動作する。具体的には、Q学習ルックアップテーブル内の現在のQ値は、DQL DNNによって近似され、DNNの教師ありトレーニングに関するデータのソースとして使用されることになる、アクション値関数のサンプルとして使用される。トレーニングが収束されると、システムは、トレーニングされたDNNを使用してDQLに再度切り替わる。
【0075】
図10から図14は、代替RMS手法を採用する競合システム122の存在下で、シミュレーションモデル300を使用したシミュレーションにおけるRL-RMSの例示的な実施形態の性能を示す市場シミュレーション結果のチャートを示す。すべてのシミュレーションに対して、主なパラメータは、50席の飛行定員数、10個の運賃クラスを有する「フェンスレス(fencelss)」運賃構造、52週範囲にわたる20個のデータ収集点(DCP)に基づく収益管理であり、異なる価格感応性特性(すなわち、FRat5曲線)を有する2つの顧客セグメントを仮定する。3つの異なる収益管理システム、DP-RMS、DQL-RMS、およびAT80がシミュレートされ、AT80は、80%の負荷率目標を達成することを目指して、ブッキング限度を「アコーディオン」のように調整する、低コスト航空会社によって採用され得る、あまり洗練されていない収益管理アルゴリズムである。
【0076】
図10は、シミュレートされた市場内のDP-RMS対AT80の比較性能のチャート1000を示す。横軸1002は、業務時間を(月で)表す。収益は、上の曲線1004によって示すように、DP-RMS目標に対して、したがって、DP-RMSの性能に対して、ベンチマーキングされ、シミュレートされた期間を通しておよそ100%変動する。DP-RMSとの競合において、AT80アルゴリズムは、下の曲線1006によって示すように、一貫してベンチマーク収益のおよそ89%を達成する。
【0077】
図11は、シミュレートされた市場内のDQL-RMSとAT80の比較性能のチャート1100を示す。この場合も、横軸1102は、業務時間を(月で)表す。上の曲線1104によって示すように、DQL-RMSは、当初、下の曲線1106によって示すように、DP-RMSベンチマークに満たない、AT80と類似の収益を達成する。しかしながら、初年度(すなわち、単一の予約範囲)にわたって、DQL-RMSは、市場について学習し、収益を上げ、最終的に同じ競合相手に対してDP-RMSをしのぐ。具体的には、DQL-RMSは、ベンチマーク収益の102.5%を達成し、競合相手の収益をベンチマークの80%まで押さえ込む。
【0078】
図12は、DP-RMSがAT80と競合する方法をさらに示すブッキングカーブ1200を示す。横軸1202は、フライトの販売開始から出発までの完全予約範囲にわたる時間を表し、縦軸1204は、販売された座席率を表す。下の曲線1206は、販売容量の80%を最終的に達成するAT80を使用した航空会社に対するブッキングを示す。上の曲線1208は、販売容量のおよそ90%のより高いブッキング率を最終的に達成する、DP-RMSを使用した航空会社に対するブッキングを示す。当初、AT80とDP-RMSは両方とも、およそ同じ率で座席を販売するが、時間とともに、DP-RMSは一貫してAT80よりも多く販売し、結果的に、図10のチャート1000に示すように、より高い利用およびより高い収益をもたらす。
【0079】
図13は、DQL-RMSとAT80との間の競合に対するブッキングカーブ1300を示す。この場合も、横軸1302は、フライトの販売開始から出発までの完全予約範囲にわたる時間を表し、縦軸1304は、販売された座席率を表す。上の曲線1306は、この場合も、販売容量の80%を最終的に達成する、AT80を使用した航空会社に対するブッキングを示す。下の曲線1308は、DQL-RMSを使用した航空会社に対するブッキングを示す。この場合、AT80は、最終的なDCPに至るまで、一貫してより高い販売率を維持する。具体的には、予約範囲の最初の20%の間、AT80は、当初、DQL-RMSよりも高い比率で座席を販売し、迅速に容量の30%に達し、この時点で、DQL-RMSを使用する航空会社は、座席数のおよそ半分のみを販売した。予約範囲の次の60%を通して、AT80およびDQL-RMSは、およそ同じ比率で座席を販売する。しかしながら、予約範囲の最後の20%の間、DQL-RMSは、AT80よりもかなり高い比率で座席を販売し、最終的に、図11のチャート1100に示すように、かなり高い収益とともに、若干高い使用を達成している。
【0080】
シミュレートされた市場における互いとの競合においてDP-RMSおよびDQL-RMSによって選択される運賃ポリシーの効果を示すチャート1400を示す図14において、DQL-RMSの性能のさらなる洞察が提供される。横軸1402は、出発までの時間を週単位で表し、すなわち、ブッキングが開始する時間がチャート1400の一番右側で表され、出発日までの時間の経過が左側で表される。縦軸1404は、正規運賃ポリシーに対する単一値プロキシ(single-valued proxy)として、経時的に各収益管理手法によって選択されたポリシーにおける最低運賃を表す。曲線1406は、DP-RMSが設定した利用可能な最低運賃を示し、曲線1408は、DQL-RMSが設定した利用可能な最低運賃を示す。
【0081】
分かるように、初期販売期間を表す領域1410において、DQL-RMSは、DP-RMSよりも概して高い運賃価格ポイントを設定する(すなわち、利用可能な最低運賃はより高い)。これは、利益率が低い(すなわち、価格感応)消費者にDP-RMSを使用した航空会社をブックするように奨励する効果がある。これは、図13のチャート1300で示したシナリオにおける競合相手による当初の高い販売率と一致する。時間とともに、両方の航空会社によってより低い運賃クラスが終了し、DP-RMSとDQL-RMSの両方によって生成されたポリシー内の利用可能な最低運賃は徐々に増大する。出発時間に向けて、領域1412において、DP-RMSを使用する航空会社から利用可能な最低運賃はDQL-RMSを使用する航空会社から依然として利用可能な最低運賃をかなり超える。これは、DQL-RMSが、座席が予約期間中より早期に販売されたときに取得されたであろうよりも高い価格でそのフライトに対する残りの容量をより高く販売して、販売率を著しく増大させた期間である。要するに、DP-RMSとの競合において、DQL-RMSは、概して、出発時よりもさらに安価な運賃クラスを終了するが、出発により近くでより多くのオープンクラスを維持する。DQL-RMSアルゴリズムは、したがって、競合市場における行動について学習し、予約窓内で早期に競合相手を利益率が低い乗客で圧倒させ、予約窓内の後期に、そのように予約された容量を使用して、利益率が高い乗客に座席を販売することによって、より高い収益を達成する。
【0082】
本発明の特定の実施形態および変形形態を本明細書で説明してきたが、さらなる修正および代替は当業者に明らかになることを諒解されたい。具体的には、これらの例は、本発明の原理を示すことによって、これらの原理を実施するためのいくつかの特定の方法および配置を提供するために提供される。概して、本発明の実施形態は、市場の状態の観測、および収益の形で市場から受け取ったリワードに応じて、アクション、すなわち、価格設定ポリシーの設定を選択するために、強化学習技術、具体的には、Q学習および/または深層Q学習手法が採用される技術的な配置の提供に依存する。市場の状態は、航空会社の座席など消滅性商品の利用可能なインベントリ、およびインベントリが販売されなければならない残りの時間期間を含み得る。本発明の実施形態の修正および拡張は、競合相手の価格設定情報(たとえば、市場において競合相手によって現在提供されている最低かつ/または他の価格)および/または他の競合相手および市場の情報など、さらなる状態変数の追加を含み得る。
【0083】
したがって、説明した実施形態は、本発明の一般的な特徴および原理を教示するために、例として提供されると理解すべきであり、本発明の範囲の限定と理解すべきではない。
【符号の説明】
【0084】
100 ネットワーク接続システム、航空会社ブッキングシステム
102 インベントリシステム、航空会社インベントリシステム
104 プロセッサ
106 不揮発性メモリ/記憶デバイス、不揮発性記憶装置
108 データ/アドレスバス
110 揮発性記憶装置、揮発性メモリ
112 通信インターフェース
114 プログラム命令、一連のプログラム命令
116 インターネット
118 グローバルディストリビューションシステム(GDS)
120 データベース
122 インベントリシステム、代替航空会社インベントリシステム、競合システム
124 顧客端末
126 到着要求
128 ブッキング要求
130 応答
132 ブッキング要求
134 受入れ/拒否応答
136 ブッキング確認メッセージ
200 インベントリシステム、航空会社インベントリシステム
202 収益管理モジュール
204 インベントリ管理モジュール
206 通信チャネル
208 運賃データ、運賃データベース
210 履歴データ
212 応答する
214 要求
300 シミュレータ、シミュレーションモデル
302 需要生成モジュール
304 イベントキュー
306 選択シミュレーションモジュール、選択シミュレータ
400 RL-RMS、Q学習RL-RMS
402 エージェント
404 外部環境、環境
406 アクション
408 環境
410 リワード
412 アクション値表
414 問い合わせる
418 引き渡す
420 Q更新ソフトウェアモジュール
422 検索する
500 チャート
502 横軸
504 縦軸
506 目標
508 目標収益
600 RL-RMS
602 DNN
604 リプレイメモリストア、リプレイセット
606 DQLモジュール
610 検索する
612 送る
632 繰り返す
634 減分する
700 チャート
702 横軸
704 縦軸
706 目標
708 収益曲線
800 方法、プロセス
806 サンプリングする、サンプリング
808 初期化
820 流れ図、方法、プロセス
900 流れ図、方法
902 ルーピング
904 評価する
1000 チャート
1002 横軸
1004 上の曲線
1006 下の曲線
1100 チャート
1102 横軸
1104 上の曲線
1106 下の曲線
1200 ブッキングカーブ
1202 横軸
1204 縦軸
1206 下の曲線
1208 上の曲線
1300 ブッキングカーブ
1302 横軸
1304 縦軸
1306 上の曲線
1308 下の曲線
1400 チャート
1402 横軸
1404 縦軸
1406 曲線
1408 曲線
1410 領域
1412 領域
図1
図2
図3
図4
図5
図6A
図6B
図7
図8A
図8B
図9
図10
図11
図12
図13
図14