《Julia高性能科學計算(第2版)》是2020年3月電子工業出版社出版的圖書,作者是徐國棟、李琦。
基本介紹
- 書名:Julia高性能科學計算(第2版)
- 作者:徐國棟
李琦 - ISBN:9787121381775
- 頁數:240頁
- 定價:79元
- 出版社:電子工業出版社
- 出版時間:2020年3月
- 開本:16開
內容簡介,圖書目錄,
內容簡介
Julia 像C 一樣快,像MATLAB 一樣方便,並且像Python 一樣通用。在Julia 開發者,特別是JuMP 包開發者的大力支持下,Julia 為運籌學及相關領域的高性能科學計算提供了一個強大的工具——JuMP。本書對Julia 語法基礎及其標準庫、編程技巧、數值最佳化、最佳化求解、計算機科學計算都有所涉及,它可以作為計算機科學計算的入門圖書使用;本書作者是美國南佛羅里達大學副教授Changhyun Kwon,他為了方便學生的研究、學習寫下本書,所以本書也可以作為高校研究生和教師的有用的參考書。
圖書目錄
第1 章 介紹和安裝 ·················································································································.1
1.1 什麼是Julia 及為什麼要使用Julia ·····································································.2
1.2 安裝Julia ····················································································································.4
1.2.1 在Windows 系統上安裝Julia ··································································.4
1.2.2 在macOS 系統上安裝Julia ·····································································.9
1.2.3 運行Julia 腳本 ···························································································.13
1.2.4 安裝Gurobi·································································································.13
1.2.5 安裝CPLEX ·······························································································.15
1.3 安裝IJulia·················································································································.17
1.4 包管理 ·······················································································································.20
1.5 幫助 ····························································································································.22
第2 章 簡單線性規劃···········································································································.24
2.1 線性規劃問題 ··········································································································.25
2.2 寫線性規劃問題的其他方式 ···············································································.29
2.3 寫線性規劃問題的另一種方式 ··········································································.31
2.4 混合整數線性規劃問題 ························································································.32
第3 章 Julia 語言基礎 ·········································································································.35
3.1 向量、矩陣和數組 ·································································································.35
3.2 元組 ····························································································································.40
3.3 索引和範圍 ··············································································································.42
3.4 列印信息 ···················································································································.45
3.5 集合、字典和循環 ·································································································.47
3.6 函式 ····························································································································.50
3.7 變數的作用域 ··········································································································.52
3.8 隨機數生成 ··············································································································.55
3.9 檔案讀/寫 ·················································································································.59
3.10 繪圖 ·························································································································.63
3.10.1 PyPlot 包····································································································.64
3.10.2 在PyPlot 中避免使用第三方字型······················································.68
第4 章 數值方法選題···········································································································.70
4.1 曲線擬合 ···················································································································.70
4.2 數值微分 ···················································································································.75
4.3 數值積分 ···················································································································.78
4.4 自動微分 ···················································································································.80
第5 章 單純形法 ···················································································································.84
5.1 單純形法簡介 ··········································································································.84
5.2 查詢所有基本可行解 ····························································································.87
5.3 使用JuMP 包 ··········································································································.93
5.4 表格式的樞軸旋轉 ·································································································.93
5.5 單純形法的實現 ·····································································································.95
5.5.1 initialize(c,A,b) ···························································································.97
5.5.2 is_optimal(tableau) ····················································································.99
5.5.3 pivoting!(tableau) ·····················································································.100
5.5.4 創建模型 ···································································································.104
5.6 後面的步驟 ············································································································.110
第6 章 網路最佳化問題·········································································································.111
6.1 最小費用網路流問題 ··························································································.111
6.2 運輸問題 ·················································································································.121
6.3 最短路徑問題 ········································································································.127
6.4 實現Dijkstra 算法 ································································································.132
第7 章 內點法 ······················································································································.138
7.1 仿射尺度算法 ········································································································.138
7.2 原路徑跟蹤算法 ···································································································.144
7.3 評述 ··························································································································.149
第8 章 非線性最佳化問題 ····································································································.151
8.1 無約束最佳化 ············································································································.151
8.1.1 線性搜尋 ···································································································.151
8.1.2 無約束最佳化 ·······························································································.153
8.1.3 盒約束最佳化 ·······························································································.154
8.2 非線性最佳化 ············································································································.155
8.3 其他求解器 ············································································································.156
8.4 混合整數非線性規劃 ··························································································.161
第9 章 蒙特卡洛方法·········································································································.163
9.1 機率分布 ·················································································································.163
9.2 隨機線性規劃 ········································································································.165
9.3 估算簡單路徑的數目 ··························································································.172
第10 章 拉格朗日鬆弛 ······································································································.181
10.1 拉格朗日鬆弛介紹 ····························································································.181
10.1.1 下界與上界 ·····························································································.182
10.1.2 次梯度最佳化 ·····························································································.183
10.1.3 總結 ··········································································································.184
10.2 p-中位問題 ···········································································································.184
10.2.1 讀取數據檔案 ························································································.186
10.2.2 最最佳化求解p-中位問題 ······································································.188
10.2.3 拉格朗日鬆弛套用 ···············································································.189
10.2.4 求解下界 ·································································································.189
10.2.5 求解上界 ·································································································.193
10.2.6 更新拉格朗日乘子 ···············································································.195
第11 章 互補問題 ···············································································································.208
11.1 線性互補問題(LCP) ····················································································.208
11.2 非線性互補問題(NCP) ···············································································.216
11.3 混合互補問題(MCP) ···················································································.220
第12 章 最最佳化求解器中的參數 ····················································································.221
12.1 設定CPU 時間限制 ··························································································.221
12.2 設定最最佳化間隙公差 ························································································.222
12.3 熱啟動 ···················································································································.223
12.4 Big-M 與積分容差率 ·························································································.224
12.5 關掉求解器的輸出 ····························································································.225
12.6 其他求解器參數 ·································································································.226