The Nonlinear Console Program
The Console Nonlinear
The nonlinear optimizer is an extension to the FICO Xpress Optimizer interactive console.
The console for nonlinear is started from the command line using the following syntax:
C:\> optimizer [problem_name] [@filename]
The nonlinear console extensions
The nonlinear console is an extension of the Xpress optimizer console. The optimizer automatically switches to nonlinear mode if a nonlinear license is detected. 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 | Solve the problem to MIP optimality |
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 a nonlinear model. The lpoptimize, nlpoptimize, mipoptimize, and optimize commands will call the right algorithm depending on the presence of nonlinearities. Note that if a license for Xpress Global is present, the global solver will be called by default. You need to pass the "-s" flag to nlpoptimize, or optimize to enforce a local solve. In general, all 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 |
unconstruct | Remove the augmentation |
validate | Validate the current solution |
validatekkt | Validate the kkt conditions for the current solution |
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 Nonlinear Optimizer 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.
© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.