如何合理设置多目标优化问题

2个视图(过去30天)
大家好
我试图使用多目标遗传算法找到值的变量r1,r2,r3,l1,l2,l3,产生最小的压降和最小的体积,这是方程:
Delta_pressure = ((2 * k * l1) / r1) * (((3 + 1 / n) * v_melt) /(π* r1 ^ 3)) ^ n + (2 * k * l2) / r2) * (((3 + 1 / n) * v_melt) /(π* r2 ^ 3)) ^ n + (2 * k * l3) / r3) * (((3 + 1 / n) * v_melt) /(π* r3 ^ 3)) ^ n;
而且
卷=(π* r1 ^ 2) * l1 + r2(π* ^ 2)* l2 +(π* r3 ^ 2) * l3
k n v_melt是常数
我正在使用优化现场编辑器,但到目前为止,我不知道如何正确使用
这是我的其中一个尝试,我使用体积方程作为约束函数,训练使体积始终小于部分体积(v_part)的1.5倍
我不确定“固定输入a”或“优化输入”应该写什么
谢谢你的帮助

接受的答案

艾伦·韦斯
艾伦·韦斯 2021年8月17日
编辑:艾伦·韦斯 2021年8月17日
我认为你们需要理解优化变量都需要在一个变量中,通常称为 x .看到 编写标量目标函数 .此外,如果你愿意的话 gamultiobj 在您尝试创建目标函数之前,您将得到一个比您正在使用的模板更有用的模板。最后,你的非线性约束函数必须返回 c (x) 对于可行点,它小于零。我认为你需要
c =(π* r1 ^ 2) * l1 +π* (r2 ^ 2 * l2) +(π* r3 ^ 2) * l3 - 1.5 * v_part;
一件事。你可能想要设置 r 而且 l 作为向量,而不是作为每个分量的单独变量。所以你会写 r (2) 而不是 r2 .再说一遍,这些都是 x 向量。所以你可能会有
函数f1 = obj (x)
r = x (1:3);
l = x (6);
然后用r和l表示。
结束
您可能需要为固定的参数使用额外的变量,例如 k 而且 v_melt .你可以把它们放在你的工作空间里然后你的函数看起来就像
函数f1 = obj (x k v_melt)
%代码在这里
结束
祝你好运,
艾伦·韦斯
MATLAB数学工具箱文档

更多的答案(0)

标签

社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!

开始狩猎!