Welcome to the upgraded MacSphere! We're putting the finishing touches on it; if you notice anything amiss, email macsphere@mcmaster.ca

Type-Safe Modeling for Optimization

dc.contributor.advisorAnand, Christopher
dc.contributor.advisorKahl, Wolfram
dc.contributor.authorThai, Nhan
dc.contributor.departmentComputing and Softwareen_US
dc.date.accessioned2021-07-22T01:13:17Z
dc.date.available2021-07-22T01:13:17Z
dc.date.issued2021
dc.description.abstractMathematical optimization has many applications in operations research, image processing, and machine learning, demanding not only computational efficiency but also convenience and correctness in constructing complex models. In this work, we introduce HashedExpression, an open-source algebraic modeling lan- guage (AML) that allows users to express unconstrained, box-constrained, and scalar-expressions-constrained optimization problems, aimed at embeddability, type-safety, and high-performance through symbolic transformation and code generation. Written in Haskell, a statically-typed, purely functional program- ming language, HashedExpression places a great emphasis on modeling correct- ness by providing users with a type-safe, correct-by-construction interface that uses Haskell type-level programming to express constraints on correctness which the compiler uses to flag many modelling errors as type errors (at compile time). We show how type-safety can be added in steps, first matching expressions’ shape and then associated physical units. The library implements symbolic ex- pressions with a hashed indexing scheme to implement common subexpression elimination (CSE). It abstracts away details of the underlying lookup table via monadic type class instances. We explain how using symbolic expressions with CSE enables performance-enhance transformations and automatic computation of derivatives without the issue of “expression swelling”. For high-performance purposes, we generate low-level C/C++ code for symbolic expressions and pro- vide bindings to open-source optimization solvers such as Ipopt or L-BFGS-B. We explain how this architecture lays the groundwork for future work on par- allelization including SIMDization and targetting multi-core CPUs and GPUs, and other hardware acceleration.en_US
dc.description.degreeMaster of Science (MSc)en_US
dc.description.degreetypeThesisen_US
dc.identifier.urihttp://hdl.handle.net/11375/26691
dc.language.isoenen_US
dc.subjectoptimizationen_US
dc.subjectsymbolic computingen_US
dc.subjecthaskellen_US
dc.subjectmathematical optimizationen_US
dc.subjecttype-safetyen_US
dc.subjectcode generationen_US
dc.subjectmodelingen_US
dc.subjectedslen_US
dc.subjectdomain specific languageen_US
dc.subjectautomatic differentiationen_US
dc.titleType-Safe Modeling for Optimizationen_US
dc.typeThesisen_US

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
thai_nhan_qd_202107_msc.pdf
Size:
1.56 MB
Format:
Adobe Portable Document Format

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.68 KB
Format:
Item-specific license agreed upon to submission
Description: