using GA to solve Multi objective function - Result to be 0 or 1

조회 수: 1 (최근 30일)
hassan
hassan 2014년 5월 31일
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개)

카테고리

Help CenterFile Exchange에서 Multiobjective Optimization에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by