Search code examples
linear-programmingscipmixed-integer-programming

How to increase the verbosity level of SCIP solver log


I have the following SCIP solver log

 time | node  | left  |LP iter|LP it/n| mem |mdpt |frac |vars |cons |cols |rows |
  0.0s|     1 |     0 |     4 |     - | 6k|   0 |   0 |   6 |  200 |   6 |  200 |
  0.0s|     1 |     0 |     7 |     - | 6k|   0 |   0 |   8 |  200 |   8 |  200 |
  0.0s|     1 |     0 |    10 |     - | 6k|   0 |   0 |   9 |  200 |   9 |  200 |
  0.0s|     1 |     0 |    10 |     - | 6k|   0 |   0 |   9 |  200 |   9 |  200 |
  0.0s|     1 |     0 |    10 |     - | 6k|   0 |   0 |   9 |  200 |   9 |  200 |
  0.0s|     1 |     0 |    10 |     - | 6k|   0 |   0 |   9 |  200 |   9 |  200 |

I want the log to be more verbose, as in display a new line at each LP iteration. So far I only came across

SCIP_CALL( SCIPsetIntParam(scip, "display/verblevel", 5));

This is increasing but not as much as I want and not where I want. Essentially I would like to have lines at LP iter 4, 5, 6, 7, 8, 9 and 10 too.


Solution

  • You cannot print a line of SCIP output at every LP iteration. You can set display/freq to 1, then SCIP will display a line at every node.

    Additionally you can set display/lpinfo to true, then the LP solver will print additional information. I don't think any LP solver will print you a line for every LP iteration though . Do you use SCIP with SoPlex?

    Edit: Looked and you can set the SoPlex frequency to 1 with the parameter "--int:displayfreq". I don't think you can set this through the SCIP api though. If you only want to solve the LP you could just do it in SoPlex or you would have to edit the lpi_spx2 source code.