Multilevel programming

From Wikipedia, the free encyclopedia

The "level" refers to sets of variables. A bilevel program has two sets:

min f(x, y): x in X, y in Y, h(x, y)=0, g(x, y)=0. A reason for identifying levels is to apply a decomposition principle for algorithm design. One example is the bilinear program. Another is when one set of variables is constrained to be a solution to an inner optimization problem:

min f(x, y): x in X, y in Y, h(x, y)=0, g(x, y)=0, y in argmax{F(x, y): y in S(x)}, where S(x) is some subset of Y.

This topic relates to the field of Mathematical Programming:

References:
Mathematical Programming Glossary:(http://glossary.computing.society.informs.org/second.php?page=B.html#Bilevel_program)