内容简介
本书针对八个常见典型优化问题的求解方法分三章进行了较为深入的讨论,期望能辅助读者的深度学习或研究。八个优化问题分别是矩阵连乘积问题、背包问题、赛程问题、最小生成树问题、最短路径问题、最优二叉树问题、运输问题及旅行商问题,它们频繁出现于算法与数据结构、运筹与优化、组合数学与图论等著作。
前六个问题已有有效算法(多项式量级时间复杂度)能保证求出全局最优解,本书第1章主要根据作者自己的理解给出了全部算法所得解的最优性证明、设计了一个能求带负权网络单源最短路径的新算法、实现了全部算法的C++代码并进行了应用测试。作者认为,这是对包括获得国家科技奖在内的相关著作的补充,填补了相应空白。
第七个问题,即运输问题(也叫货流问题),虽有单纯形法、阶石法及表上作业法等传统的有效算法能求全局最优解,但这些方法包含繁琐的预处理工作,迭代过程还可能出现退化情况等,第2章特别给出了一个借助简化的人工神经网络Hopfield连续模型实现的时间复杂度与传统方法同量级的统一算法,可以弥补前述传统方法的不足,这应该也是对运筹学相应内容的充实完善。
第八个问题,即旅行商问题(也叫货郎担问题、巡回售货员问题等),还没有找到有效算法能保证求出全局最优解,第2章也介绍了作者针对求旅行商问题近似最优解的简化Hopfield连续模型所做的改进,给出了相应的通用算法,改进主要体现在提升解的质量方面。对于大型旅行商问题的求解,第3章介绍了作者自己提出的基于哈密顿路径优化变换的贪婪方法,实测效果良好。
目录介绍
目录
第1章已有有效算法拓展1
1.1矩阵连乘积问题1
1.1.1问题引入及描述1
1.1.2算法分析2
1.1.3算法所得解的最优性证明7
1.1.4算法实现及应用7
1.2背包问题12
1.2.1问题引入及描述12
1.2.2算法分析12
1.2.3算法所得解的最优性证明13
1.2.4算法实现及应用14
1.3赛程问题15
1.3.1问题引入及描述15
1.3.2算法分析15
1.3.3算法所得解的最优性证明17
1.3.4算法实现及应用18
1.4最小生成树问题20
1.4.1问题引入及描述20
1.4.2Prim算法分析20
1.4.3Prim算法所得解的最优性证明22
1.4.4Kruskal算法分析24
1.4.5Kruskal算法所得解的最优性证明27
1.4.6Prim算法和Kruskal算法实现及应用28
1.5最短路径问题31
1.5.1求单源最短路径的Dijkstra算法分析32
1.5.2Dijkstra算法所得解的最优性证明34
1.5.3Dijkstra算法实现及应用36
1.5.4求各对顶点间最短路径的Floyd算法分析39
1.5.5Floyd算法所得解的最优性证明42
1.5.6Floyd算法实现及应用44
1.5.7求单源最短路径的一个新算法50
1.6最优二叉树问题59
1.6.1问题引入及描述59
1.6.2Huffman算法分析59
1.6.3Huffman算法所得解的最优性证明 61
1.6.4Huffman算法实现及应用64
第2章人工神经网络用于解决优化问题70
2.1人工神经网络简介70
2.1.1人工神经网络研究的发展简史70
2.1.2人工神经网络的特点70
2.1.3人工神经网络的计算能力71
2.2运输问题的神经网络求解算法及改进75
2.2.1问题引入76
2.2.2传统方法简介76
2.2.3神经网络二值模型解法78
2.2.4改进方法80
2.3旅行商问题的神经网络求解算法及改进90
2.3.1问题引入91
2.3.2传统方法简述91
2.3.3HT方法简介91
2.3.4HT方法存在的问题及已有改进93
2.3.5改进方法94
第3章旅行商问题贪婪求解方法112
3.1引言112
3.1.1问题简述及研究意义112
3.1.2方法综述及问题提出112
3.2基于哈密顿路径优化变换的旅行商问题贪婪求解方法113
3.2.1方法简介113
3.2.2方法详述114
3.2.3效果测试115
参考文献143