Initializing help system before first use

The Console XSLP

XSLP is an extension to the FICO Xpress Optimizer interactive console.

Console XSLP is started from the command line using the following syntax:


C:\> xslp [problem_name] [@filename]

The XSLP console extensions

The XSLP console is an extension of the Xpress optimizer console. All the optimizer console commands work the same way as in the normal optimizer console. The active working problem for those commands is the actual linearization after augmentation, and the linear part of the problem before augmentation.

Optimizer console commands with an extended effect:

readprob Read in an MPS/MAT or LP file
minim Minimize an LP, a MIP or an SLP problem
maxim Maximize an LP, a MIP or an SLP problem
lpoptimize Minimize or maximize a problem
mipoptimize Sovle the problem to MIP optimality
xpglobal Initiate the global search
writeprob Export the problem into file
dumpcontrols Display controls which are at a non default value

The MPS file can be an extended MPS file containing an SLP model. The minim and maxim commands will call XPRSminim or XPRSmaxim for LP and MIP problems, and XSLPminim and XSLPmaxim for SLP problems respectively; with the same applying to lpoptimize, mipoptimize and xpglobal (which is refering to global, but is called xpglobal to distinguish it from the TCL global qualifier). All these commands accept the same flags as the corresponding library function

New commands:

cascade Perform cascading
cascadeorder Recalculate the cascading order
construct Construct the augmented problem
dumpattributes Display problem attributes
reinitialize Reinitialize an augmented problem
setcurrentiv Copy the current solution as initial value
slp_save XSLPsave
slp_scaling Display scaling statistics
startexcel Start the work Excel instance
unconstruct Remove the augmentation
validate Validate the current solution

Commands provided for compatibility with the legacy XSLP console:

slpinput Old name for readprob
slpmaxim Old name for minim
slpminim Old name for maxim
slpoutout Old name for writeprob

In order to separate XSLP controls and attributes for the XPRS ones, all XSLP controls and attributes are pretagged as _XSLP or _SLP, for example XSLP_ALGORITHM.

Common features of the Xpress Optimizer and the Xpress XSLP console

All features of the Xpress optimizer console program is supported. For a full description, please refer to the Xpress optimizer reference manual.

From the command line an initial problem name can be optionally specified together with an optional second argument specifying a text "script" file from which the console input will be read as if it had been typed interactively.

Note that the syntax example above shows the command as if it were input from the Windows Command Prompt (i.e., it is prefixed with the command prompt string C:\>). For Windows users Console XSLP can also be started by typing xslp into the "Run ..." dialog box in the Start menu.

The Console XSLP provides a quick and convenient interface for operating on a single problem loaded into XSLP. The Console XSLP problem contains the problem data as well as (i) control variables for handling and solving the problem and (ii) attributes of the problem and its solution information.

The Console SLP auto–completion feature is a useful way of reducing key strokes when issuing commands. To use the auto–completion feature, type the first part of an optimizer command name followed by the Tab key. For example, by typing "CONST" followed by the Tab key Console Xpress will complete to the "CONSTRUCT". Note that once you have finished inputting the command name portion of your command line, Console Xpress can also auto–complete on file names. Note that the auto–completion of file names is case–sensitive.

Console XSLP also features integration with the operating system's shell commands. For example, by typing "dir" (or "ls" under Unix) you will directly run the operating system's directory listing command. Using the "cd" command will change the working directory, which will be indicated in the prompt string:


[xpress bin] cd \
[xpress C:\]

Finally, note that when the Console XSLP is first started it will attempt to read in an initialization file named optimizer.ini from the current working directory. This is an ASCII "script" file that may contain commands to be run at start up, which are intended to setup a customized default Console Xpress environment for the user (e.g., defining custom controls settings on the Console Xpress problem).

The Console XSLP interactive command line hosts a TCL script parser (http://www.tcl.tk). With TCL scripting the user can program flow control into their optimizer scripts. Also TCL scripting provides the user with programmatic access to a powerful suite of functionality in the TCL library. With scripting support the Console Xpress provides a high level of control and flexibility well beyond that which can be achieved by combining operating system batch files with simple piped script files. Indeed, with scripting support the Console XSLP is ideal for (i) early application development, (ii) tuning of model formulations and solving performance and (iii) analyzing difficulties and bugs in models.

Note that the TCL parser has been customized and simplified to handle intuitive access to the controls and attributes of the Optimizer and XSLP. The following example shows how to proceed with write and read access to the XSLP_ALGROITHM control:


[xpress C:\] xslp_algorithm=166
[xpress C:\] xslp_algorithm
166

The following shows how this would usually be achieved using TCL syntax:


[xpress C:\] set xslp_algorithm 166
166
[xpress C:\] $miplog
166

For examples on how TCL can be used for scripting, tuning and testing models, please refer to the Xpress Optimizer reference manual.

Console XSLP users may interrupt the running of the commands (e.g., minim) by typing Ctrl–C. Once interrupted Console Xpress will return to its command prompt. If an optimization algorithm has been interrupted in this way, any solution process will stop at the first 'safe' place before returning to the prompt.

When Console XSLP is being run with script input then Ctrl–C will not return to the command prompt and the Console Xpress process will simply stop.

Lastly, note that "typing ahead" while the console is writing output to screen can cause Ctrl–C input to fail on some operating systems.

The XSLP console program can be used as a direct substitute for the Xpress Optimizer console program. The one exception is the fixed format MPS files, which is not supported by XSLP and thus neither by the XSLP console.