[Coin-discuss] OsiClpSolverInterface::modifyCoefficient problems
John J Forrest
jjforre at us.ibm.com
Fri Mar 24 06:03:31 EST 2006
James,
Seems like you have hit two separate bugs. I would guess the second one
is a bug in OsiPresolve. It looks as if ClpPresolve gets rid of zero
elements before doing main part of presolve. What happens if you don't do
OsiPresolve but just call OsiClpSolverInterface::initialSolve() - it
should do a ClpPresolve and so should be OK? I will see if you have given
enough information for me to track down first bug. I will try to have
that fixed by Monday. If I have the time and energy I may move a function
- allElementsInRange from ClpPackedMatrix to CoinPackedMatrix and then it
will be easy to modify OsiPresolve.
John Forrest
"James Gibbons" <James.Gibbons at nottingham.ac.uk>
Sent by: coin-discuss-bounces at list.coin-or.org
03/23/2006 01:10 PM
Please respond to
Discussions about open source software for Operations Research
<coin-discuss at list.coin-or.org>
To
<coin-discuss at list.coin-or.org>
cc
Subject
[Coin-discuss] OsiClpSolverInterface::modifyCoefficient problems
Hi,
I'm having some problems with modifying matrix coefficients through the
OsiClpSolverInterface, i.e. the modifyCoefficient member function. I'm
reading in a LP file generated by Dash mosel, modifying the matrix and
then resolving. Or at least that is my intention. There are two related
problems
1. If I set keepZero to false, no coefficients are modifyemodified matrix.
I'm writing a mixture of zeros and doubles. I've confirmed this by writing
the matrix as an LP file after the attempted modification (it is the same
as before) and by inserting some logging code in CoinPackedMatrix.cpp (no
logging occurs). I've also tried getModelPtr()->modifyCoefficients with
the same results. I'm also modifying some row and column bounds, this
works fine.
2. If I set keepZero to true the matrix is modified (checked using the
methods above) but now when presolving (using OsiPresolve) the matrix I
get:
Assertion failed: nowUpper < large2, file CoinPresolveImpliedFree.cpp,
line 306
However, I can load the modified matrix back into mosel and solve to the
expected answers (with presolve) .
I guess I'm doing something wrong somewhere and would appreciate some
pointers. My code is pretty complex and the problem large so it might be
difficult to come up with a simple test case. However, I prepared to try
if it would help,
Thanks,
James
--
Dr James Gibbons
Research Fellow
Division of Agricultural & Environmental Sciences
School of Biosciences
University of Nottingham
Sutton Bonington Campus
Loughborough
LE12 5RD
direct line: 0115 9516081
fax: 0115 9516060
e-mail: james.gibbons at nottingham.ac.uk
This message has been checked for viruses but the contents of an
attachment
may still contain software viruses, which could damage your computer
system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.
_______________________________________________
Coin-discuss mailing list
Coin-discuss at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-discuss
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20060324/f1c59342/attachment.html>
More information about the Coin-discuss
mailing list