书籍详情
Julia高性能科学计算(第2版)
作者:Changhyun Kwon(权昌贤) 著,徐国栋,李琦 译
出版社:电子工业出版社
出版时间:2020-05-01
ISBN:9787121381775
定价:¥79.00
购买这本书可以去
内容简介
Julia像C一样快,像MATLAB一样方便,并且像Python一样通用。在Julia开发者,特别是JuMP包开发者的大力支持下,Julia为运筹学及相关领域的高性能科学计算提供了一个强大的工具——JuMP。 《Julia高性能科学计算(第2版)》对Julia语法基础及其标准库、编程技巧、数值优化、优化求解、计算机科学计算都有所涉及,它可以作为计算机科学计算的入门图书使用;《Julia高性能科学计算(第2版)》作者是美国南佛罗里达大学副教授Changhyun Kwon,他为了方便学生的研究、学习写下本书,所以《Julia高性能科学计算(第2版)》也可以作为高校研究生和教师的有用的参考书。
作者简介
Changhyun Kwon是南佛罗里达大学工业与管理系统工程副教授。他的研究兴趣包括运输系统分析和服务运营问题。他的研究得到了包括国家科学基金会、美国运输部和加拿大大使馆在内的各种组织的支持。在加入南佛罗里达大学之前,Changhyun Kwon曾在布法罗大学任教,并于2015年获得UB杰出学者:青年研究者奖。 译者 徐国栋:浙江大学计算机专业硕士,目前主要从事与3D视觉相关的研究,Julia爱好者,Julia中文社区翻译参与者。 李琦:生物信息资深从业者,星宇辰庚CEO。Julia骨灰粉,Julia中文社区翻译参与者。
目录
第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
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
猜您喜欢