Julia 高性能科學計算, 2/e
內容描述
Julia像C一樣快,像MATLAB一樣方便,並且像Python一樣通用。
在Julia開發者,特別是JuMP包開發者的大力支持下,
Julia為運籌學及相關領域的高性能科學計算提供了一個強大的工具——JuMP。
《Julia高性能科學計算(第2版)》對Julia語法基礎及其標準庫、編程技巧、
數值優化、優化求解、計算機科學計算都有所涉及,它可以作為計算機科學計算的入門圖書使用;
《 Julia高性能科學計算(第2版)》作者是美國南佛羅里達大學副教授Changhyun Kwon,
他為了方便學生的研究、學習寫下本書,
所以《Julia高性能科學計算(第2版)》也可以作為高校研究生和教師的有用的參考書。
目錄大綱
第1 章介紹和安裝 1
1.1 什麼是Julia 及為什麼要使用Julia 2
1.2 安裝Julia 4
1.2.1 在Windows 系統上安裝Julia 4
1.2.2 在macOS 系統上安裝Julia 9
1.23 運行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
作者介紹
Changhyun Kwon
是南佛羅里達大學工業與管理系統工程副教授。
他的研究興趣包括運輸系統分析和服務運營問題。
他的研究得到了包括國家科學基金會、美國運輸部和加拿大大使館在內的各種組織的支持。
在加入南佛羅里達大學之前,Changhyun Kwon曾在布法羅大學任教,並於2015年獲得UB傑出學者:青年研究者獎。
譯者
徐國棟
浙江大學計算機專業碩士,目前主要從事與3D視覺相關的研究,Julia愛好者,Julia中文社區翻譯參與者。
李琦
生物信息資深從業者,星宇辰庚CEO。Julia骨灰粉,Julia中文社區翻譯參與者。