Assuming you have the
SHOT.exeon Windows) installed on your system, you can call SHOT with the following syntax:
If you need instructions the flag
--helpshows SHOT's syntax.
Settings for SHOT can be specified either through an options file (either as a text file or as an OSoL-file in XML syntax).
To generate an example options file pass the flag
--optwhich will create the file options.opt in the current directory. To use an option file pass the parameter
To create an empty OSoL-file add the flag
--osol, which creates the file options.xml. To use this file pass the parameter
It is also possible to pass options through the command line using the following syntax
./SHOT problemfile Termination.TimeLimit=100.0 Termination.ObjectiveGap.Absolute=0.1
Note that the options are case sensitive and that there are no spacing between option names, =, and value.
There are also a number of short hand options available.
Assumes that the problem is convex.
Activates the debug mode (see below). Note that if no directory is specified, a named option from the list above cannot be used directly after
Sets the MIP solver to either Cbc, CPLEX or Gurobi.
Sets the NLP solver to use. If GAMS is specified, the default NLP solver in GAMS will be used; it is possible to change what GAMS NLP solver to use with the setting
Activates the single- or multi-tree strategy.
Sets the maximum number of threads to use in the MIP solver.
Sets the absolute objective gap tolerance, for example, e.g,
Sets the relative objective gap tolerance.
Sets the time-limit in seconds.
After a successful termination, SHOT will create an result file <problemname>.osrl in the current directory. This file is in the Optimization Services OSrL syntax, which is an XML-based format. It is also possible to specify where the result file should be written by adding the parameter
--osrl path/to/resultfile.osrlas an argument when calling SHOT.
It is also possible to create a GAMS trace file in a similar way by adding the
--trc <filename.trc>flag. If no filename is specified, a filename consisting of the problem file and the suffix
.trcis created in the current directory.
To create a file in AMPL sol-format add the parameter
The level of output that SHOT writes to the console can be controlled with the setting
Output.Console.LogLevel, where values between 0 and 6 are allowed. Assuming that the default value 2 is used, first some basic information about the solver, including the current version is provided:
╶ Supporting Hyperplane Optimization Toolkit (SHOT) ──────────────────────────────────────────────────────────────────╴
Andreas Lundell and Jan Kronqvist, Åbo Akademi University, Finland.
See documentation for full list of contributors and utilized software libraries.
Version: 1.0.alpha 1. Git hash: 6e43619-dirty. Released Apr 11 2020.
For more information visit https://shotsolver.dev
Then information about the modeling system or file format used is given as well as information about possible bound tightening performed on the variable bounds.
╶ Modeling system ─────── ─────────────────────────────────────────────────────────────────────────────────────────────╴
Modeling system: GAMS
Problem read from file: /home/andreas/Research/minlplib/21122018/minlplib/gms/tls4.gms
Performing bound tightening on original problem.
- Bounds for 18 variables tightened in 0.06 s.
Performing bound tightening on reformulated problem.
- Bounds for 34 variables tightened in 0.08 s.
Then information about the provided problem instance is shown. SHOT automatically reformulates the problem into a form that is more suitable for the underlying algorithm, and statistics about the reformulated problem is given as well.
╶ Problem instance ───────────────────────────────────────────────────────────────────────────────────────────────────╴
Problem classification: MINLP, convex MINLP, convex
Objective function direction: minimize minimize
Objective function type: linear linear
Number of constraints: 64 80
- linear: 60 64
- convex nonlinear: 4 16
Number of variables: 105 121
- real: 16 32
- binary: 85 85
- integer: 4 4
- nonlinear: 20 20
Number of transformations performed: 16
- signomial terms partitioning: 16
After this, the (nondefault) settings used are shown; here the MIP solver utilized (CPLEX) considered all variable bounds over +/- 1e20 to be infinite, so this setting will be used by SHOT as well.
Below the used settings, the names and versions of the utilized subsolvers are shown.
╶ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╴
No options file specified.
Nondefault options used:
- Model.Variables.Continuous.MaximumUpperBound = 1e+20
- Model.Variables.Continuous.MinimumLowerBound = -1e+20