第1篇 MATLAB入门篇 2
第1章 MATLAB概述 2
1.1 MATLAB的产生与发展 2
1.2 MATLAB的优势与特点 3
1.3 MATLAB系统的构成 4
1.4 MATLAB桌面操作环境 5
1.4.1 MATLAB启动和退出 5
1.4.2 MATLAB命令行窗口 6
1.4.3 MATLAB工作区 8
1.4.4 编辑器/调试器 10
1.4.5 MATLAB文件管理 10
1.4.6 MATLAB帮助使用 11
1.5 MATLAB的工具箱 11
1.6 小结 12
第2章 MATLAB计算基础 13
2.1 MATLAB数值类型 13
2.2 关系运算和逻辑运算 15
2.3 矩阵及其运算 16
2.3.1 矩阵的创建 16
2.3.2 矩阵的运算 17
2.4 复数及其运算 19
2.4.1 复数的表示 19
2.4.2 复数的绘图 20
2.4.3 复数的操作函数 21
2.5 符号运算 22
2.5.1 符号运算概述 22
2.5.2 常用的符号运算 24
2.6 小结 26
第3章 MATLAB数据可视化基础 27
3.1 MATLAB数据可视化的基本步骤 27
3.2 在工作区直接绘图 28
3.3 利用可视化绘图函数绘图 29
3.3.1 二维数据可视化 29
3.3.2 三维数据可视化 30
3.4 图形的修饰 33
3.5 小结 36
第4章 MATLAB编程基础 37
4.1 MATLAB编程概述 37
4.2 MATLAB编程原则 38
4.3 M文件 39
4.4 MATLAB程序流程控制 41
4.5 MATLAB的函数及调用 44
4.5.1 数类型 44
4.5.2 数参数传递 47
4.6 函数句柄 51
4.7 MATLAB程序调试 53
4.7.1 常见程序错误 53
4.7.2 调试方法 55
4.7.3 调试工具 56
4.7.4 M文件分析工具 59
4.8 MATLAB编程技巧 62
4.8.1 嵌套计算 62
4.8.2 循环计算 64
4.8.3 使用例外处理机制 64
4.8.4 使用全局变量 65
4.8.5 通过varargin传递参数 67
4.9 小结 68
第2篇 优化计算基础篇 70
第5章 MATLAB优化工具箱 70
5.1 工具箱概述 70
5.1.1 工具箱的功能 70
5.1.2 工具箱的特色 70
5.1.3 工具箱的结构 71
5.2 工具箱函数 72
5.3 GUI优化工具 75
5.3.1 GUI优化工具的启动 75
5.3.2 GUI优化工具的界面 76
5.3.3 GUI优化工具使用步骤 77
5.3.4 GUI优化工具应用实例 78
5.4 小结 87
第6章 无约束一维极值问题 88
6.1 进退法 88
6.2 黄金分割法 91
6.3 斐波那契法 93
6.4 牛顿法 97
6.4.1 基本牛顿法 97
6.4.2 全局牛顿法 99
6.5 割线法 102
6.6 抛物线法 104
6.7 三次插值法 107
6.8 可接受搜索法 109
6.8.1 Goldstein法 109
6.8.2 Wolfe-Powell法 112
6.9 MATLAB工具箱应用实例 114
6.9.1 应用fminbnd函数 114
6.9.2 应用fminsearch函数 120
6.9.3 应用改进的fminbnd函数 120
6.9.4 应用maple函数 122
6.10 小结 124
第7章 无约束多维极值问题 125
7.1 直接法 125
7.1.1 模式搜索法 125
7.1.2 Rosenbrock法 128
7.1.3 单纯形搜索法 132
7.1.4 Powell法 136
7.2 使用导数计算的间接法 139
7.2.1 最速下降法 139
7.2.2 共轭梯度法 141
7.2.3 牛顿法 143
7.2.4 修正牛顿法 145
7.2.5 拟牛顿法 147
7.2.6 信赖域法 152
7.2.7 显式最速下降法 155
7.3 MATLAB工具箱应用实例 157
7.3.1 应用fminsearch函数 157
7.3.2 应用fminunc函数 163
7.3.3 应用fminimax函数 165
7.4 小结 168
第8章 约束优化问题 169
8.1 Rosen梯度投影法 169
8.2 罚函数法 173
8.2.1 外点罚函数法 173
8.2.2 内点罚函数法 180
8.2.3 混合罚函数法 182
8.2.4 乘子法 187
8.3 坐标轮换法 190
8.4 复合形法 194
8.5 MATLAB工具箱应用实例 198
8.6 小结 199
第9章 非线性最小二乘优化问题 201
9.1 G-N法 201
9.2 修正G-N法 204
9.3 L-M法 206
9.4 MATLAB工具箱应用实例 210
9.5 小结 211
第10章 线性规划 212
10.1 单纯形法 212
10.2 修正单纯形法 219
10.3 大M法 223
10.4 变量有界单纯形法 225
10.5 MATLAB工具箱应用实例 227
10.6 小结 230
第11章 整数规划 231
11.1 割平面法 231
11.2 分支定界法 237
11.3 0-1规划 243
11.4 MATLAB工具箱应用实例 246
11.5 小结 247
第12章 二次规划 248
12.1 拉格朗日法 248
12.2 起作用集算法 250
12.3 路径跟踪法 254
12.4 MATLAB工具箱应用实例 257
12.5 小结 261
第13章 多目标规划 262
13.1 多目标规划概述 262
13.2 多目标规划的解法 263
13.2.1 基于一个单目标问题的方法 263
13.2.2 基于多个单目标问题的方法 264
13.3 MATLAB工具箱应用实例 265
13.4 小结 269
第3篇 优化计算高级篇 272
第14章 模拟退火算法 272
14.1 模拟退火算法概述 272
14.2 模拟退火算法的基本步骤 273
14.3 MATLAB工具箱应用实例 274
14.4 小结 279
第15章 粒子群优化算法 280
15.1 粒子群算法概述 280
15.2 基本粒子群算法 281
15.3 带压缩因子的粒子群算法 285
15.4 权重改进的粒子群算法 289
15.4.1 线性递减权重法 289
15.4.2 自适应权重法 293
15.4.3 随机权重法 296
15.5 变学习因子的粒子群算法 298
15.5.1 同步变化的学习因子 298
15.5.2 异步变化的学习因子 301
15.6 二阶粒子群算法 304
15.7 二阶振荡粒子群算法 306
15.8 混沌粒子群算法 309
15.9 混合粒子群算法 313
15.9.1 基于自然选择的算法 313
15.9.2 基于杂交的算法 316
15.9.3 基于模拟退火的算法 319
15.10 小结 322
第16章 遗传算法 323
16.1 遗传算法概述 323
16.2 基本遗传算法 324
16.3 顺序选择遗传算法 328
16.4 适值函数标定的遗传算法 332
16.5 大变异遗传算法 336
16.6 自适应遗传算法 340
16.7 双切点交叉遗传算法 343
16.8 多变异位自适应遗传算法 347
16.9 MATLAB工具箱应用实例 351
16.10 小结 354
第4篇 综合实战篇 356
第17章 工程最优化实战 356
17.1 线性规划实战 356
17.1.1 生产任务分配问题 356
17.1.2 运输问题 359
17.1.3 生产运输问题 363
17.1.4 资源利用问题 369
17.2 整数规划实战 370
17.2.1 下料问题 370
17.2.2 配套问题 372
17.2.3 有限选址问题 374
17.2.4 生产组织与计划问题 375
17.3 无约束优化实战 376
17.3.1 选址问题 376
17.3.2 销售利润问题 378
17.3.3 库存问题 379
17.4 约束优化实战 381
17.4.1 最大体积问题 381
17.4.2 资源分配问题 382
17.4.3 和三角形有关的极值问题 383
17.4.4 点到曲线的距离 384
17.4.5 曲线到曲线的距离 388
17.5 多目标规划实战 390
17.6 小结 395
第18章 经济金融最优化实战 396
18.1 最大利润问题 396
18.1.1 不考虑销售影响 396
18.1.2 考虑销售影响 397
18.2 最优消费问题 399
18.3 最优投资分配问题 400
18.4 最优资金使用问题 402
18.5 最优产量问题 403
18.5.1 古诺竞争模型 403
18.5.2 斯塔克尔伯格竞争模型 404
18.6 最优投资组合问题 405
18.6.1 标准均值-方差组合 406
18.6.2 有上界的均值-方差组合 407
18.6.3 有交易成本的均值-方差组合 408
18.6.4 自融资均值-方差投资组合 409
18.7 小结 410
参考文献 411