Hi Andrew,

> Sorry, I don't catch your idea. The resulting (preprocessed) problem
> always resides in the PP workspace, so one can preprocess it in several
> passes, if necessary.
>

This is true, however after step L4 in your suggested API:
Q = glp_npp_build_prob(npp, ...);
any subsequent modifications to Q are not reflected in the PP workspace. My
suggestion is to allow calling glp_npp_load_prob() with this modified Q
(with changed bounds or added rows) to update the workspace before further
preprocessing passes.

In a way this takes your suggestion to Heinrich, to "...first preprocess
your instance with glpk pp and then preprocess the resulting instance with
your own preprocessor" one step further, in that it allows to rerun the
glpk preprocessor again using the same workspace.

I have used this procedure myself in:
a) a loop that fixes columns of the proproecessed problem using probing
until no further changes are possible; and
b) for additional preprocessing after adding symmetry breaking inequalities
to the preprocessed problem.

Best Regards,

Chris Matrakidis
_______________________________________________
Help-glpk mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-glpk

Reply via email to