[Osi] CPLEX Error 1217: No solution exists

Matthew Galati magh at lehigh.edu
Mon Jun 2 11:54:39 EDT 2008


It looks to me like base implementation is pure virtual
    /// Get objective function value
    virtual double getObjValue() const = 0;


> CPLEX wipes out all solution information as soon as you make any 
> change to the problem whatsoever. I don't believe that the objective 
> value is one of the things cached in the base class. If you look at 
> the current implementation of getObjVal() in OsiCpx, it tries to get 
> the objective value using CPXgetobjval(). If Cplex reports 
> CPXERR_NO_SOLN, then the function returns 0.0 by default. In the base 
> class, the default implementation of the getObjVal() function computes 
> the objective value on the fly from cached data, which I guess would 
> fix the problem. Try just commenting out the getObjVal() function in 
> OsiCpx or else call the base class implementation from there and see 
> if that does what you need.  If that works, we should probably make 
> that change.
>
> Cheers,
>
> Ted
>
>
>
> Matthew Galati wrote:
>> This might be related to an old discussion...
>>
>> Using OsiCpx, I do
>>   initialSolve()
>>   getObjValue()
>>   addCols()
>>   getObjValue()  --> returns CPLEX Error  1217: No solution exists
>>
>> This is just an LP. Earlier issues with caching seem to have to do 
>> with switching from MIP to LP, etc.
>>
>> It looks like some attempt to keep cache was already made. Any ideas? 
>> If needed, I can create a driver program to show this issue.
>>
>> int err = CPXaddcols(env_, 
>> getLpPtr(OsiCpxSolverInterface::KEEPCACHED_ROW),
>>                       numcols, nz, const_cast<double*>(obj),
>>                       start, index, elem,
>>                       const_cast<double*>(collb),
>>                       const_cast<double*>(colub), NULL );
>>
>> _______________________________________________
>> Osi mailing list
>> Osi at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/osi
>
>





More information about the Osi mailing list