数理計画法(Mathematical Programming)は、数理モデル(”現実”を式で表したもの)の、 最適解を求めるための方法です。 最適解というのは、利益の問題なら、利益が最大の状態ですし、 輸送の問題なら、最短ルートや最小コストのことです。
名前が「計画法」となっているので 実験計画法 との関係が気になりますが、 実験計画法は、「実験”を”計画する方法」で、 数理計画法は、「数理”で”計画する方法」と考えれば良いようです。
さて、数理モデルで最適解を探す作業は、数理計画法以外の分野でもしていることです。
例えば、
実験計画法
で最適条件を見つけたり、
品質工学
で安定した品質の条件を決めたり、
リスク解析
でリスクを最小にする方法を考えたり、
回帰分析
で予測式を見つける作業です。
そう考えると、数理計画法とは何かがわからなくなってきますが、
筆者は数理計画法を下記のように考えています。
オペレーションズ・リサーチから出発した数理計画法は、 理論が深められて、応用の広い基礎理論になりつつあるようです。 数理モデルの「最適解は求まるのか否か」という深遠な研究もあります。 おそらく、このサイトで取り上げたいろいろな手法と無関係ではないです。
数理計画法が扱う数理モデルは、○○問題と言われています。 これらの解法の研究が、数理計画法の使命になっています。 解法の筆頭が、線形計画法です。 また、これらの問題を眺めると、数理計画法が何をしようとしているかが見えます。
問題が、いくつかの不等式で表されていると、 不等式によって、解を得られる範囲に制約ができています。
線形計画法は、その不等式が 線形 の式で表されている時に、 その制約の中での最適値を求める方法です。
「Python言語によるビジネスアナリティクス実務家のための最適化・統計解析・機械学習」 久保幹雄 他 著 近代科学社 2016
グラフ、統計解析、機械学習、ネットワーク分析、最適化、Excelとの連携、といった事をするのに使うツールが、
Pythonではモジュールとしてまとまっているそうです。
この本は、モジュールの使い方事典のような内容です。
Pythonの本としては珍しく、動的計画法など、数理計画法関係にもかなりのページを割いています。
「メタヒューリスティクスの数理」久保幹雄 ・J.P.ペドロソ 著 共立出版 2009
数理計画法の解法にメタヒューリスティクスを使います。
「メタ」とは、各手法の集合という意味です。
この本は、手法集であり、手引書です。
「数理計画入門」 福島雅夫 著 朝倉書店 1996
具体例を通して理解を深めることを目指した本
「数理計画法」 加藤直樹 著 コロナ社 2008
数学の本です。各手法と問題の関係が、すっきりと整理されています。
「数理計画法の基礎」 坂和正敏 著 森北出版
「グラフ・ネットワークアルゴリズムの基礎」 浅野孝夫 著 近代科学社 2017
経路の探索問題のアルゴリズムを解説。
順路 次は 遺伝的アルゴリズム