Douglas Eleveld 1
1 University Medical Center Groningen (Groningen, The Netherlands)
Introduction: Nonlinear mixed-effects models are fundamental to pharmacometrics, and the first-order conditional estimation with interaction (FOCE-I) method implemented in NONMEM[1] is a de facto industry standard. Despite widespread reliance on its results, few users understand the details of how FOCE-I works. The theory is discussed by Wang[2] but mathematical notation is opaque to many. The NONMEM source code is encrypted and cannot be examined, and the documentation is helpful but incomplete. Bae and Yim[3] show how the FOCE-I objective function can be calculated in the R language, but many technical details of model estimation are missing. The nlmixr2[4] project implements an open-source FOCE-I implementation but is a large and complex project using R and C++, reliant on many R-packages. The broad project scope and complexity of R and C++ make examination and learning difficult. A transparent, auditable, and educationally accessible implementation of nonlinear mixed-effects modeling and the FOCE-I method is needed.
This study examines OpenPMX, an open-source nonlinear mixed-effects simulation and estimation tool. It is written in the C language, and its source is available on GitHub[5]. The project has limited scope and few dependencies, only the C-compiler and libGSL[6]. We evaluated its performance relative to NONMEM 7.6 across a range of pharmacokinetic (PK) population models.
Methods: OpenPMX implements the FOCE-I objective function as described by Bae and Yim, and uses the derivative-free BOBYQA optimization for both inner (individual-level) and outer (population-level) minimization stages. Some technical differences compared to NONMEM are, numerical rather than analytic derivative computation, and a novel Omega parameterization that decomposes the random effects covariance matrix into a correlation matrix with a specialized Cholesky factor, and diagonal scaling matrix. This may stabilize matrix computation by reducing scale effects and offers features not possible with NONMEM, such as fixing a variance on the omega diagonal while still estimating off-diagonal elements.
Estimation performance was evaluated by comparing parameter bias and relative root mean squared error (RMSE) against NONMEM 7.6 across PK simulation-estimation scenarios of varying complexity: a one-compartment model with absorption (THEO), and a very complex model (PROPOFOL). Other related analyses are in review for publication.[7] These are rich data with a simple PK model (SCHNIDER), sparsely sampled data with a simple PK model (SPARSE), PK model requiring high-dimensional minimization (FENTANYL), PK-PD model described as ordinary-differential-equations (WARFARIN), and a previously analyzed PK model which is known to be challenging (DATASIM). For each scenario, repeated simulation and estimation was performed, and per-dataset differences in precision between OpenPMX and NONMEM were assessed using Wilcoxon tests.
Results: Examples of OpenPMX control files will be shown. OpenPMX demonstrated bias and RMSE comparable to NONMEM 7.6 across all scenarios, even for complex models. Estimation run times were comparable.
Conclusions: OpenPMX provides estimation accuracy comparable to the industry-standard NONMEM software while offering fully transparent, open-source C-language implementation. Its low-complexity architecture, minimal dependencies, and GPL-3.0 licensing make it accessible for inspection, auditing, education, and collaborative development. OpenPMX represents a potential open alternative for nonlinear mixed-effects modeling in pharmacometrics. It may also serve as a platform for methodological research and integration into other tools and workflows.
The source code of OpenPMX is available on GitHub and it works on Linux and Windows (MSYS2, WSL2). A free-to-use web-interface for OpenPMX installed on a server is available at openpmx.com. Users can load examples, upload data files, modify control files, perform modelling and simulation, and download the results, all without installing OpenPMX. The server is a shared resource and has limited computation power. Currently only 5 users can be logged in simultaneously, and each run is performed serially.
OpenPMX is still in development, and some essential features are lacking, such as handling BLQ observations, and parameter uncertainty. Contributions are welcome.
References:
[1] https://www.iconplc.com/solutions/technologies/nonmem Accessed February 27, 2026
[2] Wang Y. Derivation of various NONMEM estimation methods. J Pharmacokinet Pharmacodyn 34, 575-593 (2007).
[3] Bae KS, Yim DS. R-based reproduction of the estimation process hidden behind NONMEM® Part 2: First-order conditional estimation. Transl Clin Pharmacol 24: 161-168 (2016)
[4] Fidler M, et. al. Nonlinear Mixed-Effects Model Development and Simulation Using nlmixr and Related R Open-Source Packages.” CPT: Pharmacometrics Syst. Pharmacol., 8, 621–633 (2019).
[5] https://github.com/deleveld/OpenPMX. Accessed February 27, 2026
[6] Galassi M, et al. GNU Scientific Library Reference Manual (3rd ed.). Network Theory Ltd. https://www.gnu.org/software/gsl/. (2009) Accessed February 27, 2026
[7] Under consideration by CPT: Pharmacometrics & Systems Pharmacology
Reference: PAGE 34 (2026) Abstr 12029 [www.page-meeting.org/?abstract=12029]
Poster: Software Demonstration