提供一个人工免疫算法源程序,其算法过程包括: 1.设置各参数 2.随机产生初始群体——pop=initpop(popsize,chromlength) 3.故障类型编码,每一行为一种!code(1,:),正常;code(2,:),50%;code(3,:),150%。实际故障测得数据编码,这里Unnoralcode,188% 4.开始迭代(M次): 1)计算目标函数值:欧氏距离[objvalue]=calobjvalue(pop,i) 2)计算群体中每个个体的适应度fitvalue=calfitvalue(objvalue) 3)选择newpop=selection(pop,fitvalue) objvalue=calobjvalue(newpop,i) % 交叉newpop=crossover(newpop,pc,k) objvalue=calobjvalue(newpop,i) % 变异newpop=mutation(newpop,pm) objvalue=calobjvalue(newpop,i) % 5.求出群体中适应值最大的个体及其适应值 6.迭代停止判断。
上传时间: 2014-01-01
上传用户:trepb001
% [BestPop,Trace]=fmaxga(FUN,LB,UB,eranum,popsize,pcross,pmutation) % Finds a maximum of a function of several variables. % fmaxga solves problems of the form: % max F(X) subject to: LB <= X <= UB % BestPop--------最优的群体即为最优的染色体群 % Trace----------最佳染色体所对应的目标函数值 % FUN------------目标函数 % LB-------------自变量下限 % UB-------------自变量上限 % eranum---------种群的代数,取100--1000(默认1000) % popsize--------每一代种群的规模;此可取50--100(默认50) % pcross---------交叉的概率,此概率一般取0.5--0.85之间较好(默认0.8) % pmutation------变异的概率,该概率一般取0.05-0.2左右较好(默认0.1) % options--------1×2矩阵,options(1)=0二进制编码(默认0),option(1)~=0十进制编码,option(2)设定求解精度(默认1e-4)
标签: pmutation BestPop popsize maximum
上传时间: 2015-07-16
上传用户:Altman
* 用改进的欧拉方法求解初值问题,其中一阶微分方程未y =f(x,y) * 初始条件为x=x[0]时,y=y[0]. * 输入: f--函数f(x,y)的指针 * x--自变量离散值数组(其中x[0]为初始条件) * y--对应于自变量离散值的函数值数组(其中y[0]为初始条件) * h--计算步长 * n--步数 * 输出: x为说求解的自变量离散值数组 * y为所求解对应于自变量离散值的函数值数组
标签: 初值
上传时间: 2015-07-26
上传用户:libinxny
为遗传算法提供基类,该基类将评价函数值直接作为适合度,采用新个体直接替换老个体的整体再生法
标签: 算法
上传时间: 2015-07-26
上传用户:541657925
1.功能 利用广义逆求解无约束条件下的优化问题(C语言) 2.参数说明 int m : 非线性方程组中方程个数 int n : 非线性方程组中未知数个数 double eps1 : 控制最小二乘解的精度要求 double eps2 : 用于奇异值分解中的控制精度要求 double x[n] : 存放非线性方程组解的初始近似值X(0),要求各分量不全为0 int ka : Ka=max{m,n}+1 void (*f)() : 指向计算非线性方程组中各方程左端函数值的函数名(用户自编) void (*s)() : 指向计算雅可比矩阵的函数名 int ngin() : 函数返回一个标志值 3.文件说明 ngin.c函数文件 ngin0.c主函数文件
上传时间: 2013-12-23
上传用户:大三三
1.功能 用高斯方法计算n重积分(C语言) 2.参数说明 int n : 积分重数 int js[n] : js[k]表示第k层积分区间所划分的子区间 void (*ss)() : 指向计算各层积分上、下限的函数名(用户自编) double (*f)() : 指向计算被积函数值的函数名(用户自编) double gaus() : 函数返回积分值 3.文件说明 gaus.c为函数程序 gaus0.c为主函数程序
上传时间: 2014-01-05
上传用户:731140412
这是一个非常简单的遗传算法源代码,对一特定的应用修正此代码,用户只需改变常数的定义并且定义“评价函数”即可。注意代码的设计是求最大值,其中的目标函数只能取正值;且函数值和个体的适应值之间没有区别。该系统使用比率选择、精华模型、单点杂交和均匀变异。
上传时间: 2013-12-20
上传用户:luke5347
这是一个非常简单的遗传算法源代码,代码保证尽可能少,实际上也不必查错。对一特定的应用修正此代码,用户只需改变常数的定义并且定义“评价函数”即可。注意代码 的设计是求最大值,其中的目标函数只能取正值;且函数值和个体的适应值之间没有区别。该系统使用比率选择、精华模型、单点杂交和均匀变异。如果用 Gaussian变异替换均匀变异,可能得到更好的效果。代码没有任何图形,甚至也没有屏幕输出,主要是保证在平台之间的高可移植性。读者可以从ftp.uncc.edu, 目录 coe/evol中的文件prog.c中获得。要求输入的文件应该命名为‘gadata.txt’;系统产生的输出文件为‘galog.txt’。输入的 文件由几行组成:数目对应于变量数。且每一行提供次序——对应于变量的上下界。如第一行为第一个变量提供上下界,第二行为第二个变量提供上下界,等等。
上传时间: 2015-10-16
上传用户:曹云鹏
C#编写的三次样条插值函数,TSS法求解对角矩阵方程函数,插值点函数值计算函数。
上传时间: 2014-11-18
上传用户:thuyenvinh
该程序是一个分段三次Hermite插值函数,给出自变量的值和相应的函数值及一阶导数值,可以用来另外已知自变量值的函数值
上传时间: 2013-12-22
上传用户:小草123