GRBloadmodel
GRBloadmodel
int | GRBloadmodel( | 格本夫 | *环境, |
GRB模型 | **modelP, | ||
常量字符 | *Pname, | ||
int | 努瓦, | ||
int | numconstrs, | ||
int | objsense, | ||
双重的 | objcon, | ||
双重的 | *obj, | ||
烧焦 | *感觉, | ||
双重的 | *rhs, | ||
int | *vbeg, | ||
int | *弗伦, | ||
int | *维德, | ||
双重的 | *vval, | ||
双重的 | *磅, | ||
双重的 | *乌兰巴托, | ||
烧焦 | *vtype, | ||
常量字符 | **varnames, | ||
常量字符 | **(姓名) |
使用提供的参数初始化模型数据(目标函数、变量边界、约束矩阵等),创建新的优化模型。然后,模型可以进行优化或修改(例如,添加变量或约束、更改变量类型或边界等)。
如果约束矩阵可能包含超过20亿个非零值,则应考虑使用GRBX负荷模型这个程序的变体。
返回值:
非零返回值表示创建模型时出现问题。请参阅错误代码表获取可能返回值的列表。可通过调用GRBgeterrormsg.
论据:
环境:应在其中创建新模型的环境。请注意,新模型会获得此环境的副本,因此对原始环境的后续修改(例如,参数更改)不会影响新模型。请使用GRBgetenv修改与模型关联的环境。
模型:指向新创建模型的指针应放置的位置。
Pname:模型的名称。
纽瓦:模型中变量的数量。
numconstrs:模型中的约束数。
奥布杰森斯:目标函数的意义。允许值为1(最小化)或-1(最大化)。
奥比肯:恒定目标偏移量。
obj:新变量的目标系数。此参数可以是无效的,在这种情况下,目标系数设置为0.
感觉:新约束的含义。选项包括'='(相等),'<'(小于或等于),或'>'(大于或等于)。也可以使用常量GRB_相等,GRB_小于等于或GRB_大于等于.
rhs:新约束的右侧值。此参数可以是无效的如果您没有添加任何约束。
vbeg:约束矩阵非零值在压缩稀疏列(CSC)中传递到此例程格式。约束矩阵中的每列表示为索引值对列表,其中每个索引项提供非零值系数的约束索引,每个值项提供相应的非零值。模型中的每个变量都有一个vbeg和弗伦值,指示该变量在维德和维瓦尔数组,以及该变量的非零值数。因此,例如,如果vbeg[2]=10和vlen[2]=2,这表明变量2有两个与之关联的非零值。它们的约束指数可在中找到维德[10]和维德[11],这些非零的数值可在中找到vval[10]和vval[11].
弗伦:与每个变量关联的约束矩阵非零值的数目。请参阅vbeg关于更多信息的争论。
维德:与非零值关联的约束索引。请参见对的描述vbeg关于更多信息的争论。
维瓦尔:与约束矩阵非零关联的数值。请参阅vbeg关于更多信息的争论。
磅:新变量的下限。这一论点可能是错误的无效的,在这种情况下,所有变量的下界为0.
乌兰巴托:新变量的上限。这一论点可能是错误的无效的,在这种情况下,所有变量的上界都是无限的。
V型:变量的类型。选项为GRB_连续,GRB_二进制,GRB_整数,GRB_半导体或GRB_半整数. 这一论点可能是错误的无效的,在这种情况下,假设所有变量都是连续的。
varnames:新变量的名称。此参数可以是无效的,在这种情况下,所有变量都有默认名称。
姓名:新约束的名称。此参数可以是无效的,在这种情况下,所有约束都被指定为默认名称。
重要提示:
我们建议您一次使用一个约束或一个变量构建一个模型GRBaddconstr或格巴德瓦,而不是使用此例程一次加载整个约束矩阵。它更简单,更不容易出错,并且不会引入显著的开销。
用法示例:
/*x+y+y+2 z+2 z+2 x+y+2 z z受x+2 y+2 y+2 z z+2 z受x+2 y+2 y+2 z z+2 z z z z受x+2 y+2 y+2 y+2 z z z受x+2 y+2 y+2 y+2 y+3 z z z z z<=4 x+3 x+y,y,y,y,z二进制,z,z二进制,z,z,z,z,z元=3;INTconconcons=2;INTVBEG=2;INTVBEG元元元元组[[3+y+y+y+y+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2+2 z z z z z z z z z z z z z+2+2+2+2+2+2+2 z z z z z z z z z z z z z z z z z z z z z 0};char vtype[]={GRB_BINARY,GRB_BINARY,GRB_BINARY};error=GRBloadmodel(env,&model,“example”,vars,constrs,-1,0.0,obj,sense,rhs,vbeg,vlen,vind,vval,NULL,NULL,vtype,NULL,NULL);