背景
博士後期課程で,数理最適化の事例研究を行っていた.実社会問題の要求条件を数理モデルとして定式化し,その数理モデルの最適化計算を行うアルゴリズムを考え,最終的にそれらから得られる解を出力する.出力された解の良し悪し(目的関数値の良し悪しではなく,その解が現場で求められている解となっているかという意味での良し悪し)は現場の人に判断してもらう.このとき,現場の人とのコミュニケーションを取るために,入力データから出力結果をその場でインタラクティブに確認してもらうツールとして,Streamlitを活用した.
取り扱った数理最適化の問題の簡単な説明
立会する工事の集合と立会者の集合等が与えられたとき,各立会者を各工事に割り当て,それに対する最適な割当結果を得ることを考える問題である.詳細は博士論文(工事立会者手配業務に対する数理モデルと実践的解法)を参照いただきたい.
本研究の本質は,実用的な数理モデルの構築とそれに対する最適解を求めるアルゴリズムを考案することとなり,いかに現場の人とのコミュニケーションを取りやすくするかではないため,Streamlitの活用事態は研究要素とは関係ないが,現場の人とのコミュニケーションを取りやすくするために,Streamlitを活用することで実用的な数理モデルを構築する上で役立った.
Streamlitの活用
数理モデルは入力データの違いを吸収できるようにパラメータを設定できる作りにしており,このパラメータを設定する部位と入力データを入力する部位をStreamlitにて実装した.
入力データをアップロードしたあとは,いよいよ最適化計算を行う.入力データや数理モデルのパラメータの違いにより,効率的な最適解を探索する過程が異なるため,博士後期課程では大きく3種類のアルゴリズムを考案した.この3種類のアルゴリズムを選択し,最適化ボタンを押すことで,最適化計算を行う.最適化計算を行う部分は,バックエンドで考案したアルゴリズムのプログラムのAPIを叩いており,Streamlitで処理しているわけではない.
事例研究で難しいのは,学術的な価値をどのようにして実社会で使える状態にするか,つまりユーザビリティとどのように担保するかという点にある.現場の人は数理モデルやその最適解の探索のアルゴリズムについて知りたいわけではなく,実用的な解がほしいのだが,研究者は数理モデルやその最適解の探索のアルゴリズムが重要であり,解の見せ方については,学術的な価値の外にあるため,両者が協力関係を築くためには,ここをつなぐユーザビリティが必要である.Streamlitはこのユーザビリティを担保する,両者の架け橋となるために,非常に有効的なツールである.