Changeset 1694


Ignore:
Timestamp:
Jul 18, 2011 11:05:33 PM (8 years ago)
Author:
tkr
Message:

Sneaking in r1690 and r1692 from trunk (updates to INSTALL and README files)

Location:
releases/2.7.0
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • releases/2.7.0

  • releases/2.7.0/Cbc

  • releases/2.7.0/Cbc/README

    r353 r1694  
    1 NOTE: The information in this file might not yet include the changes introduced with the switch to the autotools.
     1CBC README
     2==========
    23
    3 To build Cbc see INSTALL file
     4Welcome to the README for the COIN Branch and Cut Solver (CBC). CBC is
     5distributed under the Eclipse Public License and is freely redistributable.
     6All source code and documentation is Copyright IBM and others. This README may
     7be redistributed freely.
    48
    5 To use Cbc you need the Cbc, Cgl, Coin and Osi libraries.  You
    6 will probably need Clp as well.
     9DOCUMENTATION
     10=============
    711
    8 If you are using Clp as your solver then you can make the unitTest and standalone executable by doing
     12For a quick start guide, please see the INSTALL file in this distribution. A (somehwat outdated) user's manual is available here:
    913
    10 make solve in this directory.  This creates an executable solve.
     14http://www.coin-or.org/Cbc
    1115
    12 solve takes various options - try solve and then ? to get some idea of what you can do.
    13 solve file will do branch and bound if file is integer mps file and will do dual if non-integer mps file
    14 options start with - (although the code will also try without -) e.g.
     16More up-to-date automatically generated documentation of the source code can
     17be found here:
    1518
    16 solve file -cuts root -solve will import file and do branch and bound with cuts only at root
     19http://www.coin-or.org/Doxygen/Cbc/
    1720
    18 - by itself goes to interactive mode.
     21Further information can be found here:
    1922
    20 If you wish to use the Cbc solver from AMPL there is a bit of work involved.  You
    21 will need to uncomment COIN_ampl in Makefiles/makefile.location - and also
    22 download the ampl glue code - see Makefiles/Makefile.location for http.  Then solve
    23 will assume it is being called from AMPL if the first two arguments are xxx.nl -AMPL.
    24 Of course "solve" is not a good name (cbc is much better but already used) so copy
    25 "solve" to "cbc" in ampl accessible path.
    26 Options may be set by e.g. option cbc_options "cuts=off log=0"
    27 No keywords are recognized by ampl parsing so above format should be used.
    28 All options are as found by "cbc(solve) " and then ?
    29 Current ugliness is that ampl glue code assumes "=" (on undefined keywords) so to maximize you
    30 would have to say "maximize=".  I will add to AMPL keywords if this interface gets much use.
     23http://projects.coin-or.org/Cbc
    3124
    32 If you are not using Clp then fewer options are available -
    33 make the unitTest and standalone executable by doing
     25WHAT'S NEW
     26==========
    3427
    35 make unitTest in this directory.  This creates an executable cbc.
     28Release 2.7.0:
    3629
    37 Running cbc gives you some hints.  Just do
     301. License has been changed to the EPL.
    3831
    39 cbc -
    40  
    41 and then try ? or setting various stuff.
     322. Support for MSVC++ version 10 added.
    4233
    43 On Linux cbc can do file completion and line editing. 
     343. Support for BuildTools version 0.7 to incorporate recent enhancements,
     35including proper library versioning in Linux, prohibiting installation of
     36private headers, etc.
    4437
    45 There are samples in ./Samples.  Use make DRIVER=xxxxxx where xxxxxx.cpp is driver file to
    46 create an executable - testit.
     384. Updated externals to new stable versions of dependent projects.
    4739
    48 The two simplest samples are:
     405. Improvements to heuristics.
    4941
    50 sample.cpp  This is a simple program to read an mps file.and solve the
    51                 integer problem.
     426. New options for cut generation.
    5243
    53 sample2.cpp.  This is the benchmark driver for the competition.  It overrides
    54                 the default branching methods and adds a (mildly useless)
    55                 heuristic.  It is intended to show you how to add your
    56                 own methods.  See CbcCompareUser.hpp for how to modify
    57                 choice of node from tree.  See CbcBranchUser.?pp for
    58                 how to modify which variable is chosen at a node.  For
    59                 more complex stuff such as new types of branches see
    60                 CbcBranchBase and CbcBranchActual in directory Cbc.
    61                 To see how to add heuristics see CbcHeuristicUser.?pp.
     447. Improved reporting of results.
    6245
    63                 To add cut generators - define them as in Cgl and then just
    64                 add them as in sample2.cpp
     468. Improvements to documentation.
    6547
    66                 The script "runtimes" in Samples directory will
    67                 run some or all of test set.  The version checked in
    68                 does some - just take off # to run.  An optional time
    69                 in minutes can be passed.
    70 
    71 
    72 
     489. Minor bug fixes.
  • releases/2.7.0/INSTALL

    r852 r1694  
    1 These instructions are for UNIX-like systems (including Linux, Cygwin
    2 and MSys) only.  If Microsoft Developer Studio projects are
    3 maintained for this package, you can find instructions at
     1These are quick install instructions mainly intended for UNIX-like systems
     2(including Linux, OS X, AIX, Cygwin and MSys). Additional details for building
     3this and other COIN projects are available at
     4
     5  https://projects.coin-or.org/BuildTools
     6
     7You can find instructions for building with Microsoft Visual Studio under
     8Windows at
    49
    510  https://projects.coin-or.org/MSVisualStudio
     
    914**********************************************************************
    1015
    11 You can obtain the source code for the Cbc package in two ways:
     16Pre-built binaries are available for some versions of Cbc on some platforms.
     17They can be downloaded at
     18
     19  http://www.coin-or.org/download/binary/Cbc
     20
     21If you would like to build from source, you can obtain the source code for the
     22Cbc package in two ways:
    1223
    13241. Obtain the source directly from the COIN-OR subversion repository
    14    (recommended).  For this you needs the program 'svn' installed on
    15    your machine, and output of "svn --version" must contain
    16    "handles 'https' scheme".
     25   (recommended). For this you needs the program 'svn' installed on your
     26   machine, and output of "svn --version" must contain "handles 'https'
     27   scheme". On Windows, it is recommended to get the source with the SVN
     28   client TortoiseSVN (http://tortoisesvn.net).
    1729
    18    Assuming that you want to download the 'trunk' (where the
    19    development happens) version of the code into a subdirectory
    20    named "Cbc", you type
     30   Assuming that you want to download a release version 2.7.0, as an example,
     31   you would execute the command
    2132
    22    svn co https://projects.coin-or.org/svn/Cbc/trunk Cbc
     33   svn co https://projects.coin-or.org/svn/Cbc/releases/2.7.0 Cbc-2.7.0
    2334
    24    To download stable/2.0 you'd type:
    25 
    26 
    27    svn co https://projects.coin-or.org/svn/Cbc/stable/2.0 Cbc
    28 
    29 
    30    etc.
     35   You can similarly get source for the latest stable version or the trunk
     36   (development) version.
    3137
    32382. Download the tarball from http://www.coin-or.org/download/source/Cbc
     
    3844   More detailed download instructions can be found at
    3945
    40    https://projects.coin-or.org/BuildTools/wiki/user-download
    41 
    4246**********************************************************************
    4347***                        CONFIGURATION                           ***
    4448**********************************************************************
    4549
    46 Go into the directory that you just downloaded or extracted (e.g.,
    47 Cbc or Cbc-2.0.0).  Then create a build directory and
    48 configure the package by typing
     50Go into the directory that you just downloaded or extracted (e.g., Cbc-2.7.0).
     51Then create a build directory and configure the package by typing
    4952
    5053   mkdir build
     
    5659compilers).  Please visit
    5760
    58    https://projects.coin-or.org/BuildTools/wiki/user-configure
     61   https://projects.coin-or.org/BuildTools/
    5962
    6063and the Cbc Trac page
     
    9497
    9598**********************************************************************
    96 ***                     USING THE LIBRARIES                        ***
     99***                     USING CBC                                  ***
    97100**********************************************************************
    98101
    99 Now you can link your own code with the installed libraries.  You can
    100 find examples in the
     102After installing Cbc, you will have an executable named "cbc" (Unix-like
     103environments) or "cbc.exe" (Windows). We will call it "cbc" from here on.
     104
     105The executable "cbc" takes various options. First, run the program in
     106interactive mode by typing just "cbc" on the command line with no arguments.
     107You will see the prompt
     108
     109CoinSolver takes input from arguments ( - switches to stdin)
     110Enter ? for list of commands or help
     111Coin:
     112
     113Type ? to get some idea of what you can do. The executable can also be run in
     114batch mode. To simply solve a given instance with default parameter settings, type
     115
     116cbc <file>
     117
     118By typing a sequence of interactive commands on the command line
     119with each command preceded by a "-", you can run set parameters and chane other options. For example, typing
     120
     121cbc <file> -cuts root -solve
     122
     123will import file and solve the problem, generating cuts only at the root node.
     124On Linux, the cbc interactive solver can do file completion and line editing
     125if built from source with that option enabled.
     126
     127With the installed libraries, you can also link your own code with the
     128installed libraries. You can find examples in the
    101129
    102130   Cbc/examples/
    103131
    104 subdirectory, see also the information at
     132To build these examples, go into the directory build/Cbc/examples and type
    105133
    106    https://projects.coin-or.org/BuildTools/wiki/user-examples
     134   make sample1
     135
     136to build the executable corresponding to sample1.cpp. The two simplest samples
     137are:
     138
     139sample.cpp  This is a simple program to read an mps file.and solve the
     140                integer problem.
     141
     142sample2.cpp.  This is the benchmark driver for the competition.  It overrides
     143                the default branching methods and adds a (mildly useless)
     144                heuristic.  It is intended to show you how to add your
     145                own methods.  See CbcCompareUser.hpp for how to modify
     146                choice of node from tree.  See CbcBranchUser.?pp for
     147                how to modify which variable is chosen at a node.  For
     148                more complex stuff such as new types of branches see
     149                CbcBranchBase and CbcBranchActual in directory Cbc.
     150                To see how to add heuristics see CbcHeuristicUser.?pp.
     151
     152                To add cut generators - define them as in Cgl and then just
     153                add them as in sample2.cpp
     154
     155                The script "runtimes" in Samples directory will
     156                run some or all of test set.  The version checked in
     157                does some - just take off # to run.  An optional time
     158                in minutes can be passed.
     159
Note: See TracChangeset for help on using the changeset viewer.