数理モデルとは?

モデルとは?

現象の模型

現象を、仮定と近似、捨象をした結果が数理モデルであることを忘れてはならない

過程:取り扱う問題は数理モデルで説明できる

近似:ある要件を特定の数式で表現する

捨象:ある要件を無視する

PuLPを使って数理モデリング入門

数理最適化とは?

ある条件に関して、最も良い元、利用可能な集合から選択すること。

例)線形計画法

解くための仕組み

MPS/LPファイル

  • 線形計画問題を記述しているファイル
  • これをソルバーに突っ込む。
  • モデリング言語、データによって作成される。

PuLPとは

モデリング言語。

ソルバーはCPCが用いられることが多い。

数理最適化を構成する部品

  • パラメータ:モデルを構成する係数・定数
  • 変数:決定したい値
  • 目的関数:最適化したい指標の記述
  • 制約式:変数間の条件・範囲の記述

例)連立一次方程式を解く

例)線形計画問題

ケーススタディ

問題が解けないこともある。

解けるように問題を設定してあげることが大切。

土木工事の最適化問題。

解けなかった。

制限となっている予算制約を緩和してあげることで

  • サービス理解
  • 問題設定
  • 数理モデリング
  • モデリング言語で実装
  • 数値実験&解の検証
  • ここで暗黙知が出てきて、再度やり直す

問題設定:グルメ多人をフォローして東京のお店を網羅する

STEP 1 ユーザー候補、お店候補の抽出

STEP 2 ユーザーの選抜とお店の網羅

最大被覆問題

数理最適化がいいのは、PDCAを回しやすいところ。

追加パラメータを追加しやすい。

目的関数で、投稿の質・人気店の考慮を入れる。

数理最適化だけで綺麗にモデルを組めること、解けることは少ない。

入力データをどうスコアリング、レーティングするかが肝だったりする。

モデリング時間は安定。

求解計算時間は徐々に大きくなる傾向があるが、不安定

整数計画問題

数理モデリングのお話は初めて聞いたが、興味は湧いた。一言で言えば、データに対して、達成したいことや制約を定めると、解いてくれる(もしくは解けない)ということなのかな。機械学習との違いはあまりわかってない。

--

--

takkii
takkii

Written by takkii

Competitive Programming, MachineLearning, Manga, Music, BoardGame.