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
streamlitを使った数理最適化ダッシュボード
Search
NearMeの技術発表資料です
PRO
January 19, 2024
Programming
570
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
streamlitを使った数理最適化ダッシュボード
NearMeの技術発表資料です
PRO
January 19, 2024
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
PosthogのA/Bテスト機能の紹介
nearme_tech
PRO
1
21
AIフレンドリーなプロダクトに向けて
nearme_tech
PRO
1
50
初めてのLean言語
nearme_tech
PRO
0
76
Apache Airflow Workflow orchestration without turning cron into spaghetti
nearme_tech
PRO
1
21
実務で役立つ幾何学 ボロノイ図の基礎から グラフ・ネットワーク応用まで
nearme_tech
PRO
1
59
SQL/ID抽出タスクから考える 実践的なハルシネーション対策
nearme_tech
PRO
1
67
OpenCode & Local LLM
nearme_tech
PRO
0
200
OpenCode Introduction
nearme_tech
PRO
0
59
【Browser Automation × AI】 Stagehandを試してみよう
nearme_tech
PRO
0
160
Other Decks in Programming
See All in Programming
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
170
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
250
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
550
霧の中の代数的エフェクト
funnyycat
1
430
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
2
280
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
170
AIエージェントで 変わるAndroid開発環境
takahirom
2
720
音楽のための関数型プログラミング言語mimiumにおける多段階計算の活用
tomoyanonymous
1
360
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
220
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
Laravelで学ぶ Webアプリケーションチューニング入門/web_application_tuning_101
hanhan1978
4
1.3k
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
Unsuck your backbone
ammeep
672
58k
Tell your own story through comics
letsgokoyo
1
1k
Code Reviewing Like a Champion
maltzj
528
40k
Optimising Largest Contentful Paint
csswizardry
37
3.8k
Everyday Curiosity
cassininazir
0
260
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
410
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Transcript
0 streamlitを使った 数理最適化ダッシュボード 2024-01-12 第74回NearMe技術勉強会 Yuta OKAMOTO
1 目次 1. なぜ作ろうと思ったのか? 2. 今回作ったダッシュボード
2 1.なぜ作ろうと思ったのか - 理由 以下のような経験から,プログラムの実行結果を可視化したいと思っ たから • シミュレーションをエンジニア以外の人もできるようにしたい • 案件の提案段階でプロトタイプが必要
プログラムの実行結果が可視化できれば • 非エンジニアに対する正確な情報共有に役立ちそう • (ついでにデバッグに役立ちそう)
3 1.なぜ作ろうと思ったのか - 比較 参考 : • https://docs.kanaries.net/ja/topics/Streamlit/streamlit-vs-dash • https://qiita.com/OgawaHideyuki/items/f2b7aef8b8d61051f382
方法 利点 欠点 Streamlit (https://streamlit.io/) • 構築がとても簡単 • プロトタイプ作成に向いている • 大規模なプロジェクトには不向 き? Dash (https://dash.plotly.com/) • 構築が簡単 • 複雑なプロジェクトに向いてい る • Streamlitに比べて細かく作ら なければならない Panel (https://panel.holoviz.org/) • 構築が簡単 • Streamlitと互換性あり • Streamlit,Dashに比べてまだ 新しいのでコミュニティでのナ レッジ不足の不安 Google Colaboratoryなどノート ブック形式 • 構築が簡単 • インターフェースやや難
4 2.今回作ったダッシュボード - 作ったもの 特定の最適化問題(今回はシンプルTSP)について, • ノード数を変更して求解 • 求解結果を可視化して表示する というもの
https://gist.github.com/yutaokamoto/15bdb6b2e9eab6c02 051f89e67b27e05
5 2.今回作ったダッシュボード - 使い方 セットアップ $ pip install streamlit adjustText
$ streamlit run tsp_dashboard.py 使い方 1. ノード数を変更 2. 問題例の作成ボタン → 問題例を作成・問題例タブに表示 3. 解の計算ボタン → 解を計算・解タブに表示
6 2.今回作ったダッシュボード - コード解説 サイドバーの設定
7 2.今回作ったダッシュボード - コード解説 サイドバーの設定
8 2.今回作ったダッシュボード - コード解説 問題例の作成
9 2.今回作ったダッシュボード - コード解説 問題例の描画
10 2.今回作ったダッシュボード - コード解説 問題例の描画
11 2.今回作ったダッシュボード - コード解説 解の計算
12 2.今回作ったダッシュボード - コード解説 解の計算
13 2.今回作ったダッシュボード - コード解説 解の描画
14 2.今回作ったダッシュボード - コード解説 解の描画
15 2.今回作ったダッシュボード - はまった点 はまったところ • 再実行の際の変数の保存 ◦ アプリ上のウィジェットを操作するとプログラムが再実行される ◦
プログラムを再実行すると変数などが全てリセットされる ◦ st.session_stateを使う ▪ 辞書型のオブジェクト ▪ pythonのDictと同じ使い心地
16 2.今回作ったダッシュボード - 今後の展望 • 実際の地理データを使って問題例作成・求解・描画 →Streamlit-foliumの利用
17 Thank you