- 博客(30)
- 收藏
- 关注
原创 多目标优化算法——多种群协同进化粒子群算法(CMPSO)
一种设计是,利用不同种群找到的搜索信息快速逼近整个Pareto前沿(PF)。另一种设计是,引入多样性以。第m个种群中的个体由第m个目标函数分配适应度值。这样,个体不再会被相互冲突的目标所迷惑,同时可以由对应的目标引导以搜索Pareto前沿面的不同区域。但是,这样可能存在一个弊端,。因此需要信息共享机制促进种群之间的交流,进而有效地逼近整个PF。CMPSO使用一个存储所有群体非支配解的外部存档(记为A),所有粒子群体都可以通过访问该外部存档共享信息。CMPSO的创新点和优点速度和位置更新公式。
2025-01-13 00:59:20
1185
1
原创 多目标优化算法——基于聚类的不规则Pareto前沿多目标优化自适应进化算法(CA-MOEA)
简介:现有的多目标进化算法(moea)在具有的多目标优化问题(MOPs)上表现良好。当时,现有的大多数算法都不能得到很好的结果。为了解决这一问题,本文提出了一种具有不规则Pareto前沿的MOPs。其主要思想是,以指导每一代的选择,保持。研究结果证明了在多目标优化中的竞争力,特别是对于不规则Pareto前沿问题。此外,CA-MOEA在碳纤维成形过程中拉伸参数的优化方面表现良好。
2025-01-03 22:33:57
1363
原创 多目标优化算法——基于分解的多目标进化算法(MOEA-D)
MinimizeFxf1xf2xfmx)]x∈X: 决策变量空间F(x)∈Y: 目标空间m: 目标数量。由于多个目标之间可能存在冲突(例如,一个目标的改进会导致另一个目标的恶化),无法同时优化所有目标,需要找到一组折衷解,称为帕累托最优解。MOEA-D算法广泛应用于工程优化、资源分配、路径规划等领域,。
2025-01-03 22:27:19
1350
原创 多目标优化算法——非支配排序遗传算法II(NSGA-II)
本文提出了一种基于非支配排序的多目标遗传算法(MOEA),即。具体来说,提出了一种计算复杂度为(MN^2)的快速非支配排序方法。此外,提出了一个。在困难测试问题上的仿真结果表明,与能够在真正的pareto最优前沿附近找到更好的解的传播和更好的收敛性,这两种精英moea特别注重。本文提出了一种非支配排序遗传算法,它使用了一个快速的非支配排序过程、一个精英保持方法和一个无参数的小生境算子“小生境”(Niche)是一个核心概念,它指的是在搜索空间中,某些个体可以更好地存活和繁殖的特定区域。简单来说,。
2024-12-26 21:49:59
1065
原创 多目标优化算法——多目标粒子群优化算法(MOPSO)
本文提出了一种的方法,使该算法的问题。与目前其他将粒子群算法扩展到解决多目标优化问题的建议不同,我们的算法,这些粒子库稍后。我们还加入了,丰富了我们算法的探索能力。采用几个测试函数和指标,从进化多目标优化的标准文献中验证了所提出的方法。结果表明,该方法具有很强的竞争性,可以被认为是解决多目标优化问题的可行选择。
2024-11-26 19:25:35
3689
1
原创 进化计算综述——A survey on evolutionary computation for complex continuous optimization
随着经济社会的快速发展,复杂的连续优化问题广泛存在。此外,物联网、云计算、大数据等技术也给优化问题带来了更多的挑战,包括多维、多变化、多优化、多约束、多成本等。我们将这些挑战称为5-M挑战,它们存在于大规模优化问题、动态优化问题、多模态优化问题、目标优化问题、约束优化问题和实际应用中的昂贵优化问题中。进化计算(EC)算法是一种很有前途的全局优化工具,不仅广泛应用于解决传统的优化问题,而且近年来在解决上述复杂的连续优化问题方面也出现了蓬勃的研究。本文根据EC算法在。
2024-11-17 20:22:19
1226
原创 单目标优化算法——遗传算法(GA)
遗传算法是受进化启发的一系列计算模型。这些算法在简单的染色体样数据结构上编码特定问题的潜在解决方案,并对这些结构应用重组算子以保留关键信息。遗传算法通常被视为函数优化器,尽管遗传算法应用的问题范围相当广泛。遗传算法的实现从一群(通常是随机的)染色体开始。然后对这些结构进行评估,并分配繁殖机会,以这样一种方式:即对于目标问题有更好解决方案的染色体比那些有较差解决方案的染色体有更多的“繁殖”机会。一个解决方案的“好”通常是根据当前总体来定义的。遗传算法的主要思想是借鉴于达尔文的自然选择下的进化论模型。
2024-11-12 10:45:36
1345
原创 单目标优化算法——粒子群优化算法(PSO)+ matlab代码
粒子群算法( Particle Swarm Optimization, PSO)最早是由Eberhart和Kennedy于1995年提出,它的基本概念源于对鸟群觅食行为的研究,其基本思想在于通过群体中个体之间的协作和信息共享来寻找最优解。设想这样一个场景:一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。那么找到食物的最优策略就是搜寻目前离食物最近的鸟的周围区域。
2024-11-03 18:32:05
1204
原创 单目标优化算法——差分进化算法(DE)+matlab代码
DE一种新的启发式算法,用于最小化可能非线性和不可微的连续空间函数。通过广泛的试验台,证明了新方法比许多其他广受好评的全局优化方法收敛更快。新方法需要很少的控制变量,鲁棒性强,易于使用,非常适合并行计算。在自然界中,遗传,变异,选择的作用,使得生物体优胜略汰,不断由低级向高级进化,人们发现适者生存这一规律可以模式化,从而构成一些列优化算法。差分进化算法就是从这种模式中产生的一种智能优化算法。
2024-11-03 18:27:27
1062
原创 机器学习-day01
监督学习(Supervise Learning)和无监督学习(Unsupervise Learning)。(半监督学习、强化学习)从定义上来说,机器学习是一种功能、方法,或者更具体的说是一种算法,它能够赋予机器进行学习的能力,从而使机器完成一些通过编程无法直接实现的功能。从具体的实践意义来说,其实机器学习是利用大量数据训练出一个最优模型,然后再利用此模型预测出其他数据的一种方法。比如要识别猫、狗照片就要拿它们各自的照片提炼出相应的特征(比如耳朵、脸型、鼻子等),从而训练出一个具有预测能力的模型。
2024-10-09 22:07:59
953
1
原创 蓝桥杯刷题训练——DFS
枚举和模拟经常在填空题中考察,难度较低,需多加练习,竞赛时,只需要提交最后结果即可。能符合条件的答案(L∗W∗H==nL * W * H == nL∗W∗H==n),其中一定都是的因数,所以我们先把所有的n的因数找出来,然后用三层循环分别来枚举即可。注意: C++这里需要开long long,否则会爆掉。这里提醒大家在C++中不开long long见祖宗。题目2:幸运数解题思路按题目意思来即可,这里我将每个数先放到数组中,然后再进行操作,也有其他的解法。题目3:2023解题思路和上一题一样,先
2024-02-29 21:42:42
444
原创 蓝桥杯入门刷题训练——枚举、模拟
枚举和模拟经常在填空题中考察,难度较低,需多加练习,竞赛时,只需要提交最后结果即可。能符合条件的答案(L∗W∗H==nL * W * H == nL∗W∗H==n),其中一定都是的因数,所以我们先把所有的n的因数找出来,然后用三层循环分别来枚举即可。注意: C++这里需要开long long,否则会爆掉。这里提醒大家在C++中不开long long见祖宗。题目2:幸运数解题思路按题目意思来即可,这里我将每个数先放到数组中,然后再进行操作,也有其他的解法。题目3:2023解题思路和上一题一样,先
2024-01-06 17:21:39
608
1
原创 蓝桥杯入门刷题训练——模拟1
根据题目的意思,我们需要判断1900年到9999年的每一天,是否满足所给条件:如2021年10月31日,年的各个位数之和等于(月的各个位数之和+日的各个位数之和)2+0+2+1=1+0+3+1。那我们就一天一天的去判断,即使用for循环,第一层枚举年,第二层枚举月,第三层枚举日。为了使代码简洁,直接定义一个fun函数来判断。函数将数组进行排序,数组第一个元素就是最小值,最后一个元素就是最大值。很简单的一道模拟,题目让怎么做,我们就怎么做,给出n个成绩,求出最大值,最小值,以及平均值。这里我使用的C++的。
2024-01-01 16:16:23
709
原创 牛客小白月赛81(A~D)
的乘法都乘到自己身上,除的部分都变成乘积乘到对方身上,请看下图。这么大的数直接乘除肯定会越界,我们可以把所有的除都转换为乘法,把答案。如果分别超出u和m,break就好。每次枚举都要更新一下区间长度。最后比较两个的期望,还可以转化一下,把交换的概率放到a的一端,即。直接两层循环(双指针也可以)遍历,我们统计枚举的每一段的。白给的题,输入后升序排序再遍历,如果。首先$期望=V_i * P_i $就把他们累加,否则退出循环即可。不交换的话,期望就为。
2023-11-18 16:48:15
363
2
原创 树状数组练习(区间修改,单点查询)Day03
前两天写的都是的树状数组,今天来练习一下的树状数组,本文适合学过的朋友阅读。首先简单介绍一下与之前的区别。tr[N]没错,你没有看错,这两种树状数组的基本函数并没有太大区别,为什么存差分呢?下面以这道题为例讲解。
2023-11-10 14:27:54
544
原创 算法学习记录--树状数组Day01
树状数组用来求区间和以及单点修改也是非常高效的一种数据结构。单单实现这两个功能时,树状数组要比线段树方便快捷,代码也简单一些。它在原数组上添加索引,从而高效维护数据。2x的2进制末尾0的个数下面是例题。
2023-11-08 18:54:42
90
1
原创 洛谷练习 P1577 切绳子
,这里我用的浮点数二分,就是最后输出的时候有点麻烦,因为切割后k条绳子的长度是有序的,我们直接二分这个长度l。如果从它们中切割出 K 条长度相同的绳子,这 K 条绳子每条最长能有多长?切割后每条绳子的最大长度。今天又是一道二分的题目,其实对于这道题可以采用浮点数二分也可以采用整数二分(最后输出要求保留两位小数,之后的直接舍掉(不能四舍五入!第一行两个整数 N 和 K,接下来 N 行,描述了每条绳子的长度。k条长度为l的绳子,然后根据情况,缩小范围。有 N 条绳子,它们的长度分别为。
2023-11-07 19:53:44
286
原创 算法学习记录--线段树1(单点修改)
线段树是算法竞赛中常用的的高级数据结构,需要我们熟练掌握并合理使用它。今天简单记录一下我对版本的理解并用例题来加以解释。线段树是一种高级数据结构,也是一种二叉树,时间复杂度为O(logn)。它能够高效的处理等问题。学线段树,就要学习它如何组织数据,然后高效的进行数据查询,修改等操作。
2023-11-07 19:47:10
179
原创 PTA L2-048 寻宝图
给定一幅地图,其中有水域,有陆地。被水域完全环绕的陆地是岛屿。有些岛屿上埋藏有宝藏,这些有宝藏的点也被标记出来了。本题就请你统计一下,给定的地图上一共有多少岛屿,其中有多少是有宝藏的岛屿。
2023-10-31 19:36:25
201
1
原创 P1596 [USACO10OCT] Lake Counting S
这是一道很经典的搜索题目,用dfs和bfs都可以解决。由于近期的降雨,雨水汇集在农民约翰的田地不同的地方。我们用一个N×M(1≤N≤100,1≤M≤100) 的网格图表示。每个网格中有水(W) 或是旱地(一个网格与其周围的八个网格相连,而一组相连的网格视为一个水坑。约翰想弄清楚他的田地已经形成了多少水坑。给出约翰田地的示意图,确定当中有多少水坑。输入第 1 行:两个空格隔开的整数:N 和 M。第 2 行到第 N+1 行:每行 M 个字符,每个字符是W或,它们表示网格图中的一排。字符之间没有空格。
2023-10-24 20:38:08
136
原创 DFS练习
第二行为四个正整数 SX,SY,FX,FY,SX,SY 代表起点坐标,FX,FY 代表终点坐标。对于 100% 的数据,1≤N,M≤5,1≤T≤10,1≤SX,FX≤n,1≤SY,FY≤m。给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到终点坐标的方案。给定一个 N×M 方格的迷宫,迷宫里有 T 处障碍,障碍处不可通过。第一行为三个正整数 N,M,T,分别表示迷宫的长宽和障碍总数。这道题限制了移动方向,所以不需要回溯,一直往右走就可以。接下来 T 行,每行两个正整数,表示障碍点的坐标。
2023-10-22 16:21:59
84
1
原创 codeforces练习 B. Same Parity Summands
所以,每一组数据,我们继续讨论两种情况(前k-1个都是1或都是2),看最后一个数的奇偶,需要注意的是,
2023-10-17 09:36:24
108
原创 PTA 天梯赛 L1-056 猜数字
PTA 里的题有很多会用到结构体,例如与二叉树有关的题,或其他的一些题(个体和属性相关联)。虽然有些时候我们可以用数组来模拟,但是最直观的办法就是使用结构体,简单易懂。在一行中顺序输出:大家平均数的一半(只输出整数部分)、赢家的名字,其间以空格分隔。行,每行给出一个玩家的名字(由不超过8个英文字母组成的字符串)和其猜的正整数(≤ 100)。以内的数,谁的数字最接近大家平均数的一半就赢。这里我用结构体存储每个人的姓名和猜的数字。然后计算每个猜的数与avg的差的绝对值,并赋给给个人的num。
2023-04-23 19:48:06
178
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人