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

Operations Research: Models, Algorithms, and Implementations

作者
所属

法政大学

公開

2026年10月27日

まえがき

本書は,オペレーションズ・リサーチ(OR)の主要なモデルとアルゴリズムについて,その考え方と数理的な導出を解説する教科書である.

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

本書の特徴

具体的な問題から数理モデルへつなぐ. 在庫管理や効率性の評価などの問題を通じて,何を決め,何を評価するのかを整理し,数式で表す考え方を説明する.モデルの前提と,式が表す意味を大切にする.

結果に至る道筋を丁寧にたどる. 定理や公式の背景にある考え方を説明し,導出に必要な式変形を順を追って示す.結果がなぜ成り立つのかを,読者が自分の手で確かめられるようにする.

例で学び,練習問題で理解を確かめる. 本文の議論に沿った例で,モデルや解法の使い方を示す.さらに,練習問題を通じて,自分で考え,解く力を養う.

図と計算で理解を補う. 数式に加えて,図や数値例を用い,モデルの性質やアルゴリズムの動作を具体的に示す.Pythonのコードも掲載し,計算結果を再現したり,条件を変えて挙動を確かめたりできるようにする.

想定する読者と前提知識

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

Pythonの文法そのものは扱わないが,理論の説明はコードを読まなくても理解できるように構成している.コードも併せて読み,実行することで,モデルやアルゴリズムの具体的な動作を確かめられる.

本書の読み方

興味のある分野から読み始めても構わない.ただし,同じ分野に属する章は,それ以前の章の内容を前提とすることがあるため,掲載順に読むことを勧める.また,記号の章には本書全体で用いる記号をまとめてあるので,最初に目を通してほしい.

本文の形式

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

例では,定義や定理の意味や使い方を具体的に示し,解答まで説明する.

練習は,読者が自分で解き,理解を確かめるための問題である.多くの練習には,直後に解答を付けている.解答は枠で囲まず,斜体の見出し 解答. で始める.

ノートでは,本文に関連する補足的な話題を扱う.読み飛ばしても本文の理解に支障はない.

ノートノートの例

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

コードの実行方法

本書に掲載したコードは,以下の手順でGoogle Colab上で実行できる.

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

それ以前のコードで定義した変数や関数を使う場合は,必要なコードを先に実行してほしい.

主に用いるライブラリはNumPy,SciPy,pandas,Matplotlib,NetworkXである.一部の章では,Gurobiやscikit-learnも使用する.追加のライブラリが必要な場合は,各章の説明に従って準備してほしい.

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

問い合わせ

本書は執筆途中であり,随時更新している.ページを開いたままにしている場合は,再読み込みして最新の内容を確認してほしい.

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

Email: liu@hosei.ac.jp