Model creation time of AMPL vs Gurobipy, Jump, Pyomo

I came across an interesting comparison of GAMS with Pyomo, JuMP, and Gurobipy (Performance in Optimization Models: A Comparative Analysis of GAMS, Pyomo, GurobiPy, and JuMP). Do you know if a similar analysis exists for AMPL?

1 Like

Hi @salvapinedam,

There are several benchmarks comparing other modeling tools with AMPL. One that is fairly recent is https://www.tandfonline.com/doi/full/10.1080/10556788.2023.2246169 where AMPL, Pyomo, JuMP and others are benchmarked against a modeling tool build for a specific energy problem (not an artificial example). From the abstract:

We benchmark the times taken by GBOML, JuMP, Plasmo, Pyomo and AMPL to generate instances of a structured MILP. We find that GBOML outperforms Plasmo and Pyomo, is tied with JuMP but is slower than AMPL. With parallel model generation, GBOML outperforms JuMP and closes the gap with AMPL.

In the paper you can see that AMPL is around 25 times faster than Pyomo, and almost 4 times faster than JuMP. In practice, we have seen AMPL being over 100 times faster than Pyomo and PuLP in real-world applications (e.g., simulating the electricity market for the European Grid or very large supply-chain models with many millions of variables and constraints).

The performance difference tends to increase with the complexity of the models being built. We have seen multiple times models that may take hours to be built with Pyomo/PuLP taking seconds or at most minutes with AMPL after being translated (btw, ChatGPT and all other AI tools tend to be quite good at this).

1 Like