Changeset 1690


Ignore:
Timestamp:
Jul 18, 2011 10:55:15 PM (8 years ago)
Author:
tkr
Message:

Updating README and INSTALL files

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cbc/README

    r353 r1690  
    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.
  • trunk/INSTALL

    r852 r1690  
    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 platforsm. They can be downloaded at
     17
     18  http://www.coin-or.org/download/binary/Cbc
     19
     20If you would like to build from source, you can obtain the source code for the
     21Cbc package in two ways:
    1222
    13231. 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".
     24   (recommended). For this you needs the program 'svn' installed on your
     25   machine, and output of "svn --version" must contain "handles 'https'
     26   scheme". On Windows, it is recommended to get the source with the SVN
     27   client TortoiseSVN (http://tortoisesvn.net).
    1728
    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
     29   Assuming that you want to download a release version 2.7.0, as an example,
     30   you would execute the command
    2131
    22    svn co https://projects.coin-or.org/svn/Cbc/trunk Cbc
     32   svn co https://projects.coin-or.org/svn/Cbc/releases/2.7.0 Cbc-2.7.0
    2333
    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.
     34   You can similarly get source for the latest stable version or the trunk
     35   (development) version.
    3136
    32372. Download the tarball from http://www.coin-or.org/download/source/Cbc
     
    3843   More detailed download instructions can be found at
    3944
    40    https://projects.coin-or.org/BuildTools/wiki/user-download
    41 
    4245**********************************************************************
    4346***                        CONFIGURATION                           ***
    4447**********************************************************************
    4548
    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
     49Go into the directory that you just downloaded or extracted (e.g., Cbc-2.7.0).
     50Then create a build directory and configure the package by typing
    4951
    5052   mkdir build
     
    5658compilers).  Please visit
    5759
    58    https://projects.coin-or.org/BuildTools/wiki/user-configure
     60   https://projects.coin-or.org/BuildTools/
    5961
    6062and the Cbc Trac page
     
    9496
    9597**********************************************************************
    96 ***                     USING THE LIBRARIES                        ***
     98***                     USING CBC                                  ***
    9799**********************************************************************
    98100
    99 Now you can link your own code with the installed libraries.  You can
    100 find examples in the
     101After installing Cbc, you will have an executable named "cbc" (Unix-like
     102environments) or "cbc.exe" (Windows). We will call it "cbc" from here on.
     103
     104The executable "cbc" takes various options. First, run the program in
     105interactive mode by typing just "cbc" on the command line with no arguments.
     106You will see the prompt
     107
     108CoinSolver takes input from arguments ( - switches to stdin)
     109Enter ? for list of commands or help
     110Coin:
     111
     112Type ? to get some idea of what you can do. The executable can also be run in
     113batch mode. To simply solve a given instance with default parameter settings, type
     114
     115cbc <file>
     116
     117By typing a sequence of interactive commands on the command line
     118with each command preceded by a "-", you can run set parameters and chane other options. For example, typing
     119
     120cbc <file> -cuts root -solve
     121
     122will import file and solve the problem, generating cuts only at the root node.
     123On Linux, the cbc interactive solver can do file completion and line editing
     124if built from source with that option enabled.
     125
     126With the installed libraries, you can also link your own code with the
     127installed libraries. You can find examples in the
    101128
    102129   Cbc/examples/
    103130
    104 subdirectory, see also the information at
     131To build these examples, go into the directory build/Cbc/examples and type
    105132
    106    https://projects.coin-or.org/BuildTools/wiki/user-examples
     133   make sample1
     134
     135to build the executable corresponding to sample1.cpp. The two simplest samples
     136are:
     137
     138sample.cpp  This is a simple program to read an mps file.and solve the
     139                integer problem.
     140
     141sample2.cpp.  This is the benchmark driver for the competition.  It overrides
     142                the default branching methods and adds a (mildly useless)
     143                heuristic.  It is intended to show you how to add your
     144                own methods.  See CbcCompareUser.hpp for how to modify
     145                choice of node from tree.  See CbcBranchUser.?pp for
     146                how to modify which variable is chosen at a node.  For
     147                more complex stuff such as new types of branches see
     148                CbcBranchBase and CbcBranchActual in directory Cbc.
     149                To see how to add heuristics see CbcHeuristicUser.?pp.
     150
     151                To add cut generators - define them as in Cgl and then just
     152                add them as in sample2.cpp
     153
     154                The script "runtimes" in Samples directory will
     155                run some or all of test set.  The version checked in
     156                does some - just take off # to run.  An optional time
     157                in minutes can be passed.
     158
Note: See TracChangeset for help on using the changeset viewer.