Skill
得意とする領域・技術
製品開発者タイプ
アルゴリズムの設計や実装、および既存アルゴリズムの改善、高速化、頑健化。
数理最適化分野においては様々なアルゴリズムのコアになる単体法を専門とする。
アルゴリズムをツールに組み込む際の実装や、実務上の様々な悪条件を考慮して研究のみならず応用に耐えうる実装を推進する。
Achievements
主な実績
- 2016年
- 入社
- 2016年~
- 数理最適化を活用するアプリケーション開発の受託案件を担当
- 2017年~
- エジンバラ大学 Julian Hall 博士との共同研究開始
- 2020年~
- Nuorium Optimizer の開発
- スパース単体法 hsimplex の開発
- 二次計画問題に対する主単体法の開発
- 二次計画問題に対する双対単体法の開発
Style
仕事のスタイル
大規模な問題をより安定かつ高速に解けるように
現実の課題に対して数理最適化技術で問題解決を図ろうとする際には、最適化モデルを構築し当社最適化パッケージ Nuorium Optimizer などの最適化ソルバーで求解します。
大きな問題をそのままワンショットで解いたり、小さな問題を複数解きそれらの解を組み合わせて全体の解を構築したりなど、数理最適化による問題解決のアプローチには様々な方法があります。
どのようなアプローチをとるにしても最適化ソルバーはその中で要素技術として使われますので、最適化ソルバーには安定かつ高速に解を算出することが求められます。
私自身は、Nuorium Optimizer をこのような要求に応えられる最適化パッケージにしたいとの思いで開発に取り組んでいます。
最適化計算の難しさ
現実の課題を最適化問題として扱う際には、問題規模やデータ単位、定式化の方法などにより、数値的に悪条件な問題インスタンスを扱わなければならない場合があります。
このような場合、理想的には「定式化の方法を見直す」「データ単位を変更する」「解法のアプローチを変える」などの対処により、数値的に良条件な問題インスタンスに変更するアプローチが有効になるわけですが、現実的にはビジネス上の制約 (予算・期間・工数)から必ずしもそのような対処が可能なわけではありません。
このような場合、最適化ソルバーのパラメータ調整や、求解に失敗した場合のセーフティネットの追加などにより問題に対処することになります。
いずれにしても、最適化ソルバーには数値的に悪条件な問題インスタンスが渡されてきます。
このような数値的に悪条件な問題インスタンスに対しても可能な限り解を算出し、安心して最適化ソルバーをツールとして使っていただけるような、そのような製品開発を心掛けたいと思っています。
アルゴリズム開発
私自身は、最適化ソルバーのコア技術の 1 つである単体法周りの開発を行っています。
単体法自体は古くからある良く枯れた技術でニッチな分野ではありますが、現在でも活発に開発が行われています。
単体法に関しては、スパース行列演算とアルゴリズム自体がもつ組合せ論的な話が組み合わさって、さながら寄木細工のような美しさがあります。
個人的にはこのようなアルゴリズムがもつ美しさを楽しみつつ、現実の問題をより安定かつ高速に解けるように、引き続き開発に取り組んでいきたいです。