情報
Pythonによる問題解決シリーズ 第2巻
最適化問題入門錐最適化・整数最適化・ネットワークモデルの組合せによる
典型的解法の組合せとPythonパッケージで最適化問題を解く
様々な問題をPythonで解くことを目指す「Pythonによる問題解決シリーズ」第2弾。
最適化問題に焦点を当てる本書では、解き方が分かっている典型的な最適化問題(ナップサック問題や巡回セールスマン問題など)を組み合わせ、Pythonパッケージを用いるプログラミングに落とし込んで解へと導く。
パッケージとしてPyomoやPICOSなどを使い、また、Pythonで最適化問題を解くためのモデリング言語としてPuLPを使う。
本書では、それらツールの使い方はもちろん、解法プログラムについても丁寧に解説する。
電子書籍¥3,520 小売希望価格(税込)
紙の書籍¥3,520定価(税込)
基本情報
| 発売日 | 2020年6月30日 |
|---|---|
| 本体価格 | 3,200円 |
| ページ数 | 232 ページ ※印刷物 |
| サイズ | B5 変形 |
| ISBN | 9784764906143 |
| ジャンル | 情報 |
| タグ | アルゴリズム, Python |
| 電子書籍形式 | 固定型 |
主要目次
第1章 Pythonで最適化を行うための環境構築
1.1 Pythonのインストール
1.2 パッケージのインストール
1.3 実行環境
第2章 数理最適化問題の分類方法
2.1 数式のかたちによる分類
2.1.1 線形最適化問題
2.1.2 錐線形最適化問題
2.1.3 混合整数最適化問題
2.2 解こうとする対象による分類
2.2.1 集合分割問題
2.2.2 ナップサック問題
2.2.3 ネットワーク最適化問題
2.2.4 巡回セールスマン問題
2.2.5 配送計画問題
第3章 Pythonパッケージによる数理最適化問題のモデリング
3.1 線形最適化問題
3.1.1 様々なモデリングインターフェイス
3.1.2 PuLPの使い方
3.1.3 Pyomoの使い方
3.2 錐線形最適化問題
PICOSの使い方
3.3 ネットワーク最適化問題
NetworkXの使い方
3.4 混合整数最適化問題
PICOSの使い方
第4章 数式のかたちで分けられる最適化問題
4.1 線形最適化問題の解き方
4.1.1 栄養問題
4.1.2 列生成および切除平面
4.2 二次錐最適化問題の解き方
4.2.1 回転つき二次錐制約
4.2.2 ロバスト線形最適化問題
4.3 半正定値最適化問題の解き方
4.3.1 最大カット問題に対する緩和
4.3.2 多項式最適化
4.4 混合整数最適化問題の解き方
4.4.1 緩和問題と凸包
4.4.2 施設配置問題
4.4.3 Perspectiveを用いた定式化
第5章 解こうとする対象による分類
5.1 集合分割問題の解き方
5.1.1 0-1整数線形最適化問題としての定式化
5.1.2 PuLPによるモデル化
5.2 ナップサック問題の解き方
5.2.1 0-1整数線形最適化問題としての定式化
5.2.2 分枝限定法
5.2.3 動的計画法
5.3 ネットワーク最適化問題の解き方
5.3.1 最短路問題の解き方
5.3.2 最大流問題の解き方
5.3.3 時間枠付き最短路問題の解き方
5.3.4 OpenStreetMapによる道路データの利用
5.4 巡回セールスマン問題の解き方
5.4.1 0-1整数線形最適化問題としての定式化
5.4.2 PuLPとNetworkXによるモデル化
5.5 配送計画問題の解き方
5.5.1 集合分割問題としての定式化
5.5.2 PuLPによる列生成法の実装
1.1 Pythonのインストール
1.2 パッケージのインストール
1.3 実行環境
第2章 数理最適化問題の分類方法
2.1 数式のかたちによる分類
2.1.1 線形最適化問題
2.1.2 錐線形最適化問題
2.1.3 混合整数最適化問題
2.2 解こうとする対象による分類
2.2.1 集合分割問題
2.2.2 ナップサック問題
2.2.3 ネットワーク最適化問題
2.2.4 巡回セールスマン問題
2.2.5 配送計画問題
第3章 Pythonパッケージによる数理最適化問題のモデリング
3.1 線形最適化問題
3.1.1 様々なモデリングインターフェイス
3.1.2 PuLPの使い方
3.1.3 Pyomoの使い方
3.2 錐線形最適化問題
PICOSの使い方
3.3 ネットワーク最適化問題
NetworkXの使い方
3.4 混合整数最適化問題
PICOSの使い方
第4章 数式のかたちで分けられる最適化問題
4.1 線形最適化問題の解き方
4.1.1 栄養問題
4.1.2 列生成および切除平面
4.2 二次錐最適化問題の解き方
4.2.1 回転つき二次錐制約
4.2.2 ロバスト線形最適化問題
4.3 半正定値最適化問題の解き方
4.3.1 最大カット問題に対する緩和
4.3.2 多項式最適化
4.4 混合整数最適化問題の解き方
4.4.1 緩和問題と凸包
4.4.2 施設配置問題
4.4.3 Perspectiveを用いた定式化
第5章 解こうとする対象による分類
5.1 集合分割問題の解き方
5.1.1 0-1整数線形最適化問題としての定式化
5.1.2 PuLPによるモデル化
5.2 ナップサック問題の解き方
5.2.1 0-1整数線形最適化問題としての定式化
5.2.2 分枝限定法
5.2.3 動的計画法
5.3 ネットワーク最適化問題の解き方
5.3.1 最短路問題の解き方
5.3.2 最大流問題の解き方
5.3.3 時間枠付き最短路問題の解き方
5.3.4 OpenStreetMapによる道路データの利用
5.4 巡回セールスマン問題の解き方
5.4.1 0-1整数線形最適化問題としての定式化
5.4.2 PuLPとNetworkXによるモデル化
5.5 配送計画問題の解き方
5.5.1 集合分割問題としての定式化
5.5.2 PuLPによる列生成法の実装