Mixed Integer (binary) Non-linear problem

4 次查看(过去 30 天)
Dear all,
I am working on intger (binary) nonlinear problem which is only (0-1) variable, with equality constraint. I am using Genetic Algorithm in order to solve this problem but I got the this error ("GA does not solve problems with integer and equality constraints"), because I have two constraints, the variables solution should be integer and at the same time I have equality constraints.
I got an answer for this question before on the following link:
I reformulated the equality constraints to be as nonequality constraints as the following example, but the result I got is not accurate. Knowing that I have around 10 000 variables in my problem:
3x1 – 2x2 = 5,
create two inequality constraints:
3x1 – 2x2 ≤ 5
3x1 – 2x2 ≥ 5.
To write these constraints in the form A xb, multiply the second inequality by -1:
–3x1 + 2x2 ≤ –5.
How can I solve this problem, and is there any other functions in matlab can help or support this kind of problem (integer nonlinear problem with equality constraint)
Thanks,

回答(1 个)

Alan Weiss
Alan Weiss 2020-12-15
That is way too many variables for ga even if it handled integer equality constraints. I suggest that you would probably be best served by an iterative approach using intlinprog as a subproblem solver. See Mixed-Integer Quadratic Programming Portfolio Optimization: Solver-Based for an example.
Good luck,
Alan Weiss
MATLAB mathematical toolbox documentation

类别

Help CenterFile Exchange 中查找有关 Genetic Algorithm 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by