建议一个方法/解决组合优化算法

8视图(30天)
我有三组不同的变量
SC = [a, b, c, d, e, f);%每个选项a、b等实际上是依赖于温度,可以使用经验correaltions评估
我= (p, q, r);%每个选项p、q等实际上是临时的依赖,可以使用经验correaltions评估
高频= [m, n, x, y, z];%每个选项m、n等实际上是临时的依赖,可以使用经验correaltions评估
需要选择一个最佳组合,从每组选择一个选项,这样产生的组合效率最大化
效率是通过将这些变量的价值评估的数学模型。
opimization技术/算法可以解决这样的问题。
请建议。
非常感谢。
1评论
布鲁诺陈德良
布鲁诺陈德良 2020年12月19日
编辑:布鲁诺陈德良 2020年12月19日
有6 * 3 * 5 = 90组合,你就不能评估他们挑选最好的?

登录置评。

接受的答案

埃米尔哈姆萨
埃米尔哈姆萨 2020年12月17日
编辑:埃米尔哈姆萨 2020年12月17日
我不认为有一个函数在MATLAB操作优化变量的列表。最可能的选择是使用这些变量的优化器生成索引。只有ga()和surrogateopt()将为非线性整数规划工作。
例如,考虑这一点
SC = (1 2 3 4 5 6);
我= (1 2 3);
高频= (5 4 3 2 1);
磅= (1 1 1);
乌兰巴托= (6 3 5);%上界为索引
索尔= ga (@ (x) objFun (x, SC,高频),3,[],[],[],[],磅,乌兰巴托,[],1:3)
SC_sol = SC (sol (1))
AM_sol =我(sol (2))
HF_sol =高频(sol (3))
函数y = objFun (SC,印第安纳州,高频)
y = myModel (SC(印第安纳州(1)),我(印第安纳州(2)),高频(印第安纳州(3)));
结束
函数y = myModel (sc,高频)
y = sc +是+高频;
结束
然而,我猜surrogateopt()更合适,因为它显式地定义为“time-consuing目标函数”
SC = (1 2 3 4 5 6);
我= (1 2 3);
高频= (5 4 3 2 1);
磅= (1 1 1);
乌兰巴托= (6 3 5);%上界为索引
选择= optimoptions (“surrogateopt”,“PlotFcn”,);
索尔= surrogateopt (@ (x) objFun (x, SC,高频),磅,乌兰巴托,1:3,选择)
SC_sol = SC (sol (1))
AM_sol =我(sol (2))
HF_sol =高频(sol (3))
函数y = objFun (SC,印第安纳州,高频)
y = myModel (SC(印第安纳州(1)),我(印第安纳州(2)),高频(印第安纳州(3)));
结束
函数y = myModel (sc,高频)
y = sc +是+高频;
结束
4评论

登录置评。

更多的答案(0)

类别

找到更多的在代理优化帮助中心文件交换

标签

社区寻宝

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

开始狩猎!