Major Concepts¶
In this chapter, we introduce the major concepts of multilevel optimization (MLO) and Betty’s software design. Betty allows for an easy-to-use, modular, and maintainable programming interface for general MLO programs involving complex dependencies, without requiring expertise in programming and mathematics. This chapter is composed of 4 sub-chapters:
Multilevel Optimization: We go through the mathematical formulation as well as several application examples of multilevel optimization.
Software Design: We introduce an abstraction for multilevel optimization and describe how this abstraction is implemented within Betty.
Autodiff (Advanced): We discuss the mathematics of automatic differentiation for multilevel optimization. We then illustrate how automatic differentiation is implemented within Betty.
Architecture (Advanced): We discuss the overall software architecture of Betty and how it executes multilevel optimization.