using GA to solve Multi objective function - Result to be 0 or 1
1 次查看(过去 30 天)
显示 更早的评论
Hi I have a Multi-Objective function problem, and i want to solve it using Genetic algorithm. There are set of instruments (x(i))range from x(1) to x(6).
By using GA, we want to know how out of all these instruments (x(1:6)) which ones should be chosen so that constraints are met and cost is minimized.
Our result should only give us out put of {0} or {1}. {0} if x(i) is not used {1} if x(i) is used.
Those x(i) which have result of {1} are our best optimal with its corresponding minimum cost.
I have my functions as:
min F(x) = [objective1(x(i)); objective2(x(i))]
objective1(x(i)) = (d(i))*(t(i))*x(i)
objective2(x(i)) = (t(i))*2*(q(i)/C)*x(i)
subject to: -
sum d((i(1:6)))> 1500
q(i)/C < 30
-q(i)/C < -2
x(i)={0,1}
My (x) comes from following list:
i=1:6;
x(1) is instrument 1
x(2) is instrument 2
x(3) is instrument 3
x(4) is instrument 4
x(5) is instrument 5
x(6) is instrument 6
My other data are fixed for each x(i)
d(1) = 12
d(2) = 30
d(3) = 20
d(4) = 10
d(5) = 8
d(7) = 7
t(1) = 5
t(2) = 3
t(3) = 4
t(4) = 2
t(5) = 4
t(6) = 5
q(1) = 50
q(2) = 20
q(3) = 40
q(4) = 25
q(5) = 45
q(6) = 35
C=60;
For example for above objective function calculation is as follow:
objective1(x(1)) = (d(1))*(t(1))*x(1)+(d(2))*(t(2))*x(2)+(d(3))*(t(3))*x(3)+(d(4))* (t(4))*x(4)+(d(5))*(t(5))*x(5)+(d(6))*(t(6))*x(6)
objective2(x(1)) = (t(1))*2*(q(1)/C)*x(1)+(t(2))*2*(q(2)/C)*x(2)+(t(3))*2*(q(3)/C)*x(3)+(t(4))*2*(q(4)/C)*x(4)+(t(5))*2*(q(5)/C)*x(5)+(t(6))*2*(q(6)/C)*x(6)
can someone tell me how, to write fitness function so that GA only gives me result of {0} or {1} and minimum cost. {1} means instrument should be used. {0} means instrument should be used.
0 个评论
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Genetic Algorithm 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!