- 博客(3)
- 收藏
- 关注
原创 粒子群算法(PSO)解决背包问题,Python代码实现
其中:初始化群体粒子个数为N=100,粒子维数(即二进制编码长度)D=10,最大迭代次数为T=200,学习因子c1=c2=1.5,惯性权重最大值为wmax=0.8,惯性权重最小值为wmin=0.4,速度最大值为vmax=10,速度最小值为Vmin=-10。每件物品的体积为[95,75,23,73,50,22,6,57,89,98],每件物品的价值为[89,59,19,43,100,72,44, 16,7,64]。求解将哪些物品放入背包可使物品的体积总和不超过背包的容量,且价值总和最大。
2024-10-14 17:28:21
311
原创 使用遗传算法来计算函数 f(x) = x + 10*sin(5*x) + 7*cos(4*x) 的最优值
x_decoded = int(x, 2) / (2 ** 20 - 1) * 9 + 1 # 映射到1-10的范围。crossover_rate = 0.8 # 注意:虽然设置了,但在上面的交叉函数中未直接使用(可以改为概率性调用)# 交叉操作(单点交叉)# 打印当前代的最优解。# 将二进制编码解码为实数。# 选择操作(轮盘赌选择)# 变异操作(随机位翻转)
2024-10-14 12:09:52
630
原创 C语言:白细胞计数(暴力但是简单的解法,非计算机专业)
描述医院采样了某临床病例治疗期间的白细胞数量样本n份,用于分析某种新抗生素对该病例的治疗效果。为了降低分析误差,要先从这n份样本中去除一个数值最大的样本和一个数值最小的样本,然后将剩余n-2个有效样本的平均值作为分析指标。同时,为了观察该抗生素的疗效是否稳定,还要给出该平均值的误差,即所有有效样本(即不包括已扣除的两个样本)与该平均值之差的绝对值的最大值。现在请你编写程序,根据提供的n个样本值,计算出该病例的平均白细胞数量和对应的误差。格式输入格式输入的第一行是一个正整数n(2 ≤...
2022-04-22 17:14:46
2112
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人