第1部分 最优化理论与算法 3
第1章 数学基础 3
1.1 向量范数 5
1.2 矩阵范数 5
1.3 内积 6
1.4 范数球 7
1.5 内点 8
1.6 闭包和边界 9
1.7 上确界和下确界 10
1.8 函数 11
1.9 连续性 11
1.10 导数和梯度 12
1.11 海森矩阵 14
1.12 泰勒级数 15
第2章 凸集、凸函数与凸问题 17
2.1 仿射集和凸集 17
2.1.1 直线和线段 17
2.1.2 仿射集和仿射包 17
2.1.3 相对内部和相对边界 20
2.1.4 凸集和凸包 20
2.1.5 锥和锥包 23
2.1.6 凸集的例子 23
2.2 保凸运算 27
2.2.1 交集 27
2.2.2 仿射函数 28
2.2.3 透视函数和线性分式函数 31
2.3 基本性质和示例 32
2.3.1 定义 32
2.3.2 一阶条件 35
2.3.3 二阶条件 38
2.3.4 上境图 39
2.3.5 Jensen不等式 41
2.4 保凸运算 43
2.4.1 非负加权和 43
2.4.2 仿射映射的组成 44
2.4.3 逐点最大值和最大值 44
2.4.4 复合函数 46
2.4.5 逐点最小值和最小值 47
2.4.6 透视函数 48
2.5 标准形式的优化问题 49
2.5.1 一些术语 50
2.5.2 最优解 50
2.5.3 等效问题和可行性问题 51
2.6 凸优化问题 52
2.6.1 局部和全局最优 53
2.6.2 最优准则 53
第3章 对偶原理 61
3.1 拉格朗日对偶函数 61
3.1.1 拉格朗日 61
3.1.2 拉格朗日对偶函数 61
3.1.3 最优值的下界 61
3.1.4 用线性逼近来理解 63
3.1.5 例子 63
3.1.6 拉格朗日对偶函数和共轭函数 65
3.2 拉格朗日对偶问题 67
3.2.1 显式表达对偶约束 67
3.2.2 弱对偶性 69
3.2.3 强对偶性和Slater约束准则 69
3.2.4 例子 70
3.2.5 矩阵对策的混合策略 72
3.3 几何解释 74
3.3.1 通过函数值的集合解释强弱对偶性 74
3.3.2 在准则约束下强对偶性成立的证明 75
3.3.3 多准则解释 77
3.4 最优性条件 78
3.4.1 次优解认证和终止准则 78
3.4.2 互补松弛性 79
3.4.3 KKT最优性条件 79
3.4.4 KKT条件的力学解释 82
3.4.5 通过解对偶问题来求解原问题 83
3.5 例子 85
3.5.1 引入新的变量和相应的等式约束 85
3.5.2 变换目标函数 87
3.5.3 隐式约束 88
第4章 基于导数的优化方法 89
4.1 最速下降法 89
4.1.1 最速下降方向 89
4.1.2 最速下降算法 90
4.1.3 最速下降算法的收敛性 93
4.2 牛顿法 94
4.2.1 常规牛顿法 94
4.2.2 阻尼牛顿法 96
4.2.3 对牛顿法的进一步修正 96
4.3 共轭梯度法 97
4.3.1 共轭方向 97
4.3.2 共轭梯度法 100
4.3.3 用于一般函数的共轭梯度法 104
4.3.4 共轭梯度法的收敛性 106
4.4 拟牛顿法 109
4.4.1 拟牛顿条件 109
4.4.2 秩1校正 110
4.4.3 DFP算法 111
4.4.4 DPF算法得正定性及二次终止性 113
4.4.5 BFGS公式及Broyden族 116
4.5 信赖域方法 117
4.5.1 简介 117
4.5.2 算法的收敛性 119
第5章 惩罚函数法 123
5.1 外点罚函数法 123
5.1.1 罚函数的概念 123
5.1.2 外点罚函数法计算步骤 126
5.1.3 收敛性 126
5.2 内点罚函数法 128
5.2.1 内点罚函数的基本思想 128
5.2.2 内点罚函数的计算步骤 129
5.2.3 收敛性 130
5.3 乘子法 131
5.3.1 乘子法的基本思想 131
5.3.2 等式约束问题乘子法计算步骤 134
5.3.3 不等式问题的乘子法 135
第6章 动态规划 138
6.1 钢管切割 138
6.2 动态规划原理 145
6.2.1 最优子结构 145
6.2.2 重叠子问题 147
6.3 矩阵链乘法 148
第7章 启发式算法 156
7.1 邻域搜索类启发式算法 156
7.1.1 局部搜索算法 156
7.1.2 模拟退火算法 157
7.2 群体仿生类启发式算法 159
7.2.1 差分进化算法 159
7.2.2 粒子群算法 161
第2部分 最优化工具 165
第8章 Python中的优化工具箱 165
8.1 CVXOPT介绍 165
8.2 建模 165
8.2.1 变量 165
8.2.2 函数 166
8.2.3 约束 171
8.2.4 优化问题 172
8.2.5 示例 175
第9章 MATLAB中的优化工具箱 177
9.1 MATLAB中的优化工具箱 177
9.1.1 优化工具箱中的函数 177
9.1.2 参数的设置 178
9.1.3 模型输入时需注意的问题 179
9.1.4 @(函数句柄)函数 180
9.2 最小化问题 180
9.2.1 单变量最小化 180
9.2.2 线性规划 181
9.2.3 无约束非线性规划问题 183
9.2.4 二次规划问题 185
9.2.5 有约束最小化 187
9.2.6 目标规划问题 189
9.2.7 最大最小化 192
第10章 CVX 194
10.1 CVX简介 194
10.1.1 CVX的定义 194
10.1.2 约束凸优化 194
10.1.3 关于CVX的一些说明 195
10.2 快速入门 195
10.2.1 最小二乘 196
10.2.2 有界约束下的最小二乘法 197
10.2.3 其他范数和函数 198
10.2.4 其他约束 199
10.2.5 最佳权衡曲线 201
10.3 CVX基础 202
10.3.1 cvx_begin和cvx_end 202
10.3.2 变量 202
10.3.3 目标函数 204
10.3.4 约束 204
10.3.5 函数 204
10.3.6 集合关系 205
10.3.7 对偶变量 206
10.3.8 赋值语句与表达式持有者/表达式定义 207
10.4 DCP规则集 209
10.4.1 曲率分类 209
10.4.2 顶级规则 210
10.4.3 约束 210
10.4.4 严格不等式 210
10.4.5 表达式规则 211
10.4.6 函数 212
10.4.7 组合 213
10.4.8 非线性组合的单调性 214
10.4.9 标量二次型 215
10.5 半正定规划模式 216
10.6 几何规划模式 218
10.6.1 顶级规则 218
10.6.2 约束 218
10.6.3 表达式 219
10.7 求解器 219
10.7.1 求解器支持 219
10.7.2 求解器选择 220
10.7.3 控制屏幕输出 220
10.7.4 结果解释 220
10.7.5 控制精度 221
10.7.6 求解器高级设置 223
第3部分 应用案例 227
第11章 认知无线电系统 227
11.1 研究背景 227
11.2 基于能量采集的认知无线电系统中的频谱感知与数据传输 227
11.2.1 问题规划 227
11.2.2 期望有效传输速率优化 229
11.3 基于能量采集的认知无线电系统中的协作策略 231
11.3.1 问题规划 231
11.3.2 有效传输速率最大化 233
第12章 信息与能量协同传输系统 237
12.1 研究背景 237
12.2 协作通信系统中基于功率分离的信息与能量传输技术 237
12.2.1 问题规划 237
12.2.2 AF模式 239
12.2.3 DF模式 240
12.3 基于信息与能量传输的多用户OFDM系统中的资源分配 241
12.3.1 问题规划 241
12.3.2 问题求解 242
第13章 无人机通信系统 244
13.1 研究背景 244
13.2 基于无线能量传输的无人机通信系统中的资源分配与无人机部署 244
13.2.1 问题规划 244
13.2.2 资源分配 246
13.2.3 无人机部署 248
13.2.4 交替优化 249
13.3 基于携能传输的无人机协作通信系统中的功率控制与轨迹设计 249
13.3.1 问题规划 250
13.3.2 功率分配与功率分离比 252
13.3.3 无人机移动轨迹设计 255
13.3.4 交替优化 257
参考文献 258