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