help-glpk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] Multithreading/parallelization


From: Noli Sicad
Subject: Re: [Help-glpk] Multithreading/parallelization
Date: Tue, 18 Dec 2012 08:21:47 +1100

Hi Harley,

> I assume that you are using mathprog and then producing an MPS file for
> CBC, and as you point out, you can't then use the mathprog output
> statements and would have to process the results some other way.

No, I run my MIP MathPog model in CBC solver. I compiled CBC with
MathProg parser in Mac OS X. CBC has third parties "add-ons" and
GLPK/MahtProg is one of these add-ons packages. Before you compile CBC
get glpk first, if you like to include support of MathProg parser.

CBC with MathProg parser support just ignores those MathProg scripts
after the solve statement.

Yes, you can use MPS and CPLEX LP format as input for the CBC solver.

> Are you able to share the details on how you make this work? I presume
> CBC is the COIN-OR MIP solver. How is easy is CBC to work with and how
> do you handle the output processing?

First download the CBC trunk. Yes, it is the COIN-OR MIP solver.

CBC trunk has threads support with proximity search heuristic
algorithm. Before compiling run the "get.glpk" script in the third
parties folder > glpk folder. The default glpk is glpk-4.45, just use
it. It does not interfere with your installed glpk (glpk-4.47).

Compile with  --enable-cbc-parallel

For linux and Mac OS X.

#####

./configure CFLAGS='-m64 -O3' CC=gcc-4.7 --enable-gnu-packages
--enable-cbc-parallel --enable-debug -C --prefix=/usr/local

#####

For Windows OS, it has support for various version of MSVisualStudio.
Have a look at the MSVisualStudio folder in CBC after you download.

Run the CBC solver with -print csv to get the solution.

e.g.

#####

> cbc myMIP.mod -randomCbcSeed 0 -randomSeed 0 -proximity on -threads 8 -printi 
> csv -solve -solu solution_math_period1-10p1.csv

#####

Noli



reply via email to

[Prev in Thread] Current Thread [Next in Thread]