Sebastian Pokutta's Blog

Mathematics and related topics

Archive for the ‘Software’ Category

GLPK 4.44 released

with one comment

It has been a while since my last post… sorry ’bout that. I am already feeling like just announcing new glpk releases etc. It is not that there are not enough issues that deserve attention but it seems to me like each one of them has such a political or controversial component that I am not sure that I want to touch them (e.g., editors forcing citations of their journal, ethical misconduct to sustain growth). Some of them have been lurking in my drafts folder for a while now and still haven’t made up my mind. I hope I will find some more time soon to write more elaborate posts more frequently.

Anyways, a new version of glpk has been released. The new version now allows for explicit querying of dual values within the GMPL language.

GLPK 4.44 Release Information

Release date: Jun 03, 2010

GLPK (GNU Linear Programming Kit) is intended for solving large-scale
linear programming (LP), mixed integer linear programming (MIP), and
other related problems. It is a set of routines written in ANSI C and
organized as a callable library.

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 <> 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.

See GLPK web page at <>.

GLPK distribution can be ftp’ed from <> or
from some mirror ftp sites; see <>.

MD5 check-sum is the following:

f2ac7013bc0420d730d052e7ba24bdb1 *glpk-4.44.tar.gz

GLPK is also available as a Debian GNU/Linux package. See its web page
at <>.

Precompiled GLPK binaries (lib, dll, exe) for 32- and 64-bit MS Windows
can be found at <>. Thanks to Xypron

For MS Windows users there is also available GLPK Lab, a set of free
software tools and libraries based on the GLPK package. Its web page
can be found at <>. Thanks to Xypron
<> and Luiz Bettoni <>
for development.

Written by Sebastian

June 4, 2010 at 11:13 am

Posted in Software

Tagged with

GLPK Lab for Windows released

with 2 comments

Yesterday the first version of GLPK Lab for Windows, a new modeling GUI for GLPK has been released. Maintainers of the package are Luiz Bettoni, Andrew Makhorin, and Heinrich Schuchardt. I have not tried it out yet as I am not a Windows user. So any feedback is welcome. From the release notes:

We are pleased to announce the very first release of GLPK Lab for

GLPK Lab is a set of software tools and libraries based on the GLPK
(GNU Linear Programming Kit) package and intended for solving
large-scale linear programming (LP), mixed integer programming (MIP),
and other related problems.

Currently GLPK Lab includes the following main components:

*  GLPK Lab Editor, which is the SciTE editor adapted to be used along
with GLPK Lab (based on the Gusek project)

*  Stand-alone GLPK LP/MIP solver

*  GLPK API library compiled with Microsoft Visual C++ 2008 and
intended for developing GLPK-based applications in C or C++

*  Java binding to GLPK API library (from GLPK-Java) intended for
developing GLPK-based applications in Java

GLPK Lab is free, public-domain software hosted on SourceForge. Its
webpage is here: <>. (Please note that
GLPK Lab is *not* a GNU package.)

Happy Modeling,

The GLPK Lab Development Team

More information on GLPK including tutorials, examples, and tools can be found here.

Written by Sebastian

April 4, 2010 at 10:13 pm

Posted in Mathematics and Optimization, Software

Tagged with

CPLEX free for academic use

with 6 comments

Probably I am not the first one to report this but CPLEX is now available for free for academics as part of IBM’s academic initiative (see here):

Full-version CPLEX now available free-of-charge to academics

Posted: Feb 18, 2010 08:30:03 PM

Effective February 15, 2010, IBM is offering no-charge full-version ILOG Optimization products via IBM’s Academic Initiative program ( This move builds on the availability of limited Teaching Editions available since August 2009, and now provides registered members with renewable one-year access to IBM ILOG OPL-CPLEX, CPLEX, CP Optimizer and CP for both teaching and research use. Registered members can access ILOG Optimization software at:, where they can search for ILOG Optimization or individual solvers by name. Depending on the search criteria, electronic assemblies will be retrieved for IBM ILOG OPL Development Studio, CPLEX, CP Optimizer or CP on all commercially available platforms. To run the software, members will also need to download a key from:, but are no longer required to install ILM. Note that as part of Academic Initiative, IBM also makes its professionally-developed training materials available for use in classrooms and labs at:

The application is pretty forward and the verification of eligibility is supposed to take “3-5 business days”. But it seems that the accounts are approved much faster (at least in my case).

Written by Sebastian

February 22, 2010 at 2:21 pm

The GNU Linear Programming Kit (GLPK) : Resources, Tutorials…

leave a comment »

I just put together some more resources, tutorials, and information about the GNU Linear Programming Kit (GLPK). The page can be found here.

If you have some information, links, etc., that you would like to see there, just drop me a line.

Written by Sebastian

January 24, 2010 at 10:44 pm

GLPK 4.41 released

with one comment

A new version of the GNU Linear Programming Kit (GLPK)  has been released – see here for GLPK tutorials. An updated version of the GUSEK windows GUI will follow probably soon. From the release notes:

GLPK 4.41 — Release Information

Release date: Dec 21, 2009

GLPK (GNU Linear Programming Kit) is intended for solving large-scale
linear programming (LP), mixed integer linear programming (MIP), and
other related problems. It is a set of routines written in ANSI C and
organized as a callable library.

In this release:

The following new API routines 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 <>.

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 <> and Noli Sicad
<> for contribution.

Scripts to build GLPK with Microsoft Visual Studio 2010 for
both 32-bit and 64-bit Windows were included. Thanks to Xypron
<> for contribution and testing.

See GLPK web page at <>.

GLPK distribution can be ftp’ed from <> or
from some mirror ftp sites; see <>.

UPDATE (01.01.2010): New version of GUSEK is also available:

I’ve updated the Gusek project on SourceForge:

Release 0.2.8 changes:
– GLPK updated to 4.41.
– Added Java files support (as in native SciTE).
– Added gnuplot files support (testing – thanks to Noli Sicad).

Gusek provide an open source LP/MILP IDE for Win32,
packing a custom version of the SciTE editor linked to the
GLPK standalone solver (glpsol.exe).

Best Regards (and happy new year!),
Luiz Bettoni

Written by Sebastian

December 22, 2009 at 10:54 am

Posted in Announcements, Software

GLPK 4.39 released / Gusek update available

leave a comment »

A new version of the GNU Linear Programming Kit (GLPK) has been released yesterday. From the release notes:

GLPK 4.39 — Release Information

Release date: Jul 26, 2009

GLPK (GNU Linear Programming Kit) is intended for solving large-scale
linear programming (LP), mixed integer linear programming (MIP), and
other related problems. It is a set of routines written in ANSI C and
organized as a callable library.

In this release:

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
glp_write_asnprob     write assignment problem data in DIMACS
glp_check_asnprob     check correctness of assignment problem
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.

Also a new version of Gusek including GLPK 4.39 has been released.

Written by Sebastian

July 27, 2009 at 8:38 pm

Posted in Software

Mendeley revisited

with 5 comments

mendeleyAs promised roughly half a year ago, here is my opinion on Mendeley. I was reminded of writing my review two days ago after I downloaded the latest version of Mendeley. After the update I fired up Mendeley and I was shocked (at first) – ALL MY DATA WAS GONE. Although I started out to test Mendeley only, I got so used to it that I couldn’t believe that my data was gone. The desktop client just asked me to log in but all the categories, groups etc were gone. More or less out of desperation I logged in (again) and the software immediately synchronized with the web service which has a backup of all the references (I chose to just save the references and not the pdfs). After less than a minute all the references were transferred back to my machine and even the links to the files on my hard drive worked. I was quite impressed with this backup/synchronization feature so that I decided that it was time to keep my promise and write a few lines about it.

So first of all, what is Mendeley? From the FAQ:

Mendeley is a combination of a desktop application and a website which helps you manage, share and discover both content and contacts in research.

Our software, Mendeley Desktop, offers you:

  • Automatic extraction of document details (authors, title, journal etc.) from academic papers into a library database, which saves you a lot of manual typing! As more people use Mendeley, the quality of the data extraction improves.
  • Super-efficient management of your papers: “Live” full-text search across all your papers – the results start to appear as you type! Mendeley Desktop also lets you filter your library by authors, journals or keywords. You can also use document groups, notes and tags to organize your knowledge, and export the document details in different citation styles.
  • Sharing and synchronisation of your library (or parts of it) with selected colleagues. This is perfect for jointly managing all the papers in your lab!
  • More great features: A plug-in for citing your articles in Microsoft Word, OCR (image-to-text conversion, so you can full-text search all your scanned PDFs) and lots more new features being worked upon.

Our website, Mendeley Web, complements Mendeley Desktop by offering you these features:

  • An online back up of your library: Store your documents in your account and access them from anywhere through your browser.
  • Detailed statistics of all things interesting: You can upload your own publications to your research profiles, then track the evolution of your readership. How often are your papers downloaded? How often are they read? From which academic disciplines and geographic regions do your readers come from? Additionally, there are detailed statistics for each academic discipline and research topic. Who are the up-and-coming authors in your discipline? Is the interest in a research topic growing or declining? What are the most widely read papers on a specific subject?
  • A research network that allows you to keep track of your colleagues’ publications, conference participations, awards etc., and helps you discover people with research interests similar to yours.
  • A recommendation engine for papers that might interest you, but are not yet in your library! Based on what you know already, what should you read next? Coming soon

To be honest, in the beginning when I first started to use Mendeley in Jan 2009 it did not quite convince me. The interface of the desktop software was slow, the meta-data extraction was quite crappy, etc. For short, I just didn’t like the user experience. I knew Papers from before but it didn’t convince me either and so I stuck with the one that was free – Mendeley. Then, over time more and more updates for Mendeley were released. The user interface got better and also the meta-data extraction improved significantly – nobody wants to enter all the meta-data by hand… The current version of Mendeley is 0.9.xx. It is still beta but the latest version is really a great piece of software. Some of the features:

  1. Grouping and categorizing of your papers – you can slice and dice it in almost any way.
  2. Shared groups – you are collaborating with somebody and you want to share your papers. Mendeley can do that for you. One guy adds a new paper, the other guy gets it automatically the next time (s)he uses Mendeley.
  3. Full text search – search within all your papers. fast.
  4. Integrated pdf viewer that allows annotation, notes, etc.
  5. DOI / arxiv support – Add the corresponding references and Mendeley updates meta-data automatically. No need to enter anything.
  6. Statistics functions (via the web service) – you can get detailed statistics about the papers in your library. Most-read journals, more-read authors, etc.
  7. Every entry can have one or more pdfs (or other formats) attached to it – One click opens the paper in the built-in pdf viewer.
  8. It is free – according to the faq, the current service level will remain free. There might be some premium features coming up at some point that will be charged for extra.
  9. Backup/synchronization with the online service – all our references and notes are synchronized with the web service so that you can use your library on different machines and you always have a backup.
  10. You can log-in to your Mendeley account from all over the world and access your references on the web (part of the synchronization feature).
  11. Meta-data extraction – The extraction works quite well, conditional on the pdfs being somewhat reasonably tagged.

So if you are still looking for a great software for organizing your papers with a great overall concept then you should definitely give it a try!!

Written by Sebastian

July 18, 2009 at 9:16 pm