Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
streamlitを使った数理最適化ダッシュボード
Search
NearMeの技術発表資料です
PRO
January 19, 2024
Programming
600
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の技術発表資料です
AIエージェントのための 隔離された安全なインフラ設計
nearme_tech
PRO
0
24
Claude Code × git worktree で並列開発 (続き) -差分のサービスだけを併設する-
nearme_tech
PRO
1
69
Claude Code × git worktree で並列開発 — サブモジュール構成のリポジトリで成立させる —
nearme_tech
PRO
0
79
LLM + 強化学習
nearme_tech
PRO
0
37
PosthogのA/Bテスト機能の紹介
nearme_tech
PRO
1
110
AIフレンドリーなプロダクトに向けて
nearme_tech
PRO
2
71
初めてのLean言語
nearme_tech
PRO
0
110
Apache Airflow Workflow orchestration without turning cron into spaghetti
nearme_tech
PRO
2
50
実務で役立つ幾何学 ボロノイ図の基礎から グラフ・ネットワーク応用まで
nearme_tech
PRO
1
93
Other Decks in Programming
See All in Programming
Domain-Driven Transformation
hschwentner
2
2.3k
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
110
Web Framework Benchmark Battle 2026, Any%
a_matsuda
2
2.5k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
230
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
140
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
AWSに止められる覚悟してますか?
morizo_1984
2
540
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
640
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
430
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
190
気持ちぃ〜角丸 Squircle
ryu1013
0
320
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.7k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
15k
Believing is Seeing
oripsolob
1
250
Done Done
chrislema
187
17k
Statistics for Hackers
jakevdp
799
230k
Designing Experiences People Love
moore
143
24k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
500
Building Flexible Design Systems
yeseniaperezcruz
330
41k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
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