多峰的Shubert为: 求f(x,y)在[-10,10]x[-10,10]上的最大值. MATLAB代码: fun_mutv函数为: function my=fun_mutv(x,y) t1=zeros(size(x)); t2=t1; for i=1:5 t1=t1+i*cos((i+1)*x+i); t2=t2+i*cos((i+1)*y+i); end my=t1.*t2; opt_minmax=1; %优化目标类型:1最大化 0最小化 num_ppu=60; %种群规模,个体个数. n
之前介绍过遗传算法,参见:https://www.cnblogs.com/LoganChen/p/7509702.html 我们用Python实现同样的问题解答. y=10*sin(5*x)+7*abs(x-5)+10 我们来求这个函数在0-10之间的最大值. 先来看一下这个函数的图像: import numpy as np import matplotlib.pyplot as plt """ **Colors** The following color abbreviat
参阅地址: https://www.jianshu.com/p/ae5157c26af9 代码实现: public class GA { private int ChrNum = 10; //染色体数量 private String[] ipop = new String[ChrNum]; //一个种群中染色体总数 private int generation = 0; //染色体代号 public static final int GENE = 46; //基因数 private double
/* Routines for randomized recursive quick-sort */ # include <stdio.h> # include <stdlib.h> # include <math.h> # include "global.h" # include "rand.h" /* Randomized quick sort routine to sort a population based on a p