如何将多维 IloRangeArray 添加到 CPLEX 上的模型
How to add multi dimensional IloRangeArray to the model on CPLEX
我是 CPLEx 的初学者,我用它来编写我的数学模型。
我定义并构建了一个三维 IloRangeArray 作为我的约束,如下所示:
typedef IloArray<IloArray<IloRangeArray>> ThreeDimRange;
con = IloArray <IloArray <IloRangeArray> > (env, n);
for ()
{
con [h] = IloArray <IloRangeArray> (env, nbRow);
for ()
{
con[h][m] = IloRangeArray (env);
for ()
{
IloExpr tempExp(env);
if ()
con [h][m].add(0 <= tempExp <= 0);
}
}
}
当我想将"con"添加到模型(model.add(con);)时,出现以下错误:
错误 C2664:'IloExtractable IloModel::add(const IloExtractable) const':无法将参数 1 从 'ThreeDimRange' 转换为 'const IloExtractable'
2 dim IloArrangeArray 也是一样的。
你怎么看?
谢谢
已解决!看起来虽然我们有 IloRangeArray 的多维向量,但我们必须将每个 IloRangeArray 单独添加到模型中。
typedef IloArray<IloArray<IloRangeArray>> ThreeDimRange;
con = IloArray <IloArray <IloRangeArray> > (env, n);
for ()
{
con [h] = IloArray <IloRangeArray> (env, nbRow);
for ()
{
con[h][m] = IloRangeArray (env);
for ()
{
IloExpr tempExp(env);
if ()
con [h][m].add(0 <= tempExp <= 0);
}
**model.add(con[h][m]);**
}
}
我是 CPLEx 的初学者,我用它来编写我的数学模型。 我定义并构建了一个三维 IloRangeArray 作为我的约束,如下所示:
typedef IloArray<IloArray<IloRangeArray>> ThreeDimRange;
con = IloArray <IloArray <IloRangeArray> > (env, n);
for ()
{
con [h] = IloArray <IloRangeArray> (env, nbRow);
for ()
{
con[h][m] = IloRangeArray (env);
for ()
{
IloExpr tempExp(env);
if ()
con [h][m].add(0 <= tempExp <= 0);
}
}
}
当我想将"con"添加到模型(model.add(con);)时,出现以下错误:
错误 C2664:'IloExtractable IloModel::add(const IloExtractable) const':无法将参数 1 从 'ThreeDimRange' 转换为 'const IloExtractable'
2 dim IloArrangeArray 也是一样的。 你怎么看?
谢谢
已解决!看起来虽然我们有 IloRangeArray 的多维向量,但我们必须将每个 IloRangeArray 单独添加到模型中。
typedef IloArray<IloArray<IloRangeArray>> ThreeDimRange;
con = IloArray <IloArray <IloRangeArray> > (env, n);
for ()
{
con [h] = IloArray <IloRangeArray> (env, nbRow);
for ()
{
con[h][m] = IloRangeArray (env);
for ()
{
IloExpr tempExp(env);
if ()
con [h][m].add(0 <= tempExp <= 0);
}
**model.add(con[h][m]);**
}
}