在生命科学领域中,人们已经对遗传(Heredity)与免疫(Immunity)等自然现象进行了广泛深入的研究。
六十年代Bagley和Rosenberg等先驱在对这些研究成果进行分析与理解的基础上,借鉴其相关内容和知识,特别是遗传学方面的理论与概念,并将其成功应用于工程科学的某些领域,收到了良好的效果。
时至八十年代中期,美国Michigan大学的Hollan教授不仅对以前的学者们提出的遗传概念进行了总结与推广,而且给出了简明清晰的算法描述,并由此形成目前一般意义上的遗传算法(GeneticAlgorithm)GA。
由于遗传算法较以往传统的搜索算法具有使用方便、鲁棒性强、便于并行处理等特点,因而广泛应用于组合优化、结构设计、人工智能等领域。
另一方面,Farmer和Bersini等人也先后在不同时期、不同程度地涉及到了有关免疫的概念。
遗传算法是一种具有生成+检测(generateandtest)的迭代过程的搜索算法。
从理论上分析,迭代过程中,在保留上一代最佳个体的前提下,遗传算法是全局收敛的。
然而,在对算法的实施过程中不难发现两个主要遗传算子都是在一定发生概率的条件下,随机地、没有指导地迭代搜索,因此它们在为群体中的个体提供了进化机会的同时,也无可避免地产生了退化的可能。
在某些情况下,这种退化现象还相当明显。
另外,每一个待求的实际问题都会有自身一些基本的、显而易见的特征信息或知识。
然而遗传算法的交叉和变异算子却相对固定,在求解问题时,可变的灵活程度较小。
这无疑对算法的通用性是有益的,但却忽视了问题的特征信息对求解问题时的辅助作用,特别是在求解一些复杂问题时,这种忽视所带来的损失往往就比较明显了。
实践也表明,仅仅使用遗传算法或者以其为代表的进化算法,在模仿人类智能处理事物的能力方面还远远不足,还必须更加深层次地挖掘与利用人类的智能资源。
从这一点讲,学习生物智能、开发、进而利用生物智能是进化算法乃至智能计算的一个永恒的话题。
所以,研究者力图将生命科学中的免疫概念引入到工程实践领域,借助其中的有关知识与理论并将其与已有的一些智能算法有机地结合起来,以建立新的进化理论与算法,来提高算法的整体性能。
基于这一思想,将免疫概念及其理论应用于遗传算法,在保留原算法优良特性的前提下,力图有选择、有目的地利用待求问题中的一些特征信息或知识来抑制其优化过程中出现的退化现象,这种算法称为免疫算法(ImmuneAlgorithm)IA。
下面将会给出算法的具体步骤,证明其全局收敛性,提出免疫疫苗的选择策略和免疫算子的构造方法,理论分析和对TSP问题的仿真结果表明免疫算法不仅是有效的而且也是可行的,并较好地解决了遗传算法中的退化问题。
1
旅行商问题(TravelingSalesmanProblem,TSP)是组合优化领域中著名的NPhard问题,具有较为广泛的工程应用和现实生活背景,如印刷电路钻孔、飞机航线的安排、公路网络的建设、网络通信节点的设置、物流货物配送、超市物品上架等,所有这些实际应用问题均可以转变为TSP问题来解决.本文先介绍一个简单的旅行商问题,并运用动态规划算法求解此问题。
最后给出求解此问题所需要的代码。
2025/7/5 7:26:27 142KB 运筹学 动态规划
1
使用C语言解决tsp问题,直接运行~简洁易懂
2025/6/27 13:04:36 90KB 蚁群算法
1
使用python调用cplex的两个实例,适合初学者进行学习,语法清晰
2025/6/17 21:08:29 10KB python cplex
1
在一片水域中,鱼往往能自行或尾随其他鱼找到营养物质多的地方,因而鱼生存数目最多的地方一般就是本水域中营养物质最多的地方,人工鱼群算法就是根据这一特点,通过构造人工鱼来模仿鱼群的觅食、聚群及追尾行为,从而实现寻优。
2025/6/14 13:20:54 98KB
1
遗传算法的求解的全部代码,带有大量的注释。
可读性好,欢迎大家下载
2025/5/21 21:37:48 3KB 遗传算法 TSP
1
人工神经网络实验之一,用hopfield网络解决旅行商问题。
简单,有注解,很实用。
2025/5/18 19:26:33 1KB hopfield TSP
1
c#进行了可视化编程,采用对话框的形式,能够随机生成测试数据和生成数据规模,对测试结果进行图示,显示函数曲线,并能够保存测试数据!!
2025/5/9 7:33:34 296KB 旅行商问题 TSP
1
很多人都对匈牙利算法很头疼,由其是一些参加数学的同学。
这里是我用MATLAB编写的一个匈牙利算法求解灾情巡视问题的程序,希望能够榜上数学建模中的同学们。
2025/4/25 5:56:58 3KB TSP 灾情巡视问题 MATLAB
1
本代码实现了蚁群算法并且很好的解决了旅行商问题,对比了多个城市的结果,给出了最优路径图。
2025/4/12 4:33:07 90KB matlab 蚁群算法 旅行商 TSP
1
共 99 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡