Rapid Experimentation with Python Considering Optional and Hierarchical Inputs
Neil Ranly, Torrey Wagner
TL;DR
The paper addresses efficient exploration of input spaces with optional and hierarchical dimensions in computer-executable functions. It proposes raxpy, a Python-based framework that uses function annotations and code introspection to infer input spaces and extend space-filling designs with novel metrics and algorithms tailored to optional/hierarchical spaces, under a budget of $n$ points; it includes methods such as $FSS$-LHD variants, TT-LHD, and P-LHD, plus MaxPro optimization, with heuristics for null regions. Empirical results across four input spaces show improved space-filling properties and better control over full-sub-space allocations, highlighting the practical value for rapid, reproducible DOE in Python. The work advances automated, annotation-driven experimentation and provides open-source tooling under the MIT license to facilitate reuse and extension in research and development settings.
Abstract
Space-filling experimental design techniques are commonly used in many computer modeling and simulation studies to explore the effects of inputs on outputs. This research presents raxpy, a Python package that leverages expressive annotation of Python functions and classes to simplify space-filling experimentation. It incorporates code introspection to derive a Python function's input space and novel algorithms to automate the design of space-filling experiments for spaces with optional and hierarchical input dimensions. In this paper, we review the criteria for design evaluation given these types of dimensions and compare the proposed algorithms with numerical experiments. The results demonstrate the ability of the proposed algorithms to create improved space-filling experiment designs. The package includes support for parallelism and distributed execution. raxpy is available as free and open-source software under a MIT license.
