第1篇 MATLAB入门篇 2
第1章 MATLAB概述 2
1.1 MATLAB的产生与发展 2
1.2 MATLAB的优势与特点 2
1.3 MATLAB系统的构成 4
1.4 MATLAB桌面操作环境 5
1.4.1 MATLAB启动和退出 5
1.4.2 MATLAB主菜单及功能 7
1.4.3 MATLAB命令窗口 9
1.4.4 MATLAB工作空间 11
1.4.5 M文件编辑/调试器 14
1.4.6 图形窗口 15
1.4.7 MATLAB文件管理 16
1.4.8 MATLAB帮助使用 17
1.5 MATLAB的工具箱 17
1.6 小结 18
第2章 MATLAB计算基础 19
2.1 MATLAB数值类型 19
2.2 关系运算和逻辑运算 21
2.3 矩阵及其运算 22
2.3.1 矩阵的创建 22
2.3.2 矩阵的运算 23
2.4 复数及其运算 25
2.4.1 复数的表示 25
2.4.2 复数的绘图 27
2.4.3 复数的操作函数 28
2.5 符号运算 28
2.5.1 符号运算概述 28
2.5.2 常用的符号运算 30
2.6 小结 32
第3章 MATLAB绘图基础 33
3.1 MATLAB绘图的基本步骤 33
3.2 在工作空间直接绘图 34
3.3 利用绘图函数绘图 35
3.3.1 二维图形 35
3.3.2 三维图形 36
3.4 图形的修饰 40
3.5 小结 42
第4章 MATLAB程序设计基础 43
4.1 MATLAB编程概述 43
4.2 MATLAB程序设计原则 44
4.3 M文件 45
4.4 MATLAB程序流程控制 47
4.5 MATLAB中的函数及调用 50
4.5.1 函数类型 50
4.5.2 函数参数传递 53
4.6 函数句柄 57
4.7 MATLAB程序调试 59
4.7.1 常见程序错误 59
4.7.2 调试方法 62
4.7.3 调试工具 62
4.7.4 M文件分析工具 65
4.8 MATLAB程序设计技巧 69
4.8.1 嵌套计算 69
4.8.2 循环计算 70
4.8.3 使用例外处理机制 71
4.8.4 使用全局变量 72
4.8.5 通过varargin传递参数 74
4.9 小结 75
第2篇 优化计算基础篇 78
第5章 MATLAB优化工具箱 78
5.1 工具箱概述 78
5.1.1 工具箱的功能 78
5.1.2 工具箱的新特色 78
5.1.3 工具箱的结构 79
5.2 工具箱函数 79
5.3 GUI优化工具 82
5.3.1 GUI优化工具的启动 82
5.3.2 GUI优化工具的界面 83
5.3.3 GUI优化工具使用步骤 84
5.3.4 GUI优化工具应用实例 85
5.4 小结 92
第6章 无约束一维极值问题 93
6.1 进退法 93
6.2 黄金分割法 96
6.3 斐波那契法 99
6.4 牛顿法 102
6.4.1 基本牛顿法 102
6.4.2 全局牛顿法 104
6.5 割线法 107
6.6 抛物线法 109
6.7 三次插值法 112
6.8 可接受搜索法 114
6.8.1 Goldstein法 114
6.8.2 Wolfe-Powell法 117
6.9 MATLAB工具箱应用实例 120
6.9.1 应用fminbnd函数 120
6.9.2 应用fminsearch函数 124
6.9.3 应用改进的fminbnd函数 125
6.9.4 应用maple函数 127
6.10 小结 129
第7章 无约束多维极值问题 130
7.1 直接法 130
7.1.1 模式搜索法 130
7.1.2 Rosenbrock法 134
7.1.3 单纯形搜索法 137
7.1.4 Powell法 141
7.2 使用导数计算的间接法 144
7.2.1 最速下降法 145
7.2.2 共轭梯度法 146
7.2.3 牛顿法 149
7.2.4 修正牛顿法 150
7.2.5 拟牛顿法 152
7.2.6 信赖域法 158
7.2.7 显式最速下降法 160
7.3 MATLAB工具箱应用实例 162
7.3.1 应用fminsearch函数 162
7.3.2 应用fminunc函数 169
7.3.3 应用fminimax函数 171
7.4 小结 174
第8章 约束优化问题 175
8.1 Rosen梯度投影法 175
8.2 罚函数法 179
8.2.1 外点罚函数法 179
8.2.2 内点罚函数法 186
8.2.3 混合罚函数法 189
8.2.4 乘子法 194
8.3 坐标轮换法 196
8.4 复合形法 200
8.5 MATLAB工具箱应用实例 204
8.6 小结 206
第9章 非线性最小二乘优化问题 207
9.1 G-N法 207
9.2 修正G-N法 210
9.3 L-M法 212
9.4 MATLAB工具箱应用实例 215
9.5 小结 217
第10章 线性规划 218
10.1 单纯形法 218
10.2 修正单纯形法 225
10.3 大M法 229
10.4 变量有界单纯形法 231
10.5 MATLAB工具箱应用实例 233
10.6 小结 236
第11章 整数规划 237
11.1 割平面法 237
11.2 分支定界法 243
11.3 0-1规划 249
11.4 MATLAB工具箱应用实例 252
11.5 小结 253
第12章 二次规划 254
12.1 拉格朗日法 254
12.2 起作用集算法 256
12.3 路径跟踪法 260
12.4 MATLAB工具箱应用实例 263
12.5 小结 267
第3篇 优化计算高级篇 270
第13章 粒子群优化算法 270
13.1 粒子群算法概述 270
13.2 基本粒子群算法 271
13.3 带压缩因子的粒子群算法 275
13.4 权重改进的粒子群算法 279
13.4.1 线性递减权重法 279
13.4.2 自适应权重法 283
13.4.3 随机权重法 286
13.5 变学习因子的粒子群算法 288
13.5.1 同步变化的学习因子 288
13.5.2 异步变化的学习因子 291
13.6 二阶粒子群算法 294
13.7 二阶振荡粒子群算法 296
13.8 混沌粒子群算法 299
13.9 混合粒子群算法 303
13.9.1 基于自然选择的算法 303
13.9.2 基于杂交的算法 306
13.9.3 基于模拟退火的算法 309
13.10 小结 312
第14章 遗传算法 313
14.1 遗传算法概述 313
14.2 基本遗传算法 314
14.3 顺序选择遗传算法 318
14.4 适值函数标定的遗传算法 321
14.5 大变异遗传算法 325
14.6 自适应遗传算法 329
14.7 双切点交叉遗传算法 333
14.8 多变异位自适应遗传算法 337
14.9 MATLAB工具箱应用实例 341
14.10 小结 343
第4篇 综合实战篇 346
第15章 工程最优化问题实例 346
15.1 线性规划实例 346
15.1.1 生产任务分配问题 346
15.1.2 运输问题 349
15.1.3 生产运输问题 353
15.1.4 资源利用问题 359
15.2 整数规划实例 360
15.2.1 下料问题 360
15.2.2 配套问题 362
15.2.3 有限选址问题 364
15.2.4 生产组织与计划问题 365
15.3 无约束优化实例 367
15.3.1 选址问题 367
15.3.2 销售利润问题 368
15.3.3 库存问题 369
15.4 约束优化实例 371
15.4.1 最大体积问题 371
15.4.2 资源分配问题 372
15.4.3 和三角形有关的极值问题 373
15.4.4 点到曲线的距离 375
15.4.5 曲线到曲线的距离 379
15.5 小结 380
第16章 经济金融最优化问题实例 381
16.1 最大利润问题 381
16.1.1 不考虑销售影响 381
16.1.2 考虑销售影响 382
16.2 最优消费问题 384
16.3 最优投资分配问题 385
16.4 最优资金使用问题 387
16.5 最优产量问题 388
16.5.1 古诺竞争模型 388
16.5.2 斯塔克尔伯格竞争模型 389
16.6 最优投资组合问题 391
16.6.1 标准均值-方差组合 391
16.6.2 有上界均值-方差组合 392
16.6.3 有交易成本均值-方差组合 393
16.6.4 自融资均值-方差组合 395
16.7 小结 396
附录A MATLAB优化工具箱函数注释 397
附录B 本书所编写的优化算法程序索引 399
参考文献 402
第2章 MATLAB计算基础 20
例2-1 元胞数组创建与显示实例。 20
例2-2 矩阵创建实例。 22
例2-3 特殊矩阵生成函数使用实例。 23
例2-4 矩阵基本运算实例。 24
例2-5 矩阵函数运算实例。 24
例2-6 矩阵分解运算函数使用实例。 25
例2-7 复数构造实例。 26
例2-8 复数矩阵构造实例。 26
例2-9 复数函数绘图实例。 27
例2-10 符号表达式创建实例。 29
例2-11 极限和极值的符号运算实例。 31
例2-12 微积分的符号运算实例。 31
例2-13 常微分方程符号运算实例。 32
第3章 MATLAB绘图基础 34
例3-1 工作空间直接做图法使用实例。 34
例3-2 二维图形绘制实例。 35
例3-3 三维曲线绘制函数使用实例。 38
例3-4 三维网格曲面图绘制应用实例。 38
例3-5 阴影曲面绘制函数surf使用实例。 39
例3-6 绘图命令使用实例。 41
第4章 MATLAB程序设计基础例4-1 M文件创建实例。 46
例4-2 return语句使用实例。 49
例4-3 匿名函数创建实例。 51
例4-4 显示函数输入和输出参数的数目实例。 54
例4-5 可变数目的参数传递实例。 55
例4-6 函数内部的输入参数修改实例。 56
例4-7 函数参数传递实例。 56
例4-8 全局变量使用实例。 57
例4-9 函数句柄创建和调用实例。 58
例4-10 处理函数句柄的函数使用实例。 59
例4-11 嵌套计算与直接求值的比较实例。 69
例4-12 嵌套计算与非嵌套计算的比较实例。 70
例4-13 例外处理机制使用实例。 71
例4-14 nargin函数应用实例。 72
例4-15 全局变量使用实例。 73
例4-16 通过varargin传递参数的实例。 74
第5章 MATLAB优化工具箱 85
例5-1 fminunc求解器应用实例。 85
例5-2 fminsearch求解器应用实例。 86
例5-3 fmincon求解器应用实例。 88
例5-4 lsqnonlin求解器应用实例。 89
例5-5 linprog求解器应用实例。 90
例5-6 ga求解器应用实例。 91
第6章 无约束一维极值问题例6-1 进退法求解极值区间实例。 95
例6-2 黄金分割法求解极值实例。 98
例6-3 斐波那契法求解极值实例。 101
例6-4 基本牛顿法求解极值实例。 104
例6-5 全局牛顿法求解极值实例。 106
例6-6 割线法求解极值实例。 109
例6-7 抛物线法求解极值实例。 111
例6-8 三次插值法求解极值实例。 114
例6-9 Goldstein法求解极值实例。 117
例6-10 Wolfe-Powell法求解极值实例。 119
例6-11 fminbnd函数求解极值实例1。 121
例6-12 fminbnd函数求解极值实例2。 122
例6-13 fminbnd函数求解极值实例3。 123
例6-14 fminbnd函数求解极值实例4。 123
例6-15 fminbnd函数求解极值实例5。 124
例6-16 fminsearch函数求解极值实例。 125
例6-17 改进的fminbnd函数求解极值实例1。 126
例6-18 改进的fminbnd函数求解极值实例2。 126
例6-19 改进的fminbnd函数求解极值实例3。 126
例6-20 改进的fminbnd函数求解极值实例4。 127
例6-21 maple函数求极小值实例1。 128
例6-22 maple函数求极小值实例2。 128
例6-23 maple函数求极小值实例3。 129
第7章 无约束多维极值问题例7-1 模式搜索法求解无约束多维极值问题实例。 133
例7-2 Rosenbrock法求解无约束多维极值问题实例。 136
例7-3 单纯形搜索法求解无约束多维极值问题实例。 140
例7-4 Powell法求解无约束多维极值问题实例。 144
例7-5 最速下降法求解无约束多维极值问题实例。 146
例7-6 共轭梯度法求解无约束多维极值问题实例。 148
例7-7 牛顿法求解无约束多维极值问题实例。 150
例7-8 修正牛顿法求解无约束多维极值问题实例。 152
例7-9 DFP法求解无约束多维极值问题实例。 155
例7-10 BFGS法求解无约束多维极值问题实例。 157
例7-11 信赖域法求解无约束多维极值问题实例。 160
例7-12 显式最速下降法求正定二次函数极值的应用实例。 162
例7-13 fminsearch函数求解无约束多维极值问题实例1。 163
例7-14 fminsearch函数求解无约束多维极值问题实例2。 164
例7-15 fminsearch函数求解无约束多维极值问题实例3。 168
例7-16 fminunc函数求解无约束多维极值问题实例。 169
例7-17 fminimax函数求解无约束多维极值问题实例。 174
第8章 约束优化问题 178
例8-1 Rosen梯度投影法求解约束优化问题实例。 178
例8-2 外点罚函数法应用实例。 181
例8-3 通用罚函数法应用实例。 183
例8-4 外点混合罚函数法应用实例。 186
例8-5 内点罚函数法求解约束优化问题实例。 188
例8-6 混合罚函数法求解约束优化问题实例。 191
例8-7 加速混合罚函数法求解约束优化问题实例。 193
例8-8 乘子法求解约束优化问题实例。 195
例8-9 坐标轮换法求解约束优化问题实例。 199
例8-10 复合形法求解约束优化问题实例。 203
例8-11 fmincon函数求解约束优化问题实例。 205
第9章 非线性最小二乘优化问题例9-1 G-N法求解非线性最小二乘优化问题实例。 209
例9-2 修正G-N法求解非线性最小二乘优化问题实例。 211
例9-3 L-M法求解非线性最小二乘优化问题实例。 214
例9-4 lsqnonlin求解非线性最小二乘优化问题实例。 216
第10章 线性规划 221
例10-1 单纯形法求解线性规划实例1。 221
例10-2 单纯形法求解线性规划实例2。 222
例10-3 修正单纯形法求解线性规划实例。 228
例10-4 大M法求解线性规划实例。 230
例10-5 变量有界单纯形法求解线性规划实例。 231
例10-6 linprog函数求解线性规划实例1。 234
例10-7 linprog函数求解线性规划实例2。 234
例10-8 linprog函数求解线性规划实例3。 235
例10-9 linprog函数求解线性规划实例4。 235
第11章 整数规划 243
例11-1 割平面法求解整数规划实例。 243
例11-2 分支定界法求解整数规划实例1。 248
例11-3 分支定界法求解整数规划实例2。 249
例11-4 0-1规划应用实例。 251
例11-5 bintprog函数求解0-1规划实例。 252
第12章 二次规划 255
例12-1 拉格朗日法求解二次规划实例。 255
例12-2 起作用集法求解二次规划实例。 259
例12-3 路径跟踪法求解二次规划实例。 263
例12-4 quadprog函数求解二次规划实例1。 265
例12-5 quadprog函数求解二次规划实例2。 265
第13章 粒子群优化算法 273
例13-1 基本粒子群算法应用实例。 273
例13-2 带压缩因子的粒子群算法应用实例。 278
例13-3 线性递减权重的粒子群算法应用实例。 281
例13-4 自适应权重的粒子群算法应用实例。 285
例13-5 随机权重的粒子群算法应用实例。 288
例13-6 同步变化的学习因子粒子群算法应用实例。 290
例13-7 同步变化的学习因子粒子群算法应用实例。 293
例13-8 二阶粒子群算法应用实例。 296
例13-9 二阶振荡粒子群算法应用实例。 299
例13-10 混沌粒子群算法应用实例。 302
例13-11 基于自然选择的粒子群算法应用实例。 305
例13-12 基于杂交的粒子群算法应用实例。 309
例13-13 基于模拟退火的粒子群算法应用实例。 312
第14章 遗传算法 317
例14-1 基本遗传算法应用实例。 317
例14-2 顺序选择遗传算法应用实例。 321
例14-3 适值函数标定的遗传算法应用实例。 324
例14-4 大变异遗传算法应用实例。 329
例14-5 自适应遗传算法应用实例。 333
例14-6 双切点交叉遗传算法应用实例。 336
例14-7 多变异位自适应遗传算法应用实例。 340
例14-8 优化工具的ga求解器应用实例1。 341
例14-9 优化工具的ga求解器应用实例2。 342
第15章 工程最优化问题实例例15-1 生产任务分配问题应用实例1。 346
例15-2 生产任务分配问题应用实例2。 347
例15-3 运输问题应用实例。 350
例15-4 生产运输问题应用实例1。 354
例15-5 生产运输问题应用实例2。 357
例15-6 资源利用问题应用实例。 359
例15-7 下料问题应用实例。 361
例15-8 配套问题应用实例。 362
例15-9 有限选址问题应用实例。 364
例15-10 生产组织与计划问题应用实例。 365
例15-11 选址问题应用实例。 367
例15-12 销售利润最大化问题应用实例。 368
例15-13 库存问题应用实例1。 370
例15-14 库存问题应用实例2。 370
例15-15 库存问题应用实例3。 371
例15-16 最大体积问题应用实例。 372
例15-17 资源分配问题应用实例。 372
例15-18 和三角形有关的极值问题应用实例1。 373
例15-19 和三角形有关的极值问题应用实例2。 374
例15-20 点到曲线距离问题应用实例1。 375
例15-21 点到曲线距离问题应用实例2。 376
例15-22 点到曲线距离问题应用实例3。 377
例15-23 曲线到曲线距离问题应用实例。 379
第16章 经济金融最优化问题实例例16-1 未考虑销售影响的利润最大化问题实例。 382
例16-2 考虑销售影响的利润最大化问题实例。 383
例16-3 最优消费问题应用实例。 384
例16-4 最优投资分配问题应用实例。 385
例16-5 资金最优使用问题实例。 387
例16-6 古诺竞争模型应用实例。 389
例16-7 斯塔克尔伯格模型应用实例。 390
例16-8 标准均值-方差投资组合应用实例。 392
例16-9 有上界的均值-方差投资组合应用实例。 393
例16-10 有交易成本的均值-方差投资组合应用实例。 394
例16-11 自融资均值-方差投资组合应用实例。 395