我想在 Matlab 中使用 Gurobi 求解器,但我不知道如何计算所需的矩阵(qrow 和 qcol)。
供您参考,我正在复制文档中提供的示例。
0.5 x^2 - xy + y^2 - 2x - 6y
受制于
x + y <= 2
-x + 2y <= 2, 2x + y <= 3, x >= 0, y >= 0
c = [-2 -6]; % objective linear term
objtype = 1; % minimization
A = sparse([1 1; -1 2; 2 1]); % constraint coefficients
b = [2; 2; 3]; % constraint right-hand side
lb = []; % [ ] means 0 lower bound
ub = []; % [ ] means inf upper bound
contypes = '$<<
vtypes = [ ]; % [ ] means all variables are continuous
QP.qrow = int32([0 0 1]); % indices of x, x, y as in (0.5 x^2 - xy + y^2); use int64 if sizeof(int) is 8 for you system
QP.qcol = int32([0 1 1]); % indices of x, y, y as in (0.5 x^2 - xy + y^2); use int64 if sizeof(int) is 8 for you system
QP.qval = [0.5 -1 1]; % coefficients of (0.5 x^2 - xy + y^2)
这是否意味着如果我有 4 个决策变量,我应该使用 0、1、2、3 作为我的决策变量 x_1、x_2、x_3、x_4 的索引?
谢谢
注意:我尝试使用 mathurl.com,但我不知道如何以正确的格式书写,表明它将显示为乳胶文本。对不起符号。