Related:
About Gekko
Gekko is historically tied to the ADAM model (Aggregate Danish Annual Model), which for many years had been solved with a really fast Fortran-based software system called PCIM. Around 2008, Gekko was developed as an alternative, and the first model to use Gekko was EMMA (Environmental eMission Models for ADAM), using Gekko from 2008 and onwards.
In 2009, Gekko was used to solve ADAM, too, and in the beginning most of the development had to do with implementing features known from PCIM. That is, most of the early focus was related to modeling. Later on, however, the focus also included data management capabilities, because the AREMOS system was being discontinued. AREMOS is being phased out as a timeseries management system, and Gekko implements most of the capabilities of AREMOS (and more).
This led to a kind of marriage of the best ideas from PCIM and AREMOS, respectively, trying to unify these in an integrated system. PCIM operates with two databanks, reflecting a baseline/reference simulation together with the current (alternative) simulation. This useful way of managing scenarios makes comparisons between scenarios much easier. AREMOS, however, does not include such concepts, but instead relies upon a list of open databanks, where the first databank on the list corresponds to the current ‘workspace’. This is practical regarding data management systems, but unifying these different capabilities took some time and effort.
Gekko 2.0 presented such an unified framework, providing an intuitive and productive environment for daily use.
After Gekko 2.0, there has been a demand for GAMS capabilities, and Gekko 3.0 supports multidimensional data (so-called array-series) and can read/write GAMS data (.gdx) and (scalar) models. This syntax was also modernized moving from Gekko 2.x to 3.x, and the 3.x syntax will probably be the “definitive” syntax and logic of Gekko for a long time to come. As of 2024, there are no current plans of major Gekko syntax changes (aside from minor tweaks).
See more under ‘Features‘.