[Coin-discuss] sychronising the solution for OsiCbc after branch and bound

John J Forrest jjforre at us.ibm.com
Fri Jun 30 13:23:27 EDT 2006


Kish,

If you wish to send me some code or code fragments to look at - do so.

The OsiClpSolverInterface branchAndBound is only meant for teaching or very
lightweight purposes.

I am sure Robin will be hounding me to put stuff on the web.

John Forrest


                                                                           
             Kish Shen                                                     
             <kish.shen at crossc                                             
             oreop.com>                                                 To 
             Sent by:                  coin-discuss at list.coin-or.org       
             coin-discuss-boun                                          cc 
             ces at list.coin-or.                                             
             org                                                   Subject 
                                       Re: [Coin-discuss] sychronising the 
                                       solution for OsiCbc after           
             06/30/06 11:30 AM         branch  and bound                   
                                                                           
                                                                           
             Please respond to                                             
             Discussions about                                             
                open source                                                
               software for                                                
                Operations                                                 
                 Research                                                  
             <coin-discuss at lis                                             
              t.coin-or.org>                                               
                                                                           
                                                                           




John,

Thanks for your reply!

On Friday 30 June 2006 09:04, John J Forrest wrote:
> I may get round to looking at this problem with OsiCbc but I will repeat
> for the umpteenth time that I really regret giving in to someone's
request
> for OsiCbc as it is a circular idea with an OsiSolverInterface using
> another OsiSolverInterface.  It is far better to use Cbc directly and
then
> a generic OsiSolver (OK - so that may break too but at least I will try
and
> fix it).  sample2.cpp uses OsiClp not OsiCbc so it should be easy to move
> to Cbc directly.
>

Yes, I do remember this when I was working on my prototype last year.
I have just taken a quick look at the code for OsiClpSolverInterface (which
I
downloaded in May), and there appears to be code for the branchAndBound()
method, which I don't think was there last year. Is this doing its own B&B
rather than using CBC? I also get a

Clp6002E 2 bad bound pairs or bad objectives were found - first at C0

error for one of the example problems I have [this runs fine with OsiCbc
and
when I use initialSolve() on it from OsiClp]

Is it better then to copy the problem to CBC for the branch and bound, as I

think sample2 does?

> I will discuss some performance issues at the DIMACS workshop and some of
> the code being developed may help.
>
> John Forrest
>

Would the materials (handouts, slides, papers, etc.) be available from the
website after the workshop, for those of us that can't attend it?

Thanks again,

Kish

>
>
>              Kish Shen
>              <kish.shen at crossc
>              oreop.com>
To
>              Sent by:                  coin-discuss at list.coin-or.org
>              coin-discuss-boun
cc
>              ces at list.coin-or.
>              org
Subject
>                                        [Coin-discuss] sychronising the
>                                        solution for OsiCbc after branch
>              06/29/06 11:36 PM         and bound
>
>
>              Please respond to
>              Discussions about
>                 open source
>                software for
>                 Operations
>                  Research
>              <coin-discuss at lis
>               t.coin-or.org>
>
>
>
>
>
>
> Hi,
>
> I have been trying to improve the performance of the MIP search while
using
>
> the OsiCbcSolverInterface. Instead of just calling the branchAndBound()
> method, I tried to use the code from the sample2.cpp example in Cbc's
> Sample
> directory.
>
> I can see from the message that the MIP search seem to work correctly,
but
> trying to access the solution state via OsiCbcSolverInterface does not
> work.
> I think this is because the sample2 code clones the solver before doing
the
>
> search.
>
> I tried to do a dynamic cast (as John suggested in answer to another post
> of
> mine):
>
>              model.branchAndBound();
>              lpd->lp->Solver = dynamic_cast<
> OsiCbcSolverInterface*>(model.solver());
>
> where model is a CbcModel, and lpd->lp->Solver is a OsiCbcSolverInterface
> *.
> This however seg faults as soon as I make the next call using
> lpd->lp->Solver.
> I assume this is because model.solver() is the clp solver, rather than
Cbc?
>
> How should I set the state of lpd->lp->Solver to the model's?
>
> I also need to preserve the reference solver of the original CbcModel
> pointer
> of lpd->lp->Solver, because I saved the original state of the problem
> before
> going into the branch and bound.
>
> Thanks in advance for any help!
>
> Cheers,
>
> Kish Shen
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
>
>
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss
_______________________________________________
Coin-discuss mailing list
Coin-discuss at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-discuss





More information about the Coin-discuss mailing list