佳点集初始化种群
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | % Good Node Set Matalb-code<br>function [GD] = Goodnode(M,N) % M is the number of points; N is the dimension if ( nargin ==0) M=100; N=2; end %% tmp1 = [1: M]'* ones (1, N); Ind = [1: N]; prime1 = primes (100*N); [p,q]= find (prime1 >= (2*N+3)); tmp2 = (2* pi .*Ind)/prime1(1,q(1)); tmp2 = 2* cos (tmp2); tmp2 = ones (M,1)*tmp2; GD = tmp1.*tmp2; GD = mod (GD,1); %% For debuging plot (GD(:,1),GD(:,2), '*' ); end |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | from matplotlib import pyplot as plt import numpy as np import sympy def GoodNode(m, d, lb, ub): """ :param m: 点的数目 :param d: 点的维数 :param lb: 下界 :param ub: 上界 """ temp1 = np.arange( 1 , m + 1 ).reshape( - 1 , 1 ) * np.ones(( 1 , d)) ind = np.arange( 1 , d + 1 ) prime = list (sympy.sieve.primerange( 0 , 100 * d)) idx = np.where(np.array(prime) > = ( 2 * d + 3 ))[ 0 ] temp2 = ( 2 * np.pi * ind) / prime[idx[ 1 ]] temp2 = 2 * np.cos(temp2) temp2 = np.ones((m, 1 )) * temp2 gd = temp1 * temp2 gd = np.mod(gd, 1 ) pop = lb + gd * (ub - lb) return pop if __name__ = = "__main__" : p = GoodNode( 100 , 2 , - 100 , 100 ) plt.figure() plt.scatter(p[:, 0 ], p[:, 1 ], marker = "*" ) p1 = - 100 + np.random.rand( 100 , 2 ) * 200 plt.figure() plt.scatter(p1[:, 0 ], p1[:, 1 ], marker = "." ) plt.show() |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端