Initializing help system before first use

Using the Optimizer to Solve a Problem remotely

This section provides an overview of submitting a job using the Xpress Optimizer Console from the Command Window prompt.

Each file submission sent to Insight is authenticated using the securely stored credentials that are generated by performing the tasks in the previous section, see Providing the REST API Credentials. Optimizer Console is an interactive command line interface to the Optimizer.

  1. Optimizer Console is started from the Command Prompt window using the following syntax:
    C:\> optimizer
    Note: There are example problem files that can be copied from your installed Xpress examples directory.

    <INSTALLDIR>\examples\solver\optimizer\data\

    addmipsol.mps pplan.mps
    burglar.mps tablo.mps
    coco.mps tablebig.mps
    hpw15.mps trimloss.mps
  2. Read the problem file into the Optimizer using the following command:
    [xpress C:\]readprob
    /xpressmp/examples/solver/optimizer/data/coco
    Console Display
    Reading Problem COCO
    Problem Statistics
              62 (      1 spare) rows
              96 (      0 spare) structural columns
             212 (     88 spare) non-zero elements
    Global Statistics
               8 entities        0 sets        0 set members
    
  3. Solve the problem using the following command:
    [xpress C:\] mipoptimize
    Other solve commands are also available:
    Command Description
    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
    nlpoptimize Solve an LP, a MIP, or an SLP problem (requires an NLP license)
    Features that can be included in the request:
    Command Description
    tune The tuner will solve the problem multiple times while evaluating a list of control settings and promising combinations of them. When finished, the tuner will select and set the best control setting on the problem. For more see TUNE on the FICO help web site.
    repairinfeas Attempts to identify a 'solution' that violates the selected set of constraints and bounds minimally, while satisfying all other constraints and bounds. For more see repairinfeas on the FICO help web site.
    iis Provides the Irreducible Infeasible Set (IIS) functionality for the console. For more, see IIS on the FICO help web site.

    If remote solving is enabled, the console will interact with the remote Xpress Insight server, and the log will contain the line Solving using remote server to indicate that the solve is not being performed locally. If compute mode is not enabled, the solve will be performed locally.

    Console Display
    Solving using remote server
    2020-07-02 15:24:14 UTC
    Internal ID: 42a45e3a-cbe0-44a2-ba7a-be59c32b6d12
    Execution mode: RUN
    Clear input data: false
    FICO Xpress Mosel 64-bit v5.3.0
    (c) Copyright Fair Isaac Corporation 2001-2020. All rights reserved
    App Model Data Version: 0
    Scenario Model Data Version: 0
    Copying model to execution service
    Copying scenario data to execution service
    FICO Xpress Solver 64bit v8.10.x Jun 24 2020
    (c) Copyright Fair Isaac Corporation 1983-2020. All rights reserved
    INFO: Detected mminsight v5.00.11 (25 Jun 2020)
    Log level: INFO
    Compute Job ID: 42a45e3a-cbe0-44a2-ba7a-be59c32b6d12
    No nonlinear information in savefile; optimizer savefile read.
    Optimizing using flags ''
    FICO Xpress v8.10.x, Hyper, solve started 15:07:12, Jun 19, 2020
    Heap usage: 352KB (peak 472KB, 566KB system)
    Minimizing MILP COCO
    Original problem has:
            62 rows           96 cols          212 elements         8 globals
    Presolved problem has:
             6 rows            8 cols           12 elements         0 globals
    Presolve finished in 0 seconds
    Heap usage: 366KB (peak 472KB, 567KB system)
    
    Coefficient range                    original                 solved
      Coefficients   [min,max] : [ 4.00e-01,  5.00e+02] / [ 1.00e+00,  1.00e+00]
      RHS and bounds [min,max] : [ 1.00e+00,  6.50e+02] / [ 5.00e+01,  3.00e+02]
      Objective      [min,max] : [ 1.00e+00,  6.30e+04] / [ 2.00e+00,  6.00e+00]
    Autoscaling applied standard scaling
    
    Will try to keep branch and bound tree memory usage below 9.4GB
    Starting concurrent solve with dual
    
     Concurrent-Solve,   0s
                Dual
        objective   dual inf
     D -1800300.0   .0000000
    ------- optimal --------
    Concurrent statistics:
          Dual: 6 simplex iterations, 0.00s
    Optimal solution found
    
       Its         Obj Value      S   Ninf  Nneg   Sum Dual Inf  Time
         6      -1800300.000      D      0     0        .000000     0
    Dual solved problem
      6 simplex iterations in 0s
    
    Final objective                       : -1.800300000000000e+06
      Max primal violation      (abs/rel) :       0.0 /       0.0
      Max dual violation        (abs/rel) :       0.0 /       0.0
      Max complementarity viol. (abs/rel) :       0.0 /       0.0
    
    Starting root cutting & heuristics
    
     Its Type    BestSoln    BestBound   Sols    Add    Del     Gap     GInf   Time
    c        -1800300.000 -1800300.000      1                  0.00%       0      0
     *** Search completed ***
    Uncrunching matrix
    Final MIP objective                   : -1.800300000000000e+06
    Final MIP bound                       : -1.800300000000000e+06
      Solution time / primaldual integral :         0s/ 99.055160%
      Number of solutions found / nodes   :         1 /         1
      Max primal violation      (abs/rel) :       0.0 /       0.0
      Max integer violation     (abs    ) :       0.0
    
  4. Finally, check the solution using the following command:
    [xpress C:\] mipobjval
    Console Display
     -1800300

The solution value will be the same whether solved locally or remotely.

For more, see the Optimizer Reference Manual in the FICO Xpress Online Help.

Resilience

If connection to the Xpress Insight Server is lost, for example due to a network issue, Xpress will attempt to reconnect. Additional messages are displayed in the run log if re-connection is successful within a certain time, or the solve will fail with an error if it is not.

If execution worker goes offline, but the connection can be re-established, the solve will be completely restarted. Any work done by the disconnected remote worker, including any integer solution callbacks already fired, will be repeated.

Supported Callbacks

Callbacks are supported. When submitting a job to a remote machine, these callbacks are restricted to the following:
  • message
  • barlog
  • globallog
  • lplog
  • cutlog
  • gapnotify
  • intsol

Specifying a Remote Execution Service

The console will perform a remote solve using an Xpress Insight server with the default execution service. You can specify an alternative execution service by using the COMPUTEEXECSERVICE control to configure the request. Use the following command at the console:
COMPUTEEXECSERVICE=RemoteExecutionServiceName

Job Queue Limit

Xpress Insight 5 imposes a configurable limit of 1000 jobs to the length of the job queue. If the job queue reaches this limit, further job submissions are rejected with a 503 status code and message. This limit can be increased to 10000 by editing the application.properties file. For more on the application.properties file, see the Xpress Insight 5 Installation Guide.
Note: This setting should not be confused with the limit imposed to the number of jobs displayed on the Jobs page.

© 2001-2024 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.