How can I convert equality constraints into inequality constraints?
Show older comments
I m solving a problem using ga with equality and inequality constraints and want to optimise it while using binary variables. But do not solve it with equality constraints.
Answers (2)
Matt J
on 13 Jun 2017
0 votes
See these threads
4 Comments
John
on 14 Jun 2017
As a simple 2-variable example, suppose your problem is
min 3*x1+2*x2
subject to
x1+x2=5;
x2>=0
x1>=1
The equality constraint implies x2=5-x1 so you can eliminate x2 and reduce the above to a lower dimensional problem with inequality constraints only:
min. 3*x1+2*(5-x1)
subject to
5-x1>=0
x1>=1
The links I provided talk about how to do this in higher dimensions, but basically you reorder your variables so that your equality constraint matrix partitions as Aeq=[P,Q] where Q is an NxN invertible matrix. The equality constraints then become,
beq = Aeq*x = P*x1 + Q*x2
and you can eliminate the variables associated with Q according to x2=inv(Q)*(beq-P*x1).
But what is the P here and should we eliminate Q at end?
Q is not an unknown variable. It is an NxN invertible matrix formed from linearly independent columns of Aeq. You can identify these columns using licols.m attached. P is a matrix formed from the remaining columns.
If we convert all equality constraints into inequality constraints by this way then may be we get infeasible solution.
I don't see why you would. The reduced problem should be equivalent to the original.
Alan Weiss
on 14 Jun 2017
0 votes
Did you see the documentation dealing with equality constraints for mixed-integer optimization using ga?
Alan Weiss
MATLAB mathematical toolbox documentation
Categories
Find more on Problem-Based Optimization Setup 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!