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。可是我的目标函数和约束比这个复杂,,我实在不会表示。。。目标和约束都带累加的。。里面只有常数是我乱写的,其余都是准确的。。
追答
请你把完整的目标函数和约束函数贴出来。或加我的企鹅。
Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式