Optimization problem: how to include binary variables?
Show older comments
Currently I have an optimization problem with linear equality and inequality constraints. The cost function is nonlinear convex and I used matrix forms, function handle and fmincon to solve for the problem. Now I want to extend the model by simply adding a binary variables to the problem. However, fmincon does not support this and intlinprog does not accept nonlinear cost functions and nor does it accept functions as input.
I looked up the GA page, but I saw the following note: "When there are integer constraints, ga does not accept linear or nonlinear equality constraints, only inequality constraints."
Are there alternatives available for this problem?
7 Comments
Torsten
on 7 Jul 2016
Yes. Solve the problem two times - once with binary variable set to 0 and once binary variable set to 1 - and compare the values of the objective function.
Best wishes
Torsten.
jaap ploeg
on 7 Jul 2016
Torsten
on 7 Jul 2016
You were talking about a binary variable.
If there are more than just one you want to include , you will have to solve your problem for all combinations, i.e. 2^n if n binary variables are present.
Best wishes
Torsten.
jaap ploeg
on 7 Jul 2016
Edited: jaap ploeg
on 7 Jul 2016
Torsten
on 7 Jul 2016
For problems of that size use CPLEX.
Best wishes
Torsten.
José-Luis
on 7 Jul 2016
And you could also do some sensitivity analysis in order to reduce the dimensionality of your problem beforehand.
Taner Cokyasar
on 14 Jul 2016
If you can linearize your nonlinear obj. function, you could use intlinprog for binary/integer variables.
Answers (0)
Categories
Find more on Linear Programming and Mixed-Integer Linear Programming 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!