lp/mip preprocessor api

Andrew Makhorin <[email protected]>
Newsgroups gmane.comp.gnu.glpk
Message-ID <1512226668.13073.1.camel@corvax>
Currently the LP/MIP preprocessor is used internally by glp_simplex,
glp_interior, and glp_intopt. However, I think it would be reasonable
to make the LP/MIP preprocessor available to the user on API level.
Please see below the API routines I plan to include in the package.

Any comments/suggestions are appreciated.

Thank you,

Andrew Makhorin

------
A crude scheme of using the preprocessor routines on API level is the
following.

L1:   /* allocate preprocessor (PP) workspace */
      npp = glp_npp_alloc_wksp(...);

L2:   /* load original problem instance into PP workspace */
      glp_npp_load_prob(npp, P, ...);

L3:   /* perform preprocessing */
      call one or more specific preprocessor routines;

L4:   /* obtain resulting problem instance */
      Q = glp_npp_build_prob(npp, ...);

L5:   /* solve resulting problem instance */
      glp_simplex / glp_interior / glp_intopt (Q, ...);

L6:   /* load solution to resulting problem instance into PP wksp */
      glp_npp_load_sol(npp, Q, ...);

L7:   /* obtain solution to original problem instance from PP wksp */
      glp_npp_recover_sol(npp, P, ...);

L8:   /* free PP workspace */
      glp_npp_free_wksp(npp);

Steps L1, L2, and L8 are performed only once. Steps L3, ..., L7 can be
performed many times, if necessary.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.