Integer optimization returns decimal numbers
1 回表示 (過去 30 日間)
古いコメントを表示
Hello!
I am working with a problem where I have implemented an integer linear programming optimization. The optimization variables are all integers with the following setup:
P = optimvar('P', 24,5,'Type','integer','LowerBound',0,'UpperBound',5);
alfa = optimvar('alfa' ,24,5,'Type','integer','LowerBound',0,'UpperBound',1);
I have added an objective function and a set of active constraints, and an optimal solution can be found in every iterations of my algorithm.
Although, in the results I can notice that the optimization variables sometimes are chosen as decimal numbers, e.g. 1e-5 or 1e-15.
How come this can happen?
BR
Johannes
0 件のコメント
回答 (1 件)
Alan Weiss
2023 年 4 月 3 日
The intlinprog solver (which solve calls internally for MILP problems) does not necessarily return or use internally exact integers. If you want exact integers, round your results, which might result in some linear constraints becoming slightly infeasible. See Limitations.
Alan Weiss
MATLAB mathematical toolbox documentation
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Get Started with Optimization Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!