情報
Pythonによる問題解決シリーズ 第1巻
データ分析ライブラリーを用いた最適化モデルの作り方
最適化モデルが作れる!
本シリーズは、「実践」という観点から、Pythonを用いて様々なテーマの問題解決を行うための手法を、気鋭の執筆陣が解説する。
第一弾ある本書は、Pythonのデータ分析ライブラリーと最適化ライブラリーを組み合わせることで、シンプルでわかりやすい最適化モデルの作成方法を学ぶことを目的とする。サンプルプログラムをダウンロードし、実際に手を動かしながら学ぶことができる。
Pythonで最適化モデルを構築する読者には必読の書である。
電子書籍¥3,520 小売希望価格(税込)
紙の書籍¥3,520定価(税込)
基本情報
発売日 | 2018年12月13日 |
---|---|
本体価格 | 3,200円 |
ページ数 | 224 ページ ※印刷物 |
サイズ | B5 変形 |
ISBN | 9784764905801 |
ジャンル | 情報 |
タグ | アルゴリズム, Python |
電子書籍形式 | 固定型 |
主要目次
第1章 最適化とは
1.1 最適化モデル
1.2 最適化問題の種類
1.3 典型問題とは
1.4 ビジネスで使われる最適化問題
1.5 数理モデルの記述方法あれこれ
1.6 なぜ、最適化でPython なのか
第2章 Python で最適化を解くための環境構築
2.1 Python のインストール
2.2 ライブラリーのインストール
第3章 Jupyter Notebook の使い方
3.1 Jupyter の使い方
3.2 マジックコマンド
3.3 Jupyter に関する補足
第4章 PuLPの使い方: 最適化モデルを作る
4.1 良いモデルとは
4.2 PuLPの使い方
4.3 ソルバーについて
4.4 ortoolpy の使い方
PULP Cheat Sheet
第5章 pandasの使い方: 変数表を作る
5.1 データの作成
5.2 データの参照
5.3 ブロードキャスト
5.4 条件抽出
5.5 ユニバーサル関数
5.6 軸で演算する関数
5.7 その他の関数
5.8 グラフ描画について
5.9 NumPyの関数
第6章 NetworkX の使い方: グラフを作る
6.1 グラフとは
6.2 グラフの種類
6.3 グラフの用語
6.4 グラフの種類別の構築方法
6.5 グラフの最適化問題
6.6 japanmap の使い方
第7章 モデルの作り方 (基本)
7.1 いちばんやさしいマス埋め問題
7.2 輸送最適化問題
7.3 pandas を使った最適化モデルのテクニック
7.4 生産最適化を解く
7.5 ロジスティクス・ネットワーク設計問題
7.6 ナンプレを解く
7.7 最適化モデル作成の高度なテクニック
第8章 モデルの作り方(応用)
8.1 野球選手の守備を決めよう
8.2 県を4色に塗り分けよう
8.3 画像ファイルを4色で塗ろう
8.4 デートコースを決めよう
8.5 巡視船の航路を決めよう
8.6 学区編成問題
8.7 ゲーム理論の混合戦略
8.8 最長しりとりを求める
8.9 最短超文字列問題を解く
8.10 バラバラの写真を復元せよ
8.11 体育祭の写真選択
8.12 凸多角形の最適三角形分割
8.13 エデンの園配置の確認
8.14 麻雀のあがりの判定
第9章 最適化アラカルト
9.1 考え方:最適化プロジェクトの進め方
9.2 話題: ソルバーの威力
9.3 話題: ナップサック問題の結果の図示
9.4 話題:ミニサムとミニマックスとは
9.5 考え方:ビンパッキング問題の解き方
9.6 考え方: ビンパッキング問題に対するアプローチの比較
9.7 手法:線形緩和問題とは
9.8 手法:緩和固定法
9.9 手法:ローリング・ホライズン方式
9.10 手法:時空間ネットワーク
9.11 話題:双対問題
9.12 手法: モンテカルロ法を用いた最短路の計算
9.13 話題:パズルを最適化で解く
付録A 最適化のアルゴリズム
A.1 アルゴリズムの枠組み
A.2 クラスカル法
A.3 ダイクストラ法
A.4 動的最適化
A.5 シンプレックス法
A.6 内点法
A.7 分枝限定法
A.8 図で見る分枝限定法
A.9 局所探索法
付録B 典型的な最適化問題
参考文献
索引
1.1 最適化モデル
1.2 最適化問題の種類
1.3 典型問題とは
1.4 ビジネスで使われる最適化問題
1.5 数理モデルの記述方法あれこれ
1.6 なぜ、最適化でPython なのか
第2章 Python で最適化を解くための環境構築
2.1 Python のインストール
2.2 ライブラリーのインストール
第3章 Jupyter Notebook の使い方
3.1 Jupyter の使い方
3.2 マジックコマンド
3.3 Jupyter に関する補足
第4章 PuLPの使い方: 最適化モデルを作る
4.1 良いモデルとは
4.2 PuLPの使い方
4.3 ソルバーについて
4.4 ortoolpy の使い方
PULP Cheat Sheet
第5章 pandasの使い方: 変数表を作る
5.1 データの作成
5.2 データの参照
5.3 ブロードキャスト
5.4 条件抽出
5.5 ユニバーサル関数
5.6 軸で演算する関数
5.7 その他の関数
5.8 グラフ描画について
5.9 NumPyの関数
第6章 NetworkX の使い方: グラフを作る
6.1 グラフとは
6.2 グラフの種類
6.3 グラフの用語
6.4 グラフの種類別の構築方法
6.5 グラフの最適化問題
6.6 japanmap の使い方
第7章 モデルの作り方 (基本)
7.1 いちばんやさしいマス埋め問題
7.2 輸送最適化問題
7.3 pandas を使った最適化モデルのテクニック
7.4 生産最適化を解く
7.5 ロジスティクス・ネットワーク設計問題
7.6 ナンプレを解く
7.7 最適化モデル作成の高度なテクニック
第8章 モデルの作り方(応用)
8.1 野球選手の守備を決めよう
8.2 県を4色に塗り分けよう
8.3 画像ファイルを4色で塗ろう
8.4 デートコースを決めよう
8.5 巡視船の航路を決めよう
8.6 学区編成問題
8.7 ゲーム理論の混合戦略
8.8 最長しりとりを求める
8.9 最短超文字列問題を解く
8.10 バラバラの写真を復元せよ
8.11 体育祭の写真選択
8.12 凸多角形の最適三角形分割
8.13 エデンの園配置の確認
8.14 麻雀のあがりの判定
第9章 最適化アラカルト
9.1 考え方:最適化プロジェクトの進め方
9.2 話題: ソルバーの威力
9.3 話題: ナップサック問題の結果の図示
9.4 話題:ミニサムとミニマックスとは
9.5 考え方:ビンパッキング問題の解き方
9.6 考え方: ビンパッキング問題に対するアプローチの比較
9.7 手法:線形緩和問題とは
9.8 手法:緩和固定法
9.9 手法:ローリング・ホライズン方式
9.10 手法:時空間ネットワーク
9.11 話題:双対問題
9.12 手法: モンテカルロ法を用いた最短路の計算
9.13 話題:パズルを最適化で解く
付録A 最適化のアルゴリズム
A.1 アルゴリズムの枠組み
A.2 クラスカル法
A.3 ダイクストラ法
A.4 動的最適化
A.5 シンプレックス法
A.6 内点法
A.7 分枝限定法
A.8 図で見る分枝限定法
A.9 局所探索法
付録B 典型的な最適化問題
参考文献
索引