nonlinear integer(boolean) programming problem

回答 (1 件)

Alan Weiss
Alan Weiss 2020 年 7 月 30 日
編集済み: Alan Weiss 2020 年 7 月 30 日

0 投票

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 件のコメント

R yan
R yan 2020 年 7 月 30 日
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 2020 年 7 月 30 日
Also the objective function is non-linear.
Alan Weiss
Alan Weiss 2020 年 7 月 30 日
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

サインインしてコメントする。

カテゴリ

質問済み:

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