GRBaddgenconstrPoly
GRBaddgenconstrPoly
int | GRBaddgenconstrPoly( | GRBmodel | *模型, |
const char | *姓名、 | ||
int | xvar, | ||
int | yvar, | ||
int | 满, | ||
双 | * p, | ||
const char | *选项) |
添加一个新的通用类型约束GRB_GENCONSTR_POLY一个模型。注意,由于我们的惰性更新方法,新的约束实际上不会添加,直到您更新模型(使用GRBupdatemodel),优化模型(使用GRBoptimize),或者将模型写入磁盘(使用GRBwrite).
多项式函数约束说明了这种关系应该存在于变量之间和.
模型中加入了函数的分段线性近似。近似值的细节由以下四个属性(或使用具有相同名称的参数)控制:FuncPieces,FuncPieceError,FuncPiecesLength,FuncPieceRatio.详情请参阅一般的约束讨论。
返回值:
非零返回值表明在添加一般约束时发生了问题。指的是错误代码可能返回值列表的表。关于错误的详细信息可以通过调用来获得GRBgeterrormsg.
参数:
模型:应加入新的一般约束的模型。
的名字:新通用约束的名称。这个论证可以是零,在这种情况下,约束被赋予一个默认名称。
xvar:变量的索引.
yvar:变量的索引.
全:系数数组的长度p.如果最高幂项是什么全应该是.
p:多项式函数的系数(从最高次幂的系数开始)。
选项:可用于设置控制该函数约束的分段线性逼近的属性的字符串。要给属性赋值,请在属性名后面加上等号和所需的值(不能有空格)。不同属性的赋值应该用空格分隔(例如:“FuncPieces = 1 FuncPieceError = 0.001”)。
使用示例:
/* y = 3 x^4 + 7 x + 3 = 3 x^4 + 0 x^3 + 0 x^2 + 7 x + 3 */ int plen = 5;Double p[] = {3, 0, 0, 7, 3};error = grbadgenconstrucpoly (model, "poly", xvar, yvar, 5, p, "");