Discrete Modeling, Optimization, and Search