matlab 非线性多目标的遗传算法问题
找了两天对于刚入门的我实在不会QAQ麻烦大家会的帮个忙,,或者给点小提示。。谢谢!!(鞠躬)。目标是min(sum(Li))和min(sum(ti))其中ai数组是已知的...
找了两天 对于刚入门的我实在不会QAQ麻烦大家会的帮个忙,,或者给点小提示。。谢谢!!(鞠躬)。目标是min(sum(Li)) 和min(sum(ti)) 其中ai数组是已知的,
麻烦能有实际代码,里面的一些数是我随意设定的,可能没有最优解,但是希望有代码。。毕竟常熟需要更改的。
a[i]数组=[1,1,1,1,1,1,1,1,1,1]随意就行,需要一个解决问题的模板 展开
麻烦能有实际代码,里面的一些数是我随意设定的,可能没有最优解,但是希望有代码。。毕竟常熟需要更改的。
a[i]数组=[1,1,1,1,1,1,1,1,1,1]随意就行,需要一个解决问题的模板 展开
1个回答
展开全部
用matlab的ga()遗传算法函数求非线性多目标的最小值(或最大值),其解决帮助如下:
1、首先建立自定义目标函数,y=FitFun(x)
2、其二建立自定义约束函数,[c,ceq]=NonCon(x)
3、最后,根据已知条件,用ga()函数求解。
为了说明问题,没有用你随意给的问题。下面,给你一个例子作参考。
FitFun.m
function f = FitFun(x,a1)
f = exp(x(1))*(4*x(1)^2 + 2*x(2)^2 + 4*x(1)*x(2) + 2*x(2) + a1);
end
NonCon.m
function [c,ceq] = NonCon(x,a2)
c = [1.5 + x(1)*x(2) - x(1) - x(2);-x(1)*x(2) - a2];
ceq = [];
end
ga_main.m
a1 = 1; a2 = 10;
options = gaoptimset('MutationFcn',@mutationadaptfeasible);
x = ga(@(x) FitFun(x,a1),2,[],[],[],[],[],[],@(x) NonCon(x,a2),options)
运行结果
更多追问追答
追问
谢谢你QAQ。可是我的目标函数和约束比这个复杂,,我实在不会表示。。。目标和约束都带累加的。。里面只有常数是我乱写的,其余都是准确的。。
追答
请你把完整的目标函数和约束函数贴出来。或加我的企鹅。
黄先生
2024-12-27 广告
2024-12-27 广告
北京蓝宝、广州宏控、广州迈拓维矩、广州快捷等。在性价比方面,选择广州迈拓维矩矩阵切换器,性价比较高,6道测试工序,质量有保证。有以下优点:1.所有产品都是模块化设计,方便维护。2.矩阵都有输出长线驱动的设计,即插即用,不需要设置。3.软硬件...
点击进入详情页
本回答由黄先生提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询