lemon-project-template-glpk
comparison 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 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c53d2243aa20 |
---|---|
1 Fri Sep 09 12:00:00 2011 Andrew Makhorin <mao@gnu.org> | |
2 | |
3 * GLPK 4.47 (32:0:32) has been released | |
4 | |
5 * src/glpapi20.c | |
6 New API routine glp_infeas1 to solve 0-1 feasibility problem | |
7 was added and documented (see doc/cnfsat.pdf). | |
8 | |
9 * src/glpnpp06.c | |
10 Some new preprocessor routines for SAT-CNF encoding, which are | |
11 used by the routine glp_intfeas1, were added. | |
12 | |
13 * src/glpnpp.h | |
14 The header was modified due to additions. | |
15 | |
16 * src/glpapi21.c | |
17 The glpsol solver was modified to bypass model postprocessing | |
18 if the solution reported is neither optimal nor feasible. | |
19 | |
20 * src/glpapi21.c | |
21 New glpsol options (--minisat and --objbnd) were added. | |
22 | |
23 * examples/pbn/*.* | |
24 The paint-by-numbers puzzle model (pbn.mod) was modified to | |
25 print solution in PostScript format and to check for multiple | |
26 solutions. Some benchmark examples from <webpbn.com> encoded | |
27 in MathProg were included in the distribution. For more details | |
28 see examples/pbn/README and examples/pbn/pbn.pdf. | |
29 | |
30 * examples/Makefile.am | |
31 A minor bug was fixed to correctly build glpk in a separate | |
32 directory. Thanks to Marco Atzeri <marco.atzeri@gmail.com> for | |
33 bug report. | |
34 | |
35 Tue Aug 09 12:00:00 2011 Andrew Makhorin <mao@gnu.org> | |
36 | |
37 * GLPK 4.46 (31:0:31) has been released | |
38 | |
39 * src/glpk.h, src/Makefile | |
40 glpk.h was relocated from 'include' to 'src', and 'include' | |
41 subdir was removed; src/Makefile.am was changed appropriately. | |
42 | |
43 * src/zlib/*.* | |
44 zlib general purpose compression library, version 1.2.5, | |
45 was ANSIfied and modified according to GLPK requirements and | |
46 included in the distribution as an external software module. | |
47 | |
48 For details see src/zlib/README. | |
49 | |
50 * src/glpdmx.c | |
51 The following new API routines were added: | |
52 glp_read_cnfsat - read CNF-SAT problem data in DIMACS format | |
53 glp_check_cnfsat - check for CNF-SAT problem instance | |
54 glp_write_cnfsat - write CNF-SAT problem data in DIMACS format | |
55 | |
56 * src/minisat/*.* | |
57 MiniSat, a CNF-SAT solver, version 1.14.1, was ANSIfied and | |
58 modified according to GLPK requirements and included in the | |
59 distribution as an external software module. | |
60 | |
61 For details see minisat/README and minisat/LICENSE. | |
62 | |
63 * src/glpapi19.c | |
64 The API routine glp_minisat1, which is a driver to the MiniSat | |
65 solver, was included in the package. | |
66 | |
67 * doc/satcnf.* | |
68 The document "CNF Satisfiability Problem" was included in the | |
69 package. It is a supplement to the GLPK Reference Manual. | |
70 | |
71 * src/glpapi20.c | |
72 New glpsol options (--cnf, --wcnf, and --minisat) was added. | |
73 | |
74 * glpsql.c | |
75 Some bugs were fixed. Thanks to Xypron <xypron.glpk@gmx.de>. | |
76 | |
77 Sun Dec 05 12:00:00 2010 Andrew Makhorin <mao@gnu.org> | |
78 | |
79 * GLPK 4.45 (30:0:30) has been released | |
80 | |
81 * glplpx01.c | |
82 A bug (it_cnt) in routine reset_parms was fixed. | |
83 Thanks to Ali Baharev <ali.baharev@gmail.com> for report. | |
84 | |
85 * glpmpl03.c | |
86 A bug (print "text\") was fixed. | |
87 Thanks to Xypron <xypron.glpk@gmx.de> for report. | |
88 | |
89 * glpsql.c | |
90 A precision bug was fixed. | |
91 Thanks to Xypron <xypron.glpk@gmx.de>. | |
92 | |
93 * glpk.tex | |
94 Some typos were corrected. | |
95 Thanks to Robbie Morrison <robbie@actrix.co.nz>. | |
96 | |
97 Thu Jun 03 12:00:00 2010 Andrew Makhorin <mao@gnu.org> | |
98 | |
99 * GLPK 4.44 (29:0:29) has been released | |
100 | |
101 * glpapi14.c glpmpl.h glpmpl01.c glpmpl03.c glpmpl04.c | |
102 Implemented suffixes for variables and constraints. | |
103 | |
104 * glpmpl06.c | |
105 Made changes to allow comment records in CSV files. | |
106 | |
107 * glpapi17.c | |
108 Added and documented new API routine glp_cpp to solve Critical | |
109 Path Problem. | |
110 | |
111 Sat Feb 20 12:00:00 2010 Andrew Makhorin <mao@gnu.org> | |
112 | |
113 * GLPK 4.43 (28:0:28) has been released | |
114 | |
115 * glplib.h, glplib.c, glpenv.h, glpenv.c | |
116 The module glpenv was split into two modules glpenv and glplib. | |
117 | |
118 * glpenv01.c, glpenv03.c, glpenv04.c, glpenv06.c | |
119 The following new API routines were added and documented: | |
120 glp_init_env, glp_free_env, glp_open_tee, glp_close_tee, | |
121 glp_error (macro), glp_difftime. | |
122 | |
123 * glpapi16.c | |
124 New API routine glp_top_sort (topological sorting of ayclic | |
125 digraph) was added and documented. | |
126 | |
127 * glpapi17.c | |
128 A serious bug was fixed in the routine glp_asn_prob_hall. | |
129 | |
130 * glpnpp05.c | |
131 A bug was fixed in the LP/MIP preprocessor (hidden covering | |
132 inequalities). | |
133 | |
134 * glpsql.c | |
135 Some improvements were made in the table driver (NULL data). | |
136 Thanks to Xypron <xypron.glpk@gmx.de> for contribution. | |
137 | |
138 * configure.ac | |
139 Changes were made to use .dylib rather than .so under Mac OS. | |
140 Thanks to Noli Sicad <nsicad@gmail.com> for testing | |
141 | |
142 Wed Jan 13 12:00:00 2010 Andrew Makhorin <mao@gnu.org> | |
143 | |
144 * GLPK 4.42 (27:0:27) has been released | |
145 | |
146 * glpapi01.c, glpapi11.c, glpapi12.c, glpdmx.c | |
147 The following new API routines were added and documented: | |
148 glp_check_dup (check for duplicate elements in sparse matrix); | |
149 glp_sort_matrix (sort elements of the constraint matrix); | |
150 glp_read_prob (read problem data in GLPK format); | |
151 glp_write_prob (write problem data in GLPK format); | |
152 glp_analyze_bound (analyze active bound of non-basic variable); | |
153 glp_analyze_coef (analyze obj. coefficient at basic variable); | |
154 glp_print_ranges (print sensitivity analysis report; replaces | |
155 lpx_print_sens_bnds). | |
156 | |
157 * glpapi20.c | |
158 New command-line options were added to glpsol: | |
159 --glp (read problem data in GLPK format); | |
160 --wglp (write problem data in GLPK format); | |
161 --lp (replaces --cpxlp); | |
162 --wlp (replaces --wcpxlp); | |
163 --ranges (print sensitivity analysis report). | |
164 | |
165 * glpapi06.c | |
166 In the routine glp_init_smcp default value of the parameter | |
167 out_frq was changed to 500 (it was 200). | |
168 | |
169 * glpipp.h, glpipp01.c, glpipp02.c | |
170 The old MIP preprocessor module was removed. | |
171 | |
172 * glpapi09.c | |
173 Now the MIP solver uses the new MIP preprocessor (NPP). | |
174 | |
175 * glplpx03.c | |
176 lpx_write_opb was disabled due to replacing IPP with NPP. | |
177 | |
178 * glpnet09.c | |
179 Kellerman's heuristic to cover edges by cliques was added. | |
180 | |
181 * glplib08.c | |
182 Recognition of special filenames "/dev/stdin", "/dev/stdout", | |
183 and "/dev/stderr" was added. | |
184 | |
185 * glpk.tex | |
186 Chapter "Graph and network routines" was carried out from the | |
187 reference manual as a separate document. | |
188 | |
189 Mon Dec 21 12:00:00 2009 Andrew Makhorin <mao@gnu.org> | |
190 | |
191 * GLPK 4.41 (26:0:26) has been released | |
192 | |
193 * glpapi12.c | |
194 The following new API routines were added: | |
195 glp_transform_row (replaces lpx_transform_row); | |
196 glp_transform_col (replaces lpx_transform_col); | |
197 glp_prim_rtest (replaces lpx_prim_ratio_test); | |
198 glp_dual_rtest (replaces lpx_dual_ratio_test). | |
199 Note that values returned by glp_prim_rtest and glp_dual_rtest | |
200 differ from the ones retutned by the deprecated routines. | |
201 | |
202 * glpnpp*.* | |
203 The LP/MIP preprocessor was essentially re-implemented. | |
204 | |
205 * glpios03.c | |
206 The feature to remove inactive cuts from the active subproblem | |
207 was implemented. | |
208 | |
209 * glpios11.c | |
210 The feature processing cuts stored in the cut pool was improved | |
211 (now it uses estimation of objective degradation). | |
212 | |
213 * glpscg.* | |
214 Obsolete implemetation of the conflict graph was removed. | |
215 | |
216 * glpmpl.h, glpmpl03.c, glpmpl04.c | |
217 FILE was replaced by XFILE to allow using GLPK I/O routines. | |
218 | |
219 * glpsql.c, examples/sql, doc/tables.tex | |
220 The SQL table driver was changed to allow multiple arguments | |
221 separated by semicolon in SQL statements. Thanks to Xypron | |
222 <xypron.glpk@gmx.de>. | |
223 | |
224 * glpk.h, glpapi14.c | |
225 New API routine glp_time was added (not documented yet). | |
226 | |
227 * glpapi20.c | |
228 Two new options were added to glpsol: --seed value (initialize | |
229 pseudo-random number generator used in MathProg model with | |
230 specified seed value), and --ini filename (use as initial basis | |
231 previously saved with -w option). | |
232 | |
233 * examples/xyacfs.mod | |
234 Thanks to Nigel Galloway <nigel_galloway@operamail.com> for | |
235 contribution. | |
236 | |
237 * examples/dbf/*.* | |
238 Thanks to Noli Sicad <nsicad@gmail.com> for contribution. | |
239 | |
240 * w32/*.*, w64/*.* | |
241 Scripts to build GLPK with Microsoft Visual Studio 2010 were | |
242 added. Thanks to Xypron <xypron.glpk@gmx.de> for contribution | |
243 and testing. | |
244 | |
245 Tue Nov 03 12:00:00 2009 Andrew Makhorin <mao@gnu.org> | |
246 | |
247 * GLPK 4.40 (25:0:25) has been released | |
248 | |
249 * glpdmx.c | |
250 Two new API routines were added: | |
251 glp_read_ccdata (read graph in DIMACS clique/coloring format); | |
252 glp_write_ccdata (write graph in DIMACS clique/coloring format). | |
253 Also an example file examples/sample.col was added. | |
254 | |
255 * glpapi19.c, glpnet08.c | |
256 New API routine glp_wclique_exact was added. It is intended to | |
257 find a maximum weight clique with the exact algorithm developed | |
258 by Prof. P. Ostergard. | |
259 | |
260 * glpnpp02.c | |
261 A bug was fixed in the LP preprocessor (routine npp_empty_col). | |
262 Thanks to Stefan Vigerske <stefan@math.hu-berlin.de> for the | |
263 bug report. | |
264 | |
265 * glpios10.c | |
266 A bug was fixed and some improvements were made in the FPUMP | |
267 heuristic module. Thanks to Xypron <xypron.glpk@gmx.de>. | |
268 | |
269 * glpapi12.c | |
270 A bug was fixed in the API routine glp_warm_up (dual | |
271 feasibility test was incorrect in maximization case). Thanks to | |
272 Uday Venkatadri <Uday.Venkatadri@dal.ca> for the bug report. | |
273 | |
274 * glpapi16.c | |
275 Two new API routines were added: | |
276 glp_del_vertices (remove vertices from graph); | |
277 glp_del_arc (remove arc from graph). | |
278 | |
279 * glpios09.c | |
280 The hybrid pseudocost branching heuristic was included in the | |
281 MIP solver. It is available on API level (iocp.br_tech should | |
282 be set to GLP_BR_PCH) and in the stand-alone solver glpsol | |
283 (via the command-line option --pcost). This heuristic may be | |
284 useful on solving hard MIP instances. | |
285 | |
286 * glpios03.c | |
287 The branching heuristic by Driebeck and Tomlin (used in the | |
288 MIP solver by default) was changed to switch to branching on | |
289 most fractional variable if an lower bound of degradation of | |
290 the objective is close to zero for all branching candidates. | |
291 | |
292 Sun Jul 26 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> | |
293 | |
294 * GLPK 4.39 (24:0:24) has been released | |
295 | |
296 * glpsdf.c | |
297 New API routines to read plain data files were added. | |
298 | |
299 * glpcpx.h, glpini.h, glpscl.h | |
300 These headers were removed. | |
301 | |
302 * glpcpx.c | |
303 API routines glp_read_lp and glp_write_lp to read/write files | |
304 in CPLEX LP format were re-implemented. Now glp_write_lp | |
305 correctly writes double-bounded (ranged) rows by introducing | |
306 slack variables rather than by duplicating the rows. The data | |
307 structure glp_cpxcp and routine glp_init_cpxcp were added. | |
308 | |
309 * amd/* | |
310 The 'xfree(NULL)' bug was fixed in the AMD routines. Thanks to | |
311 Niels Klitgord <niels@bu.edu> for the bug report. | |
312 | |
313 * glpapi16.c | |
314 New API routines glp_set_vertex_name, glp_create_v_index, | |
315 glp_find_vertex, and glp_delete_v_index were added. | |
316 | |
317 * glpdmx.c | |
318 New API routines glp_read_asnprob, glp_write_asnprob, | |
319 glp_read_ccformat, and glp_write_ccformat were added (the two | |
320 latter routines are not documented yet). | |
321 | |
322 * glpapi18.c | |
323 New API routines glp_check_asnprob, glp_asnprob_lp, | |
324 glp_asnprob_okalg, and glp_asnprob_hall were added. | |
325 | |
326 * glpini01.c, glpini02.c | |
327 The message "Crashing..." was changed to "Constructing initial | |
328 basis..." due to suggestion by Thomas Kahle <tom111@gmx.de>. | |
329 | |
330 * glpapi14.c | |
331 New API routines glp_printf, glp_vprintf, glp_malloc, | |
332 glp_calloc, glp_free, and glp_assert were added. | |
333 | |
334 * glplpp.h, glplpp01.c, glplpp02.c | |
335 Old LP presolver routines were removed. Now glp_simplex uses | |
336 new preprocessing routines (see glpnpp). | |
337 | |
338 * glpapi12.c | |
339 New API routine glp_warm_up was added; it replaces the routine | |
340 lpx_warm_up. | |
341 | |
342 Sat May 02 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> | |
343 | |
344 * GLPK 4.38 (23:0:23) has been released | |
345 | |
346 * glpmps.c | |
347 API routines to read/write MPS files were re-implemented. | |
348 | |
349 * glpspx02.c | |
350 Some improvements were made in the dual simplex routine. | |
351 | |
352 * glpk.h | |
353 New structure glp_iptcp was added. | |
354 | |
355 * glpnpp.h, glpnpp01.c, glpnpp02.c | |
356 New LP/MIP preprocessor. Currently it includes only some basic | |
357 routines and used only in the interior-point solver. | |
358 | |
359 * glpapi08.c | |
360 API routine glp_interior was replaced by an improved version | |
361 (new LP/MIP preprocessor, new ordering algorithms). | |
362 | |
363 New API routine glp_init_iptcp was added. | |
364 | |
365 API routine glp_ipt_status may return two new statuses due to | |
366 changes in glp_interior. | |
367 | |
368 * glpsol.c | |
369 New command-line options were added (ordering algorithm used in | |
370 the interior-point solver). | |
371 | |
372 * amd/*.*, colamd/*.* | |
373 Two external software modules AMD and COLAMD/SYMAMD used in the | |
374 interior-point solver were included in the distribution. | |
375 | |
376 For details see amd/README and colamd/README. | |
377 | |
378 * glpnet03.c, glpnet04.c, glpnet05.c | |
379 A minor bug was fixed (_G => G_). Thanks to Nelson H. F. Beebe | |
380 <beebe@math.utah.edu> for bug report. | |
381 | |
382 Sun Mar 29 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> | |
383 | |
384 * GLPK 4.37 (22:0:22) has been released | |
385 | |
386 * glpk.h | |
387 iocp.fp_heur was added to enable/disable fpump heuristic. | |
388 | |
389 * glpios10.c | |
390 ios_feas_pump was added (feasibility pump heuristic). | |
391 | |
392 * glpsol.c | |
393 --fpump command-line option was added. | |
394 | |
395 * glpsds.c | |
396 Plain data set routines were added to facilitate reading plain | |
397 data in application programs. Currently these routines are not | |
398 in API, though declared in glpk.h. | |
399 | |
400 * glpapi08.c | |
401 A bug was fixed in the internal routine restore. (Due to this | |
402 bug dual solution components were computed incorrectly if the | |
403 problem was scaled.) | |
404 | |
405 * glpapi10.c, glpapi11.c | |
406 The following new API routines were added: | |
407 glp_print_sol (replaces lpx_print_sol); | |
408 glp_print_ipt (replaces lpx_print_ips); | |
409 glp_print_mip (replaces lpx_print_mip); | |
410 _glp_check_kkt (replaces lpx_check_kkt, lpx_check_int). | |
411 Now the routine lpx_print_prob (deprecated) is equivalent to | |
412 the routine glp_write_lp. | |
413 | |
414 * glpapi18.c, glpapi19.c | |
415 The following new API routines were added: | |
416 glp_read_graph (read graph from plain text file); | |
417 glp_write_graph (write graph to plain text file); | |
418 glp_weak_comp (find all weakly connected components); | |
419 glp_strong_comp (find all strongly connected components). | |
420 | |
421 * configure.ac, Makefile.am | |
422 Changes were made: (a) to allow using autoreconf/autoheader; | |
423 (b) to allow building glpk in a directory other than its source | |
424 directory. Thanks to Marco Atzeri <marco_atzeri@yahoo.it> for | |
425 bug report. | |
426 | |
427 * examples/shiftcover.mod | |
428 An example model in MathProg was added. | |
429 Thanks to Larry D'Agostino <Larry.D'Agostino@gmacrescap.com> | |
430 for contribution. | |
431 | |
432 Fri Feb 06 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> | |
433 | |
434 * GLPK 4.36 (21:0:21) has been released | |
435 | |
436 * glpnet06.c, glpnet07.c, glpapi19.c | |
437 The following new API routines were added: | |
438 glp_mincost_okalg find minimum-cost flow with out-of-kilter | |
439 algorithm | |
440 glp_maxflow_ffalg find maximal flow with Ford-Fulkerson | |
441 algorithm | |
442 | |
443 * glpsol.c | |
444 Two new command-line options were added: | |
445 --mincost read min-cost flow data in DIMACS format | |
446 --maxflow read maximum flow data in DIMACS format | |
447 | |
448 * doc/glpk.* | |
449 New edition of the reference manual was included. | |
450 | |
451 * glpk.h | |
452 Duplicate symbols were removed to allow using swig. | |
453 Thanks to Kelly Westbrooks <kellywestbrooks@yahoo.com> and | |
454 Nigel Galloway <nigel_galloway@operamail.com> for suggestion. | |
455 | |
456 * glpcpx.c | |
457 A minor defect was fixed in the routine glp_write_lp. | |
458 Thanks to Sebastien Briais <sbriais@free.fr> for bug report. | |
459 | |
460 * glpsql.c | |
461 A minor bug was fixed. Thanks to Xypron <xypron.glpk@gmx.de> | |
462 for patch. | |
463 | |
464 * examples/hashi.mod, examples/shikaku.mod | |
465 Two example models in MathProg were added. Thanks to Sebastian | |
466 Nowozin <nowozin@gmail.com> for contribution. | |
467 | |
468 * examples/qfit.mod, examples/yacfs.mod | |
469 Two example models in MathProg were added. Thanks to Nigel | |
470 Galloway <nigel_galloway@operamail.com> for contribution. | |
471 | |
472 Fri Jan 09 12:00:00 2009 Andrew Makhorin <mao@mai2.rcnet.ru> | |
473 | |
474 * GLPK 4.35 (20:0:20) has been released | |
475 | |
476 * glpk.h, glpapi.c, glpnet.c | |
477 The following new API routines were added: | |
478 glp_create_graph create graph | |
479 glp_set_graph_name assign (change) graph name | |
480 glp_add_vertices add new vertices to graph | |
481 glp_add_arc add new arc to graph | |
482 glp_erase_graph erase graph content | |
483 glp_delete_graph delete graph | |
484 glp_read_mincost read minimum cost flow problem data in | |
485 DIMACS format | |
486 glp_write_mincost write minimum cost flow problem data in | |
487 DIMACS format | |
488 glp_mincost_lp convert minimum cost flow problem to LP | |
489 glp_netgen Klingman's network problem generator | |
490 glp_gridgen grid-like network problem generator | |
491 glp_read_maxflow read maximum flow problem data in DIMACS | |
492 format | |
493 glp_write_maxflow write maximum flow problem data in DIMACS | |
494 format | |
495 glp_maxflow_lp convert maximum flow problem to LP | |
496 glp_rmfgen Goldfarb's maximum flow problem generator | |
497 | |
498 * doc/glpk.* | |
499 New edition of the reference manual was included. | |
500 | |
501 * examples/sample.min, examples/sample.max | |
502 Two example data files in DIMACS format were added. | |
503 | |
504 * glplib04.c | |
505 The statement "if (c = '\n') fflush(stdout)" was added to the | |
506 internal routine xputc to provide "real-time" terminal output. | |
507 Thanks to Luiz Bettoni <bettoni@cpgei.ct.utfpr.edu.br> for | |
508 suggestion. | |
509 | |
510 * glpmpl05.c | |
511 A minor bug was fixed in the internal routine mpl_fn_time2str. | |
512 Thanks to Stefan Vigerske <stefan@vigerske.de> for bug report. | |
513 | |
514 * w32/makefile, w64/makefile | |
515 The flag -O2 (/O2) was added to some makefiles. | |
516 | |
517 Thu Dec 04 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> | |
518 | |
519 * GLPK 4.34 (19:0:19) has been released | |
520 | |
521 * src/glpios03.c | |
522 A bug was fixed in the internal routine branch_on. Thanks to | |
523 Nigel Galloway <nigel_galloway@operamail.com> for bug report. | |
524 | |
525 * src/glpmpl05.c | |
526 Three new MathProg functions were included: | |
527 gmtime obtaining current calendar time | |
528 str2time converting character string to calendar time | |
529 time2str converting calendar time to character string | |
530 Thanks to Xypron <xypron.glpk@gmx.de>. | |
531 | |
532 * doc/glpk.*, doc/gmpl.* | |
533 A new edition of the GLPK reference manual and GNU MathProg | |
534 language description were included. | |
535 | |
536 Thu Oct 30 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> | |
537 | |
538 * GLPK 4.33 (18:0:18) has been released | |
539 | |
540 * glpapi*.* | |
541 The following new API routines were added: | |
542 glp_copy_prob copy problem object content | |
543 glp_exact solve LP in exact arithmetic | |
544 (makes lpx_exact deprecated) | |
545 glp_get_unbnd_ray determine variable causing unboundedness | |
546 (makes lpx_get_ray_info deprecated) | |
547 glp_interior solve LP with interior-point method | |
548 (makes lpx_interior deprecated) | |
549 | |
550 * glpapi*.* | |
551 The following new API routines for processing models written in | |
552 the GNU Mathprog language were added to the package: | |
553 glp_mpl_alloc_wksp allocate the translator workspace | |
554 glp_mpl_read_model read and translate model section | |
555 glp_mpl_read_data read and translate data section | |
556 glp_mpl_generate generate the model | |
557 glp_mpl_build_prob build LP/MIP instance from the model | |
558 glp_mpl_postsolve postsolve the model | |
559 glp_mpl_free_wksp deallocate the translator workspace | |
560 (These routines make lpx_read_model deprecated.) | |
561 | |
562 * src/glpapi17.c, examples/glpsol.c | |
563 The stand-alone solver glpsol was re-implemented with new API | |
564 routines. | |
565 | |
566 * src/glpsql.c | |
567 Some bugs were fixed in the SQL table driver. Thanks to Xypron | |
568 <xypron.glpk@gmx.de>. | |
569 | |
570 * examples/cplex/*.* | |
571 A crude implementation of CPLEX-like interface to GLPK API was | |
572 added to the package. See examples/cplex/README. | |
573 | |
574 Fri Oct 03 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> | |
575 | |
576 * GLPK 4.32 (17:0:17) has been released | |
577 | |
578 * glpmpl01.c | |
579 A bug was fixed. Due to this bug iterated expressions having | |
580 an indexing expression whose dummy indices are bound to some | |
581 values, i.e. like sum{(i+1,j,k-1) in E} x[i,j,k] are evaluated | |
582 incorrectly. Namely, current value of such expressions is not | |
583 invalidated when corresponding dummy indices (like i and k in | |
584 the example above) are changed, that erroneously results in the | |
585 same value evaluated for the first time. | |
586 | |
587 * glpios03.c | |
588 Euclidean reduction of the local objective bound was added in | |
589 the routine glpios03.c. | |
590 | |
591 * glpapi11.c | |
592 The following new branch-and-cut API routines were added: | |
593 glp_ios_row_attr determine additional row attributes; | |
594 glp_ios_pool_size determine current size of the cut pool; | |
595 glp_ios_add_row add constraint to the cut pool; | |
596 glp_ios_del_row delete constraint from the cut pool; | |
597 glp_ios_clear_pool delete all constraints from the cut pool. | |
598 | |
599 * glpapi08.c | |
600 The following new features were included in the branch-and-cut | |
601 solver (the API routine glp_intopt): | |
602 MIP presolver; | |
603 mixed cover cut generator; | |
604 clique cut generator. | |
605 Due to the MIP presolver glp_intopt may additionally return | |
606 GLP_ENOPFS and GLP_ENODFS, if primal or dual infeasibility of | |
607 LP relaxation is detected by the presolver. Also the return | |
608 code GLP_EMIPGAP was introduced to correctly indicate that the | |
609 mip gap tolerance is reached. | |
610 | |
611 * glplpx01.c | |
612 Now the obsolete API routines lpx_integer and lpx_intopt are | |
613 completely superseded by the API routine glp_intopt that makes | |
614 them deprecated. | |
615 | |
616 * glpmpl05.c | |
617 Now the table driver name "iODBC" can be specified as "ODBC". | |
618 | |
619 * glpmpl03.c | |
620 A bug fixed in the routine free_dca. | |
621 Thanks to Xypron <xypron.glpk@gmx.de>. | |
622 | |
623 * glpsql.c | |
624 A bug was fixed in the SQL table driver. | |
625 Thanks to Xypron <xypron.glpk@gmx.de>. | |
626 | |
627 * examples/glpsol.c | |
628 Changes were made to allow multiple MathProg data files. | |
629 | |
630 * doc/glpk.* | |
631 A new edition of the GLPK reference manual was included. | |
632 | |
633 * doc/tables.* | |
634 A new edition of the supplement "Using data tables in the GNU | |
635 MathProg language" was included. | |
636 | |
637 Tue Sep 02 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> | |
638 | |
639 * GLPK 4.31 (16:0:16) has been released | |
640 | |
641 * glpspx.h, glpspx01.c, glpspx02.c, glpapi06.c | |
642 The dual simplex solver (spx_dual_opt) was replaced by a new | |
643 implementation of the two-phase dual simplex method (spx_dual). | |
644 Old simplex method routines (spx_prim_opt, spx_prim_feas, and | |
645 spx_dual_opt) were removed from the package. | |
646 | |
647 * glpk.h, glpscl.h, glpscl.c, glpapi04.c | |
648 New API routine glp_scale_prob was added. It replaces routine | |
649 lpx_scale_prob which is deprecated. | |
650 | |
651 * glpk.h, glpini.h, glpini01.c, glpini02.c, glpapi05.c | |
652 New API routines glp_std_basis, glp_adv_basis, glp_cpx_basis | |
653 were added. They replace routines lpx_std_basis, lpx_adv_basis, | |
654 lpx_cpx_basis which are deprecated. | |
655 | |
656 * glpdmp.c | |
657 8-byte data alignment was added to the module (sufficient for | |
658 both ILP32 and LP64 environments). | |
659 | |
660 * glplib07.c | |
661 16-byte data alignment was added to the module to provide | |
662 compatibility with LP64 environment (8-byte is not sufficient | |
663 due to jmp_buf; thanks to Xypron for investigation). | |
664 | |
665 * glplpx16.c | |
666 New version of the routine lpx_write_pb was added. Thanks to | |
667 Oscar Gustafsson <oscarg@isy.liu.se> for the contribution. | |
668 | |
669 * w32/VC9, w64/VC9 | |
670 Makefiles and batch files were added to build GLPK under 32- | |
671 and 64-bit Windows with Microsoft Visual Studio Express 2008. | |
672 Thanks to Heinrich Schuchardt <heinrich.schuchardt@gmx.de> for | |
673 the contribution and testing. | |
674 | |
675 * w32/DM, w32/OWC | |
676 Makefiles and batch files were added to build GLPK with Digital | |
677 Mars C/C++ 8.50 and Open Watcom C/C++ 1.6 (32-bit Windows). | |
678 | |
679 Wed Aug 13 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> | |
680 | |
681 * GLPK 4.30 (15:0:15) has been released | |
682 | |
683 * glpspx.h, glpspx03.c, glpapi06.c | |
684 The primal simplex solver (spx_prim_opt, spx_prim_feas) was | |
685 replaced by a new implementation (spx_primal), which currently | |
686 provides the same features as the old version. | |
687 | |
688 * glpmpl01.c, glpmpl03.c | |
689 Some changes were made in the MathProg translator to allow <, | |
690 <=, >=, and > on comparing symbolic values. Thanks to Heinrich | |
691 Schuchardt <heinrich.schuchardt@gmx.de> for patches. | |
692 | |
693 * glplpx10.c | |
694 Internal routine set_d_eps in the exact LP solver was changed | |
695 to prevent approximation errors in case of integral data. | |
696 Thanks to Markus Pilz <pilz@cs.uni-bonn.de> for bug report. | |
697 | |
698 XXX XXX XX 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> | |
699 | |
700 * GLPK 4.29 (14:0:14) has been released | |
701 | |
702 * configure.ac | |
703 The configure script was changed to disable optional features | |
704 by default. For details see file INSTALL. | |
705 | |
706 * glpipp02.c | |
707 A bug was fixed in the internal routine reduce_bounds. Thanks | |
708 to Anne-Laurence Putz <anne-laurence.putz@eurodecision.com> for | |
709 the bug report. | |
710 | |
711 * glpapi01.c | |
712 New API routine glp_erase_prob was added. | |
713 | |
714 * glpapi13.c | |
715 New API routines glp_read_mps and glp_write_mps were added. | |
716 They replace API routines lpx_read_mps, lpx_read_freemps, | |
717 lpx_write_mps, and lpx_write_freemps, which are deprecated. | |
718 | |
719 * glpapi14.c | |
720 New API routines glp_read_lp and glp_write_lp were added. They | |
721 replace API routines lpx_read_cpxlp and lpx_write_cpxlp, which | |
722 are deprecated. | |
723 | |
724 * glpsql.c | |
725 Minor bug was fixed. Thanks to Xypron <xypron.glpk@gmx.de> for | |
726 the bug report. | |
727 | |
728 Tue Mar 25 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> | |
729 | |
730 * GLPK 4.28 (13:0:13) has been released | |
731 | |
732 * glplib.h, glplib.c | |
733 Three wrapper routines xdlopen, xdlsym, and xdlclose, which | |
734 provide the shared library support, were added. A particular | |
735 version of these routines depends on the option --enable-dl | |
736 passed to the configure script (see file INSTALL for details). | |
737 Thanks to Rafael Laboissiere <rafael@debian.org> for useful | |
738 advices concerning the shared library support. | |
739 | |
740 * glpsql.c | |
741 A static linking to iODBC and MySQL libraries used in the | |
742 MathProg table drivers was replaced by a dynamic linking to | |
743 corresponding shared libraries. | |
744 Many thanks to Heinrich Schuchardt <heinrich.schuchardt@gmx.de> | |
745 for the contribution and to Vijay Patil <vijay.patil@gmail.com> | |
746 for testing this feature under Windows XP. | |
747 | |
748 * glpgmp.h, glpgmp.c | |
749 A bug (which appeared only on 64-bit platforms) was fixed. | |
750 Thanks to Axel Simon <Axel.Simon@ens.fr> for the bug report. | |
751 | |
752 * glpapi.c | |
753 A bug was fixed in the api routine glp_add_cols. (If the basis | |
754 is valid, adding column keeps it valid, however, col->bind was | |
755 set to -1 rather to 0.) | |
756 Thanks to Cedric[FR] <fox2113@wanadoo.fr> for the bug report. | |
757 | |
758 * glplib.c | |
759 64-bit unsigned int type glp_ulong and corresponding routines | |
760 were replaced by 64-bit signed int type xlong_t. | |
761 | |
762 * glpk.h, glpapi.c | |
763 The type glp_ulong was replaced by glp_long. This affects only | |
764 the api routine glp_mem_usage. | |
765 | |
766 * glplib.c | |
767 Compressed data file support was added. This feature requires | |
768 the zlib data compression libraries and allows compressing and | |
769 decompressing .gz files "on the fly". | |
770 | |
771 * glpcli.h, glpcli.c | |
772 Command-line interface routines were added. (This feature is | |
773 incomplete so far.) | |
774 | |
775 Sun Mar 02 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> | |
776 | |
777 * GLPK 4.27 (12:0:12) has been released | |
778 | |
779 * glpsql.h, glpsql.c | |
780 Two MathProg table drivers for iODBC and MySQL contributed by | |
781 Heinrich Schuchardt <heinrich.schuchardt@gmx.de> were added to | |
782 the package. | |
783 | |
784 * glpmpl05.c | |
785 Mathprog table driver for xBASE was added to the package. | |
786 | |
787 * glpmpl03.c | |
788 A minor was fixed in the MathProg translator (if some field | |
789 specified in the table statement is missing in corresponding | |
790 input table, the bug causes abnormal termination). Thanks to | |
791 Heinrich Schuchardt <heinrich.schuchardt@gmx.de> for the bug | |
792 report. | |
793 | |
794 * glpmpl.h, glpmpl.c | |
795 STRING data type was replaced by plain character strings. | |
796 | |
797 Sun Feb 17 12:00:00 2008 Andrew Makhorin <mao@mai2.rcnet.ru> | |
798 | |
799 * GLPK 4.26 (11:0:11) has been released | |
800 | |
801 * glpmpl.h, glpmpl01.c, glpmpl03.c, glpmpl05.c | |
802 The table statement was implemented. Description of this new | |
803 feature is given in file doc/tables.txt. | |
804 | |
805 * glpios03.c | |
806 A bug causing zero divide error on computing euclidean norm of | |
807 the cut coefficient vector was fixed. | |
808 | |
809 Wed Dec 19 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
810 | |
811 * GLPK 4.25 (10:0:10) has been released | |
812 | |
813 * glpapi10.c | |
814 Routines lpx_eval_tab_row and lpx_eval_tab_col were replaced by | |
815 glp_eval_tab_row and glp_eval_tab_col. | |
816 | |
817 * glpios03.c, glpios05.c | |
818 Gomory's mixed integer cuts were implemented. | |
819 | |
820 * glpscs.h, glpscs.c | |
821 Segmented character string routines are no longer used and were | |
822 removed from the package. | |
823 | |
824 Wed Nov 21 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
825 | |
826 * GLPK 4.24 (9:0:9) has been released | |
827 | |
828 * src/glplpx16.c | |
829 A bug was fixed in the routine lpx_write_cpxlp. If a variable | |
830 x has upper bound and no lower bound, it should appear in the | |
831 bounds section as "-inf <= x <= u", not as "x <= u". Thanks to | |
832 Enric Rodriguez <erodri@lsi.upc.edu> for the bug report. | |
833 | |
834 * src/glpios03.c, src/glpios04.c, src/glpios05.c | |
835 MIR (mixed integer rounding) cuts were implemented. | |
836 | |
837 Sun Oct 28 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
838 | |
839 * GLPK 4.23 (8:0:8) has been released | |
840 | |
841 * src/glplib05.c, configure.ac | |
842 Check for vsnprintf was added. | |
843 | |
844 * include/glppds.h, src/glppds.c | |
845 A module to scan plain data was added. | |
846 | |
847 * src/glpapi09.c | |
848 The following new API routines were added: | |
849 glp_read_sol read basic solution from text file; | |
850 glp_write_sol write basic solution to text file; | |
851 glp_read_ipt read interior-point solution from text file; | |
852 glp_write_ipt write interior-point solution to text file; | |
853 glp_read_mip read MIP solution from text file; | |
854 glp_write_mip write MIP solution to text file. | |
855 | |
856 * src/glpapi12.c | |
857 Advanced API routine glp_free_env was added. | |
858 | |
859 * examples/glpsol.c | |
860 The following three command-line options were added: | |
861 --mipgap tol set relative MIP gap tolerance | |
862 -r filename read solution from filename | |
863 -w filename write solution to filename | |
864 | |
865 Wed Sep 19 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
866 | |
867 * GLPK 4.22 (7:0:7) has been released | |
868 | |
869 * src/glpios02.c | |
870 A bug was fixed in the MIP preprocessor (ios_preprocess_node). | |
871 Thanks to Roberto Bagnara <bagnara@cs.unipr.it> (Department of | |
872 Mathematics, University of Parma, Italy) for the bug report. | |
873 | |
874 * src/glpios02.c | |
875 A bug was fixed in the MIP preprocessor (col_implied_bounds), | |
876 due to which constraint coefficients with small magnitude could | |
877 lead to wrong implied bounds of structural variables. | |
878 | |
879 * src/glpipp02.c | |
880 A similar bug was fixed in the routine reduce_bounds. | |
881 | |
882 * src/glpapi01.c | |
883 A bug was fixed in the routines glp_set_mat_row and | |
884 glp_set_mat_col. (The bug appeared due to incorrect removing | |
885 zero elements from the row/column lists.) | |
886 | |
887 * src/glplpx14.c | |
888 A bug was fixed in the API routines lpx_read_mps and | |
889 lpx_read_freemps, due to which bounds of type LI specified in | |
890 BOUNDS section were incorrectly processed. | |
891 | |
892 * src/glplib05.c | |
893 A call to standard function vsprintf was replaced by a call to | |
894 vsnprintf for security reasons. Many thanks to Peter T. Breuer | |
895 <ptb@inv.it.uc3m.es> and Rafael Laboissiere <rafael@debian.org>. | |
896 | |
897 Tue Aug 28 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
898 | |
899 * GLPK 4.21 (6:0:6) has been released | |
900 | |
901 * glpscg.h, glpscg.c | |
902 Routines to maintain sparse cliqued graph were added. | |
903 | |
904 * glpios02.c | |
905 MIP preprocessing routines were added. | |
906 | |
907 * glpk.h, glpios.h, glpios03.c | |
908 New reasons for calling the callback routine were introduced | |
909 in the MIP solver. | |
910 | |
911 * glpapi08.c | |
912 Default backtracking strategy was changed to best local bound. | |
913 | |
914 * glpapi11.c | |
915 New API routine glp_term_out to enable/disable terminal output | |
916 was added. | |
917 | |
918 * glprng.h, glprng02.c | |
919 Two routines to generate uniformly distributed pseudo-random | |
920 floating-point numbers were added. | |
921 | |
922 Thu Jul 26 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
923 | |
924 * GLPK 4.20 (5:0:5) has been released | |
925 | |
926 * glpk.h, glpapi08.c | |
927 The routine lpx_integer was replaced by an equivalent routine | |
928 glp_intopt. Also new API routine glp_init_iocp was added. | |
929 | |
930 * glpiet.h, glpiet.c | |
931 Routines implementing the implicit enumeration tree are | |
932 no longer used and therefore were removed from the package. | |
933 | |
934 * glpios.h, glpios01.c, glpios02, glpios03 | |
935 Routines implementing the integer optimization suite being | |
936 replaced by a new version were removed from the package. | |
937 | |
938 * glpmip.h, glpmip01.c, glpmip02.c | |
939 | |
940 Routines implementing the B&B method being replaced by a new | |
941 version were removed from the package. | |
942 | |
943 * glpios.h, glpios01.c, glpios02.c | |
944 | |
945 Routines implementing a new version of the integer optimization | |
946 suite (IOS) based on the B&B method were added to the package. | |
947 | |
948 * glpk.h, glpapi10.c | |
949 Branch-and-bound interface routines were added to the package. | |
950 | |
951 * examples/tspsol.c | |
952 The TSP solver based on old version of the integer optimization | |
953 suite is no more supported and was removed from the package. | |
954 | |
955 * glpipp02.c | |
956 An error in the routine reduce_bounds was fixed; thanks to | |
957 Graham Rockwell <bionomicron@gmail.com> for the bug report. | |
958 | |
959 * glpk.latex | |
960 A new edition of the reference manual was included. | |
961 | |
962 Thu Jul 05 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
963 | |
964 * GLPK 4.19 (4:0:4) has been released | |
965 | |
966 The principal change is upgrading to GPLv3. | |
967 | |
968 * glpapi01.c | |
969 A serious bug in the routine glp_del_cols was fixed; thanks to | |
970 Cedric[FR] <fox2113@wanadoo.fr> for the bug report. The bug | |
971 appeared because on deleting non-basic columns the basis header | |
972 remained valid, however, contained invalid (old) column ordinal | |
973 numbers. | |
974 | |
975 * glpapi10.c | |
976 A new advanced API routine glp_mem_limit was added. | |
977 | |
978 * glplpx01.c | |
979 The case GLP_EBOUND was added to the routine lpx_simplex. | |
980 Thanks to Cameron Kellough <Cameron.Kellough@sri.com> for the | |
981 bug report. | |
982 | |
983 * glplpx19.c | |
984 An API routine lpx_write_pb to write the problem instance in | |
985 OPB (pseudo boolean) format format was added. Thanks to Oscar | |
986 Gustafsson <oscarg@isy.liu.se> for the contribution. | |
987 | |
988 * glpsol.c | |
989 Two new options --wpb and --wnpb were added to glpsol to write | |
990 the problem instance in OPB format. | |
991 | |
992 Mon Jun 25 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
993 | |
994 * GLPK 4.18 (3:0:3) has been released | |
995 | |
996 * glplib.h | |
997 Type names ulong_t and uldiv_t were changed to glp_ulong and | |
998 glp_uldiv to avoid conflicts with standard type names on some | |
999 platforms. Thanks to Boris Wirtz <Boris.Wirtz@uni-oldenburg.de> | |
1000 for the bug report. | |
1001 | |
1002 * glpbfd.*, glpfhv.*, glplpf.* | |
1003 LP basis factorization routines were made tidy. | |
1004 | |
1005 * glpk.h, glpapi04.c | |
1006 The following API routines were added: | |
1007 glp_set_rii, glp_set_sjj, glp_get_rii, glp_get_sjj. | |
1008 | |
1009 * glpk.h, glpapi06.c | |
1010 The routine lpx_simplex was replaced by an equivalent routine | |
1011 glp_simplex. Also new API routine glp_init_smcp was added. | |
1012 | |
1013 * glpk.h, glpapi09.c | |
1014 The following advanced API routines were added: | |
1015 glp_bf_exists, glp_factorize, glp_bf_updated, glp_get_bfcp, | |
1016 glp_set_bfcp, glp_get_bhead, glp_get_row_bind, glp_get_col_bind, | |
1017 glp_ftran, glp_btran. | |
1018 | |
1019 * glpk.latex | |
1020 A new edition of the reference manual was included. | |
1021 | |
1022 * examples/dea.mod, examples/food.mod, examples/food2.mod | |
1023 Three examples in the MathProg language were added. | |
1024 Thanks to Sebastian Nowozin <nowozin@gmail.com>. | |
1025 | |
1026 Sat May 26 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1027 | |
1028 * GLPK 4.17 (2:0:2) has been released | |
1029 | |
1030 * glpdmp.h, glpdmp.c | |
1031 Memory pool routines were replaced by a new version. | |
1032 | |
1033 * glpscs.h, glpscs.c | |
1034 Segmented string routines were replaced by a new version. | |
1035 | |
1036 * glplpx08.c, glplpx09.c | |
1037 Now the MIP problem may have no integer columns. | |
1038 | |
1039 * glpapi01.c | |
1040 The routines glp_set_mat_row, glp_set_mat_col, and glp_load_mat | |
1041 were modified to allow zero elements (which are not stored in | |
1042 the constraint matrix). | |
1043 | |
1044 * glpscf.h, glpscf.c | |
1045 Schur complement factorization routines were implemented. | |
1046 | |
1047 * glplpf.h, glplpf.c | |
1048 LP basis factorization routines based on LU-factorization and | |
1049 Schur complement were implemented. | |
1050 | |
1051 * glplpx02.c, glplpx03.c | |
1052 New control parameter LPX_K_BFTYPE was introduced to choose the | |
1053 basis factorization type used by the simplex method routines. | |
1054 | |
1055 * glpsol.c | |
1056 Three new command-line options were added to choose the basis | |
1057 factorization type used by the simplex method routines: --luf, | |
1058 --cbg, and --cgr. | |
1059 | |
1060 * glpk.latex | |
1061 A new edition of the reference manual was included. | |
1062 | |
1063 Sat May 05 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1064 | |
1065 * GLPK 4.16 (1:0:1) has been released | |
1066 | |
1067 * glpk.h, glpapi.c, glplpx01.c, glplpx02.c | |
1068 Names of a number basic api routines were changed and now have | |
1069 the prefix 'glp_'. To keep backward compatibility these routines | |
1070 are also available via their old names prefixed with 'lpx_'. | |
1071 | |
1072 * glplpx19.c | |
1073 Three new api routines were added: glp_version, glp_term_hook, | |
1074 and glp_mem_usage. | |
1075 | |
1076 * glpk.latex, gmpl.texi | |
1077 A new edition of the reference manuals was included. | |
1078 | |
1079 * lpglpk40.c | |
1080 This example program is no longer supported and therefore was | |
1081 removed from the package. | |
1082 | |
1083 Sun Feb 18 12:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1084 | |
1085 * GLPK 4.15 (0:0:0) has been released | |
1086 | |
1087 * configure.ac, Makefile.am | |
1088 Autotools specification files were changed to use GNU Libtool | |
1089 that allows building the static as well as shared GLPK library. | |
1090 Thanks to Rafael Laboissiere <rafael@debian.org>. | |
1091 | |
1092 Mon Feb 05 08:00:00 2007 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1093 | |
1094 * GLPK 4.14 has been released | |
1095 Now GLPK conforms to ILP32, LLP64, and LP64 programming models | |
1096 (the latter seems to be the ultimate choice regarding 64-bit | |
1097 architectures). Note that GLPK itself is a 32-bit application, | |
1098 and the conformity only means that the package works correctly | |
1099 on all these arenae. Nevertheless, on 64-bit platforms it is | |
1100 possible to use more than 4GB of memory, if necessary. | |
1101 | |
1102 * Makefile | |
1103 Starting from this release only the header glpk.h is needed to | |
1104 be installed. | |
1105 | |
1106 * glplib01.c | |
1107 Two routines bigmul and bigdiv which performs multiplication | |
1108 and division of unsigned integers of arbitrary precision were | |
1109 added. | |
1110 | |
1111 * glplib02.c | |
1112 A set of 64-bit arithmetic routines were added. | |
1113 | |
1114 * glplib04.c | |
1115 Some low-level library routines were improved and renamed. | |
1116 | |
1117 * glpcfg.h | |
1118 The macro GLP_TM_SPEC were introduced to specify a version of | |
1119 the time routine depending on the host environment. | |
1120 | |
1121 Mon Nov 13 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1122 | |
1123 * GLPK 4.13 has been released | |
1124 | |
1125 * configure.in | |
1126 '-lm' bug was fixed. | |
1127 | |
1128 * glpbfx.h, glpbfx.c | |
1129 Basis factorization interface routines based on exact (bignum) | |
1130 arithmetic were implemented. | |
1131 | |
1132 * glpssx.h, glpssx1.c, glpssx2.c | |
1133 Simplex method routines based on exact (bignum) arithmetic were | |
1134 implemented. | |
1135 | |
1136 * glplpx6e.c | |
1137 The routine lpx_exact, which is an easy-to-use driver to the | |
1138 exact simplex method, was added. | |
1139 | |
1140 * glpsol.c | |
1141 Two command-line options were added: '--exact' and '--xcheck'. | |
1142 | |
1143 Wed Nov 08 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1144 | |
1145 * GLPK 4.12 has been released | |
1146 | |
1147 * glpcfg.h | |
1148 The package configuration file was added. | |
1149 | |
1150 * glplib2.c | |
1151 Alternative version of the routines umalloc, ucalloc, and ufree | |
1152 was provided. It does not limit the amount of allocated memory | |
1153 to INT_MAX bytes and therefore can be used on platforms where | |
1154 sizeof(void *) > sizeof(int). To enable this version one should | |
1155 define the preprocessor variable GLP_HUGE_MEM. | |
1156 | |
1157 * glprng.c | |
1158 The routine rng_create_rand was changed to initialize the | |
1159 generator using seed = 1, not 0, to conform ISO C requirements. | |
1160 | |
1161 * glpgmp.h, glpgmp.c | |
1162 A set of bignum arithmetic routines implementing operations on | |
1163 integers and rationals was added. These routines are compatible | |
1164 with the GNU MP library. | |
1165 | |
1166 NOTE: To attain a much better performance it is recommended to | |
1167 use, if possible, the original GNU MP library rather than the | |
1168 GLPK version, by defining the preprocessor variable GLP_USE_GMP. | |
1169 | |
1170 * glplux.h, glplux.c | |
1171 A tentative implementation of sparse LU-factorization based on | |
1172 exact (bignum) arithmetic was added. | |
1173 | |
1174 * glpssx.h, glpssx.c | |
1175 A tentative implementation of some simplex method routines based | |
1176 on exact (bignum) arithmetic was added. | |
1177 | |
1178 * glplpx6f.c | |
1179 A preliminary implementation of the routine lpx_exact_check was | |
1180 added. This routine checks the current basis for primal and dual | |
1181 feasibility using exact (bignum) arithmetic. | |
1182 | |
1183 * examples/glpsol.c | |
1184 The command-line option '--xcheck' was introduced to check the | |
1185 current basis for feasibility using exact (bignum) arithmetic. | |
1186 | |
1187 Tue Jul 25 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1188 | |
1189 * GLPK 4.11 has been released. | |
1190 | |
1191 * include/glpbfi.h, src/glpbfi.c | |
1192 Basis factorization interface routines were added. | |
1193 | |
1194 * include/glpluf.h, src/glpluf1.c | |
1195 Hypersparse solution routines were added. | |
1196 | |
1197 * include/glpinv.h, src/glpinv1.c | |
1198 Hypersparse solution routines (fake version) were added. | |
1199 | |
1200 * include/glpmpl.h, src/glpmpl.c | |
1201 Built-in functions card, length, and substr were implemented. | |
1202 Output redirection in the printf statement was implemented. | |
1203 | |
1204 * examples/graph.mod, examples/crypto.mod | |
1205 Two example models illustrating new features of the modeling | |
1206 language were included. | |
1207 | |
1208 Thu May 11 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1209 | |
1210 * GLPK 4.10 has been released. | |
1211 | |
1212 * src/glplpx8a.c | |
1213 A fragment was added to the routines lpx_read_mps and | |
1214 lpx_read_freemps to accept LI bound type (it is similar to LO, | |
1215 however, additionally marks the column as integer). | |
1216 | |
1217 * include/glpbfi.h, src/glpbfi.c | |
1218 The module glpbfi which implements the basis factorization | |
1219 interface (BFI) was added. | |
1220 | |
1221 * src/glplpx7a.c | |
1222 The routine lpx_cover_cut to generate mixed cover cuts was | |
1223 added. | |
1224 | |
1225 * src/glplpx7b.c | |
1226 The routine lpx_clique_cut to generate clique cuts and related | |
1227 routines to maintain the conflict graph were added. | |
1228 | |
1229 * include/glplpx.h, src/glplpx5.c | |
1230 The routine lpx_cpx_basis implementing Bixby's algorithm to | |
1231 construct an initial LP basis was added. | |
1232 | |
1233 * examples/glpsol.c | |
1234 Command-line option '--bib' was added which allows building | |
1235 an initial LP basis using Bixby's algorithm. | |
1236 Default command-line option '--mps' was changed to '--freemps'. | |
1237 | |
1238 * examples/cf12a.mod, examples/cf12b.mod | |
1239 Two examples in MathProg (curve fitting problem) were added. | |
1240 Thanks to Dr. Harley Mackenzie <hjm@hardsoftware.com>. | |
1241 | |
1242 Tue Jan 17 12:00:00 2006 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1243 | |
1244 * GLPK 4.9 has been released. | |
1245 | |
1246 * glpipp.h, glpipp1.c, glpipp2.c | |
1247 A MIP presolver were implemented (currently incomplete). It is | |
1248 used internally in the routine lpx_intopt (see below). | |
1249 | |
1250 * glplpx6d.c, glplpx7a.c | |
1251 An advanced branch-and-bound solver (the routine lpx_intopt) | |
1252 were implemented. | |
1253 | |
1254 * glplpx6c.c | |
1255 The routine lpx_check_int to check MIP feasibility conditions | |
1256 was added. | |
1257 | |
1258 * glplpx8a.c | |
1259 The routine lpx_print_mip was changed to print MIP feasibility | |
1260 conditions. | |
1261 | |
1262 * glpmpl.h, glpmpl1.c, glpmpl3.c | |
1263 The built-in functions sin, cos, atan, and atan2 were added to | |
1264 the MathProg language. | |
1265 | |
1266 * doc/lang.* | |
1267 Some typos were fixed. | |
1268 Thanks to Minh Ha Duong <haduong@centre-cired.fr> (CIRED, CNRS). | |
1269 | |
1270 Wed Jan 12 12:00:00 2005 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1271 | |
1272 * GLPK 4.8 has been released. | |
1273 | |
1274 * glpspx.h, glpspx1.c, glpspx2.c, glplpx6a.c | |
1275 Simplex method routines were changed due to a new format of the | |
1276 constraint matrix. | |
1277 | |
1278 * glpmat.h, glpmat.c | |
1279 Sparse matrix routines were re-implemented using storage-by-rows | |
1280 format. | |
1281 | |
1282 * glpipm.h, glpipm.c, glplpx6b.c | |
1283 Interior-point method routines were changed due to a new format | |
1284 of sparse matrices. | |
1285 | |
1286 * glpchol.h, glpchol.c | |
1287 Old version of Cholesky factorization routines being replaced by | |
1288 a new one (see glpmat.c) was removed from the package. | |
1289 | |
1290 * glplpx8c.c | |
1291 Minor bug was fixed in api routine lpx_read_cpxlp. | |
1292 | |
1293 Mon Aug 23 12:00:00 2004 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1294 | |
1295 * GLPK 4.7 has been released. | |
1296 | |
1297 * glplpx.h, glplpx1.c | |
1298 New core API routines were added (but not documented yet): | |
1299 lpx_order_matrix, lpx_create_index, lpx_find_row, lpx_find_col, | |
1300 lpx_delete_index. | |
1301 | |
1302 * glplpx8a.c | |
1303 API routine lpx_read_mps was re-implemented, and two new API | |
1304 routines lpx_read_freemps and lpx_write_freemps were added to | |
1305 support free MPS format. | |
1306 | |
1307 * glplpx8c.c | |
1308 Two API routines lpx_read_cpxlp and lpx_write_cpxlp (formerly | |
1309 named lpx_read_lpt and lpx_write_lpt) were re-implemented. | |
1310 | |
1311 * glpmps.h, glpmps.c | |
1312 This module formerly used in lpx_read_mps was removed from the | |
1313 package. | |
1314 | |
1315 * glplpt.h, glplpt.c | |
1316 This module formerly used in lpx_read_lpt was removed from the | |
1317 package. | |
1318 | |
1319 * glpmip.h, glpmip1.h, glpmip2.h | |
1320 New MIP routines mip_best_node and mip_relative_gap were added | |
1321 due to suggestion of Brady Hunsaker <hunsaker@engr.pitt.edu>. | |
1322 | |
1323 * glpsol.c | |
1324 The following new command-options were added: | |
1325 --freemps to read problem data in free MPS format | |
1326 --wfreemps to write problem data in free MPS format | |
1327 --cpxlp to read problem data in CPLEX LP format | |
1328 --wcpxlp to write problem data in CPLEX LP format | |
1329 --bas to read LP basis from a text file in MPS format | |
1330 --wbas to write LP basis to a text file in MPS format | |
1331 --mostf to use "most fractional" branching heuristic | |
1332 --bestb to use "best bound" backtracking heuristic | |
1333 | |
1334 * contrib/deli/*.* | |
1335 GLPK Delphi interface module was temporarily removed from the | |
1336 distribution due to licensing problems. | |
1337 | |
1338 * contrib/glpkmex/*.* | |
1339 GLPK Matlab interface module was temporarily removed from the | |
1340 distribution due to licensing problems. | |
1341 | |
1342 * contrib/jni/*.* | |
1343 GLPK Java interface module was temporarily removed from the | |
1344 distribution due to licensing problems. | |
1345 | |
1346 Wed Aug 04 12:00:00 2004 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1347 | |
1348 * GLPK 4.6 has been released. | |
1349 | |
1350 * glpmpl.h, glpmpl1.c, glpmpl2.c, glpmpl3.c, glpmpl4.c | |
1351 Three new statements were implemented in the GNU MathProg | |
1352 language: solve, printf, and for. Also some bugs were fixed. | |
1353 | |
1354 * glplpx.h, glplpx8e.c | |
1355 Two API routines were added: lpx_read_prob and lpx_write_prob, | |
1356 which allow reading and writing problem data in GNU LP format. | |
1357 | |
1358 * glpsol.c | |
1359 Three new command-line options were added: --glp (to read | |
1360 problem data in GNU LP format), --wglp (to write problem data | |
1361 in GNU LP format), and --name (to change problem name). | |
1362 | |
1363 * glprng.h, glprng.c | |
1364 A portable pseudo-random number generator was implemented as a | |
1365 separate module. | |
1366 | |
1367 * glplib4.c | |
1368 The old implementation of a pseudo-random number generator was | |
1369 removed from the package. | |
1370 | |
1371 * doc/lang.*, doc/refman.* | |
1372 New edition of the GLPK documentation was included. | |
1373 | |
1374 * contrib/glpkmex/*.* | |
1375 A new version of GLPKMEX was included in the distribution. For | |
1376 more details see contrib/glpkmex/ChangeLog. | |
1377 | |
1378 Mon Jul 19 12:00:00 2004 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1379 | |
1380 * GLPK 4.5 has been released. | |
1381 | |
1382 * glpmip.h, glpmip1.c, glpmip2.c, glplpx6c.c | |
1383 New implementation of the branch-and-bound method was added. | |
1384 It replaces the old implementation, which was removed from the | |
1385 package. | |
1386 | |
1387 * glpies.h, glpies1.c, glpies2.c, glpies3.c | |
1388 Modules used in the old implementation of the branch-and-bound | |
1389 method were removed from the package. | |
1390 | |
1391 * glplib2.c | |
1392 Now if the preprocessor variable GLPHUGEMEM is defined, other | |
1393 version of the routines umalloc, ucalloc, and ufree is used on | |
1394 compiling the package. This allows avoiding memory allocation | |
1395 problems on platforms where sizeof(void *) > sizeof(int), for | |
1396 example, where addresses are 64-bit while integers are 32-bit. | |
1397 The modification was made due to a bug report provided by Karel | |
1398 Zimmermann <kzimm@diamant.jouy.inra.fr> and Christophe Caron | |
1399 <caron@diamant.jouy.inra.fr>. | |
1400 | |
1401 Sat Jan 17 12:00:00 2004 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1402 | |
1403 * GLPK 4.4 has been released. | |
1404 | |
1405 * glplpx.h, glplpx*.c | |
1406 All API routines were re-implemented using new data structures. | |
1407 Some new API routines were added and some existing API routines | |
1408 became obsolete as shown below: | |
1409 | |
1410 Obsolete API routine Equivalent new API routine | |
1411 lpx_check_name (no more supported) | |
1412 lpx_set_obj_c0 lpx_set_obj_coef | |
1413 lpx_set_row_coef (no more supported) | |
1414 lpx_set_col_coef lpx_set_obj_coef | |
1415 lpx_load_mat (no more supported) | |
1416 lpx_load_mat3 lpx_load_matrix | |
1417 lpx_unmark_all (no more supported) | |
1418 lpx_mark_row (no more supported) | |
1419 lpx_mark_col (no more supported) | |
1420 lpx_clear_mat (no more supported) | |
1421 lpx_del_items lpx_del_rows, lpx_del_cols | |
1422 lpx_get_row_bnds lpx_get_row_type, lpx_get_row_lb, | |
1423 lpx_get_row_ub | |
1424 lpx_get_col_bnds lpx_get_col_type, lpx_get_col_lb, | |
1425 lpx_get_col_ub | |
1426 lpx_get_obj_c0 lpx_get_obj_coef | |
1427 lpx_get_row_coef (no more supported) | |
1428 lpx_get_col_coef lpx_get_obj_coef | |
1429 lpx_get_row_mark (no more supported) | |
1430 lpx_get_col_mark (no more supported) | |
1431 lpx_get_row_info lpx_get_row_stat, lpx_get_row_prim, | |
1432 lpx_get_row_dual | |
1433 lpx_get_col_info lpx_get_col_stat, lpx_get_col_prim, | |
1434 lpx_get_col_dual | |
1435 lpx_get_ips_stat lpx_ipt_status | |
1436 lpx_get_ips_row lpx_ipt_row_prim, lpx_ipt_row_dual | |
1437 lpx_get_ips_col lpx_ipt_col_prim, lpx_ipt_col_dual | |
1438 lpx_get_ips_obj lpx_ipt_obj_val | |
1439 lpx_get_mip_stat lpx_mip_status | |
1440 lpx_get_mip_row lpx_mip_row_val | |
1441 lpx_get_mip_col lpx_mip_col_val | |
1442 lpx_get_mip_obj lpx_mip_obj_val | |
1443 | |
1444 Obsolete API routines were kept for backward compatibility, | |
1445 however, they will be removed in the future. | |
1446 | |
1447 * doc/refman.* | |
1448 New edition of the GLPK reference manual containing description | |
1449 of all new API routines was included. | |
1450 | |
1451 * contrib/glpkmex/*.* | |
1452 GLPKMEX, a Matlab MEX interface to GLPK package, contributed by | |
1453 Nicolo Giorgetti <giorgetti@dii.unisi.it> was included. | |
1454 | |
1455 * doc/GLPK_FAQ.txt | |
1456 GLPK FAQ contributed by Harley Mackenzie <hjm@bigpond.com> was | |
1457 included. | |
1458 | |
1459 Fri Dec 12 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1460 | |
1461 * GLPK 4.3 has been released. | |
1462 | |
1463 * configure.in | |
1464 The bug, due to which the standard math library is not linked on | |
1465 some platforms, was fixed. | |
1466 | |
1467 * glpmpl3.c | |
1468 The bug (0 ** y) was fixed in the routine fp_power. | |
1469 | |
1470 * glpmpl.h, glpmpl1.c, glpmpl3.c | |
1471 Some new built-in functions (round, trunc, Irand224, Uniform01, | |
1472 Uniform, Normal01, Normal) were added to the MathProg language. | |
1473 | |
1474 * glpmpl1.c | |
1475 The MathProg syntax was changed to allow writing 'subj to'. | |
1476 | |
1477 * glplpx.h, glplpx1.c, glplpx2.c | |
1478 The new api routine lpx_get_ray_info was added. | |
1479 | |
1480 * glplpx8a.c | |
1481 The api routine lpx_print_sol was changed to print the number of | |
1482 non-basic variable, which causes primal unboundness. | |
1483 | |
1484 * glpmps.c | |
1485 The code was changed to avoid errors on compiling the package on | |
1486 Mac OS X. Thanks to Andre Girard <andre@inrs-emt.uquebec.ca> for | |
1487 the bug report. | |
1488 | |
1489 * doc/lang.*, doc/refman.* | |
1490 Several typos were fixed and some new material was added in the | |
1491 glpk documentation. | |
1492 | |
1493 Fri Nov 14 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1494 | |
1495 * GLPK 4.2 has been released. | |
1496 | |
1497 * glpiet.h, glpiet.c, glpios.h, glpios1.c, glpios2.c, glpios3.c | |
1498 A preliminary implementation of the Integer Optimization Suite | |
1499 (IOS) was included in the package. Eventually IOS will replace | |
1500 the Implicit Enumeration Suite (IES). | |
1501 | |
1502 * glplpx.h, glplpx6d.c | |
1503 A dummy version of the integer optimization routine lpx_intopt | |
1504 was included in the package. Later this routine will replace the | |
1505 routine lpx_integer. | |
1506 | |
1507 * examples/glpsol.c | |
1508 A new command-line option --int-opt was added to the solver to | |
1509 call lpx_intopt rather than lpx_integer. | |
1510 | |
1511 * glpbcs.h, glpbcs1.c, glpbcs2.c | |
1512 Being replaced by IOS routines (see above) the Branch-and-Cut | |
1513 Framework (BCS) routines were removed from the package. | |
1514 | |
1515 * examples/tspsol.c | |
1516 Stand-alone Symmetric TSP solver was completely re-programmed | |
1517 using IOS routines. | |
1518 | |
1519 * glplib.h, glplib2.c, glplib4.c | |
1520 The random-number generator was implemented. It is based on the | |
1521 module GB_FLIB from the Stanford GraphBase originally developed | |
1522 by Donald Knuth. | |
1523 | |
1524 * glphbsm.c, glplpx8a.c, glpmps.c | |
1525 All calls to fopen/fclose were replaced by corresponding calls | |
1526 to ufopen/ufclose due to bug reports provided by Morten Welinder | |
1527 <terra@gnu.org> and <jpark@sfwmd.gov>. | |
1528 | |
1529 * glpmps.c | |
1530 The code was made re-entrant. | |
1531 | |
1532 * glplpx8b.c | |
1533 API routine lpx_print_sens_bnds for bounds sensitivity analysis | |
1534 contributed by Brady Hunsaker <hunsaker@engr.pitt.edu> was added | |
1535 to the package. This feature is also available in glpsol via the | |
1536 command-line option --bounds. | |
1537 | |
1538 * contrib/jni/*.* | |
1539 New version of GLPK JNI (Java Native Interface) contributed by | |
1540 Chris Rosebrugh <cpr@pobox.com> was added to the package. | |
1541 | |
1542 * contrib/deli/*.* | |
1543 GLPK DELI (Delphi Interface) contributed by Ivo van Baren | |
1544 <i.van.baren@freeler.nl> was added to the package. | |
1545 | |
1546 * glplpx3.c | |
1547 Default method to scale the problem was changed to equilibration | |
1548 scaling (lp->scale = 1 in lpx_reset_parms). | |
1549 | |
1550 * glplpx6a.c | |
1551 Two minor (non-critical) typos were fixed due to report provided | |
1552 by Andrew Hamilton-Wright <andrewhw@ieee.org>. | |
1553 | |
1554 * glplpp2.c | |
1555 An untested case (line 941) had been tested due to bug report | |
1556 provided by Jiri Spitz <jiri.spitz@telecom.cz>. | |
1557 | |
1558 * w32bc5.mak, w32vc6.mak, w32vc6d.mak, d32dmc.mak | |
1559 Several makefiles were added to allow building GLPK library for | |
1560 some non-GNU 32-bit platforms. | |
1561 | |
1562 Sat Aug 23 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1563 | |
1564 * GLPK 4.1 has been released. | |
1565 | |
1566 * glpmpl1.c, glpmpl3.c | |
1567 Some bugs were fixed in the MathProg translator due to the bug | |
1568 reports provided by Giles Thompson <gwpt1@cus.cam.ac.uk>: | |
1569 conditional set expressions were incorrectly parsed; | |
1570 dimen attribute was not set by default when a set was used | |
1571 recursively in its own declaration; | |
1572 logical expressions ... in if ... then ... else ... did not | |
1573 work; | |
1574 displaying set expressions did not free memory allocated for | |
1575 temporary results. | |
1576 | |
1577 * glpmpl3.c (reduce_terms) | |
1578 Implementation of summation of linear forms over domain was | |
1579 improved to reduce complexity of that operation from O(n*n) to | |
1580 O(n*log n). The improvement was made due to a report provided | |
1581 by Sebastien de Menten <sdementen@hotmail.com>. | |
1582 | |
1583 * glplpx6a.c (line 1056), glpmip1.c (line 641) | |
1584 Two minor bugs were fixed due to the bug report provided by | |
1585 Kendall Demaree <kendal.demaree@verizon.net>. | |
1586 | |
1587 * glplpx.h, glplpx6a.c | |
1588 The method of one artificial variable implemented in the routine | |
1589 lpx_prim_art and used on the phase I in the glpk simplex solver | |
1590 has a serious defect: for some lp instances it erroneously | |
1591 reports that the problem has no primal feasible solution. This | |
1592 error appears when the column of the artificial variable, which | |
1593 enters the basis to make it primal feasible, has large | |
1594 constraint coefficients, that leads to small reduced costs of | |
1595 non-basic variables and premature termination of the search, | |
1596 i.e. to wrong conclusion that the problem has no primal feasible | |
1597 solution. To avoid this defect the routine lpx_prim_feas was | |
1598 included. It implements the method of implicit artifical | |
1599 variables (based on minimization of the sum of infeasibilities), | |
1600 which is a bit slower but much more robust. The routine | |
1601 lpx_prim_feas having the same functionality now is used instead | |
1602 the routine lpx_prim_art. | |
1603 | |
1604 * glpinv.h, glpinv.c | |
1605 The test used in the routine inv_update to detect low accuracy | |
1606 after updating LU-factorization of the basis matrix was replaced | |
1607 by a new, more robust test. | |
1608 | |
1609 * glplpx6c.c | |
1610 Selecting an active node to be solved next in the routine | |
1611 btrack_bestp was changed. Now, if any integer feasible solution | |
1612 has not been found yet, the routine chooses an active node which | |
1613 has the minimal sum of integer infeasibilities. | |
1614 | |
1615 * glpmip.h, glpmip1.c | |
1616 The additional flag int_obj was included in the structure | |
1617 MIPTREE used by the branch-and-bound. This flag is set in the | |
1618 routine mip_create_tree and used in the routine is_better. It | |
1619 means that the objective is integral, i.e. depends only on | |
1620 integer variables with integer objective coefficients. The test | |
1621 used in the routine check_integrality was also replaced by a | |
1622 new, more reasonable one. | |
1623 | |
1624 * glplpx1.c | |
1625 A minor bug was fixed in the routine lpx_check_name. | |
1626 | |
1627 * glpmpl.h, glpmpl4.c, glplpx8d.c | |
1628 The flag skip_data was added to the parameter list of the | |
1629 routine mpl_read_model. If this flag is set, the data section | |
1630 in the model file is ignored. Corresponding change was made in | |
1631 the routine lpx_read_model. Now, if both model and data files | |
1632 are specified, the data section in the model file is ignored. | |
1633 | |
1634 * glplpx8c.c | |
1635 A minor bug (wrong format used for writing free columns) in the | |
1636 routine lpx_write_lpt was fixed due to the bug report provided | |
1637 by Bernhard Schmidt <schmidt@math.uni-augsburg.de> | |
1638 | |
1639 * sample/glpsol.c | |
1640 The command-line parameter --tmlim, which allows limiting the | |
1641 solution time, was added. | |
1642 | |
1643 * doc/lang.*, doc/refman.* | |
1644 New edition of the GLPK documentation was included. | |
1645 | |
1646 * java-binding/*.* | |
1647 New version of the GLPK JNI (Java Native Interface) package was | |
1648 included in the distribution. | |
1649 | |
1650 * sample/lpglpk40.c | |
1651 A non-trivial example was added. It allows using GLPK as a base | |
1652 LP solver for Concorde, a program for solving Traveling Salesman | |
1653 Problem (TSP). For details see comments in lpglpk40.c. | |
1654 | |
1655 * sample/*.mod | |
1656 Some examples of LP and MIP models written in GNU MathProg were | |
1657 added. | |
1658 | |
1659 Tue May 06 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1660 | |
1661 * GLPK 4.0 has been released. | |
1662 | |
1663 * glpmpl.h, glpmpl1.c, glpmpl2.c, glpmpl3.c, glpmpl4.c | |
1664 The model translator for the GNU MathProg modeling language was | |
1665 implemented and included in the package. | |
1666 | |
1667 * glplpx.h, glplpx8d.c | |
1668 The api routine lpx_read_model, which is an interface to the | |
1669 MathProg translator, was included in the package. | |
1670 | |
1671 * glplpx.h, glplpx8a.c | |
1672 The api routine lpx_print_prob for writing LP/MIP problem data | |
1673 in plain text format was included in the package. | |
1674 | |
1675 * sample/glpsol.c | |
1676 New version of the GLPK stand-alone LP/MIP solver that supports | |
1677 the GNU MathProg modeling language was implemented. | |
1678 | |
1679 * doc/lang.latex, doc/lang.dvi, doc/lang.ps | |
1680 The document "GLPK: Modeling Language GNU MathProg" was included | |
1681 in the package. | |
1682 | |
1683 * doc/refman.latex, doc/refman.dvi, doc/refman.ps | |
1684 New edition of the GLPK Reference Manual was included in the | |
1685 package. | |
1686 | |
1687 * glplpx8c.c | |
1688 A bug in the api routine lpx_write_lpt was fixed. Due to that | |
1689 bug an addressing error occured in the routine if the objective | |
1690 function has the non-zero constant term. | |
1691 | |
1692 * glplan.h, glplan1.c, glplan2.c, glplan3.c, glplan4.c, | |
1693 * glplan5.c, glplan6.c, glplan7.c, glplan8.c, glplpx8b.c | |
1694 All modules of the translator for the GLPK/L modeling language | |
1695 were removed from the package, because GLPK/L being completely | |
1696 superseded by GNU MathProg is no more supported. | |
1697 | |
1698 Tue Mar 25 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1699 | |
1700 * GLPK 3.3 has been released. | |
1701 | |
1702 * glplpp.h, glplpp1.c, glplpp2.c | |
1703 An implementation of the built-in LP presolver was added to the | |
1704 package. | |
1705 | |
1706 * glplpx.h | |
1707 The flag presol was added to the structure LPX. This flag tells | |
1708 the lpx_simplex whether the built-in LP presolver should be used | |
1709 or not. By default this flag is off. Also three macros (namely | |
1710 LPX_E_NOPFS, LPX_E_NODFS, and LPX_K_PRESOL) that concern using | |
1711 the LP presolver were introduced. | |
1712 | |
1713 * glplpx3.c, glplpx6a.c | |
1714 These modules was changed to use the built-in LP presolver. | |
1715 | |
1716 * sample/glpsol.c | |
1717 Command line options --presol and --nopresol that concern using | |
1718 the LP presolver were added to the stand-alone LP/MIP solver. | |
1719 | |
1720 * glplan1.c | |
1721 This module was changed to allow declaring sets like A[1:10] in | |
1722 the models written in the GLPK/L modeling language. | |
1723 | |
1724 * doc/refman.latex, doc/lang.latex | |
1725 New editions of the documents "GLPK User's Guide" and "GLPK/L | |
1726 Modeling Language" were included in the distribution. | |
1727 | |
1728 * java-binding/*.* | |
1729 The package GLPK JNI (Java Native Interface) implementing Java | |
1730 binding for GLPK was included in the distribution. This package | |
1731 was developed and programmed by Yuri Victorovich <yuri@gjt.org>. | |
1732 | |
1733 Tue Feb 18 12:00:00 2003 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1734 | |
1735 * GLPK 3.2.4 has been released. | |
1736 | |
1737 * glplpx6b.c | |
1738 The code was changed to allow auxiliary variables have non-zero | |
1739 objective coefficients. | |
1740 | |
1741 Also a minor bug was fixed (the constant term was not considered | |
1742 on displaying the objective function value). | |
1743 | |
1744 * sample/glpsol.c | |
1745 The code was changed to fix a bug (the command-line option 'bfs' | |
1746 was not recognized). The bug was fixed due to report provided by | |
1747 Olivier <odwl@skynet.be>. | |
1748 | |
1749 * glplpt.c | |
1750 The code was changed to fix a bug (binary variables were treated | |
1751 erroneously as integer ones). | |
1752 | |
1753 * glplpx6b.c | |
1754 The code was changed to fix a bug (variables that have no lower | |
1755 bounds were incorrectly processed on converting to the standard | |
1756 formulation). The bug was fixed due to report kindly provided by | |
1757 Kjell Eikland <kjell.eikland@broadpark.no>. | |
1758 | |
1759 Mon Nov 11 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1760 | |
1761 * GLPK 3.2.3 has been released. | |
1762 | |
1763 * glpmip.h, glpmip1.c | |
1764 A preliminary implementation of the branch-and-bound driver | |
1765 based on the implicit enumeration suite (glpies) was added to | |
1766 the package. This module is not documented yet. | |
1767 | |
1768 * glplpx6c.c | |
1769 A new implementation of the api routine lpx_integer which now | |
1770 is based on the b&b driver (see glpmip above) was included in | |
1771 the package. This new implementation has exactly the same | |
1772 functionality as the old version and therefore all changes are | |
1773 transparent to the api user. | |
1774 | |
1775 * glpbbm.h, glpbbm.c | |
1776 * glprsm.h, glprsm1.c, glprsm2.c | |
1777 * glplp.h, glplp.c | |
1778 These modules were removed from the package, because they were | |
1779 used only in the old version of the routine lpx_integer, which | |
1780 was replaced by the new version (see glplpx6c above). | |
1781 | |
1782 * glplpx.h, glplpx6a.c | |
1783 The api routine lpx_check_kkt was included in the package and | |
1784 its description was added in the reference manual. This routine | |
1785 allows checking Karush-Kuhn-Tucker optimality conditions for an | |
1786 LP solution. | |
1787 | |
1788 * glplpx.h, glplpx8a.c | |
1789 Now the api routine lpx_print_sol also prints information about | |
1790 "solution quality" obtained via the api routine lpx_check_kkt. | |
1791 | |
1792 * glplpx.h, glplpx8a.c | |
1793 New api routines lpx_read_bas and lpx_write_bas were included | |
1794 in the package and documented. The routine lpx_write_bas allows | |
1795 writing a current basis from an LP object to a text file in the | |
1796 MPS format. The routine lpx_read_bas allows reading a basis | |
1797 prepared in the MPS format from a text file into an LP object. | |
1798 | |
1799 * glplpt.c | |
1800 The parsing routine which reads LP problem data prepared in the | |
1801 CPLEX LP format was modified to allow specifying lower bounds | |
1802 of variables also in the form 'variable >= lower bound' (in the | |
1803 bounds section). This modification was made due to a notice | |
1804 provided by Ivan Luzzi <iluzzi@libero.it>. | |
1805 | |
1806 * glplpx.h, glplpx8c.c | |
1807 The api routine lpx_write_lpt which allows writing LP problem | |
1808 data from an LP object to a text file using the CPLEX LP format | |
1809 was included in the package and documented. | |
1810 | |
1811 * glplpx.h, glplpx3.c | |
1812 The control parameter LPX_K_LPTORIG that affects the behavior | |
1813 of the api routine lpx_write_lpt was introduced. | |
1814 | |
1815 * glplan6.c | |
1816 The semantics of the language GLPK/L was changed to allow | |
1817 selection in case when not all mute letters of a predicate (the | |
1818 operand that follows the keyword 'where') are presented in a | |
1819 parameter (the operand that precedes the keyword 'where'), i.e. | |
1820 to allow writing something like this: | |
1821 y[j] := sum(i, x[i] where p[i,j]); | |
1822 The paragraph "Selection" in the langauge description (page 25) | |
1823 was also correspondingly changed. This change of the language | |
1824 semantics was undertaken due to a notice provided by Peter Lee | |
1825 <plee@kinggee.com.au>. | |
1826 | |
1827 * sample/hwd.lpm | |
1828 A nice example of LP model written in GLPK/L and contributed by | |
1829 Peter Lee <plee@kinggee.com.au> was included in the package. | |
1830 | |
1831 * glplpx6b.c | |
1832 The api routine lpx_interior was modified: a) to compute dual | |
1833 values for all structural as well as auxiliary variables; b) to | |
1834 allow specifying non-zero objective coefficients at auxiliary | |
1835 variables. | |
1836 | |
1837 * sample/glpsol.c | |
1838 Three new command-line options were added to the solver, which | |
1839 are: --plain, --orig, and --wrlpt. | |
1840 | |
1841 Mon Oct 14 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1842 | |
1843 * GLPK 3.2.2 has been released. | |
1844 | |
1845 * glplpt.h, glplpt.c | |
1846 A module that reads LP/MIP problem data in CPLEX LP format was | |
1847 implemented. | |
1848 | |
1849 * glplpx8c.c | |
1850 An api routine lpx_read_lpt that reads LP/MIP problem data in | |
1851 CPLEX LP format was implemented. | |
1852 | |
1853 * sample/glpsol.c, sample/plan.lpt | |
1854 A new command-line option '--lpt' that allows reading LP/MIP | |
1855 problem data in CPLEX LP format was added to the solver. | |
1856 | |
1857 * doc/refman.latex, doc/refman.dvi, doc/refman.ps | |
1858 A new edition of the Reference Manual was included. | |
1859 | |
1860 * source/*.c | |
1861 Casting to (unsigned char) was added in some calls to the | |
1862 classification functions (isalpha, etc.). The bug was fixed due | |
1863 to report provided by Morten Welinder <terra@diku.dk>. | |
1864 | |
1865 * glplpx8a.c | |
1866 The local routine mps_numb used in the routine lpx_write_mps | |
1867 was modified to correctly format floating-point numbers that | |
1868 have two digits in the decimal exponent. The bug was fixed due | |
1869 to report provided by Vlahos Kiriakos <Kiriakos.Vlahos@gs.com>. | |
1870 | |
1871 * glplan.h, glplan1.c, ..., glplan8.c | |
1872 Several serious bugs were fixed in the language processor due | |
1873 to reports provided by <NORBERT.PIOTROWSKI@LHSYSTEMS.COM>: | |
1874 (a) a static search tree used to find sparse array elements was | |
1875 sometimes overwritten that caused the message 'assertion failed' | |
1876 to appear; the bug was fixed by creating separate search trees | |
1877 in parsing routines; (b) a variable declared using the | |
1878 predicate-controlled variable declaration statement had wrong | |
1879 order of domain sets, because the variable array was built as | |
1880 a copy of the predicate array; the bug was fixed by using the | |
1881 internal routine transpose that coordinates mute letters (and | |
1882 therefore domain sets) on copying sparse arrays; (c) sometimes | |
1883 assignment statements like x[#a,#b,#c] := ... was incorrectly | |
1884 processed; the bug was fixed by including an appropriate check | |
1885 into the internal routine assign_stmt. | |
1886 | |
1887 * glp_simplex.c | |
1888 An additional check to see if all lower bounds are not greater | |
1889 than corresponding upper bounds was included in the routine to | |
1890 prevent wrong results to appear. Such incorrectness sometimes | |
1891 was not detected, namely, when variables with such bounds were | |
1892 non-basic and never entered the basis. | |
1893 | |
1894 * glpspx1.c | |
1895 Maximal number of simplex iterations before reinversion was | |
1896 decreased from 100 to 50. This allowed to improve accuracy and, | |
1897 that is more important, to reduce the solution time for many | |
1898 serial lp problems approximately 1.5--2 times. | |
1899 | |
1900 * glpspx2.c | |
1901 A check to see if all elements in the column chosen to enter | |
1902 the basis are close to zero in the routine spx_prim_chuzr was | |
1903 temporarily removed because this check gave wrong conclusion in | |
1904 case when the corresponding non-basic variable had zero column | |
1905 in the constraint matrix. An analogous check to see if all | |
1906 elements in the row chosen to leave the basis are close to zero | |
1907 in the routine spx_dual_chuzc was also temporarily removed on | |
1908 the same reason. The bug was fixed due to reports provided by | |
1909 Flavio Keidi Miyazawa <fkm@ic.unicamp.br> and Vlahos Kiriakos | |
1910 <Kiriakos.Vlahos@gs.com>. | |
1911 | |
1912 Mon Aug 12 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1913 | |
1914 * GLPK 3.2.1 has been released. | |
1915 | |
1916 * glpbcs.h, glpbcs1.c, glpbcs2.c | |
1917 * glpies.h, glpies1.c, glpies2.c, glpies3.c | |
1918 A preliminary implementation of the branch-and-cut framework | |
1919 was included in the package. | |
1920 | |
1921 * doc/brcut.txt | |
1922 The document "GLPK: A Preliminary Implementation of the | |
1923 Branch-And-Cut Framework" was included in the distribution. | |
1924 | |
1925 * sample/tspsol.c | |
1926 An illustrative program for solving symmetric TSP based on the | |
1927 branch-and-cut method was included in the package. | |
1928 | |
1929 * glpdmp.h, glpdmp.c | |
1930 A new, re-enterable version of routines for managing dynamic | |
1931 memory pools was included in the package. | |
1932 | |
1933 * glpavl.h, glpavl.c | |
1934 A new, re-enterable version of routines for managing AVL search | |
1935 trees was included in the package. | |
1936 | |
1937 * glplib.h, glplib2.c | |
1938 Two new low-level routines ufopen and ufclose were included in | |
1939 the package. | |
1940 | |
1941 * glplpx.h, glplpx7.c | |
1942 The following new api routines were added: lpx_eval_activity, | |
1943 lpx_eval_red_cost, lpx_reduce_form, lpx_mixed_gomory. | |
1944 | |
1945 * glptsp.h, glptsp.c | |
1946 A module for reading TSP data using TSPLIB format was included | |
1947 in the package. | |
1948 | |
1949 Mon Jul 15 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1950 | |
1951 * GLPK 3.2 has been released. | |
1952 | |
1953 * glplpx.h, glplpx1.c, glplpx2.c | |
1954 The identifier 'class' (used as a member name in the structure | |
1955 LPX and as an argument name in the routine lpx_set_class) was | |
1956 changed to 'clss' in order to avoid conflicts with C++ reserved | |
1957 words. | |
1958 | |
1959 * glpk.h, glplpx.h, glplpx1.c, glplpx2.c, glplpx6a.c, | |
1960 * glplpx6b.c, glplpx6c.c, glplpx7.c, glplpx8.c | |
1961 The following new api routines were added: lpx_set_obj_name, | |
1962 lpx_get_obj_name, lpx_get_row_mark, lpx_get_col_mark, | |
1963 lpx_transform_row, lpx_transform_col, lpx_prim_ratio_test, | |
1964 lpx_dual_ratio_test, lpx_interior, lpx_get_ips_stat, | |
1965 lpx_get_ips_row, lpx_get_ips_col, lpx_get_ips_obj, lpx_read_lpm, | |
1966 lpx_write_mps, lpx_print_ips. | |
1967 | |
1968 * glpsol.c | |
1969 The solver was completely re-programmed using new api routines. | |
1970 | |
1971 * lang.latex, lang.dvi, lang.ps | |
1972 New edition of the document "GLPK: Modeling Language GLPK/L" | |
1973 was included in the distribution. | |
1974 | |
1975 * refman.latex, refman.dvi, refman.ps | |
1976 New edition of the document "GLPK: Reference Manual" (which | |
1977 contains descriptions of all new api routines) was included in | |
1978 the distribution. | |
1979 | |
1980 * glpapi.h, glpapi1.c, glpapi2.c, glpapi3.c, glpapi4.c | |
1981 These files (which contain old api routines) were removed from | |
1982 the package. | |
1983 | |
1984 * glpipm1.c, glpipm2.c | |
1985 The file glpipm1.c was renamed to glpipm.c. The file glpipm2.c | |
1986 was used only by old api routines and therefore was removed from | |
1987 the package. | |
1988 | |
1989 * language.texinfo | |
1990 Old version of the document "GLPK: Modeling Language GLPK/L" was | |
1991 removed from the distribution. | |
1992 | |
1993 Mon May 27 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> | |
1994 | |
1995 * GLPK 3.1 has been released. | |
1996 | |
1997 * glplpx.h, glplpx1.c, glplpx2.c, glplpx3.c, glplpx4.c, | |
1998 * glplpx5.c, glplpx6.c, glplpx7.c, glplpx8.c | |
1999 A preliminary implementation of new API routines was completed. | |
2000 | |
2001 * refman.latex, refman.dvi, refman.ps | |
2002 A draft edition of the document "GLPK Reference Manual", which | |
2003 describes new API routines, was included. | |
2004 | |
2005 * glplib3.c | |
2006 A bug in measuring long time intervals was fixed up. | |
2007 | |
2008 * glprsm3.c | |
2009 This module contains some obsolete routines not longer used and | |
2010 therefore it was removed from the package (into the subdirectory | |
2011 'oldsrc'). | |
2012 | |
2013 * glprsm.h | |
2014 Some declarations related to the module 'glprsm3.c' (see above) | |
2015 were removed. | |
2016 | |
2017 * guide.texinfo | |
2018 The document "GLPK User's Guide" describing old API routines was | |
2019 removed from the package (into the subdirectory 'oldsrc'). | |
2020 | |
2021 * newapi.txt | |
2022 The document "New GLPK API Routines" was removed at all, because | |
2023 it is superseded by the new reference manual (see above). | |
2024 | |
2025 Mon May 13 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2026 | |
2027 * GLPK 3.0.8 has been released. | |
2028 | |
2029 * glplpx.h, glplpx1.c, glplpx2.c, glplpx3.c, glplpx4.c, | |
2030 * glplpx5.c, glplpx6.c, glplpx7.c | |
2031 A preliminary (currently incomplete) implementation of new api | |
2032 routines was included. | |
2033 | |
2034 * sample/newsamp.c | |
2035 A sample program for the new api routines was included. | |
2036 | |
2037 * newapi.txt | |
2038 A draft of the document "New GLPK API Routines" was included. | |
2039 | |
2040 * glpapi2.c, glpapi5.c, glpapi6.c | |
2041 These modules (which contain the api routines glp_call_rsm1, | |
2042 glp_simplex1, glp_pivot_in, glp_pivot_out) were removed from the | |
2043 package (to the subdirectory 'oldsrc') since these routines are | |
2044 functionally superseded by the new api routines. | |
2045 | |
2046 * glpk.h, glpapi2.c, glpapi3.c, glpapi4.c | |
2047 The api routines glp_simplex2, glp_call_ipm1, glp_call_bbm1 were | |
2048 renamed to glp_simplex, glp_interior, glp_integer, respectively. | |
2049 | |
2050 * sample/glpsol.c | |
2051 Some command-line options (which got obsolete due to the recent | |
2052 changes in api) were excluded. | |
2053 | |
2054 * doc/guide.texinfo | |
2055 New edition of the document "GLPK User's Guide" was included in | |
2056 the distribution to reflect the changes in some api routines. | |
2057 | |
2058 * doc/libref.texinfo | |
2059 This document was removed from the package (to the subdirectory | |
2060 'oldsrc') since it describes the library routines, most of which | |
2061 got obsolete and no longer used. | |
2062 | |
2063 * Makefile.in | |
2064 A minor bug was fixed up due to bug report from Hans Schwengeler | |
2065 <Hans.Schwengeler@unibas.ch>. | |
2066 | |
2067 Mon Apr 22 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2068 | |
2069 * GLPK 3.0.7 has been released. | |
2070 | |
2071 * glpduff.h, glpduff.c, glpspx.h, glpspx1.c, glpspx2.c, | |
2072 * glpapi7.c | |
2073 These modules were replaced by a new implementation of the | |
2074 simplex method and therefore they were removed from the package | |
2075 (however they still can be found in the subdirectory 'oldsrc'). | |
2076 | |
2077 * glprsm1.c | |
2078 The routine crash_aa was replaced by a new implementation and | |
2079 therefore it was removed from the file 'glprsm1.c'. | |
2080 | |
2081 * glplpx.h, glplpx.c, glpspx.h, glpspx1.c, glpspx2.c, glpspx3.c, | |
2082 * glpspx4.c, glpapi7.c | |
2083 New (currently incomplete) implementation of the simplex method | |
2084 components was included in the package. | |
2085 | |
2086 Thu Mar 28 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2087 | |
2088 * GLPK 3.0.6 has been released. | |
2089 | |
2090 * glpluf.h, glpluf.c, glpinv.h, glpinv.c | |
2091 New version of LU-factorization and basis maintenance routines | |
2092 (based on Forrest-Tomlin updating technique) was implemented. | |
2093 | |
2094 * glpeta.h, glpeta.c, glpfhv.h, glpfhv.c, glpgel.h, glpgel.c, | |
2095 * glppfi.h, glppfi.c, glprfi.h, glprfi.c | |
2096 These routines implement some other forms of the basis matrix. | |
2097 Now they became obsolete being functionally superseded by the | |
2098 new version of basis maintenance routines (see above) and were | |
2099 removed from the package (however they still can be found in the | |
2100 subdirectory 'oldsrc'). | |
2101 | |
2102 * glpbbm.c, glprsm.h, glprsm1.h, glprsm2.h, glpspx.h, glpspx2.c, | |
2103 * glprsm2.c, glpsol.c | |
2104 Necessary changes were made in order to use the new version of | |
2105 basis maintenance routines. | |
2106 | |
2107 Tue Jan 29 12:00:00 2002 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2108 | |
2109 * GLPK 3.0.5 has been released. | |
2110 Structure of the package was re-organized in order to simplify | |
2111 its maintenance. | |
2112 | |
2113 * doc/guide.texinfo | |
2114 New edition of the document "GLPK User's Guide" was included in | |
2115 the distribution. Now the document includes descriptions of some | |
2116 additional API routines recently added to the package. | |
2117 | |
2118 * doc/newapi.txt | |
2119 The document "Additional GLPK API Routines" was removed from the | |
2120 distribution, because the corresponding material was included in | |
2121 the user's guide (see above). | |
2122 | |
2123 Mon Dec 10 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2124 | |
2125 * GLPK 3.0.4 has been released. | |
2126 | |
2127 * glpspx.h, glpspx1.c, glpspx2.c, glpapi/glp_simplex2.h | |
2128 A new, more efficient version of the two-phase primal simplex | |
2129 method was implemented (advanced initial basis, projected | |
2130 steepest edge, recursive computations of solution components). | |
2131 | |
2132 * glpapi/glp_call_bbm1.c | |
2133 Now LP relaxation can be solved either using rsm1_driver(), or | |
2134 using glp_simplex2(). The choice is controlled by the parameter | |
2135 'meth' (a member of struct bbm1). | |
2136 | |
2137 * sample/glpsol.c | |
2138 The new implementation of the simplex method is now used by | |
2139 default. The old version is available via --old-sim option. | |
2140 | |
2141 * glpmat/gm_scaling.c | |
2142 Now this routine displays only two lines: an initial "quality" | |
2143 and a final "quality". | |
2144 | |
2145 * glplp/prepro_lp.c | |
2146 Identifiers 'fmin' and 'fmax' renamed to 'f_min' and 'f_max' in | |
2147 order to avoid conflict with <math.h>. The bug was fixed due to | |
2148 report provided by Sami Farin <sfarin@ratol.fi>. | |
2149 | |
2150 Wed Oct 03 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2151 | |
2152 * GLPK 3.0.3 has been released. | |
2153 | |
2154 * glprsm/harris_row.c, glprsm/harris_col.c | |
2155 The relative tolerance used on the first pass of the two-pass | |
2156 ratio test was replaced by the absolute tolerance. | |
2157 | |
2158 * glprsm/rsm_primal.c, glprsm/rsm_feas.c, glprsm/rsm_dual.c | |
2159 The absolute tolerance passed to the two-pass ratio test routine | |
2160 was decaresed (for both primal and dual simplex). | |
2161 | |
2162 These changes were made in order to improve numerical stability | |
2163 of the simplex method. | |
2164 | |
2165 * glprsm/glp_call_rsm1.c, glprsm/glp_call_bbm1.c, | |
2166 * glprsm/glp_simplex1, glprsm/glp_pivoting.c | |
2167 Default form of the inverse was changed from RFI to AFI. | |
2168 | |
2169 Mon Sep 24 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2170 | |
2171 * GLPK 3.0.2 has been released. | |
2172 | |
2173 * glpfhv.h, glpfhv.c | |
2174 New version of the basis maintaining routines was implemented. | |
2175 These routines, which are based on so called FHV-factorization | |
2176 (a variety of LU-factorization) and Gustavson's data structures, | |
2177 perform the main operations on the basis matrix faster at the | |
2178 expense of some worsening numerical accuracy. | |
2179 | |
2180 * glprsm.h, glprsm/afi.c | |
2181 The routines, which implement AFI (Advanced Form of the | |
2182 Inverse) based on FHV-factorization, were added to the package. | |
2183 This new form is available via the parameter form = 3 (on API | |
2184 level) or via the option --afi (in GLPSOL solver). | |
2185 | |
2186 * EFI was renamed to PFI | |
2187 In order to correct terminology the acronym EFI (Elimination | |
2188 Form of the Inverse) was replaced by PFI (Product Form of the | |
2189 Inverse) everywhere in the source code and the documentation. | |
2190 | |
2191 * glpset/umalloc.c, glpset/ucalloc.c | |
2192 * glpset/get_atom.c, glpset/get_atomv.c | |
2193 These memory management routines were changed in order *not* to | |
2194 clear allocated memory blocks by binary zeros. | |
2195 | |
2196 Wed Aug 01 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2197 | |
2198 * GLPK 3.0.1 has been released. | |
2199 | |
2200 * glpapi/old_api.c, glplp/extract_lp.c, store_lpsol.c | |
2201 Old API routines were deleted from the package. | |
2202 | |
2203 * include/glpk.h, include/glpapi.h, include/glplp.h | |
2204 Specifications of old API routines and data structures were | |
2205 removed from the headers. | |
2206 | |
2207 * sample/glpsol.c | |
2208 New version of the stand-alone solver GLPSOL that now uses new | |
2209 API routines was implemented. | |
2210 | |
2211 * glpapi/glp_set_row_fctr.c, glpapi/glp_set_col_fctr.c, | |
2212 * glpapi/glp_get_row_fctr.c, glpapi/glp_get_col_fctr.c, | |
2213 * glpapi/glp_scale_prob.c | |
2214 Scaling routines were added. | |
2215 | |
2216 * glpapi/glp_write_mps.c | |
2217 The routine for writing problem data in MPS format was added. | |
2218 | |
2219 * glpapi/glp_simplex1.c | |
2220 Comprehensive driver to the simplex method was added. | |
2221 | |
2222 * glpapi/glp_pivoting.c | |
2223 The routines glp_pivot_in() and glp_pivot_out() intended for | |
2224 basis maintaining were added. | |
2225 | |
2226 * glprsm/create_rsm.c, glprsm/delete_rsm.c, glprsm/scale_rsm.c, | |
2227 * glprsm/build_basis.c | |
2228 Additional low level routines related to the simplex method | |
2229 were added. | |
2230 | |
2231 * glpk.h, glpapi.h, glprsm.h | |
2232 Additional specifications for new routines and data structures | |
2233 were added. | |
2234 | |
2235 * sample/lpglpk30.c | |
2236 A non-trivial example was added. It allows using GLPK as a base | |
2237 LP solver for Concorde, a program for solving Traveling Salesman | |
2238 Problem (TSP). For details see comments in 'lpglpk30.c'. | |
2239 | |
2240 * doc/newapi.txt | |
2241 The document "Additional GLPK API Routines" that describes some | |
2242 new API routines was included. | |
2243 | |
2244 Thu Jul 19 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2245 | |
2246 * GLPK 3.0 has been released. | |
2247 | |
2248 Now GLPK is provided with new API, which is intended for using | |
2249 the package in more complex algorithmic schemes. | |
2250 | |
2251 * glpapi/old_api.c | |
2252 All routines related to old API were gathered in one file named | |
2253 'old_api.c'. | |
2254 | |
2255 * glpapi/*.c | |
2256 These routines that implement new API were added to the package. | |
2257 | |
2258 * include/glpk.h, include/glpapi.h | |
2259 Specifications of new API routines and data structures were | |
2260 added to these headers. Specifications of old API routines and | |
2261 data structures were locked by #ifdef GLP_OLD_API directive. | |
2262 | |
2263 * doc/guide.texinfo | |
2264 New edition of the document "GLPK User's Guide" that correspond | |
2265 to new API was included. | |
2266 | |
2267 Thu Jun 14 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2268 | |
2269 * GLPK 2.4.1 has been released. | |
2270 | |
2271 * doc/glpk_ml.texinfo | |
2272 The new document "Modeling Language GLPK/L" was included. | |
2273 | |
2274 * doc/glpk_ug.texinfo | |
2275 New edition of the document "GLPK User's Guide" was included. | |
2276 | |
2277 * doc/language.txt | |
2278 The preliminary document "GLPK/L Modeling Language: A Brief | |
2279 description" was removed from the distribution, because it has | |
2280 been replaced by the new document "Modeling Language GLPK/L". | |
2281 | |
2282 * glplang/l_spar.c | |
2283 The routine comparison() was re-programmed in order to | |
2284 implement the relation operation as specified in the language | |
2285 description. | |
2286 | |
2287 * glpmip.h, glpmip/*.c | |
2288 The partition 'glpmip' was renamed to 'glpbbm'. | |
2289 | |
2290 Thu May 10 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2291 | |
2292 * GLPK 2.4 has been released. | |
2293 | |
2294 Now GLPK includes an implementation of a preliminary version of | |
2295 the GLPK/L modeling language. | |
2296 | |
2297 * glplang.h, glplang/*.c | |
2298 The header 'glplang.h' and a set of routines that implements | |
2299 the GLPK/L language processor (the partition 'glplang') were | |
2300 added to the package. | |
2301 | |
2302 * doc/language.txt | |
2303 The document "GLPK/L Modeling Language: A Brief Description | |
2304 (Supplement to GLPK User's Guide)" in plain text format was | |
2305 included in the package (see the file 'language.txt' in the | |
2306 subdirectory 'doc' of the distribution). | |
2307 | |
2308 * ex/model1.lpm, ex/model2.lpm | |
2309 Two examples of model descriptions written in GLPK/L were added | |
2310 to the package. | |
2311 | |
2312 * sample/glpsol.c | |
2313 This program was modified in order: a) to allow processing | |
2314 model description written in GLPK/L; b) to allow solving pure | |
2315 LP problem using the interior point method. | |
2316 | |
2317 * sample/glpipm.c | |
2318 This program was removed from the package, because its function | |
2319 was passed to the GLPSOL solver. | |
2320 | |
2321 * Makefile.in | |
2322 This file was changed in order to install the GLPSOL solver | |
2323 executable. | |
2324 | |
2325 Mon Apr 09 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2326 | |
2327 * GLPK 2.3 has been released. | |
2328 | |
2329 * glpmip.h, glpmip/*.c | |
2330 These routines (that implement the branch-and-bound method) were | |
2331 re-programmed in order to improve robustness of implementation. | |
2332 In particular, heuristic routines were carried out from the main | |
2333 driver routine. | |
2334 | |
2335 Additional GLPK API routines were documented. | |
2336 | |
2337 New edition of the document "GLPK User's Guide" was included in | |
2338 the package. | |
2339 | |
2340 The preliminary document "Mixed Integer Programming Using GLPK | |
2341 Version 2.2 (Supplement to GLPK User's Guide)" was removed from | |
2342 the package, because this material was included in GLPK User's | |
2343 Guide. | |
2344 | |
2345 Thu Mar 15 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2346 | |
2347 * GLPK 2.2 has been released. | |
2348 | |
2349 Now GLPK includes a tentative implementation of the | |
2350 branch-and-bound procedure based on the dual simplex method for | |
2351 mixed integer linear programming (MIP). | |
2352 | |
2353 The preliminary document "Mixed Integer Programming Using GLPK | |
2354 Version 2.2 (Supplement to GLPK User's Guide)" was included into | |
2355 the package in plain text format (see the file 'mip.txt' in the | |
2356 subdirectory 'doc' of the distribution). | |
2357 | |
2358 * glpmip.h, glpmip/*.c, glpapi/glp_integer.c | |
2359 These routines (that implement the branch-and-bound method) were | |
2360 added to the package. | |
2361 | |
2362 * sample/glpsol.c | |
2363 This program was modified in order to allow solving LP and MIP | |
2364 problems. | |
2365 | |
2366 * glprsm/rsm_primal.c, glprsm/rsm_dual.c, glprsm/rsm_feas.c, | |
2367 * glprsm/rsm1_driver.c | |
2368 These routines (which are drivers to basic components of the | |
2369 revised simplex method) were added to the package. | |
2370 | |
2371 Mon Feb 19 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2372 | |
2373 * GLPK 2.1 has been released. | |
2374 | |
2375 * glprsm.h, glprsm/*.c | |
2376 These routines (that implement components of the revised simplex | |
2377 method) were re-programmed and documented. | |
2378 | |
2379 The document "GLPK Implementation of the Revised Simplex Method" | |
2380 was included into the package. | |
2381 | |
2382 Thu Jan 25 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2383 | |
2384 * GLPK 2.0 has been released. | |
2385 | |
2386 Now GLPK includes a tentative implementation of the primal-dual | |
2387 interior point method for large-scale linear programming (for | |
2388 more details see the file `NEWS' in the distribution). A number | |
2389 of routines related to the interior point method were added to | |
2390 the package. | |
2391 | |
2392 * insist.c | |
2393 The routine `insist' and the macro of the same name were | |
2394 introduced into the package in order to replace the standard | |
2395 macro `assert'. Some routines require the expression specified | |
2396 in the `assert' macro to be evaluated, but compiling the package | |
2397 with NDEBUG option prevents from that. This bug was fixed due to | |
2398 bug report provided by Peter A. Huegler <phuegler@bsco.com>. | |
2399 | |
2400 * Makefile.in | |
2401 Minor bug was fixed due to a patch provided by Alexandre Oliva | |
2402 <oliva@lsd.ic.unicamp.br>. | |
2403 | |
2404 Wed Jan 10 12:00:00 2001 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2405 | |
2406 * GLPK 1.1.2 has been released. | |
2407 | |
2408 * umalloc.c, ufree.c, create_pool.c, get_atom.c, get_atomv.c | |
2409 These routines were changed in order to fix a bug due to | |
2410 report provided by Andrew Hood <ajhood@fl.net.au>. Because of | |
2411 this bug data alignment error occured on the Sparc computer. | |
2412 | |
2413 Tue Dec 14 12:00:00 2000 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2414 | |
2415 * GLPK 1.1.1 has been released. | |
2416 | |
2417 Minor bug was fixed in `Makefile.in'. | |
2418 | |
2419 GLPK Library Reference was included. | |
2420 | |
2421 Mon Nov 27 12:00:00 2000 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2422 | |
2423 * GLPK 1.1 has been released. | |
2424 | |
2425 Minor changes were made in order to co-ordinate GLPK routines | |
2426 and their descriptions. | |
2427 | |
2428 GLPK User's Guide was included. | |
2429 | |
2430 Fri Oct 20 12:00:00 2000 Andrew Makhorin <mao@mai2.rcnet.ru> | |
2431 | |
2432 * GLPK 1.0 has been released. |