[Clp] Performance optimization

William H. Patton pattonwh at comcast.net
Mon Sep 8 22:57:57 EDT 2008


Since your problems are so small, consider any dense matrix lp solver code.
http://www-unix.mcs.anl.gov/otc/Guide/faq/linear-programming-faq.html
About 1/4 way down "Various small-scale implementations".
Will Naylor or Mike Hohmeyer or ACM TOMS 552 look promising.
Vanderbei, although sparse, has very clean small code that could be made
dense. Or if your sparsity pattern is constant, you could just make a simple
update wrapper for the code. Pd.c at
http://www.orfe.princeton.edu/~rvdb/LPbook/src/index.html
Alan Miller has smplx.f90  Linear programming using the simplex algorithm.
This is a translation of the Fortran 66 program from the NSWC (Naval Surface
Warfare Center) library written by Alfred Morris.
http://users.bigpond.net.au/amiller/NSWC/smplx.f90


William

________________________________________
From: clp-bounces at list.coin-or.org [mailto:clp-bounces at list.coin-or.org] On
Behalf Of Mustafa Kilinc
Sent: Monday, September 08, 2008 11:52 AM
To: hauke.pribnow at gmx.net
Cc: clp at list.coin-or.org
Subject: Re: [Clp] Performance optimization

Hello Hauke,
I recently asked a similar question. You can look here...

http://list.coin-or.org/pipermail/coin-discuss/2008-August/003440.html

Mustafa 
On Mon, Sep 8, 2008 at 9:36 AM, Hauke Pribnow <hauke.pribnow at gmx.net> wrote:
Hello everybody!

I have a pretty small Simplex problem (three rows, about nine to twenty
columns) where almost all columns will stay constant most of the time
whith the exception of the last one which will change quite often.

The column bounds for the mostly constant colums are 0 <= value <= 1 and
for the often changing one either 0 <= value <= infinity or -infinity <=
value <= 0. The row bounds are set to value = 0 (or 0 <= value <= 0) for
all the time.

There is only one objective coefficient: the one for the last row, and
that is either -1 or 1. Same goes for the optimization direction... it
is -1 or 1 as well. (When the objective coefficient is 1, the
optimziation direction is -1 and vice-versa. Concerning the col bounds
there's also such a rule: When the objective coefficient is 1, the col
bounds for the last column is 0 <= value and in the other case value <= 0.)

This (changing) Simplex problem will have to be solved about 120 times
in a second, which is the reason why I am looking for a way to optimize
the performance of it. Since I think that a lot of time gets lost by
using the deleteColumns() and addColumn() functions, I'm especially
looking for a way to write data directly into the matrix.

In case you can help me to find a way to do that or even to optimize my
problem further, I'd be happy about any type of reply. :)

Thanks in advance!


Hauke Pribnow
_______________________________________________
Clp mailing list
Clp at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/clp





More information about the Clp mailing list