智能优化算法
文章平均质量分 91
智能优化算法,也叫启发式算法,元启发式算法等,都差不多。主要包括我们常提到的:粒子群算法PSO,遗传算法GA,模拟退火算法SA,禁忌搜索算法TS,蚁群算法AC,大邻域搜索算法VNS,自适应大邻域搜索ALNS等等。
莫聽穿林打叶聲
Talk is cheap, show me the code.
展开
-
基于最优分割算法的染色体编码方式
在使用智能算法求解带时间窗的车辆路径规划问题(VRPTW)时,面临的第一个问题就是初始解的构造,不同于旅行商问题(TSP)所有客户随机排列(Sequence/Permutaion)即一个初始解。VRPTW的初始解构造需要考虑两点:每辆车的载重量上限、客户时间窗约束。本文基于一种最优分割算法生成染色体。原创 2024-07-22 13:57:12 · 885 阅读 · 0 评论 -
使用scikit-opt中粒子群算法求解约束优化问题
或者采用罚函数法、增广拉格朗日函数法将约束优化问题转化为无约束优化问题后,可以采用梯度类、粒子群算法进行求解。,每次迭代若粒子位置满足约束且优于历史最优位置,则更新位置,逐步引导粒子在可行域内搜索最优解。粒子群算法求解约束优化问题,关键是约束的处理,初始化将粒子历史最优位置设为。原创 2024-04-09 13:27:40 · 1127 阅读 · 0 评论 -
使用粒子群算法求解约束优化问题
为了保证解的逼近质量,无约束优化问题的目标函数为原约束优化问题的目标函数加上与约束函数有关的惩罚项。例如梯度法中沿着负梯度方向下降所得的点未必是可行点,要寻找的最优解处目标函数的梯度也不是零向量,这使得约束优化问题比无约束优化问题要复杂许多。二次罚函数的特点如下:对于非可行点而言,当σ变大时,惩罚项在罚函数中的权重加大,对罚函数求极小,相当于迫使其极小点向可行域靠近;的可行点,这显然不是我们需要的,必须对原有二次罚函数进行改造来得到新的二次罚函数,它应该具有如下特点:仅仅惩罚。原创 2024-03-18 15:28:01 · 2656 阅读 · 1 评论 -
基于集合的粒子群算法(S-PSO)求解车辆路径优化问题
为了缓解现有离散PSO算法的不足,为在离散空间中使用PSO算法开发一个更通用和灵活的框架,Chen等提出了一套为基础的PSO (S-PSO)框架。离散变量天然可以用集合进行表示,S-PSO在集合空间中重新定义了PSO。原创 2024-01-31 14:22:49 · 1742 阅读 · 0 评论 -
基于蚁群算法的TSP问题建模求解(Python)
蚁群系统(Ant System或Ant Colony System(是由意大利学者Dorigo、Maniezzo等人于20世纪90年代(1992年)首先提出来的。他们在研究蚂蚁觅食的过程中,发现单个蚂蚁的行为比较简单,但是蚁群整体却可以体现一些智能的行为。例如蚁群可以在不同的环境下,寻找最短到达食物源的路径。这是因为蚁群内的蚂蚁可以通过某种信息机制实现信息的传递。后又经进一步研究发现,蚂蚁会在其经过的路径上释放一种可以称之为“信息素”的物质,蚁群内的蚂蚁对“信息素”具有感知能力,它们会沿着“信息素”浓度较高原创 2024-01-12 09:32:26 · 1776 阅读 · 0 评论 -
基于列生成算法的切料问题建模求解
列生成广泛应用于大规模整数规划问题的求解中,尤其在装箱和切割问题、并行机调度问题、车辆路线问题的相关研究中。另外列生成算法也被用于乘务员调度、通信网络中的信道分配、多商品流等问题的研究中。(Gilmore and Gomory,1961年)首次将列生成技术用于求解一维切割问题(Cutting Stock Problem);(Desrosiers et al,1984)将列生成与分支定界结合以求解带时间窗的车辆路径问题;事实上,列生成得以广泛应用在于其求解(混合)整数规划问题所表现的卓越性能。原创 2021-04-29 13:15:44 · 914 阅读 · 1 评论 -
基于A*的最短路径问题求解
A*搜索算法(A star algorithm)是用于寻路和图遍历的最佳和流行的技术之一。A*搜索算法,不像其他传统算法,它有“大脑”,是一个真正的智能算法将它与其他传统算法区分开来,A*算法作为Dijkstra算法和BFS的结合算法,其与这两种算法的区别就是采用了启发函数,这也是这个算法的核心。许多游戏和基于web的地图都使用这种算法来非常有效地找到最短路径(近似)。为了在现实生活中接近最短路径,比如在地图中,有很多障碍的游戏中。原创 2023-12-01 23:11:09 · 2070 阅读 · 2 评论 -
基于模拟退火算法的TSP问题建模求解(Python)
模拟退火算法(Simulated Annealing Algorithm)来源于固体退火原理,是一种基于概率的算法。将固体加温至充分高的温度,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,分子和原子越不稳定。而徐徐冷却时粒子渐趋有序,能量减少,原子越稳定。在冷却(降温)过程中,固体在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。原创 2023-11-15 23:49:05 · 1174 阅读 · 0 评论 -
多式联运路径优化问题:基于拓扑排序的遗传算法染色体编码
在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。【注】:有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。例如,下面这个图,它是一个 DAG 图,那么如何写出它的拓扑排序呢?原创 2023-11-04 12:59:08 · 451 阅读 · 0 评论 -
基于禁忌搜索的TSP问题建模求解(Java)
邻域移动:邻域移动是从一个解产生另一个解的途径。本文采用2-opt。禁忌表:通常记录前若干次的移动,禁止这些移动在近期内返回。在迭代固定次数后,禁忌表释放这些移动,重新参加运算。选择策略:即择优规则,是对当前的邻域移动选择而采用的准则。当前采用最广泛的两类策略是最好解优先策略和第一个改进解优先策略。本文采用最好解优先特赦准则:考虑邻域内所有解(包括禁忌解),并逐一进行评估,发现出色的禁忌解,将其解禁。终止规则:迭代次数控制。原创 2021-03-18 11:26:19 · 479 阅读 · 2 评论 -
基于列生成算法求解切料问题
假设工厂有标准长度为218cm的钢管,现有客户需要44个长度为81cm的钢管,3个长度为70cm的钢卷,48个长度为68cm的钢卷。请问如何将标准长度为218cm的钢管进行切割,才能保证所使用标准长度钢管的数目最小?假设工厂有标准长度为W的钢管,现有m客户需要ni个长度为wi的钢管,请问如何切割,才能保证所使用标准长度钢管的数目最小?原创 2021-10-24 11:12:34 · 565 阅读 · 0 评论 -
基于列生成算法的PDPTW问题建模
取送货车辆路径规划问题(Vehicle Routing Problems with Pickups and Deliveries,VRPPD)指的是货物再pickup points和delivery pionts之间的运输。可再将其分为两类。原创 2021-10-27 11:06:04 · 2949 阅读 · 0 评论 -
基于列生成算法的VRPTW问题建模
GVA无向连通图,V为无向连通图中所有的节点集合(包括配送中心和客户点),A为图中所有的弧的集合。配送中心用0和n1表示。NV∖0n1表示客户点集合,U表示车辆集合,Cij表示车辆从i到j花费的时间。无向连通图GVA中所有有效的车辆路径都是从0到n1。0和n1的时间窗满足a0b0an1bn1,表示配送中心最早离开时间和最晚到达时间。0和n1点的需求为d0dn10,服务时间为S0。原创 2021-10-23 12:50:04 · 3194 阅读 · 4 评论 -
遗传算法染色体交叉python实现
【代码】遗传算法染色体交叉python。遗传算法中两条染色体交叉思想简单,实现略微复杂,所以借鉴https://blog.csdn.net/weixin_41606064/article/details/100862016重新封装了一下,并对其中不完善的地方做了修改原创 2022-10-06 16:42:54 · 762 阅读 · 0 评论 -
粒子群算法求解无约束优化问题Rastrigin函数
Rastrigin函数的极小值,Rastrigin函数是一个典型的非线性多峰函数,在搜索区域内存在许多极大值和极小值,导致寻找全局最小值比较困难,常用来测试寻优算法的性能。其中全局最小值点为(0,0),最小值为0。原创 2023-01-13 16:24:15 · 3707 阅读 · 0 评论 -
基于遗传算法的CVRP建模求解(Python)
单向:纯取货/纯送货;单配送中心:只有一个配送中心/车场;单车型:只考虑一种车型,需求不可拆分:客户需求只能有一辆车满足;车辆封闭:完成配送任务的车辆需回到配送中心;车辆充足:不限制车辆数量,即配送车辆需求均能满足;非满载:任意客户点的需求量小于车辆最大载重;优化目标:最小化车辆启动成本和车辆行驶成本之和;约束条件:车辆行驶距离约束,重量约束;已知信息:配送中心位置、客户点位置、客户点需求、车辆最大载重、车辆最大行驶距离、车辆启动成本、车辆单位距离行驶成本;minZ=C0K+C1∑i=0N原创 2023-03-08 14:59:57 · 8228 阅读 · 43 评论 -
基于自适应遗传算法的TSP问题建模求解(Java)
普通遗传算法(Sample Genetic Algorithm, SGA)存在着严重的缺点,它的Pc和Pm的值是固定的,本文采用自适应遗传算法进行求解TSP问题。不管是优良个体还是劣质个体都经过了相同概率的交叉和变异操作。原创 2023-04-14 23:55:04 · 2539 阅读 · 8 评论 -
进化算法多种群并行优化
之前的文章均使用的是标准遗传算法(单种群),其并非是完美无缺的算法。随着遗传算法的广泛应用以及研究的深入,标准遗传算法出现严重的早熟收敛问题。其主要表现在群体中的所有个体都趋于同一状态而停止进化。早熟收敛与选择操作、交叉操作、变异操作、群体规模和迭代次数等均有关系。针对遗传算法存在的不足,出现了一种多种群遗传算法(MPGA)来取代常规的标准遗传算法(SGA)。原创 2023-05-31 16:40:43 · 414 阅读 · 0 评论 -
基于粒子群算法的无约束优化问题求解
粒子群算法(Particle Swarm Optimization,PSO)是由美国心理学家James Kennedy和电气工程师Russell Eberhart于1995年提出的一种算法,算是比较老也是非常经典的算法之一。采用Java编程粒子群算法求解了无约束优化问题中常用的几个测试函数。原创 2023-07-01 14:18:54 · 1614 阅读 · 0 评论 -
基于NSGA-II算法的多目标多旅行商问题建模求解
NSGA-II算法学习过程中涉及到了较多内容,除了遗传算法中,核心步骤外,又融入了等内容。在GA中,通常采用轮盘赌选择策略,为了加快收敛保留全局最优解,在采用轮盘赌的同时,通常引入精英保留(精英策略)提升算法性能。对于和,通常在原染色体上进行,生成子代染色后,直接替换掉原染色体。在NSGA-II中,每次迭代过程中,为了保证多样性,探索解空间,(采用的锦标赛选择)、和产生子代种群后不会进行替换。此时有原种群P,及选择交叉变异后得到子代种群Q,P、Q种群规模均为N,合并P和Q为2N的新种群R。原创 2023-06-26 00:23:32 · 1896 阅读 · 0 评论
分享