Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

KDD2018 DiDi 「large-scale order dispatch in on-demand ride-hailing platforms: a learning and planning approach」

「large-scale order dispatch in on-demand ride-hailing platforms: a learning and planning approach」DiDi AI Lab@KDD2018の論文紹介資料

  • Login to see the comments

  • Be the first to like this

KDD2018 DiDi 「large-scale order dispatch in on-demand ride-hailing platforms: a learning and planning approach」

  1. 1. 『Large-Scale Order Dispatch in On-Demand Ride-Hailing Platforms: A Learning and Planning Approach』 AI Labs, Didi Chuxing @KDD2018 さえない / Yamamuro Saeru @saeeeeru
  2. 2. Outline 1. Motivation 2. Problem Statment 3. Proposed Framework 4. Experiment Result 5. Conclusion 2
  3. 3. 1. Motivation 3 タクシードライバーと顧客の配車オーダーの割り当ての最適化 ❏ 資源の利活用とユーザー体験の最適化を 地理的、時間的な観点で行う ➢ 現在の乗客の需要を満たすだけでなく 予想される将来の利益も最適化 – 例えば、dt = 18:00 Taxi A passenger A 50km
  4. 4. 1. Motivation 4 タクシードライバーと顧客の配車オーダーの割り当ての最適化 ❏ 資源の利活用とユーザー体験の最適化を 地理的、時間的な観点で行う ➢ 現在の乗客の需要を満たすだけでなく 予想される将来の利益も最適化 – 例えば、dt = 18:30 passenger A Taxi A Taxi B 50km passenger B 5km 5km
  5. 5. 3. Proposed Framework 5 オフラインで状態価値関数を推定、 オンラインで報酬と将来価値からマッチング
  6. 6. Given : ユーザー行動履歴 (時間, 地点情報:メッシュ, 配車オーダー) Model : マルコフ決定過程 (MDP) ❏ 系列的な意思決定問題をモデル化するための方法 ❏ エージェント(ドライバー) はある 環境 下における 方策(行動するルール) に基づいて振る舞う ❏ MDPの各 状態(時間、地点情報) でエージェントは 行動(乗客を迎えに行く / アイドル) する ❏ MDPを解くために, 目的関数として 状態価値関数 や 行動価値関数 といったものを 定義する Goal : エージェント の目的は 利得(システム全体) の最大化 ❏ 総流通量総額 : the Gross Merchandise Volume 2. Problem Statement 6
  7. 7. Model : マルコフ決定過程 (MDP) ❏ 系列的な意思決定問題をモデル化するための方法 ❏ エージェント(ドライバー) はある 環境 下における 方策(行動するルール) に基づいて振る舞う ❏ MDPの各 状態(時間、地点情報) でエージェントは 行動(乗客を迎えに行く / アイドル) する ❏ MDPを解くために, 目的関数として 状態価値関数 や 行動価値関数 といったものを定義する Goal : エージェント の目的は 利得(システム全体) の最大化 ❏ 総流通量総額 2. Problem Statement 7
  8. 8. 3. Proposed Framework 8 オフラインで状態価値関数を推定、 オンラインで報酬と将来価値からマッチング
  9. 9. 3. Proposed Framework Policy Evaluation : 9 ・行動 アイドル : ❏ 状態価値関数のみ ・行動 お迎え : ❏ 時間はピックするまでに要する時間と 乗客の待ち時間、送り届ける時間の総和 ❏ 行動と状態の価値の足し算 → TD (the Temporal-Differences) Rule ❏ 今回のケースだと全状態を計算するのは無謀 (地点×時間の状態数になるため) ❏ 価値関数の計算においては 動的計画法(Dynamic Programming) で実装 ❏ 有限時間に絞ることで実装可能
  10. 10. 3. Proposed Framework 行動価値関数、Discount Factor : γ e.g ) ● 00:00にエリアAにおいて地点BからCへのオーダーをうけたドライバー ● このトリップは20分で、30ドルのコスト(利益) ● 加えて、乗客をピックするために10分要する ● 10分間のtime-windowを定義 ● discount factorを0.9とする ● T = (20 + 10) / 10 = 3 ● Rγ = 10 + 10 * 0.9 + 10 * 0.9^2 = 27.1 ➢ 直感的には、減価償却みたいなもの?時間がかかるオーダーはdiscount 10
  11. 11. 3. Proposed Framework ● ユーザー行動履歴をも とに方策を決定 ● 時間的には逆順に価値 関数を更新 ● 更新はオーダーから得 られた価値をもとに計 算 ● 最終的に全状態(時間、 場所)での価値関数が 計算される 11
  12. 12. 3. Proposed Framework 12 オフラインで状態価値関数を推定、 オンラインで報酬と将来価値からマッチング
  13. 13. 3. Proposed Framework Planning : Learningフェーズで学習した価値関数をもとにリアルタイムで配車 13 ❏ 各time-windowにおいて 左記の目的関数で表現される組合せ最適化問題を解く ❏ 各ディスパッチ(taxi -> passenger) で算出される価値関数:Qπの総和を最大化する ➢ 実世界ではこの組み合わせの個数が膨大であるため 現実的に計算不可能 ➢ ハンガリアン法で解決
  14. 14. ❏ 計算量の削減のために default actionsを表現するエッジを除外する 具体的には ... ❏ 同状態に残る = 何も行動しないとモデル化された driverとpassengerへのエッジは除外 3. Proposed Framework ハンガリアン法 14 ❏ Order Price ❏ Driver’s Location ❏ Order Destination ❏ Pickup Distance
  15. 15. 4. Experiment Result ➢ 仮想環境におけるシミュレーションで既存手法より総収入↑ ❏ カスタマイズ化されたA/Bテストにて効果検証:時間でスライス - 一般的には同一時期のユーザーをA/Bに分けるが Dispatchの最適化問題におけるテストは不可能) ➢ 既存のアルゴリズムと比較して 中国の全ての街においてGlobal GMVが0.5~5%増加 ➢ 平均のDispatch時間も既存のものと変わらない (passengerをより待たせることにはなっていない) 15
  16. 16. 4. Experiment Result 16 ✓ 時間帯ごとに 価値関数をマップ化 ✓ 朝のピーク後は たくさんのドライバー が中央に集まるため 価値関数は中央を 低く算出する
  17. 17. ✓ その時点での利得でなく 長期的な利益の最大化を目指したDispatchの最適化アルゴリズムを提案 ✓ オフラインで強化学習によって導出された価値関数をもとに オンラインで報酬と将来価値からDriverとPassengerをマッチング ✓ 実環境にて時間スライスによるA/Bテストにて効果検証したところ 総収入を意味するGMVの増加が見られた ➢ 今後は深層強化学習を用いたアルゴリズムを開発 ➢ GPSのローデータを入力とすることでメッシュの影響をなくす ➢ 他の特徴の追加も検討 5. Conclusion 17

×