More formally the Bilevel Programming Problem (BLPP) formulation has a long history in literature [1]}, [2]}, [3]}, [4]}, [5]}. [6]} contains an extensive review of approaches to solving BLPPs.
Many of these works focus on theoretical analysis/characterization of BLPP approaches; the focus of this paper is more on specific concrete applications.
