MATLAB Answers

Optimization tool Multi objective Genetic Algorithm

3 ビュー (過去 30 日間)
Asad Abbas
Asad Abbas 2016 年 8 月 23 日
コメント済み: Nathan S 2016 年 9 月 1 日
I am facing problem of multi objective optimization by Genetic Algorithm (By using Matlab Optimization tool) with give 4 objective functions and 13 variables. x is random generation population of 0 and 1. But when I optimize this file, the values of variable and population have change even with negative values. I am not getting my results. Please help me. If my question is not understandable please let me know. I will explain more.
function f=task1(x)
V=13;
x=randi([0 1],1,V);
x(:,2)=~x(:,1);
x(:,3)=~x(:,4);
x(:,5)=~x(:,6);
x(:,12)=~x(:,13);
f(1)=15*x(1)+20*x(2)+30*x(3)+25*x(4)+40*x(5)+35*x(6)+35*x(7)+50*x(8)+20*x(9)+23*x(10)+30*x(11)+45*x(12)+50*x(13);
f(2)=5*x(1)+3*x(2)+4*x(3)+5*x(4)+4*x(5)+6*x(6)+5*x(7)+8*x(8)+5*x(9)+3*x(10)+2*x(11)+7*x(12)+6*x(13);
f(3)=6*x(1)+4*x(2)+2*x(3)+2*x(4)+3*x(5)+4*x(6)+4*x(7)+4*x(8)+2*x(9)+3*x(10)+3*x(11)+4*x(12)+3*x(13);
f(4)=2048*x(1)+1024*x(2)+256*x(3)+512*x(4)+256*x(5)+512*x(6)+1024*x(7)+1024*x(8)+512*x(9)+512*x(10)+256*x(11)+1024*x(12)+512*x(13);
end

採用された回答

Alan Weiss
Alan Weiss 2016 年 8 月 24 日
You didn't show us your call to gamultiobj, so we cannot check whether you correctly passed bounds to the solver. However, I can see that your objective function throws away the x that the solver passes, and instead creates a new x via the line
x=randi([0 1],1,V);
Remove that line from your objective function, you need to accept the x that the solver passes and work with it.
If you need your variables to be integer-valued, then you are out of luck, because gamultiobj works only with continuous variables. But if you have a vector of only 13 variables that are binary-valued, then why not simply do an exhaustive search over all the possible values? There are only 8192 values to examine.
Alan Weiss
MATLAB mathematical toolbox documentation
  3 件のコメント
Nathan S
Nathan S 2016 年 9 月 1 日
Finding the Pareto optimal set from a collection of sample points is an active area of research. This paper presents an algorithm which is relatively simple to implement and also faster than many other approaches.

サインインしてコメントする。

その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by