nonlinear integer(boolean) programming problem

回答(1 个)

Alan Weiss
Alan Weiss 2020-7-30
编辑:Alan Weiss 2020-7-30
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 个评论

Thank you for your answer. The cost function is already computed and stored in a matrix. The decision variables are binary.
Also the objective function is non-linear.
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

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Surrogate Optimization 的更多信息

提问:

2020-7-30

评论:

2020-7-30

Community Treasure Hunt

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

Start Hunting!

Translated by