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에서 Multiobjective Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!