java(eclipse)中的cplex实现存在问题,目标值=0;LP Presolve消除了96行和0列

java(eclipse)中的cplex实现存在问题,目标值=0;LP Presolve消除了96行和0列,java,eclipse,cplex,Java,Eclipse,Cplex,你提到你“在cplex中被证明是第一个”。我认为这意味着您已经使用CPLEX interactive运行了一个模型文件。或者,您可能已经使用了OPL IDE。无论采用哪种方式,我发现解决此类问题的最简单方法是将两个模型导出为LP格式并进行比较。在Java程序中,您可以在调用solve方法之前添加以下代码行: Established Conexion Version identifier: 12.10.0.0 | 2019-11-26 | 843d4de2ae CPXPARAM_MIP_Displ

你提到你“在cplex中被证明是第一个”。我认为这意味着您已经使用CPLEX interactive运行了一个模型文件。或者,您可能已经使用了OPL IDE。无论采用哪种方式,我发现解决此类问题的最简单方法是将两个模型导出为LP格式并进行比较。在Java程序中,您可以在调用
solve
方法之前添加以下代码行:

Established Conexion
Version identifier: 12.10.0.0 | 2019-11-26 | 843d4de2ae
CPXPARAM_MIP_Display                             0
Tried aggregator 1 time.
LP Presolve eliminated 96 rows and 0 columns.
All rows and columns eliminated.
Presolve time = 0.00 sec. (0.01 ticks)
Valor de la funcion objetivo: 0.0   

请参阅文档。

欢迎使用SO!请澄清您在这里试图实现的目标。最小化总和(horas2中的j,trabajos中的k)((1/prioridad[j][k])*(个人中的总和(i)x[i][j][k]-min_demanda[j][k]);这是我试图在java中引入的目标函数,但我不知道它是否写得很好。我尝试过它,但我的opl项目是.mod,我试图更改它,但它需要从excel中的另一个文件.dat获取信息,因此我无法导出它。无论如何,我的主要问题是,目标函数是否正常,或者是否存在任何错误。我会再看一遍每一个约束条件,谢谢!
            try {
            for (int i = 0; i < Map.NumPersM; i++) {

                    IloLinearNumExpr expr1 = cplex.linearNumExpr();

                    for (int j = 0; j < Map.NumHrsM; j++) {
                        for (int k=0; k < Map.NumTrab; k++) {

                           expr1.addTerm(1, x[i][j][k]);
                        }
                    }
                    if(Map.Personas[i].Tipo_contrato == 1) { 

                        cplex.addEq(expr1, Map.Turnos[1].Horas_turno-1);
                    }
                    else {
                        cplex.addEq(expr1, Map.Turnos[3].Horas_turno);
                    }

                }... //there are more constraints
Established Conexion
Version identifier: 12.10.0.0 | 2019-11-26 | 843d4de2ae
CPXPARAM_MIP_Display                             0
Tried aggregator 1 time.
LP Presolve eliminated 96 rows and 0 columns.
All rows and columns eliminated.
Presolve time = 0.00 sec. (0.01 ticks)
Valor de la funcion objetivo: 0.0   
cplex.exportModel("test.lp");