オペレーションズ・リサーチ

Operations Research: Models, Algorithms, and Implementations

作者
所属

法政大学

公開

2026年9月11日

まえがき

本書は,オペレーションズ・リサーチ(OR)の主要なモデルとアルゴリズムを,数理的な導出とPythonによる実装の両面から解説する教科書である.

法政大学の講義「オペレーションズ・リサーチB」および「最適化特論」の資料として執筆している.

本書の特徴

理論と実装を対にして扱う. AIやデータサイエンスの分野では,理論とPythonによる実装を併せて解説する教科書が増えている.一方,ORの分野でプログラミングを取り入れた教科書はまだ少ない.本書では,取り上げるモデルとアルゴリズムに,そのまま実行できるPythonコードを添える.本文の図は,一部を除いて,掲載しているコードの実行結果である.

導出を省略しない. 定理や公式は,結論だけを与えるのではなく,途中の式変形まで示す.読者が紙の上で最後まで追えることを目指している.

例と練習問題が多い. 例は解答まで含んでおり,読むだけで理解できる.練習問題は本文の議論に対応させて配置し,多くには解答をつけている.

想定する読者と前提知識

経営工学・情報工学系の学部2年生以上を想定している.読み進めるには,微分積分・線形代数・確率・統計の基礎知識が必要である.不足を感じたときのために,本書で用いる範囲を付録の微分積分確率線形代数にまとめてある.証明の書き方に慣れていない場合は,How to Write Proofsも参照するとよい.

Pythonの文法そのものは扱わない.コードが読めなくても本文の理解に支障はないが,読めるとより深く理解できる.

本書の読み方

章のあいだの依存関係は強くないため,興味のある分野から読んでも構わない.ただし,記号の章には本書全体で用いる記号をまとめてあるので,最初に目を通してほしい.

本文の形式

内容に応じて,次の形式を使い分けている.

は,定義や定理を具体的な数値で確かめるためのものであり,解答まで含む.読者は読むだけでよい.

練習は,読者が手を動かすためのものである.多くの練習には,直後に解答をつけている.解答は枠で囲まず,解答. という斜体の見出しで始まる形式で示す.

ノートは,本筋から外れる補足である.読み飛ばしても支障はない.

ノートノートの例

用語の由来や,関連する話題などを示す.

コードの実行方法

以下の手順で,本書に掲載されているコードをGoogle Colab上で実行できる.

  1. Googleアカウントにログインする
  2. Google Colabにアクセスする
  3. 「ノートブックを新規作成」をクリックする
  4. コードをコピーして,セルに貼り付ける
  5. セルを実行する

用いるライブラリはNumPy,SciPy,pandas,Matplotlib,NetworkXであり,いずれもColabに導入済みである.

なお,図を描くためのコードは折り畳んで表示している.「Code」をクリックすると展開できる.アルゴリズムの実装など,コードそのものが説明の対象である場合は,最初から展開してある.

本書について

本書は執筆途中であり,随時更新される.閲覧の際には,最新の内容が表示されるよう,必ずブラウザを再読み込みしてほしい.

誤字脱字,内容の不備,わかりにくい箇所などを見つけたら,劉子昂まで連絡してほしい.

Email: liu@hosei.ac.jp