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]随意就行,需要一个解决问题的模板
展开
 我来答
lhmhz
高粉答主

2016-11-08 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17014

向TA提问 私信TA
展开全部

用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 广告
北京蓝宝、广州宏控、广州迈拓维矩、广州快捷等。在性价比方面,选择广州迈拓维矩矩阵切换器,性价比较高,6道测试工序,质量有保证。有以下优点:1.所有产品都是模块化设计,方便维护。2.矩阵都有输出长线驱动的设计,即插即用,不需要设置。3.软硬件... 点击进入详情页
本回答由黄先生提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式