[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-glpk] lp/mip preprocessor api

From: Chris Matrakidis
Subject: Re: [Help-glpk] lp/mip preprocessor api
Date: Sun, 3 Dec 2017 10:04:48 +0200

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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]