Valuation-Based Systems for Discrete Optimization