lemon-project-template-glpk
diff deps/glpk/ChangeLog @ 9:33de93886c88
Import GLPK 4.47
author | Alpar Juttner <alpar@cs.elte.hu> |
---|---|
date | Sun, 06 Nov 2011 20:59:10 +0100 |
parents | |
children |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/deps/glpk/ChangeLog Sun Nov 06 20:59:10 2011 +0100 1.3 @@ -0,0 +1,2432 @@ 1.4 +Fri Sep 09 12:00:00 2011 Andrew Makhorin <mao@gnu.org> 1.5 + 1.6 + * GLPK 4.47 (32:0:32) has been released 1.7 + 1.8 + * src/glpapi20.c 1.9 + New API routine glp_infeas1 to solve 0-1 feasibility problem 1.10 + was added and documented (see doc/cnfsat.pdf). 1.11 + 1.12 + * src/glpnpp06.c 1.13 + Some new preprocessor routines for SAT-CNF encoding, which are 1.14 + used by the routine glp_intfeas1, were added. 1.15 + 1.16 + * src/glpnpp.h 1.17 + The header was modified due to additions. 1.18 + 1.19 + * src/glpapi21.c 1.20 + The glpsol solver was modified to bypass model postprocessing 1.21 + if the solution reported is neither optimal nor feasible. 1.22 + 1.23 + * src/glpapi21.c 1.24 + New glpsol options (--minisat and --objbnd) were added. 1.25 + 1.26 + * examples/pbn/*.* 1.27 + The paint-by-numbers puzzle model (pbn.mod) was modified to 1.28 + print solution in PostScript format and to check for multiple 1.29 + solutions. Some benchmark examples from <webpbn.com> encoded 1.30 + in MathProg were included in the distribution. For more details 1.31 + see examples/pbn/README and examples/pbn/pbn.pdf. 1.32 + 1.33 + * examples/Makefile.am 1.34 + A minor bug was fixed to correctly build glpk in a separate 1.35 + directory. Thanks to Marco Atzeri <marco.atzeri@gmail.com> for 1.36 + bug report. 1.37 + 1.38 +Tue Aug 09 12:00:00 2011 Andrew Makhorin <mao@gnu.org> 1.39 + 1.40 + * GLPK 4.46 (31:0:31) has been released 1.41 + 1.42 + * src/glpk.h, src/Makefile 1.43 + glpk.h was relocated from 'include' to 'src', and 'include' 1.44 + subdir was removed; src/Makefile.am was changed appropriately. 1.45 + 1.46 + * src/zlib/*.* 1.47 + zlib general purpose compression library, version 1.2.5, 1.48 + was ANSIfied and modified according to GLPK requirements and 1.49 + included in the distribution as an external software module. 1.50 + 1.51 + For details see src/zlib/README. 1.52 + 1.53 + * src/glpdmx.c 1.54 + The following new API routines were added: 1.55 + glp_read_cnfsat - read CNF-SAT problem data in DIMACS format 1.56 + glp_check_cnfsat - check for CNF-SAT problem instance 1.57 + glp_write_cnfsat - write CNF-SAT problem data in DIMACS format 1.58 + 1.59 + * src/minisat/*.* 1.60 + MiniSat, a CNF-SAT solver, version 1.14.1, was ANSIfied and 1.61 + modified according to GLPK requirements and included in the 1.62 + distribution as an external software module. 1.63 + 1.64 + For details see minisat/README and minisat/LICENSE. 1.65 + 1.66 + * src/glpapi19.c 1.67 + The API routine glp_minisat1, which is a driver to the MiniSat 1.68 + solver, was included in the package. 1.69 + 1.70 + * doc/satcnf.* 1.71 + The document "CNF Satisfiability Problem" was included in the 1.72 + package. It is a supplement to the GLPK Reference Manual. 1.73 + 1.74 + * src/glpapi20.c 1.75 + New glpsol options (--cnf, --wcnf, and --minisat) was added. 1.76 + 1.77 + * glpsql.c 1.78 + Some bugs were fixed. Thanks to Xypron <xypron.glpk@gmx.de>. 1.79 + 1.80 +Sun Dec 05 12:00:00 2010 Andrew Makhorin <mao@gnu.org> 1.81 + 1.82 + * GLPK 4.45 (30:0:30) has been released 1.83 + 1.84 + * glplpx01.c 1.85 + A bug (it_cnt) in routine reset_parms was fixed. 1.86 + Thanks to Ali Baharev <ali.baharev@gmail.com> for report. 1.87 + 1.88 + * glpmpl03.c 1.89 + A bug (print "text\") was fixed. 1.90 + Thanks to Xypron <xypron.glpk@gmx.de> for report. 1.91 + 1.92 + * glpsql.c 1.93 + A precision bug was fixed. 1.94 + Thanks to Xypron <xypron.glpk@gmx.de>. 1.95 + 1.96 + * glpk.tex 1.97 + Some typos were corrected. 1.98 + Thanks to Robbie Morrison <robbie@actrix.co.nz>. 1.99 + 1.100 +Thu Jun 03 12:00:00 2010 Andrew Makhorin <mao@gnu.org> 1.101 + 1.102 + * GLPK 4.44 (29:0:29) has been released 1.103 + 1.104 + * glpapi14.c glpmpl.h glpmpl01.c glpmpl03.c glpmpl04.c 1.105 + Implemented suffixes for variables and constraints. 1.106 + 1.107 + * glpmpl06.c 1.108 + Made changes to allow comment records in CSV files. 1.109 + 1.110 + * glpapi17.c 1.111 + Added and documented new API routine glp_cpp to solve Critical 1.112 + Path Problem. 1.113 + 1.114 +Sat Feb 20 12:00:00 2010 Andrew Makhorin <mao@gnu.org> 1.115 + 1.116 + * GLPK 4.43 (28:0:28) has been released 1.117 + 1.118 + * glplib.h, glplib.c, glpenv.h, glpenv.c 1.119 + The module glpenv was split into two modules glpenv and glplib. 1.120 + 1.121 + * glpenv01.c, glpenv03.c, glpenv04.c, glpenv06.c 1.122 + The following new API routines were added and documented: 1.123 + glp_init_env, glp_free_env, glp_open_tee, glp_close_tee, 1.124 + glp_error (macro), glp_difftime. 1.125 + 1.126 + * glpapi16.c 1.127 + New API routine glp_top_sort (topological sorting of ayclic 1.128 + digraph) was added and documented. 1.129 + 1.130 + * glpapi17.c 1.131 + A serious bug was fixed in the routine glp_asn_prob_hall. 1.132 + 1.133 + * glpnpp05.c 1.134 + A bug was fixed in the LP/MIP preprocessor (hidden covering 1.135 + inequalities). 1.136 + 1.137 + * glpsql.c 1.138 + Some improvements were made in the table driver (NULL data). 1.139 + Thanks to Xypron <xypron.glpk@gmx.de> for contribution. 1.140 + 1.141 + * configure.ac 1.142 + Changes were made to use .dylib rather than .so under Mac OS. 1.143 + Thanks to Noli Sicad <nsicad@gmail.com> for testing 1.144 + 1.145 +Wed Jan 13 12:00:00 2010 Andrew Makhorin <mao@gnu.org> 1.146 + 1.147 + * GLPK 4.42 (27:0:27) has been released 1.148 + 1.149 + * glpapi01.c, glpapi11.c, glpapi12.c, glpdmx.c 1.150 + The following new API routines were added and documented: 1.151 + glp_check_dup (check for duplicate elements in sparse matrix); 1.152 + glp_sort_matrix (sort elements of the constraint matrix); 1.153 + glp_read_prob (read problem data in GLPK format); 1.154 + glp_write_prob (write problem data in GLPK format); 1.155 + glp_analyze_bound (analyze active bound of non-basic variable); 1.156 + glp_analyze_coef (analyze obj. coefficient at basic variable); 1.157 + glp_print_ranges (print sensitivity analysis report; replaces 1.158 + lpx_print_sens_bnds). 1.159 + 1.160 + * glpapi20.c 1.161 + New command-line options were added to glpsol: 1.162 + --glp (read problem data in GLPK format); 1.163 + --wglp (write problem data in GLPK format); 1.164 + --lp (replaces --cpxlp); 1.165 + --wlp (replaces --wcpxlp); 1.166 + --ranges (print sensitivity analysis report). 1.167 + 1.168 + * glpapi06.c 1.169 + In the routine glp_init_smcp default value of the parameter 1.170 + out_frq was changed to 500 (it was 200). 1.171 + 1.172 + * glpipp.h, glpipp01.c, glpipp02.c 1.173 + The old MIP preprocessor module was removed. 1.174 + 1.175 + * glpapi09.c 1.176 + Now the MIP solver uses the new MIP preprocessor (NPP). 1.177 + 1.178 + * glplpx03.c 1.179 + lpx_write_opb was disabled due to replacing IPP with NPP. 1.180 + 1.181 + * glpnet09.c 1.182 + Kellerman's heuristic to cover edges by cliques was added. 1.183 + 1.184 + * glplib08.c 1.185 + Recognition of special filenames "/dev/stdin", "/dev/stdout", 1.186 + and "/dev/stderr" was added. 1.187 + 1.188 + * glpk.tex 1.189 + Chapter "Graph and network routines" was carried out from the 1.190 + reference manual as a separate document. 1.191 + 1.192 +Mon Dec 21 12:00:00 2009 Andrew Makhorin <mao@gnu.org> 1.193 + 1.194 + * GLPK 4.41 (26:0:26) has been released 1.195 + 1.196 + * glpapi12.c 1.197 + The following new API routines were added: 1.198 + glp_transform_row (replaces lpx_transform_row); 1.199 + glp_transform_col (replaces lpx_transform_col); 1.200 + glp_prim_rtest (replaces lpx_prim_ratio_test); 1.201 + glp_dual_rtest (replaces lpx_dual_ratio_test). 1.202 + Note that values returned by glp_prim_rtest and glp_dual_rtest 1.203 + differ from the ones retutned by the deprecated routines. 1.204 + 1.205 + * glpnpp*.* 1.206 + The LP/MIP preprocessor was essentially re-implemented. 1.207 + 1.208 + * glpios03.c 1.209 + The feature to remove inactive cuts from the active subproblem 1.210 + was implemented. 1.211 + 1.212 + * glpios11.c 1.213 + The feature processing cuts stored in the cut pool was improved 1.214 + (now it uses estimation of objective degradation). 1.215 + 1.216 + * glpscg.* 1.217 + Obsolete implemetation of the conflict graph was removed. 1.218 + 1.219 + * glpmpl.h, glpmpl03.c, glpmpl04.c 1.220 + FILE was replaced by XFILE to allow using GLPK I/O routines. 1.221 + 1.222 + * glpsql.c, examples/sql, doc/tables.tex 1.223 + The SQL table driver was changed to allow multiple arguments 1.224 + separated by semicolon in SQL statements. Thanks to Xypron 1.225 + <xypron.glpk@gmx.de>. 1.226 + 1.227 + * glpk.h, glpapi14.c 1.228 + New API routine glp_time was added (not documented yet). 1.229 + 1.230 + * glpapi20.c 1.231 + Two new options were added to glpsol: --seed value (initialize 1.232 + pseudo-random number generator used in MathProg model with 1.233 + specified seed value), and --ini filename (use as initial basis 1.234 + previously saved with -w option). 1.235 + 1.236 + * examples/xyacfs.mod 1.237 + Thanks to Nigel Galloway <nigel_galloway@operamail.com> for 1.238 + contribution. 1.239 + 1.240 + * examples/dbf/*.* 1.241 + Thanks to Noli Sicad <nsicad@gmail.com> for contribution. 1.242 + 1.243 + * w32/*.*, w64/*.* 1.244 + Scripts to build GLPK with Microsoft Visual Studio 2010 were 1.245 + added. Thanks to Xypron <xypron.glpk@gmx.de> for contribution 1.246 + and testing. 1.247 + 1.248 +Tue Nov 03 12:00:00 2009 Andrew Makhorin <mao@gnu.org> 1.249 + 1.250 + * GLPK 4.40 (25:0:25) has been released 1.251 + 1.252 + * glpdmx.c 1.253 + Two new API routines were added: 1.254 + glp_read_ccdata (read graph in DIMACS clique/coloring format); 1.255 + glp_write_ccdata (write graph in DIMACS clique/coloring format). 1.256 + Also an example file examples/sample.col was added. 1.257 + 1.258 + * glpapi19.c, glpnet08.c 1.259 + New API routine glp_wclique_exact was added. It is intended to 1.260 + find a maximum weight clique with the exact algorithm developed 1.261 + by Prof. P. Ostergard. 1.262 + 1.263 + * glpnpp02.c 1.264 + A bug was fixed in the LP preprocessor (routine npp_empty_col). 1.265 + Thanks to Stefan Vigerske <stefan@math.hu-berlin.de> for the 1.266 + bug report. 1.267 + 1.268 + * glpios10.c 1.269 + A bug was fixed and some improvements were made in the FPUMP 1.270 + heuristic module. Thanks to Xypron <xypron.glpk@gmx.de>. 1.271 + 1.272 + * glpapi12.c 1.273 + A bug was fixed in the API routine glp_warm_up (dual 1.274 + feasibility test was incorrect in maximization case). Thanks to 1.275 + Uday Venkatadri <Uday.Venkatadri@dal.ca> for the bug report. 1.276 + 1.277 + * glpapi16.c 1.278 + Two new API routines were added: 1.279 + glp_del_vertices (remove vertices from graph); 1.280 + glp_del_arc (remove arc from graph). 1.281 + 1.282 + * glpios09.c 1.283 + The hybrid pseudocost branching heuristic was included in the 1.284 + MIP solver. It is available on API level (iocp.br_tech should 1.285 + be set to GLP_BR_PCH) and in the stand-alone solver glpsol 1.286 + (via the command-line option --pcost). This heuristic may be 1.287 + useful on solving hard MIP instances. 1.288 + 1.289 + * glpios03.c 1.290 + The branching heuristic by Driebeck and Tomlin (used in the 1.291 + MIP solver by default) was changed to switch to branching on 1.292 + most fractional variable if an lower bound of degradation of 1.293 + the objective is close to zero for all branching candidates. 1.294 + 1.295 +Sun Jul 26 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> 1.296 + 1.297 + * GLPK 4.39 (24:0:24) has been released 1.298 + 1.299 + * glpsdf.c 1.300 + New API routines to read plain data files were added. 1.301 + 1.302 + * glpcpx.h, glpini.h, glpscl.h 1.303 + These headers were removed. 1.304 + 1.305 + * glpcpx.c 1.306 + API routines glp_read_lp and glp_write_lp to read/write files 1.307 + in CPLEX LP format were re-implemented. Now glp_write_lp 1.308 + correctly writes double-bounded (ranged) rows by introducing 1.309 + slack variables rather than by duplicating the rows. The data 1.310 + structure glp_cpxcp and routine glp_init_cpxcp were added. 1.311 + 1.312 + * amd/* 1.313 + The 'xfree(NULL)' bug was fixed in the AMD routines. Thanks to 1.314 + Niels Klitgord <niels@bu.edu> for the bug report. 1.315 + 1.316 + * glpapi16.c 1.317 + New API routines glp_set_vertex_name, glp_create_v_index, 1.318 + glp_find_vertex, and glp_delete_v_index were added. 1.319 + 1.320 + * glpdmx.c 1.321 + New API routines glp_read_asnprob, glp_write_asnprob, 1.322 + glp_read_ccformat, and glp_write_ccformat were added (the two 1.323 + latter routines are not documented yet). 1.324 + 1.325 + * glpapi18.c 1.326 + New API routines glp_check_asnprob, glp_asnprob_lp, 1.327 + glp_asnprob_okalg, and glp_asnprob_hall were added. 1.328 + 1.329 + * glpini01.c, glpini02.c 1.330 + The message "Crashing..." was changed to "Constructing initial 1.331 + basis..." due to suggestion by Thomas Kahle <tom111@gmx.de>. 1.332 + 1.333 + * glpapi14.c 1.334 + New API routines glp_printf, glp_vprintf, glp_malloc, 1.335 + glp_calloc, glp_free, and glp_assert were added. 1.336 + 1.337 + * glplpp.h, glplpp01.c, glplpp02.c 1.338 + Old LP presolver routines were removed. Now glp_simplex uses 1.339 + new preprocessing routines (see glpnpp). 1.340 + 1.341 + * glpapi12.c 1.342 + New API routine glp_warm_up was added; it replaces the routine 1.343 + lpx_warm_up. 1.344 + 1.345 +Sat May 02 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> 1.346 + 1.347 + * GLPK 4.38 (23:0:23) has been released 1.348 + 1.349 + * glpmps.c 1.350 + API routines to read/write MPS files were re-implemented. 1.351 + 1.352 + * glpspx02.c 1.353 + Some improvements were made in the dual simplex routine. 1.354 + 1.355 + * glpk.h 1.356 + New structure glp_iptcp was added. 1.357 + 1.358 + * glpnpp.h, glpnpp01.c, glpnpp02.c 1.359 + New LP/MIP preprocessor. Currently it includes only some basic 1.360 + routines and used only in the interior-point solver. 1.361 + 1.362 + * glpapi08.c 1.363 + API routine glp_interior was replaced by an improved version 1.364 + (new LP/MIP preprocessor, new ordering algorithms). 1.365 + 1.366 + New API routine glp_init_iptcp was added. 1.367 + 1.368 + API routine glp_ipt_status may return two new statuses due to 1.369 + changes in glp_interior. 1.370 + 1.371 + * glpsol.c 1.372 + New command-line options were added (ordering algorithm used in 1.373 + the interior-point solver). 1.374 + 1.375 + * amd/*.*, colamd/*.* 1.376 + Two external software modules AMD and COLAMD/SYMAMD used in the 1.377 + interior-point solver were included in the distribution. 1.378 + 1.379 + For details see amd/README and colamd/README. 1.380 + 1.381 + * glpnet03.c, glpnet04.c, glpnet05.c 1.382 + A minor bug was fixed (_G => G_). Thanks to Nelson H. F. Beebe 1.383 + <beebe@math.utah.edu> for bug report. 1.384 + 1.385 +Sun Mar 29 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> 1.386 + 1.387 + * GLPK 4.37 (22:0:22) has been released 1.388 + 1.389 + * glpk.h 1.390 + iocp.fp_heur was added to enable/disable fpump heuristic. 1.391 + 1.392 + * glpios10.c 1.393 + ios_feas_pump was added (feasibility pump heuristic). 1.394 + 1.395 + * glpsol.c 1.396 + --fpump command-line option was added. 1.397 + 1.398 + * glpsds.c 1.399 + Plain data set routines were added to facilitate reading plain 1.400 + data in application programs. Currently these routines are not 1.401 + in API, though declared in glpk.h. 1.402 + 1.403 + * glpapi08.c 1.404 + A bug was fixed in the internal routine restore. (Due to this 1.405 + bug dual solution components were computed incorrectly if the 1.406 + problem was scaled.) 1.407 + 1.408 + * glpapi10.c, glpapi11.c 1.409 + The following new API routines were added: 1.410 + glp_print_sol (replaces lpx_print_sol); 1.411 + glp_print_ipt (replaces lpx_print_ips); 1.412 + glp_print_mip (replaces lpx_print_mip); 1.413 + _glp_check_kkt (replaces lpx_check_kkt, lpx_check_int). 1.414 + Now the routine lpx_print_prob (deprecated) is equivalent to 1.415 + the routine glp_write_lp. 1.416 + 1.417 + * glpapi18.c, glpapi19.c 1.418 + The following new API routines were added: 1.419 + glp_read_graph (read graph from plain text file); 1.420 + glp_write_graph (write graph to plain text file); 1.421 + glp_weak_comp (find all weakly connected components); 1.422 + glp_strong_comp (find all strongly connected components). 1.423 + 1.424 + * configure.ac, Makefile.am 1.425 + Changes were made: (a) to allow using autoreconf/autoheader; 1.426 + (b) to allow building glpk in a directory other than its source 1.427 + directory. Thanks to Marco Atzeri <marco_atzeri@yahoo.it> for 1.428 + bug report. 1.429 + 1.430 + * examples/shiftcover.mod 1.431 + An example model in MathProg was added. 1.432 + Thanks to Larry D'Agostino <Larry.D'Agostino@gmacrescap.com> 1.433 + for contribution. 1.434 + 1.435 +Fri Feb 06 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> 1.436 + 1.437 + * GLPK 4.36 (21:0:21) has been released 1.438 + 1.439 + * glpnet06.c, glpnet07.c, glpapi19.c 1.440 + The following new API routines were added: 1.441 + glp_mincost_okalg find minimum-cost flow with out-of-kilter 1.442 + algorithm 1.443 + glp_maxflow_ffalg find maximal flow with Ford-Fulkerson 1.444 + algorithm 1.445 + 1.446 + * glpsol.c 1.447 + Two new command-line options were added: 1.448 + --mincost read min-cost flow data in DIMACS format 1.449 + --maxflow read maximum flow data in DIMACS format 1.450 + 1.451 + * doc/glpk.* 1.452 + New edition of the reference manual was included. 1.453 + 1.454 + * glpk.h 1.455 + Duplicate symbols were removed to allow using swig. 1.456 + Thanks to Kelly Westbrooks <kellywestbrooks@yahoo.com> and 1.457 + Nigel Galloway <nigel_galloway@operamail.com> for suggestion. 1.458 + 1.459 + * glpcpx.c 1.460 + A minor defect was fixed in the routine glp_write_lp. 1.461 + Thanks to Sebastien Briais <sbriais@free.fr> for bug report. 1.462 + 1.463 + * glpsql.c 1.464 + A minor bug was fixed. Thanks to Xypron <xypron.glpk@gmx.de> 1.465 + for patch. 1.466 + 1.467 + * examples/hashi.mod, examples/shikaku.mod 1.468 + Two example models in MathProg were added. Thanks to Sebastian 1.469 + Nowozin <nowozin@gmail.com> for contribution. 1.470 + 1.471 + * examples/qfit.mod, examples/yacfs.mod 1.472 + Two example models in MathProg were added. Thanks to Nigel 1.473 + Galloway <nigel_galloway@operamail.com> for contribution. 1.474 + 1.475 +Fri Jan 09 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> 1.476 + 1.477 + * GLPK 4.35 (20:0:20) has been released 1.478 + 1.479 + * glpk.h, glpapi.c, glpnet.c 1.480 + The following new API routines were added: 1.481 + glp_create_graph create graph 1.482 + glp_set_graph_name assign (change) graph name 1.483 + glp_add_vertices add new vertices to graph 1.484 + glp_add_arc add new arc to graph 1.485 + glp_erase_graph erase graph content 1.486 + glp_delete_graph delete graph 1.487 + glp_read_mincost read minimum cost flow problem data in 1.488 + DIMACS format 1.489 + glp_write_mincost write minimum cost flow problem data in 1.490 + DIMACS format 1.491 + glp_mincost_lp convert minimum cost flow problem to LP 1.492 + glp_netgen Klingman's network problem generator 1.493 + glp_gridgen grid-like network problem generator 1.494 + glp_read_maxflow read maximum flow problem data in DIMACS 1.495 + format 1.496 + glp_write_maxflow write maximum flow problem data in DIMACS 1.497 + format 1.498 + glp_maxflow_lp convert maximum flow problem to LP 1.499 + glp_rmfgen Goldfarb's maximum flow problem generator 1.500 + 1.501 + * doc/glpk.* 1.502 + New edition of the reference manual was included. 1.503 + 1.504 + * examples/sample.min, examples/sample.max 1.505 + Two example data files in DIMACS format were added. 1.506 + 1.507 + * glplib04.c 1.508 + The statement "if (c = '\n') fflush(stdout)" was added to the 1.509 + internal routine xputc to provide "real-time" terminal output. 1.510 + Thanks to Luiz Bettoni <bettoni@cpgei.ct.utfpr.edu.br> for 1.511 + suggestion. 1.512 + 1.513 + * glpmpl05.c 1.514 + A minor bug was fixed in the internal routine mpl_fn_time2str. 1.515 + Thanks to Stefan Vigerske <stefan@vigerske.de> for bug report. 1.516 + 1.517 + * w32/makefile, w64/makefile 1.518 + The flag -O2 (/O2) was added to some makefiles. 1.519 + 1.520 +Thu Dec 04 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> 1.521 + 1.522 + * GLPK 4.34 (19:0:19) has been released 1.523 + 1.524 + * src/glpios03.c 1.525 + A bug was fixed in the internal routine branch_on. Thanks to 1.526 + Nigel Galloway <nigel_galloway@operamail.com> for bug report. 1.527 + 1.528 + * src/glpmpl05.c 1.529 + Three new MathProg functions were included: 1.530 + gmtime obtaining current calendar time 1.531 + str2time converting character string to calendar time 1.532 + time2str converting calendar time to character string 1.533 + Thanks to Xypron <xypron.glpk@gmx.de>. 1.534 + 1.535 + * doc/glpk.*, doc/gmpl.* 1.536 + A new edition of the GLPK reference manual and GNU MathProg 1.537 + language description were included. 1.538 + 1.539 +Thu Oct 30 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> 1.540 + 1.541 + * GLPK 4.33 (18:0:18) has been released 1.542 + 1.543 + * glpapi*.* 1.544 + The following new API routines were added: 1.545 + glp_copy_prob copy problem object content 1.546 + glp_exact solve LP in exact arithmetic 1.547 + (makes lpx_exact deprecated) 1.548 + glp_get_unbnd_ray determine variable causing unboundedness 1.549 + (makes lpx_get_ray_info deprecated) 1.550 + glp_interior solve LP with interior-point method 1.551 + (makes lpx_interior deprecated) 1.552 + 1.553 + * glpapi*.* 1.554 + The following new API routines for processing models written in 1.555 + the GNU Mathprog language were added to the package: 1.556 + glp_mpl_alloc_wksp allocate the translator workspace 1.557 + glp_mpl_read_model read and translate model section 1.558 + glp_mpl_read_data read and translate data section 1.559 + glp_mpl_generate generate the model 1.560 + glp_mpl_build_prob build LP/MIP instance from the model 1.561 + glp_mpl_postsolve postsolve the model 1.562 + glp_mpl_free_wksp deallocate the translator workspace 1.563 + (These routines make lpx_read_model deprecated.) 1.564 + 1.565 + * src/glpapi17.c, examples/glpsol.c 1.566 + The stand-alone solver glpsol was re-implemented with new API 1.567 + routines. 1.568 + 1.569 + * src/glpsql.c 1.570 + Some bugs were fixed in the SQL table driver. Thanks to Xypron 1.571 + <xypron.glpk@gmx.de>. 1.572 + 1.573 + * examples/cplex/*.* 1.574 + A crude implementation of CPLEX-like interface to GLPK API was 1.575 + added to the package. See examples/cplex/README. 1.576 + 1.577 +Fri Oct 03 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> 1.578 + 1.579 + * GLPK 4.32 (17:0:17) has been released 1.580 + 1.581 + * glpmpl01.c 1.582 + A bug was fixed. Due to this bug iterated expressions having 1.583 + an indexing expression whose dummy indices are bound to some 1.584 + values, i.e. like sum{(i+1,j,k-1) in E} x[i,j,k] are evaluated 1.585 + incorrectly. Namely, current value of such expressions is not 1.586 + invalidated when corresponding dummy indices (like i and k in 1.587 + the example above) are changed, that erroneously results in the 1.588 + same value evaluated for the first time. 1.589 + 1.590 + * glpios03.c 1.591 + Euclidean reduction of the local objective bound was added in 1.592 + the routine glpios03.c. 1.593 + 1.594 + * glpapi11.c 1.595 + The following new branch-and-cut API routines were added: 1.596 + glp_ios_row_attr determine additional row attributes; 1.597 + glp_ios_pool_size determine current size of the cut pool; 1.598 + glp_ios_add_row add constraint to the cut pool; 1.599 + glp_ios_del_row delete constraint from the cut pool; 1.600 + glp_ios_clear_pool delete all constraints from the cut pool. 1.601 + 1.602 + * glpapi08.c 1.603 + The following new features were included in the branch-and-cut 1.604 + solver (the API routine glp_intopt): 1.605 + MIP presolver; 1.606 + mixed cover cut generator; 1.607 + clique cut generator. 1.608 + Due to the MIP presolver glp_intopt may additionally return 1.609 + GLP_ENOPFS and GLP_ENODFS, if primal or dual infeasibility of 1.610 + LP relaxation is detected by the presolver. Also the return 1.611 + code GLP_EMIPGAP was introduced to correctly indicate that the 1.612 + mip gap tolerance is reached. 1.613 + 1.614 + * glplpx01.c 1.615 + Now the obsolete API routines lpx_integer and lpx_intopt are 1.616 + completely superseded by the API routine glp_intopt that makes 1.617 + them deprecated. 1.618 + 1.619 + * glpmpl05.c 1.620 + Now the table driver name "iODBC" can be specified as "ODBC". 1.621 + 1.622 + * glpmpl03.c 1.623 + A bug fixed in the routine free_dca. 1.624 + Thanks to Xypron <xypron.glpk@gmx.de>. 1.625 + 1.626 + * glpsql.c 1.627 + A bug was fixed in the SQL table driver. 1.628 + Thanks to Xypron <xypron.glpk@gmx.de>. 1.629 + 1.630 + * examples/glpsol.c 1.631 + Changes were made to allow multiple MathProg data files. 1.632 + 1.633 + * doc/glpk.* 1.634 + A new edition of the GLPK reference manual was included. 1.635 + 1.636 + * doc/tables.* 1.637 + A new edition of the supplement "Using data tables in the GNU 1.638 + MathProg language" was included. 1.639 + 1.640 +Tue Sep 02 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> 1.641 + 1.642 + * GLPK 4.31 (16:0:16) has been released 1.643 + 1.644 + * glpspx.h, glpspx01.c, glpspx02.c, glpapi06.c 1.645 + The dual simplex solver (spx_dual_opt) was replaced by a new 1.646 + implementation of the two-phase dual simplex method (spx_dual). 1.647 + Old simplex method routines (spx_prim_opt, spx_prim_feas, and 1.648 + spx_dual_opt) were removed from the package. 1.649 + 1.650 + * glpk.h, glpscl.h, glpscl.c, glpapi04.c 1.651 + New API routine glp_scale_prob was added. It replaces routine 1.652 + lpx_scale_prob which is deprecated. 1.653 + 1.654 + * glpk.h, glpini.h, glpini01.c, glpini02.c, glpapi05.c 1.655 + New API routines glp_std_basis, glp_adv_basis, glp_cpx_basis 1.656 + were added. They replace routines lpx_std_basis, lpx_adv_basis, 1.657 + lpx_cpx_basis which are deprecated. 1.658 + 1.659 + * glpdmp.c 1.660 + 8-byte data alignment was added to the module (sufficient for 1.661 + both ILP32 and LP64 environments). 1.662 + 1.663 + * glplib07.c 1.664 + 16-byte data alignment was added to the module to provide 1.665 + compatibility with LP64 environment (8-byte is not sufficient 1.666 + due to jmp_buf; thanks to Xypron for investigation). 1.667 + 1.668 + * glplpx16.c 1.669 + New version of the routine lpx_write_pb was added. Thanks to 1.670 + Oscar Gustafsson <oscarg@isy.liu.se> for the contribution. 1.671 + 1.672 + * w32/VC9, w64/VC9 1.673 + Makefiles and batch files were added to build GLPK under 32- 1.674 + and 64-bit Windows with Microsoft Visual Studio Express 2008. 1.675 + Thanks to Heinrich Schuchardt <heinrich.schuchardt@gmx.de> for 1.676 + the contribution and testing. 1.677 + 1.678 + * w32/DM, w32/OWC 1.679 + Makefiles and batch files were added to build GLPK with Digital 1.680 + Mars C/C++ 8.50 and Open Watcom C/C++ 1.6 (32-bit Windows). 1.681 + 1.682 +Wed Aug 13 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> 1.683 + 1.684 + * GLPK 4.30 (15:0:15) has been released 1.685 + 1.686 + * glpspx.h, glpspx03.c, glpapi06.c 1.687 + The primal simplex solver (spx_prim_opt, spx_prim_feas) was 1.688 + replaced by a new implementation (spx_primal), which currently 1.689 + provides the same features as the old version. 1.690 + 1.691 + * glpmpl01.c, glpmpl03.c 1.692 + Some changes were made in the MathProg translator to allow <, 1.693 + <=, >=, and > on comparing symbolic values. Thanks to Heinrich 1.694 + Schuchardt <heinrich.schuchardt@gmx.de> for patches. 1.695 + 1.696 + * glplpx10.c 1.697 + Internal routine set_d_eps in the exact LP solver was changed 1.698 + to prevent approximation errors in case of integral data. 1.699 + Thanks to Markus Pilz <pilz@cs.uni-bonn.de> for bug report. 1.700 + 1.701 +XXX XXX XX 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> 1.702 + 1.703 + * GLPK 4.29 (14:0:14) has been released 1.704 + 1.705 + * configure.ac 1.706 + The configure script was changed to disable optional features 1.707 + by default. For details see file INSTALL. 1.708 + 1.709 + * glpipp02.c 1.710 + A bug was fixed in the internal routine reduce_bounds. Thanks 1.711 + to Anne-Laurence Putz <anne-laurence.putz@eurodecision.com> for 1.712 + the bug report. 1.713 + 1.714 + * glpapi01.c 1.715 + New API routine glp_erase_prob was added. 1.716 + 1.717 + * glpapi13.c 1.718 + New API routines glp_read_mps and glp_write_mps were added. 1.719 + They replace API routines lpx_read_mps, lpx_read_freemps, 1.720 + lpx_write_mps, and lpx_write_freemps, which are deprecated. 1.721 + 1.722 + * glpapi14.c 1.723 + New API routines glp_read_lp and glp_write_lp were added. They 1.724 + replace API routines lpx_read_cpxlp and lpx_write_cpxlp, which 1.725 + are deprecated. 1.726 + 1.727 + * glpsql.c 1.728 + Minor bug was fixed. Thanks to Xypron <xypron.glpk@gmx.de> for 1.729 + the bug report. 1.730 + 1.731 +Tue Mar 25 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> 1.732 + 1.733 + * GLPK 4.28 (13:0:13) has been released 1.734 + 1.735 + * glplib.h, glplib.c 1.736 + Three wrapper routines xdlopen, xdlsym, and xdlclose, which 1.737 + provide the shared library support, were added. A particular 1.738 + version of these routines depends on the option --enable-dl 1.739 + passed to the configure script (see file INSTALL for details). 1.740 + Thanks to Rafael Laboissiere <rafael@debian.org> for useful 1.741 + advices concerning the shared library support. 1.742 + 1.743 + * glpsql.c 1.744 + A static linking to iODBC and MySQL libraries used in the 1.745 + MathProg table drivers was replaced by a dynamic linking to 1.746 + corresponding shared libraries. 1.747 + Many thanks to Heinrich Schuchardt <heinrich.schuchardt@gmx.de> 1.748 + for the contribution and to Vijay Patil <vijay.patil@gmail.com> 1.749 + for testing this feature under Windows XP. 1.750 + 1.751 + * glpgmp.h, glpgmp.c 1.752 + A bug (which appeared only on 64-bit platforms) was fixed. 1.753 + Thanks to Axel Simon <Axel.Simon@ens.fr> for the bug report. 1.754 + 1.755 + * glpapi.c 1.756 + A bug was fixed in the api routine glp_add_cols. (If the basis 1.757 + is valid, adding column keeps it valid, however, col->bind was 1.758 + set to -1 rather to 0.) 1.759 + Thanks to Cedric[FR] <fox2113@wanadoo.fr> for the bug report. 1.760 + 1.761 + * glplib.c 1.762 + 64-bit unsigned int type glp_ulong and corresponding routines 1.763 + were replaced by 64-bit signed int type xlong_t. 1.764 + 1.765 + * glpk.h, glpapi.c 1.766 + The type glp_ulong was replaced by glp_long. This affects only 1.767 + the api routine glp_mem_usage. 1.768 + 1.769 + * glplib.c 1.770 + Compressed data file support was added. This feature requires 1.771 + the zlib data compression libraries and allows compressing and 1.772 + decompressing .gz files "on the fly". 1.773 + 1.774 + * glpcli.h, glpcli.c 1.775 + Command-line interface routines were added. (This feature is 1.776 + incomplete so far.) 1.777 + 1.778 +Sun Mar 02 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> 1.779 + 1.780 + * GLPK 4.27 (12:0:12) has been released 1.781 + 1.782 + * glpsql.h, glpsql.c 1.783 + Two MathProg table drivers for iODBC and MySQL contributed by 1.784 + Heinrich Schuchardt <heinrich.schuchardt@gmx.de> were added to 1.785 + the package. 1.786 + 1.787 + * glpmpl05.c 1.788 + Mathprog table driver for xBASE was added to the package. 1.789 + 1.790 + * glpmpl03.c 1.791 + A minor was fixed in the MathProg translator (if some field 1.792 + specified in the table statement is missing in corresponding 1.793 + input table, the bug causes abnormal termination). Thanks to 1.794 + Heinrich Schuchardt <heinrich.schuchardt@gmx.de> for the bug 1.795 + report. 1.796 + 1.797 + * glpmpl.h, glpmpl.c 1.798 + STRING data type was replaced by plain character strings. 1.799 + 1.800 +Sun Feb 17 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> 1.801 + 1.802 + * GLPK 4.26 (11:0:11) has been released 1.803 + 1.804 + * glpmpl.h, glpmpl01.c, glpmpl03.c, glpmpl05.c 1.805 + The table statement was implemented. Description of this new 1.806 + feature is given in file doc/tables.txt. 1.807 + 1.808 + * glpios03.c 1.809 + A bug causing zero divide error on computing euclidean norm of 1.810 + the cut coefficient vector was fixed. 1.811 + 1.812 +Wed Dec 19 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.813 + 1.814 + * GLPK 4.25 (10:0:10) has been released 1.815 + 1.816 + * glpapi10.c 1.817 + Routines lpx_eval_tab_row and lpx_eval_tab_col were replaced by 1.818 + glp_eval_tab_row and glp_eval_tab_col. 1.819 + 1.820 + * glpios03.c, glpios05.c 1.821 + Gomory's mixed integer cuts were implemented. 1.822 + 1.823 + * glpscs.h, glpscs.c 1.824 + Segmented character string routines are no longer used and were 1.825 + removed from the package. 1.826 + 1.827 +Wed Nov 21 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.828 + 1.829 + * GLPK 4.24 (9:0:9) has been released 1.830 + 1.831 + * src/glplpx16.c 1.832 + A bug was fixed in the routine lpx_write_cpxlp. If a variable 1.833 + x has upper bound and no lower bound, it should appear in the 1.834 + bounds section as "-inf <= x <= u", not as "x <= u". Thanks to 1.835 + Enric Rodriguez <erodri@lsi.upc.edu> for the bug report. 1.836 + 1.837 + * src/glpios03.c, src/glpios04.c, src/glpios05.c 1.838 + MIR (mixed integer rounding) cuts were implemented. 1.839 + 1.840 +Sun Oct 28 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.841 + 1.842 + * GLPK 4.23 (8:0:8) has been released 1.843 + 1.844 + * src/glplib05.c, configure.ac 1.845 + Check for vsnprintf was added. 1.846 + 1.847 + * include/glppds.h, src/glppds.c 1.848 + A module to scan plain data was added. 1.849 + 1.850 + * src/glpapi09.c 1.851 + The following new API routines were added: 1.852 + glp_read_sol read basic solution from text file; 1.853 + glp_write_sol write basic solution to text file; 1.854 + glp_read_ipt read interior-point solution from text file; 1.855 + glp_write_ipt write interior-point solution to text file; 1.856 + glp_read_mip read MIP solution from text file; 1.857 + glp_write_mip write MIP solution to text file. 1.858 + 1.859 + * src/glpapi12.c 1.860 + Advanced API routine glp_free_env was added. 1.861 + 1.862 + * examples/glpsol.c 1.863 + The following three command-line options were added: 1.864 + --mipgap tol set relative MIP gap tolerance 1.865 + -r filename read solution from filename 1.866 + -w filename write solution to filename 1.867 + 1.868 +Wed Sep 19 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.869 + 1.870 + * GLPK 4.22 (7:0:7) has been released 1.871 + 1.872 + * src/glpios02.c 1.873 + A bug was fixed in the MIP preprocessor (ios_preprocess_node). 1.874 + Thanks to Roberto Bagnara <bagnara@cs.unipr.it> (Department of 1.875 + Mathematics, University of Parma, Italy) for the bug report. 1.876 + 1.877 + * src/glpios02.c 1.878 + A bug was fixed in the MIP preprocessor (col_implied_bounds), 1.879 + due to which constraint coefficients with small magnitude could 1.880 + lead to wrong implied bounds of structural variables. 1.881 + 1.882 + * src/glpipp02.c 1.883 + A similar bug was fixed in the routine reduce_bounds. 1.884 + 1.885 + * src/glpapi01.c 1.886 + A bug was fixed in the routines glp_set_mat_row and 1.887 + glp_set_mat_col. (The bug appeared due to incorrect removing 1.888 + zero elements from the row/column lists.) 1.889 + 1.890 + * src/glplpx14.c 1.891 + A bug was fixed in the API routines lpx_read_mps and 1.892 + lpx_read_freemps, due to which bounds of type LI specified in 1.893 + BOUNDS section were incorrectly processed. 1.894 + 1.895 + * src/glplib05.c 1.896 + A call to standard function vsprintf was replaced by a call to 1.897 + vsnprintf for security reasons. Many thanks to Peter T. Breuer 1.898 + <ptb@inv.it.uc3m.es> and Rafael Laboissiere <rafael@debian.org>. 1.899 + 1.900 +Tue Aug 28 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.901 + 1.902 + * GLPK 4.21 (6:0:6) has been released 1.903 + 1.904 + * glpscg.h, glpscg.c 1.905 + Routines to maintain sparse cliqued graph were added. 1.906 + 1.907 + * glpios02.c 1.908 + MIP preprocessing routines were added. 1.909 + 1.910 + * glpk.h, glpios.h, glpios03.c 1.911 + New reasons for calling the callback routine were introduced 1.912 + in the MIP solver. 1.913 + 1.914 + * glpapi08.c 1.915 + Default backtracking strategy was changed to best local bound. 1.916 + 1.917 + * glpapi11.c 1.918 + New API routine glp_term_out to enable/disable terminal output 1.919 + was added. 1.920 + 1.921 + * glprng.h, glprng02.c 1.922 + Two routines to generate uniformly distributed pseudo-random 1.923 + floating-point numbers were added. 1.924 + 1.925 +Thu Jul 26 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.926 + 1.927 + * GLPK 4.20 (5:0:5) has been released 1.928 + 1.929 + * glpk.h, glpapi08.c 1.930 + The routine lpx_integer was replaced by an equivalent routine 1.931 + glp_intopt. Also new API routine glp_init_iocp was added. 1.932 + 1.933 + * glpiet.h, glpiet.c 1.934 + Routines implementing the implicit enumeration tree are 1.935 + no longer used and therefore were removed from the package. 1.936 + 1.937 + * glpios.h, glpios01.c, glpios02, glpios03 1.938 + Routines implementing the integer optimization suite being 1.939 + replaced by a new version were removed from the package. 1.940 + 1.941 + * glpmip.h, glpmip01.c, glpmip02.c 1.942 + 1.943 + Routines implementing the B&B method being replaced by a new 1.944 + version were removed from the package. 1.945 + 1.946 + * glpios.h, glpios01.c, glpios02.c 1.947 + 1.948 + Routines implementing a new version of the integer optimization 1.949 + suite (IOS) based on the B&B method were added to the package. 1.950 + 1.951 + * glpk.h, glpapi10.c 1.952 + Branch-and-bound interface routines were added to the package. 1.953 + 1.954 + * examples/tspsol.c 1.955 + The TSP solver based on old version of the integer optimization 1.956 + suite is no more supported and was removed from the package. 1.957 + 1.958 + * glpipp02.c 1.959 + An error in the routine reduce_bounds was fixed; thanks to 1.960 + Graham Rockwell <bionomicron@gmail.com> for the bug report. 1.961 + 1.962 + * glpk.latex 1.963 + A new edition of the reference manual was included. 1.964 + 1.965 +Thu Jul 05 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.966 + 1.967 + * GLPK 4.19 (4:0:4) has been released 1.968 + 1.969 + The principal change is upgrading to GPLv3. 1.970 + 1.971 + * glpapi01.c 1.972 + A serious bug in the routine glp_del_cols was fixed; thanks to 1.973 + Cedric[FR] <fox2113@wanadoo.fr> for the bug report. The bug 1.974 + appeared because on deleting non-basic columns the basis header 1.975 + remained valid, however, contained invalid (old) column ordinal 1.976 + numbers. 1.977 + 1.978 + * glpapi10.c 1.979 + A new advanced API routine glp_mem_limit was added. 1.980 + 1.981 + * glplpx01.c 1.982 + The case GLP_EBOUND was added to the routine lpx_simplex. 1.983 + Thanks to Cameron Kellough <Cameron.Kellough@sri.com> for the 1.984 + bug report. 1.985 + 1.986 + * glplpx19.c 1.987 + An API routine lpx_write_pb to write the problem instance in 1.988 + OPB (pseudo boolean) format format was added. Thanks to Oscar 1.989 + Gustafsson <oscarg@isy.liu.se> for the contribution. 1.990 + 1.991 + * glpsol.c 1.992 + Two new options --wpb and --wnpb were added to glpsol to write 1.993 + the problem instance in OPB format. 1.994 + 1.995 +Mon Jun 25 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.996 + 1.997 + * GLPK 4.18 (3:0:3) has been released 1.998 + 1.999 + * glplib.h 1.1000 + Type names ulong_t and uldiv_t were changed to glp_ulong and 1.1001 + glp_uldiv to avoid conflicts with standard type names on some 1.1002 + platforms. Thanks to Boris Wirtz <Boris.Wirtz@uni-oldenburg.de> 1.1003 + for the bug report. 1.1004 + 1.1005 + * glpbfd.*, glpfhv.*, glplpf.* 1.1006 + LP basis factorization routines were made tidy. 1.1007 + 1.1008 + * glpk.h, glpapi04.c 1.1009 + The following API routines were added: 1.1010 + glp_set_rii, glp_set_sjj, glp_get_rii, glp_get_sjj. 1.1011 + 1.1012 + * glpk.h, glpapi06.c 1.1013 + The routine lpx_simplex was replaced by an equivalent routine 1.1014 + glp_simplex. Also new API routine glp_init_smcp was added. 1.1015 + 1.1016 + * glpk.h, glpapi09.c 1.1017 + The following advanced API routines were added: 1.1018 + glp_bf_exists, glp_factorize, glp_bf_updated, glp_get_bfcp, 1.1019 + glp_set_bfcp, glp_get_bhead, glp_get_row_bind, glp_get_col_bind, 1.1020 + glp_ftran, glp_btran. 1.1021 + 1.1022 + * glpk.latex 1.1023 + A new edition of the reference manual was included. 1.1024 + 1.1025 + * examples/dea.mod, examples/food.mod, examples/food2.mod 1.1026 + Three examples in the MathProg language were added. 1.1027 + Thanks to Sebastian Nowozin <nowozin@gmail.com>. 1.1028 + 1.1029 +Sat May 26 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1030 + 1.1031 + * GLPK 4.17 (2:0:2) has been released 1.1032 + 1.1033 + * glpdmp.h, glpdmp.c 1.1034 + Memory pool routines were replaced by a new version. 1.1035 + 1.1036 + * glpscs.h, glpscs.c 1.1037 + Segmented string routines were replaced by a new version. 1.1038 + 1.1039 + * glplpx08.c, glplpx09.c 1.1040 + Now the MIP problem may have no integer columns. 1.1041 + 1.1042 + * glpapi01.c 1.1043 + The routines glp_set_mat_row, glp_set_mat_col, and glp_load_mat 1.1044 + were modified to allow zero elements (which are not stored in 1.1045 + the constraint matrix). 1.1046 + 1.1047 + * glpscf.h, glpscf.c 1.1048 + Schur complement factorization routines were implemented. 1.1049 + 1.1050 + * glplpf.h, glplpf.c 1.1051 + LP basis factorization routines based on LU-factorization and 1.1052 + Schur complement were implemented. 1.1053 + 1.1054 + * glplpx02.c, glplpx03.c 1.1055 + New control parameter LPX_K_BFTYPE was introduced to choose the 1.1056 + basis factorization type used by the simplex method routines. 1.1057 + 1.1058 + * glpsol.c 1.1059 + Three new command-line options were added to choose the basis 1.1060 + factorization type used by the simplex method routines: --luf, 1.1061 + --cbg, and --cgr. 1.1062 + 1.1063 + * glpk.latex 1.1064 + A new edition of the reference manual was included. 1.1065 + 1.1066 +Sat May 05 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1067 + 1.1068 + * GLPK 4.16 (1:0:1) has been released 1.1069 + 1.1070 + * glpk.h, glpapi.c, glplpx01.c, glplpx02.c 1.1071 + Names of a number basic api routines were changed and now have 1.1072 + the prefix 'glp_'. To keep backward compatibility these routines 1.1073 + are also available via their old names prefixed with 'lpx_'. 1.1074 + 1.1075 + * glplpx19.c 1.1076 + Three new api routines were added: glp_version, glp_term_hook, 1.1077 + and glp_mem_usage. 1.1078 + 1.1079 + * glpk.latex, gmpl.texi 1.1080 + A new edition of the reference manuals was included. 1.1081 + 1.1082 + * lpglpk40.c 1.1083 + This example program is no longer supported and therefore was 1.1084 + removed from the package. 1.1085 + 1.1086 +Sun Feb 18 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1087 + 1.1088 + * GLPK 4.15 (0:0:0) has been released 1.1089 + 1.1090 + * configure.ac, Makefile.am 1.1091 + Autotools specification files were changed to use GNU Libtool 1.1092 + that allows building the static as well as shared GLPK library. 1.1093 + Thanks to Rafael Laboissiere <rafael@debian.org>. 1.1094 + 1.1095 +Mon Feb 05 08:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1096 + 1.1097 + * GLPK 4.14 has been released 1.1098 + Now GLPK conforms to ILP32, LLP64, and LP64 programming models 1.1099 + (the latter seems to be the ultimate choice regarding 64-bit 1.1100 + architectures). Note that GLPK itself is a 32-bit application, 1.1101 + and the conformity only means that the package works correctly 1.1102 + on all these arenae. Nevertheless, on 64-bit platforms it is 1.1103 + possible to use more than 4GB of memory, if necessary. 1.1104 + 1.1105 + * Makefile 1.1106 + Starting from this release only the header glpk.h is needed to 1.1107 + be installed. 1.1108 + 1.1109 + * glplib01.c 1.1110 + Two routines bigmul and bigdiv which performs multiplication 1.1111 + and division of unsigned integers of arbitrary precision were 1.1112 + added. 1.1113 + 1.1114 + * glplib02.c 1.1115 + A set of 64-bit arithmetic routines were added. 1.1116 + 1.1117 + * glplib04.c 1.1118 + Some low-level library routines were improved and renamed. 1.1119 + 1.1120 + * glpcfg.h 1.1121 + The macro GLP_TM_SPEC were introduced to specify a version of 1.1122 + the time routine depending on the host environment. 1.1123 + 1.1124 +Mon Nov 13 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1125 + 1.1126 + * GLPK 4.13 has been released 1.1127 + 1.1128 + * configure.in 1.1129 + '-lm' bug was fixed. 1.1130 + 1.1131 + * glpbfx.h, glpbfx.c 1.1132 + Basis factorization interface routines based on exact (bignum) 1.1133 + arithmetic were implemented. 1.1134 + 1.1135 + * glpssx.h, glpssx1.c, glpssx2.c 1.1136 + Simplex method routines based on exact (bignum) arithmetic were 1.1137 + implemented. 1.1138 + 1.1139 + * glplpx6e.c 1.1140 + The routine lpx_exact, which is an easy-to-use driver to the 1.1141 + exact simplex method, was added. 1.1142 + 1.1143 + * glpsol.c 1.1144 + Two command-line options were added: '--exact' and '--xcheck'. 1.1145 + 1.1146 +Wed Nov 08 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1147 + 1.1148 + * GLPK 4.12 has been released 1.1149 + 1.1150 + * glpcfg.h 1.1151 + The package configuration file was added. 1.1152 + 1.1153 + * glplib2.c 1.1154 + Alternative version of the routines umalloc, ucalloc, and ufree 1.1155 + was provided. It does not limit the amount of allocated memory 1.1156 + to INT_MAX bytes and therefore can be used on platforms where 1.1157 + sizeof(void *) > sizeof(int). To enable this version one should 1.1158 + define the preprocessor variable GLP_HUGE_MEM. 1.1159 + 1.1160 + * glprng.c 1.1161 + The routine rng_create_rand was changed to initialize the 1.1162 + generator using seed = 1, not 0, to conform ISO C requirements. 1.1163 + 1.1164 + * glpgmp.h, glpgmp.c 1.1165 + A set of bignum arithmetic routines implementing operations on 1.1166 + integers and rationals was added. These routines are compatible 1.1167 + with the GNU MP library. 1.1168 + 1.1169 + NOTE: To attain a much better performance it is recommended to 1.1170 + use, if possible, the original GNU MP library rather than the 1.1171 + GLPK version, by defining the preprocessor variable GLP_USE_GMP. 1.1172 + 1.1173 + * glplux.h, glplux.c 1.1174 + A tentative implementation of sparse LU-factorization based on 1.1175 + exact (bignum) arithmetic was added. 1.1176 + 1.1177 + * glpssx.h, glpssx.c 1.1178 + A tentative implementation of some simplex method routines based 1.1179 + on exact (bignum) arithmetic was added. 1.1180 + 1.1181 + * glplpx6f.c 1.1182 + A preliminary implementation of the routine lpx_exact_check was 1.1183 + added. This routine checks the current basis for primal and dual 1.1184 + feasibility using exact (bignum) arithmetic. 1.1185 + 1.1186 + * examples/glpsol.c 1.1187 + The command-line option '--xcheck' was introduced to check the 1.1188 + current basis for feasibility using exact (bignum) arithmetic. 1.1189 + 1.1190 +Tue Jul 25 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1191 + 1.1192 + * GLPK 4.11 has been released. 1.1193 + 1.1194 + * include/glpbfi.h, src/glpbfi.c 1.1195 + Basis factorization interface routines were added. 1.1196 + 1.1197 + * include/glpluf.h, src/glpluf1.c 1.1198 + Hypersparse solution routines were added. 1.1199 + 1.1200 + * include/glpinv.h, src/glpinv1.c 1.1201 + Hypersparse solution routines (fake version) were added. 1.1202 + 1.1203 + * include/glpmpl.h, src/glpmpl.c 1.1204 + Built-in functions card, length, and substr were implemented. 1.1205 + Output redirection in the printf statement was implemented. 1.1206 + 1.1207 + * examples/graph.mod, examples/crypto.mod 1.1208 + Two example models illustrating new features of the modeling 1.1209 + language were included. 1.1210 + 1.1211 +Thu May 11 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1212 + 1.1213 + * GLPK 4.10 has been released. 1.1214 + 1.1215 + * src/glplpx8a.c 1.1216 + A fragment was added to the routines lpx_read_mps and 1.1217 + lpx_read_freemps to accept LI bound type (it is similar to LO, 1.1218 + however, additionally marks the column as integer). 1.1219 + 1.1220 + * include/glpbfi.h, src/glpbfi.c 1.1221 + The module glpbfi which implements the basis factorization 1.1222 + interface (BFI) was added. 1.1223 + 1.1224 + * src/glplpx7a.c 1.1225 + The routine lpx_cover_cut to generate mixed cover cuts was 1.1226 + added. 1.1227 + 1.1228 + * src/glplpx7b.c 1.1229 + The routine lpx_clique_cut to generate clique cuts and related 1.1230 + routines to maintain the conflict graph were added. 1.1231 + 1.1232 + * include/glplpx.h, src/glplpx5.c 1.1233 + The routine lpx_cpx_basis implementing Bixby's algorithm to 1.1234 + construct an initial LP basis was added. 1.1235 + 1.1236 + * examples/glpsol.c 1.1237 + Command-line option '--bib' was added which allows building 1.1238 + an initial LP basis using Bixby's algorithm. 1.1239 + Default command-line option '--mps' was changed to '--freemps'. 1.1240 + 1.1241 + * examples/cf12a.mod, examples/cf12b.mod 1.1242 + Two examples in MathProg (curve fitting problem) were added. 1.1243 + Thanks to Dr. Harley Mackenzie <hjm@hardsoftware.com>. 1.1244 + 1.1245 +Tue Jan 17 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1246 + 1.1247 + * GLPK 4.9 has been released. 1.1248 + 1.1249 + * glpipp.h, glpipp1.c, glpipp2.c 1.1250 + A MIP presolver were implemented (currently incomplete). It is 1.1251 + used internally in the routine lpx_intopt (see below). 1.1252 + 1.1253 + * glplpx6d.c, glplpx7a.c 1.1254 + An advanced branch-and-bound solver (the routine lpx_intopt) 1.1255 + were implemented. 1.1256 + 1.1257 + * glplpx6c.c 1.1258 + The routine lpx_check_int to check MIP feasibility conditions 1.1259 + was added. 1.1260 + 1.1261 + * glplpx8a.c 1.1262 + The routine lpx_print_mip was changed to print MIP feasibility 1.1263 + conditions. 1.1264 + 1.1265 + * glpmpl.h, glpmpl1.c, glpmpl3.c 1.1266 + The built-in functions sin, cos, atan, and atan2 were added to 1.1267 + the MathProg language. 1.1268 + 1.1269 + * doc/lang.* 1.1270 + Some typos were fixed. 1.1271 + Thanks to Minh Ha Duong <haduong@centre-cired.fr> (CIRED, CNRS). 1.1272 + 1.1273 +Wed Jan 12 12:00:00 2005 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1274 + 1.1275 + * GLPK 4.8 has been released. 1.1276 + 1.1277 + * glpspx.h, glpspx1.c, glpspx2.c, glplpx6a.c 1.1278 + Simplex method routines were changed due to a new format of the 1.1279 + constraint matrix. 1.1280 + 1.1281 + * glpmat.h, glpmat.c 1.1282 + Sparse matrix routines were re-implemented using storage-by-rows 1.1283 + format. 1.1284 + 1.1285 + * glpipm.h, glpipm.c, glplpx6b.c 1.1286 + Interior-point method routines were changed due to a new format 1.1287 + of sparse matrices. 1.1288 + 1.1289 + * glpchol.h, glpchol.c 1.1290 + Old version of Cholesky factorization routines being replaced by 1.1291 + a new one (see glpmat.c) was removed from the package. 1.1292 + 1.1293 + * glplpx8c.c 1.1294 + Minor bug was fixed in api routine lpx_read_cpxlp. 1.1295 + 1.1296 +Mon Aug 23 12:00:00 2004 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1297 + 1.1298 + * GLPK 4.7 has been released. 1.1299 + 1.1300 + * glplpx.h, glplpx1.c 1.1301 + New core API routines were added (but not documented yet): 1.1302 + lpx_order_matrix, lpx_create_index, lpx_find_row, lpx_find_col, 1.1303 + lpx_delete_index. 1.1304 + 1.1305 + * glplpx8a.c 1.1306 + API routine lpx_read_mps was re-implemented, and two new API 1.1307 + routines lpx_read_freemps and lpx_write_freemps were added to 1.1308 + support free MPS format. 1.1309 + 1.1310 + * glplpx8c.c 1.1311 + Two API routines lpx_read_cpxlp and lpx_write_cpxlp (formerly 1.1312 + named lpx_read_lpt and lpx_write_lpt) were re-implemented. 1.1313 + 1.1314 + * glpmps.h, glpmps.c 1.1315 + This module formerly used in lpx_read_mps was removed from the 1.1316 + package. 1.1317 + 1.1318 + * glplpt.h, glplpt.c 1.1319 + This module formerly used in lpx_read_lpt was removed from the 1.1320 + package. 1.1321 + 1.1322 + * glpmip.h, glpmip1.h, glpmip2.h 1.1323 + New MIP routines mip_best_node and mip_relative_gap were added 1.1324 + due to suggestion of Brady Hunsaker <hunsaker@engr.pitt.edu>. 1.1325 + 1.1326 + * glpsol.c 1.1327 + The following new command-options were added: 1.1328 + --freemps to read problem data in free MPS format 1.1329 + --wfreemps to write problem data in free MPS format 1.1330 + --cpxlp to read problem data in CPLEX LP format 1.1331 + --wcpxlp to write problem data in CPLEX LP format 1.1332 + --bas to read LP basis from a text file in MPS format 1.1333 + --wbas to write LP basis to a text file in MPS format 1.1334 + --mostf to use "most fractional" branching heuristic 1.1335 + --bestb to use "best bound" backtracking heuristic 1.1336 + 1.1337 + * contrib/deli/*.* 1.1338 + GLPK Delphi interface module was temporarily removed from the 1.1339 + distribution due to licensing problems. 1.1340 + 1.1341 + * contrib/glpkmex/*.* 1.1342 + GLPK Matlab interface module was temporarily removed from the 1.1343 + distribution due to licensing problems. 1.1344 + 1.1345 + * contrib/jni/*.* 1.1346 + GLPK Java interface module was temporarily removed from the 1.1347 + distribution due to licensing problems. 1.1348 + 1.1349 +Wed Aug 04 12:00:00 2004 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1350 + 1.1351 + * GLPK 4.6 has been released. 1.1352 + 1.1353 + * glpmpl.h, glpmpl1.c, glpmpl2.c, glpmpl3.c, glpmpl4.c 1.1354 + Three new statements were implemented in the GNU MathProg 1.1355 + language: solve, printf, and for. Also some bugs were fixed. 1.1356 + 1.1357 + * glplpx.h, glplpx8e.c 1.1358 + Two API routines were added: lpx_read_prob and lpx_write_prob, 1.1359 + which allow reading and writing problem data in GNU LP format. 1.1360 + 1.1361 + * glpsol.c 1.1362 + Three new command-line options were added: --glp (to read 1.1363 + problem data in GNU LP format), --wglp (to write problem data 1.1364 + in GNU LP format), and --name (to change problem name). 1.1365 + 1.1366 + * glprng.h, glprng.c 1.1367 + A portable pseudo-random number generator was implemented as a 1.1368 + separate module. 1.1369 + 1.1370 + * glplib4.c 1.1371 + The old implementation of a pseudo-random number generator was 1.1372 + removed from the package. 1.1373 + 1.1374 + * doc/lang.*, doc/refman.* 1.1375 + New edition of the GLPK documentation was included. 1.1376 + 1.1377 + * contrib/glpkmex/*.* 1.1378 + A new version of GLPKMEX was included in the distribution. For 1.1379 + more details see contrib/glpkmex/ChangeLog. 1.1380 + 1.1381 +Mon Jul 19 12:00:00 2004 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1382 + 1.1383 + * GLPK 4.5 has been released. 1.1384 + 1.1385 + * glpmip.h, glpmip1.c, glpmip2.c, glplpx6c.c 1.1386 + New implementation of the branch-and-bound method was added. 1.1387 + It replaces the old implementation, which was removed from the 1.1388 + package. 1.1389 + 1.1390 + * glpies.h, glpies1.c, glpies2.c, glpies3.c 1.1391 + Modules used in the old implementation of the branch-and-bound 1.1392 + method were removed from the package. 1.1393 + 1.1394 + * glplib2.c 1.1395 + Now if the preprocessor variable GLPHUGEMEM is defined, other 1.1396 + version of the routines umalloc, ucalloc, and ufree is used on 1.1397 + compiling the package. This allows avoiding memory allocation 1.1398 + problems on platforms where sizeof(void *) > sizeof(int), for 1.1399 + example, where addresses are 64-bit while integers are 32-bit. 1.1400 + The modification was made due to a bug report provided by Karel 1.1401 + Zimmermann <kzimm@diamant.jouy.inra.fr> and Christophe Caron 1.1402 + <caron@diamant.jouy.inra.fr>. 1.1403 + 1.1404 +Sat Jan 17 12:00:00 2004 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1405 + 1.1406 + * GLPK 4.4 has been released. 1.1407 + 1.1408 + * glplpx.h, glplpx*.c 1.1409 + All API routines were re-implemented using new data structures. 1.1410 + Some new API routines were added and some existing API routines 1.1411 + became obsolete as shown below: 1.1412 + 1.1413 + Obsolete API routine Equivalent new API routine 1.1414 + lpx_check_name (no more supported) 1.1415 + lpx_set_obj_c0 lpx_set_obj_coef 1.1416 + lpx_set_row_coef (no more supported) 1.1417 + lpx_set_col_coef lpx_set_obj_coef 1.1418 + lpx_load_mat (no more supported) 1.1419 + lpx_load_mat3 lpx_load_matrix 1.1420 + lpx_unmark_all (no more supported) 1.1421 + lpx_mark_row (no more supported) 1.1422 + lpx_mark_col (no more supported) 1.1423 + lpx_clear_mat (no more supported) 1.1424 + lpx_del_items lpx_del_rows, lpx_del_cols 1.1425 + lpx_get_row_bnds lpx_get_row_type, lpx_get_row_lb, 1.1426 + lpx_get_row_ub 1.1427 + lpx_get_col_bnds lpx_get_col_type, lpx_get_col_lb, 1.1428 + lpx_get_col_ub 1.1429 + lpx_get_obj_c0 lpx_get_obj_coef 1.1430 + lpx_get_row_coef (no more supported) 1.1431 + lpx_get_col_coef lpx_get_obj_coef 1.1432 + lpx_get_row_mark (no more supported) 1.1433 + lpx_get_col_mark (no more supported) 1.1434 + lpx_get_row_info lpx_get_row_stat, lpx_get_row_prim, 1.1435 + lpx_get_row_dual 1.1436 + lpx_get_col_info lpx_get_col_stat, lpx_get_col_prim, 1.1437 + lpx_get_col_dual 1.1438 + lpx_get_ips_stat lpx_ipt_status 1.1439 + lpx_get_ips_row lpx_ipt_row_prim, lpx_ipt_row_dual 1.1440 + lpx_get_ips_col lpx_ipt_col_prim, lpx_ipt_col_dual 1.1441 + lpx_get_ips_obj lpx_ipt_obj_val 1.1442 + lpx_get_mip_stat lpx_mip_status 1.1443 + lpx_get_mip_row lpx_mip_row_val 1.1444 + lpx_get_mip_col lpx_mip_col_val 1.1445 + lpx_get_mip_obj lpx_mip_obj_val 1.1446 + 1.1447 + Obsolete API routines were kept for backward compatibility, 1.1448 + however, they will be removed in the future. 1.1449 + 1.1450 + * doc/refman.* 1.1451 + New edition of the GLPK reference manual containing description 1.1452 + of all new API routines was included. 1.1453 + 1.1454 + * contrib/glpkmex/*.* 1.1455 + GLPKMEX, a Matlab MEX interface to GLPK package, contributed by 1.1456 + Nicolo Giorgetti <giorgetti@dii.unisi.it> was included. 1.1457 + 1.1458 + * doc/GLPK_FAQ.txt 1.1459 + GLPK FAQ contributed by Harley Mackenzie <hjm@bigpond.com> was 1.1460 + included. 1.1461 + 1.1462 +Fri Dec 12 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1463 + 1.1464 + * GLPK 4.3 has been released. 1.1465 + 1.1466 + * configure.in 1.1467 + The bug, due to which the standard math library is not linked on 1.1468 + some platforms, was fixed. 1.1469 + 1.1470 + * glpmpl3.c 1.1471 + The bug (0 ** y) was fixed in the routine fp_power. 1.1472 + 1.1473 + * glpmpl.h, glpmpl1.c, glpmpl3.c 1.1474 + Some new built-in functions (round, trunc, Irand224, Uniform01, 1.1475 + Uniform, Normal01, Normal) were added to the MathProg language. 1.1476 + 1.1477 + * glpmpl1.c 1.1478 + The MathProg syntax was changed to allow writing 'subj to'. 1.1479 + 1.1480 + * glplpx.h, glplpx1.c, glplpx2.c 1.1481 + The new api routine lpx_get_ray_info was added. 1.1482 + 1.1483 + * glplpx8a.c 1.1484 + The api routine lpx_print_sol was changed to print the number of 1.1485 + non-basic variable, which causes primal unboundness. 1.1486 + 1.1487 + * glpmps.c 1.1488 + The code was changed to avoid errors on compiling the package on 1.1489 + Mac OS X. Thanks to Andre Girard <andre@inrs-emt.uquebec.ca> for 1.1490 + the bug report. 1.1491 + 1.1492 + * doc/lang.*, doc/refman.* 1.1493 + Several typos were fixed and some new material was added in the 1.1494 + glpk documentation. 1.1495 + 1.1496 +Fri Nov 14 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1497 + 1.1498 + * GLPK 4.2 has been released. 1.1499 + 1.1500 + * glpiet.h, glpiet.c, glpios.h, glpios1.c, glpios2.c, glpios3.c 1.1501 + A preliminary implementation of the Integer Optimization Suite 1.1502 + (IOS) was included in the package. Eventually IOS will replace 1.1503 + the Implicit Enumeration Suite (IES). 1.1504 + 1.1505 + * glplpx.h, glplpx6d.c 1.1506 + A dummy version of the integer optimization routine lpx_intopt 1.1507 + was included in the package. Later this routine will replace the 1.1508 + routine lpx_integer. 1.1509 + 1.1510 + * examples/glpsol.c 1.1511 + A new command-line option --int-opt was added to the solver to 1.1512 + call lpx_intopt rather than lpx_integer. 1.1513 + 1.1514 + * glpbcs.h, glpbcs1.c, glpbcs2.c 1.1515 + Being replaced by IOS routines (see above) the Branch-and-Cut 1.1516 + Framework (BCS) routines were removed from the package. 1.1517 + 1.1518 + * examples/tspsol.c 1.1519 + Stand-alone Symmetric TSP solver was completely re-programmed 1.1520 + using IOS routines. 1.1521 + 1.1522 + * glplib.h, glplib2.c, glplib4.c 1.1523 + The random-number generator was implemented. It is based on the 1.1524 + module GB_FLIB from the Stanford GraphBase originally developed 1.1525 + by Donald Knuth. 1.1526 + 1.1527 + * glphbsm.c, glplpx8a.c, glpmps.c 1.1528 + All calls to fopen/fclose were replaced by corresponding calls 1.1529 + to ufopen/ufclose due to bug reports provided by Morten Welinder 1.1530 + <terra@gnu.org> and <jpark@sfwmd.gov>. 1.1531 + 1.1532 + * glpmps.c 1.1533 + The code was made re-entrant. 1.1534 + 1.1535 + * glplpx8b.c 1.1536 + API routine lpx_print_sens_bnds for bounds sensitivity analysis 1.1537 + contributed by Brady Hunsaker <hunsaker@engr.pitt.edu> was added 1.1538 + to the package. This feature is also available in glpsol via the 1.1539 + command-line option --bounds. 1.1540 + 1.1541 + * contrib/jni/*.* 1.1542 + New version of GLPK JNI (Java Native Interface) contributed by 1.1543 + Chris Rosebrugh <cpr@pobox.com> was added to the package. 1.1544 + 1.1545 + * contrib/deli/*.* 1.1546 + GLPK DELI (Delphi Interface) contributed by Ivo van Baren 1.1547 + <i.van.baren@freeler.nl> was added to the package. 1.1548 + 1.1549 + * glplpx3.c 1.1550 + Default method to scale the problem was changed to equilibration 1.1551 + scaling (lp->scale = 1 in lpx_reset_parms). 1.1552 + 1.1553 + * glplpx6a.c 1.1554 + Two minor (non-critical) typos were fixed due to report provided 1.1555 + by Andrew Hamilton-Wright <andrewhw@ieee.org>. 1.1556 + 1.1557 + * glplpp2.c 1.1558 + An untested case (line 941) had been tested due to bug report 1.1559 + provided by Jiri Spitz <jiri.spitz@telecom.cz>. 1.1560 + 1.1561 + * w32bc5.mak, w32vc6.mak, w32vc6d.mak, d32dmc.mak 1.1562 + Several makefiles were added to allow building GLPK library for 1.1563 + some non-GNU 32-bit platforms. 1.1564 + 1.1565 +Sat Aug 23 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1566 + 1.1567 + * GLPK 4.1 has been released. 1.1568 + 1.1569 + * glpmpl1.c, glpmpl3.c 1.1570 + Some bugs were fixed in the MathProg translator due to the bug 1.1571 + reports provided by Giles Thompson <gwpt1@cus.cam.ac.uk>: 1.1572 + conditional set expressions were incorrectly parsed; 1.1573 + dimen attribute was not set by default when a set was used 1.1574 + recursively in its own declaration; 1.1575 + logical expressions ... in if ... then ... else ... did not 1.1576 + work; 1.1577 + displaying set expressions did not free memory allocated for 1.1578 + temporary results. 1.1579 + 1.1580 + * glpmpl3.c (reduce_terms) 1.1581 + Implementation of summation of linear forms over domain was 1.1582 + improved to reduce complexity of that operation from O(n*n) to 1.1583 + O(n*log n). The improvement was made due to a report provided 1.1584 + by Sebastien de Menten <sdementen@hotmail.com>. 1.1585 + 1.1586 + * glplpx6a.c (line 1056), glpmip1.c (line 641) 1.1587 + Two minor bugs were fixed due to the bug report provided by 1.1588 + Kendall Demaree <kendal.demaree@verizon.net>. 1.1589 + 1.1590 + * glplpx.h, glplpx6a.c 1.1591 + The method of one artificial variable implemented in the routine 1.1592 + lpx_prim_art and used on the phase I in the glpk simplex solver 1.1593 + has a serious defect: for some lp instances it erroneously 1.1594 + reports that the problem has no primal feasible solution. This 1.1595 + error appears when the column of the artificial variable, which 1.1596 + enters the basis to make it primal feasible, has large 1.1597 + constraint coefficients, that leads to small reduced costs of 1.1598 + non-basic variables and premature termination of the search, 1.1599 + i.e. to wrong conclusion that the problem has no primal feasible 1.1600 + solution. To avoid this defect the routine lpx_prim_feas was 1.1601 + included. It implements the method of implicit artifical 1.1602 + variables (based on minimization of the sum of infeasibilities), 1.1603 + which is a bit slower but much more robust. The routine 1.1604 + lpx_prim_feas having the same functionality now is used instead 1.1605 + the routine lpx_prim_art. 1.1606 + 1.1607 + * glpinv.h, glpinv.c 1.1608 + The test used in the routine inv_update to detect low accuracy 1.1609 + after updating LU-factorization of the basis matrix was replaced 1.1610 + by a new, more robust test. 1.1611 + 1.1612 + * glplpx6c.c 1.1613 + Selecting an active node to be solved next in the routine 1.1614 + btrack_bestp was changed. Now, if any integer feasible solution 1.1615 + has not been found yet, the routine chooses an active node which 1.1616 + has the minimal sum of integer infeasibilities. 1.1617 + 1.1618 + * glpmip.h, glpmip1.c 1.1619 + The additional flag int_obj was included in the structure 1.1620 + MIPTREE used by the branch-and-bound. This flag is set in the 1.1621 + routine mip_create_tree and used in the routine is_better. It 1.1622 + means that the objective is integral, i.e. depends only on 1.1623 + integer variables with integer objective coefficients. The test 1.1624 + used in the routine check_integrality was also replaced by a 1.1625 + new, more reasonable one. 1.1626 + 1.1627 + * glplpx1.c 1.1628 + A minor bug was fixed in the routine lpx_check_name. 1.1629 + 1.1630 + * glpmpl.h, glpmpl4.c, glplpx8d.c 1.1631 + The flag skip_data was added to the parameter list of the 1.1632 + routine mpl_read_model. If this flag is set, the data section 1.1633 + in the model file is ignored. Corresponding change was made in 1.1634 + the routine lpx_read_model. Now, if both model and data files 1.1635 + are specified, the data section in the model file is ignored. 1.1636 + 1.1637 + * glplpx8c.c 1.1638 + A minor bug (wrong format used for writing free columns) in the 1.1639 + routine lpx_write_lpt was fixed due to the bug report provided 1.1640 + by Bernhard Schmidt <schmidt@math.uni-augsburg.de> 1.1641 + 1.1642 + * sample/glpsol.c 1.1643 + The command-line parameter --tmlim, which allows limiting the 1.1644 + solution time, was added. 1.1645 + 1.1646 + * doc/lang.*, doc/refman.* 1.1647 + New edition of the GLPK documentation was included. 1.1648 + 1.1649 + * java-binding/*.* 1.1650 + New version of the GLPK JNI (Java Native Interface) package was 1.1651 + included in the distribution. 1.1652 + 1.1653 + * sample/lpglpk40.c 1.1654 + A non-trivial example was added. It allows using GLPK as a base 1.1655 + LP solver for Concorde, a program for solving Traveling Salesman 1.1656 + Problem (TSP). For details see comments in lpglpk40.c. 1.1657 + 1.1658 + * sample/*.mod 1.1659 + Some examples of LP and MIP models written in GNU MathProg were 1.1660 + added. 1.1661 + 1.1662 +Tue May 06 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1663 + 1.1664 + * GLPK 4.0 has been released. 1.1665 + 1.1666 + * glpmpl.h, glpmpl1.c, glpmpl2.c, glpmpl3.c, glpmpl4.c 1.1667 + The model translator for the GNU MathProg modeling language was 1.1668 + implemented and included in the package. 1.1669 + 1.1670 + * glplpx.h, glplpx8d.c 1.1671 + The api routine lpx_read_model, which is an interface to the 1.1672 + MathProg translator, was included in the package. 1.1673 + 1.1674 + * glplpx.h, glplpx8a.c 1.1675 + The api routine lpx_print_prob for writing LP/MIP problem data 1.1676 + in plain text format was included in the package. 1.1677 + 1.1678 + * sample/glpsol.c 1.1679 + New version of the GLPK stand-alone LP/MIP solver that supports 1.1680 + the GNU MathProg modeling language was implemented. 1.1681 + 1.1682 + * doc/lang.latex, doc/lang.dvi, doc/lang.ps 1.1683 + The document "GLPK: Modeling Language GNU MathProg" was included 1.1684 + in the package. 1.1685 + 1.1686 + * doc/refman.latex, doc/refman.dvi, doc/refman.ps 1.1687 + New edition of the GLPK Reference Manual was included in the 1.1688 + package. 1.1689 + 1.1690 + * glplpx8c.c 1.1691 + A bug in the api routine lpx_write_lpt was fixed. Due to that 1.1692 + bug an addressing error occured in the routine if the objective 1.1693 + function has the non-zero constant term. 1.1694 + 1.1695 + * glplan.h, glplan1.c, glplan2.c, glplan3.c, glplan4.c, 1.1696 + * glplan5.c, glplan6.c, glplan7.c, glplan8.c, glplpx8b.c 1.1697 + All modules of the translator for the GLPK/L modeling language 1.1698 + were removed from the package, because GLPK/L being completely 1.1699 + superseded by GNU MathProg is no more supported. 1.1700 + 1.1701 +Tue Mar 25 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1702 + 1.1703 + * GLPK 3.3 has been released. 1.1704 + 1.1705 + * glplpp.h, glplpp1.c, glplpp2.c 1.1706 + An implementation of the built-in LP presolver was added to the 1.1707 + package. 1.1708 + 1.1709 + * glplpx.h 1.1710 + The flag presol was added to the structure LPX. This flag tells 1.1711 + the lpx_simplex whether the built-in LP presolver should be used 1.1712 + or not. By default this flag is off. Also three macros (namely 1.1713 + LPX_E_NOPFS, LPX_E_NODFS, and LPX_K_PRESOL) that concern using 1.1714 + the LP presolver were introduced. 1.1715 + 1.1716 + * glplpx3.c, glplpx6a.c 1.1717 + These modules was changed to use the built-in LP presolver. 1.1718 + 1.1719 + * sample/glpsol.c 1.1720 + Command line options --presol and --nopresol that concern using 1.1721 + the LP presolver were added to the stand-alone LP/MIP solver. 1.1722 + 1.1723 + * glplan1.c 1.1724 + This module was changed to allow declaring sets like A[1:10] in 1.1725 + the models written in the GLPK/L modeling language. 1.1726 + 1.1727 + * doc/refman.latex, doc/lang.latex 1.1728 + New editions of the documents "GLPK User's Guide" and "GLPK/L 1.1729 + Modeling Language" were included in the distribution. 1.1730 + 1.1731 + * java-binding/*.* 1.1732 + The package GLPK JNI (Java Native Interface) implementing Java 1.1733 + binding for GLPK was included in the distribution. This package 1.1734 + was developed and programmed by Yuri Victorovich <yuri@gjt.org>. 1.1735 + 1.1736 +Tue Feb 18 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1737 + 1.1738 + * GLPK 3.2.4 has been released. 1.1739 + 1.1740 + * glplpx6b.c 1.1741 + The code was changed to allow auxiliary variables have non-zero 1.1742 + objective coefficients. 1.1743 + 1.1744 + Also a minor bug was fixed (the constant term was not considered 1.1745 + on displaying the objective function value). 1.1746 + 1.1747 + * sample/glpsol.c 1.1748 + The code was changed to fix a bug (the command-line option 'bfs' 1.1749 + was not recognized). The bug was fixed due to report provided by 1.1750 + Olivier <odwl@skynet.be>. 1.1751 + 1.1752 + * glplpt.c 1.1753 + The code was changed to fix a bug (binary variables were treated 1.1754 + erroneously as integer ones). 1.1755 + 1.1756 + * glplpx6b.c 1.1757 + The code was changed to fix a bug (variables that have no lower 1.1758 + bounds were incorrectly processed on converting to the standard 1.1759 + formulation). The bug was fixed due to report kindly provided by 1.1760 + Kjell Eikland <kjell.eikland@broadpark.no>. 1.1761 + 1.1762 +Mon Nov 11 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1763 + 1.1764 + * GLPK 3.2.3 has been released. 1.1765 + 1.1766 + * glpmip.h, glpmip1.c 1.1767 + A preliminary implementation of the branch-and-bound driver 1.1768 + based on the implicit enumeration suite (glpies) was added to 1.1769 + the package. This module is not documented yet. 1.1770 + 1.1771 + * glplpx6c.c 1.1772 + A new implementation of the api routine lpx_integer which now 1.1773 + is based on the b&b driver (see glpmip above) was included in 1.1774 + the package. This new implementation has exactly the same 1.1775 + functionality as the old version and therefore all changes are 1.1776 + transparent to the api user. 1.1777 + 1.1778 + * glpbbm.h, glpbbm.c 1.1779 + * glprsm.h, glprsm1.c, glprsm2.c 1.1780 + * glplp.h, glplp.c 1.1781 + These modules were removed from the package, because they were 1.1782 + used only in the old version of the routine lpx_integer, which 1.1783 + was replaced by the new version (see glplpx6c above). 1.1784 + 1.1785 + * glplpx.h, glplpx6a.c 1.1786 + The api routine lpx_check_kkt was included in the package and 1.1787 + its description was added in the reference manual. This routine 1.1788 + allows checking Karush-Kuhn-Tucker optimality conditions for an 1.1789 + LP solution. 1.1790 + 1.1791 + * glplpx.h, glplpx8a.c 1.1792 + Now the api routine lpx_print_sol also prints information about 1.1793 + "solution quality" obtained via the api routine lpx_check_kkt. 1.1794 + 1.1795 + * glplpx.h, glplpx8a.c 1.1796 + New api routines lpx_read_bas and lpx_write_bas were included 1.1797 + in the package and documented. The routine lpx_write_bas allows 1.1798 + writing a current basis from an LP object to a text file in the 1.1799 + MPS format. The routine lpx_read_bas allows reading a basis 1.1800 + prepared in the MPS format from a text file into an LP object. 1.1801 + 1.1802 + * glplpt.c 1.1803 + The parsing routine which reads LP problem data prepared in the 1.1804 + CPLEX LP format was modified to allow specifying lower bounds 1.1805 + of variables also in the form 'variable >= lower bound' (in the 1.1806 + bounds section). This modification was made due to a notice 1.1807 + provided by Ivan Luzzi <iluzzi@libero.it>. 1.1808 + 1.1809 + * glplpx.h, glplpx8c.c 1.1810 + The api routine lpx_write_lpt which allows writing LP problem 1.1811 + data from an LP object to a text file using the CPLEX LP format 1.1812 + was included in the package and documented. 1.1813 + 1.1814 + * glplpx.h, glplpx3.c 1.1815 + The control parameter LPX_K_LPTORIG that affects the behavior 1.1816 + of the api routine lpx_write_lpt was introduced. 1.1817 + 1.1818 + * glplan6.c 1.1819 + The semantics of the language GLPK/L was changed to allow 1.1820 + selection in case when not all mute letters of a predicate (the 1.1821 + operand that follows the keyword 'where') are presented in a 1.1822 + parameter (the operand that precedes the keyword 'where'), i.e. 1.1823 + to allow writing something like this: 1.1824 + y[j] := sum(i, x[i] where p[i,j]); 1.1825 + The paragraph "Selection" in the langauge description (page 25) 1.1826 + was also correspondingly changed. This change of the language 1.1827 + semantics was undertaken due to a notice provided by Peter Lee 1.1828 + <plee@kinggee.com.au>. 1.1829 + 1.1830 + * sample/hwd.lpm 1.1831 + A nice example of LP model written in GLPK/L and contributed by 1.1832 + Peter Lee <plee@kinggee.com.au> was included in the package. 1.1833 + 1.1834 + * glplpx6b.c 1.1835 + The api routine lpx_interior was modified: a) to compute dual 1.1836 + values for all structural as well as auxiliary variables; b) to 1.1837 + allow specifying non-zero objective coefficients at auxiliary 1.1838 + variables. 1.1839 + 1.1840 + * sample/glpsol.c 1.1841 + Three new command-line options were added to the solver, which 1.1842 + are: --plain, --orig, and --wrlpt. 1.1843 + 1.1844 +Mon Oct 14 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1845 + 1.1846 + * GLPK 3.2.2 has been released. 1.1847 + 1.1848 + * glplpt.h, glplpt.c 1.1849 + A module that reads LP/MIP problem data in CPLEX LP format was 1.1850 + implemented. 1.1851 + 1.1852 + * glplpx8c.c 1.1853 + An api routine lpx_read_lpt that reads LP/MIP problem data in 1.1854 + CPLEX LP format was implemented. 1.1855 + 1.1856 + * sample/glpsol.c, sample/plan.lpt 1.1857 + A new command-line option '--lpt' that allows reading LP/MIP 1.1858 + problem data in CPLEX LP format was added to the solver. 1.1859 + 1.1860 + * doc/refman.latex, doc/refman.dvi, doc/refman.ps 1.1861 + A new edition of the Reference Manual was included. 1.1862 + 1.1863 + * source/*.c 1.1864 + Casting to (unsigned char) was added in some calls to the 1.1865 + classification functions (isalpha, etc.). The bug was fixed due 1.1866 + to report provided by Morten Welinder <terra@diku.dk>. 1.1867 + 1.1868 + * glplpx8a.c 1.1869 + The local routine mps_numb used in the routine lpx_write_mps 1.1870 + was modified to correctly format floating-point numbers that 1.1871 + have two digits in the decimal exponent. The bug was fixed due 1.1872 + to report provided by Vlahos Kiriakos <Kiriakos.Vlahos@gs.com>. 1.1873 + 1.1874 + * glplan.h, glplan1.c, ..., glplan8.c 1.1875 + Several serious bugs were fixed in the language processor due 1.1876 + to reports provided by <NORBERT.PIOTROWSKI@LHSYSTEMS.COM>: 1.1877 + (a) a static search tree used to find sparse array elements was 1.1878 + sometimes overwritten that caused the message 'assertion failed' 1.1879 + to appear; the bug was fixed by creating separate search trees 1.1880 + in parsing routines; (b) a variable declared using the 1.1881 + predicate-controlled variable declaration statement had wrong 1.1882 + order of domain sets, because the variable array was built as 1.1883 + a copy of the predicate array; the bug was fixed by using the 1.1884 + internal routine transpose that coordinates mute letters (and 1.1885 + therefore domain sets) on copying sparse arrays; (c) sometimes 1.1886 + assignment statements like x[#a,#b,#c] := ... was incorrectly 1.1887 + processed; the bug was fixed by including an appropriate check 1.1888 + into the internal routine assign_stmt. 1.1889 + 1.1890 + * glp_simplex.c 1.1891 + An additional check to see if all lower bounds are not greater 1.1892 + than corresponding upper bounds was included in the routine to 1.1893 + prevent wrong results to appear. Such incorrectness sometimes 1.1894 + was not detected, namely, when variables with such bounds were 1.1895 + non-basic and never entered the basis. 1.1896 + 1.1897 + * glpspx1.c 1.1898 + Maximal number of simplex iterations before reinversion was 1.1899 + decreased from 100 to 50. This allowed to improve accuracy and, 1.1900 + that is more important, to reduce the solution time for many 1.1901 + serial lp problems approximately 1.5--2 times. 1.1902 + 1.1903 + * glpspx2.c 1.1904 + A check to see if all elements in the column chosen to enter 1.1905 + the basis are close to zero in the routine spx_prim_chuzr was 1.1906 + temporarily removed because this check gave wrong conclusion in 1.1907 + case when the corresponding non-basic variable had zero column 1.1908 + in the constraint matrix. An analogous check to see if all 1.1909 + elements in the row chosen to leave the basis are close to zero 1.1910 + in the routine spx_dual_chuzc was also temporarily removed on 1.1911 + the same reason. The bug was fixed due to reports provided by 1.1912 + Flavio Keidi Miyazawa <fkm@ic.unicamp.br> and Vlahos Kiriakos 1.1913 + <Kiriakos.Vlahos@gs.com>. 1.1914 + 1.1915 +Mon Aug 12 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1916 + 1.1917 + * GLPK 3.2.1 has been released. 1.1918 + 1.1919 + * glpbcs.h, glpbcs1.c, glpbcs2.c 1.1920 + * glpies.h, glpies1.c, glpies2.c, glpies3.c 1.1921 + A preliminary implementation of the branch-and-cut framework 1.1922 + was included in the package. 1.1923 + 1.1924 + * doc/brcut.txt 1.1925 + The document "GLPK: A Preliminary Implementation of the 1.1926 + Branch-And-Cut Framework" was included in the distribution. 1.1927 + 1.1928 + * sample/tspsol.c 1.1929 + An illustrative program for solving symmetric TSP based on the 1.1930 + branch-and-cut method was included in the package. 1.1931 + 1.1932 + * glpdmp.h, glpdmp.c 1.1933 + A new, re-enterable version of routines for managing dynamic 1.1934 + memory pools was included in the package. 1.1935 + 1.1936 + * glpavl.h, glpavl.c 1.1937 + A new, re-enterable version of routines for managing AVL search 1.1938 + trees was included in the package. 1.1939 + 1.1940 + * glplib.h, glplib2.c 1.1941 + Two new low-level routines ufopen and ufclose were included in 1.1942 + the package. 1.1943 + 1.1944 + * glplpx.h, glplpx7.c 1.1945 + The following new api routines were added: lpx_eval_activity, 1.1946 + lpx_eval_red_cost, lpx_reduce_form, lpx_mixed_gomory. 1.1947 + 1.1948 + * glptsp.h, glptsp.c 1.1949 + A module for reading TSP data using TSPLIB format was included 1.1950 + in the package. 1.1951 + 1.1952 +Mon Jul 15 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1953 + 1.1954 + * GLPK 3.2 has been released. 1.1955 + 1.1956 + * glplpx.h, glplpx1.c, glplpx2.c 1.1957 + The identifier 'class' (used as a member name in the structure 1.1958 + LPX and as an argument name in the routine lpx_set_class) was 1.1959 + changed to 'clss' in order to avoid conflicts with C++ reserved 1.1960 + words. 1.1961 + 1.1962 + * glpk.h, glplpx.h, glplpx1.c, glplpx2.c, glplpx6a.c, 1.1963 + * glplpx6b.c, glplpx6c.c, glplpx7.c, glplpx8.c 1.1964 + The following new api routines were added: lpx_set_obj_name, 1.1965 + lpx_get_obj_name, lpx_get_row_mark, lpx_get_col_mark, 1.1966 + lpx_transform_row, lpx_transform_col, lpx_prim_ratio_test, 1.1967 + lpx_dual_ratio_test, lpx_interior, lpx_get_ips_stat, 1.1968 + lpx_get_ips_row, lpx_get_ips_col, lpx_get_ips_obj, lpx_read_lpm, 1.1969 + lpx_write_mps, lpx_print_ips. 1.1970 + 1.1971 + * glpsol.c 1.1972 + The solver was completely re-programmed using new api routines. 1.1973 + 1.1974 + * lang.latex, lang.dvi, lang.ps 1.1975 + New edition of the document "GLPK: Modeling Language GLPK/L" 1.1976 + was included in the distribution. 1.1977 + 1.1978 + * refman.latex, refman.dvi, refman.ps 1.1979 + New edition of the document "GLPK: Reference Manual" (which 1.1980 + contains descriptions of all new api routines) was included in 1.1981 + the distribution. 1.1982 + 1.1983 + * glpapi.h, glpapi1.c, glpapi2.c, glpapi3.c, glpapi4.c 1.1984 + These files (which contain old api routines) were removed from 1.1985 + the package. 1.1986 + 1.1987 + * glpipm1.c, glpipm2.c 1.1988 + The file glpipm1.c was renamed to glpipm.c. The file glpipm2.c 1.1989 + was used only by old api routines and therefore was removed from 1.1990 + the package. 1.1991 + 1.1992 + * language.texinfo 1.1993 + Old version of the document "GLPK: Modeling Language GLPK/L" was 1.1994 + removed from the distribution. 1.1995 + 1.1996 +Mon May 27 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> 1.1997 + 1.1998 + * GLPK 3.1 has been released. 1.1999 + 1.2000 + * glplpx.h, glplpx1.c, glplpx2.c, glplpx3.c, glplpx4.c, 1.2001 + * glplpx5.c, glplpx6.c, glplpx7.c, glplpx8.c 1.2002 + A preliminary implementation of new API routines was completed. 1.2003 + 1.2004 + * refman.latex, refman.dvi, refman.ps 1.2005 + A draft edition of the document "GLPK Reference Manual", which 1.2006 + describes new API routines, was included. 1.2007 + 1.2008 + * glplib3.c 1.2009 + A bug in measuring long time intervals was fixed up. 1.2010 + 1.2011 + * glprsm3.c 1.2012 + This module contains some obsolete routines not longer used and 1.2013 + therefore it was removed from the package (into the subdirectory 1.2014 + 'oldsrc'). 1.2015 + 1.2016 + * glprsm.h 1.2017 + Some declarations related to the module 'glprsm3.c' (see above) 1.2018 + were removed. 1.2019 + 1.2020 + * guide.texinfo 1.2021 + The document "GLPK User's Guide" describing old API routines was 1.2022 + removed from the package (into the subdirectory 'oldsrc'). 1.2023 + 1.2024 + * newapi.txt 1.2025 + The document "New GLPK API Routines" was removed at all, because 1.2026 + it is superseded by the new reference manual (see above). 1.2027 + 1.2028 +Mon May 13 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2029 + 1.2030 + * GLPK 3.0.8 has been released. 1.2031 + 1.2032 + * glplpx.h, glplpx1.c, glplpx2.c, glplpx3.c, glplpx4.c, 1.2033 + * glplpx5.c, glplpx6.c, glplpx7.c 1.2034 + A preliminary (currently incomplete) implementation of new api 1.2035 + routines was included. 1.2036 + 1.2037 + * sample/newsamp.c 1.2038 + A sample program for the new api routines was included. 1.2039 + 1.2040 + * newapi.txt 1.2041 + A draft of the document "New GLPK API Routines" was included. 1.2042 + 1.2043 + * glpapi2.c, glpapi5.c, glpapi6.c 1.2044 + These modules (which contain the api routines glp_call_rsm1, 1.2045 + glp_simplex1, glp_pivot_in, glp_pivot_out) were removed from the 1.2046 + package (to the subdirectory 'oldsrc') since these routines are 1.2047 + functionally superseded by the new api routines. 1.2048 + 1.2049 + * glpk.h, glpapi2.c, glpapi3.c, glpapi4.c 1.2050 + The api routines glp_simplex2, glp_call_ipm1, glp_call_bbm1 were 1.2051 + renamed to glp_simplex, glp_interior, glp_integer, respectively. 1.2052 + 1.2053 + * sample/glpsol.c 1.2054 + Some command-line options (which got obsolete due to the recent 1.2055 + changes in api) were excluded. 1.2056 + 1.2057 + * doc/guide.texinfo 1.2058 + New edition of the document "GLPK User's Guide" was included in 1.2059 + the distribution to reflect the changes in some api routines. 1.2060 + 1.2061 + * doc/libref.texinfo 1.2062 + This document was removed from the package (to the subdirectory 1.2063 + 'oldsrc') since it describes the library routines, most of which 1.2064 + got obsolete and no longer used. 1.2065 + 1.2066 + * Makefile.in 1.2067 + A minor bug was fixed up due to bug report from Hans Schwengeler 1.2068 + <Hans.Schwengeler@unibas.ch>. 1.2069 + 1.2070 +Mon Apr 22 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2071 + 1.2072 + * GLPK 3.0.7 has been released. 1.2073 + 1.2074 + * glpduff.h, glpduff.c, glpspx.h, glpspx1.c, glpspx2.c, 1.2075 + * glpapi7.c 1.2076 + These modules were replaced by a new implementation of the 1.2077 + simplex method and therefore they were removed from the package 1.2078 + (however they still can be found in the subdirectory 'oldsrc'). 1.2079 + 1.2080 + * glprsm1.c 1.2081 + The routine crash_aa was replaced by a new implementation and 1.2082 + therefore it was removed from the file 'glprsm1.c'. 1.2083 + 1.2084 + * glplpx.h, glplpx.c, glpspx.h, glpspx1.c, glpspx2.c, glpspx3.c, 1.2085 + * glpspx4.c, glpapi7.c 1.2086 + New (currently incomplete) implementation of the simplex method 1.2087 + components was included in the package. 1.2088 + 1.2089 +Thu Mar 28 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2090 + 1.2091 + * GLPK 3.0.6 has been released. 1.2092 + 1.2093 + * glpluf.h, glpluf.c, glpinv.h, glpinv.c 1.2094 + New version of LU-factorization and basis maintenance routines 1.2095 + (based on Forrest-Tomlin updating technique) was implemented. 1.2096 + 1.2097 + * glpeta.h, glpeta.c, glpfhv.h, glpfhv.c, glpgel.h, glpgel.c, 1.2098 + * glppfi.h, glppfi.c, glprfi.h, glprfi.c 1.2099 + These routines implement some other forms of the basis matrix. 1.2100 + Now they became obsolete being functionally superseded by the 1.2101 + new version of basis maintenance routines (see above) and were 1.2102 + removed from the package (however they still can be found in the 1.2103 + subdirectory 'oldsrc'). 1.2104 + 1.2105 + * glpbbm.c, glprsm.h, glprsm1.h, glprsm2.h, glpspx.h, glpspx2.c, 1.2106 + * glprsm2.c, glpsol.c 1.2107 + Necessary changes were made in order to use the new version of 1.2108 + basis maintenance routines. 1.2109 + 1.2110 +Tue Jan 29 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2111 + 1.2112 + * GLPK 3.0.5 has been released. 1.2113 + Structure of the package was re-organized in order to simplify 1.2114 + its maintenance. 1.2115 + 1.2116 + * doc/guide.texinfo 1.2117 + New edition of the document "GLPK User's Guide" was included in 1.2118 + the distribution. Now the document includes descriptions of some 1.2119 + additional API routines recently added to the package. 1.2120 + 1.2121 + * doc/newapi.txt 1.2122 + The document "Additional GLPK API Routines" was removed from the 1.2123 + distribution, because the corresponding material was included in 1.2124 + the user's guide (see above). 1.2125 + 1.2126 +Mon Dec 10 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2127 + 1.2128 + * GLPK 3.0.4 has been released. 1.2129 + 1.2130 + * glpspx.h, glpspx1.c, glpspx2.c, glpapi/glp_simplex2.h 1.2131 + A new, more efficient version of the two-phase primal simplex 1.2132 + method was implemented (advanced initial basis, projected 1.2133 + steepest edge, recursive computations of solution components). 1.2134 + 1.2135 + * glpapi/glp_call_bbm1.c 1.2136 + Now LP relaxation can be solved either using rsm1_driver(), or 1.2137 + using glp_simplex2(). The choice is controlled by the parameter 1.2138 + 'meth' (a member of struct bbm1). 1.2139 + 1.2140 + * sample/glpsol.c 1.2141 + The new implementation of the simplex method is now used by 1.2142 + default. The old version is available via --old-sim option. 1.2143 + 1.2144 + * glpmat/gm_scaling.c 1.2145 + Now this routine displays only two lines: an initial "quality" 1.2146 + and a final "quality". 1.2147 + 1.2148 + * glplp/prepro_lp.c 1.2149 + Identifiers 'fmin' and 'fmax' renamed to 'f_min' and 'f_max' in 1.2150 + order to avoid conflict with <math.h>. The bug was fixed due to 1.2151 + report provided by Sami Farin <sfarin@ratol.fi>. 1.2152 + 1.2153 +Wed Oct 03 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2154 + 1.2155 + * GLPK 3.0.3 has been released. 1.2156 + 1.2157 + * glprsm/harris_row.c, glprsm/harris_col.c 1.2158 + The relative tolerance used on the first pass of the two-pass 1.2159 + ratio test was replaced by the absolute tolerance. 1.2160 + 1.2161 + * glprsm/rsm_primal.c, glprsm/rsm_feas.c, glprsm/rsm_dual.c 1.2162 + The absolute tolerance passed to the two-pass ratio test routine 1.2163 + was decaresed (for both primal and dual simplex). 1.2164 + 1.2165 + These changes were made in order to improve numerical stability 1.2166 + of the simplex method. 1.2167 + 1.2168 + * glprsm/glp_call_rsm1.c, glprsm/glp_call_bbm1.c, 1.2169 + * glprsm/glp_simplex1, glprsm/glp_pivoting.c 1.2170 + Default form of the inverse was changed from RFI to AFI. 1.2171 + 1.2172 +Mon Sep 24 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2173 + 1.2174 + * GLPK 3.0.2 has been released. 1.2175 + 1.2176 + * glpfhv.h, glpfhv.c 1.2177 + New version of the basis maintaining routines was implemented. 1.2178 + These routines, which are based on so called FHV-factorization 1.2179 + (a variety of LU-factorization) and Gustavson's data structures, 1.2180 + perform the main operations on the basis matrix faster at the 1.2181 + expense of some worsening numerical accuracy. 1.2182 + 1.2183 + * glprsm.h, glprsm/afi.c 1.2184 + The routines, which implement AFI (Advanced Form of the 1.2185 + Inverse) based on FHV-factorization, were added to the package. 1.2186 + This new form is available via the parameter form = 3 (on API 1.2187 + level) or via the option --afi (in GLPSOL solver). 1.2188 + 1.2189 + * EFI was renamed to PFI 1.2190 + In order to correct terminology the acronym EFI (Elimination 1.2191 + Form of the Inverse) was replaced by PFI (Product Form of the 1.2192 + Inverse) everywhere in the source code and the documentation. 1.2193 + 1.2194 + * glpset/umalloc.c, glpset/ucalloc.c 1.2195 + * glpset/get_atom.c, glpset/get_atomv.c 1.2196 + These memory management routines were changed in order *not* to 1.2197 + clear allocated memory blocks by binary zeros. 1.2198 + 1.2199 +Wed Aug 01 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2200 + 1.2201 + * GLPK 3.0.1 has been released. 1.2202 + 1.2203 + * glpapi/old_api.c, glplp/extract_lp.c, store_lpsol.c 1.2204 + Old API routines were deleted from the package. 1.2205 + 1.2206 + * include/glpk.h, include/glpapi.h, include/glplp.h 1.2207 + Specifications of old API routines and data structures were 1.2208 + removed from the headers. 1.2209 + 1.2210 + * sample/glpsol.c 1.2211 + New version of the stand-alone solver GLPSOL that now uses new 1.2212 + API routines was implemented. 1.2213 + 1.2214 + * glpapi/glp_set_row_fctr.c, glpapi/glp_set_col_fctr.c, 1.2215 + * glpapi/glp_get_row_fctr.c, glpapi/glp_get_col_fctr.c, 1.2216 + * glpapi/glp_scale_prob.c 1.2217 + Scaling routines were added. 1.2218 + 1.2219 + * glpapi/glp_write_mps.c 1.2220 + The routine for writing problem data in MPS format was added. 1.2221 + 1.2222 + * glpapi/glp_simplex1.c 1.2223 + Comprehensive driver to the simplex method was added. 1.2224 + 1.2225 + * glpapi/glp_pivoting.c 1.2226 + The routines glp_pivot_in() and glp_pivot_out() intended for 1.2227 + basis maintaining were added. 1.2228 + 1.2229 + * glprsm/create_rsm.c, glprsm/delete_rsm.c, glprsm/scale_rsm.c, 1.2230 + * glprsm/build_basis.c 1.2231 + Additional low level routines related to the simplex method 1.2232 + were added. 1.2233 + 1.2234 + * glpk.h, glpapi.h, glprsm.h 1.2235 + Additional specifications for new routines and data structures 1.2236 + were added. 1.2237 + 1.2238 + * sample/lpglpk30.c 1.2239 + A non-trivial example was added. It allows using GLPK as a base 1.2240 + LP solver for Concorde, a program for solving Traveling Salesman 1.2241 + Problem (TSP). For details see comments in 'lpglpk30.c'. 1.2242 + 1.2243 + * doc/newapi.txt 1.2244 + The document "Additional GLPK API Routines" that describes some 1.2245 + new API routines was included. 1.2246 + 1.2247 +Thu Jul 19 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2248 + 1.2249 + * GLPK 3.0 has been released. 1.2250 + 1.2251 + Now GLPK is provided with new API, which is intended for using 1.2252 + the package in more complex algorithmic schemes. 1.2253 + 1.2254 + * glpapi/old_api.c 1.2255 + All routines related to old API were gathered in one file named 1.2256 + 'old_api.c'. 1.2257 + 1.2258 + * glpapi/*.c 1.2259 + These routines that implement new API were added to the package. 1.2260 + 1.2261 + * include/glpk.h, include/glpapi.h 1.2262 + Specifications of new API routines and data structures were 1.2263 + added to these headers. Specifications of old API routines and 1.2264 + data structures were locked by #ifdef GLP_OLD_API directive. 1.2265 + 1.2266 + * doc/guide.texinfo 1.2267 + New edition of the document "GLPK User's Guide" that correspond 1.2268 + to new API was included. 1.2269 + 1.2270 +Thu Jun 14 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2271 + 1.2272 + * GLPK 2.4.1 has been released. 1.2273 + 1.2274 + * doc/glpk_ml.texinfo 1.2275 + The new document "Modeling Language GLPK/L" was included. 1.2276 + 1.2277 + * doc/glpk_ug.texinfo 1.2278 + New edition of the document "GLPK User's Guide" was included. 1.2279 + 1.2280 + * doc/language.txt 1.2281 + The preliminary document "GLPK/L Modeling Language: A Brief 1.2282 + description" was removed from the distribution, because it has 1.2283 + been replaced by the new document "Modeling Language GLPK/L". 1.2284 + 1.2285 + * glplang/l_spar.c 1.2286 + The routine comparison() was re-programmed in order to 1.2287 + implement the relation operation as specified in the language 1.2288 + description. 1.2289 + 1.2290 + * glpmip.h, glpmip/*.c 1.2291 + The partition 'glpmip' was renamed to 'glpbbm'. 1.2292 + 1.2293 +Thu May 10 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2294 + 1.2295 + * GLPK 2.4 has been released. 1.2296 + 1.2297 + Now GLPK includes an implementation of a preliminary version of 1.2298 + the GLPK/L modeling language. 1.2299 + 1.2300 + * glplang.h, glplang/*.c 1.2301 + The header 'glplang.h' and a set of routines that implements 1.2302 + the GLPK/L language processor (the partition 'glplang') were 1.2303 + added to the package. 1.2304 + 1.2305 + * doc/language.txt 1.2306 + The document "GLPK/L Modeling Language: A Brief Description 1.2307 + (Supplement to GLPK User's Guide)" in plain text format was 1.2308 + included in the package (see the file 'language.txt' in the 1.2309 + subdirectory 'doc' of the distribution). 1.2310 + 1.2311 + * ex/model1.lpm, ex/model2.lpm 1.2312 + Two examples of model descriptions written in GLPK/L were added 1.2313 + to the package. 1.2314 + 1.2315 + * sample/glpsol.c 1.2316 + This program was modified in order: a) to allow processing 1.2317 + model description written in GLPK/L; b) to allow solving pure 1.2318 + LP problem using the interior point method. 1.2319 + 1.2320 + * sample/glpipm.c 1.2321 + This program was removed from the package, because its function 1.2322 + was passed to the GLPSOL solver. 1.2323 + 1.2324 + * Makefile.in 1.2325 + This file was changed in order to install the GLPSOL solver 1.2326 + executable. 1.2327 + 1.2328 +Mon Apr 09 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2329 + 1.2330 + * GLPK 2.3 has been released. 1.2331 + 1.2332 + * glpmip.h, glpmip/*.c 1.2333 + These routines (that implement the branch-and-bound method) were 1.2334 + re-programmed in order to improve robustness of implementation. 1.2335 + In particular, heuristic routines were carried out from the main 1.2336 + driver routine. 1.2337 + 1.2338 + Additional GLPK API routines were documented. 1.2339 + 1.2340 + New edition of the document "GLPK User's Guide" was included in 1.2341 + the package. 1.2342 + 1.2343 + The preliminary document "Mixed Integer Programming Using GLPK 1.2344 + Version 2.2 (Supplement to GLPK User's Guide)" was removed from 1.2345 + the package, because this material was included in GLPK User's 1.2346 + Guide. 1.2347 + 1.2348 +Thu Mar 15 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2349 + 1.2350 + * GLPK 2.2 has been released. 1.2351 + 1.2352 + Now GLPK includes a tentative implementation of the 1.2353 + branch-and-bound procedure based on the dual simplex method for 1.2354 + mixed integer linear programming (MIP). 1.2355 + 1.2356 + The preliminary document "Mixed Integer Programming Using GLPK 1.2357 + Version 2.2 (Supplement to GLPK User's Guide)" was included into 1.2358 + the package in plain text format (see the file 'mip.txt' in the 1.2359 + subdirectory 'doc' of the distribution). 1.2360 + 1.2361 + * glpmip.h, glpmip/*.c, glpapi/glp_integer.c 1.2362 + These routines (that implement the branch-and-bound method) were 1.2363 + added to the package. 1.2364 + 1.2365 + * sample/glpsol.c 1.2366 + This program was modified in order to allow solving LP and MIP 1.2367 + problems. 1.2368 + 1.2369 + * glprsm/rsm_primal.c, glprsm/rsm_dual.c, glprsm/rsm_feas.c, 1.2370 + * glprsm/rsm1_driver.c 1.2371 + These routines (which are drivers to basic components of the 1.2372 + revised simplex method) were added to the package. 1.2373 + 1.2374 +Mon Feb 19 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2375 + 1.2376 + * GLPK 2.1 has been released. 1.2377 + 1.2378 + * glprsm.h, glprsm/*.c 1.2379 + These routines (that implement components of the revised simplex 1.2380 + method) were re-programmed and documented. 1.2381 + 1.2382 + The document "GLPK Implementation of the Revised Simplex Method" 1.2383 + was included into the package. 1.2384 + 1.2385 +Thu Jan 25 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2386 + 1.2387 + * GLPK 2.0 has been released. 1.2388 + 1.2389 + Now GLPK includes a tentative implementation of the primal-dual 1.2390 + interior point method for large-scale linear programming (for 1.2391 + more details see the file `NEWS' in the distribution). A number 1.2392 + of routines related to the interior point method were added to 1.2393 + the package. 1.2394 + 1.2395 + * insist.c 1.2396 + The routine `insist' and the macro of the same name were 1.2397 + introduced into the package in order to replace the standard 1.2398 + macro `assert'. Some routines require the expression specified 1.2399 + in the `assert' macro to be evaluated, but compiling the package 1.2400 + with NDEBUG option prevents from that. This bug was fixed due to 1.2401 + bug report provided by Peter A. Huegler <phuegler@bsco.com>. 1.2402 + 1.2403 + * Makefile.in 1.2404 + Minor bug was fixed due to a patch provided by Alexandre Oliva 1.2405 + <oliva@lsd.ic.unicamp.br>. 1.2406 + 1.2407 +Wed Jan 10 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2408 + 1.2409 + * GLPK 1.1.2 has been released. 1.2410 + 1.2411 + * umalloc.c, ufree.c, create_pool.c, get_atom.c, get_atomv.c 1.2412 + These routines were changed in order to fix a bug due to 1.2413 + report provided by Andrew Hood <ajhood@fl.net.au>. Because of 1.2414 + this bug data alignment error occured on the Sparc computer. 1.2415 + 1.2416 +Tue Dec 14 12:00:00 2000 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2417 + 1.2418 + * GLPK 1.1.1 has been released. 1.2419 + 1.2420 + Minor bug was fixed in `Makefile.in'. 1.2421 + 1.2422 + GLPK Library Reference was included. 1.2423 + 1.2424 +Mon Nov 27 12:00:00 2000 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2425 + 1.2426 + * GLPK 1.1 has been released. 1.2427 + 1.2428 + Minor changes were made in order to co-ordinate GLPK routines 1.2429 + and their descriptions. 1.2430 + 1.2431 + GLPK User's Guide was included. 1.2432 + 1.2433 +Fri Oct 20 12:00:00 2000 Andrew Makhorin <mao@mai2.rcnet.ru> 1.2434 + 1.2435 + * GLPK 1.0 has been released.