ChangeLog
author Alpar Juttner <alpar@cs.elte.hu>
Sun, 05 Dec 2010 17:35:23 +0100
changeset 2 4c8956a7bdf4
permissions -rw-r--r--
Set up CMAKE build environment
     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.