Thursday, July 30, 2009

LP file

I have a .lp file which takes very long time (more than 40 hours
without finish) when it is run on CPLEX's Interactive Optimizer
version 10.2.

As I only have CPLEX v.10.2, I was wondering if someone could run
the .lp file for me on the latest version of CPLEX (or Gurobi or other
solvers), and then tell me the results.

After you finish running the case, please tell me:
    (1) The software you use and the software version.
    (2) How long does it take to finish?
    (3) The spec. of the computer that are used to run the .lp file,
and whether the multi-thread function is turned on.
    (4) The final values of all the variables.
    (5) Why the .lp file takes so long?

This is a MIP model. An LP file (or MPS file) is a bad way to look at a MIP problem and give advice about better formulations. Difficult MIP models should always be implemented in a modeling language so you can look at the model, actually understand it and think about it.

Another good example how not to disseminate models is http://www.gamsworld.org/performance/index.htm. The models are totally obscured so they loose any meaning, and don’t allow any reasoning why a certain model gives performance problems for certain solvers.

When we want to learn something about the performance of a model I would argue that it is not helpful to use a format (LP/MPS) that hides the structure and that prohibits reformulations. This is especially the case for discrete models, but also for non-linear models.

4 comments:

  1. Erwin, why somebody run a model for 40 hours without questioning the formulation? Does he already undertand the difficulty? or the problem was created with some purpose? Is he train to find a weakness in some implementations?

    As you say, difficult problems can be analysed/created in paper with pure equations. Then you can run little instances with some modelisation language before you go to the solver-machine limit and retry other formulations. The solver-machine performance is important for deployment in industrial environments or to probe a concept.

    ReplyDelete
  2. You could try some of the solvers on the NEOS servers. They do however have a time limit of 10 hours per problem. The SCIP solver is linked with cplex 12 and is relatively quick (not as quick as CPLEX 12 by itself though).

    http://neos.mcs.anl.gov/neos/

    You could try emailing Gurobi or ilog and see if they will run it for you, I would suspect that they are too busy for that. :(

    ReplyDelete
  3. hello Erwin Kalvelagen
    a have a Question about number of Allowable thread in GAMS/CPLEX.
    my licence file support 4 parallel threads.
    but when i running GAMS/CPLEX(with command of Parallel Processing) GAMS write :
    number of threads is too big and
    minimum =0 , maximum =2
    how i can running GAMS with 4 threads?

    ReplyDelete
  4. That's probably because you only have two non-hyperthreaded processors or one hyperthreaded processors. If you really have 4 threads, try this in you cplex.opt file:

    parallelmode 1
    threads 0

    You will use as much as the maximum allowed. On a Core I7 computer, GAMS now use as much as 8 threads with the new cplex 12.1 that just shipped with the GAMS 23.2

    ReplyDelete