⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gademo1.m

📁 一种基于matlab编写的免疫遗传算法程序
💻 M
字号:
%GADEMO1 Introduction to the Genetic Optimization Toolboxclf;figure(gcf);more onecho onclc%    ==========================================================%    GADEMO 1%    ==========================================================%    INITIALIZE - Initialize a poplutaton of solutions%    GA         - Simulates evolutionpause % Strike any key for the introduction to Genetic Algorithmsclc%    Genetic algorithms%    A genetic algorithm is a simulation of evolution where the%    rule of survival of the fittest is applied to a population%    of individuals.%    The basic genetic algorithm is as follows:%      1. Create an initial population (usually a randomly%         generated string)%      2. Evaluate all of the individuals (apply some function%         or formula to the individuals)%      3. Select a new population from the old population based%         on the fittness of the individuals as given by the%         evaluation function.%      4. Apply some genetic operators (mutation & crossover)%         to members of the population to create new solutions.%      5. Evaluate these newly created individuals.%      6. Repeat steps 3-6 (one generation) until the%         termination criteria has been satisfied (usually%         perform for a certain fixed number of generations)%%    Let's look at an examplepause % Strike any key to define the problem...clc%   Let's consider the maximization of the following function:%   f(x) = x + 10*sin(5*x)+7*cos(4*x) over the interval (0,9)fplot('x + 10*sin(5*x)+7*cos(4*x)',[0 9])%   Now, let's set up a genetic algorithm to find the maximum%   of this problem.  First, we need to create the evaluation%   function .m file, here is gademo1eval1.mpause 				% Strike any key to look at gademo1eval1.mtype gademo1eval1.mpause 					% Strike any key to continueclc%   Note that the evaluation function must take two parameters,%   sol and options.  Sol is a row vector of n+1 elements where%   the first n elements are the parameters of interest.  The%   n+1'th element is the value of this solution.  The options%   matrix is a row matrix of %   [current generation, eval options]%   The eval function must return both the value of the sting,%   val and the string itself, sol.  This is done so that%   your evaluation can repair and/or improve the string.pause 					% Strike any key to continueclc%   Now that we have defined the evaluation function, we now%   have to create an initial population.  The most common way%   to generate an initial population is to randomly generate%   solutions within the range of interest, in this case 0-9.%   The initializega routine will do this for you.pause 				% Strike any key for help on initializegaclchelp initializegapause 					% Strke any key to continue.clc%   Let's create a random starting popluation of size 10.initPop=initializega(10,[0 9],'gademo1eval1');pause 					% Strke any key to continue.%   We can now take a look at this population.hold onplot (initPop(:,1),initPop(:,2),'g+')pause % Strike any key to continue clc%  We can now run the evolutionary procedure on this%  population.help gapause 					% Strike any key to continue% Now let's run the ga for one generation.[x endPop] = ga([0 9],'gademo1eval1',[],initPop,[1e-6 1 1],'maxGenTerm',1,...  'normGeomSelect',[0.08],['arithXover'],[2 0],'nonUnifMutation',[2 1 3]);x %The best found%And plot the resulting the resulting populationplot (endPop(:,1),endPop(:,2),'ro')pause 					% Strike any key to continue% Now let's run the ga for 25 generations[x endPop] = ga([0 9],'gademo1eval1',[],initPop,[1e-6 1 1],'maxGenTerm',25,...  'normGeomSelect',[0.08],['arithXover'],[2],'nonUnifMutation',[2 25 3]);x %The best found% And plot the resulting the resulting populationplot (endPop(:,1),endPop(:,2),'y*')% End of gademo1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -