This site contains materials describing a new mathematical theory of co-design that helps in designing complex systems with many components that are functionally dependent on each other.

“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 solver for MCDPL.

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).