① 使用谢菲尔德大学开发的遗传算法工具箱GATBX时,如何添加非线性约束
同问,有人解答吗?难道只能直接在目标函数里设置成惩罚函数
② matlab中的ga工具箱的custom怎么用我的自变量是10个整数变量,请问怎么约束,急,在线等。。
matlab中的ga工具箱的custom怎么用?我的自变量是10个整数变量,请问怎么约束,急,在线等。。
lyfit()版函数可以权输出多项式的系数,即拟合的函数表达式,你可以help polyfit一下
希望我可以帮助到你
③ matlab遗传算法工具箱应用问题.在适应度函数处应该输入什么约束条件怎么输入
这个ga工具箱只能解决简单的线性约束问题,你的约束条件是非线性约束,所以你还是要使用gatbx菲尔德大学的那个工具箱,你的问题带有不等式约束,转化为无约束的拉格朗日对偶问题求解
④ matlab ga函数怎么处理有连续和离散混合变量的问题
工具箱就费劲了 自己编写吧
⑤ 遗传算法:matlab中ga函数参数options该怎么设置
options可以不写有默认设置。
options是一个结构体要用函数gaoptimset()设置。
options=gaoptimset()然后把填到ga()里面。
gaoptimset('属性名1',数值1,'属性名2',数值2......)。
常用设置:
⑥ 如何从yahoo读取数据到matlab中
sina, yahoo都可以,matlab自带雅虎的数据获取
⑦ 求助:关于matlab遗传算法工具箱中约束的输入问题
遗传算法工具箱的函数GA基本调用格式如下:
X = GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub)
其中前两个参数分别是适应度函数和变量个数,第三、四个参数(A和b)即为线性不等式约束。
你现在需要做的是,增加几个线性约束条件:
x1 < x2
x2 < x3
x3 < x4
x4 < x5
不过,有个问题,遗传算法等优化工具对不等式约束的要求,都必须是闭集(带等号的不等式),也就是说,要的是类似下面这样的约束:
x1 <= x2
x2 <= x3
x3 <= x4
x4 <= x5
不知道你的问题是否允许把约束放宽到上面的形式,如果可以,就很简单了(如果不能放宽,我暂时还没想起怎么解决):
x1 - x2 <= 0
x2 - x3 <= 0
x3 - x4 <= 0
x4 - x5 <= 0
也就是调用函数时,线性约束的A和b分别为
A = [
1 -1 0 0 0
0 1 -1 0 0
0 0 1 -1 0
0 0 0 1 -1
];
b=[0;0;0;0];
⑧ matlab优化工具箱中遗传算法的问题
ga就是在穷举不可能完成时,用一种方式找到最优解
ga工具的完整形式如下表示
[X,FVAL,EXITFLAG,OUTPUT,POPULATION,SCORES] =
GA(FITNESSFCN,NVARS,A,b,Aeq,beq,lb,ub,NONLCON,options)
X是最优自变量
FVAL是求得的最优值
其他以此是推出标志,结构体,终止时的总群,终止时种群函数值
后半部分以此是目标函数,目标函数自变量个数
A和b是线性约束不等式AX〈b
Aeq和beq是一对线性等式约束,AeqX=beq
lb是X值下限,ub是X值下限
NONLCON是非线性约束函数 options是运行方式。这两个可以写函数自己完成,也可默认
函数默认计算最小值,计算最大值要加负号
非线性约束条件的写法
function [c,ceq]=nonlcon(x) 定义函数自变量是x,x可以是一列矩阵
c=[]; c表示非线性等式约束,以为没有,所以为空
ceq=[x(1)-2*(x(2))^2;
x(1)+X(2) ] ceq是非线性不等式约束,默认ceq<=0,ceq可以为一列矩阵.
>>
⑨ 用遗传算法工具箱怎么求解线性约束函数
Matlab遗传算法工具箱是可以施加的非线性隐性约束条件的。例如:
min z= 3050*x1³+0.25*x2;
其中x1定义域[-0.381,0.381],x2定义域[-100,100]
求目标函数值为10时的x1、x2值。
求解结果
x1=0.14169943480903302 x2=5.289387991237991
function [c,ceq]=ga_con(x) %非线性约束条件函数
c=10-(3050*x(1)^3+0.25*x(2));
ceq=[];