C++调用CPLEX踩过的小坑~

最近在使用Visual Studio 2015调用CPLEX进行一些基础问题的求解,初学小白,完全没经验,遇到N多问题,踩了好多坑,在此分享一下!希望可以给后其他研究者提供一neinei学习的经验!

1.关于CPLEX中默认变量的问题
CPLEX中默认变量为非负值,故在实际编码过程中如若不为变量指定下界为负无穷,且变量存在负值情况,则会出现计算数据错误的情况。
具体解决方法就是在初始化的过程中,为其指定一个值域范围的下界即可,或者可以直接指定一个大范围,如可以使用-LONG_MAX指定下界。代码实现如下:

for (int t = 0; t <= N; t++) 
	B[t] = IloNumVar(env, -LONG_MAX, LONG_MAX);

2.关于出现约束错误的问题。

Row 'c8' infeasible, all entries at implied bounds

你可能感兴趣的:(c++)