Building a discrete model

These routines support building a model for discrete optimization, such as mixed integer programming (MIP).