【发布时间】:2020-12-16 13:18:43
【问题描述】:
当我试图解决一个非常简单的装箱问题时,Gurobi 求解器无法正常工作。我确实尝试了一些非常简单的优化问题,使用 Gurobi 进行 1 个不等式约束,它可以工作。但对于一些复杂的小问题,它总是返回 NA 。我很沮丧。如果有人可以提供帮助,非常感谢您的帮助
%% By Linear programming
clear;clc;
weight = [4,4,5,7]';
cvx_begin
cvx_solver SDPT3
variables I(4,1) X(4,4)
minimize sum(I)
subject to
X * weight <= 10 * I;
sum(X) == [1,1,1,1];
X >= 0
X <= 1
I >= 0
I <= 1
cvx_end
X
I
%% By Integer programming
clear;clc;
weight = [4,4,5,7]';
cvx_begin
cvx_solver Gurobi
variables I(4,1) X(4,4)
minimize sum(I)
subject to
X * weight <= 10 * I
sum(X) == [1,1,1,1]
X >= 0
X <= 1
I >= 0
I <= 1
cvx_end
X
I
这是错误信息
Calling Gurobi 9.00: 44 variables, 28 equality constraints
------------------------------------------------------------
------------------------------------------------------------
Status: Error
Optimal value (cvx_optval): NaN
Error using cvx_end (line 267)
model.quadcon must be a struct array with fields q, and rhs
【问题讨论】:
-
在使用 cvx 时似乎需要指定
quadcons参数。您可能希望单独使用 Gurobi 来解决这些问题。 -
@mattmilten 我不太明白。那么在这种情况下如何使用quadcons呢?顺便说一句,我只是发现我的朋友可以在他的 Matlab 上运行确切的代码。
-
呃,解决它的压力很大。我只是用谷歌搜索了我自己的问题,哈哈