[Coin-lpsolver] PreProcessing
John J Forrest
jjforre at us.ibm.com
Fri Feb 24 19:07:06 EST 2006
Justin,
Preprocessing can be applied to continuous LPs or ones with some integers.
Let's take the continuous case first. The presolve for Clp was written
first, but then it could be useful for other solvers so an
OsiSolverInterface interface to the presolve was written. To make this
work the guts of the presolve code was moved to the Coin directory - files
starting CoinPresolve. The ClpPresolve and OsiPresolve code uses
CoinPresolve.... code.
When you have integer variables then you can apply the continuous
preprocessing techniques but you also want to do more. The three
techniques that come to mind.
1) For problems with unit coefficients and unit rhs CglDuplicateRow finds
duplicate rows and more importantly rows which are subsets of others as
then variables can be fixed.
2) If x -> 1 means y -> 0 AND x->0 means y->1 then we can substitute for x
or y. This may be detected by CglProbing
3) If x-> makes a constraint slack then a coefficient in that row can be
strengthened. This is also done by CglProbing.
Because Cgl functions are used the controlling function was put there as
well - hence CglPreProcess.
Overall more work is needed on the CglPreProcess part than on the
continuous presolve part but contributions to either would be very
welcome.
John Forrest
jtyates at buffalo.edu
Sent by: coin-lpsolver-bounces at list.coin-or.org
02/24/2006 06:06 PM
To
coin-lpsolver at list.coin-or.org
cc
Subject
[Coin-lpsolver] PreProcessing
I noticed that the Cgl project contains a source code for preprocessing
of optimization problems. I also noticed that Clp had something called
presolve. I was wondering if Clp had any preprocessing applications
within the project itself and whether this was contained in the presolve
file or called something else.
Also, when using Clp as the LP solver, is there anywhere other than Cgl
that is called to perform any types of preprocessing steps.
Basically, I am working with a group from the University of Buffalo that
is interested in possibly contributing to the preprocessing capabilities
of COIN-OR and am trying to find out any (and all) locations where any
preprocessing would be done or called in COIN-OR (and specifically, in
CLP).
Thank you.
Justin
__________________________________________
Mr. Justin .T. Yates
Department of Industrial Engineering
State University of New York at Buffalo
415 Lawrence D. Bell Hall
Buffalo, NY 14260-2050
_______________________________________________
Coin-lpsolver mailing list
Coin-lpsolver at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-lpsolver
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20060224/cfa6e60e/attachment.html>
More information about the Clp
mailing list