  We consider a revenue maximization model, in which a company aims at
designing a menu of contracts, given a population of customers. A standard
approach consists in constructing an incentive-compatible continuum of
contracts, i.e., a menu composed of an infinite number of contracts, where each
contract is especially adapted to an infinitesimal customer, taking his type
into account. Nonetheless, in many applications, the company is constrained to
offering a limited number of contracts. We show that this question reduces to
an optimal quantization problem, similar to the pruning problem that appeared
in the max-plus based numerical methods in optimal control. We develop a new
quantization algorithm, which, given an initial menu of contracts, iteratively
prunes the less important contracts, to construct an implementable menu of the
desired cardinality, while minimizing the revenue loss. We apply this algorithm
to solve a pricing problem with price-elastic demand, originating from the
electricity retail market. Numerical results show an improved performance by
comparison with earlier pruning algorithms.
