当前位置: 首页 > news >正文

支付宝签约网站安定网站建设

支付宝签约网站,安定网站建设,个人简历自我介绍200字,提供网站建设收益分录引力搜索算法过程#xff0c;包括了初始化、适应度评估、质量计算、加速度计算、更新速度和位置的一些步骤。 import numpy as np import random as rd from math import exp, sqrt import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotli… 引力搜索算法过程包括了初始化、适应度评估、质量计算、加速度计算、更新速度和位置的一些步骤。 import numpy as np import random as rd from math import exp, sqrt import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotlib.animation import FuncAnimation# 定义目标函数 def objFunction(x1, x2):return x1 ** 2 x2 ** 2# 初始化种群的位置和速度 def init(n):position, velocity [], []for i in range(n):X1 rd.uniform(-10, 10)X2 rd.uniform(-10, 10)V1 rd.uniform(-3, 3)V2 rd.uniform(-3, 3)position.append([X1, X2])velocity.append([V1, V2])return position, velocity# 计算适应度值 def fitnessEva(position):fitness []for i in range(len(position)):fitness.append(objFunction(position[i][0], position[i][1]))return fitness# 找到最佳和最差的适应度值 def findBestAndWorst(position):return min(fitnessEva(position)), max(fitnessEva(position))# 计算每个个体的质量 def calculateMass(fitness):mass []Mass []for i in range(len(fitness)):mass.append((fitness[i] - max(fitness)) / (min(fitness) - max(fitness)))for i in range(len(mass)):Mass.append(mass[i] / sum(mass))return Mass# 计算每个个体的加速度 def calculateAcceleration(position, Mass, G, topK):acceleration []Fi0, Fi1 0, 0for i in range(len(position)):for j in range(len(position)):if i ! j and j in topK:Fi0 rd.random() * G * ((Mass[i] * Mass[j]) / (calculateDistance(position[i], position[j]) r)) * (position[j][0] - position[i][0])Fi1 rd.random() * G * ((Mass[i] * Mass[j]) / (calculateDistance(position[i], position[j]) r)) * (position[j][1] - position[i][1])if Mass[i] ! 0:acceleration.append([Fi0 / Mass[i] / 10, Fi1 / Mass[i] / 10]) # 这里除10是为了避免粒子的加速度过大else:acceleration.append([10, 10])Fi0 0Fi1 0return acceleration# 找出适应度更优的前K个粒子 def findTopK(fitness, K):topK []dic {}for i in range(len(fitness)):dic[i] fitness[i]fitness.sort()for i in range(K):topK.append(list(dic.keys())[list(dic.values()).index(fitness[i])])return topK# 更新速度和位置 def updateVelocityAndPosition(acceleration, position, velocity):for i in range(len(velocity)):velocity[i][0] rd.random() * velocity[i][0] acceleration[i][0]velocity[i][1] rd.random() * velocity[i][1] acceleration[i][1]position[i][0] position[i][0] velocity[i][0]position[i][1] position[i][1] velocity[i][1]# 计算两个点之间的距离 def calculateDistance(p1, p2):return sqrt((p1[0] - p2[0]) ** 2 (p1[1] - p2[1]) ** 2)# 检查位置是否在可行域内 def checkPosition(position):for i in range(len(position)):if position[i][0] -10:position[i][0] -10elif position[i][0] 10:position[i][0] 10if position[i][1] -10:position[i][1] -10elif position[i][1] 10:position[i][1] 10if __name__ __main__:G 100r 1K 50iterx, maxIterx 0, 50position, velocity init(50)fig plt.figure(figsize(10, 8))ax fig.add_subplot(111, projection3d)scatter ax.scatter([], [], [], cpink, markero)path_lines [ax.plot([], [], [], colorlightyellow)[0] for _ in range(50)]ax.set_xlim(-10, 10)ax.set_ylim(-10, 10)ax.set_zlim(0, 200)ax.set_title(Gravitational Search Algorithm Visualization)ax.set_xlabel(X1)ax.set_ylabel(X2)ax.set_zlabel(Fitness)def animate(iteration, position, velocity, G, K, path_history):fitness fitnessEva(position) # 适应性评估G G * exp(-20 * iteration / maxIterx) # 更新引力常量Mass calculateMass(fitness) # 更新粒子质量topK findTopK(fitness, K) # 找出适应度更优的前K个粒子acceleration calculateAcceleration(position, Mass, G, topK) # 计算粒子加速度updateVelocityAndPosition(acceleration, position, velocity) # 根据加速度更新速度与位置checkPosition(position) # 检查粒子是否冲出了解空间K K - iteration # 更新K值# Update scatter plotscatter._offsets3d ([pos[0] for pos in position],[pos[1] for pos in position],fitness)# Update path historyfor i in range(len(position)):path_history[i].append(position[i] [fitness[i]])path_lines[i].set_data(np.array(path_history[i]).T[:2])path_lines[i].set_3d_properties(np.array(path_history[i]).T[2])best_fitness min(fitnessEva(position))best_position position[fitnessEva(position).index(best_fitness)]ax.set_title(fIteration {iteration}: Best Fitness {best_fitness:.4f})return scatter,path_history [[] for _ in range(50)]ani FuncAnimation(fig, lambda frame: animate(frame, position, velocity, G, K, path_history), framesmaxIterx,interval200, blitTrue, repeatFalse)plt.show()best_fitness min(fitnessEva(position))best_position position[fitnessEva(position).index(best_fitness)]print(最优解:, best_fitness)print(最优解对应的位置:, best_position)
http://www.hkea.cn/news/14505637/

相关文章:

  • wordpress开启子域名多站点模式wordpress换不了密码
  • 绿色网站模板大全八戒
  • 遵义广告公司网站建设免费淘宝网站建设
  • 山东大良网站建设wordpress 企业小程序
  • 设计师必须知道的网站公众号开发网站
  • 万户做网站怎么样中卫网站制作公司
  • 所有购物网站的名字网页设计网站规划报告
  • 建材网站建设哪家龙岩建设局招聘网站
  • 织梦做视频网站专业网站建设是哪家
  • 上海网站高端wordpress文章404错误
  • 网站建设的信息安全防范技术国外设计素材网站
  • 杭州做微信网站软件公司一套完整的工程施工流程
  • 创新的盐城网站开发网页设计实验报告3000
  • 交互网站建设聚名网备案查询
  • 厦门网站建设那家好永嘉网站建设
  • 上海建设网站哪家好做甜品网站
  • 可以直接打开网站的方法什么软件推广效果好
  • 网站建设做网站需要多少钱?哪个网站学做凉皮
  • 中山移动网站建设怎么做网站创建价格
  • 建音乐网站餐饮vi设计
  • 定制网站开发哪个好网站开发公司tahmwlkj
  • 章丘做网站哪家强北京小程序制作公司
  • 山东建设厅网站是什么网络设计课程
  • 三桥做网站网站建设柳市
  • 南京网站设计制作公司排名成都山而网站建设公司
  • 金华 网站建设如何创建一个新网站
  • 选择做华为网站的目的和意义企业网站开发文献综述
  • 做磁力搜索网站好吗门户型网站有哪些
  • 网站怎么做搜索功能阿里云邮箱企业版
  • 没有网站可以备案吗做网站什么价格