[Coin-lpsolver] Running sample5.cpp
Matthew Saltzman
mjs at ces.clemson.edu
Tue Feb 22 08:08:07 EST 2005
On Tue, 22 Feb 2005 svoboda at fi.muni.cz wrote:
> I've compiled ../COIN/Cbc/Samples/sample5.cpp
> There are some strange constructions I do not understand:
>
> - Where are the definitions of macros COIN_USE_CLP and COIN_USE_OSL?
You define these in the makefile for this program. There does not
currently appear to be a makefile explicitly for sample5, but look at the
file called Makefile, which ought to be modifiable to work for sample5 as
well. See the line
CXXFLAGS += -DCOIN_USE_CLP
This option on the compiler command line defines the symbol COIN_USE_LP
for the corresponding source file. Changing it and recompiling changes
the underlying solver with no additional effort (provided the selected
solver interface is feature-complete, and provided the source file for
main() has an #ifdef section for it).
>
> - What is OSL? I do understand OSI - as an interface, but OSL?
OSL (Optimization Subroutine Library) was an IBM commercial math
programming solver for which one of the first OSI layers was written.
OSL is no longer sold, but I believe that it is still maintained for
current license holders.
>
> - Why is the code forked into two alternatives using either CoinBuild or
> CoinModel? What is the main difference?
CoinBuild is a new add-on class that can be used to speed up the process
of making a sequence of incremental changes to a model. It collects a
queue of the changes and then makes them all at once, instead of updating
the model after each call to an update method. See the example and the
Doxygen pages for CoinBuild and CoinModel.
--
Matthew Saltzman
Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs
More information about the Clp
mailing list