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

时间:2015-04-03 10:17:44

标签: algorithm matlab optimization genetic-algorithm toolbox

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

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”选项?我想要最小化这两个方程的参数。我怎么知道它会寻找使这些方程达到最小值的参数?我不能在任何地方指定它。

非常感谢, 扬

1 个答案:

答案 0 :(得分:1)

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

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

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