1. Home
  2. Docs
  3. Tutorials
  4. Solving your first problem

Solving your first problem

The solver can be invoked from Windows PowerShell or a Linux terminal using the following syntax (without the square braces):

octeract-engine [problem_file]

The solver supports direct input in ASL (.nl), MPS (.mps), and LP (.lp) formats. It also works out-of-the-box with Pyomo, AMPL, and JuMP. Example input files are included in the installation folder under /examples. Let’s begin by solving test problem ex2_1_1.nl.

Invoke the solver using the following command:

octeract-engine ex2_1_1.nl

You should see the following output:

Iteration            GAP               LLB          BUB        Pool      Time     Mem
11           5.000e-11 (  0.00%)   -1.700e+01     -1.700e+01    3        0.0s    91.0MB

Objective value at global solution: -1.700e+01

By default, the solver outputs the following information:

  • Number of iterations (in this case, 11).
  • Absolute and relative optimality gap (here 5∗10−11 and 0.00% respectively).
  • Least Lower Bound (LLB). This is the smallest lower bound throughout the branch-and-bound tree.
  • Best Upper Bound (BUB). This is the best local optimum that has been located so far.
  • Pool. This is the number of nodes in the branching pool.
  • Time. This is the real time (not CPU time) spent in branch-and-bound (in seconds).
  • Memory. The amount of RAM that the solver is currently taking up.

By default, the solver will automatically write an .octsol solution file to the system’s

LOCAL_TEMP. This directory can be set explicitly (overridden) using the-d flag:

octeract-engine ex2_1_1.nl -d MY_SOLUTION_PATH

Detailed solution information can be accessed by inspecting the .octsol solution file in the selected location. Conveniently, all .octsol files are also .json files. Aren’t you lucky.

How can we help?