Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
NAVITIME API チャレンジ 2019】NAVITIME_meet Dec. 18, ...
Search
NAVITIME JAPAN
PRO
December 18, 2019
Business
0
57
NAVITIME API チャレンジ 2019】NAVITIME_meet Dec. 18, 2019 • 0 likes • 9 views
【NAVITIME API チャレンジ 2019】最優秀賞作品「NAVITIME_meet」のご紹介です。
NAVITIME JAPAN
PRO
December 18, 2019
Tweet
Share
More Decks by NAVITIME JAPAN
See All by NAVITIME JAPAN
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
2
130
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
15
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
1.9k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.1k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
150
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.1k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.2k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
4.9k
こうしてふりかえりは終わってしまった / A Demise of a retrospective
navitimejapan
PRO
44
27k
Other Decks in Business
See All in Business
2024年12月期 第2四半期決算説明資料
mobcast20040326
PRO
1
590
amana_credential_20240129
amana1979
0
980
記憶力に頼らないタスク管理 / Task management without relying on memory
tbpgr
7
14k
400F 採用ピッチ資料
400f
PRO
1
5.2k
ログラス会社紹介資料 / Loglass Company Deck
loglass2019
4
210k
人事図書館ラーニングバー_人事としての学びとその活かし方_ねこやなぎのケース20240831
nekoyanagi
1
420
イークラウド会社紹介 ~ひとりひとりの想いをつなぎ、挑戦に力を~
ecrowd
1
1.8k
株式会社ビズリーチ 会社概要資料 / Corporate Deck
bizreach_inc
1
290
株式会社ispec 会社紹介資料
emikamihara
0
5.3k
株式会社CyberOwl_エンジニア向け会社紹介資料
cyberowl
0
300
Wur_Company Deck
wur
0
1.3k
Untangling software delivery with Team Topologies, flow metrics, careful decoupling, and Adapt Together™️
matthewskelton
PRO
2
200
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Optimizing for Happiness
mojombo
375
69k
Fashionably flexible responsive web design (full day workshop)
malarkey
400
65k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
24
2k
Automating Front-end Workflow
addyosmani
1365
200k
Become a Pro
speakerdeck
PRO
22
4.8k
How To Stay Up To Date on Web Technology
chriscoyier
785
250k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
The Cost Of JavaScript in 2023
addyosmani
39
5.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
47k
Why Our Code Smells
bkeepers
PRO
333
56k
Transcript
NAVITIME meet -待ち合わせ場所提案アプリ- NAVITIME APIチャレンジ 最終審査 @株式会社ナビタイムジャパン 2019年12月10日 慶應義塾大学大学院 【Tanaka
lab】 *丹野一輝,氏原凜汰郎,小貝洸希, 小杉咲貴恵, 濱田賢吾
サービス概要 NAVITIME meet ➢ 移動時間や集合する「目的」などを,総合的に判断した結果が手軽に得られる ➢ 得られた待ち合わせ駅の特徴を容易に把握することができる • 集まりやすさ •
目的に関連する店の豊富さ 提案するサービスには,単純な「待ち合わせ」以外にも複数の使い道(応用)がある 目的に応じた最適な待ち合わせ駅と 全員の移動経路がひと目でわかる! 周辺地図でお店もチェック! 全員の出発駅 待ち合わせ日時 待ち合わせ目的 数理最適化 Point Input Output 2
Demo 3 銀座 渋谷 新宿 秋葉原 表参道 大井町 デモ動画 -1-
背景 ➢ 待ち合わせ場所を決定する状況は多く存在 → 「複数の地点からアクセスするのに最適な地点を決定する問題」として抽象化 ➢ 待ち合わせ場所の決定には多くのことを考える必要がある • 目的に応じた待ち合わせ駅の候補を考える ショッピングに行くなら店は多い方がいい
• 候補の中から全員が集まりやすい駅を考える みんなの移動時間は短い?1人だけ極端に遠いことはない? 飲み会、デートの 待ち合わせ 会社説明会 の開催場所 家探し 一般的な「待ち合わせ」 その他の応用 アプリ化することで待ち合わせ場所決定の手間を削減 4
サービス概要 NAVITIME meet ➢ 移動時間や集合する「目的」などを,総合的に判断した結果が手軽に得られる ➢ 得られた待ち合わせ駅の特徴を容易に把握することができる • 集まりやすさ •
目的に関連する店の豊富さ 提案するサービスには,単純な「待ち合わせ」以外にも複数の使い道(応用)がある 目的に応じた最適な待ち合わせ駅と 全員の移動経路がひと目でわかる! 周辺地図でお店もチェック! 全員の出発駅 待ち合わせ日時 待ち合わせ目的 数理最適化 Point Input Output 5
数理最適化問題としての定式化 「数理最適化」とは,制約条件のもとで目的となる指標が最も良くなる解を見つける問題 今回は数理最適化ソルバーCbc*により求解 数式で表現 現実の問題 数理最適化モデル 以下の観点から全体として最適な 駅を見つける ➢ 移動時間
➢ 運賃 ➢ 乗り換え回数 ➢ 駅周辺に店が多いか ※その他の設定も可能 集まるのに最適な待ち合わせ駅 はどこだろう? 𝑃𝑖𝑗 :駅 𝑖 と駅 𝑗 間の運賃 𝑇𝑖𝑗 :駅 𝑖 と駅 𝑗 間の乗り換え回数 𝑉 𝑗 :駅 𝑗 周辺のスポット数 *Coin-or branch and cut (オープンソースの最適化ソルバ) 6
数理最適化問題としての定式化 「数理最適化」とは,制約条件のもとで目的となる指標が最も良くなる解を見つける問題 今回は数理最適化ソルバーCbc*により求解 数式で表現 現実の問題 数理最適化モデル 以下の観点から全体として最適な 駅を見つける ➢ 移動時間
➢ 運賃 ➢ 乗り換え回数 ➢ 駅周辺に店が多いか ※その他の設定も可能 集まるのに最適な待ち合わせ駅 はどこだろう? 𝑃𝑖𝑗 :駅 𝑖 と駅 𝑗 間の運賃 𝑇𝑖𝑗 :駅 𝑖 と駅 𝑗 間の乗り換え回数 𝑉 𝑗 :駅 𝑗 周辺のスポット数 左の目的を表現する関数 問題を解く上での制約 *Coin-or branch and cut (オープンソースの最適化ソルバ) 6
使用例 -帰宅途中での集合を想定- 帰宅途中の待ち合わせ場所決定問題 ➢結局考えたいのは,矢印の長さを出来るだけ短くするような問題 ➢これまで考えてきたものと全く同じ構造の問題!! ➢会社等から帰宅する途中で,複数人で 待ち合わせをする ➢このとき,できるだけ本来の経路 (家に直行した時の経路,例えば上の )
から外れないことが望ましい 問題設定 待ち合わせ場所を 経由して帰宅する 会社 自宅 待ち合わせ場所 7
待ち合わせ場所 一般的な待ち合わせ問題 同一の構造 使用例 -帰宅途中での集合を想定- 帰宅途中の待ち合わせ場所決定問題 ➢結局考えたいのは,矢印の長さを出来るだけ短くするような問題 ➢これまで考えてきたものと全く同じ構造の問題!! 待ち合わせ場所を 経由して帰宅する
会社 自宅 待ち合わせ場所 7
使用例 -帰宅途中での集合を想定- 8 帰宅途中の待ち合わせ場所決定問題 待ち合わせ場所を 経由して帰宅する 会社 自宅 待ち合わせ場所 デモ動画
-2-
使用例 -説明会開催場所決定問題- ➢複数の「待ち合わせ場所」を決定する問題(1つの待ち合わせ場所にアクセス できれば十分)として捉えることができる ➢数理最適化問題として定式化したことで,このような複雑な状況にも 対応することができる 大学 会場 就職活動における説明会開催場所決定問題 問題設定
➢複数のターゲット大学からアクセス しやすい複数の開催場所を決定したい ➢説明会の内容は同一であるため, 大学は1か所の会場に近ければ十分である 9
使用例 -説明会開催場所決定問題- 10 大学 会場 就職活動における説明会開催場所決定問題 武蔵小杉 高田馬場 四ツ谷 本郷三丁目
大岡山 日吉 デモ動画 -3-
カスタマイズ例 数理最適化モデルを少し変更することで様々なカスタマイズが容易に可能 ➢ 「移動時間が最も長くなる人の移動時間」が短くなるようにしたい 一番可哀想な人を少しでも楽にしてあげたい (実装済み) ➢ 「全員が集合してから誰か1人の終電がくるまでの時間 (=全員が一緒にいられる時間)」を最大にしたい 終電までがっつり飲みたい!というときに
➢ 5人のうち最低3人が集まればよいとき,移動時間が短くなるような 3人のメンバーと待ち合わせ駅を選びたい 何かの買い出しの時にメンバーと場所を同時に決定可能 11
まとめ ➢ アピールポイント • 社会への貢献度:日常的かつ面倒な作業を技術の力でサポートすることができる • インパクト:ナビタイムの現サービスと非常に親和性が高く,実装されれば 「乗り換え検索の一つ手前」までアプローチすることができ,UX向上に繋がる • 先進性:「待ち合わせ」に対して数理最適化を適用したサービスを提案した
• 完成度:「あったらいいのに」という様々な機能を,使いやすいUIで実装した (帰宅途中に集まるケース,結果の比較機能 など) ➢ 今後の課題 • 友達リスト作成機能を追加し,よく会う友達の情報をすぐに反映できるようにする • さらに,前回行った場所の情報を加味して,レコメンドまで繋げられれば 非常に独自性の高いサービスになるだろう 複数人の出発駅と待ち合わせの目的を入力すると, 最適な待ち合わせ駅とそこまでの乗り換え案内が出力されるアプリケーションを作成した 12
Appendix
使用例 -ホテル探し問題- 待ち合せ場所を決める一般的な状況 ホテル探し問題 ➢どちらも複数の地点とアクセスが良い1点を探す問題と捉えられる ➢矢印の向きが違うだけで,全く同じ構造の問題である 1日目の 目的地 2日目の 目的地
3日目の 目的地 4日目の 目的地 ※人数等に応じて重みづけする (ここに近いほど嬉しいとする)ことも可能 待ち合わせ場所 ホテル ユーザ 14
システム概要 バックエンド Flask API 出発駅ノード 検索 所要時間行列 の計算 駅・バス停検索 ルート探索
スポット検索 数理最適化実行 検索 NAVITIME meet 目的に応じた最適な待ち合わせ駅と 全員の移動経路がひと目でわかる! 周辺地図でお店もチェック! 全員の出発駅 待ち合わせ日時 待ち合わせ目的 数理最適化 実行結果 ルート情報 タイル地図 スクリプト取得 Vue.js 15
機能の振り返り -基本機能- Input Basicを選択 ユーザ・出発駅 を入力 日時・目的 を入力 検索条件を 選択して検索
最適な待ち合わせ駅 他の候補とそれぞれの 特徴を容易に比較可能 Output 詳細な情報を表示 (ex. 出発時間, 所要時間,周辺地図) 16
機能の振り返り -帰宅途中での集合を想定- Input Advanced・ 途中で立ち寄る を選択 ユーザ・出発駅・ 帰宅駅を入力 日時・目的・ 検索条件を入力
して検索 最適な待ち合わせ駅と 他の候補の特徴 Output 詳細な情報を表示 新橋で19時に集合し, 帰宅するまでの経路を すべて表示 17
機能の振り返り -説明会開催場所決定問題- Input Advanced・複数 の待ち合わせ駅を 選択 ユーザ・出発駅・ 帰宅駅を入力 日時・目的・ 検索条件を入力
して検索 最適な待ち合わせ駅 (ここでは2つ)と 他の候補の特徴 Output 詳細な情報を表示 誰が,どの駅に割当てら れているかを表示 18