GRBgetgenconstrIndicator


GRBgetgenconstrIndicator

int GRBgetgenconstrIndicator GRBmodel *模型,
int id,
int * binvarP,
int * binvalP,
int * nvarsP,
int * 印第安纳州,
双* 瓦尔,
char * senseP,
双* rhsP)

检索类型为INDICATOR的通用约束的数据。为不同类型的通用约束调用此函数将导致错误返回代码。您可以查询GenConstrType属性以确定通用约束的类型。

典型用法是调用这个例程两次。在第一个调用中,您使用的值印第安纳州瓦尔参数。例程返回与中指定的指标约束相关联的线性约束中的非零系数的总数nvarsP.这可以让你确定印第安纳州瓦尔数组的大小足以容纳第二次调用的结果。

另请参阅GRBaddgenconstrIndicator此通用约束类型的语义描述。

返回值:

非零返回值表明在检索通用约束的数据时发生了问题。指的是错误代码表中可能的返回值列表。关于错误的详细信息可以通过调用GRBgeterrormsg

参数:

模型:应该添加新的通用约束的模型。

id:要检索的通用约束的索引。

注意,下列参数的任何组合都可以是

int * binvarP:与二进制指示器变量相关联的变量索引。

int * binvalP:指示器变量为了触发线性约束而必须取的值。

int * nvarsP:指标触发的线性约束中非零系数的个数。

int *印第安纳州:存储线性约束中非零值的变量下标的数组。

双*瓦尔:存储线性约束中非零值的数值的数组。

char * senseP:线性约束的意义。选项是GRB_LESS_EQUALGRB_EQUAL,或GRB_GREATER_EQUAL

双* rhsP:线性约束的右边值。

使用示例:

int类型;int binvar;Int binval: Int nvars;int *印第安纳州;双* val;char感;双rhs;error = grbgetintattreement (model, GRB_INT_ATTR_GENCONSTRTYPE, 3, &type); / / grbgetintattreement (model, GRB_INT_ATTR_GENCONSTRTYPE, 3, &type);if (type == GRB_GENCONSTR_INDICATOR) {error = GRBgetgenconstrIndicator(model, 3, &binvar, &binvar, &nvars, NULL, NULL, &sense, &rhs);/ *……allocate ind and val to hold 'nvars' values... */ error = GRBgetgenconstrIndicator(model, 3, NULL, NULL, NULL, ind, val, NULL, NULL); }