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