logo资料库

基于神经网络的优化计算.docx

第1页 / 共11页
第2页 / 共11页
第3页 / 共11页
第4页 / 共11页
第5页 / 共11页
第6页 / 共11页
第7页 / 共11页
第8页 / 共11页
资料共11页,剩余部分请下载后查看
1 项目设计要求
2 项目设计内容
2.1 基于神经网络的优化计算:求TSP连续Hopfield神经网络
2.1.1 问题的基本描述和讨论
2.1.1.1 模型映射
2.1.1.2 构造网络能量函数的动态方程
2.1.1.3 初始化网络
2.1.1.4 优化计算
2.1.2 程序源代码
2.1.2.1 Main函数
2.1.2.2 diff_u函数
2.1.2.3 energy函数
2.1.3 程序运行结果及分析
2.1.3.1 运行结果
2.1.3.2 结果分析
2.2 遗传算法应用I:求函数的最小值
2.2.1 问题的基本描述和讨论
2.2.2 程序源代码
2.2.3 程序运行结果及分析
3 学习体会
参 考 文 献
人工智能 (项目设计) 专 业: 计算机科学与技术 班 级: 学 号: 姓 名:
人工智能项目设计 目 录 1 项目设计要求 ............................................................................................................................................ 3 2 项目设计内容 ............................................................................................................................................ 3 2.1 基于神经网络的优化计算:求 TSP 连续 HOPFIELD 神经网络...........................................................3 2.1.1问题的基本描述和讨论........................................................................................................................3 2.1.1.1 模型映射................................................................................................................................................................. 3 2.1.1.2 构造网络能量函数的动态方程.......................................................................................................................4 2.1.1.3 初始化网络.............................................................................................................................................................4 2.1.1.4 优化计算................................................................................................................................................................. 4 2.1.2程序源代码...............................................................................................................................................5 2.1.2.1 Main 函数.................................................................................................................................................................5 2.1.2.2 diff_u 函数................................................................................................................................................................6 2.1.2.3 energy 函数.............................................................................................................................................................6 2.1.3程序运行结果及分析.............................................................................................................................7 2.1.3.1 运行结果................................................................................................................................................................. 7 2.1.3.2 结果分析................................................................................................................................................................. 7 2.2 遗传算法应用 I:求函数的最小值.............................................................................................................8 2.2.1问题的基本描述和讨论........................................................................................................................8 2.2.2程序源代码...............................................................................................................................................9 2.2.3程序运行结果及分析..........................................................................................................................10 3 学习体会 .................................................................................................................................................. 10 参 考 文 献................................................................................................................................................ 11 2
人工智能项目设计 1 项目设计要求 (1)掌握人工智能的基本原理、方法和技术,具备应用之解决问题的基本能 力; (2)下面题目任选其二,不局限于这些题目,也可以自选; (3)采用编程语言:C, VC++, Java, Prolog, Matlab 等任选; (4)即使参考网上的程序,也要经过自己理解、消化、完善和掌握; (5)程序尽量优化和通用,符合常规逻辑; 2 项目设计内容 2.1 基于神经网络的优化计算:求 TSP 连续 Hopfield 神经网络 2.1.1 问题的基本描述和讨论 项目 1 所选问题为序号 7 基于神经网络的优化计算:求解 TSP 问题的连续 Hopfield 神经网络。旅行商(TSP)问题的描述是:推销员在 N 个城市中各经历 一次后再返回出发点,使得所经过的路径最短。 由于连续性 Hopfield 神经网络具有优化计算的特性,因此将 TSP 问题的目 标函数(即最短路径)与网络的能量函数相对应,将经过的城市顺序与网络的神 经元状态相对应。这样,由连续 Hopfield 神经网络的稳定性理论可知,当网络的 能量函数趋于最小值时,网络的神经元状态也趋于平衡点,此时对应的城市顺序 即为待求的最佳路线。 现在对于一个城市数量为 10 的 TSP 问题,设计一个可以对其进行组合优化 的连续 Hopfield 神经网络模型,利用该模型可以快速找到最优(或近似最优)的 一条路线。问题初始给定的条件是 10 个城市的二维位置坐标。首先根据城市坐 标计算出各个城市彼此之间的距离;之后根据具体问题手动构造网络能量函数和 动态方程并初始化网络;之后进行优化计算,分析结果。 2.1.1.1 模型映射 为了将 TSP 问题映射为一个神经网络的动态过程,Hopfield 采取了换位矩阵 的表示方法,用 N×N 矩阵表示商人访问 N 个城市。对于 N 个城市的 TSP 问题, 需要用 N×N 个神经元来实现,而每行每列都只能有一个 1,其余为 0,矩阵中 1 的和为 N,该矩阵称为换位矩阵。 3
2.1.1.2 构造网络能量函数的动态方程 人工智能项目设计 如前所述,设计的 Hopfield 神经网络的能量函数是与目标函数(即最短路径) 相对应的。同时,应该考虑到有效解(路线)的实际意义,即换位矩阵的每行每 列都只能有一个 1. 因此,网络的能量函数包含目标项(目标函数)和约束项(换 位矩阵)两部分。这里,将网络的能量函数定义为: 2+2=1 2+2 E=2=1 −1 −1 ,+1 =1 =1 =1 =1 =1 =−=− =1 −1 −1 ,+1 −=1 − =1 式中,前两项为问题的约束项;第三项为待优化的项目。 根据连续 Hopfield 神经网络的理论,可以构造出网络的动态方程为: 2.1.1.3 初始化网络 Hopfield 神经网络迭代过程对网络的能量函数及动态方程系数十分敏感,在 总结前人经验及多次试验的基础上,网络输入初始化选取如下: =0ln −1 +,(,=1,2,…,;=0) 式中,0=0.1;为城市个数 10;为(−1,+1)区间的随机值。 2.1.1.4 优化计算 当网络的结构及参数设计完成后,迭代优化计算的过程就变得非常简单,具 体步骤如下。 步骤 1:导入 N 个城市的位置坐标并计算城市之间的距离; 步骤 2:网络初始化; 步骤 3:利用前述推导计算 ,并利用一阶欧拉法计算+1 = + ∆; 步骤 4:根据 = =12[1+(()0 )]计算(); 步骤 5:利用前述推导计算能量函数E; 步骤 6:判断迭代次数是否结束,若迭代次数k>10000,则终止;否则k= k+1,返回步骤 3. 4
人工智能项目设计 2.1.2 程序源代码 2.1.2.1 Main 函数 5
2.1.2.2 diff_u 函数 人工智能项目设计 2.1.2.3 energy 函数 6
人工智能项目设计 2.1.3 程序运行结果及分析 2.1.3.1 运行结果 最终经过指定次数的迭代,输出换位矩阵如下图 1 所示,符合初始预期目标。 根据换位矩阵,可以得出其所对应的路线为:5→6→7→10→8→9→4→3→1→2. 图 1 输出换位矩阵 能量函数随迭代过程变化的曲线如图 2 所示,从图中可以看出,网络的能量 随着迭代过程不断减少。当网络的能量变化很小时,网络的神经元也趋于平衡点, 此时对应的城市顺序即为待求的优化路径。 图 2 能量函数随迭代次数变化曲线 2.1.3.2 结果分析 结果表明,利用连续型 Hopfield 神经网络,可以快速准确地解决 TSP 问题。 同理,对于其他利用枚举法会产生“组合爆炸”的组合优化问题,利用连续型 Hopfield 神经网络也可以进行优化计算。 7
人工智能项目设计 2.2 遗传算法应用 I:求函数的最小值 2.2.1 问题的基本描述和讨论 对于未知的非线性函数,仅通过函数的输入输出数据难以准确寻找函数极值。 这类问题可以通过神经网络结合遗传算法或粒子群算法求解,利用神经网络的非 线性拟合能力和遗传算法、粒子群算法的非线性寻优能力寻找函数极值。 本次利用遗传算法寻优的非线性函数的表达式为 函数图形如图 3 所示。 z=(−301)2+(−301)2 图 3 非线性函数图形 从函数方程和图形可以看出,该函数的全局最小值为 0,对应的坐标为 301,301 . 虽然从函数方程和图形中很容易找出函数极值及极值对应坐标,但是 在函数方程未知的情况下函数极值及极值对应坐标就很难找到。 本次项目设计,通过对遗传算法的遗传操作改为学习粒子群算法的行为模式, 对于每一个个体,选择使其染色体向最优个体靠拢。经过试验,这种方法可以快 速得到最优解,大大提高了遗传算法收敛速度。具体步骤如下: 步骤 1:获取被寻优的非线性函数 y,并令适应度函数 f=1/y; 步骤 2:随机得到一定数量的种群; 步骤 3:计算每个个体的适应度,如果满足条件,转步骤 5,否则转步骤 4; 步骤 4:进行遗传操作; 步骤 5:输出最优个体并用三维图形表示; 8
分享到:
收藏