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
84
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
つよつよリーダーが 抜けたらどうする? 〜ナビタイムのAgile⽀援組織の変遷〜
navitimejapan
PRO
23
15k
実践ジオフェンス 効率的に開発するために
navitimejapan
PRO
3
700
安全で使いやすいCarPlayアプリの 魅せ方:HIGと実例から学ぶ
navitimejapan
PRO
1
230
見えないユーザの声はログに埋もれている! ~ログから具体的なユーザの体験を数値化した事例紹介~
navitimejapan
PRO
6
3k
ユーザーのためなら 『デザイン』 以外にも手を伸ばせる
navitimejapan
PRO
2
1.5k
フツーのIT女子が、 Engineering Managerになるまで
navitimejapan
PRO
3
360
不確実性に打ち勝つOKR戦略/How to manage uncertainty with OKR strategy
navitimejapan
PRO
4
3.6k
アジャイルを小さいままで 組織に広める 二周目 / Agile Transformation in NAVITIME JAPAN iteration 2
navitimejapan
PRO
4
1.3k
変更障害率0%よりも「継続的な学習と実験」を価値とする 〜障害を「起こってはならないもの」としていた組織がDirtの実施に至るまで〜 / DevOps Transformation in NAVITIME JAPAN
navitimejapan
PRO
7
5.6k
Other Decks in Business
See All in Business
Sales Marker Culture Book(English)
salesmarker
PRO
2
6.2k
株式会社ビットエー_BrandBook
bita_2011
0
1.1k
DSお仕事図鑑
datascientistsociety
PRO
0
2.4k
開発生産性、なぜ測れない?指標不在の現状と実践的指標導入の鍵
takabow
0
160
AIが実現するプロダクトオーナーと開発者の架け橋
bicstone
2
200
新規投資家向け資料20250815
junkiogawa
0
1.6k
Cierpa&Co._Culture Deck_202509
cierpa0905
PRO
0
670
Smart相談室 カルチャーデック
smartsoudanshitsu
2
64k
株式会社アドバンテッジリスクマネジメント会社紹介資料
arm0020
0
54k
COMPANY INTRODUCTION
lenz_co
0
140
広報もすなるVibe Codingといふもの /
kai_pn
0
120
NewsPicks Expert説明資料 / NewsPicks Expert Introduction
mimir
0
17k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
800
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Building Adaptive Systems
keathley
43
2.7k
Typedesign – Prime Four
hannesfritz
42
2.8k
Six Lessons from altMBA
skipperchong
28
4k
GitHub's CSS Performance
jonrohan
1032
460k
Facilitating Awesome Meetings
lara
55
6.5k
Designing for humans not robots
tammielis
253
25k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
What's in a price? How to price your products and services
michaelherold
246
12k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
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