MiSo: A DSL for Robust and Efficient SOLVE and MINIMIZE Problems

Federico Sichetti, Enrico Puppo, Zizhou Huang, Marco Attene, Denis Zorin, Daniele Panozzo

Many problems in computer graphics can be formulated as finding the
global minimum of a function subject to a set of non-linear constraints
(Minimize), or finding all solutions of a system of non-linear constraints
(Solve). We introduce MiSo, a domain-specific language and compiler for
generating efficient C++ code for low-dimensional Minimize and Solve
problems, that uses interval methods to guarantee conservative results while
using floating point arithmetic. We demonstrate that MiSo-generated code
shows competitive performance compared to hand-optimized codes for
several computer graphics problems, including high-order collision detection
with non-linear trajectories, surface-surface intersection, and geometrical
validity checks for finite element simulation.

MiSo: A DSL for Robust and Efficient SOLVE and MINIMIZE Problems