|
||
My Resume (Updated July 21, 2009) |
||
Publications Disclaimer: The material below are the
authors' versions of the work and posted here to
ensure timely dissemination of scholarly and technical work. Not for
redistribution. Copyright
and all rights therein are retained by authors or by other copyright
holders. All persons copying this information are expected to adhere to
the terms and constraints invoked by the relevant copyright agreements.
BibTeX entries for these publications can be found here |
||
|
GLPKMEX with 2 Fixes GLPK (GNU Linear Programming Kit) is an open source linear and mixed integer programming software. GLPKMEX is a MATLAB mex interface to GLPK. It seems like the version downloadable from the GLPKMEX web site doesn't compile with the latest version of GLPK (which was 4.33 at the time of writing this). Another bug I found with GLPKMEX is as follows: if you set a variable an upper or lower bound and then set it to be of type binary, GLPK automatically overwrites previously set upper or lower bounds and sets them to be 1 and 0 respectively. If you are coding in C using GLPK, then you have to make sure to set the bounds after setting the variable type. This is not followed in the GLPKMEX code. (Of course, I am assuming you are not setting a lower bound < 0 or an upper bound > 1 for a binary variable. Setting a lower bound > 0 or an upper bound < 1 is equivalent to fixing that binary variable to 1 or 0, respectively. However, this is a valid operation and should not result in an infeasible solution. This is the case when the current implementation of GLPKMEX fails) I fixed the first compilation problem by replacing glp_ulong with xlong_t, and I added a few lines to GLPKMEX code to get around the upper/lower bound problem. You can download the full GLPKMEX tarball with these 2 fixes here. Note that I publish this modified GLPKMEX code absolutely without any warranty under the terms of GNU General Public License, a copy of which should come with it. |
||
| Updated July 21, 2009 |