GRBsetobjectiven


GRBsetobjectiven

int GRBsetobjectiven GRBmodel *模型,
int 指数,
int 优先级,
重量,
abstol,
reltol,
const char *姓名、
常数,
int lnz,
int *林德,
* lval)

将可选优化目标设为一个线性表达式。

请参阅讨论多个目标有关如何指定多个目标函数和控制它们之间的权衡的信息。

方法还可以修改另一个目标ObjN变量属性。如果您希望混合和匹配这两种方法,请注意,此方法将取代整个现有的目标,而ObjN属性可用于修改单个术语。

请注意,由于我们采用了延迟更新方法,在更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或将模型写入磁盘(使用GRBwrite).

返回值:

非零返回值表示在设置可选目标时发生了问题。指的是错误代码表中可能的返回值列表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg

参数:

模型:应该设置新的替代目标的模型。

指数:新目标索引。如果使用索引0,这个例程将改变主要的优化目标。

优先级:可选目标的优先级。这个初始化ObjNPriority属性。

重量:替代目标的权重。这个初始化ObjNWeight属性。

abstol:对替代目标的绝对容忍。这个初始化ObjNAbsTol属性。

reltol:对替代目标的相对容忍度。这个初始化ObjNRelTol属性。

的名字:替代目标的名称。这个初始化ObjNName属性。

常数:新备选目标的线性表达式的常量部分。

lnz:新备选目标中非零系数的数目。

林德:在新的替代目标中为非零值的变量指标。

lval:在新的可选目标中为非零值的数值。

使用示例:

Int ind[] = {0, 1, 2};Double val[] = {1.0, 1.0, 1.0};/*客观表达式:x0 + x1 + x2 */ error = GRBsetobjectiven(model, 0,1,0.0, 0.0, 0.0, 0.0,“primary”,0.0,0.0,3,ind, val);