2

Is it possible to run the cplex presolver to aggregate a problem without invoking the the mip solver? If it is, could you provide an example using the c callable library?

acco93
  • 128
  • 2
  • 11
  • I don't know if it can be done as a C callable library but are you just trying to generate the models? – Ahmed Masud Sep 20 '17 at 17:24
  • I'm filling up a model a little at a time due to memory limitations. Most of the rows could be aggregated since they are linear combination of other rows. – acco93 Sep 20 '17 at 17:29
  • Is your problem really so big that you need to worry about this incremental aggregating? What makes you think you need to do this? – rkersh Sep 21 '17 at 00:14

1 Answers1

1

Yes, it's possible to call presolve independently. The function you're looking for is CPXpresolve. The example given in the documentation is:

status = CPXpresolve (env, lp, CPX_ALG_DUAL);

You may also be interested in CPXpreslvwrite. Here's the example for that (also from the documentation):

status = CPXpreslvwrite (env, lp, "myfile.pre", &objoff);

If you write out the presolved problem, as above, you can read it back in with CPXreadcopyprob. This will allow you to work with the presolved problem directly.

rkersh
  • 4,447
  • 2
  • 22
  • 31