我正在使用CPLEX建立模型。
它由我通过cplex.addEq(1,x [i] [j])添加的几个方程组成,其中x的类型为IloIntVar [] []。
现在,我不为每个i,j加1 == x [i] [j]。实际上,我具有i和j的特定初始对,并在开始时为其添加1 == x [i] [j]。 然后,我想通过遍历所有可能的更改(我控制标准Java可能的更改)对i,j对的集合来改进此配置,为此我将其添加1 == x [i] [j],然后选择一个降低了cplex.solve()返回的目标值。
更改成对的i,j意味着对于几个成对的i,j,等式1 == x [i] [j]变得过时,而对于其他成对的i,j,等式1 == x [i] ] [j]必须添加。
到目前为止,我的想法是以某种方式从模型中删除这些方程式并将其添加到模型中,然后使用cplex.solve()对其进行求解,并将结果与先前的最优方法进行比较。从逻辑上讲这应该工作。 但是由于某种原因,cplex.solve()返回false,并且得到以下警告:“警告:从2个MIP开始都找不到解决方案。”
我想cplex还会考虑与新增加的方程相矛盾的预变换方程。
仅使用初始化cplex.solve()中的方程即可。
请
Matthias