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 = grbsetobjectven(模型,0,1,0.0,0.0,0.0,0.0,0.0,“主要”,0.0,3,ind, val);