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, 2019 • 0 likes • 9 views
Search
NAVITIME JAPAN
PRO
December 18, 2019
Business
0
45
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
730
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
76
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
2.8k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.1k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
6
4.6k
こうしてふりかえりは終わってしまった / A Demise of a retrospective
navitimejapan
PRO
42
26k
もーひとつの時間がない症候群 / Yet Another SOT Syndrome
navitimejapan
PRO
1
2k
シーズン2〜スクラムチームのバトンを渡す〜 / Season 2 -pass the button of a scrum team-
navitimejapan
PRO
2
2.8k
チームのパフォーマンスを引き出す、ワクワクするプロダクトゴール、OKR / Waku-waku Product Goal and OKR
navitimejapan
PRO
17
17k
Other Decks in Business
See All in Business
アジャイルトランスフォーメーションが現場にもたらす価値と超えるべきいくつかの壁/Agile transformation and some impediments
ikuodanaka
4
650
Smartwill Company Profile
1129panda
0
570
【キャリア採用】BuySell Technologies会社説明資料
buyselltechnologies
2
60k
goooods 株式会社 事業概要説明資料 / company deck
syo
3
7.2k
社会変化兆候調査 vol.17 / 132 global changes in lifestyle 2024 vol.17
nozomi
0
150
スタートアップ新卒合同入社式ワークショップ
wakayamaguchi
1
2.6k
Dist.43.英語仕事で地味につかうChatGPT 配布版
karad
0
430
ジンジニアのキャリア ~てぃーびーの場合~ / Tb's career
tbpgr
0
320
プライシングについて②
umzws
0
260
しくじり先生 〜ふりかえり手法はチームのイマとコネクトして〜
electricsatie
0
320
Стратегия решает проблемы на всех уровнях компании
alexanderbyndyu
0
130
AnyMind Group Culture Deck (JP)
anymind
4
94k
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
154
14k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
Unsuck your backbone
ammeep
662
57k
Done Done
chrislema
178
15k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
What the flash - Photography Introduction
edds
64
11k
Statistics for Hackers
jakevdp
789
220k
Producing Creativity
orderedlist
PRO
336
39k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
20
1.6k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Music & Morning Musume
bryan
41
5.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
77
42k
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