[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