I'm trying to extract Cgl Gomory cuts out of the Cgl (Cut Generation Library) of Coin-Or The following is the code I'm using to extract the cuts -

OsiCuts cutlist;
CglGomory * gomory = new CglGomory();
gomory->generateCuts(*sym, cutlist) ;

where sym is an instance of OsiSymSolverInterface (the OsiSolverInterface for Symphony). Unfortunately the code is segfaulting at generateCuts somewhere inside the method as far as I've been able to determine using gdb.

Extraction of CglProbing cuts is likewise segfaulting again inside the generateCuts method of the CglProbing class.

All other cuts seem to be working fine.

If someone could shed some light on this or even better, post/link to an example file using these cuts or a tutorial of some sort, that would great. If there's an example/tutorial for extracting cuts out of some other solver like SCIP instead of Coin-OR, that would work too.


asked 05 Jan '10, 02:19

Sid's gravatar image

accept rate: 18%

After asking around on the CGL mailing list, I found out that the reason the above was not working. I'm posting it here for the benefit of those who might encounter a similar problem.
The reason this was failing was because Symphony is an MILP solver and since the Gomory cuts generated by CglGomory are generated from a simplex tableau, the OsiSolverInterface needs to be to an LP solver like Clp (the interface class for which is OsiClpSolverInterface).

In particular, for the code above, making sym an instance of OsiClpSolverInterface would work.


answered 07 Jan '10, 01:36

Sid's gravatar image

accept rate: 18%

edited 07 Jan '10, 02:26

Thanks for posting this! It is much more useful having the answer than just the hanging question.

(07 Jan '10, 02:38) Michael Trick ♦♦
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 05 Jan '10, 02:19

Seen: 3,095 times

Last updated: 07 Jan '10, 02:26

OR-Exchange! Your site for questions, answers, and announcements about operations research.