[Coin-discuss] several questions

Brady Hunsaker hunsaker at isye.gatech.edu
Wed Nov 14 11:28:38 EST 2001


I am actually using COIN's OSI for some research for the first time
and I have come up with three questions.  Answers to any would be
appreciated. 

1.  When using OSL as my solver, everything works well but I want to
    stop all the output that OSL generates.  Am I correct that there
    is no way to do this through COIN?  I have tried using OSL's
    ekk_messagesPrintOff function directly but without success (it
    compiles and links but just generates the output anyway).  Any
    suggestions? 

2.  My department doesn't have OSL (I've requested that they install
    it since it's free) so I use CPLEX at school.  I'm working with
    solving the relaxation of a MIP and checking for fractional values
    that should be integral.  This isn't working for me.  To solve the
    relaxation, OsiCpxSolverInterface::initialSolve() converts the
    problem to type CPXPROB_RELAXED, which makes sense.
    Unfortunately, CPLEX then won't give information about whether
    variables are integer or continuous.  The CPLEX function that
    won't work is CPXgetctype(), which is necessary for COIN's
    isContinuous, isInteger, getFractionalIndices, etc.  

    As I see it, this is a bug in CPLEX's callable library (I think we
    have version 7.0).  Has anyone dealt with this problem?  I
    considered working around it by modifying
    OsiCpxSolverInterface.cpp, but this doesn't look too wise.  The
    most likely workaround is to change the problem type to
    CPXPROB_MIP before checking the types and then changing back
    afterwards, but all of the functions like isContinuous are
    declared const, since they're not supposed to change the problem.
    For now, I plan to work around it by keeping type information in
    my program and implementing my own equivalent of
    getFractionalIndices.   Any thoughts on a COIN-based solution?

3.  I'm trying to convince some friends to try COIN as well.  One of
    them is currently using some of CPLEX callable library's advanced
    functions like CPXpresolve and CPXbinvarow (get a row of the
    tableau).  For the time being, COIN does not offer access to the
    presolver or specific tableau information, right?  

Thanks for any help.  Despite these questions, my overall experience
using COIN so far has been positive.

Brady 
   
----------------
Brady Hunsaker
Georgia Institute of Technology
Program in Algorithms, Combinatorics, and Optimization
School of Industrial and Systems Engineering

E-mail address:   hunsaker at isye.gatech.edu



More information about the Coin-discuss mailing list