Có thể tìm giải pháp gần nhất để tối ưu cho một vấn đề hỗn hợp số nguyên không? Ví dụ tôi muốn vấn đề đơn giản dưới đây:Hỗn hợp-Integer Giải pháp tối ưu gần nhất trong Matlab
f = [1;1;1];
intcon = 1:3;
Aeq = [0.99,0.97,0.15];
beq = 0.16;
lb = zeros(3,1);
ub = [1;1;1];
x = intlinprog(f,intcon,[],[],Aeq,beq,lb,ub)
trở x=[0;0;1]
vì đây là giải pháp số nguyên gần nhất với giá trị khách quan của 0.16
. Thay vào đó hiện tại nó trả về
Intlinprog dừng vì không có điểm nào đáp ứng các ràng buộc.
Không nhất thiết phải chạy intlinprog
. Lý tưởng cũng cần phải hoạt động nếu beq
thấp, ví dụ: 0.14
.
Không đăng Ax = b như hạn chế, nhưng hạn chế tối đa các tiêu chuẩn khách quan (Ax- ăn xin bình phương nhỏ nhất. Tùy thuộc vào định mức của bạn, đây có thể là một chương trình tuyến tính số nguyên hỗn hợp hoặc một chương trình khác (qp, socp, ...). – sascha
Cảm ơn. Đó cũng sẽ là một lựa chọn. Bạn có ví dụ về việc áp dụng MI cho LS không? – Mary
Không cho MATLAB (vì tôi không phải là người dùng MATLAB). intlinprog dường như không phải là một ứng cử viên tốt ở đây (là mục tiêu, tùy thuộc vào định mức của bạn, có thể là phi tuyến mà không được hỗ trợ, nhưng [ví dụ này] (https://de.mathworks.com/help/optim/ug/ MIQP không phổ biến như MI và không có nhiều người giải quyết (đặc biệt là nguồn mở), nhưng mọi người giải quyết thương mại sẽ làm (gurobi, cplex và đồng.). – sascha