如何从Cplex中获得约束的数量
How to get number of constraints from Cplex
我有一个很长的程序,我用c++写的,我用ILOG Cplex12.5 Solver
来解决它。我怎样才能得到约束的总数呢?有它的函数吗?
一旦您在IloCplex
对象中提取了模型(IloModel
)(您应该在程序中的某个时刻这样做以解决模型),您可以调用IloCplex::getNrows
以获得问题的行数(约束)。
有一个IloModel::Iterator类,它允许您访问ilomomodel对象中的IloExtractable对象。IloExtractable有一个asConstraint方法,如果可提取对象不是约束,该方法将返回一个空句柄。任何ILOG协调句柄的getImpl()方法都将返回0。所以你可以遍历所有可提取的对象,并计算那些asConstraint函数不返回空句柄的对象。
#include <ilconcert/ilomodel.h>
unsigned getNumConstraints(IloModel m)
{
unsigned count = 0;
IloModel::Iterator iter(m);
while (iter.ok()) {
if ((*iter).asConstraint().getImpl()) {
++count;
}
++iter;
}
return count;
}
相关文章:
- 函数作为模板参数,是否对返回类型强制约束
- 约束和显式模板实例化
- IpOpt拒绝解决不受约束的问题
- 使用C++模板时表达约束
- 如何在 SCIP C++ 接口中获取 MILP 约束矩阵中的系数值
- 受约束的成员函数和显式模板实例化
- 使用 Eclipse CDT 进行 Cplex 配置
- 具有多种约束(例如重量、体积等)的背包
- Gecode 与 Z3 用于约束随机化
- 如果原型是本地的,则使用流 I/O C++类型约束将失败
- C++打开具有 2 个约束的文件
- 如何拥有受约束的运算符模板?
- 不生成单独约束的变量的 Gurobi 影子价格
- 在 C++20 中对概念约束函数进行排序的规则是什么?
- 在 CPLEX 中使用 IloRange 定义约束时出错 (c++)
- 变量的cplex约束函数
- 在 cplex c++ 音乐会技术中从模型中删除约束
- 在C++中为CPLEX模型添加约束
- CPLEX c++接口:如何获取违反约束的索引
- 如何从Cplex中获得约束的数量