Variable in cost function should take only two values.

How can i set my objective function variable to take only 0 and 1 and not anything in between? I am using ga solver and my objective function is like min(f(x))= x(1) + x(2) + x(3) with constraint that (x(1) +x(2) + x(3))*0.2=0.4. Please help

6 个评论

Thanks this would work for a single objective function. What if i had a multi objective problem?
You must specify how the multiple objectives have to be used. Perhaps you want to minimize the sum of the objective functions? Or give each objective a weight?
(x(1) +x(2) + x(3))*0.2=0.4 is the same constraint as (x(1) +x(2) + x(3))*2=4 which is the same as (x(1) +x(2) + x(3)) = 2 . Using the integer valued one avoids any issues of round-off due to 0.2 not being exactly representable as an integer.
working in binary formay may come handy:
L=dec2bin(randi([0 100],1,1))
uint8(str2num(L(:))')
John BG

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Time Series 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by