Benchmark & Validation¶
Two questions: how fast is monee, and can you trust its answers. Both are
backed by reproducible scripts in
benchmarks/,
and every figure below is regenerated from a saved CSV. Only the solve call is
timed (networks are built before the timer starts). Every case carries a
cross-tool or cross-backend agreement check, so the timings always compare
identical solutions.
Results at a glance¶
monee’s nonlinear models reproduce the established reference tools on like-for-like networks:
Problem |
vs reference |
Agreement |
Speed |
|---|---|---|---|
AC power flow |
pandapower |
voltage ≤ 4e-3 pu, slack power ≤ 5e-4 MW |
~1.4 to 4× slower (specialised NR wins) |
AC OPF / dispatch |
pandapower |
voltage ≤ 3e-8 pu, cost ≤ 4e-7 rel. |
often faster |
Gas flow |
pandapipes |
pressure within 1.2 % of drop |
~1.3 to 7× slower |
Water / heat flow |
pandapipes |
pressure ~0.1 %, temperature ≤ 8.6e-3 K |
~1.4 to 23× slower |
Coupled MES (P2G, G2P, CHP) |
pandapipes |
voltage ~1e-11 pu, CHP ΔT ≤ 0.07 K |
1.4 to 5× faster |
The pattern: on a plain single-sector power flow, a dedicated Newton or hydraulic solver beats a general NLP, as expected. But once the problem becomes an optimisation or a multi-energy coupling, monee’s generality starts to pay off. It solves one simultaneous NLP instead of an iterative inter-sector loop.
For a given formulation, the in-process backends win:
Formulation class |
Fastest backend |
vs alternative |
Agreement |
|---|---|---|---|
Smooth NLP ( |
CasADi / IPOPT |
3.5 to 18× faster than GEKKO |
≤ 1e-8 |
(MI)QCQP / MISOCP / MILP |
native gurobipy |
2 to 7× faster than Pyomo + Gurobi |
≤ 1e-4 |
Dive deeper¶
The full pandapower and pandapipes comparison: per-case voltage, pressure, temperature and power agreement for power flow, OPF and coupled multi-energy, with the figures behind the table above.
Which numerical backend is fastest for each formulation class, the head-to-head timings behind the recommendation, and the one keyword that selects each one.