You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							1841 lines
						
					
					
						
							82 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							1841 lines
						
					
					
						
							82 KiB
						
					
					
				
								GLPK 4.57 (release date: Nov 08, 2015)
							 | 
						|
								
							 | 
						|
								        A new, more efficient implementation of the dual simplex method
							 | 
						|
								        was included in the package. This new implementation replaces
							 | 
						|
								        the old one, which was removed.
							 | 
						|
								
							 | 
						|
								        Option sr_heur was added to struct glp_iocp to enable/disable
							 | 
						|
								        the simple rounding heuristic used by the MIP solver. Thanks to
							 | 
						|
								        Chris Matrakidis <cmatraki@gmail.com> for suggestion.
							 | 
						|
								
							 | 
						|
								        New API routine glp_at_error was added and documented. Thanks
							 | 
						|
								        to Jeroen Demeyer <jdemeyer@cage.ugent.be> for suggestion.
							 | 
						|
								
							 | 
						|
								        Some minor typos were corrected in the GLPK documentation.
							 | 
						|
								        Thanks to Anton Voropaev <anton.n.voropaev@gmail.com> for typo
							 | 
						|
								        report.
							 | 
						|
								
							 | 
						|
								        An example application program TSPSOL was added. It uses the
							 | 
						|
								        GLPK MIP optimizer to solve the Symmetric Traveling Salesman
							 | 
						|
								        Problem and illustrates "lazy" constraints generation. For more
							 | 
						|
								        details please see glpk/examples/tsp/README.
							 | 
						|
								
							 | 
						|
								GLPK 4.56 (release date: Oct 01, 2015)
							 | 
						|
								
							 | 
						|
								        A new, more efficient and more robust implementation of the
							 | 
						|
								        primal simplex method was included in the package. This new
							 | 
						|
								        implementation replaces the old one, which was removed.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in a basis factorization routine. (The bug
							 | 
						|
								        appeared if the basis matrix was structurally singular having
							 | 
						|
								        duplicate row and/or column singletons.) Thanks to Martin Jacob
							 | 
						|
								        <mj@bahntechnik.de> for bug report.
							 | 
						|
								
							 | 
						|
								        Scripts to build GLPK with Microsoft Visual Studio 2015 were
							 | 
						|
								        added. Thanks to Xypron <xypron.glpk@gmx.de> for contribution
							 | 
						|
								        and testing.
							 | 
						|
								
							 | 
						|
								GLPK 4.55 (release date: Aug 22, 2014)
							 | 
						|
								
							 | 
						|
								        Some internal (non-API) routines to estimate the condition of
							 | 
						|
								        the basis matrix were added. These routines are mainly intended
							 | 
						|
								        to be used by the simplex-based solvers.
							 | 
						|
								
							 | 
						|
								        Two open modes "a" and "ab" were added to GLPK I/O routines.
							 | 
						|
								        Thanks to Pedro P. Wong <d00604@taipower.com.tw> for bug report.
							 | 
						|
								
							 | 
						|
								        Minor bug was fixed in the solver glpsol (command-line options
							 | 
						|
								        --btf, --cbg, and --cgr didn't work properly).
							 | 
						|
								
							 | 
						|
								        A serious bug was fixed in a basis factorization routine used
							 | 
						|
								        on the dense phase. (The bug might appear only if the number of
							 | 
						|
								        rows exceeded sqrt(2**31) ~= 46,340 and caused access violation
							 | 
						|
								        exception because of integer overflow.) Thanks to Mark Meketon
							 | 
						|
								        <Marc.Meketon@oliverwyman.com> for bug report.
							 | 
						|
								
							 | 
						|
								        Two API routines glp_alloc and glp_realloc were documented.
							 | 
						|
								        Thanks to Brian Gladman <brg@gladman.plus.com> for suggestion.
							 | 
						|
								
							 | 
						|
								        Translation of the document "Modeling Language GNU MathProg"
							 | 
						|
								        to Spanish was included (in LaTeX and pdf formats). Thanks to
							 | 
						|
								        Pablo Yapura <ypf@agro.unlp.edu.ar> for contribution.
							 | 
						|
								
							 | 
						|
								GLPK 4.54 (release date: Mar 28, 2014)
							 | 
						|
								
							 | 
						|
								        Block-triangular LU-factorization was implemented to be used
							 | 
						|
								        on computing an initial factorization of the basis matrix.
							 | 
						|
								
							 | 
						|
								        A new version of the Schur-complement-based factorization
							 | 
						|
								        module was included in the package. Now it can be used along
							 | 
						|
								        with plain as well as with block-triangular LU-factorization.
							 | 
						|
								
							 | 
						|
								        Currently the following flags can be used to specify the type
							 | 
						|
								        of the basis matrix factorization (glp_bfcp.type):
							 | 
						|
								
							 | 
						|
								        GLP_BF_LUF + GLP_BF_FT   LUF, Forrest-Tomlin update (default)
							 | 
						|
								        GLP_BF_LUF + GLP_BF_BG   LUF, Schur complement, Bartels-Golub
							 | 
						|
								                                 update
							 | 
						|
								        GLP_BF_LUF + GLP_BF_GR   LUF, Schur complement, Givens rotation
							 | 
						|
								                                 update
							 | 
						|
								        GLP_BF_BTF + GLP_BF_BG   BTF, Schur complement, Bartels-Golub
							 | 
						|
								                                 update
							 | 
						|
								        GLP_BF_BTF + GLP_BF_GR   BTF, Schur complement, Givens rotation
							 | 
						|
								                                 update
							 | 
						|
								
							 | 
						|
								        In case of GLP_BF_FT the update is applied to matrix U, while
							 | 
						|
								        in cases of GLP_BF_BG and GLP_BF_GR the update is applied to
							 | 
						|
								        the Schur complement.
							 | 
						|
								
							 | 
						|
								        Corresponding new options --luf and --btf were added to glpsol.
							 | 
						|
								
							 | 
						|
								        For more details please see a new edition of the GLPK reference
							 | 
						|
								        manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        A minor bug (in reporting the mip solution status) was fixed.
							 | 
						|
								        Thanks to Remy Roy <remyroyster@gmail.com> for bug report.
							 | 
						|
								
							 | 
						|
								        A call to "iodbc-config --cflags" was added in configure.ac
							 | 
						|
								        to correctly detect iodbc flags. Thanks to Sebastien Villemot
							 | 
						|
								        <sebastien@debian.org> for patch.
							 | 
						|
								
							 | 
						|
								GLPK 4.53 (release date: Feb 13, 2014)
							 | 
						|
								
							 | 
						|
								        The API routine glp_read_mps was changed to remove free rows.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the API routine glp_read_lp. Thanks to
							 | 
						|
								        Gabriel Hackebeil <gabehack@gmail.com> for bug report.
							 | 
						|
								
							 | 
						|
								        The zlib compression library used by some GLPK routines and
							 | 
						|
								        included in the package was downgraded from 1.2.7 to 1.2.5 (as
							 | 
						|
								        in GLPK 4.50) because of addressability bugs on some 64-bit
							 | 
						|
								        platforms. Thanks to Carlo Baldassi <carlobaldassi@gmail.com>
							 | 
						|
								        for bug report.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in a routine that reads gzipped files. Thanks
							 | 
						|
								        to Achim Gaedke <achim.gaedke@gmail.com> for bug report.
							 | 
						|
								
							 | 
						|
								        Two API routines glp_get_it_cnt and glp_set_it_cnt were added.
							 | 
						|
								        Thanks to Joey Rios <joeylrios@hotmail.com> for suggestion.
							 | 
						|
								
							 | 
						|
								        All obsolete GLPK API routines (prefixed with lpx) were removed
							 | 
						|
								        from the package.
							 | 
						|
								
							 | 
						|
								        A set of routines that simulate the old GLPK API (as defined
							 | 
						|
								        in 4.48) were added; see examples/oldapi/api/lpx.c. Thanks to
							 | 
						|
								        Jan Engelhardt <jengelh@inai.de> for suggestion.
							 | 
						|
								
							 | 
						|
								        A namespace bug was fixed in the SQL table drive module. Thanks
							 | 
						|
								        to Dennis Schridde <devurandom@gmx.net> for bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.52.1 (release date: Jul 28, 2013)
							 | 
						|
								
							 | 
						|
								        This is a bug-fix release.
							 | 
						|
								
							 | 
						|
								        A version information bug in Makefile.am was fixed. Thanks to
							 | 
						|
								        Sebastien Villemot <sebastien@debian.org> for bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.52 (release date: Jul 18, 2013)
							 | 
						|
								
							 | 
						|
								        The clique cut generator was essentially reimplemented, and now
							 | 
						|
								        it is able to process very large and/or dense conflict graphs.
							 | 
						|
								
							 | 
						|
								        A simple rounding heuristic was added to the MIP optimizer.
							 | 
						|
								
							 | 
						|
								        Some bugs were fixed in the proximity search heuristic routine.
							 | 
						|
								        Thanks to Giorgio Sartor <0gioker0@gmail.com>.
							 | 
						|
								
							 | 
						|
								        New command-line option '--proxy [nnn]' was added to glpsol to
							 | 
						|
								        enable using the proximity search heuristic.
							 | 
						|
								
							 | 
						|
								        A bug (incorrect processing of LI column indicator) was fixed
							 | 
						|
								        in the mps format reading routine. Thanks to Charles Brixko for
							 | 
						|
								        bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.51 (release date: Jun 19, 2013)
							 | 
						|
								
							 | 
						|
								        Singleton and dense phases were implemented on computing
							 | 
						|
								        LU-factorization with Gaussian elimination. The singleton phase
							 | 
						|
								        is a feature that allows processing row and column singletons
							 | 
						|
								        on initial elimination steps more efficiently. The dense phase
							 | 
						|
								        is a feature used on final elimination steps when the active
							 | 
						|
								        submatrix becomes relatively dense. It significantly reduces
							 | 
						|
								        the time needed, especially if the active submatrix fits in CPU
							 | 
						|
								        cache, and improves numerical accuracy due to full pivoting.
							 | 
						|
								
							 | 
						|
								        The API routine glp_adv_basis that constructs advanced initial
							 | 
						|
								        LP basis was replaced by an improved version, which (unlike the
							 | 
						|
								        old version) takes into account numerical values of constraint
							 | 
						|
								        coefficients.
							 | 
						|
								
							 | 
						|
								        The proximity search heuristic for MIP was included in the GLPK
							 | 
						|
								        integer optimizer glp_intopt. On API level the heuristic can be
							 | 
						|
								        enabled by setting the parameter ps_heur in glp_iocp to GLP_ON.
							 | 
						|
								        This feature is also available in the solver glpsol through
							 | 
						|
								        command-line option '--proxy'. Many thanks to Giorgio Sartor
							 | 
						|
								        <0gioker0@gmail.com> for contribution.
							 | 
						|
								
							 | 
						|
								        A bug was fixed that caused numerical instability in the FPUMP
							 | 
						|
								        heuristic.
							 | 
						|
								
							 | 
						|
								GLPK 4.50 (release date: May 24, 2013)
							 | 
						|
								
							 | 
						|
								        A new version of LU-factorization routines were added.
							 | 
						|
								        Currently this version provides the same functionality as the
							 | 
						|
								        old one, however, the new version allows further improving.
							 | 
						|
								
							 | 
						|
								        Old routines for FHV-factorization used to update the basis
							 | 
						|
								        factorization were replaced by a new version conforming to the
							 | 
						|
								        new version of LU-factorization.
							 | 
						|
								
							 | 
						|
								        Some clarifications about using the name index routines were
							 | 
						|
								        added. Thanks to Xypron <xypron.glpk@gmx.de> for suggestion.
							 | 
						|
								
							 | 
						|
								        Some typos were corrected in the MathProg language reference.
							 | 
						|
								        Thanks to Jeffrey Kantor <Kantor.1@nd.edu> for report.
							 | 
						|
								
							 | 
						|
								        A serious bug (out-of-range indexing error) was *tentatively*
							 | 
						|
								        fixed in the routine glp_relax4. Unfortunatly, this bug is
							 | 
						|
								        inherited from the original Fortran version of the RELAX-IV
							 | 
						|
								        code (for details please see ChangeLog), and since the code is
							 | 
						|
								        very intricate, the bug is still under investigation. Thanks to
							 | 
						|
								        Sylvain Fournier for bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.49 (release date: Apr 16, 2013)
							 | 
						|
								
							 | 
						|
								        The new API routine glp_mincost_relax4, which is a driver to
							 | 
						|
								        relaxation method of Bertsekas and Tseng (RELAX-IV), was added
							 | 
						|
								        to the package. RELAX-IV is a code for solving minimum cost
							 | 
						|
								        flow problems. On large instances it is 100-1000 times faster
							 | 
						|
								        than the standard primal simplex method. Prof. Bertsekas, the
							 | 
						|
								        author of the original RELAX-IV Fortran code, kindly permitted
							 | 
						|
								        to include a C translation of his code in GLPK under GPLv3.
							 | 
						|
								
							 | 
						|
								        A bug (wrong dual feasibility test) was fixed in API routine
							 | 
						|
								        glp_warm_up. Thanks to David T. Price <dtprice@speakeasy.net>
							 | 
						|
								        for bug report.
							 | 
						|
								
							 | 
						|
								        Obsolete API routine lpx_check_kkt was replaced by new routine
							 | 
						|
								        glp_check_kkt.
							 | 
						|
								
							 | 
						|
								        IMPORTANT: All old API routines whose names begin with 'lpx_'
							 | 
						|
								        were removed from API level and NO MORE AVAILABLE.
							 | 
						|
								
							 | 
						|
								GLPK 4.48 (release date: Jan 28, 2013)
							 | 
						|
								
							 | 
						|
								        This is a maintainer release.
							 | 
						|
								
							 | 
						|
								        Some minor changes in API (glpk.h) were made. For details
							 | 
						|
								        please see ChangeLog.
							 | 
						|
								
							 | 
						|
								        Some bugs/typos were fixed. Thanks to
							 | 
						|
								        Raniere Gaia Costa da Silva,
							 | 
						|
								        Heinrich Schuchardt <xypron.glpk@gmx.de>, and
							 | 
						|
								        Robbie Morrison <robbie@actrix.co.nz> for reports.
							 | 
						|
								
							 | 
						|
								GLPK 4.47 (release date: Sep 09, 2011)
							 | 
						|
								
							 | 
						|
								        The new API routine glp_intfeas1 was added to the package.
							 | 
						|
								        This routine is a tentative implementation of the integer (0-1)
							 | 
						|
								        feasibility solver based on the CNF-SAT solver (which currently
							 | 
						|
								        is MiniSat). It may be used in the same way as glp_intopt to
							 | 
						|
								        find either any integer feasible solution or a solution, for
							 | 
						|
								        which the objective function is not worse than the specified
							 | 
						|
								        value. Detailed description of this routine can be found in the
							 | 
						|
								        document "CNF Satisfiability Problem", which is included in the
							 | 
						|
								        distribution (see doc/cnfsat.pdf).
							 | 
						|
								
							 | 
						|
								        The following two options were added to glpsol:
							 | 
						|
								
							 | 
						|
								        --minisat       translate 0-1 feasibility problem to CNF-SAT
							 | 
						|
								                        problem and solve it with glp_intfeas1/MiniSat
							 | 
						|
								                        (if the problem instance is already in CNF-SAT
							 | 
						|
								                        format, no translation is performed)
							 | 
						|
								
							 | 
						|
								        --objbnd bound  add inequality obj <= bound (minimization) or
							 | 
						|
								                        obj >= bound (maximization) to 0-1 feasibility
							 | 
						|
								                        problem (this option assumes --minisat)
							 | 
						|
								
							 | 
						|
								        The paint-by-numbers puzzle model (pbn.mod) included in the
							 | 
						|
								        distribution is a nice example of the 0-1 feasibility problem,
							 | 
						|
								        which can be efficiently solved with glp_intfeas1/MiniSat. This
							 | 
						|
								        model along with a brief instruction (pbn.pdf) and benchmark
							 | 
						|
								        examples from <webpbn.com> encoded in GNU MathProg (*.dat) can
							 | 
						|
								        be found in subdirectory examples/pbn/.
							 | 
						|
								
							 | 
						|
								        The glpsol lp/mip solver was modified to bypass postprocessing
							 | 
						|
								        of MathProg models if the solution reported is neither optimal
							 | 
						|
								        nor feasible.
							 | 
						|
								
							 | 
						|
								        A minor bug in examples/Makefile.am was fixed to correctly
							 | 
						|
								        build glpk in a separate directory. Thanks to Marco Atzeri
							 | 
						|
								        <marco.atzeri@gmail.com> for bug report and patch.
							 | 
						|
								
							 | 
						|
								GLPK 4.46 (release date: Aug 09, 2011)
							 | 
						|
								
							 | 
						|
								        The following new API routines were added:
							 | 
						|
								
							 | 
						|
								        glp_read_cnfsat    read CNF-SAT problem data in DIMACS format
							 | 
						|
								        glp_check_cnfsat   check for CNF-SAT problem instance
							 | 
						|
								        glp_write_cnfsat   write CNF-SAT problem data in DIMACS format
							 | 
						|
								        glp_minisat1       solve CNF-SAT problem instance with MiniSat
							 | 
						|
								
							 | 
						|
								        The routine glp_minisat1 is a driver to MiniSat, a CNF-SAT
							 | 
						|
								        solver developed by Niklas Een and Niklas Sorensson, Chalmers
							 | 
						|
								        University of Technology, Sweden. This routine is similar to
							 | 
						|
								        the routine glp_intopt, however, it is intended to solve a 0-1
							 | 
						|
								        programming problem instance, which is the MIP translation of
							 | 
						|
								        a CNF-SAT problem instance.
							 | 
						|
								
							 | 
						|
								        Detailed description of these new API routines can be found in
							 | 
						|
								        the document "CNF Satisfiability Problem", which is included in
							 | 
						|
								        the distribution (see files doc/cnfsat.tex and doc/cnfsat.pdf).
							 | 
						|
								
							 | 
						|
								        The following new glpsol command-line options were added:
							 | 
						|
								
							 | 
						|
								        --cnf filename     read CNF-SAT problem instance in DIMACS
							 | 
						|
								                           format from filename and translate it to MIP
							 | 
						|
								        --wcnf filename    write CNF-SAT problem instance in DIMACS
							 | 
						|
								                           format to filename
							 | 
						|
								        --minisat          solve CNF-SAT problem instance with MiniSat
							 | 
						|
								                           solver
							 | 
						|
								
							 | 
						|
								        The zlib compression library (version 1.2.5) was ANSIfied,
							 | 
						|
								        modified according to GLPK requirements and included in the
							 | 
						|
								        distribution as an external software module. Thus, now this
							 | 
						|
								        feature is platform independent.
							 | 
						|
								
							 | 
						|
								        Some bugs were fixed in the SQL table driver. Thanks to Xypron
							 | 
						|
								        <xypron.glpk@gmx.de>.
							 | 
						|
								
							 | 
						|
								GLPK 4.45 (release date: Dec 05, 2010)
							 | 
						|
								
							 | 
						|
								        This is a bug-fix release.
							 | 
						|
								
							 | 
						|
								        Several bugs/typos were fixed. Thanks to
							 | 
						|
								        Xypron <xypron.glpk@gmx.de>,
							 | 
						|
								        Robbie Morrison <robbie@actrix.co.nz>, and
							 | 
						|
								        Ali Baharev <ali.baharev@gmail.com> for reports.
							 | 
						|
								
							 | 
						|
								        Some glpk documents was re-formatted and merged into a single
							 | 
						|
								        document. Now the glpk documentation consists of the following
							 | 
						|
								        three main documents (all included in the distribution):
							 | 
						|
								
							 | 
						|
								        GLPK: Reference Manual
							 | 
						|
								
							 | 
						|
								        GLPK: Graph and Network Routines
							 | 
						|
								
							 | 
						|
								        Modeling Language GNU MathProg: Language Reference
							 | 
						|
								
							 | 
						|
								GLPK 4.44 (release date: Jun 03, 2010)
							 | 
						|
								
							 | 
						|
								        The following suffixes for variables and constraints were
							 | 
						|
								        implemented in the MathProg language:
							 | 
						|
								
							 | 
						|
								        .lb     (lower bound),
							 | 
						|
								        .ub     (upper bound),
							 | 
						|
								        .status (status in the solution),
							 | 
						|
								        .val    (primal value), and
							 | 
						|
								        .dual   (dual value).
							 | 
						|
								
							 | 
						|
								        Thanks to Xypron <xypron.glpk@gmx.de> for draft implementation
							 | 
						|
								        and testing.
							 | 
						|
								
							 | 
						|
								        Now the MathProg language allows comment records (marked by
							 | 
						|
								        '#' in the very first position) in CSV data files read with the
							 | 
						|
								        table statements. Note that the comment records may appear only
							 | 
						|
								        in the beginning of a CSV data file.
							 | 
						|
								
							 | 
						|
								        The API routine glp_cpp to solve the Critical Path Problem was
							 | 
						|
								        added and documented.
							 | 
						|
								
							 | 
						|
								GLPK 4.43 (release date: Feb 20, 2010)
							 | 
						|
								
							 | 
						|
								        This is a maintainer release.
							 | 
						|
								
							 | 
						|
								        `configure.ac' was changed to allow building the package under
							 | 
						|
								        Mac OS and Darwin with ODBC support.
							 | 
						|
								        Thanks to Xypron <xypron.glpk@gmx.de> for suggestions and Noli
							 | 
						|
								        Sicad <nsicad@gmail.com> for testing.
							 | 
						|
								
							 | 
						|
								        The SQL table driver was improved to process NULL data. Thanks
							 | 
						|
								        to Xypron <xypron.glpk@gmx.de>.
							 | 
						|
								
							 | 
						|
								        Some bugs were fixed in the LP/MIP preprocessor.
							 | 
						|
								
							 | 
						|
								GLPK 4.42 (release date: Jan 13, 2010)
							 | 
						|
								
							 | 
						|
								        The following new API routines were added:
							 | 
						|
								
							 | 
						|
								        glp_check_dup         check for duplicate elements in sparse
							 | 
						|
								                              matrix
							 | 
						|
								        glp_sort_matrix       sort elements of the constraint matrix
							 | 
						|
								        glp_read_prob         read problem data in GLPK format
							 | 
						|
								        glp_write_prob        write problem data in GLPK format
							 | 
						|
								        glp_analyze_bound     analyze active bound of non-basic variable
							 | 
						|
								        glp_analyze_coef      analyze objective coefficient at basic
							 | 
						|
								                              variable
							 | 
						|
								        glp_print_ranges      print sensitivity analysis report (this
							 | 
						|
								                              routine replaces lpx_print_sens_bnds and
							 | 
						|
								                              makes it deprecated)
							 | 
						|
								
							 | 
						|
								        For description of these new routines and the GLPK LP/MIP
							 | 
						|
								        format see a new edition of the reference manual included in
							 | 
						|
								        the distribution. (Chapter "Graph and network API routines" was
							 | 
						|
								        carried out from the main reference manual and included in the
							 | 
						|
								        distribution as a separate document.)
							 | 
						|
								
							 | 
						|
								        The following new command-line options were added to the stand-
							 | 
						|
								        alone solver glpsol:
							 | 
						|
								        --glp filename        read problem data in GLPK format
							 | 
						|
								        --wglp filename       write problem data in GLPK format
							 | 
						|
								        --ranges filename     print sensitivity analysis report (this
							 | 
						|
								                              option replaces --bounds)
							 | 
						|
								
							 | 
						|
								        Now all GLPK routines performing file I/O support special
							 | 
						|
								        filenames "/dev/stdin", "/dev/stdout", and "/dev/stderr", which
							 | 
						|
								        can be specified in the same way as regular filenames. This
							 | 
						|
								        feature is plaform-independent.
							 | 
						|
								
							 | 
						|
								GLPK 4.41 (release date: Dec 21, 2009)
							 | 
						|
								
							 | 
						|
								        The following new API routies were added:
							 | 
						|
								
							 | 
						|
								        glp_transform_row     transform explicitly specified row
							 | 
						|
								        glp_transform_col     transform explicitly specified column
							 | 
						|
								        glp_prim_rtest        perform primal ratio test
							 | 
						|
								        glp_dual_rtest        perform dual ratio test
							 | 
						|
								
							 | 
						|
								        For description of these new routines see a new edition of the
							 | 
						|
								        reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        The following API routines are deprecated: lpx_transform_row,
							 | 
						|
								        lpx_transform_col, lpx_prim_ratio_test, lpx_dual_ratio_test.
							 | 
						|
								
							 | 
						|
								        Some improvements were made in the MIP solver (glp_intopt).
							 | 
						|
								
							 | 
						|
								        The SQL table driver used to read/write data in MathProg models
							 | 
						|
								        was changed to allow multiple arguments separated by semicolon
							 | 
						|
								        in SQL statements. Thanks to Xypron <xypron.glpk@gmx.de>.
							 | 
						|
								
							 | 
						|
								        Two new options were added to the glpsol stand-alone solver:
							 | 
						|
								        --seed value (to initialize the pseudo-random number generator
							 | 
						|
								        used in MathProg models with specified value), and
							 | 
						|
								        --ini filename (to use a basis previously saved with -w option
							 | 
						|
								        as an initial basis on solving similar LP's).
							 | 
						|
								
							 | 
						|
								        Two new MathProg example models were included. Thanks to
							 | 
						|
								        Nigel Galloway <nigel_galloway@operamail.com> and Noli Sicad
							 | 
						|
								        <nsicad@gmail.com> for contribution.
							 | 
						|
								
							 | 
						|
								        Scripts to build GLPK with Microsoft Visual Studio 2010 for
							 | 
						|
								        both 32-bit and 64-bit Windows were included. Thanks to Xypron
							 | 
						|
								        <xypron.glpk@gmx.de> for contribution and testing.
							 | 
						|
								
							 | 
						|
								GLPK 4.40 (release date: Nov 03, 2009)
							 | 
						|
								
							 | 
						|
								        The following new API routines were added:
							 | 
						|
								
							 | 
						|
								        glp_del_vertices      remove vertices from graph
							 | 
						|
								        glp_del_arc           remove arc from graph
							 | 
						|
								        glp_wclique_exact     find maximum weight clique with the exact
							 | 
						|
								                              algorithm developed by Prof. P. Ostergard
							 | 
						|
								        glp_read_ccdata       read graph in DIMACS clique/coloring
							 | 
						|
								                              format
							 | 
						|
								        glp_write_ccdata      write graph in DIMACS clique/coloring
							 | 
						|
								                              format
							 | 
						|
								
							 | 
						|
								        For description of these new routines see a new edition of the
							 | 
						|
								        reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        The hybrid pseudocost branching heuristic was included in the
							 | 
						|
								        MIP solver. It is available on API level (iocp.br_tech should
							 | 
						|
								        be set to GLP_BR_PCH) and in the stand-alone solver glpsol
							 | 
						|
								        (via the command-line option --pcost). This heuristic may be
							 | 
						|
								        useful on solving hard MIP instances.
							 | 
						|
								
							 | 
						|
								        The branching heuristic by Driebeck and Tomlin (used in the
							 | 
						|
								        MIP solver by default) was changed to switch to branching on
							 | 
						|
								        most fractional variable if an lower bound of degradation of
							 | 
						|
								        the objective is close to zero for all branching candidates.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the LP preprocessor (routine npp_empty_col).
							 | 
						|
								        Thanks to Stefan Vigerske <stefan@math.hu-berlin.de> for the
							 | 
						|
								        bug report.
							 | 
						|
								
							 | 
						|
								        A bug was fixed and some improvements were made in the FPUMP
							 | 
						|
								        heuristic module. Thanks to Xypron <xypron.glpk@gmx.de>.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the API routine glp_warm_up (dual
							 | 
						|
								        feasibility test was incorrect in maximization case). Thanks to
							 | 
						|
								        Uday Venkatadri <Uday.Venkatadri@dal.ca> for the bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.39 (release date: Jul 26, 2009)
							 | 
						|
								
							 | 
						|
								        The following new API routines were added:
							 | 
						|
								
							 | 
						|
								        glp_warm_up           "warm up" LP basis
							 | 
						|
								        glp_set_vertex_name   assign (change) vertex name
							 | 
						|
								        glp_create_v_index    create vertex name index
							 | 
						|
								        glp_find_vertex       find vertex by its name
							 | 
						|
								        glp_delete_v_index    delete vertex name index
							 | 
						|
								        glp_read_asnprob      read assignment problem data in DIMACS
							 | 
						|
								                              format
							 | 
						|
								        glp_write_asnprob     write assignment problem data in DIMACS
							 | 
						|
								                              format
							 | 
						|
								        glp_check_asnprob     check correctness of assignment problem
							 | 
						|
								                              data
							 | 
						|
								        glp_asnprob_lp        convert assignment problem to LP
							 | 
						|
								        glp_asnprob_okalg     solve assignment problem with the
							 | 
						|
								                              out-of-kilter algorithm
							 | 
						|
								        glp_asnprob_hall      find bipartite matching of maxumum
							 | 
						|
								                              cardinality with Hall's algorithm
							 | 
						|
								
							 | 
						|
								        Also were added some API routines to read plain data files.
							 | 
						|
								
							 | 
						|
								        The API routines glp_read_lp and glp_write_lp to read/write
							 | 
						|
								        files in CPLEX LP format were re-implemented. Now glp_write_lp
							 | 
						|
								        correctly writes double-bounded (ranged) rows by introducing
							 | 
						|
								        slack variables rather than by duplicating the rows.
							 | 
						|
								
							 | 
						|
								        For description of these new routines see a new edition of the
							 | 
						|
								        reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        The 'xfree(NULL)' bug was fixed in the AMD routines. Thanks to
							 | 
						|
								        Niels Klitgord <niels@bu.edu> for bug report.
							 | 
						|
								
							 | 
						|
								        The message "Crashing..." was changed to "Constructing initial
							 | 
						|
								        basis..." due to suggestion by Thomas Kahle <tom111@gmx.de>.
							 | 
						|
								
							 | 
						|
								        Some typos were corrected in glpsol output messages. Thanks to
							 | 
						|
								        Xypron <xypron.glpk@gmx.de> for patch.
							 | 
						|
								
							 | 
						|
								GLPK 4.38 (release date: May 02, 2009)
							 | 
						|
								
							 | 
						|
								        API routines glp_read_mps and glp_write_mps were improved.
							 | 
						|
								
							 | 
						|
								        Some improvements were made in the dual simplex routines.
							 | 
						|
								
							 | 
						|
								        Two external software modules AMD and COLAMD were included in
							 | 
						|
								        the distribution (for more details please see src/amd/README
							 | 
						|
								        and src/colamd/README). Now they are used in the interior-point
							 | 
						|
								        solver to reorder the matrix prior to Cholesky factorization.
							 | 
						|
								
							 | 
						|
								        API routine glp_ipt_status may return two new statuses due to
							 | 
						|
								        changes in the routine glp_interior. For details please see the
							 | 
						|
								        reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        A minor bug was fixed in the graph/network routines. Thanks to
							 | 
						|
								        Nelson H. F. Beebe <beebe@math.utah.edu> for bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.37 (release date: Mar 29, 2009)
							 | 
						|
								
							 | 
						|
								        The 0-1 Feasibility Pump heuristic was included in the GLPK
							 | 
						|
								        integer optimizer glp_intopt. On API level the heuristic can be
							 | 
						|
								        enabled by setting the parameter fp_heur in glp_iocp to GLP_ON.
							 | 
						|
								        This feature is also available in the solver glpsol through
							 | 
						|
								        command-line option '--fpump'. For more details please see the
							 | 
						|
								        reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        The following new API routines were added:
							 | 
						|
								
							 | 
						|
								        glp_print_sol         write basic solution in printable format
							 | 
						|
								        glp_print_ipt         write interior-point solution in printable
							 | 
						|
								                              format
							 | 
						|
								        glp_print_mip         write MIP solution in printable format
							 | 
						|
								        glp_read_graph        read (di)graph from plain text file
							 | 
						|
								        glp_write_graph       write (di)graph to plain text file
							 | 
						|
								        glp_weak_comp         find all weakly connected components
							 | 
						|
								        glp_strong_comp       find all strongly connected components
							 | 
						|
								
							 | 
						|
								        The following API routines are deprecated: lpx_print_sol,
							 | 
						|
								        lpx_print_ips, lpx_print_mip, lpx_print_prob (the latter is
							 | 
						|
								        equivalent to glp_write_lp).
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the interior-point solver (glp_interior) to
							 | 
						|
								        correctly compute dual solution components when the problem is
							 | 
						|
								        scaled.
							 | 
						|
								
							 | 
						|
								        The files configure.ac and Makefile.am were changed:
							 | 
						|
								        (a) to allow using autoreconf/autoheader;
							 | 
						|
								        (b) to allow building the package in a directory other than its
							 | 
						|
								            source directory.
							 | 
						|
								        Thanks to Marco Atzeri <marco_atzeri@yahoo.it> for bug report.
							 | 
						|
								
							 | 
						|
								        An example model in the GNU MathProg language was added.
							 | 
						|
								        Thanks to Larry D'Agostino <Larry.D'Agostino@gmacrescap.com> for
							 | 
						|
								        contribution.
							 | 
						|
								
							 | 
						|
								GLPK 4.36 (release date: Feb 06, 2009)
							 | 
						|
								
							 | 
						|
								        The following new API routines were added to the package:
							 | 
						|
								
							 | 
						|
								        glp_mincost_okalg     find minimum-cost flow with out-of-kilter
							 | 
						|
								                              algorithm
							 | 
						|
								        glp_maxflow_ffalg     find maximal flow with Ford-Fulkerson
							 | 
						|
								                              algorithm
							 | 
						|
								
							 | 
						|
								        For detailed description of these new routines and related data
							 | 
						|
								        structures see chapter "Graph and Network API Routines" in a new
							 | 
						|
								        edition of the reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        The following two new command-line options were added to the
							 | 
						|
								        solver glpsol:
							 | 
						|
								
							 | 
						|
								        --mincost             read min-cost flow data in DIMACS format
							 | 
						|
								        --maxflow             read maximum flow data in DIMACS format
							 | 
						|
								
							 | 
						|
								        Duplicate symbols in the header glpk.h were removed to allow
							 | 
						|
								        using swig.
							 | 
						|
								        Thanks to Kelly Westbrooks <kellywestbrooks@yahoo.com> and
							 | 
						|
								        Nigel Galloway <nigel_galloway@operamail.com> for suggestion.
							 | 
						|
								
							 | 
						|
								        A minor defect was fixed in the routine glp_write_lp.
							 | 
						|
								        Thanks to Sebastien Briais <sbriais@free.fr> for bug report.
							 | 
						|
								
							 | 
						|
								        A minor bug was fixed in the SQL module.
							 | 
						|
								        Thanks to Xypron <xypron.glpk@gmx.de> for patch.
							 | 
						|
								
							 | 
						|
								        Some new example models in the GNU MathProg modeling language
							 | 
						|
								        were added. Thanks to Sebastian Nowozin <nowozin@gmail.com> and
							 | 
						|
								        Nigel Galloway <nigel_galloway@operamail.com> for contribution.
							 | 
						|
								
							 | 
						|
								GLPK 4.35 (release date: Jan 09, 2009)
							 | 
						|
								
							 | 
						|
								        The following new API routines were added to the package:
							 | 
						|
								
							 | 
						|
								        glp_create_graph      create graph
							 | 
						|
								        glp_set_graph_name    assign (change) graph name
							 | 
						|
								        glp_add_vertices      add new vertices to graph
							 | 
						|
								        glp_add_arc           add new arc to graph
							 | 
						|
								        glp_erase_graph       erase graph content
							 | 
						|
								        glp_delete_graph      delete graph
							 | 
						|
								        glp_read_mincost      read minimum cost flow problem data in
							 | 
						|
								                              DIMACS format
							 | 
						|
								        glp_write_mincost     write minimum cost flow problem data in
							 | 
						|
								                              DIMACS format
							 | 
						|
								        glp_mincost_lp        convert minimum cost flow problem to LP
							 | 
						|
								        glp_netgen            Klingman's network problem generator
							 | 
						|
								        glp_gridgen           grid-like network problem generator
							 | 
						|
								        glp_read_maxflow      read maximum flow problem data in DIMACS
							 | 
						|
								                              format
							 | 
						|
								        glp_write_maxflow     write maximum flow problem data in DIMACS
							 | 
						|
								                              format
							 | 
						|
								        glp_maxflow_lp        convert maximum flow problem to LP
							 | 
						|
								        glp_rmfgen            Goldfarb's maximum flow problem generator
							 | 
						|
								
							 | 
						|
								        For detailed description of these new routines and related data
							 | 
						|
								        structures see chapter "Graph and Network API Routines" in a new
							 | 
						|
								        edition of the reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        A minor change were made in the internal routine xputc. Thanks
							 | 
						|
								        to Luiz Bettoni <bettoni@cpgei.ct.utfpr.edu.br> for suggestion.
							 | 
						|
								
							 | 
						|
								        A minor bug was fixed in the internal routine mpl_fn_time2str.
							 | 
						|
								        Thanks to Stefan Vigerske <stefan@vigerske.de> for bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.34 (release date: Dec 04, 2008)
							 | 
						|
								
							 | 
						|
								        The GNU MathProg modeling language was supplemented with three
							 | 
						|
								        new built-in functions:
							 | 
						|
								
							 | 
						|
								        gmtime    obtaining current calendar time
							 | 
						|
								        str2time  converting character string to calendar time
							 | 
						|
								        time2str  converting calendar time to character string
							 | 
						|
								
							 | 
						|
								        (Thanks to Xypron <xypron.glpk@gmx.de>.)
							 | 
						|
								
							 | 
						|
								        For detailed description of these functions see Appendix A in
							 | 
						|
								        the document "Modeling Language GNU MathProg", a new edition of
							 | 
						|
								        which was included in the distribution.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the MIP solver. Thanks to Nigel Galloway
							 | 
						|
								        <nigel_galloway@operamail.com> for bug report.
							 | 
						|
								
							 | 
						|
								        A new makefile was added to build the GLPK DLL with Microsoft
							 | 
						|
								        Visual Studio Express 2008 for 64-bit Windows. Thanks to Xypron
							 | 
						|
								        <xypron.glpk@gmx.de> for contribution and testing.
							 | 
						|
								
							 | 
						|
								GLPK 4.33 (release date: Oct 30, 2008)
							 | 
						|
								
							 | 
						|
								        The following new API routines were added to the package:
							 | 
						|
								        glp_copy_prob         copy problem object content
							 | 
						|
								        glp_exact             solve LP in exact arithmetic
							 | 
						|
								                              (makes lpx_exact deprecated)
							 | 
						|
								        glp_get_unbnd_ray     determine variable causing unboundedness
							 | 
						|
								                              (makes lpx_get_ray_info deprecated)
							 | 
						|
								        glp_interior          solve LP with interior-point method
							 | 
						|
								                              (makes lpx_interior deprecated)
							 | 
						|
								
							 | 
						|
								        The following new API routines for processing models written in
							 | 
						|
								        the GNU Mathprog language were added to the package:
							 | 
						|
								        glp_mpl_alloc_wksp    allocate the translator workspace
							 | 
						|
								        glp_mpl_read_model    read and translate model section
							 | 
						|
								        glp_mpl_read_data     read and translate data section
							 | 
						|
								        glp_mpl_generate      generate the model
							 | 
						|
								        glp_mpl_build_prob    build LP/MIP instance from the model
							 | 
						|
								        glp_mpl_postsolve     postsolve the model
							 | 
						|
								        glp_mpl_free_wksp     deallocate the translator workspace
							 | 
						|
								        (These routines make lpx_read_model deprecated.)
							 | 
						|
								
							 | 
						|
								        For description of all these new API routines see the reference
							 | 
						|
								        manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        A crude implementation of CPLEX-like interface to GLPK API was
							 | 
						|
								        added to the package. Currently it allows using GLPK as a core
							 | 
						|
								        LP solver for Concorde, a well known computer code for solving
							 | 
						|
								        the symmetric TSP. For details see examples/cplex/README.
							 | 
						|
								
							 | 
						|
								        Some bugs were fixed in the SQL table driver. Thanks to Xypron
							 | 
						|
								        <xypron.glpk@gmx.de>.
							 | 
						|
								
							 | 
						|
								GLPK 4.32 (release date: Oct 03, 2008)
							 | 
						|
								
							 | 
						|
								        The following new features were included in the MIP solver
							 | 
						|
								        (the API routine glp_intopt):
							 | 
						|
								
							 | 
						|
								        *  MIP presolver
							 | 
						|
								        *  mixed cover cut generator
							 | 
						|
								        *  clique cut generator
							 | 
						|
								        *  Euclidean reduction of the objective value
							 | 
						|
								
							 | 
						|
								        Due to changes the routine glp_intopt may additionally return
							 | 
						|
								        GLP_ENOPFS, GLP_ENODFS, and GLP_EMIPGAP.
							 | 
						|
								
							 | 
						|
								        The API routines lpx_integer are lpx_intopt are deprecated,
							 | 
						|
								        since they are completely superseded by glp_intopt.
							 | 
						|
								
							 | 
						|
								        The following new branch-and-cut API routines were added:
							 | 
						|
								        glp_ios_row_attr      determine additional row attributes
							 | 
						|
								        glp_ios_pool_size     determine current size of the cut pool
							 | 
						|
								        glp_ios_add_row       add constraint to the cut pool
							 | 
						|
								        glp_ios_del_row       delete constraint from the cut pool
							 | 
						|
								        glp_ios_clear_pool    delete all constraints from the cut pool
							 | 
						|
								
							 | 
						|
								        For description of these new routines see the reference manual
							 | 
						|
								        included in the distribution.
							 | 
						|
								
							 | 
						|
								        The stand-alone solver glpsol was changed to allow multiple
							 | 
						|
								        data files.
							 | 
						|
								
							 | 
						|
								        A new edition of the supplement "Using Data Tables in the GNU
							 | 
						|
								        MathProg Modeling Language" was included.
							 | 
						|
								
							 | 
						|
								        As usual, some bugs were fixed (in the MathProg translator).
							 | 
						|
								        Thanks to Xypron <xypron.glpk@gmx.de>.
							 | 
						|
								
							 | 
						|
								GLPK 4.31 (release date: Sep 02, 2008)
							 | 
						|
								
							 | 
						|
								        The core LP solver based on the dual simplex method was
							 | 
						|
								        re-implemented and now it provides both phases I and II.
							 | 
						|
								
							 | 
						|
								        The following new API routines were added:
							 | 
						|
								        glp_scale_prob  automatic scaling of problem data
							 | 
						|
								        glp_std_basis   construct standard initial LP basis
							 | 
						|
								        glp_adv_basis   construct advanced initial LP basis
							 | 
						|
								        glp_cpx_basis   construct Bixby's initial LP basis
							 | 
						|
								
							 | 
						|
								        For description of these new routines see the reference manual
							 | 
						|
								        included in the distribution.
							 | 
						|
								
							 | 
						|
								        The following API routines are deprecated:
							 | 
						|
								        lpx_scale_prob, lpx_std_basis, lpx_adv_basis, lpx_cpx_basis.
							 | 
						|
								
							 | 
						|
								        Necessary changes were made in memory allocation routines to
							 | 
						|
								        resolve portability issues for 64-bit platforms.
							 | 
						|
								
							 | 
						|
								        New version of the routine lpx_write_pb to write problem data
							 | 
						|
								        in OPB (pseudo boolean format) was added to the package. Thanks
							 | 
						|
								        to Oscar Gustafsson <oscarg@isy.liu.se> for the contribution.
							 | 
						|
								
							 | 
						|
								        Two new makefiles were added to build the package for 32- and
							 | 
						|
								        64-bit Windows with Microsoft Visual Studio Express 2008.
							 | 
						|
								        Thanks to Heinrich Schuchardt <heinrich.schuchardt@gmx.de> (aka
							 | 
						|
								        Xypron) for the contribution and testing.
							 | 
						|
								
							 | 
						|
								        Two new makefiles were added to build the package with Digital
							 | 
						|
								        Mars C/C++ 8.50 and Open Watcom C/C++ 1.6 (for 32-bit Windows).
							 | 
						|
								
							 | 
						|
								GLPK 4.30 (release date: Aug 13, 2008)
							 | 
						|
								
							 | 
						|
								        The core LP solver based on the primal simplex method was
							 | 
						|
								        re-implemented to allow its further improvements. Currently the
							 | 
						|
								        new version provides the same features as the old one, however,
							 | 
						|
								        it is a bit faster and more numerically stable.
							 | 
						|
								
							 | 
						|
								        Some changes were made in the MathProg translator to allow <,
							 | 
						|
								        <=, >=, and > on comparing symbolic values. Thanks to Heinrich
							 | 
						|
								        Schuchardt <heinrich.schuchardt@gmx.de> for patches.
							 | 
						|
								
							 | 
						|
								        Internal routine set_d_eps in the exact LP solver was changed
							 | 
						|
								        to prevent approximation errors in case of integral data.
							 | 
						|
								        Thanks to Markus Pilz <pilz@cs.uni-bonn.de> for bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.29 (release date: Jul 06, 2008)
							 | 
						|
								
							 | 
						|
								        The configure script was changed to disable all optional
							 | 
						|
								        features by default. For details please see file INSTALL.
							 | 
						|
								
							 | 
						|
								        The following new API routines were added:
							 | 
						|
								        glp_erase_prob  erase problem object content
							 | 
						|
								        glp_read_mps    read problem data in MPS format
							 | 
						|
								        glp_write_mps   write problem data in MPS format
							 | 
						|
								        glp_read_lp     read problem data in CPLEX LP format
							 | 
						|
								        glp_write_lp    write problem data in CPLEX LP format
							 | 
						|
								
							 | 
						|
								        For description of these new routines see the reference manual
							 | 
						|
								        included in the distribution.
							 | 
						|
								
							 | 
						|
								        The following API routines are deprecated:
							 | 
						|
								        lpx_read_mps, lpx_read_freemps, lpx_write_mps,
							 | 
						|
								        lpx_write_freemps, lpx_read_cpxlp, and lpx_write_cpxlp.
							 | 
						|
								
							 | 
						|
								        Two bugs were fixed. Thanks to
							 | 
						|
								        Anne-Laurence Putz <anne-laurence.putz@eurodecision.com> and
							 | 
						|
								        Xypron <xypron.glpk@gmx.de> for bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.28 (release date: Mar 25, 2008)
							 | 
						|
								
							 | 
						|
								        The iODBC and MySQL table drivers, which allows transmitting
							 | 
						|
								        data between MathProg model objects and relational databases,
							 | 
						|
								        were re-implemented to replace a static linking by a dynamic
							 | 
						|
								        linking to corresponding shared libraries.
							 | 
						|
								        Many thanks to Heinrich Schuchardt <heinrich.schuchardt@gmx.de>
							 | 
						|
								        for the contribution, Rafael Laboissiere <rafael@debian.org>
							 | 
						|
								        for useful advices concerning the shared library support under
							 | 
						|
								        GNU/Linux, and Vijay Patil <vijay.patil@gmail.com> for testing
							 | 
						|
								        this feature under Windows XP.
							 | 
						|
								
							 | 
						|
								        A new optional feature was added to the package. This feature
							 | 
						|
								        is based on the zlib data compression library and allows GLPK
							 | 
						|
								        API routines and the stand-alone solver to read and write
							 | 
						|
								        compressed data files performing compression/decompression "on
							 | 
						|
								        the fly" (compressed data files are recognized by suffix `.gz'
							 | 
						|
								        in the file name). It may be useful in case of large MPS files
							 | 
						|
								        to save the disk space (up to ten times).
							 | 
						|
								
							 | 
						|
								        The `configure' script was re-implemented. Now it supports the
							 | 
						|
								        following specific options:
							 | 
						|
								
							 | 
						|
								        --with-gmp           Enable using the GNU MP bignum library
							 | 
						|
								        --without-gmp        Disable using the GNU MP bignum library
							 | 
						|
								        --with-zlib          Enable using the zlib data compression
							 | 
						|
								                             library
							 | 
						|
								        --without-zlib       Disable using the zlib data compression
							 | 
						|
								                             library
							 | 
						|
								        --enable-dl          Enable shared library support (auto check)
							 | 
						|
								        --enable-dl=ltdl     Enable shared library support (GNU)
							 | 
						|
								        --enable-dl=dlfcn    Enable shared library support (POSIX)
							 | 
						|
								        --disable-dl         Disable shared library support
							 | 
						|
								        --enable-odbc        Enable using ODBC table driver
							 | 
						|
								        --disable-odbc       Disable using ODBC table driver
							 | 
						|
								        --enable-mysql       Enable using MySQL table driver
							 | 
						|
								        --disable-mysql      Disable using MySQL table driver
							 | 
						|
								
							 | 
						|
								        For more details please see file INSTALL.
							 | 
						|
								
							 | 
						|
								GLPK 4.27 (release date: Mar 02, 2008)
							 | 
						|
								
							 | 
						|
								        Three new table drivers were added to the MathProg translator:
							 | 
						|
								
							 | 
						|
								        xBASE built-in table driver, which allows reading and writing
							 | 
						|
								        data in .dbf format (only C and N fields are supported);
							 | 
						|
								
							 | 
						|
								        MySQL table driver, which provides connection to a MySQL
							 | 
						|
								        database;
							 | 
						|
								
							 | 
						|
								        iODBC table driver, which provides connection to a database
							 | 
						|
								        through ODBC.
							 | 
						|
								
							 | 
						|
								        The MySQL and iODBC table drivers were contributed to GLPK by
							 | 
						|
								        Heinrich Schuchardt <heinrich.schuchardt@gmx.de>.
							 | 
						|
								
							 | 
						|
								        The table driver is a program module which allows transmitting
							 | 
						|
								        data between MathProg model objects and external data tables.
							 | 
						|
								
							 | 
						|
								        For detailed description of the table statement and table
							 | 
						|
								        drivers see the document "Using Data Tables in the GNU MathProg
							 | 
						|
								        Modeling Language" (file doc/tables.txt) included in the
							 | 
						|
								        distribution. Some examples which demonstrate using MySQL and
							 | 
						|
								        iODBC table drivers can be found in subdirectory examples/sql.
							 | 
						|
								
							 | 
						|
								GLPK 4.26 (release date: Feb 17, 2008)
							 | 
						|
								
							 | 
						|
								        The table statement was implemented in the GNU MathProg
							 | 
						|
								        modeling language. This new feature allows reading data from
							 | 
						|
								        external tables into model objects such as sets and parameters
							 | 
						|
								        as well as writing results of computations to external tables.
							 | 
						|
								
							 | 
						|
								        A table is a (unordered) set of records, where each record
							 | 
						|
								        consists of the same number of fields, and each field is
							 | 
						|
								        provided with a unique symbolic name called the field name.
							 | 
						|
								
							 | 
						|
								        Currently the GLPK package has the only built-in table driver,
							 | 
						|
								        which supports tables in the CSV (comma-separated values) file
							 | 
						|
								        format. This format is very simple and supported by almost all
							 | 
						|
								        spreadsheets and database management systems.
							 | 
						|
								
							 | 
						|
								        Detailed description of the table statement and CSV format can
							 | 
						|
								        be found in file doc/tables.txt, included in the distribution.
							 | 
						|
								
							 | 
						|
								GLPK 4.25 (release date: Dec 19, 2007)
							 | 
						|
								
							 | 
						|
								        A tentative implementation of Gomory's mixed integer cuts was
							 | 
						|
								        included in the branch-and-cut solver. To enable generating
							 | 
						|
								        Gomory's cuts the control parameter gmi_cuts passed to the
							 | 
						|
								        routine glp_intopt should be set to GLP_ON. This feature is
							 | 
						|
								        also available in the solver glpsol through command-line option
							 | 
						|
								        '--gomory'. For more details please see the reference manual
							 | 
						|
								        included in the distribution.
							 | 
						|
								
							 | 
						|
								GLPK 4.24 (release date: Nov 21, 2007)
							 | 
						|
								
							 | 
						|
								        A tentative implementation of MIR (mixed integer rounding) cuts
							 | 
						|
								        was included in the MIP solver. To enable generating MIR cuts
							 | 
						|
								        the control parameter mir_cuts passed to the routine glp_intopt
							 | 
						|
								        should be set to GLP_ON. This feature is also available in the
							 | 
						|
								        stand-alone solver glpsol via command-line option '--mir'. For
							 | 
						|
								        more details please see the reference manual included in the
							 | 
						|
								        distribution.
							 | 
						|
								
							 | 
						|
								        The implementation is mainly based on the following two papers:
							 | 
						|
								
							 | 
						|
								        1. H. Marchand and L. A. Wolsey. Aggregation and mixed integer
							 | 
						|
								           rounding to solve MIPs. CORE discussion paper 9839, CORE,
							 | 
						|
								           Universite catholique de Louvain, June 1998.
							 | 
						|
								
							 | 
						|
								        2. G. Andreello, A. Caprara, and M. Fischetti. Embedding cuts
							 | 
						|
								           in a Branch&Cut framework. Preliminary draft, October 2003.
							 | 
						|
								
							 | 
						|
								        MIR cuts can be generated on any level of the search tree that
							 | 
						|
								        makes the GLPK MIP solver to be a real branch-and-cut solver.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the routine lpx_write_cpxlp. If a variable
							 | 
						|
								        x has upper bound and no lower bound, it should appear in the
							 | 
						|
								        bounds section as "-inf <= x <= u", not as "x <= u". Thanks to
							 | 
						|
								        Enric Rodriguez <erodri@lsi.upc.edu> for the bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.23 (release date: Oct 28, 2007)
							 | 
						|
								
							 | 
						|
								        The following new API routines were added:
							 | 
						|
								
							 | 
						|
								        glp_read_sol    read basic solution from text file
							 | 
						|
								        glp_write_sol   write basic solution to text file
							 | 
						|
								        glp_read_ipt    read interior-point solution from text file
							 | 
						|
								        glp_write_ipt   write interior-point solution to text file
							 | 
						|
								        glp_read_mip    read MIP solution from text file
							 | 
						|
								        glp_write_mip   write MIP solution to text file
							 | 
						|
								
							 | 
						|
								        For description of these routines and corresponding file
							 | 
						|
								        formats see Chapter "API Routines", Section "Utility routines"
							 | 
						|
								        in the reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        Advanced API routine glp_free_env was added. It may be used by
							 | 
						|
								        the application program to free all resources allocated by GLPK
							 | 
						|
								        routines.
							 | 
						|
								
							 | 
						|
								        The following three new command-line options were added to the
							 | 
						|
								        solver glpsol:
							 | 
						|
								
							 | 
						|
								        --mipgap tol    set relative MIP gap tolerance
							 | 
						|
								        -r filename     read solution from filename
							 | 
						|
								        -w filename     write solution to filename
							 | 
						|
								
							 | 
						|
								GLPK 4.22 (release date: Sep 19, 2007)
							 | 
						|
								
							 | 
						|
								        This is a maintainer release.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the MIP preprocessor (ios_preprocess_node).
							 | 
						|
								        Thanks to Roberto Bagnara <bagnara@cs.unipr.it> (Department of
							 | 
						|
								        Mathematics, University of Parma, Italy) for the bug report.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the MIP preprocessor (col_implied_bounds),
							 | 
						|
								        due to which constraint coefficients with small magnitude could
							 | 
						|
								        lead to wrong implied bounds of structural variables.
							 | 
						|
								
							 | 
						|
								        A similar bug was fixed in the routine reduce_bounds.
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the routines glp_set_mat_row and
							 | 
						|
								        glp_set_mat_col. (The bug appeared due to incorrect removing
							 | 
						|
								        zero elements from the row/column lists.)
							 | 
						|
								
							 | 
						|
								        A bug was fixed in the API routines lpx_read_mps and
							 | 
						|
								        lpx_read_freemps, due to which bounds of type LI specified in
							 | 
						|
								        BOUNDS section were incorrectly processed.
							 | 
						|
								
							 | 
						|
								        A call to standard function vsprintf was replaced by a call to
							 | 
						|
								        vsnprintf for security reasons. Many thanks to Peter T. Breuer
							 | 
						|
								        <ptb@inv.it.uc3m.es> and Rafael Laboissiere <rafael@debian.org>.
							 | 
						|
								
							 | 
						|
								GLPK 4.21 (release date: Aug 28, 2007)
							 | 
						|
								
							 | 
						|
								        Additional reasons for calling the callback routine used in the
							 | 
						|
								        MIP solver (glp_intopt) were introduced. Currently the following
							 | 
						|
								        reasons are supported:
							 | 
						|
								
							 | 
						|
								        * request for subproblem selection
							 | 
						|
								        * request for preprocessing
							 | 
						|
								        * request for row generation
							 | 
						|
								        * request for heuristic solution
							 | 
						|
								        * request for cut generation
							 | 
						|
								        * request for branching
							 | 
						|
								        * better integer solution found
							 | 
						|
								
							 | 
						|
								        A basic preprocessing component used to improve subproblem
							 | 
						|
								        formulations by tightening bounds of variables was included in
							 | 
						|
								        the MIP solver. Depending on the control parameter pp_tech
							 | 
						|
								        passed to the routine glp_intopt the preprocessing can be
							 | 
						|
								        performed either on the root level or on all levels (default)
							 | 
						|
								        or can be disabled.
							 | 
						|
								
							 | 
						|
								        Backtracking heuristic used by default in the MIP solver was
							 | 
						|
								        changed to the "best local bound".
							 | 
						|
								
							 | 
						|
								        For more details see Chapter "Advanced API routines", Section
							 | 
						|
								        "Branch-and-bound interface routines" in a new edition of the
							 | 
						|
								        reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								GLPK 4.20 (release date: Jul 26, 2007)
							 | 
						|
								
							 | 
						|
								        API routine lpx_integer was replaced by API routine glp_intopt,
							 | 
						|
								        which provides equivalent functionality and additionally allows
							 | 
						|
								        the application to control the solution process by means of the
							 | 
						|
								        user-written callback routine, which is called by the solver at
							 | 
						|
								        various points of the branch-and-bound algorithm. Besides, the
							 | 
						|
								        new MIP solver allows generating "lazy" constraints and cutting
							 | 
						|
								        planes on all levels of the branch-and-bound tree, not only on
							 | 
						|
								        the root level. The routine lpx_integer is also still available
							 | 
						|
								        for the backward compatibility.
							 | 
						|
								
							 | 
						|
								        The following new advanced API routines, which may be called
							 | 
						|
								        from the B&B callback routine, were included in the package:
							 | 
						|
								
							 | 
						|
								        glp_ios_reason     determine reason for calling callback
							 | 
						|
								                           routine
							 | 
						|
								        glp_ios_get_prob   access the problem object
							 | 
						|
								        glp_ios_tree_size  determine size of the branch-and-bound tree
							 | 
						|
								        glp_ios_curr_node  determine current active subproblem
							 | 
						|
								        glp_ios_next_node  determine next active subproblem
							 | 
						|
								        glp_ios_prev_node  determine previous active subproblem
							 | 
						|
								        glp_ios_up_node    determine parent subproblem
							 | 
						|
								        glp_ios_node_level determine subproblem level
							 | 
						|
								        glp_ios_node_bound determine subproblem local bound
							 | 
						|
								        glp_ios_mip_gap    compute relative MIP gap
							 | 
						|
								        glp_ios_heur_sol   provide solution found by heuristic
							 | 
						|
								        glp_ios_terminate  terminate the solution process
							 | 
						|
								
							 | 
						|
								        For description of these routines see Chapter "Advanced API
							 | 
						|
								        routines", Section "Branch-and-bound interface routines" in a
							 | 
						|
								        new edition of the reference manual, which was included in the
							 | 
						|
								        distribution.
							 | 
						|
								
							 | 
						|
								        Old version of the integer optimization suite (IOS) as well as
							 | 
						|
								        TSP solver tspsol based on it are no longer supported and were
							 | 
						|
								        removed from the package.
							 | 
						|
								
							 | 
						|
								        A minor error in the MIP presolver was fixed; thanks to Graham
							 | 
						|
								        Rockwell <bionomicron@gmail.com> for the bug report.
							 | 
						|
								
							 | 
						|
								GLPK 4.19 (release date: Jul 05, 2007)
							 | 
						|
								
							 | 
						|
								        The principal change is upgrading to GPLv3.
							 | 
						|
								
							 | 
						|
								        A serious bug in the routine glp_del_cols was fixed; thanks to
							 | 
						|
								        Cedric[FR] <fox2113@wanadoo.fr> for the bug report. The bug
							 | 
						|
								        appeared because on deleting non-basic columns the basis header
							 | 
						|
								        remained valid, however, contained invalid (old) column ordinal
							 | 
						|
								        numbers.
							 | 
						|
								
							 | 
						|
								        A new advanced API routine glp_mem_limit was added.
							 | 
						|
								
							 | 
						|
								        The case GLP_EBOUND was added to the routine lpx_simplex.
							 | 
						|
								        Thanks to Cameron Kellough <Cameron.Kellough@sri.com> for the
							 | 
						|
								        bug report.
							 | 
						|
								
							 | 
						|
								        An API routine lpx_write_pb to write the problem instance in
							 | 
						|
								        OPB (pseudo boolean) format format was added. Thanks to Oscar
							 | 
						|
								        Gustafsson <oscarg@isy.liu.se> for the contribution.
							 | 
						|
								
							 | 
						|
								        Two new options --wpb and --wnpb were added to glpsol to write
							 | 
						|
								        the problem instance in OPB format.
							 | 
						|
								
							 | 
						|
								GLPK 4.18 (release date: Jun 25, 2007)
							 | 
						|
								
							 | 
						|
								        The following new API routines were added:
							 | 
						|
								
							 | 
						|
								        glp_set_rii        set (change) row scale factor
							 | 
						|
								        glp_set_sjj        set (change) column scale factor
							 | 
						|
								        glp_get_rii        retrieve row scale factor
							 | 
						|
								        glp_get_sjj        retrieve column scale factor
							 | 
						|
								        glp_simplex        solve LP problem with the simplex method
							 | 
						|
								                           (this routine replaces lpx_simplex, which is
							 | 
						|
								                           also available for backward compatibility)
							 | 
						|
								        glp_init_smcp      initialize simplex method control params
							 | 
						|
								        glp_bf_exists      check if the basis factorization exists
							 | 
						|
								        glp_factorize      compute the basis factorization
							 | 
						|
								        glp_bf_updated     check if the basis factorization has been
							 | 
						|
								                           updated
							 | 
						|
								        glp_get_bfcp       retrieve basis factorization control params
							 | 
						|
								        glp_set_bfcp       change basis factorization control params
							 | 
						|
								        glp_get_bhead      retrieve the basis header information
							 | 
						|
								        glp_get_row_bind   retrieve row index in the basis header
							 | 
						|
								        glp_get_col_bind   retrieve column index in the basis header
							 | 
						|
								        glp_ftran          perform forward transformation
							 | 
						|
								        glp_btran          perform backward transformation
							 | 
						|
								
							 | 
						|
								        For description of all these routines see a new edition of the
							 | 
						|
								        reference manual included in the distribution.
							 | 
						|
								
							 | 
						|
								        Type names ulong_t and uldiv_t were changed to glp_ulong and
							 | 
						|
								        glp_uldiv to avoid conflicts with standard type names on some
							 | 
						|
								        platforms. Thanks to Boris Wirtz <Boris.Wirtz@uni-oldenburg.de>
							 | 
						|
								        for the bug report.
							 | 
						|
								
							 | 
						|
								        Some new examples in the MathProg language were added. Thanks
							 | 
						|
								        to Sebastian Nowozin <nowozin@gmail.com>.
							 | 
						|
								
							 | 
						|
								GLPK 4.17 (release date: May 26, 2007)
							 | 
						|
								
							 | 
						|
								        API routines glp_set_mat_row, glp_set_mat_col, and glp_load_mat
							 | 
						|
								        were modified to allow zero constraint coefficients (which are
							 | 
						|
								        not stored in the constraint matrix). Note that constraint
							 | 
						|
								        coefficients with duplicate row/column indices are not allowed.
							 | 
						|
								
							 | 
						|
								        Another form of LP basis factorization was implemented in the
							 | 
						|
								        package. It is based on LU-factorization of an initial basis
							 | 
						|
								        and Schur complement to reflect changes in the basis. Currently
							 | 
						|
								        the implementation is incomplete and provides only updating the
							 | 
						|
								        factorization on replacing a column of the basis matrix. On API
							 | 
						|
								        level the user can set the control parameter LPX_K_BFTYPE to
							 | 
						|
								        choose between the folloiwng forms of LP basis factorization to
							 | 
						|
								        be used in the simplex method routines:
							 | 
						|
								        1) LU + Forrest-Tomlin update;
							 | 
						|
								        2) LU + Schur complement + Bartels-Golub update;
							 | 
						|
								        3) LU + Schur complement + Givens rotation update.
							 | 
						|
								        The GLPK implementation is similar to LUSOL/LUMOD developed by
							 | 
						|
								        Michael A. Saunders.
							 | 
						|
								
							 | 
						|
								        The user can choose the form of LP basis factorzation used by
							 | 
						|
								        the simplex method routines by specifying the folloiwng options
							 | 
						|
								        of glpsol: --luf, --cbg, --cgr.
							 | 
						|
								
							 | 
						|
								GLPK 4.16 (release date: May 05, 2007)
							 | 
						|
								
							 | 
						|
								        A number of basic GLPK API routines, which now are in the
							 | 
						|
								        stable stable, were renamed to be prefixed with 'glp_'. Note
							 | 
						|
								        that all these routines are available via their old names
							 | 
						|
								        prefixed with 'lpx_' that keeps the downward compatibility with
							 | 
						|
								        older versions of the package.
							 | 
						|
								
							 | 
						|
								        Three new GLPK API routines were added to the package:
							 | 
						|
								        glp_version, glp_term_hook, and glp_mem_usage; for more details
							 | 
						|
								        see a new edition of the GLPK reference manual included in the
							 | 
						|
								        distribution. The routine glp_version reports the actual version
							 | 
						|
								        of the GLPK library and also can be used (along with the header
							 | 
						|
								        glpk.h) in Autotools specification files to check if the GLPK
							 | 
						|
								        library has been installed.
							 | 
						|
								
							 | 
						|
								        The header glpk.h was changed to conform to C++ environment.
							 | 
						|
								
							 | 
						|
								GLPK 4.15 (release date: Feb 18, 2007)
							 | 
						|
								
							 | 
						|
								        Autotools specification files (configure.ac, Makefile.am) were
							 | 
						|
								        changed to use GNU Libtool. This allows building the static as
							 | 
						|
								        well as shared GLPK library.
							 | 
						|
								
							 | 
						|
								GLPK 4.14 (release date: Feb 05, 2007)
							 | 
						|
								
							 | 
						|
								        Now GLPK conforms to ILP32, LLP64, and LP64 programming models
							 | 
						|
								        (the latter seems to be the ultimate choice regarding 64-bit
							 | 
						|
								        architectures). Note that GLPK itself is a 32-bit application,
							 | 
						|
								        and the conformity only means that the package works correctly
							 | 
						|
								        on all these arenae. Nevertheless, on 64-bit platforms it is
							 | 
						|
								        possible to use more than 4GB of memory, if necessary.
							 | 
						|
								
							 | 
						|
								GLPK 4.13 (release date: Nov 13, 2006)
							 | 
						|
								
							 | 
						|
								        A tentative implementation of the "exact" simplex method based
							 | 
						|
								        on bignum (rational) arithmetic was included in the package.
							 | 
						|
								
							 | 
						|
								        On API level this new feature is available through the routine
							 | 
						|
								        lpx_exact, which is similar to the routine lpx_simplex.
							 | 
						|
								
							 | 
						|
								        In the solver glpsol this feature is available through two new
							 | 
						|
								        command-line options: --exact and --xcheck. If the '--exact'
							 | 
						|
								        option is specified, glpsol solves LP instance using the exact
							 | 
						|
								        simplex method; in case of MIP it is used to obtain optimal
							 | 
						|
								        solution of LP relaxation. If the --xcheck option is specified,
							 | 
						|
								        LP instance (or LP relaxation) is solved using the standard
							 | 
						|
								        (floating-point) simplex method, however, then glpsol calls the
							 | 
						|
								        exact simplex routine to make sure that the final LP basis is
							 | 
						|
								        exactly optimal, and if it is not, to perform some additional
							 | 
						|
								        simplex iterations in exact arithmetic.
							 | 
						|
								
							 | 
						|
								GLPK 4.12 (release date: Nov 08, 2006)
							 | 
						|
								
							 | 
						|
								        A tentative implementation of some simplex method routines
							 | 
						|
								        based on exact (bignum) arithmetic was included in the package.
							 | 
						|
								        Currently these routines provide computing LU-factorization of
							 | 
						|
								        the basis matrix and computing components of basic solution.
							 | 
						|
								
							 | 
						|
								        These routines were used to implement a routine, which checks
							 | 
						|
								        primal and dual feasibility of basic solution exactly, i.e. in
							 | 
						|
								        rational numbers, without round-off errors. In glpsol this
							 | 
						|
								        feature is available through the command-line option --xcheck.
							 | 
						|
								
							 | 
						|
								        GLPK has its own low-level routines implementing operations on
							 | 
						|
								        integer and rational numbers that makes it independent on other
							 | 
						|
								        software packages. However, to attain a much better performance
							 | 
						|
								        it is highly recommended to install (before configuring GLPK)
							 | 
						|
								        the GNU Multiple Precision Arithmetic Library (GMP). Using GMP
							 | 
						|
								        makes computations 100-200 times faster.
							 | 
						|
								
							 | 
						|
								GLPK 4.11 (release date: Jul 25, 2006)
							 | 
						|
								
							 | 
						|
								        Three new built-in functions in the modeling language were
							 | 
						|
								        implemented: card (cardinality of set), length (length of
							 | 
						|
								        character string), and substr (substring of character string).
							 | 
						|
								        Another improvement concerns the printf statement which now
							 | 
						|
								        allows redirecting its output to a specified file. These new
							 | 
						|
								        features are illustrated in example models crypto.mod and
							 | 
						|
								        graph.mod included in the distribution. For more details see
							 | 
						|
								        the document "Modeling Language GNU MathProg".
							 | 
						|
								
							 | 
						|
								        Four batch files (along with corresponding makefiles) were
							 | 
						|
								        included in the distribution to simplify building GLPK under
							 | 
						|
								        MS Windows; see them in subdirectory 'w32'.
							 | 
						|
								
							 | 
						|
								GLPK 4.10 (release date: May 11, 2006)
							 | 
						|
								
							 | 
						|
								        Cutting planes of two new classes were implemented: mixed cover
							 | 
						|
								        cuts and clique cuts. On API level this feature can be enabled
							 | 
						|
								        by setting control parameter LPX_K_USECUTS passed to the routine
							 | 
						|
								        lpx_intopt. In glpsol this feature is available through the
							 | 
						|
								        command-line options --cover and --clique. For more details see
							 | 
						|
								        the reference manual.
							 | 
						|
								
							 | 
						|
								        Now the routines lpx_read_mps and lpx_read_freemps support LI
							 | 
						|
								        bound type. It is similar to LO, however, indicates the column
							 | 
						|
								        as of integer kind.
							 | 
						|
								
							 | 
						|
								GLPK 4.9 (release date: Jan 17, 2006)
							 | 
						|
								
							 | 
						|
								        An advanced MIP solver was implemented. It includes:
							 | 
						|
								
							 | 
						|
								        - basic presolving technique (removing free, singleton and
							 | 
						|
								          redundant rows, improving bounds of columns, removing fixed
							 | 
						|
								          columns, reducing constraint coefficents);
							 | 
						|
								
							 | 
						|
								        - generating cutting planes to improve LP relaxation (currently
							 | 
						|
								          only Gomory's mixed integer cuts are implemented);
							 | 
						|
								
							 | 
						|
								        - using the branch-and-bound method to solve resultant MIP;
							 | 
						|
								
							 | 
						|
								        - recovering solution of the original MIP.
							 | 
						|
								
							 | 
						|
								        The solver is available on API level via the routine lpx_intopt
							 | 
						|
								        (see the reference manual). It is similar to the routine
							 | 
						|
								        lpx_integer, however, does not require initial solution of LP
							 | 
						|
								        relaxation.
							 | 
						|
								
							 | 
						|
								        The solver is also available in the command-line utility glpsol
							 | 
						|
								        via two options: --intopt (only presolving) and --cuts (assumes
							 | 
						|
								        --intopt plus generating cuts).
							 | 
						|
								
							 | 
						|
								        Note that efficiency of the MIP solver strongly depends on the
							 | 
						|
								        internal structure of the problem to be solved. For some hard
							 | 
						|
								        instances it is very efficient, but for other instances it may
							 | 
						|
								        be significantly worse than the standard branch-and-bound.
							 | 
						|
								
							 | 
						|
								        For some comparative benchmarks see doc/bench1.txt.
							 | 
						|
								
							 | 
						|
								        Well, what else...
							 | 
						|
								
							 | 
						|
								        Three built-in functions were added to MathProg: sin, cos, and
							 | 
						|
								        atan (the latter allows one or two arguments).
							 | 
						|
								
							 | 
						|
								        Some bugs were fixed.
							 | 
						|
								
							 | 
						|
								        Several new examples in MathProg were included: color.mod
							 | 
						|
								        (graph coloring problem), tsp.mod (traveling salesman problem),
							 | 
						|
								        and pbn.mod (paint-by-numbers puzzle).
							 | 
						|
								
							 | 
						|
								GLPK 4.8 (release date: Jan 12, 2005)
							 | 
						|
								
							 | 
						|
								        Core simplex method and interior-point method routines were
							 | 
						|
								        re-implemented and now they use a new, "storage-by-rows" sparse
							 | 
						|
								        matrix format (unlike previous versions where linked lists were
							 | 
						|
								        used to represent sparse matrices). For details see ChangeLog.
							 | 
						|
								
							 | 
						|
								        Also a minor bug was fixed in API routine lpx_read_cpxlp.
							 | 
						|
								
							 | 
						|
								GLPK 4.7 (release date: Aug 23, 2004)
							 | 
						|
								
							 | 
						|
								        Now GLPK supports free MPS format. Two new API routines
							 | 
						|
								        lpx_read_freemps (to read problem data in free MPS format) and
							 | 
						|
								        lpx_write_freemps (to write problem data in free MPS format)
							 | 
						|
								        were added. This feature is also available in the solver glpsol
							 | 
						|
								        via new command-line options --freemps and --wfreemps. For more
							 | 
						|
								        details see the GLPK reference manual.
							 | 
						|
								
							 | 
						|
								        API routines lpx_read_cpxlp and lpx_write_cpxlp for reading and
							 | 
						|
								        writing problem data in CPLEX LP format were re-implemented to
							 | 
						|
								        allow long symbolic names (up to 255 characters).
							 | 
						|
								
							 | 
						|
								        The following three modules were temporarily removed from the
							 | 
						|
								        GLPK distribution due to licensing problems: DELI (an interface
							 | 
						|
								        module to Delphi), GLPKMEX (an interface module to Matlab), and
							 | 
						|
								        JNI (an interface module to Java).
							 | 
						|
								
							 | 
						|
								GLPK 4.6 (release date: Aug 04, 2004)
							 | 
						|
								
							 | 
						|
								        Three new statements were implemented in the GNU MathProg
							 | 
						|
								        language: solve, printf, and for. Their detailed description can
							 | 
						|
								        be found in the GLPK documentation included in the distribution.
							 | 
						|
								        (See also a sample model, examples/queens.mod, which illustrates
							 | 
						|
								        using these new statements.)
							 | 
						|
								
							 | 
						|
								        Two new API routines were added to the package: lpx_read_prob
							 | 
						|
								        and lpx_write_prob. They allow reading/writing problem data in
							 | 
						|
								        GNU LP low-level text format.
							 | 
						|
								
							 | 
						|
								        Three new command-line options were implemented in the LP/MIP
							 | 
						|
								        solver glpsol: --glp (to read problem data in GNU LP format),
							 | 
						|
								        --wglp (to write problem data in GNU LP format), and --name (to
							 | 
						|
								        change problem name). Now glpsol also supports processing models
							 | 
						|
								        where the new statements (see above) are used.
							 | 
						|
								
							 | 
						|
								        A new version of GLPKMEX, a Matlab MEX interface to GLPK, was
							 | 
						|
								        included. For more details see contrib/glpkmex/ChangeLog.
							 | 
						|
								
							 | 
						|
								GLPK 4.5 (release date: Jul 19, 2004)
							 | 
						|
								
							 | 
						|
								        The branch-and-bound solver was completely re-implemented.
							 | 
						|
								
							 | 
						|
								        Some modifications were made in memory allocation routines that
							 | 
						|
								        allows using the package on 64-bit platforms.
							 | 
						|
								
							 | 
						|
								        For more details see ChangeLog.
							 | 
						|
								
							 | 
						|
								GLPK 4.4 (release date: Jan 17, 2004)
							 | 
						|
								
							 | 
						|
								        All API routines were re-implemented using new data structures.
							 | 
						|
								        The new implementation provides the same specifications and
							 | 
						|
								        functionality of API routines as the old one, however, it has
							 | 
						|
								        some important advantages, in particular:
							 | 
						|
								        * linked lists are used everywhere that allows creating and
							 | 
						|
								          modifying the problem object as efficiently as possible
							 | 
						|
								        * all data stored in the problem object are non-scaled (even if
							 | 
						|
								          the internal scaling is used) that prevents distortion of the
							 | 
						|
								          original problem data
							 | 
						|
								        * solution components obtained by the solver remain available
							 | 
						|
								          even if the problem object has been modified
							 | 
						|
								        * no solver-specific data are used in the new data structures
							 | 
						|
								          that allows attaching any external lp/mip solver using GLPK
							 | 
						|
								          API as an uniform interface
							 | 
						|
								        Note that some API routines became obsolete being replaced by
							 | 
						|
								        new, more convenient routines. These obsolete routines are kept
							 | 
						|
								        for backward compatibility, however, they will be removed in
							 | 
						|
								        the future. For more details please see ChangeLog and the GLPK
							 | 
						|
								        Reference Manual.
							 | 
						|
								
							 | 
						|
								        New edition of the GLPK Reference Manual was included in the
							 | 
						|
								        distribution.
							 | 
						|
								
							 | 
						|
								        GLPKMEX, a Matlab MEX interface to GLPK package, contributed by
							 | 
						|
								        Nicolo Giorgetti <giorgetti@dii.unisi.it> was included in the
							 | 
						|
								        distribution.
							 | 
						|
								
							 | 
						|
								        GLPK FAQ contributed by Harley Mackenzie <hjm@bigpond.com> was
							 | 
						|
								        included in the distribution.
							 | 
						|
								
							 | 
						|
								GLPK 4.3 (release date: Dec 12, 2003)
							 | 
						|
								
							 | 
						|
								        The bug, due to which the standard math library is not linked
							 | 
						|
								        on building the package on some platforms, was fixed.
							 | 
						|
								
							 | 
						|
								        The following new built-in functions were added to the MathProg
							 | 
						|
								        language: round, trunc, Irand224, Uniform01, Uniform, Normal01,
							 | 
						|
								        Normal. For details see the language description.
							 | 
						|
								
							 | 
						|
								        The MathProg syntax was changed to allow writing 'subj to' that
							 | 
						|
								        means 'subject to'.
							 | 
						|
								
							 | 
						|
								        The new api routine lpx_get_ray_info was added. It is intended
							 | 
						|
								        to determine which (non-basic) variable causes unboundness. For
							 | 
						|
								        details see the reference manual.
							 | 
						|
								
							 | 
						|
								        The module glpmps.c was changed to avoid compilation errors on
							 | 
						|
								        building the package on Mac OS X.
							 | 
						|
								
							 | 
						|
								        Several typos was fixed and some new material was added to the
							 | 
						|
								        GLPK documentation.
							 | 
						|
								
							 | 
						|
								GLPK 4.2 (release date: Nov 14, 2003)
							 | 
						|
								
							 | 
						|
								        A preliminary implementation of the Integer Optimization Suite
							 | 
						|
								        (IOS) was included in the package. The Branch-and-Cut Framework
							 | 
						|
								        being completely superseded by IOS was removed from the package.
							 | 
						|
								
							 | 
						|
								        New API routine lpx_print_sens_bnds intended for bounds
							 | 
						|
								        sensitivity analysis was contributed to GLPK by Brady Hunsaker
							 | 
						|
								        <hunsaker@engr.pitt.edu>. This function is also available in
							 | 
						|
								        the solver glpsol (via command-line option --bounds).
							 | 
						|
								
							 | 
						|
								        An improved version of GLPK JNI (Java Native Interface) was
							 | 
						|
								        contributed by Chris Rosebrugh <cpr@pobox.com>.
							 | 
						|
								
							 | 
						|
								        GLPK DELI (Delphi Interface) was contributed by Ivo van Baren
							 | 
						|
								        <i.van.baren@freeler.nl>.
							 | 
						|
								
							 | 
						|
								        Several makefiles were added to allow compiling GLPK on some
							 | 
						|
								        non-GNU 32-bit platforms:
							 | 
						|
								        * Windows single-threaded static library, Visual C++ 6.0
							 | 
						|
								        * Windows multi-threaded dynamic library, Visual C++ 6.0
							 | 
						|
								        * Windows single-threaded static library, Borland C++ 5.2
							 | 
						|
								        * DOS single-threaded static library, Digital Mars C++ 7.50
							 | 
						|
								
							 | 
						|
								        And, of course, some bugs were fixed.
							 | 
						|
								
							 | 
						|
								        For more details see ChangeLog.
							 | 
						|
								
							 | 
						|
								GLPK 4.1 (release date: Aug 23, 2003)
							 | 
						|
								
							 | 
						|
								        Some improvements were made in the lp/mip solver routines and
							 | 
						|
								        several bugs were fixed in the model translator.
							 | 
						|
								
							 | 
						|
								        For more details see ChangeLog.
							 | 
						|
								
							 | 
						|
								GLPK 4.0 (release date: May 06, 2003)
							 | 
						|
								
							 | 
						|
								        Now GLPK supports the GNU MathProg modeling language, which is
							 | 
						|
								        a subset of the AMPL modeling language.
							 | 
						|
								
							 | 
						|
								        The document "GLPK: Modeling Language GNU MathProg" included in
							 | 
						|
								        the distribution is a complete description of GNU MathProg. (See
							 | 
						|
								        the files lang.latex, lang.dvi, and lang.ps in the subdirectory
							 | 
						|
								        'doc'. See also some examples in the subdirectory 'sample'.)
							 | 
						|
								
							 | 
						|
								        New version of the solver glpsol, which supports models written
							 | 
						|
								        in GNU MathProg, was implemented. (Brief instructions how to use
							 | 
						|
								        glpsol can be found in the GNU MathProg documentation.)
							 | 
						|
								
							 | 
						|
								        The GLPK/L modeling language is no more supported. The reason is
							 | 
						|
								        that GNU MathProg being much more powerful completely supersedes
							 | 
						|
								        all features of GLPK/L.
							 | 
						|
								
							 | 
						|
								GLPK 3.3 (release date: Mar 25, 2003)
							 | 
						|
								
							 | 
						|
								        LP PRESOLVER
							 | 
						|
								        ------------
							 | 
						|
								
							 | 
						|
								        Now the routine lpx_simplex (which is a driver to the simplex
							 | 
						|
								        method for solving LP) is provided with the built-in LP
							 | 
						|
								        presolver, which is a program that transforms the original LP
							 | 
						|
								        problem to an equivalent LP problem, which may be easier for
							 | 
						|
								        solving with the simplex method than the original one. Once the
							 | 
						|
								        transformed LP has been solver, the presolver transforms its
							 | 
						|
								        basic solution back to a corresponding basic solution of the
							 | 
						|
								        original problem. For details about this feature please see the
							 | 
						|
								        GLPK reference manual.
							 | 
						|
								
							 | 
						|
								        Currently the LP presolver implements the following features:
							 | 
						|
								        * removing empty rows;
							 | 
						|
								        * removing empty columns;
							 | 
						|
								        * removing free rows;
							 | 
						|
								        * removing fixed columns;
							 | 
						|
								        * removing row singletons, which have the form of equations;
							 | 
						|
								        * removing row singletons, which have the form of inequalities;
							 | 
						|
								        * removing column singletons, which are implied slack variables;
							 | 
						|
								        * fixing and removing column singletons, which are implied free
							 | 
						|
								          variables;
							 | 
						|
								        * removing forcing rows that involves fixing and removing the
							 | 
						|
								          corresponding columns;
							 | 
						|
								        * checking for primal and dual infeasibilities.
							 | 
						|
								
							 | 
						|
								        The LP presolver is also used by default in the stand-alone
							 | 
						|
								        program glpsol. In order *not* to use it, the option --nopresol
							 | 
						|
								        should be specified in the command-line.
							 | 
						|
								
							 | 
						|
								        CHANGES IN GLPK/L
							 | 
						|
								        -----------------
							 | 
						|
								
							 | 
						|
								        The syntax and semantics of the GLPK/L modeling language was
							 | 
						|
								        changed to allow declaration of "interval" sets. This means that
							 | 
						|
								        now the user can declare a set, for example, as:
							 | 
						|
								
							 | 
						|
								           set task = [8:11];
							 | 
						|
								
							 | 
						|
								        that is exactly equivalent to the following declaration:
							 | 
						|
								
							 | 
						|
								           set task = (task_8, task_9, task_10, task_11);
							 | 
						|
								
							 | 
						|
								        For details see the language description.
							 | 
						|
								
							 | 
						|
								        JAVA INTERFACE
							 | 
						|
								        --------------
							 | 
						|
								
							 | 
						|
								        Now GLPK includes the package GLPK JNI (Java Native Interface)
							 | 
						|
								        that implements Java binding for GLPK. It allows Java programs
							 | 
						|
								        to utilize GLPK in solving LP and MIP problems. For details see
							 | 
						|
								        a brief user's guide in the subdirectory contrib/java-binding.
							 | 
						|
								        This package was developed and programmed by Yuri Victorovich
							 | 
						|
								        <yuri@gjt.org>, who contributed it to GLPK.
							 | 
						|
								
							 | 
						|
								GLPK 3.2.4 (release date: Feb 18, 2003)
							 | 
						|
								
							 | 
						|
								        This is a bug-fix release. For details see ChangeLog.
							 | 
						|
								
							 | 
						|
								GLPK 3.2.3 (release date: Nov 11, 2002)
							 | 
						|
								
							 | 
						|
								        A new implementation of the api routine lpx_integer which now
							 | 
						|
								        is based on the b&b driver (which is based on the implicit
							 | 
						|
								        enumeration suite) was included in the package. This new
							 | 
						|
								        implementation has exactly the same functionality as the old
							 | 
						|
								        version, so all changes are transparent to the api user.
							 | 
						|
								
							 | 
						|
								        Four new api routines were included in the package:
							 | 
						|
								        lpx_check_kkt checks Karush-Kuhn-Tucker optmality conditions;
							 | 
						|
								        lpx_read_bas reads predifined basis in MPS format;
							 | 
						|
								        lpx_write_bas writes current basis in MPS format;
							 | 
						|
								        lpx_write_lpt writes problem data in CPLEX LP format.
							 | 
						|
								
							 | 
						|
								        Also other minor improvements were made (for details see the
							 | 
						|
								        file 'ChangeLog').
							 | 
						|
								
							 | 
						|
								GLPK 3.2.2 (release date: Oct 14, 2002)
							 | 
						|
								
							 | 
						|
								        The api routine lpx_read_lpt was included in the package. It
							 | 
						|
								        is similar to the routine lpx_read_mps and intended to read
							 | 
						|
								        LP/MIP data prepared in CPLEX LP format. Description of this
							 | 
						|
								        format is given in the GLPK reference manual, a new edition of
							 | 
						|
								        which was also included in the distribution (see the files
							 | 
						|
								        'refman.latex', 'refman.dvi', 'refman.ps' in the subdirectory
							 | 
						|
								        'doc'). In order to use data files in CPLEX LP format with the
							 | 
						|
								        solver glpsol the option '--lpt' should be specified in the
							 | 
						|
								        command line.
							 | 
						|
								
							 | 
						|
								        Several bugs were fixed and some minor improvements were made
							 | 
						|
								        (for details see the file 'ChangeLog').
							 | 
						|
								
							 | 
						|
								GLPK 3.2.1 (release date: Aug 12, 2002)
							 | 
						|
								
							 | 
						|
								        Now GLPK includes a preliminary implementation of the
							 | 
						|
								        branch-and-cut framework, which is a set of data structures and
							 | 
						|
								        routines intended for developing branch-and-cut methods for
							 | 
						|
								        solving mixed-integer and combinatorial optimization problems.
							 | 
						|
								
							 | 
						|
								        Detailed decsription of the branch-and-cut framework is given in
							 | 
						|
								        the document "GLPK: A Preliminary Implementation of the
							 | 
						|
								        Branch-And-Cut Framework" included in the distribution (see the
							 | 
						|
								        file 'brcut.txt' in the subdirectory 'doc').
							 | 
						|
								
							 | 
						|
								        In order to illustrate how the GLPK branch-and-cut framework
							 | 
						|
								        can be used for solving a particular optimization problem there
							 | 
						|
								        is an example included in the package. This is a stand-alone
							 | 
						|
								        program, TSPSOL, which is intended for solving to optimality the
							 | 
						|
								        symmetric Traveling Salesman Problem (TSP), a classical problem
							 | 
						|
								        of the combinatorial optimization (see the file 'tspsol.c' in
							 | 
						|
								        the subdirectory 'sample').
							 | 
						|
								
							 | 
						|
								GLPK 3.2 (release date: Jul 15, 2002)
							 | 
						|
								
							 | 
						|
								        New edition of the document "GLPK: Reference Manual" was
							 | 
						|
								        included (see the files 'refman.latex', 'refman.dvi', and
							 | 
						|
								        'refman.ps' in the subdirectory 'doc').
							 | 
						|
								
							 | 
						|
								        New edition of the document "GLPK: Modeling Language GLPK/L" was
							 | 
						|
								        included (see the files 'lang.latex', 'lang.dvi', and 'lang.ps'
							 | 
						|
								        in the subdirectory 'doc').
							 | 
						|
								
							 | 
						|
								        The following new API routines were added to the package:
							 | 
						|
								
							 | 
						|
								        lpx_transform_row (transform explicitly specified row);
							 | 
						|
								        lpx_transform_col (transform explicitly specified column);
							 | 
						|
								        lpx_prim_ratio_test (perform primal ratio test);
							 | 
						|
								        lpx_dual_ratio_test (perform dual ratio test);
							 | 
						|
								        lpx_interior (solve LP problem using interior point method);
							 | 
						|
								        lpx_get_ips_stat (query status of interior point solution);
							 | 
						|
								        lpx_get_ips_row (obtain row interior point solution);
							 | 
						|
								        lpx_get_ips_col (obtain column interior point solution);
							 | 
						|
								        lpx_get_ips_obj (obtain interior point value of obj.func.);
							 | 
						|
								        lpx_read_lpm (read LP/MIP model written in GLPK/L);
							 | 
						|
								        lpx_write_mps (write problem data using MPS format);
							 | 
						|
								        lpx_print_ips (print interior point solution).
							 | 
						|
								
							 | 
						|
								        Detailed description of all these new API routines are given in
							 | 
						|
								        the new edition of the reference manual.
							 | 
						|
								
							 | 
						|
								        New version of the stand-alone solver glpsol (which is based on
							 | 
						|
								        the new API) was implemented.
							 | 
						|
								
							 | 
						|
								        So long as the new API (introduced in glpk 3.0) now provides
							 | 
						|
								        all the functions, which were provided by the old API, the old
							 | 
						|
								        API routines were removed from the package at all.
							 | 
						|
								
							 | 
						|
								GLPK 3.1 (release date: May 27, 2002)
							 | 
						|
								
							 | 
						|
								        A preliminary implementation of new API routines was completed
							 | 
						|
								        and included in the package.
							 | 
						|
								
							 | 
						|
								        These new API routines provide much more flexible interaction
							 | 
						|
								        between the application program, LP/MIP problem instances, and
							 | 
						|
								        solver routines. Based on completely changed data structures
							 | 
						|
								        they are, however, similar to the API routines and provide the
							 | 
						|
								        same functionality. Please note that three routines, namely,
							 | 
						|
								        solving LPs using interior point method, reading model written
							 | 
						|
								        in the GLPK/L modeling language, and writing problem data in
							 | 
						|
								        the MPS format, are not implemented in the new API, however,
							 | 
						|
								        these routines are planned to be implemented in the next version
							 | 
						|
								        of the package.
							 | 
						|
								
							 | 
						|
								        A description of the new API routines is given in the document
							 | 
						|
								        "GLPK Reference Manual", a draft edition of which is included
							 | 
						|
								        in the package (see the files 'refman.latex', 'refman.dvi', and
							 | 
						|
								        'refman.ps' in the subdirectory 'doc').
							 | 
						|
								
							 | 
						|
								        Although the old API routines are kept in the package, they are
							 | 
						|
								        no longer supported and will be removed in the future.
							 | 
						|
								
							 | 
						|
								GLPK 3.0.8 (release date: May 13, 2002)
							 | 
						|
								
							 | 
						|
								        A preliminary implementation of new API routines was included
							 | 
						|
								        in the package. These new API routines are intended to provide
							 | 
						|
								        much more flexible interaction between the application program,
							 | 
						|
								        LP/MIP problem and solver routines. See the document "New GLPK
							 | 
						|
								        API Routines" (the file 'newapi.txt' in the subdirectory 'doc')
							 | 
						|
								        also included in the package.
							 | 
						|
								
							 | 
						|
								        The api routines glp_simplex2, glp_call_ipm1, glp_call_bbm1 were
							 | 
						|
								        renamed, respectively, to glp_simplex, glp_interior, glp_integer
							 | 
						|
								        in order to reflect changes in implementation. The api routines
							 | 
						|
								        glp_call_rsm1, glp_simplex1, glp_pivot_in, glp_pivout_out were
							 | 
						|
								        removed from the package since they are completely supreseded by
							 | 
						|
								        the new API routines (however, these routines still can be found
							 | 
						|
								        in the subdirectory 'oldsrc'). Please consult a new edition of
							 | 
						|
								        the document "GLPK User's Guide" about all these changes in the
							 | 
						|
								        existing api routines.
							 | 
						|
								
							 | 
						|
								        The document "GLPK Library Reference" was removed from the
							 | 
						|
								        package (into the subdirectory 'oldsrc') since it describes the
							 | 
						|
								        obsolete library routines, most of which are no longer used.
							 | 
						|
								
							 | 
						|
								GLPK 3.0.7 (release date: Apr 22, 2002)
							 | 
						|
								
							 | 
						|
								        A new, more efficient implementation of the primal/dual simplex
							 | 
						|
								        method was included in the package. Due to some improvements the
							 | 
						|
								        simplex-based solver allows solving many LP problems faster and
							 | 
						|
								        provides more reliable results. Note that the new implementation
							 | 
						|
								        is currently incomplete and available only via the api routine
							 | 
						|
								        glp_simplex2.
							 | 
						|
								
							 | 
						|
								        All the changes are transparent on API level.
							 | 
						|
								
							 | 
						|
								GLPK 3.0.6 (release date: Mar 28, 2002)
							 | 
						|
								
							 | 
						|
								        New version of LU-factorization and basis maintenance routines
							 | 
						|
								        (based on Forrest-Tomlin updating technique) was implemented.
							 | 
						|
								        Since these new routines functionally supersede some routines
							 | 
						|
								        (which implement other forms of the basis matrix) and make them
							 | 
						|
								        obsolete, the latter were removed from the package (they still
							 | 
						|
								        can be found in the subdirectory 'oldsrc').
							 | 
						|
								
							 | 
						|
								        All the changes are transparent on API level.
							 | 
						|
								
							 | 
						|
								GLPK 3.0.5 (release date: Jan 29, 2002)
							 | 
						|
								
							 | 
						|
								        New edition of the document "GLPK User's Guide" was included in
							 | 
						|
								        the distribution. Now it describes all additional API routines,
							 | 
						|
								        which were recently added to the package.
							 | 
						|
								
							 | 
						|
								        Structure of the package was re-organized in order to make its
							 | 
						|
								        maintenance easier (all small files in the subdurectory 'source'
							 | 
						|
								        were merged in bigger units). These changes are transparent for
							 | 
						|
								        the user.
							 | 
						|
								
							 | 
						|
								GLPK 3.0.4 (release date: Dec 10, 2001)
							 | 
						|
								
							 | 
						|
								        A new, more efficient implementation of the two-phase primal
							 | 
						|
								        simplex method was included in the package. Due to some new
							 | 
						|
								        features (an advanced initial basis, projected steepest edge,
							 | 
						|
								        recursive updating values and reduced costs) the new LP solver
							 | 
						|
								        is faster and numerically more stable than the old one.
							 | 
						|
								
							 | 
						|
								        The new LP solver is available as API routine glp_simplex2 and
							 | 
						|
								        has the same purpose as API routine glp_call_rsm1. For detailed
							 | 
						|
								        specification see the file 'newapi.txt' in the directory 'doc'.
							 | 
						|
								
							 | 
						|
								        Now the new LP solver is also used by default to solve an
							 | 
						|
								        initial LP problem in the branch-and-bound routine glp_call_bbm1
							 | 
						|
								        instead the routine rsm1_driver. Note that the branch-and-bound
							 | 
						|
								        procedure itself is still based on rsm1_driver.
							 | 
						|
								
							 | 
						|
								        The new LP solver is also used as default solver in GLPSOL for
							 | 
						|
								        solving LP and MIP problems. In order to choose the old solver
							 | 
						|
								        the option '--old-sim' can be specified in the command line.
							 | 
						|
								
							 | 
						|
								GLPK 3.0.3 (release date: Oct 03, 2001)
							 | 
						|
								
							 | 
						|
								        Some minor changes were made in the simplex method routines in
							 | 
						|
								        order to improve numerical stability of the method.
							 | 
						|
								
							 | 
						|
								GLPK 3.0.2 (release date: Sep 24, 2001)
							 | 
						|
								
							 | 
						|
								        A new implementation of the basis maintaining routines was
							 | 
						|
								        included in the package. These routines, which are based on so
							 | 
						|
								        called FHV-factorization (a variety of LU-factorization) of the
							 | 
						|
								        basis matrix and Gustavson's data structures, allows performing
							 | 
						|
								        the main operations faster at the expense of some worsening
							 | 
						|
								        numerical accuracy.
							 | 
						|
								
							 | 
						|
								        AFI (Advanced Form of the Inverse), which is the form of the
							 | 
						|
								        basis matrix based on FHV-factorization, is available via the
							 | 
						|
								        parameter form = 3 (on API level) or via the option --afi (in
							 | 
						|
								        GLPSOL solver).
							 | 
						|
								
							 | 
						|
								GLPK 3.0.1 (release date: Aug 01, 2001)
							 | 
						|
								
							 | 
						|
								        Old GLPK API routines have been removed from the package.
							 | 
						|
								
							 | 
						|
								        New GLPK API routines were added:
							 | 
						|
								
							 | 
						|
								        - scaling routines;
							 | 
						|
								
							 | 
						|
								        - a routine for writing problem data in MPS format;
							 | 
						|
								
							 | 
						|
								        - a comprehensive driver to the simplex method;
							 | 
						|
								
							 | 
						|
								        - basis maintaining routines.
							 | 
						|
								
							 | 
						|
								        A description of the new API routines is given in the document
							 | 
						|
								        "Additional GLPK API Routines". This document is included into
							 | 
						|
								        the distribution in plain text format (see the file 'newapi.txt'
							 | 
						|
								        in the subdirectory 'doc').
							 | 
						|
								
							 | 
						|
								        Now the distribution includes a non-trivial example of using
							 | 
						|
								        GLPK as a base LP solver for Concorde, a well known program that
							 | 
						|
								        solves Traveling Salesman Problem (TSP). For further details see
							 | 
						|
								        comments in the file 'sample/lpglpk30.c'.
							 | 
						|
								
							 | 
						|
								GLPK 3.0 (release date: Jul 19, 2001)
							 | 
						|
								
							 | 
						|
								        Now GLPK is provided with new API, which being more flexible
							 | 
						|
								        can be used in more complex algorithmic schemes.
							 | 
						|
								
							 | 
						|
								        New edition of the document "GLPK User's Guide" is included in
							 | 
						|
								        the distribution. Now it completely corresponds to the new GLPK
							 | 
						|
								        API routines.
							 | 
						|
								
							 | 
						|
								        Old API routines are not removed yet from the package, however
							 | 
						|
								        they became obsolete and therefore should not be used. Since now
							 | 
						|
								        the header glpk.h corresponds to new API, in order to compile
							 | 
						|
								        existing programs that use old GLPK API routines the statement
							 | 
						|
								
							 | 
						|
								        #define GLP_OLD_API
							 | 
						|
								
							 | 
						|
								        should be inserted before the statement
							 | 
						|
								
							 | 
						|
								        #include "glpk.h"
							 | 
						|
								
							 | 
						|
								GLPK 2.4.1 (release date: Jun 14, 2001)
							 | 
						|
								
							 | 
						|
								        The document "Modeling language GLPK/L" is included into the
							 | 
						|
								        distribution in texinfo format.
							 | 
						|
								
							 | 
						|
								        New edition of the document "GLPK User's Guide" is included in
							 | 
						|
								        the distribution. Now it describes all additional API routines
							 | 
						|
								        which were recently added to the package.
							 | 
						|
								
							 | 
						|
								GLPK 2.4 (release date: May 10, 2001)
							 | 
						|
								
							 | 
						|
								        Now GLPK includes an implementation of a preliminary version
							 | 
						|
								        of the GLPK/L modeling language. This language is intended for
							 | 
						|
								        writing mathematcal programming models. The name GLPK/L is
							 | 
						|
								        derived from GNU Linear Programming Kit Language.
							 | 
						|
								
							 | 
						|
								        A brief description of the GLPK/L language is given in the
							 | 
						|
								        document "GLPK/L Modeling Language: A Brief Description". This
							 | 
						|
								        document is included into the distribution in plain text format
							 | 
						|
								        (see the file 'language.txt' in the subdirectory 'doc').
							 | 
						|
								
							 | 
						|
								        The language processor (which is a program that analyzes model
							 | 
						|
								        description written in GLPK/L and translates it to internal data
							 | 
						|
								        structures) is available as the GLPK API routine.
							 | 
						|
								
							 | 
						|
								        The stand-alone solver GLPSOL now is able: a) to process model
							 | 
						|
								        descriptions written in the GLPK/L language; b) to solve pure LP
							 | 
						|
								        problems using the interior point method (therefore the program
							 | 
						|
								        GLPIPM was removed from the package).
							 | 
						|
								
							 | 
						|
								GLPK 2.3 (release date: Apr 09, 2001)
							 | 
						|
								
							 | 
						|
								        New edition of the document "GLPK User's Guide" is included in
							 | 
						|
								        the distribution. Now it describes all additional API routines
							 | 
						|
								        which were recently added to the package.
							 | 
						|
								
							 | 
						|
								        The MIP solver was fully re-programmed in order to improve its
							 | 
						|
								        robustness and performance. In particular, a basis recovering
							 | 
						|
								        procedure was implemented (this procedure allows switching to
							 | 
						|
								        the primal simplex method in case when the dual simplex method
							 | 
						|
								        fails).
							 | 
						|
								
							 | 
						|
								GLPK 2.2 (release date: Mar 15, 2001)
							 | 
						|
								
							 | 
						|
								        Now GLPK includes a tentative implementation of the
							 | 
						|
								        branch-and-bound procedure based on the dual simplex method for
							 | 
						|
								        mixed integer linear programming (MIP).
							 | 
						|
								
							 | 
						|
								        Complete description of this new feature of the package is given
							 | 
						|
								        in the preliminary document "Mixed Integer Linear Programming
							 | 
						|
								        Using GLPK Version 2.2 (Supplement to GLPK User's Guide)". This
							 | 
						|
								        document is included into the distribution in plain text format
							 | 
						|
								        (see the file 'mip.txt' in the subdirectory 'doc').
							 | 
						|
								
							 | 
						|
								        The MIP solver (glp_integer) can be used as GLPK API routine in
							 | 
						|
								        the same way as the pure LP solver (glp_simplex).
							 | 
						|
								
							 | 
						|
								        The stand-alone program 'glpsol' is now able to solve LP as well
							 | 
						|
								        as MIP problems.
							 | 
						|
								
							 | 
						|
								        Note that the current version of GLPK MIP solver is based on
							 | 
						|
								        easiest heuristics for branching and backtrackng. Therefore the
							 | 
						|
								        solver is fit mainly for MIP problems which are not very hard
							 | 
						|
								        and have few integer variables.
							 | 
						|
								
							 | 
						|
								GLPK 2.1 (release date: Feb 19, 2001)
							 | 
						|
								
							 | 
						|
								        The document "GLPK Implementation of the Revised Simplex Method"
							 | 
						|
								        is included into the distribution. This document describes most
							 | 
						|
								        of routines related to the revised simplex method.
							 | 
						|
								
							 | 
						|
								GLPK 2.0 (release date: Jan 25, 2001)
							 | 
						|
								
							 | 
						|
								        Now GLPK includes a tentative implementation of the primal-dual
							 | 
						|
								        interior point method for large-scale linear programming.
							 | 
						|
								
							 | 
						|
								        The interior point solver can be used as GLPK API routine in the
							 | 
						|
								        same manner as the simplex method solver (glp_simplex):
							 | 
						|
								
							 | 
						|
								        ret = glp_interior();
							 | 
						|
								
							 | 
						|
								        Note that currently the interior point solver implemented in
							 | 
						|
								        GLPK doesn't include many important features, in particular:
							 | 
						|
								
							 | 
						|
								        * it can't process dense columns; therefore if the problem has
							 | 
						|
								          dense columns, the solving will be extremely inefficient;
							 | 
						|
								
							 | 
						|
								        * it has no special features against numerical unstability;
							 | 
						|
								          some problems may cause premature termination of the solving
							 | 
						|
								          when the matrix A*D*A' becomes ill-conditioned;
							 | 
						|
								
							 | 
						|
								        * it computes only values of primal (auxiliary and structural)
							 | 
						|
								          variables and doesn't compute values of dual variables (i.e.
							 | 
						|
								          reduced costs) which are just set to zero;
							 | 
						|
								
							 | 
						|
								        * it doesn't identify optimal basis corresponding to the found
							 | 
						|
								          interior point solution; all variables in the found solution
							 | 
						|
								          are just marked as basic variables.
							 | 
						|
								
							 | 
						|
								        GLPK also includes a stand-alone program 'glpipm' which is a
							 | 
						|
								        demo based on the interior point method. It may be used in the
							 | 
						|
								        same way as the program 'glpsol' that is based on the simplex
							 | 
						|
								        method.
							 |