A Discrete Optimization Algorithm Based on Binomial Polytopes