Solving your First Problem





Using the Command Line Interface

The solver can be invoked from Windows PowerShell or Linux terminal using the following syntax:
                
octeract-engine [problem_file]
                
            
The solver supports direct input in ASL (.nl), MPS (.mps), and LP (.lp) formats. It also has built-in support for the Pyomo and AMPL modeling environments. 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 \(5x10^{−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
-s flag
:
                
octeract-engine ex2_1_1.nl -s MY_SOLUTION_PATH
                
            
Detailed solution information can be accessed by inspecting the solution file which produces the following output:
                
=========================================
***************  Solution  ***************
========================================
- Local Engine      : ipopt
- Local Eng. Status : 0
- Feasible          : Yes
- Problem type      : UB
- Found in node     : 20
- Objective value   : -16.9999999999499778
- Model name        : ex2_1_1
- Problem structure : QP
- DGO exit status   : Solved_To_Global_Optimality
- Solving time (s)  : 0.078000
- Nu cores          : 1
- nu vars             : 5
* nu nlvars         : 5
* nu linear vars    : 0
* nu binary vars    : 0
- nu cons              : 1
* nu linear cons     : 1
* nu fixed cons      : 0
* nu quadratic cons  : 0
* nu general nl cons : 0
- Solution vector :
x1	: 0.9999999999998276
x2	: 0.9999999999998215
x3	: 0.0000000000002222
x4	: 0.9999999999998114
x5	: 0.0000000000002105
- Lagrange multipliers :
con1	: 0.0000000000099999
x1	: -57.9999999999529479
x2	: -56.0000000000025153
x3	: 45.0000000009757386
x4	: -53.0000000000258993
x5	: 47.5000000009467271
========================================
                
            

That’s it! Congratulations, you just solved your first problem using Octeract Engine!




Using Python

Check the Python API documentation for simple examples to get started.




Using C++

Check the C++ API documentation for simple examples to get started.




Choose your Framework

Octeract Engine supports six different frameworks in total. Select your preferred one below to start solving your model.


Was this helpful?
Please make sure you fill the comments section before sending.

Thank you for your comments.
Please contact us if you need any further support.
gs/htg1007