help-glpk
[Top][All Lists]
Advanced

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

Re: [Help-glpk] MIP presolver and dual simplex in root relaxation


From: Andrew Makhorin
Subject: Re: [Help-glpk] MIP presolver and dual simplex in root relaxation
Date: Thu, 17 Sep 2015 12:22:54 +0300

> I have a MIP problem (a simple unit commitment problem) that I try to
> solve with glpsol (v4.55). The problem with this is that finding the
> root relaxation takes a long time due to numerical instabilities with
> default settings.
> 
> 
> If I however use the dual simplex method to find the root relaxation
> (--nointopt and --dual options) there is no problem finding the
> relaxation. The drawback is that I now don't use the MIP presolver.
> 
> 
> Is there a way I can use the dual simplex method for find the root
> relaxation and use the MIP presolver at the same time? Using the
> --dual option without the --nointopt does not work.

Currently the mip presolver uses the primal simplex and unfortunately
there is no option to change this behavior.

However, if necessary, you may switch to the dual simplex by adding one
line to glpk-4.55/src/glpapi09.c (function preprocess_and_solve_mip) as
follows:

377      /* solve initial LP relaxation */
378      if (parm->msg_lev >= GLP_MSG_ALL)
379         xprintf("Solving LP relaxation...\n");
380      glp_init_smcp(&smcp);
381      smcp.msg_lev = parm->msg_lev;
+++>>>   smcp.meth = GLP_DUALP;
382      mip->it_cnt = P->it_cnt;
383      ret = glp_simplex(mip, &smcp);

PS: If possible, please post to me (not to the list) your gzipped model
(in any format supported by glpsol). Thanks.


Andrew Makhorin




reply via email to

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