0

I'm starting to use SCIP for a research problem that used integer programming with disjunctions. My early work will be a program that writes a CIP file and then using SCIP from the command line, in Linux. My plan is to use my existing work to produce the constraints, and to use that to write the constraints, including disjunctions, in a CIP file for SCIP to read.

I can use one of the two examples in the SCIP documentation by asking SCIP to write the problem file as a CIP file, but neither example uses disjunctions. I've found here that the file extent should be *.cip, and I can infer the headings from the CIP file reader code in the SCIP documentation or get them by writing the example problems as CIP files. But, any write-up on how to write a CIP file, including the simplest disjunction constraint, would be enormously helpful.

engineer
  • 119

1 Answers1

1

If you look into cons_disjunction.c in the print Callback consPrintDisjunction you will find the answer to your question. As far as I can see you would just print

[disjunction] <consname>: disjunction(<firstcons>,<secondcons>,...)

so just a list of the constraints in the disjunction.

Leon
  • 1,588
  • 1
  • 7
  • 16
  • Thank you. The missing information was the keyword used instead of the inverted V for "OR", which is, simply enough, "disjunction". I'll look through the code you refer to. – engineer Mar 10 '22 at 13:41