NAG Library Manual, Mark 28.5
Interfaces:  FL   CL   CPP   AD
```
nagcpp::opt::handle_solve_lp_ipm Example

----------------------------------------------
E04MT, Interior point method for LP problems
----------------------------------------------

Begin of Options
Print File                    =                   6     * d
Print Level                   =                   2     * d
Print Options                 =                 Yes     * d
Print Solution                =                 All     * U
Monitoring File               =                  -1     * d
Monitoring Level              =                   4     * d
Lpipm Monitor Frequency       =                   1     * U

Infinite Bound Size           =         1.00000E+20     * d
Task                          =            Minimize     * d
Stats Time                    =                  No     * d

Lp Presolve                   =                 Yes     * d
Lpipm Algorithm               =         Primal-dual     * d
Lpipm Centrality Correctors   =                  -6     * U
Lpipm Iteration Limit         =                 100     * d
Lpipm Max Iterative Refinement=                   5     * d
Lpipm Scaling                 =          Arithmetic     * d
Lpipm Stop Tolerance          =         1.00000E-10     * U
Lpipm Stop Tolerance 2        =         2.67452E-10     * d
Lpipm System Formulation      =                Auto     * d
End of Options

Problem Statistics
No of variables                  7
free (unconstrained)           0
bounded                        7
No of lin. constraints           7
nonzeroes                     41
Objective function          Linear

Presolved Problem Measures
No of variables                 13
free (unconstrained)           0
No of lin. constraints           7
nonzeroes                     47

------------------------------------------------------------------------------
it|    pobj    |    dobj    |  optim  |  feas   |  compl  |   mu   | mcc | I
------------------------------------------------------------------------------
0 -7.86591E-02  1.71637E-02  1.27E+00  1.06E+00  8.89E-02  1.5E-01
1  5.74135E-03 -2.24369E-02  6.11E-16  1.75E-01  2.25E-02  2.8E-02   0
2  1.96803E-02  1.37067E-02  5.06E-16  2.28E-02  2.91E-03  3.4E-03   0
3  2.15232E-02  1.96162E-02  7.00E-15  9.24E-03  1.44E-03  1.7E-03   0
4  2.30321E-02  2.28676E-02  1.15E-15  2.21E-03  2.97E-04  3.4E-04   0
5  2.35658E-02  2.35803E-02  1.32E-15  1.02E-04  8.41E-06  9.6E-06   0
6  2.35965E-02  2.35965E-02  1.64E-15  7.02E-08  6.35E-09  7.2E-09   0
Iteration 7
monit() reports good approximate solution (tol = 1.2e-08):
7  2.35965E-02  2.35965E-02  1.35E-15  3.52E-11  3.18E-12  3.6E-12   0
------------------------------------------------------------------------------
Status: converged, an optimal solution found
------------------------------------------------------------------------------
Final primal objective value         2.359648E-02
Final dual objective value           2.359648E-02
Absolute primal infeasibility        4.168797E-15
Relative primal infeasibility        3.518607E-11
Absolute dual infeasibility          5.084353E-11
Relative dual infeasibility          1.350467E-15
Absolute complementarity gap         2.685778E-11
Relative complementarity gap         3.175366E-12
Iterations                                      7

Primal variables:
idx   Lower bound       Value       Upper bound
1  -1.00000E-02   -1.00000E-02    1.00000E-02
2  -1.00000E-01   -1.00000E-01    1.50000E-01
3  -1.00000E-02    3.00000E-02    3.00000E-02
4  -4.00000E-02    2.00000E-02    2.00000E-02
5  -1.00000E-01   -6.74853E-02    5.00000E-02
6  -1.00000E-02   -2.28013E-03         inf
7  -1.00000E-02   -2.34528E-04         inf

Box bounds dual variables:
idx   Lower bound       Value       Upper bound       Value
1  -1.00000E-02    3.30098E-01    1.00000E-02    0.00000E+00
2  -1.00000E-01    1.43844E-02    1.50000E-01    0.00000E+00
3  -1.00000E-02    0.00000E+00    3.00000E-02    9.09967E-02
4  -4.00000E-02    0.00000E+00    2.00000E-02    7.66124E-02
5  -1.00000E-01    3.51391E-11    5.00000E-02    0.00000E+00
6  -1.00000E-02    3.42902E-11         inf       0.00000E+00
7  -1.00000E-02    8.61040E-12         inf       0.00000E+00

Linear constraints dual variables:
idx   Lower bound       Value       Upper bound       Value
1  -1.30000E-01    0.00000E+00   -1.30000E-01    1.43111E+00
2       -inf       0.00000E+00   -4.90000E-03    4.00339E-10
3       -inf       0.00000E+00   -6.40000E-03    1.54305E-08
4       -inf       0.00000E+00   -3.70000E-03    3.80136E-10
5       -inf       0.00000E+00   -1.20000E-03    4.72629E-11
6  -9.92000E-02    1.50098E+00         inf       0.00000E+00
7  -3.00000E-03    1.51661E+00    2.00000E-03    0.00000E+00
```