遗传算法参数调整实验报告(精)

遗传算法参数调整实验报告(精)
遗传算法参数调整实验报告(精)

遗传算法参数调整实验报告

算法设计:

编码方案:遍历序列 适应度函数:遍历路程 遗传算子设计:

选择算子:精英保留+轮盘赌

交叉算子:Pxover ,顺序交叉、双亲双子,

变异算子:Pmutation ,随机选择序列中一个染色体(城市)与其相邻染色体交换

首先,我们改编了我们的程序,将主函数嵌套在多层迭代之内,从外到内依此为:

过程中,我们的程序将记录每一次运行时种群逐代进化(收敛)的情况,并另外记录总体测试结果。

测试环境:

AMD Athlon64 3000+ (Overclock to 2.4GHz)

目标:寻求最优Px 、Pm 组合 方式:popsize = 50

maxgen = 500 \ 10000 \ 15000 Px = 0.1~0.9(0.05) Pm = 0.01~0.1(0.01) count = 50

测试情况:运行近2万次,时间约30小时,产生数据文件总共5.8GB

测试结果:Px, Pm 对收敛结果的影响,用灰度表示结果适应度,黑色为适应度最低

结论:Px = 0.1

,Pm = 0.01为最优,并刷新最优结果19912(之前以为是20310),但20000次测试中最优解只出现4次,程序需要改进。

Maxgen = 5000

Pm=0.01 Px = 0.1

Maxgen = 10000

0.1

0.9

Px = 0.1 0.9

0.1

目标:改进程序,再寻求最优参数

方式:1、改进变异函数,只保留积极变异;

2、扩大测试范围,增大参数步进

popsize = 100 \ 200 \ 400 \ 800

maxgen = 10000

Px = 0.1 \ 0.5 \ 0.9

Pm = 0.01 \ 0.04 \ 0.07 \ 0.1

count = 30

测试情况:运行1200次,时间8小时,产生数据文件600MB

测试结果:

结论:Px = 0.1,Pm = 0.01仍为最优,收敛情况大有改善,10000代基本收敛到22000附近,并多次达到最优解19912。变异函数的修改加快了整体收敛速度。

但是收敛情况对Pm并不敏感。另外,单个种群在遗传过程中收敛速度的统计,将是下一步的目标。

目标:以单个种群的进化情况为对象,研究种群人口数对收敛速度的影响。

方式:1、修改程序,不以遗传代数作为迭代结束控制,而改为以达到目标适应度为结束,统计遗传的代数。

2、固定Px = 0.1,Pm = 0.01 popsize = 100 \ 200 \ 400 count = 100

Target Fitness = 20000 \ 21000

测试情况:以20000为目标,运行300次,时间2小时,产生数据文件600MB 以21000为目标,运行300次,时间1小时,产生数据文件280MB

测试结果:(1)目标适应度 20000以下

(2) 目标适应度 21000以下

popsize = 100时,成功 75/100 次

popsize = 200时,成功 81/100 次

popsize = 400时,成功 86/100 次

结论:增加种群人口对整体收敛速度有提高作用,但同一数量级内的变化效果不明显

109.7403 置信度(95.0%)

100 观测数 2078362 求和 23135 最大值 19912 最小值 3223 区域 305881.8 方差 20466

众数 20822 中位数 20783.62 平均 popsize=100 成功:13次 80.70299215

100

2062864

21793 19912 1881 165424.9398

20847 20590 20628.64 popsize=400 成功:13次

90.6743112

100

2071380

22240 19912 2328 208828.7273

20225

20682.5 20713.8 popsize=200 成功:12次

测试总结

?Px, Pm的值减小时,随机性减小,算子中的“择优”功能(如轮盘赌方法)发挥作用更大,所以

收敛性较好。

?种群人口数增加时,由于产生一些优秀个体的概率增加,使收敛速度有所加快,但是到收敛后

期因为随机性大,不见得更容易达到最优结果。

?末期收敛最优比前期快速下降更难实现和优化!

齿轮参数测定实验的结论与心得

第一篇、直齿圆柱齿轮参数的测定与分析实验 齿轮参数测定实验的结论与心得 直齿圆柱齿轮参数的测定与分析实验 一、实验目的 1.掌握应用普通游标卡尺和公法线千分尺测定渐开线直齿圆柱齿轮基本参数的方法。2.进一步巩固并熟悉齿轮各部分名称、尺寸与基本参数之间的关系及渐开线的性质。二、实验内容 测定一对渐开线直齿圆柱齿轮的基本参数,并判别它是否为标准轮。对非标准齿轮,求出其变位系数。三、实验设备和工具 1.一对齿轮(齿数为奇数和齿数为偶数的各一个)。2.游标卡尺,公法线千分尺。3.渐开线函数表(自备)。4.计算器(自备)。四、实验原理及步骤 渐开线直齿圆柱齿轮的基本参数有齿数Z、模数m、分度圆压力角α齿顶高系数h*a、顶隙系数C*、中心距α和变位系数x等。本实验是用游标卡尺和公法

千分尺测量,并通过计算来确定齿轮的基本参数。 1.确定齿数z齿数z可直接从被测齿轮上数出。2.确定模数m和分度圆压力角? 在图5-1中,由渐开线性质可知,齿廓间的公法线长度 与所对应的基圆弧长 相等。根据这一性质,用公法线千分尺跨过n个齿,测得齿廓间公法线长度为Wn′,然后再跨过n+1个齿测得其长度为 由图5-1可知 。 式中,Pb为基圆齿距, (mm),与齿轮变位与否无关。 为实测基圆齿厚,与变位量有关。由此可见,测定公法线长度

和 后就可求出基圆齿距Pb,实测基圆齿厚Sb,进而可确定出齿轮的压力角?、模数m和变位系数x。因此,准确测定公法线长度是齿轮基本参数测定中的关键环节。 图5-1 公法线长度测量 (1)测定公法线长度 和 首先根据被齿轮的齿数Z,按下列公式计算跨齿数。 式中—压力角;z —被测齿轮的齿数 我国采用模数制齿轮,其分度圆标准压力角是20°和15°。若压力角为20°可直接参照下表确定跨齿数n。 公法线长度测量按图5—1所示方法进行,首先测出跨n个齿时的公法线长度。测定时应注意使千分尺的卡脚与齿廓工作段中部附近相切,即卡脚与齿轮两个渐开线齿面相切在分度圆附近。为减少测量误差,

MATLAB实验报告-遗传算法解最短路径以及函数最小值问题

硕士生考查课程考试试卷 考试科目:MATLAB教程 考生姓名:考生学号: 学院:专业: 考生成绩: 任课老师(签名) 考试日期:20 年月日午时至时

《MATLAB教程》试题: A、利用MATLAB设计遗传算法程序,寻找下图11个端点的最短路径,其中没有连接的端点表示没有路径。要求设计遗传算法对该问题求解。 a c d e f h i k 1 2 1 6 8 3 1 7 9 4 6 7 2 9 4 2 1 1 B、设计遗传算法求解f(x)极小值,具体表达式如下: 要求必须使用m函数方式设计程序。 C、利用MATLAB编程实现:三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行,随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货,但是如何乘船渡河的大权掌握在商人手中,商人们怎样才能安全渡河? D、结合自己的研究方向选择合适的问题,利用MATLAB进行实验。 以上四题任选一题进行实验,并写出实验报告。

选择题目: A 一、问题分析(10分) 1 2 3 4 5 6 8 9 10 11 1 2 1 6 8 3 1 7 9 4 6 7 2 9 4 2 1 1 如图如示,将节点编号,依次为 1.2.3.4.5.6.7.8.9.10.11,由图论知识,则可写出其带权邻接矩阵为: 0 2 8 1 500 500 500 500 500 500 500 2 0 6 500 1 500 500 500 500 500 500 8 6 0 7 500 1 500 500 500 500 500 1 500 7 0 500 500 9 500 500 500 500 500 1 500 500 0 3 500 2 500 500 500 500 500 1 500 3 0 4 500 6 500 500 500 500 500 9 500 4 0 500 500 1 500 500 500 500 500 2 500 500 0 7 500 9 500 500 500 500 500 6 500 7 0 1 2 500 500 500 500 500 500 1 500 1 0 4 500 500 500 500 500 500 500 9 2 4 0 注:为避免计算时无穷大数吃掉小数,此处为令inf=500。 问题要求求出任意两点间的最短路径,Floyd算法采用的是在两点间尝试插入顶点,比较距离长短的方法。我思考后认为,用遗传算法很难找到一个可以统一表示最短路径的函数,但是可以对每一对点分别计算,然后加入for循环,可将相互之间的所有情况解出。观察本题可发现,所有节点都是可双向行走,则可只计算i到j的路径与距离,然后将矩阵按主对角线翻折即可得到全部数据。二、实验原理与数学模型(20分) 实现原理为遗传算法原理: 按所选择的适应度函数并通过遗传中的复制、交叉及变异对个体进行筛选,使得适应度高的个体被保留下来,组成新的群体,新的群体既继承了上一代的信息,又优于上一代。这样周而复始,群体中个体适应度不断提高,直到满足一定的条件。 数学模型如下: 设图由非空点集合和边集合组成,其中 又设的值为,故可表示为一个三元组 则求最短路径的数学模型可以描述为:

JAVA学生信息管理系统实验报告

JA V A程序设计实验报告 学号: 姓名: 班级: 实验、Java课程设计--------学生信息管理系统

一、实验目的 1.掌握Java基本语法 2.理解面向对象编程特点 3.理解Java I/O编程 4.掌握Java图形界面编程 5.掌握Java与不同数据库进行连接 二、预习内容 Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作 三、实验设备与环境 通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。并安装MySQL数据库 四、实验内容 编写并调试运行Java程序,进行设计,掌握Java开发的基础。 五、实验任务 设计学生信息管理系统。要求包括 1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。而普通用户只可以查找学生信息。 2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块 3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。 六、实验报告(要求独立完成参考程序的代码、编译、调试与运行) 1、程序清单: 1.1程序模块清单 package Pan; import java.awt.event.ItemListener; import javax.swing.*; import https://www.360docs.net/doc/0414732146.html,ponent;

import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.event.InputEvent; import java.awt.event.ItemListener; import java.awt.event.KeyEvent; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.util.*; import java.awt.Color; import java.text.DecimalFormat; import java.sql.*; import java.sql.Date; import java.awt.*; import java.util.Vector; public class Res { /** * @param args */ public static void main(String[] args) {

用遗传算法实现PID参数整定

用遗传算法实现PID参数整定 作者:万佑红, 李新华 作者单位:万佑红(南京邮电学院,电子工程系,江苏,南京,210003), 李新华(安徽大学,电子工程系,安徽,合肥,230001) 刊名: 自动化技术与应用 英文刊名:TECHNIQUES OF AUTOMATION AND APPLICATIONS 年,卷(期):2004,23(7) 被引用次数:17次 参考文献(5条) 1.Bennet S Development of the PID controllers 1993(02) 2.张晓缋;方浩;戴冠遗传算法的编码机制研究 1997(02) 3.薛定宇控制系统计算机辅助设计 1996 4.赵洁基于神经网络-遗传算法的双轴运动PID控制[期刊论文]-自动化技术与应用 2003(07) 5.陶永华;尹怡欣;葛芦生新型PID控制及其应用 1998 本文读者也读过(6条) 1.席育凡.曾光.张静刚.XI Yu-fan.ZENG Guang.ZHANG Jing-gang基于改进遗传算法的数字PID参数整定[期刊论文]-西安理工大学学报2006,22(4) 2.陈永红.朱从乔.王基基于自适应在线遗传算法的PID参数整定与优化[会议论文]- 3.李俊丽.张光辉.LI Jun-li.ZHANG Guang-hui鲁棒PID控制器参数整定与仿真[期刊论文]-自动化与仪表 2005,20(3) 4.谢勤岚.陈红基于遗传算法的PID控制器优化设计[期刊论文]-光学与光电技术2003,1(3) 5.宋洪法.靳其兵.赵梅.SONG Hong-fa.JIN Qi-bing.ZHAO Mei基于改进遗传算法的PID参数整定策略[期刊论文]-北京化工大学学报(自然科学版)2005,32(2) 6.陈敏.谭思云.黄玉清.CHEN Min.TAN Si-yun.HUANG Yu-qing遗传算法在PID参数整定中的应用[期刊论文]-仪表技术2010(5) 引证文献(17条) 1.张付祥.付宜利.王树国基于遗传算法的多PID控制器参数整定[期刊论文]-制造业自动化 2005(5) 2.唐锐.文忠波.文广一种基于遗传PID控制的力反馈双向伺服系统研究[期刊论文]-机床与液压 2009(4) 3.刘国联.谭冠政.何燕基于改进人工免疫算法的PID参数优化研究[期刊论文]-计算机工程与应用 2008(19) 4.赵语涛.张健成二次速度调节中的遗传PID控制方法[期刊论文]-液压与气动 2005(10) 5.邓长春.朱儒明.李咏霞.许波一种求解TSP问题的多种群并行遗传算法[期刊论文]-计算机仿真 2008(9) 6.唐锐.文忠波.文广一种基于BP神经网络的模糊PID控制算法研究[期刊论文]-机电产品开发与创新 2008(2) 7.张建平.刘庆滨生物制氢过程实现温度控制的解决方案[期刊论文]-自动化技术与应用 2005(5) 8.董红生基于多点频率特性辨识的自整定 PID控制器的研究[期刊论文]-自动化技术与应用 2005(5) 9.张索峰.李平基于改进粒子群算法的PID参数整定[期刊论文]-工业仪表与自动化装置 2010(2) 10.张俐基于小生境遗传算法的MTSP问题求解[期刊论文]-系统工程 2009(7) 11.吴春富基于遗传算法优化的模糊PID控制研究[期刊论文]-自动化技术与应用 2005(7) 12.乔志杰.程翠翠基于遗传算法优化的模糊PID控制研究及其仿真[期刊论文]-皖西学院学报 2009(5) 13.乔志杰.程翠翠基于遗传算法优化的模糊PID控制研究及其仿真[期刊论文]-安徽电气工程职业技术学院学报

遗传算法实验报告(仅供参照)

人工智能实验报告

遗传算法实验报告 一、问题描述 对遗传算法的选择操作,设种群规模为4,个体用二进制编码,适应度函数,x的取值区间为[0,30]。 若遗传操作规定如下: (1)选择概率为100%,选择算法为轮盘赌算法; (2)交叉概率为1,交叉算法为单点交叉,交叉顺序按个体在种群中的顺序; (3)变异几率为0 请编写程序,求取函数在区间[0,30]的最大值。 二、方法原理 遗传算法:遗传算法是借鉴生物界自然选择和群体进化机制形成的一种全局寻优算法。与传统的优化算法相比,遗传算法具有如下优点:不是从单个点,而是从多个点构成的群体开始搜索;在搜索最优解过程中,只需要由目标函数值转换得来的适应值信息,而不需要导数等其它辅助信息;搜索过程不易陷入局部最优点。目前,该算法已渗透到许多领域,并成为解决各领域复杂问题的有力工具。在遗传算法中,将问题空间中的决策变量通过一定编码方法表示成遗传空间的一个个体,它是一个基因型串结构数据;同时,将目标函数值转换成适应值,它用来评价个体的优劣,并作为遗传操作的依据。遗传操作包括三个算子:选择、交叉和变异。选择用来实施适者生存的原则,即把当前群体中的个体按与适应值成比例的概率复制到新的群体中,构成交配池(当前代与下一代之间的中间群体)。选择算子的作用效果是提高了群体的平均适应值。由于选择算子没有产生新个体,所以群体中最好个体的适应值不会因选择操作而有所改进。交叉算子可以产生新的个体,它首先使从交配池中的个体随机配对,然后将两两配对的个体按某种方式相互交换部分基因。变异是对个体的某一个或某一些基因值按某一较小概率进行改变。从产生新个体的能力方面来说,交叉算子是产生新个体的主要方法,它决定了遗传算法的全局搜索能力;而变异算子只是产生新个体的辅助方法,但也必不可少,因为它决定了遗传算法的局部搜索能力。交叉和变异相配合,共同完成对搜索空间的全局和局部搜索。 三、实现过程 (1)编码:使用二进制编码,随机产生一个初始种群。L 表示编码长度,通常由对问题的求解精度决定,编码长度L 越长,可期望的最优解的精度也就越高,过大的L 会增大运算量。 (2)生成初始群体:种群规模表示每一代种群中所含个体数目。随机产生N个初始串结构数据,每个串结构数据成为一个个体,N个个体组成一个初始群体,N表示种群规模的大小。当N取值较小时,可提高遗传算法的运算速度,但却降低种群的多样性,容易引起遗传算法早熟,出现假收敛;而N当取值较大时,又会使得遗传算法效率降低。一般建议的取值范围是20—100。遗传算法以该群体作为初始迭代点; (3)适应度检测:根据实际标准计算个体的适应度,评判个体的优劣,即该个体所代表的可行解的优劣。本例中适应度即为所求的目标函数; (4)选择:从当前群体中选择优良(适应度高的)个体,使它们有机会被选中进入下一次迭代过程,舍弃适应度低的个体。本例中采用轮盘赌的选择方法,即个体被选择的几率与其适应度值大小成正比; (5)交叉:遗传操作,根据设置的交叉概率对交配池中个体进行基因交叉操作,形成新一代的种群,新一代中间个体的信息来自父辈个体,体现了信息交换的原则。交叉概率控制

操作系统实验报告java

操作系统实验报告 院系: 专业: 班级: 学号: : 指导老师:

进程调度的模拟与存管理 一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。实验模拟实现处理机调度,以加深了解处理机调度的工作,并体会优先级和时间片轮转调度算法的具体实施方法。帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列和挂起状态。若存中进程少于规定道数,可自 动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功能 用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。 7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置,

PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面; 三、实验容 选择一个调度算法,实现处理机调度。 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 3、主存储器空间的分配和回收。在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。 四、实验原理 该模拟系统采用java语言实现,要实现的功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数和时间片大小可以由用户自己调整,有两种调度策略:按优先权调度和按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态的进程,不同的调度策略采用不同的队列实现。当创建进程时,如果存中的进程数还没达到规定道数,则将新建进程插入就绪队列,如果存中进程数已经达到规定道数,则插到后备队列,后备队列中的进程的状态为new。CPU每次调度时都从就绪队列中取进程,在进程执行过程中如果下一个操作时IO操作,则将进程插入到waiting队列。在系统运行过程中可以执行进程挂起操作,但执行的挂起操作时系统自动暂停运行,在弹出窗口选

MATLAB遗传算法作业

MATLAB遗传算法 一:遗传算法简介: 遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域。它是现代有关智能计算中的关键技术。 二:遗传算法的基本步骤 a)初始化:设置进化代数计数器t=0,设置最大进化代数T,随机生成M个个体作为初始群体P(0)。 b)个体评价:计算群体P(t)中各个个体的适应度。 c)选择运算:将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个 体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的。

d)交叉运算:将交叉算子作用于群体。遗传算法中起核心作用的就是交叉算子。 e)变异运算:将变异算子作用于群体。即是对群体中的个体串的某些基因座上的基因值作变动。 群体P(t)经过选择、交叉、变异运算之后得到下一代群体P(t+1)。 f)终止条件判断:若t=T,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。 三:matlab实现 例子:f(x)=10*sin(5x)+7*cos(4x)x∈[0,10]将变量域[0,10]离散化为二值域[0,1023],x=0+10*b/1023。 1.初始化 initpop.m function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength));%rand随机产生每个单元为0或者1 行数(种群数量)为popsize,列数为chromlength(个体所含基因数)的矩阵, 2.计算目标函数值 2.1将二进制数转化为十进制数(1) decodebinary.m %产生[2^n2^(n-1)...1]的行向量,然后求和,将二进制转化为十进制function pop2=decodebinary(pop) [px,py]=size(pop)%Pop的行和列数 for i=1:px pop2(i)=0 for j=1:py pop2(i)=pop2(i)+2.^(py-j)*pop(i,j) end end 2.2将二进制编码转化为十进制数(2) Decodechrom.m %函数的功能是将染色体(或二进制编码)转换为十进制,参数spoint表示待解码的二进制串的

直齿圆柱齿轮参数测定实验报告

竭诚为您提供优质文档/双击可除直齿圆柱齿轮参数测定实验报告 篇一:渐开线直齿圆柱齿轮参数的测定与分析 渐开线直齿圆柱齿轮参数的测定与分析 一、实验目的 1.掌握测量渐开线直齿圆柱变位齿轮参数的方法。 2.通过测量和计算,进一步掌握有关齿轮各几何参数之间的相互关系和渐开线性质。 二、实验内容 对渐开线直齿园柱齿轮进行测量,确定其基本参数(模数m和压力角α)并判别它是否为标准齿轮,对非标准齿轮,求出其变位系统x。 三、实验设备和工具 1.待测齿轮分别为标准齿轮、正变位齿轮、负变位齿轮,齿数各为奇数、偶数。 2.游标卡尺,公法线千分尺。3.渐开线函数表(自备)。4.计算器(自备)。四、实验原理及步骤 渐开线直齿圆柱齿轮的基本参数有:齿数Z、模数m、

分度圆压力角?齿顶高系数h*a、顶隙系数c*、中心距α和变位系数x等。本实验是用游标卡尺和公法千分尺测量,并通过计算来确定齿轮的基本参数。 1.确定齿数Z 齿数Z从被测齿轮上直接数出。 ?.确定模数m和分度圆压力角?? 在图4-1中,由渐开线性质可知,齿廓间的公法线长度Ab与所对应的基圆弧长Α0Β0相等。根据这一性质,用公法线千分尺跨过n个齿,测得齿廓间公法线长度为wn′,然后再跨过n+1个齿测得其长度为wn??1。 wn??(n?1)pb?sb,pb?wn??1?wn? wn??1?npb?sb 式中,pb为基圆齿距,pb??mcos?(mm),与齿轮变位与否无关。与变位量有关。由此可见,测定公法线长度wn?和wn??1后sb为实测基圆齿厚, 就可求出基圆齿距pb,实测基圆齿厚sb,进而可确定出齿轮的压力角?、模数m和变位系数x。因此,齿轮基本参数测定中的关键环节是准确测定公法线长度。 图4-1公法线长度测量 (1)测定公法线长度w?n和wn??1 根据被齿轮的齿数Z,按下式计算跨齿数: a?n?Z?0.5

MATLAB课程遗传算法实验报告及源代码

硕士生考查课程考试试卷 考试科目: 考生姓名:考生学号: 学院:专业: 考生成绩: 任课老师(签名) 考试日期:年月日午时至时

《MATLAB 教程》试题: A 、利用MATLA B 设计遗传算法程序,寻找下图11个端点最短路径,其中没有连接端点表示没有路径。要求设计遗传算法对该问题求解。 a e h k B 、设计遗传算法求解f (x)极小值,具体表达式如下: 321231(,,)5.12 5.12,1,2,3i i i f x x x x x i =?=???-≤≤=? ∑ 要求必须使用m 函数方式设计程序。 C 、利用MATLAB 编程实现:三名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行,随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货,但是如何乘船渡河的大权掌握在商人手中,商人们怎样才能安全渡河? D 、结合自己的研究方向选择合适的问题,利用MATLAB 进行实验。 以上四题任选一题进行实验,并写出实验报告。

选择题目: B 、设计遗传算法求解f (x)极小值,具体表达式如下: 321231(,,)5.12 5.12,1,2,3i i i f x x x x x i =?=???-≤≤=? ∑ 要求必须使用m 函数方式设计程序。 一、问题分析(10分) 这是一个简单的三元函数求最小值的函数优化问题,可以利用遗传算法来指导性搜索最小值。实验要求必须以matlab 为工具,利用遗传算法对问题进行求解。 在本实验中,要求我们用M 函数自行设计遗传算法,通过遗传算法基本原理,选择、交叉、变异等操作进行指导性邻域搜索,得到最优解。 二、实验原理与数学模型(20分) (1)试验原理: 用遗传算法求解函数优化问题,遗传算法是模拟生物在自然环境下的遗传和进化过程而形成的一种自适应全局优化概率搜索方法。其采纳了自然进化模型,从代表问题可能潜在解集的一个种群开始,种群由经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体;初始种群产生后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的解:在每一代,概据问题域中个体的适应度大小挑选个体;并借助遗传算子进行组合交叉和主客观变异,产生出代表新的解集的种群。这一过程循环执行,直到满足优化准则为止。最后,末代个体经解码,生成近似最优解。基于种群进化机制的遗传算法如同自然界进化一样,后生代种群比前生代更加适应于环境,通过逐代进化,逼近最优解。 遗传算法是一种现代智能算法,实际上它的功能十分强大,能够用于求解一些难以用常规数学手段进行求解的问题,尤其适用于求解多目标、多约束,且目标函数形式非常复杂的优化问题。但是遗传算法也有一些缺点,最为关键的一点,即没有任何理论能够证明遗传算法一定能够找到最优解,算法主要是根据概率论的思想来寻找最优解。因此,遗传算法所得到的解只是一个近似解,而不一定是最优解。 (2)数学模型 对于求解该问题遗传算法的构造过程: (1)确定决策变量和约束条件;

齿轮实验报告

实 验 报 告 班级: 姓名: 专业: 实验名称:

实验一渐开线齿廓的范成原理实验 一、实验目的 1.了解用范成法加工渐开线齿轮齿廓原理 2.了解根切产生原因和避免的方法 3.了解到巨径向变位对齿轮齿形和几何尺寸影响 二、仪器 齿轮范成仪、齿尺、三角板、圆规 三、步骤 ①已知m=10,α=20,z=9,h*=1,c*=0.25,x=0.5计算:标准齿轮、齿根圆、基圆、分度圆、齿顶圆、变位齿轮顶和齿根圆直径 ②基本参数:m= ∝= z= ha*= c*= 计算结果 项目计算公式 变位齿轮 标准轮 正变位负变位分度圆直径d=mz 变位系数X=变位量/m 齿根圆直径df=m(z-2ha*-2c*+2x) 齿顶圆直径da=m(z+2ha*+2x) 基圆直径db=mzcos∝ 齿距P=πm 分度圆齿厚S=m(π/2+2x tg∝)

分度圆齿宽e=m(π/2-2x tg∝ 实验二渐开线直齿圆柱齿轮参数测定 一、实验目的 1、掌握用简单量具测定渐开线直齿、圆柱齿轮基本参数方法 2、加深理解渐开线性质及齿轮各参数之间相互关系 二、实验设备 齿轮三个、游标卡尺 三、实验步骤 1、测定1#齿轮(标准)的m 用游标卡尺分别测出k齿和k+1齿的公式长度Wk 、Wk+1齿圆齿距Pb=Wk+1-Wk模数m=Pb/πcosα=(Wk+1-Wk)/πcosα分别把α=15和20代入公式得出2个m值,最接近国家标准的1#齿轮m、d 2、测定2#齿轮变位系数x(2#齿轮是1#齿轮正位变位齿轮) x=(W2k-Wk)/2msinx 3、测定2#齿轮ha*、c*(3#齿轮x=0.5)先确定3#齿轮m、a再测量3#齿根及 计算 齿根及齿根度测量值 hf=(mz-Dk-2H)/2(Dk、3#孔径) H:3#齿根到孔边的距离,齿根度计算值hf=m(ha*+c*-x)以h*=1、c*=0.25和h*=0.8c*=0.3分别代入得出二个值,接近测量值为要求的3#齿轮参数 四、实验记录

遗传算法实验报告17643

信息与管理科学学院计算机科学系 实验报告 课程名称:人工智能 实验名称:遗传算法问题 姓名:苏鹏海贾美丽赵妍张汉昭 学号:1510003063 1510003024 班级:计科实验室:软件技术实验室指导教师:张慧日期: 2016.11.09

&&遗传算法问题 一、实验目的 1.熟悉和掌握遗传算法的原理、实质; 2.学会使用遗传算法解决问题; 3.学会编写遗传算法程序寻找函数最值; 二、实验原理 遗传算法是仿真生物遗传学和自然选择机理,通过人工方式所构造的一类搜索算法,从某种程度上说遗传算法是对生物进化构成进行的数学方式仿真。在遗传算法中染色体对应的是一系列符号序列,在标准的遗传算法(即基本遗传算法)中,通常用0, 1组成的位串表示,串上各个位置对应基因座,各位置上的取值对应等位基因。遗传算法对染色体进行处理,染色体称为基因个体。一定数量的基因个体组成基因种群。种群中个体的数目为种群的规模,各个体对环境的适应程度称为适应度。 三、实验内容 用遗传算法求根号2,也就是求方程f(x)=x*x-2=0的正整数解,x=1时f(1)<0,x=2时f(2)>0,由介值定理,则1到2中间存在一个根,根据代数基本定理和根的对称性知这就是我们要找的根,由目标函数得到适应度函数,我们选择个体都在[1,2]之间,那适应度函数我可以取 j(x)=40/(2+|x*x-2|)-10,由x的取值范围知j的范围是(0,10) x和y交叉就用取平均(x+y)/2,交叉概率取0.9,变异概率为0, 四、步骤分析 1.选择目标函数,确定变量定义域及编码精度,形成编码方案 2.随机产生一个规模为(即该种群中含有个体)的种群 2 3.个体评价:计算群体P(t)中各个个体适应度 4.选择运算:将选择算子作用于群体。选择的目的是把优化的个体直接遗传 到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建 立在群体中个体的适应度评估基础上的。(选择运算用轮盘赌算法) 5.对被选择进入匹配池中的个体进行交叉操作,形成新种群 6.以小概率在种群中选择个体进行变异操作形成新种群 7.计算每个个体的适值 8.根据适值概率选择新个体形成新种群 9.检查结束条件,若满足则算法结束,当前种群中适值最高的个体即所求 解;否则转3

java超市管理系统实训报告

1.1 课程设计的目的 通过本次课程设计,使学生能够全面、深刻地掌握数据库系统的设计流程。根据在数据库原理课程中所学到的数据库理论知识,结合某个具体的实际需求,最终开发出一个较为实用的数据库系统。 1.2 课程设计的背景和意义 1.2.1课程设计的背景 20世纪90年代后期特别是近几年,我国的超市产业飞速发展,其经营模式更为复杂,旧的管理体制已经无法适应超市的发展,这就迫切的需要引进新的管理技术。 超市的数据和业务越来越庞大,而计算机就是一种高效的管理系统,这就需要我们把超市的管理与计算机结合起来,从而超市管理系统应运而生。依靠现代化的计算机信息处理技术来管理超市,节省了大量的人力、物力,改善了员工的并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。 1.2.2 课程设计的意义 “数据库课程设计”的设计思想旨在强调学生的实际编程能力的培养与创意灵感的发挥。为此,本课程结合学科特点,除了让学生掌握数据库原理的理论知识,还增加了需求功能让学生完成,并鼓励学生的创作出个性的程序,满足客户需求,与市场的实际项目相结合。学生对此热情高,实际收获大,效果好。通过课堂学习和参与相关项目设计,学生对书本支持有了深刻的理解,实践性教学取得了良好效果。 1.3 课程设计环境 操作系统:Windows xp 开发软件:Microsoft Visual Studio 2005 数据库:Microsoft SQL Server 2005 第2章系统需求分析 随着人们生活水平的不断提高,对于物质的需求也越来越高,而超市作为日常生活用品聚集的场所,随着全球各种超市的数目的不断增加,规模不断增大,其管理难度也相应的增加,而为了适应当今信息化发展的时代,一套完整的超市商品管理系统显得尤为重要。

遗传算法参数调整实验报告(精)

遗传算法参数调整实验报告 算法设计: 编码方案:遍历序列 适应度函数:遍历路程 遗传算子设计: 选择算子:精英保留+轮盘赌 交叉算子:Pxover ,顺序交叉、双亲双子, 变异算子:Pmutation ,随机选择序列中一个染色体(城市)与其相邻染色体交换 首先,我们改编了我们的程序,将主函数嵌套在多层迭代之内,从外到内依此为: 过程中,我们的程序将记录每一次运行时种群逐代进化(收敛)的情况,并另外记录总体测试结果。 测试环境: AMD Athlon64 3000+ (Overclock to 2.4GHz)

目标:寻求最优Px 、Pm 组合 方式:popsize = 50 maxgen = 500 \ 10000 \ 15000 Px = 0.1~0.9(0.05) Pm = 0.01~0.1(0.01) count = 50 测试情况:运行近2万次,时间约30小时,产生数据文件总共5.8GB 测试结果:Px, Pm 对收敛结果的影响,用灰度表示结果适应度,黑色为适应度最低 结论:Px = 0.1 ,Pm = 0.01为最优,并刷新最优结果19912(之前以为是20310),但20000次测试中最优解只出现4次,程序需要改进。 Maxgen = 5000 Pm=0.01 Px = 0.1 Maxgen = 10000 0.1 0.9 Px = 0.1 0.9 0.1

目标:改进程序,再寻求最优参数 方式:1、改进变异函数,只保留积极变异; 2、扩大测试范围,增大参数步进 popsize = 100 \ 200 \ 400 \ 800 maxgen = 10000 Px = 0.1 \ 0.5 \ 0.9 Pm = 0.01 \ 0.04 \ 0.07 \ 0.1 count = 30 测试情况:运行1200次,时间8小时,产生数据文件600MB 测试结果: 结论:Px = 0.1,Pm = 0.01仍为最优,收敛情况大有改善,10000代基本收敛到22000附近,并多次达到最优解19912。变异函数的修改加快了整体收敛速度。 但是收敛情况对Pm并不敏感。另外,单个种群在遗传过程中收敛速度的统计,将是下一步的目标。

JAVA+SQL学生学籍管理系统代码及实验报告

学生学籍管理系统 1课程设计目的、设计内容与需求分析 1.1 课程设计目的 通过本次课程设计的实践操作,能够让学生懂得Java、SQL的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。 1.2软件设计内容 学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。 SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。 该系统实现的大致功能: 1.管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。 2.查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息”。也可以选择按照“某一个学号查询该学号的学生信息”。查询到的信息会在窗口中依次显示出来。 3.添加学生信息。可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。完成新纪录的添加。 4.修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输

渐开线直齿圆柱齿轮参数的测定与分析

渐开线直齿圆柱齿轮参数的测定与分析 一、 实验目的 1.掌握测量渐开线直齿圆柱变位齿轮参数的方法。 2.通过测量和计算,进一步掌握有关齿轮各几何参数之间的相互关系和渐开线性质。 二、实验内容 对渐开线直齿园柱齿轮进行测量,确定其基本参数(模数m 和压力角α)并判别它是否为标准齿轮,对非标准齿轮,求出其变位系统X 。 三、实验设备和工具 1.待测齿轮分别为标准齿轮、正变位齿轮、负变位齿轮,齿数各为奇数、偶数。 2.游标卡尺,公法线千分尺。 3.渐开线函数表(自备)。 4.计算器(自备)。 四、实验原理及步骤 渐开线直齿圆柱齿轮的基本参数有:齿数Z 、模数m 、分度圆压力角α齿顶高系数h *a 、顶隙系数C *、中心距α和变位系数x 等。本实验是用游标卡尺和公法千分尺测量,并通过计算来确定齿轮的基本参数。 1.确定齿数Z 齿数Z 从被测齿轮上直接数出。 2.确定模数m 和分度圆压力角α 在图4-1中,由渐开线性质可知,齿廓间的公法线长度AB 与所对应的基圆弧长00ΒΑ相等。根据这一性质,用公法线千分尺跨过n 个齿,测得齿廓间公法线长度为W n ′,然后再跨过n +1个齿测得其长度为1+'n W 。 b b n b b n S nP W S P n W +='+-='+1,)1( n n b W W P '-'=+1 式中,P b 为基圆齿距,απcos b m P = (mm),与齿轮变位与否无关。 b S 为实测基圆齿厚,与变位量有关。由此可见,测定公法线长度n W '和1+'n W 后就可求出基

圆齿距P b ,实测基圆齿厚S b ,进而可确定出齿轮的压力角α、模数m 和变位系数x 。因此,齿轮基本参数测定中的关键环节是准确测定公法线长度。 图4-1 公法线长度测量 (1)测定公法线长度n W '和1+'n W 根据被齿轮的齿数Z ,按下式计算跨齿数: 5.0180+??=Z a n 式中:α —压力角;z —被测齿轮的齿数 我国采用模数制齿轮,其分度圆标准压力角是20°和15°。若压力角为20°可直接参照下表确定跨齿数n 。 公法线长度测量按图4—1所示方法进行,首先测出跨n 个齿时的公法线长度n W '。测定时应注意使千分尺的卡脚与齿廓工作段中部(齿轮两个渐开线齿面分度圆)附近相切。为减少测量误差,n W '值应在齿轮一周的三个均分位置各测量一次,取其平均值。

用遗传算法求解Rosenbrock函数最优解实验报告

姓名学号 实验 成绩 华中师范大学计算机科学系 实验报告书 实验题目:用遗传算法求解Rosenbrock函数的最大值问题课程名称:智能计算 主讲教师:沈显君 辅导教师: 课程编号: 班级:2011级 实验时间:2011.11

用遗传算法求解Rosenbrock函数最大值问题 摘要: 本文利用遗传算法研究了求解Rosenbrock函数的最大值问题.在较多的计算机模拟实验结果中表明,用遗传算法可以有效地解决这一问题.文中分析了一种基于遗传算法对Rosenbrock函数最大值问题的求解,得到了适于解决此问题的合理的遗传操作,从而为有效地解决最速下降法所不能实现的某一类函数代化问题提供了一种新的途径.通过对基于遗传算法对Rosenbrock函数最大值问题的求解,进一步理解遗传算法对解决此类问题的思想。 关键词:遗传算法,Rosenbrock函数,函数优化,最速下降法。 Abstract: This paper deals with the maximum of Rosenbrock s function based ongenetic algorithms. The simulated results show that the problem can be solved effectivelyusing genetic algorithms. The influence of some rnodified genetic algorithms on searchspeed is also examined. Some genetic operations suitable to the optimization technique areobtained, therefore, a novel way of solving a class of optimizations of functions that cannot be realized using the method of steepest descent is proposed.Through dealing with the maximum of Rosenbrock s function based ongenetic algorithms,a better understanding of the genetic algorithm to solve such problems thinking. Keyword:ongenetic algorithms,Rosenbrock function,function optimization,Steepest descent method

齿轮参数测定

实验三 渐开线直齿圆柱齿轮参数的测定 一. 实验目的 1. 掌握应用游标卡尺测定渐开线直齿圆柱齿轮基本参数的方法; 2. 通过测量和计算,熟练掌握有关齿轮各几何参数之间的相互关系和渐开线性质的知识。 二.设备和工具 1.齿轮一对(齿轮为奇数和偶数的各一个); 2.游标卡尺(游标读书值不大于0.05mm ) 3.渐开线函数表(自备)。 4.计算工具(自备)。 三.原理和方法 单个渐开线直齿圆柱齿轮的基本参数有:齿数z ,模数m,压力角ɑ,齿顶高系数* a h ,顶隙系数* c ,变位系数x 。 本实验是用游标卡尺来测量齿轮,并且通过计算得出一对直齿圆柱齿轮的基本参数。其原理和方法如下: 1. 确定齿轮的模数m 和压力角ɑ。 标准直齿圆柱齿轮公法线长度的计算如下:如图3-1所示,若卡尺跨n 个齿,其公法线长度为: n l =(n-1)b p +b s 同理,若卡尺跨n+1个齿,其公法线长度则应为:

1+n l =n b p +b s 所以 1+n l -n l =b p ………………………………………………(3—1) 又因 b p =pcos а=πmcos а 所以 m=b p /πcos а……………………………………………(3—2) 式中b p 为齿轮基圆周节,它由测量得的公法线长n l 和1+n l 代表式(3—1)求得。压力角а可能是15°,也可能是20°,固分别用15°和20°代入式(3—2)算出两个模数,取其模数最接近标准值的一组m 和а,即为所求齿轮的模数和压力角。 为了使卡尺的两个卡脚能保证与齿廓的渐开线部分相切,所需的跨齿数n 按下式计算: n= 180 α Z+0.5………………………………………………………(3—3) 根据基圆的的齿厚公式 b p =scos а+2b r inv а=m(π/2+2xtg а)cos а+2b r inv а 得 x=( α cos m s b -π/2-zinva)/2tga …………………………………………(3—4) 式中b s 可由以上公法线长度公式求得,即 b s =1+n l -n b p …………………………………………………(3—5) 将式(3—5)代入式(3—4)即可求出变位系数x. 3. 确定齿轮的齿顶高系数* a h 和顶隙系数* c (本实验不考虑齿顶降低系数)。 根据齿轮齿根高的计算公式 f h = 2 f d mz -…………………………………………………(3—6) f h =m(* a h +* c -x)………………………………………(3—7) 式(3—6)中f d 为齿根圆直径,其测法见下文。设f d 已知,则在式(3—7)中,只有 *a h 、*c 未知,将两系数的两组值分别代入式(3—7),则使等式最接近成立的一组值为 所求值。

相关文档
最新文档