0

I tried to run a Column-Generation program with SCIP, using the pricing call-back (a bit similar to the VRP example available online but on a relaxed/continuous Multi-Commodity Flow).

The program runs well while it generates new variables, but as soon as there are no more variables generated the solver crashes. The error returned is "ERROR: pricing was aborted, but no branching could be created!" - note that I did not try to do any branching and all my variables were continuous.

At every call of the scip_redcost function I printed the number of variables created just before the return SCIP_OKAY and got the following kind of results on a toy example:

 time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |vars |cons |rows |cuts |sepa|confs|strbr|  dualbound   | primalbound  |  gap   | compl.
t 0.0s|     1 |     0 |     0 |     - | trivial|   0 |  23 |  43 |   0 |   0 |  0 |   0 |   0 |      --      | 4.020402e+07 |    Inf | unknown
* 0.0s|     1 |     0 |     3 |     - |    LP  |   0 |  23 |  43 |  43 |   0 |  0 |   0 |   0 |      --      | 4.020402e+02 |    Inf | unknown
Pricing ends with 3 new variable.
  0.0s|     1 |     0 |    12 |     - |   746k |   0 |  26 |  43 |  43 |   0 |  0 |   0 |   0 |      --      | 4.020402e+02 |    Inf | unknown
r 0.0s|     1 |     0 |    12 |     - |simplero|   0 |  26 |  43 |  43 |   0 |  0 |   0 |   0 |      --      | 6.100000e+01 |    Inf | unknown
Pricing ends with 2 new variable.
  0.0s|     1 |     0 |    18 |     - |   748k |   0 |  28 |  43 |  43 |   0 |  0 |   0 |   0 |      --      | 6.100000e+01 |    Inf | unknown
r 0.0s|     1 |     0 |    18 |     - |simplero|   0 |  28 |  43 |  43 |   0 |  0 |   0 |   0 |      --      | 1.500000e+01 |    Inf | unknown
Pricing ends with 1 new variable.
  0.0s|     1 |     0 |    19 |     - |   748k |   0 |  29 |  43 |  43 |   0 |  0 |   0 |   0 |      --      | 1.500000e+01 |    Inf | unknown
Pricing ends with 2 new variable.
  0.0s|     1 |     0 |    20 |     - |   749k |   0 |  31 |  43 |  43 |   0 |  0 |   0 |   0 |      --      | 1.500000e+01 |    Inf | unknown
r 0.0s|     1 |     0 |    20 |     - |simplero|   0 |  31 |  43 |  43 |   0 |  0 |   0 |   0 |      --      | 1.450000e+01 |    Inf | unknown
Pricing ends with 0 new variable.
  0.0s|     1 |     0 |    20 |     - |   751k |   0 |  31 |  43 |  43 |   0 |  0 |   0 |   0 |      --      | 1.450000e+01 |    Inf | unknown
[solve.c:4561] ERROR: pricing was aborted, but no branching could be created!
[solve.c:4994] ERROR: Error <-10> in function call
[scip_solve.c:2789] ERROR: Error <-10> in function call
terminate called after throwing an instance of 'SCIPException'
  what():  method returned an invalid result code
Aborted (core dumped)

The objective value of 14.5 is indeed the expected minimum, and the columns generated do allow an optimal solution for my problem.

Dumping the transformed problem in the pricers callback function to a .lp file and running it works perfectly and gives the expected result.

As the problem arises outside of the part of the code where we have visibility, I am a bit stuck; if someone encountered a similar problem or has a deep understanding on what is happening I would be very happy to get some insights.

1
  • 1
    Note: The C++ tag will attract a lot of extra eyes what will look at the question, think, "What the heck is this? Where's the C++?" Be absolutely certain you want the tag. Commented Feb 5, 2024 at 20:59

1 Answer 1

1

I found the answer after reading a bit more carefully the examples provided :-(

As it took me some time I post it here.

The result pointer should be set to SCIP_SUCCESS in the scip_redcost function - else the pricer will work as long as it generates columns but fail when no columns are generated.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.