>100 Views
January 24, 26
スライド概要
2026/1/29(木)19:00 〜 22:00 開催
Streamlit Meetup 2026
https://techplay.jp/event/988769
博士(情報学)。2012年に修士号を取得した後、西日本電信電話株式会社に入社。プライベートクラウド基盤やアプリケーション開発を経験した後、様々な技術(NW、サーバ、クラウド、プログラミング)を組合せることで、データ活用を推進するためのプラットフォームを運営。2019年から社会人ドクターとして研究活動を行い、2023年に博士号を取得。「実社会に役立つデータ活用」を推進する技術者兼研究者。
© 2026 NTT West, Inc. All Rights Reserved. Streamlitを活用した数理最適化の民主化 Streamlit Meetup 2026 2026/1/29 高須賀 将秀
© 2026 NTT West, Inc. All Rights Reserved. 2 /23 自己紹介 たかすか まさひで 高須賀 将秀 博士(情報学)(2023/3) 研究分野:組合せ最適化,数理最適化,オペレーションズ・リサーチ(OR),グラフ理論 所属:NTT西日本 デジタル改革推進部(2021/8~), 法政大学 デザイン工学部 兼任講師(2024/4~),個人事業(Udemy講師等)(2024/6~) 業務:データドリブン経営を牽引する立場 ・データ活用基盤のシステム開発 ・データ分析手法の研究 ・データ分析活用事例の提案 ・デジタル人材育成 資格:クラウド資格(AWS全冠,Azure全冠,GCP全冠), 高須賀将秀のホームページ Microsoft Top Partner Engineer Award(2024),AWS All Certifications Engineers(2024, 2025) , Microsoft Innovative Educator Experts 2025-2026,Microsoft Certified Trainer(MCT) Google Cloud Partner All Certification Holders(2025), Jagu‘e’r Award 優秀賞(2025),Snowflake Squad(2024 , 2025)
© 2026 NTT West, Inc. All Rights Reserved. 3 /23 私の研究(博論)内容 博士論文 ◼ 与えられた全ての工事に対して立会者の割当を決定する問題である ◼ 移動距離や立会者のスキル等の様々な条件を考慮し割当を決定している ◼ 条件は万人共通の条件もあれば手配者の思考や嗜好によって異なるものもある 入力 出力 工事4 工事1 1 工事2 4 手配者 工事5 2 1 工事6 3 工事7 工事8 8 工事9 6 工事5 数理モデル 5 工事6 工事3 手配者 の思考/嗜好 = 7 工事2 4 2 5 工事3 立会者1~4 工事4 工事1 立会者4 3 工事7 立会者1 7 立会者2 工事8 ブラックボックス 化 8 工事9 9 9 立会者3 6
© 2026 NTT West, Inc. All Rights Reserved. 4 /23 私の研究(博論)内容 博士論文 ◼ 高度な技能を有している手配者により意思決定が行われている工事立会者手配 業務に対し実用的な手配結果を算出可能な数理モデルを構築した 長期効果 短期効果 付随効果 過去の工事立会者手配業務 デジタルデータ活用による工事立会者手配業務 人件費 年間1億(関東エリア:年間6万件) 年間0.1億(関東エリア:年間6万件)(想定) 品質 年間工事事故5件 年間工事事故0件(想定) 総移動時間 11,424 s(3.2 h) 11,593 s(3.2 h)※1 総割当ペナルティ 163 pt 81 pt※1 手配時間 3時間2回/1日 5分×2回/1日 やり方 アナログ(手書き) デジタル 手配結果 ※1:数理モデル4で総移動時間を重視すると, 総合移動時間10,697 s, 総品質146 ptとなる.
© 2026 NTT West, Inc. All Rights Reserved. 5 /23 Streamlit Meetup 2024にて 博士論文 ◼ 「Streamlitを活用して博士過程での研究を効率化した話」というタイトルで発表し たが,あくまでも実験を効率化するための個人利用であったため,数理最適化の計 算結果を地図出力する部分はUIが分離されていた Streamlit Meetup Tokyo 2024 https://techplay.jp/event/963481 資料 https://www.docswell.com/s/33242121 29/5G1D2L-2025-06-08-120240
© 2026 NTT West, Inc. All Rights Reserved. 6 /23 Streamlit Meetup 2024のその後 博士論文 ◼ 入力,計算,出力を一気通貫で可能なようにアプリケーション化した ◼ 解説は別場でするとして,2025年9月に開催されたPyCon JP 2025@広島で本 アプリケーションを展示した 解説記事 https://qiita.com/mshdtksk/items/b989fb8af7fd88d632e5 工事立合者手配問題アプリケーション https://st-app-setcoverproblem2-504242909255.asianortheast1.run.app/
© 2026 NTT West, Inc. All Rights Reserved. 数理最適化について知ってますか? • 万博で以下訪問したい場所があったとき,あなたはどのような順番で訪問 しますか? 7 /23
© 2026 NTT West, Inc. All Rights Reserved. 万博の訪問ルートの最適解 • 最適解は以下ルートで,総移動距離は1.34km 8 /23
© 2026 NTT West, Inc. All Rights Reserved. 9 /23 万博の訪問ルートの実行可能解の一例 全部で 362,880 通り
© 2026 NTT West, Inc. All Rights Reserved. 10 /23 訪問したい場所を増やした場合 訪問場所52ヵ所の総数 訪問場所40ヵ所の総数 訪問場所10ヵ所の総数 https://homepage45.net/unit/sub.htm
© 2026 NTT West, Inc. All Rights Reserved. 11 /23 BI:Business Intelligence ML:Machine Learning AI:Artificial Intelligence MO:Mathmatical Optimization BI・ML・AIとMOとの違い BI・ML・AI MO データから ・可視化 ・学習、予測 ・推論 データドリブン 条件から ・データを生成し、探索 ルールドリブン 生産されたデータを厳密に探索 ここでSnowflake活躍 データ量 データ量 データからそれらしい解を生成 入力 出力 プロセス 生成 入力 出力 プロセス
© 2026 NTT West, Inc. All Rights Reserved. Streamlitでの数理最適化の活用方法 • Streamlitで無理やり数理最適化を動作させる方法 • [方法1] Streamlitによる特化型数理最適化アプリ • [方法2] LLMを活用した汎用型数理最適化アプリ • 現状,Snowflakeの使いやすい機能や高負荷な処理をするためにコン ピュートリソース,さらには膨大な解のシームレスな保存のためにストレー ジをフル活用することで無理やり実装 • できれば,今後はより多くの人に数理最適化を活用してもらえるようにネ イティブなサービス化を目指したい 12 /23
© 2026 NTT West, Inc. All Rights Reserved. 13 /23 [方法1] Streamlitによる特化型数理最適化アプリ 入力部(住所の保存) ・住所のジオコーディング取得 ・住所情報の保存 アルゴリズム(つまり解の探索方法)の選択部 ・Cortex利用 ・厳密解法 ・メタヒューリスティクス 等 ・皆さんもお手元で確認できます ・ただし,Snowflakeへの情報保存 は皆さんで共用のため注意 ・そのため,この場は,Read部分 (読み込んだ住所一覧,保存済み のデータを表示等))のみ確認を推 奨 ・Cloud Runのリソースの関係でうまく 地図が表示されない場合あり ・以下アルゴリズムは利用未推奨(時 間制限付き全探索,完全全列挙型 アルゴリズム(全解保存)) 計算処理部 ・選択したアルゴリズムに従った解の探索過程出力 ・最終的な結果の出力 解の可視化部 ・最終的な結果を地図に表示 ・複数の解が出た場合もその結果を表示 https://st-app-snowflake-tsp504242909255.asianortheast1.run.app/
© 2026 NTT West, Inc. All Rights Reserved.
14 /23
数理最適化アプリ(入力部)
アプリ
External Access Integration
UDF
geocode_address()
get_travel_time_matrix()
緯度経度
移動時間
Snowflake からGoogle Map
API をたたきに行く方法
https://qiita.com/mshdtksk/i
tems/aedfd3a9383fbfd75f54
# 住所のジオコーディング(Snowflake側で実行)
def geocode_address(address):
session.cursor().execute(f"SELECT <DB>.<SCHEMA>.geocode_address('{escaped_address}')")
# 住所間の移動時間を取得(Snowflake側で実行)
def get_travel_time_matrix(addresses):
session.cursor().execute(f"SELECT <DB>.<SCHEMA>.get_travel_time_matrix(ARRAY_CONSTRUCT({addr_list}))")
© 2026 NTT West, Inc. All Rights Reserved. 15 /23 数理最適化アプリ(アルゴリズムの選択部) • ここが数理最適化の本質 • 解の探索の仕方によって,計算速度(計算量のオーダー),使用メモリ量,解の性質 (厳密解か近似最適解か,実行可能解の数等)が異なってくる • 生成AIであるCortexは推論に過ぎないため,何らかの解は出してくれるが実用的な解はで てこない • その他は全て探索型で,用途に応じて使い分けるとよい.厳密性の担保や精度保証可 アルゴリズム 時間計算量 メモリ計算量 最適性 対応規模 推奨用途 1 Cortex 即座 少 低 10-1000 時間制約 2 全列挙型(改善解) 𝑂(𝑛!) 𝑂(𝑛) 高 1-10 改善解分析 3 時間制約付き全探索 𝑂(𝑇𝑖𝑚𝑒) 𝑂(𝑛) 中 1-15 時間+個数制御 4 完全全列挙 𝑂(𝑛!) 𝑂(𝑛) 高 1-15 全解分析 5 近傍法 𝑂(𝑛2 ) 𝑂(𝑛) 低 10-1000 大規模 6 動的計画法 𝑂(𝑛2 2𝑛 ) 𝑂(2𝑛 ) 高 1-20 中規模 7 分枝限定法 𝑂(𝑛!)以下 𝑂(𝑛) 高 1-30 中-大規模 アプリ
© 2026 NTT West, Inc. All Rights Reserved. 数理最適化アプリ(計算処理部) • 通常,数理最適化の研究の世界では,いかに早く厳密な最適解を得られるか,一定時間 内にいかに良い解を得られるかが重要で,最後に得られる1つの解にしか興味がない • 一方で,実社会では,バラエティに富んだ解を欲することが多く,計算過程で得られる解の 保存が重要となる 16 /23 アプリ
© 2026 NTT West, Inc. All Rights Reserved. 数理最適化アプリ(解の可視化部) • 探索中に得られた解を地図上に出力する • 得られた解を一定のクラスタに分けることで,好みの解を選択しやすい良いにしている(厳密 な最適解のみが必要な場合は不要だが) 17 /23 アプリ
© 2026 NTT West, Inc. All Rights Reserved. 18 /23 [方法2] LLMの活用による汎用型数理最適化アプリ • Snowflake Cortex Agentsとは,自然言語での複雑な質問に対して,構造化データ(Cortex Analyst)と非構造化データ(Cortex Search)と作成した関数から横断的に回答を生成する View Intelligence Orchestrator Cortex Agents Models Tools Cortex Analyst Cortex Search 数理最適化ストアドプロシージャを実装 自然言語での入力を数理モデルに変換する ストアドプロシージャ + 数理モデルを解くためのPyhonプログラムに変換する ストアドプロシージャ Foundation Models 詳細の技術解説は別場で Snowflake Cortex Agent
© 2026 NTT West, Inc. All Rights Reserved. 19 /23 [方法2] LLMの活用による汎用型数理最適化アプリ • Snowflake Cortex Agentsに数理最適化に関する問題を入力すると,数理最適化ストアドプロ シージャをツールとして組込まない場合,推論のような動きとなり,厳密な最適解が得られない 数理最適化ストアドプロシージャ”なし”の場合 Snowflake Cortex Agent
© 2026 NTT West, Inc. All Rights Reserved. 20 /23 [方法2] LLMの活用による汎用型数理最適化アプリ • Snowflake Cortex Agentsに数理最適化に関する問題を入力すると,数理最適化ストアドプロ シージャをツールとして組込む場合,探索のような動きとなり,厳密な最適解が得られる 数理最適化ストアドプロシージャ”あり”の場合 Snowflake Cortex Agent
© 2026 NTT West, Inc. All Rights Reserved. 21 /23 [おまけ] 数理最適化シミュレーター • 自然言語で問題を入力すると,それに対する「数理モデルの生成」,「実行コード生成」,「実行結 果(最適解)の出力」を行える数理最適化シミュレーターアプリ 問題の入力 結果の出力 数理最適化シミュレーター https://st-app-optimization-simulator504242909255.asia-northeast1.run.app/
© 2026 NTT West, Inc. All Rights Reserved. まとめ • クラウドと数理最適化の相性について解説し,数理最適化の 民主化に向けたネイティブサービス化の展望について述べた • 現状,Snowflakeで数理最適化を扱うためには,作込みが 必要で,Streamlitによる2つの方法の実装例について紹介し た • Snowflake Cortex Agentsに数理最適化ストアドプロシー ジャを組込むことで自然言語で数理最適化を扱うことを検証し, 数理最適化の民主化に一歩近づくことができた 22 /23
© 2026 NTT West, Inc. All Rights Reserved. 宣伝 • 数理最適化と機械学習に関する勉強会を始めました! • まずは,数理最適化に関する題材を中心に話してます! • 次回は,2026/2/9 20:00~21:00(の内30~40分くらい) https://opt-research.connpass.com/ 23 /23