Overview¶
Many planning situations involve the analysis of a hierarchy of decision-makers with competing objectives. For example, policy decisions are made at different levels of a government, each of which has a different objective and decision space. Similarly, robust planning against adversaries is often modeled with a 2-level hierarchy, where the defensive planner makes decisions that account for adversarial response. Multilevel optimization techniques partition control over decision variables amongst the levels. Decisions at each level of the hierarchy may be constrained by decisions at other levels, and the objectives for each level may account for decisions made at other levels. The PAO library is designed to express this structure in a manner that is intuitive to users, and which facilitates the application of appropriate optimization solvers. In particular, PAO extends the modeling concepts in the Pyomo algebraic modeling language to express problems with an intuitive algebraic syntax.
However, data structures used to represent algebraic models are often poorly suited for complex numerical algorithms. Consequently, PAO supports distinct representations for algebraic models (using Pyomo) and compact problem representations that express objective and constraints using vector and matrix data types. Currently, PAO includes several Multilevel Problem Representations (MPRs) that represent multilevel optimization problems with an explicit, compact representation that simplifies the implementation of solvers for bilevel, trilevel and other multilevel optimization problems.
For example, PAO includes a compact representation for linear bilevel
problems, LinearMultilevelProblem
. Several solvers have been
developed for problems expressed as a LinearMultilevelProblem
,
including the big-M method proposed by Fortuny-Amat and McCarl
[FortunyMcCarl]. PAO can similarly express linear bilevel problems in
Pyomo using a Submodel
component, which was previously introduced in
the pyomo.bilevel package [PyomoBookII]. Further, these Pyomo models
can be automatically converted to the compact LinearMultilevelProblem
representation and optimized with solvers tailored for that representation.
The use of independent problem representations in this manner has
several implications for PAO. First, this design facilitates the
development of solvers for algebraic modeling languages like Pyomo
that are intrinsically more robust. Compact representations like
LinearMultilevelProblem
enable the development of solvers using
natural operations (e.g. matrix-vector multiplication). Thus, we expect
these solvers to be more robust and easier to maintain when compared to
solvers developed using Pyomo data structures (e.g. expression trees).
Additionally, the conversion of a Pyomo representation to a compact
representation provides a context for verifying that the Pyomo model
represents the intended problem form.
Second, this design facilitates the development of different problem representations that may or may not be inter-operable. Although PAO is derived from initial efforts with pyomo.bilevel, it has evolved from an extension of Pyomo’s modeling capability to be a library that is synergistic with Pyomo but not strictly dependent on it.
The following sections provide detailed descriptions of these representations that are illustrated with increasingly complex examples, including
- bilevel
- bilevel with multiple lower-levels
- trilevel
Additionally, the following sections describe the setup of linear and quadratic problems, and the transformations that can be applied to them in PAO.
Note
We do not restrict the description of PAO representations to models that PAO can solve. Rather, a goal of this documentation to illustrate the breadth of the adversarial optimization problems that can be expressed with PAO, thereby motivating the development of new solvers for new classes of problems.
Note
Although the modeling abstractions in PAO are suitable for both pessimistic and optimistic multilevel optimization formulations, PAO currently assumes that all problems are expressed and solved in an an optimistic form. Thus, when there multiple solutions in lower-level problems, the choice of the solution is determined by the follower not the leader. This convention reflects the fact that solution techniques for pessimistic forms are not well-developed.