使用遗传算法和MATLAB中的优化工具箱求解多目标函数



我知道有几个关于这方面的主题,但没有一个能回答我的问题。我的问题如下。如果我使用这个多目标函数:

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);

最新更新