GRBloadmodel

int GRBloadmodel( GRBenv * env,
GRBmodel * * modelP,
const char * Pname,
int numvars,
int numconstrs,
int objsense,
objcon,
* obj,
字符 *感,
*,
int * vbeg,
int * vlen,
int * vind,
* vval,
*磅,
*乌兰巴托,
字符 * vtype,
const char * * varnames,
const char * * constrnames)

创建一个新的优化模型,使用所提供的参数初始化模型数据(目标函数、变量边界约束矩阵,等等)。然后准备优化模型,或者修改(例如,添加变量或约束,改变变量类型或边界,等等)。

如果你的约束矩阵可能包含超过20亿个非零值,您应该考虑使用GRBXloadmodel这个例程的变体。

返回值:

一个非零返回值表明一个问题发生在创建模型。指的是错误代码表的列表可能的返回值。细节错误可以通过调用GRBgeterrormsg

参数:

env:环境应该创建新的模型。注意,新模型得到一份这样的环境下,所以后续修改原来的环境(例如,参数更改)不会影响新模型。使用GRBgetenv修改与模型相关的环境。

modelP:位置的指针指向新创建的模型应该被放置。

Pname:模型的名称。

numvars:在模型中变量的数量。

numconstrs:在模型中约束的数量。

objsense:目标函数的意义。允许的值是1(最小化)或1(最大化)。

objcon:恒定目标偏移量。

obj:目的新变量的系数。这个观点可以,在这种情况下,目标系数设置0.0

感觉:新的约束的感觉。选项是“=”(相等),“<”(小于或等于),或“>”(大于或等于)。您还可以使用常量GRB_EQUAL,GRB_LESS_EQUAL,或GRB_GREATER_EQUAL

园艺学会:右边的值的新限制。这个观点可以如果你不添加任何约束。

vbeg:约束矩阵非零值被传递到这个例程在压缩稀疏列(CSC)格式。约束矩阵的每一列都被表示为一个索引值对列表,其中每个索引条目提供了一个非零系数约束指数,和每个值条目提供了相应的非零值。每个变量在模型中有一个vbegvlen值,表示该变量的非零的开始位置vindvval数组和变量的非零值的数量,分别。因此,例如,如果vbeg [2] = 10vlen [2] = 2,这将表明,与之关联的变量2有两个非零值。他们的约束指标中可以找到vind [10]vind [11],这些非零的数值可以在找到vval [10]vval [11]。请注意,矩阵的列必须下令自始至终,这意味着中的值vbeg必须引入。

vlen:每个变量与约束矩阵非零值的数量。看到的描述vbeg参数的更多信息。

vind:约束指数与非零值。看到的描述vbeg参数的更多信息。

vval:数值与约束矩阵非零。看到的描述vbeg参数的更多信息。

:下界为新变量。这个观点可以,在这种情况下,所有变量的下界0.0

乌兰巴托:上界为新变量。这个观点可以,在这种情况下,所有变量得到无限的上界。

vtype:类型变量。选项是GRB_CONTINUOUS,GRB_BINARY,GRB_INTEGER,GRB_SEMICONT,或GRB_SEMIINT。这个观点可以,在这种情况下,所有的变量都被认为是连续的。

varnames:新变量的名称。这个观点可以,在这种情况下,所有变量缺省名称。

constrnames:新的约束的名称。这个观点可以,在这种情况下,所有约束给出默认的名字。

重要提示:

我们建议您构建一个模型约束或一个变量,使用GRBaddconstrGRBaddvar,而不是使用这个例程来加载整个约束矩阵。更简单,更容易出错,它引入了没有明显的开销。

使用示例:

/ * x + y + 2 z最大化受到x + 2 y + 3 z < = 4 x + y > = 1 x, y, z二进制int * / var = 3;int若干= 2;int vbeg [] = {0、2、4};int vlen [] = {2 2 1};int vind [] = {0 1 0 1 0};双vval [] = {1.0, 1.0, 2.0, 1.0, 3.0};双obj [] = {1.0, 1.0, 2.0};char[]感觉= {GRB_LESS_EQUAL, GRB_GREATER_EQUAL};双rhs [] = {4.0, 1.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);

尝试Gurobi免费

选择最适合你的评估许可,开始使用我们的专家团队提供技术指导和支持。

评估许可
得到一个免费的,功能齐全的许可证的Gurobi性能优化经验,支持,基准测试和调优服务我们提供我们产品的一部分。
学术许可
Gurobi支持教学和学术机构内使用的优化。我们提供免费的,功能齐全的Gurobi用于类的副本,并进行研究。
云试验

申请免费试用时间,所以你可以看到一个模型可以解决如何快速而方便地在云上。

<\/i>","library":"fa-solid"}}" data-widget_type="nav-menu.default">

Gurobi通讯

RSS提要

狗万app足彩
Jupyter模型
案例研究
常见问题