歩苦 求路の備忘録 (旧:奇人な鬼神)

お酒、特にスピリタスについて備忘のためにつらつらと。

DataSmart 第4章 最適化モデリング:(略)

実装前に立てた目標

  • 線形モデルを実際の現場でどのように使えばいいのかを把握する
  • アルゴリズムの違いを(現状は)なんとなくで良いので認識する
  • 複数の制約の中、最適条件を算出する方法を経験する

人工知能と最適化モデルの非常におおざっぱな違い

  • 人工知能
    • 入力を分析して結果を予測、未来を調べる
  • 最適化モデル…
    • 様々な条件を満たす最適な結果を導く、現時点での最適解を調べる
    • ビジネスの問題をコンピュータで解決可能となるように定式化する。

線形プログラミングで計算ができないケース

  • 変数同士の乗算が必要となる
  • if文などの論理チェックを通じて決定変数が決まる
    • x個以上製造した場合、y円の割引がある 等々のケース

上記のケースの場合は、エボリューショナリーで計算を行うが、
以下の欠点があるうえで実行する必要がある。

  • エボリューショナリーは処理に非常に時間がかかる。
  • 最終的に求めたい数値以外に、厳密な条件を入れる必要がある。
    • エボリューショナリーは数多の解から取捨選択をして値を計算するため

ソルバーで使用される、不等号以外の条件

  • int … 選択した値を整数とする
  • bin… 選択した値を二進数のどちらかとする
  • dif… 選択した値をすべて異なる値とする 私見:intは変更対象が個数等の整数しかとりえない場合には必ず必要になるため、
       頻出しそう…

エクセルで計算ができるモデルの限度(Excel365の場合)

いずれの条件を満たすものはソルバーでの分析不可能 + 変更する対象の値(セル)が200個を超える場合 + 制約条件が100件を超える場合 私見:エクセルは、あくまでプロトタイプレベルの分析にとどめた方がよい模様。

excelの不等号式

複数<単数 …OK
単数<複数 …NG
→左は比較対象のため、単数の場合は比較元の右のすべてに適用される?

ここまでこなしてきた状態での私見

本書は、コンサルや、システム屋がとっかかりとして取り組むというよりも、
メーカサイドでそういう分析が必要になる人向けって感じがしますね。
(事実、これをこなしていた時に、前職のメーカであれば、即活用ができただろうなぁ…
なんてことも考えました)

専門家に頼む前に、まずは自前でできないかと考える、
現場の管理責任者にこそ、取り組んでもらえるといいのではないか…
と思います。

これであれば、予算もほぼ0円で実行できますし、
エクセルで実現できなければ『何が足りないのか』がより明確になるため、
専門家に頼むときも有用ですしね。