Hi Andrew,

> There is no need (and technically it'd be difficult) to load Q back into
> the PP wksp. It would be sufficient to provide some specific
> preprocessor routines that allows, for example, fixing a column or add a
> row to the current instance residing in the workspace.
>

If I understand correctly, currently glp_npp_build_prob() frees almost all
problem data from the workspace, keeping only the references needed
for glp_npp_load_sol()
and glp_npp_recover_sol(). This is a reasonable design since in most cases
there is no need to keep the additional data in the workspace. However this
means that after calling glp_npp_build_prob() no further preprocessing can
be done using the same workspace, and that glp_npp_build_prob() can only be
called once.

The patch I sent earlier associates the references left in the workspace
with the rows/columns of the problem when glp_npp_load_prob() is called a
second time, so that the solution to the original problem can still be
recovered. For an unmodified problem the workspace would be in the same
state it was right before calling  glp_npp_build_prob().

Of course there are limitations to what kind of modifications can be done
to the preprocessed problem (e.g. no column/row deletions). However,
glp_npp_load_sol()
and glp_npp_recover_sol() have exactly the same restrictions, so I don't
see it as a show stopper.

Best Regards,

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

Reply via email to