Hi John ------------------------------------------------------------ To: Robbie Morrison <rob...@actrix.co.nz>, GLPK help <help-glpk@gnu.org> Subject: Re: [Help-glpk] Assertion failed: l[k] != -DBL_MAX, Error detected in file glpios02.c at line 312 Message-ID: <1346172148.93799.yahoomail...@web120305.mail.ne1.yahoo.com> From: John Kalman <johnkalma...@yahoo.com> Date: Tue, 28 Aug 2012 09:42:28 -0700 (PDT) ------------------------------------------------------------
> Hi Robbie > > thanks for the answer. > > I am actually solving a MIP (mixed integer program) > with glpk, MIP in GLPK terms, 0-1 integer program in terms of your model, I take it. > I checked all the inputs and constraints and > they seem to be ok (the only constrain is of the form > G*x<=h and all the control variables are binary), I do > not have any explicit boundaries on the control > variables (since all elements x_i of vector x can be > only 0 or 1). That sounds okay to me. > I do not understand the meaning of the constant DBL_MAX > and the meaning of the assertion l[k] != -DBL_MAX, DBL_MAX (without the negation) is the largest double value that your system will support. http://en.wikipedia.org/wiki/C_data_types It is normally defined in: #include <cfloat> On my 64-bit system it is 1.79769e+308 GLPK uses DBL_MAX to represent infinity (instead of IEEE 754 inf, probably for reasons of portability). 'l' is the lower bound on the 'k'th variable. The source code talks about implied bounds (it is extremely well documented). > perhaps I can just delete this assertion in the source > code and recompile? What could go wrong? There is a compiler switch to do this in C (I don't know how it works with the python wrapper). Place the following before your GLPK header include: #define NDEBUG Why not first add some 'printf' statements to identify 'l' and 'k': printf("debug output follows\n"); printf("k : %d\n", k); printf("l : %f\n", l); printf("DBL_MAX : %f\n", DBL_MAX); Disabling the assert will probably result in a catastrophic failure elsewhere. But try it, its only a protection thing! :) > regards, > John Can you export your problem as CPLEX or MPS and then run that directly using GLPSOL. That would help to eliminate your model from the hunt. [snip: remainder of thread] good luck, Robbie --- Robbie Morrison PhD student -- policy-oriented energy system simulation Technical University of Berlin (TU-Berlin), Germany University email (redirected) : morri...@iet.tu-berlin.de Webmail (preferred) : rob...@actrix.co.nz [from Webmail client] _______________________________________________ Help-glpk mailing list Help-glpk@gnu.org https://lists.gnu.org/mailman/listinfo/help-glpk