├── Camel.m ├── DeJongF2.m ├── README.md ├── SchafferF6.m ├── Shubert.m ├── crossover.m ├── fitness.m ├── genetic_algorithm.m ├── main.m ├── mutation.m ├── plotGA.m ├── rank.m └── selection.m /Camel.m: -------------------------------------------------------------------------------- 1 | function [y] = Camel(x1,x2) 2 | y = (4-2.1*x1^2 + x1^4/3)*x1^2 + x1*x2 + (-4+4*x2^2)*x2^2; 3 | end -------------------------------------------------------------------------------- /DeJongF2.m: -------------------------------------------------------------------------------- 1 | function [y] = DeJongF2(x1,x2) 2 | y = 100*(x1^2 -x2)^2 + (1-x1)^2; 3 | end 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Genetic-Algorithm 2 | 用matlab实现遗传算法求函数最小值 \ 3 | 使用二进制编码 4 | 增加测试函数: \ 5 | 1.SchafferF6 \ 6 | 2.Shubert \ 7 | 3.Camel \ 8 | 4.DeJongF2 9 | -------------------------------------------------------------------------------- /SchafferF6.m: -------------------------------------------------------------------------------- 1 | function [y] = SchafferF6(x1,x2) 2 | y = 0.5 + (sin((x1^2 + x2^2)^(1/2))^2 - 0.5)/(1 + 0.001*(x1^2 + x2^2))^2; 3 | end -------------------------------------------------------------------------------- /Shubert.m: -------------------------------------------------------------------------------- 1 | function [y] = Shubert(x1,x2) 2 | y1 = 0; 3 | y2 = 0; 4 | for i = 1:5 5 | y1 = y1 + i*cos((i+1) * x1 + i); 6 | y2 = y2 + i*cos((i+1) * x2 + i); 7 | end 8 | y = y1 * y2; 9 | end -------------------------------------------------------------------------------- /crossover.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SJHNJU/Genetic-Algorithm/889d8c42a26eca978304e631de2b47382f61034d/crossover.m -------------------------------------------------------------------------------- /fitness.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SJHNJU/Genetic-Algorithm/889d8c42a26eca978304e631de2b47382f61034d/fitness.m -------------------------------------------------------------------------------- /genetic_algorithm.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SJHNJU/Genetic-Algorithm/889d8c42a26eca978304e631de2b47382f61034d/genetic_algorithm.m -------------------------------------------------------------------------------- /main.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SJHNJU/Genetic-Algorithm/889d8c42a26eca978304e631de2b47382f61034d/main.m -------------------------------------------------------------------------------- /mutation.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SJHNJU/Genetic-Algorithm/889d8c42a26eca978304e631de2b47382f61034d/mutation.m -------------------------------------------------------------------------------- /plotGA.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SJHNJU/Genetic-Algorithm/889d8c42a26eca978304e631de2b47382f61034d/plotGA.m -------------------------------------------------------------------------------- /rank.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SJHNJU/Genetic-Algorithm/889d8c42a26eca978304e631de2b47382f61034d/rank.m -------------------------------------------------------------------------------- /selection.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SJHNJU/Genetic-Algorithm/889d8c42a26eca978304e631de2b47382f61034d/selection.m --------------------------------------------------------------------------------