Integer optimization returns decimal numbers
조회 수: 4 (최근 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에서 Problem-Based Optimization Setup에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!