GRBaddgenconstrPow


GRBaddgenconstrPow

int GRBaddgenconstrPow GRBmodel *模型,
const char *姓名、
int xvar,
int yvar,
一个,
const char *选项)

添加一个新的通用类型约束GRB_GENCONSTR_POW一个模型。注意,由于我们的惰性更新方法,新的约束实际上不会添加,直到您更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或者将模型写入磁盘(使用GRBwrite).

幂函数约束表明这种关系< span > < /美元跨度> y = x ^ < span > < / span >美元应该适用于变量< span > < /美元跨度> x < span > < / span >美元< span > < / span > y < span >美元< / span >,在那里< span > < /美元跨度> > 0 < span > < / span >美元为(常数)指数。变量的下界< span > < /美元跨度> x < span > < / span >美元必须是非负的,即使< span > < /美元跨度> < span > < / span >美元是一个整数。

模型中加入了函数的分段线性近似。近似值的细节由以下四个属性(或使用具有相同名称的参数)控制:FuncPiecesFuncPieceErrorFuncPiecesLength,FuncPieceRatio.详情请参阅一般的约束讨论。

返回值:

非零返回值表明在添加一般约束时发生了问题。指的是错误代码可能返回值列表的表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg

参数:

模型:应加入新的一般约束的模型。

的名字:新通用约束的名称。这个论证可以是,在这种情况下,约束被赋予一个默认名称。

xvar:变量的索引< span > < /美元跨度> x < span > < / span >美元

yvar:变量的索引< span > < / span > y < span >美元< / span >

一个:函数的指数。

选项:可用于设置控制该函数约束的分段线性逼近的属性的字符串。要给属性赋值,请在属性名后面加上等号和所需的值(不能有空格)。不同属性的赋值应该用空格分隔(例如:“FuncPieces = 1 FuncPieceError = 0.001”)。

使用示例:

/* y =根号(x) */ error = grbadgenconstrucpow (model, "pow", xvar, yvar, 0.5, "");