nonlinear integer(boolean) programming problem

Risposte (1)

Alan Weiss
Alan Weiss il 30 Lug 2020
Modificato: Alan Weiss il 30 Lug 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 Commenti

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

Accedi per commentare.

Richiesto:

il 30 Lug 2020

Commentato:

il 30 Lug 2020

Community Treasure Hunt

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

Start Hunting!

Translated by