String interpolation

Strings are represented with single quotes in Gekko (for instance: ‘this is a string’). Some languages use double quotes, and other languages allow both variants (or use single quotes for characters, and double quotes for strings). The use of single quotes...

Array-series

Array-series have not been described in this blog until now. The concept of array-series arose as a consequence of database integration on the one side, and GAMS integration on the other side. When interfacing with a particular Danish online database...

Use of {}-curlies

In Gekko, {}-curlies have been used for quite a long time now. The idea is that variable names can be composed by means of the {}-curlies, creating a means of composing names dynamically, in a sense forwarding from a string to a variable name corresponding to that...

Lists and naked lists

As mentioned in the overview post regarding Gekko 3.0, lists were generalized in Gekko 3.0, using primarily Python as the inspiration. In Gekko 2.x, lists could only contain strings, so in that sense, they were quite simple. Gekko 3.0 allows any variable to be an...

The dynamic problem

In Gekko 2.0/2.2/2.4, and also in some other software packages, series expressions are run in an outer loop. Consider a series expression like y = x1 + x2 + x3. In AREMOS, such an expression is run n times in an outer loop, where n is the number of periods. Imagine...