Phasing out of 32-bit support with GAMS 30

Posted on: 06 Jan, 2020 GAMS Update Modeling News

22 years ago, in 1998, we released the first native 32 bit windows version of GAMS. This allowed modelers to implement much bigger models than possible before. A year later, we introduced our 32-bit IDE (for those of you young enough to remember, Windows NT 4.0 and Windows 98 were state of the art back then). A lot of time has passed, and 64 bit is everywhere, even on your mobile phone.

GAMS IDE, running on Windows XP (around 2003)

GAMS IDE, running on Windows XP (around 2003)

In 2018 we showed the first beta release of GAMS Studio. Studio is a more modern approach, compared to the known IDE. It is based on C++ and Qt and therefore runs on Windows, Mac OS, and Linux. With Studio we introduced block editing, smart typing, a project explorer and much more . The architecture of Studio will allow us to implement features more easily and makes the code more maintainable compared to the IDE. Studio is a 64-bit application.

GAMS Studio, showing the Project Explorer and multiple tabs

GAMS Studio, showing the Project Explorer and multiple tabs

In light of these developments, and after carefully reviewing the facts, we have decided to phase out 32-bit support on Windows with the release of GAMS 30 for the following reasons:

Firstly, on Windows, GAMS Studio with all its new features can only be compiled with current versions of Microsoft Visual Studio. This presents no problem on 64-bit Windows, but it conflicts with the requirement imposed by the diminishing 32-bit support by solver vendors that we use older Visual Studio versions for the 32-bit build. Secondly, most solvers we bundle with GAMS ship as pre-compiled DLLs. The latest versions of these solvers are often only available as 64-bit binaries, (examples are CPLEX, BARON, or GUROBI). To include 32-bit libraries of those solvers, we would have to use older versions of the solver DLLs. This leads to a 32-bit system that is progressively less competitive than its 64-bit sister. Thirdly, maintaining a 32-bit system requires us to continue using some outdated APIs and coding practices instead of more modern improvements. Finally, we believe that there is little to no demand for a 32-bit system, so that any effort put into maintaining this platform could be better applied elsewhere.

In short, we have gradually been pushed towards a 32-bit version that lacks GAMS Studio and some of our most important solvers. We find that a “solver-poor” GAMS distribution would not be very useful for anyone, and we decided to drop 32-bit GAMS entirely.

We carefully considered the implications for our user base, and found that they are minor: RAM is cheap these days, and the extra memory requirements of 64-bit applications do not matter much in practice.

So, after 22 years of 32-bit GAMS, it is time to say goodbye. With GAMS release 30, Win32 will be a peripheral platform, available on demand only. With the following release 31, Win32 GAMS will be discontinued, with the exception of some of the utilities, e.g. gdxxrw and GDX DLL, which will still be shipped as 32-bit executables.