在 MATLAB 中使用优化工具箱使用遗传算法求解多 objective 函数

Solving multi-objective function using Genetic Algorithm with the Optimization toolbox in MATLAB

我知道有几个主题与此有关,但其中 none 个回答了我的问题。 我的问题如下。如果我使用这个 multi-objective 函数:

function y = GAMultiobjectiveFunction(x)
q=x(1);
d=x(2);
y(1) = -(rev(q) - cost(q, d));  %by minimizing we will make -(profit) to be minimum,
                                %meaning that +(profit) will be the maximum
y(2) = 3*(power(q, 1.4))*((log(power(q,3)*d))/(d+10))+(rand*30);
end

在优化工具箱中,我想用遗传算法的方法求解,是否必须使用"gamultiobj"选项?我想要 最小化 两个方程的参数。我怎么知道它会寻找使这些方程达到最小值的参数?我无法在任何地方指定它。

非常感谢, 一月

是的,如果你想最小化两者,你需要 gamultobj 函数。

http://www.mathworks.com/help/gads/gamultiobj.html

h = @(X)GAMultiobjectiveFunction(X);
[x,f,exitflag] = gamultiobj(h,2,[],[],[],[],... lb,ub,options);