将变量添加到模型中

将变量添加到模型中

一旦我们创建GuRObi模型,我们就可以开始向其添加变量和约束。在我们的示例中,我们将首先添加变量:


/ *添加变量* / obj [0] = 1;obj [1] = 1;obj [2] = 2;vtype [0] = grb_binary;vtype [1] = grb_binary;vtype [2] = grb_binary;ERROR = GRBADDVARS(型号,3,0,null,null,null,obj,null,null,vtype,null);如果(错误)转到戒烟;

第一个论点grbaddvars()是添加变量的模型。第二个是添加变量的数量(我们的示例中的3个)。

参数三到六描述与新变量相关联的约束矩阵系数。第三个参数给出了与新变量关联的非零约束矩阵条目的数量,下一个三个参数提供这些非零的详细信息。在我们的示例中,我们将在添加约束时添加这些非零。因此,这里的非零计数为零,并且以下三个参数都是空值

第七个论点grbaddvars()是每个新变量的线性物镜系数。由于我们的示例旨在最大限度地提高目标,并且默认情况下,Gurobi将最小化目标,我们需要更改客观意义。这是在下一个陈述中完成的。注意我们可以乘以-1的目标系数(因为最大化<span> $ </ span> c'x <span> $ </ span>相当于最小化<span> $ </ span> -c'x <span> $ </ span>)。

接下来的两个参数分别指定变量的较低和上限。这空值值表明这些变量应采取其默认值(对于二进制变量0.0和1.0)。

第十个参数指定变量的类型。在此示例中,变量都是二进制的(grb_binary.)。

最终的参数给出了变量的名称。在这种情况下,我们允许变量名称占据默认值(x0,x1和x2)。