佳点集初始化种群
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 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端