Monotone Co-Design Problems (MCDPs) are a class of extremely expressive optimization problems. They can express: non-convex constraints, non-differentiable, discontinuous and non-scalarizable objective functions, and work with non-continuous design spaces.

MCDPL is an extremely expressive language to describe MCDPs. PyMCDP is a Python interpreter and “compiler” for MCDPL, as well as a solver.

For more information, please see:

Below, an example of a graphical representation of an MCDP (left) along with the MCDPL snippet that describes it (right).