《最优化方法及其Matlab程序设计》较系统地介绍了非线性最优化问题的基本理论和算法,以及主要算法的Matlab程序设计,主要内容包括(精确或非精确)线搜索技术、最速下降法与(修正)牛顿法、共轭梯度法、拟牛顿法、信赖域方法、非线性最小二乘问题的解法、约束优化问题的最优性条件、罚函数法、可行方向法、二次规划问题的解法、序列二次规划法等。设计的Matlab程序有精确线搜索的0.618法和抛物线法、非精确线搜索的Armijo准则、最速下降法、牛顿法、再开始共轭梯度法、BFGS算法、DFP算法、Broyden族方法、信赖域方法、求解非线性最小二乘问题的L.M算法、解约束优化问题的乘子法、求解二次规划的有效集法、SQP子问题的光滑牛顿法以及求解约束优化问题的SQP方法等,此外,《最优化方法及其Matlab程序设计》配有丰富的例题和习题,并在附录介绍了Matlab优化工具箱的使用方法。《最优化方法及其Matlab程序设计》既注重计算方法的实用性,又注意保持理论分析的严谨性,强调数值方法的思想和原理在计算机上的实现,读者只需具备微积分、线性代数和Matlab程序设计方面的初步知识即可学习《最优化方法及其Matlab程序设计》, 《最优化方法及其Matlab程序设计》可供数学与应用数学、信息与计算科学专业的本科生,应用数学、计算数学、运筹学与控制论专业的研究生,理工科相关专业的研究生,对最优化理论与算法感兴趣的教师及科技工作者阅读。
更多科学出版社服务,请扫码获取。
运筹学的理论与方法广泛应用于工业与农业、交通与运输、国防与建筑,以及通信与管理等各个部门和领域,它主要解决最优计划、最优分配、最优决策以及最佳设计和最佳管理等最优化问题。本书所介绍的最优化方法又称为数学规划,是运筹学的一个重要分支,也是计算数学和应用数学的一个重要组成部分。
本书系统地介绍了非线性优化的理论与方法,及其Matlab程序设计,适合数学与应用数学、信息与计算科学专业的本科生,应用数学、计算数学、运筹学与控制论专业的研究生,理工科相关专业的研究生,对最优化理论与算法感兴趣的教师及科技工作者阅读。读者只需具备微积分、线性代数和Matlab程序设计方面的初步知识。
本书的主要内容包括最优化理论基础、(精确或非精确)线搜索技术、最速下降法与(修正)牛顿法、共轭梯度法、拟牛顿法、信赖域方法、非线性最小二乘问题的解法、(约束优化问题的)最优性条件、罚函数法、可行方向法、二次规划问题的解法、序列二次规划法等。设计的Matlab程序有精确线搜索的0.618法和抛物线法、非精确线搜索的Armijo准则、最速下降法、牛顿法、再开始共轭梯度法、对称秩1算法、BFGS算法、DFP算法、Broyden族方法、信赖域方法、求解非线性最小二乘问题的L—M算法、解约束优化问题的乘子法、求解二次规划的有效集法、牛顿一拉格朗日算法、SQP子问题的光滑牛顿法以及求解约束优化问题的SQP方法等。此外,本书配有丰富的例题和习题,并在附录介绍了Ma。tlab优化工具箱的使用方法。本书既注重计算方法的实用性,又注意保持理论分析的严谨性,强调数值方法的思想和原理在计算机上的实现。
目录
第1章 最优化理论基础 1
1.1 最优化问题的数学模型 1
1.2 向量和矩阵范数 2
1.3 函数的可微性与展开 3
1.4 凸集与凸函数 6
1.5 无约束问题的最优性条件 9
1.6 无约束优化问题的算法框架 11
习题1 13
第2章 线搜索技术 14
2.1 精确线搜索及其Matlab实现 15
2.1.1 黄金分割法 15
2.1.2 抛物线法 18
2.2 非精确线搜索及其Matlab实现 21
2.2.1 Wolfe准则 22
2.2.2 Armijo准则 22
2.3 线搜索法的收敛性 24
习题2 27
第3章 最速下降法和牛顿法 29
3.1 最速下降方法及其Matlab实现 29
3.2 牛顿法及其Matlab实现 32
3.3 修正牛顿法及其Matlab实现 37
习题3 41
第4章 共轭梯度法 42
4.1 共轭方向法 42
4.2 共轭梯度法 44
4.3 共轭梯度法的Matlab程序 49
习题4 51
第5章 拟牛顿法 53
5.1 拟牛顿法及其性质 53
5.2 BFGS算法及其Matlab实现 56
5.3 DFP算法及其Matlab实现 60
5.4 Broyden族算法及其Matlab实现 62
5.5 拟牛顿法的收敛性 68
习题5 72
第6章 信赖域方法 74
6.1 信赖域方法的基本结构 74
6.2 信赖域方法的收敛性 76
6.3 信赖域子问题的求解 79
6.4 信赖域方法的Matlab程序 83
习题6 85
第7章 非线性最小二乘问题 87
7.1 Gauss Newton法 87
7.2 Levenberg Marquardt方法 90
7.3 L-M算法的Matlab程序 96
习题7 98
第8章 最优性条件 100
8.1 等式约束问题的最优性条件 100
8.2 不等式约束问题的最优性条件 102
8.3 一般约束问题的最优性条件 106
8.4 鞍点和对偶问题 108
习题8 112
第9章 罚函数法 114
9.1 外罚函数法 114
9.2 内点法 117
9.2.1 不等式约束问题的内点法 117
9.2.2 一般约束问题的内点法 120
9.3 乘子法 121
9.3.1 等式约束问题的乘子法 121
9.3.2 一般约束问题的乘子法 125
9.4 乘子法的Matlab实现 128
习题9 132
第10章 可行方向法 134
10.1 Zoutendijk可行方向法 134
10.1.1 线性约束下的可行方向法 134
10.1.2 非线性约束下的可行方向法 138
10.2 梯度投影法 143
10.2.1 梯度投影法的理论基础 143
10.2.2 梯度投影法的计算步骤 146
10.3 简约梯度法 149
10.3.1 Wolfe简约梯度法 149
10.3.2 广义简约梯度法 156
习题10 159
第11章 二次规划 162
11.1 等式约束凸二次规划的解法 162
11.1.1 零空间方法 162
11.1.2 拉格朗日方法及其Matla.b程序 163
11.2 一般凸二次规划的有效集方法 166
11.2.1 有效集方法的理论推导 167
11.2.2 有效集方法的算法步骤 169
11.2.3 有效集方法的Matlab程序 173
习题11 178
第12章 序列二次规划法 180
12.1 牛顿拉格朗日法 180
12.1.1 牛顿拉格朗日法的基本理论 180
12.1.2 牛顿拉格朗日法的Matlab程序 182
12.2 SQP方法的算法模型 185
12.2.1 基于拉格朗日函数Hesse矩阵的SQP方法 185
12.2.2 基于修正Hesse矩阵的SQP方法 192
12.3 SQP方法的相关问题 195
12.3.1 二次规划子问题的Hesse矩阵 195
12.3.2 价值函数与搜索方向的下降性 196
12.4 SQP方法的Matlab程序 202
12.4.1 SQP子问题的Matlab实现 202
12.4.2 SQP方法的Matlab实现 210
习题12 215
参考文献 217
附录 Matlab优化工具箱简介 218
A.1 线性规划 218
A.2 二次规划 220
A.3 无约束非线性优化 221
A.4 非线性最小二乘问题 222
A.5 约束条件的非线性优化命令 223
A.6 最小最大值的优化问题 225