[Coin-discuss] Setting solver parameters in OSI

Matthew Saltzman mjs at ces.clemson.edu
Fri Sep 12 11:41:25 EDT 2003


On Fri, 12 Sep 2003, Jesper Hansen wrote:

> Thanks. I managed to get it working by setting the values directly. I'm
> looking a bit at the XPRESS solver interface as well. Many of the same
> parameters exist and could easiliy be included in OSI.
>
> Now, I have a slightly different problem with XPRESS. I'm using the version
> Xpress-MP 2003B also refered to as Xpress-Optimizer 14.05. The OSI XPRESS
> interface is depreciated and different things described in their manual is
> getting a bit difficult to do with the old interface. So the question is, if
> anyone is planning to update the interface?

The next-gen OSI (under development as we speak) will support the new
XPRESS interface.  (There are good reasons why the old one is deprecated 8^).
At this point, I am not planning to support the new XPRESS in the
old OSI.

In the new OSI, we also plan to support a more flexible parameter-setting
interface.

> In the new XPRESS API you use a handle to the problem of the type XPRSprob,
> which I believe was not necessary in the old API. Now, can anyone tell me
> how (if possible) to get this handle when using OSI?

I'll have to take a look at this.  If it's possible to do it without
doing a complete rewrite of the current XPRESS OSI, I'll add a patch.

>
> Jesper
>
> > -----Original Message-----
> > From: coin-discuss-admin at www-124.ibm.com
> > [mailto:coin-discuss-admin at www-124.ibm.com]On Behalf Of Brady Hunsaker
> > Sent: Thursday, September 11, 2003 6:06 PM
> > To: coin-discuss at oss.software.ibm.com
> > Subject: Re: [Coin-discuss] Setting solver parameters in OSI
> >
> >
> > On Thu, 2003-09-11 at 10:30, Jesper Hansen wrote:
> > > Hi
> > >
> > > I'm solving an IP problem with use of OSI. Is there any easy way to set
> > > solver parameters in OSI?
> > >
> > <snip>
> >
> > For the additional CPLEX parameters, you need to do it directly using
> > the solver environment, as you suggested.  I don't use CPLEX regularly,
> > but looking at the OsiCpx code, it looks like the method
> >   CPXENVptr OsiCpxSolverInterface::getEnvironmentPtr();
> > is what you want to get the environment pointer.  It looks like this is
> > a public method, so you should be able to use it directly.  Then you can
> > call the CPLEX parameter routines yourself.  Somebody more familiar with
> > OsiCpx please correct me if that's wrong.
> >
> > If you also need the LP pointer, use
> >   CPXLPptr OsiCpxSolverInterface::getLpPtr();
> >
> > Part of the difficulty with having a common interface is the variety of
> > solver options and parameters.  As you noticed, OSI handles certain
> > parameters that are common to all solvers.  We do need to come up with a
> > long term solution to this problem, which will probably include more
> > options handled by the OSI.  Of course, even then there will be cases
> > when you'll need to fall back on this method for some solver-specific
> > options.
> >
> > Let us know if you run into difficulties with this approach,
> >
> > Brady

-- 
		Matthew Saltzman

Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs



More information about the Coin-discuss mailing list