MATLAB Answers

nonlinear integer(boolean) programming problem

5 views (last 30 days)
R yan
R yan on 30 Jul 2020
Commented: Alan Weiss on 30 Jul 2020
can we solve this using MATLAB?
cost function is known.
thanks

  0 Comments

Sign in to comment.

Answers (1)

Alan Weiss
Alan Weiss on 30 Jul 2020
Edited: Alan Weiss on 30 Jul 2020
Is the cost linear in the decision variables? If so, use intlinprog. I assume that you have other constraints that you did not list, such as all variables are positive. All Optimization Toolbox™ solvers minimize; to maximize, use the negative of your cost function.
If the cost cannot be made linear, you can try ga or surrogateopt, which try to minimize nonlinear functions over integer variables.
Alan Weiss
MATLAB mathematical toolbox documentation

  3 Comments

R yan
R yan on 30 Jul 2020
Thank you for your answer. The cost function is already computed and stored in a matrix. The decision variables are binary.
R yan
R yan on 30 Jul 2020
Also the objective function is non-linear.
Alan Weiss
Alan Weiss on 30 Jul 2020
I am not at all sure how to solve this problem efficiently, sorry. I didn't read carefully your problem description at first. Our nonlinear integer solvers do not allow equality constraints, so while you can represent equality constraints as two inequalities, I doubt that the solvers would perform well.
I hope that someone else has better ideas for you.
I could imagine that a greedy search would give a bound that might be not too bad, but this would not be optimal, and would not generalize to an iterative algorithm.
Alan Weiss
MATLAB mathematical toolbox documentation

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!