|
From: | Xypron |
Subject: | [Help-glpk] Re: Add new rows in a branch and cut resolution with presolve enabled |
Date: | Fri, 28 Jan 2011 20:00:35 +0100 |
User-agent: | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20101123 SeaMonkey/2.0.11 |
Hello David,please, register for the GLPK help list if you want your mail to be received.
See http://lists.gnu.org/mailman/listinfo/help-glpk There is no function in the API to add rows to the original problem. You can find the internal function used for pre- and postprocessing in function preprocess_and_solve_mip in glpk-4.45/src/glpapi09.c. I suggest you simplify your problem formulation such that you can do without preprocessor. The preprocessor can be switched off using the flag presolve in structure glp_iocp. See glpk-4.45/doc/glpk.pdf. Best regards Xypron wrote:
I suppose that it´s a common problem; we are using an algorithm that foolows a strategy based on Bender´s idea for solving a bilevel problem (max-min). We obtain a partial resolution of the problem using branch&cut, we test a set of restrictions and if any of this restrictions (a condition over the objective value of a min problem) is violated we obtain, from the dual problem, a new restriction to add to the master problem. We iterate until Our problem is that we can´t enable the presolver on the master problem because it changes the internal representation of the problem and we can´t add new rows (or make any simplification of the master problem; i.e row or column cleaning). Is there any way, in the GLPK API, to transform from and to internal problem representation? Thanks in advance, David Pérez.
[Prev in Thread] | Current Thread | [Next in Thread] |