Setting Linear constraints GA

2 views (last 30 days)
Mo
Mo on 23 Sep 2014
Commented: Mo on 23 Sep 2014
Using the optimization toolbox with the GA solver. My variables are such that they cannot be within a certain range [g,f], i.e must be:
y(i)<g
OR
y(i)>f
where f is larger than g. I then put this in the standard LMI form with:
A.y<b
The toolbox returns an in-feasibility error; which is no surprise, as no single point can satisfy both of the above inequalities simultaneously.
Is there an OR or similar function so I can implement the constraints in the toolbox?

Accepted Answer

Alan Weiss
Alan Weiss on 23 Sep 2014
Edited: Alan Weiss on 23 Sep 2014
That said, it seems to me that you really have a binary kind of problem here, where you need to optimize over a decision variable x(i) that can be 0 or 1, and when it is 0 you have y(i) < g, and when 1 you have y(i) > f. You might have better luck after reformulating your problem this way, or by making an exhaustive search over all binary choices.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 Comment
Mo
Mo on 23 Sep 2014
The OR documentation looks promising.
But I don't immediately see how the problem can be reformulated to the binary type.
Need to find an optimal sensor placement on a plate, with a fitness function based on the coverage performance of the sensors. The coverage performance is quite complex and takes a while to compute for the entire plate. There's a region on which the sensors can't be located on, hence the constraint.

Sign in to comment.

More Answers (1)

Matt J
Matt J on 23 Sep 2014
Edited: Matt J on 23 Sep 2014
You could express this using nonlinear constraints
(y(i)-f)*(g-y(i))<=0
However, your feasible region is highly non-connected, which will make it hard for GA to find a solution.

Products

Community Treasure Hunt

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

Start Hunting!