rBAS 使用文档
王江宇
2019-03-18
ii
目录
第一章 R 以及 rBAS 安装 7
1.1 R 安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Rstudio 安装 . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 rBAS 安装 . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
第二章 算法原理 11
2.1 BAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 算法流程 . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2 不足与改进 . . . . . . . . . . . . . . . . . . . . . . 12
2.2 BSAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.1 与 BAS 不同之处 . . . . . . . . . . . . . . . . . . . 13
2.2.2 不足与改进 . . . . . . . . . . . . . . . . . . . . . . 15
2.3 BAS-WPT . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 与 BAS 不同之处 . . . . . . . . . . . . . . . . . . . 15
2.3.2 约束问题抽象形式 . . . . . . . . . . . . . . . . . . 16
2.3.3 不足与改进 . . . . . . . . . . . . . . . . . . . . . . 17
2.4 BAS with momentum(second-order BAS) . . . . . . . . . 17
2.4.1 算法原理 . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2 不足与改进 . . . . . . . . . . . . . . . . . . . . . . 19
第三章 混合算法 21
3.1 BSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1.1 粒子群算法流程 . . . . . . . . . . . . . . . . . . . . 21
3.1.2 与 BAS 的结合 . . . . . . . . . . . . . . . . . . . . 22
3.1.3 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1.4 算法调用说明 . . . . . . . . . . . . . . . . . . . . . 24
iii
iv 目录
3.2 bBAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.1 算法流程 . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.2 总结 . . . . . . . . . . . . . . . . . . . . . . . . . . 27
第四章 函数使用 29
4.1 BASoptim/BASoptim2 . . . . . . . . . . . . . . . . . . . . 29
4.1.1 BASoptim 参数说明 . . . . . . . . . . . . . . . . . 30
4.1.2 BAS2optim 参数说明 . . . . . . . . . . . . . . . . 31
4.1.3 BASoptim 简单案例 . . . . . . . . . . . . . . . . . 31
4.1.4 BASoptim2 简单案例 . . . . . . . . . . . . . . . . 35
4.2 BSASoptim . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2.1 BSASoptim 参数说明 . . . . . . . . . . . . . . . . 37
4.2.2 BSASoptim 取值摸索 . . . . . . . . . . . . . . . . 38
4.2.3 BSASoptim 案例 . . . . . . . . . . . . . . . . . . . 39
4.3 BSAS-WPT . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.3.1 BSAS-WPT 参数说明 . . . . . . . . . . . . . . . . 46
4.3.2 BSAS-WPT 案例 . . . . . . . . . . . . . . . . . . . 46
4.4 BSOoptim . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4.1 BSO 参数说明 . . . . . . . . . . . . . . . . . . . . 48
4.4.2 BSO 案例 . . . . . . . . . . . . . . . . . . . . . . . 49
4.5 bBAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.5.1 bBAS 参数说明 . . . . . . . . . . . . . . . . . . . . 51
4.5.2 bBAS 案例 . . . . . . . . . . . . . . . . . . . . . . 53
第五章 用户界面 59
5.1 调用语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.2 使用案例 . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5.2.1 Michalewicz function . . . . . . . . . . . . . . . . . 60
5.2.2 Pressure Vessel function . . . . . . . . . . . . . . . 61
5.3 Authors 界面 . . . . . . . . . . . . . . . . . . . . . . . . . 68
第六章 BAS 案例一: 多杆机构优化问题 69
6.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.1.1 四连杆机构 (Four-bar linkage mechanism) . . . . . 69
6.1.2 六连杆机构 (Stephenson III Six-bar linkage mech-
anism) . . . . . . . . . . . . . . . . . . . . . . . . . 70
目录 v
6.2 优化问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.2.1 四连杆机构 . . . . . . . . . . . . . . . . . . . . . . 72
6.2.2 六连杆机构 . . . . . . . . . . . . . . . . . . . . . . 73
6.3 优化理论 . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6.4 优化结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.4.1 Case1 无规定时间内轨迹生成 (Path generation
without prescribed timing) . . . . . . . . . . . . . 74
6.4.2 Case2 有规定时间的轨迹生成 (with prescribed
timing) . . . . . . . . . . . . . . . . . . . . . . . . 75
6.4.3 Case3 规定时间内路径生成(Path generation with
prescribed timing) . . . . . . . . . . . . . . . . . 77
6.4.4 Case4 规定时间路径生成问题 . . . . . . . . . . . . 78
6.4.5 Case5 规定时间内路径生成问题 . . . . . . . . . . . 80
6.4.6 Case6 六杆机构路径生成 . . . . . . . . . . . . . . . 82
6.4.7 Case7 无规定时间的路径生成 . . . . . . . . . . . . 84
6.4.8 Case8 无规定时间的路径生成 . . . . . . . . . . . . 87
第七章
BAS
案例二
:
龙门起重机运动控制 89
7.1 问题背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.2 优化问题抽象 . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.3 优化理论 . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
7.4 优化结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
第八章 Python 接口 95
8.1 安装方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
8.2 使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
第九章 已发表工作 101
9.1 工具箱/软件 . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.2 论文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
9.3 专利 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
第十章 调参 107
10.1 技巧 1:高维问题的初始步长设定 . . . . . . . . . . . . . . 107
10.1.1 原理 . . . . . . . . . . . . . . . . . . . . . . . . . . 107
10.1.2 测试函数 . . . . . . . . . . . . . . . . . . . . . . . 108