Variable in cost function should take only two values.
Show older comments
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 Comments
John D'Errico
on 30 Apr 2018
Use intlinprog instead.
Mondeep maz
on 30 Apr 2018
sloppydisk
on 30 Apr 2018
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?
Walter Roberson
on 30 Apr 2018
(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
Mondeep maz
on 5 May 2018
Answers (0)
Categories
Find more on Time Series in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!