使用Cplex解决时如何更正访问冲突错误

时间:2012-03-25 22:43:57

标签: c++ visual-studio visual-studio-2008 error-handling cplex

我有一个代码,我正在调用Cplex来解决它(在Visual Studio中)。它给出了这个错误:

Unhandled exception at 0x00229ced in For-Calling-Cplex.exe: 0xC0000005: Access violation reading location 0xbaadf01d.

这是代码:

    ...
    //parameter:
    NumMatrix C(env, I);
    for(IloInt i = 0; i < I; ++i)
       C[i]=IloNumArray(env,J);

    readMaData("C.txt", C, I, J);

    /// variables ///
    IloNumVarArray u(env,I,-IloInfinity,IloInfinity);

    NumVarMatrix v(env, I);
    for(IloInt i = 0; i < I; ++i)
       v[i]=IloNumVarArray(env,J,0,IloInfinity);

    IloNumVar z(env);

    IloNumVarArray q(env,J,0,IloInfinity);

    NumVarMatrix r(env, I);
    for(IloInt i = 0; i < I; ++i)
       r[i]=IloNumVarArray(env,J,0,IloInfinity);

    /// Constructe a model ///
    IloModel Model(env);

    /// objective function
    IloExpr obj(env);
    for(IloInt i=0; i<I; ++i)
    obj+=u[i];
    obj+=z*P;
    for(IloInt j=0; j<J; ++j)
    {
      obj-=q[j];
      for(IloInt i=0; i<I; ++i)
           obj-=r[i][j];
    }
    Model.add(IloMaximize(env,obj));
    obj.end();
       ...

此处u[i]z是自由变量,其余为正数。

是什么原因?这是我定义变量或约束的方式吗?

0 个答案:

没有答案