Scimitar: Functional Programs as Optimization Problems
Mixed integer linear programming is a powerful and widely used approach to solving optimization problems, but its expressiveness is limited. In this paper we introduce the optimization-aided language Scimitar, which encodes optimization problems using an expressive functional language, with a compiler that targets a mixed integer linear program solver. Scimitar provides easy access to encoding techniques that normally require expert knowledge, enabling solve-time conditional constraints, inlining, loop unrolling, and many other high-level language constructs. We give operational semantics for Scimitar and constraint encodings of various features. To demonstrate Scimitar, we present a number of examples and benchmarks including classic optimization domains and more complex problems. Our results indicate that Scimitar's use of a dedicated MILP solver is effective for expressively modeling optimization problems embedded within functional programs.
Authors
- Jeffrey S. Foster (ORCID: https://orcid.org/0000-0001-8043-1166)
- Philip Zucker (ORCID: https://orcid.org/0000-0003-0244-5962)
- Nate F. F. Bragg
Institutions
- Tufts University (US)
- Draper Laboratory (US)
Publication Details
- Published
- 2024-10-17
- DOI
- https://doi.org/10.1145/3689492.3690051
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00