A number of common questions are answered. The FAQ is divided into sections, loosely corresponding to the user forum.

General questions, system requirements, etc.

How/when was Gekko started?

Gekko was started in 2008, first used for solving the EMMA model. From 2009 and onwards, Gekko has also been used to solve the ADAM model and others, including quarterly models.

Is there a Mac or Linux version?

At the moment: no. But you may use virtualization software like Parallels, Wmware or VirtualBox to run Gekko on Mac or Linux. Read more here.

Is Gekko tied to any country or model?

No. Gekko started out running and solving a particular Danish model ADAM, but everything Gekko-related is written in English, and Gekko is not tied to the ADAM model, and runs other models, too.

Is Gekko easy to use?

Yes, the intention was to provide a software package that does not entail a steep learning curve, or a lot of programming skills. You can type Gekko commands line by line in interactive sessions, but if you deal with complicated matters or large systems, Gekko command files can perform such programming tasks for you, too.

Can I use Gekko in a commercial application?

You cannot use Gekko code inside a closed-source commercial application. If you use or modify the Gekko source code, the resulting application must be open-source, too (to comply with the GNU GPL licence). This is the whole idea of open-sourcing. But you may still use Gekko commercially. Say you develop a model and a corresponding databank. In that case, you may distribute the package of Gekko + model + databank commercially, provided that you do not alter the Gekko files against the spirit of open-sourcing (see more about the Gekko organization, forking etc. here). Gekko can of course be used free of charge for teaching purposes, too.

Data management

Which data file formats are supported?

Gekko interfaces directly with Excel and R. Apart from that, it read its own databank format (.gbk), .tsd, .csv, .prn, gdx (GAMS), px (PC-Axis) and PCIM files (.bnk). In addition, some interface functionality regarding TSP is available.



What frequencies are supported?

At the moment, annual, quarterly, monthly, or undated. Other frequencies could easily be added, depending on popular demand. You can collapse data ‘points’ from Excel with arbitrary frequency into annual/quarterly/monthly frequency (cf. IMPORT<collapse>).


How large models can Gekko deal with?

There is no fixed limit: Gekko has run models with around 20.000 equations, but larger models are probably also feasible.

Does Gekko solve models with leads (forward-looking)?

Yes, Gekko has solvers that deal with this.

How many goals/means can Gekko deal with at the same time?

There is no limit to this. Gekko has solved models with hundreds of simultaneous goals/means (cf. the ENDO/EXO commands).

Can I use GAMS together with Gekko?

Yes, Gekko 3.0 has a lot of interfaces in relation to GAMS. Gekko reads gdx files with data, and can also extract equations from .gms files. In this way, you may use Gekko for viewing and data manipulation, while solving the model itself with your favorite GAMS solver.

Programming and syntax

Does Gekko handle matrices?

Yes, matrices and quite a lot of matrix operations (linear algebra) is supported in Gekko. (More exotic needs can be handled via the R interface).

What are the main Gekko special characters?

Gekko uses sigils to distinguish between timeseries (no symbol), scalars (%-symbol), and lists/maps/matrices (#-symbol).

Does Gekko use a parser for command files?

Yes, it uses ANTLR to parse the files, and transform them into C# code that is subsequently run by Gekko.