1CURRENT STATUS OF DEVELOPMENT:
3UG framework, ParaSCIP(ug[SCIP,MPI]) and FiberSCIP (ug[SCIP,Pthreads]) are available as a beta version.
4For MIP solving, ParaSCIP and FiberSCIP are well debugged and should be stable. For MINLP solving,
5they are relatively stable, but not as thoroughly debugged. This release version should handle
6branch-and-cut approaches where subproblems are defined by variable bounds and also by constrains
7for ug[SCIP,*](ParaSCIP and FiberSCIP). Therefore, problem classes other than MIP or MINLP can be handled,
8but they have not been tested yet.
12This is a very rudimentary description of what's needed to get FiberSCIP and ParaSCIP running.
141. You need SCIP version 3.0.0 or higher and a reasonable compiler suite with
16 Under Ubuntu, you can install these with
17 "sudo apt-get install build-essential libreadline-dev libz-dev"
18 With OpenSuSE 11.4and 12.1 this is
19 "sudo zypper in -t pattern devel_C_C++ && sudo zypper in readline-devel zlib-devel-static"
20 The package names may differ on your linux distribution.
222. If you would like to use ParaSCIP, you have to install an MPI library and have to set up MPI
253. Create a folder lib/ in your ug directory and create a softlink there
26 pointing to your SCIP directory.
284. Compile the UG project, by entering "make [options]" where the options are
29 the same as in SCIP except COMM parameter. You can find SCIP and its documentation on
32 To make FiberSCIP(default):
33 "make [options] [COMM=pth]"
35 "make [options] COMM=mpi"
375. You can run short testset as follows:
39 To test FiberSCIP(default):
40 "make [options] [COMM=pth] test"
42 "make [options] COMM=mpi test"
46Here you'll find the basic instructions how FiberSCIP and ParaSCIP can be used to solve MIPs
47and MINLPs in parallel.
491. How to run FiberSCIP ("fscip" is a binary file name).
51 "fscip fscip_param_file problem_file_name [-l <logfile>] [-q] [-sl <settings>] [-s <settings>] [-sr <root_settings>]
52 [-w <prefix_warm>] [-sth <number>] [-fsol <solution_file>] [-isol <initial solution file]"
53 -l <logfile> : copy SCIP output into log file
54 -q : suppress SCIP screen messages
55 -sl <settings> : load parameter settings (.set) file for LoadCoordinator presolving
56 -sr <root_settings> : load parameter settings (.set) file for root node subtree solving
57 -s <settings> : load parameter settings (.set) file for additional node solving
58 -w <prefix_warm> : warm start file prefix ( prefix_warm_nodes.gz and prefix_warm_solution.txt are read )
59 -sth <number> : the number of solver threads used
60 -fsol <solution file> : specify output solution file
61 -isol <intial solution file> : specify initial solution file
632. How to run ParaSCIP ("parascip" is a binary file name).
65 "mpirun -np #MPI_processes(#solvers + 1) parascip parascip_param_file problem_file_name [-l <logfile>] [-q] [-sl <settings>] [-s <settings>] [-sr <root_settings>]
66 [-w <prefix_warm>] [-sth <number>] [-fsol <solution_file>] [-isol <initial solution file]"
67 -l <logfile> : copy SCIP output into log file
68 -q : suppress SCIP screen messages
69 -sl <settings> : load parameter settings (.set) file for LoadCoordinator presolving
70 -sr <root_settings> : load parameter settings (.set) file for root node subtree solving
71 -s <settings> : load parameter settings (.set) file for additional node solving
72 -w <prefix_warm> : warm start file prefix ( prefix_warm_nodes.gz and prefix_warm_solution.txt are read )
73 -sth <number> : the number of solver threads used
74 -fsol <solution file> : specify output solution file
75 -isol <intial solution file> : specify initial solution file
78 If the instance you want to solve are not MIP, then you have to ensure that all MPI processes can access
79 the instance data file. All ParaSolver processes accesses the file for the initialization.
81ABOUT FiberSCIP and ParaSCIP PARAMETERS
83The current default parameter settings are intended for using FiberSCIP on relatively small scale shared memory
84computing environments with one or two hours timelimit. Using the default settings, the computing log is output
85to standard out and solution files are saved to the working directory. In order to save additional log information
86the user should uncomment the line Quiet=FALSE in settings/default.set, statistical information will be saved to
87log files in the working directory. Alternatively, the log files can be saved to a user created directory 'logs'
88by uncommenting additional lines in the settings file.
90The UG framework specific parameters are mainly for controlling the load balancing and should be set by the user
91in the main settings file. Independent parameter settings files can be used to specify SCIP parameters to be used
92at three different stages of the solution process (Load Coordinator presolving, root node subtree solving,
93additional node solving).
94The parameters have to be set taking into account:
95- Number of parallel solvers (number of cores) used,
96- Time and memory limitations,
97- The instance to be solved.
99While the default parameter settings are appropriate for 2-16 cores, tuning parameter settings for large-scale
100environments is more challenging. If you would like help tuning ParaSCIP on a large-scale environment to solve
101hard instances, please e-mail shinano@zib.de with a log file from solving your instance for about two hours
102along with information about your platform.
103ParaSCIP has been successfully run on as many as 80,000 cores of the TITAN supercomputer and we are happy to
104recommend parameter settings for other large-scale environments.
106KNOWN-BUGS-AND-WORKAROUNDS
108When you solve MINLPs, you may meet an abort. Then, please use the patch included in this archive.
109It can be applied doing
110 "patch -p0 < scip.patch"
111from the root directory of ug.
113In order to use a time limit, it is best to run FiberSCIP and ParaSCIP under a shell with a hard time limit.
114Due to the limitations in the communication between the processes or threads it is difficult to terminate
115cleanly when a soft time limit is used, possibly causing the process to hang.
119UG, ParaSCIP, FiberSCIP are licensed under the GNU Lesser General Public License; see the file COPYING.