2

I am reaching out regarding an issue I’ve encountered in my branch-and-price implementation in SCIP. My implementation is based on the bin packing project, and I have made minimal modifications as my problem structure is nearly identical to the original: Master and Pricing Problem Can Be Seen Here

The issue arises in pricing problem, some of my Master Problem constraints are unexpectedly disabled after a few iterations. This leads to their exclusion during the initialization of the pricing problem and affects its correctness.

To investigate, I added a printf in the initPricing method where it compute the dual variable of the master problem:

for (c = 0; c < n_edges; ++c) {
  cons = conss[c];
  assert(!strncmp(SCIPconshdlrGetName(SCIPconsGetHdlr(cons)), "setppc", 6));

  if (!SCIPconsIsEnabled(cons)) {
    printf("cons: %s was disabled\n", SCIPconsGetName(cons));
    continue;
  }

  /* dual value in original SCIP */
  dual = isfarkas ? SCIPgetDualfarkasSetppc(scip, cons) : SCIPgetDualsolSetppc(scip, cons);
}

Using this, I found that two of the master problem constraints are disabled and skipped during initialization. I have not modified the cons_samediff or branchryanfoster logic, assuming they would work as expected given the similarity to the bin packing problem.

Could you please help me identify the root cause of these constraints being disabled and suggest a resolution? Is it because of cons_samediff or branchryanfoster?

1
  • 1
    Just to check, have you disabled presolving? Commented Apr 8 at 15:02

0

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.