We consider a revenue management, network capacity control problem in a setting where heterogeneous customers choose among the various products offered by a firm (e.g., different flight times, fare classes, and/or routings). Customers may therefore substitute if their preferred products are not offered. These individual customer choice decisions are modeled as a very general stochastic sequence of customers, each of whom has an ordered list of preferences. Minimal assumptions are made about the statistical properties of this demand sequence. We assume that the firm controls the availability of products using a virtual nesting control strategy and would like to optimize the protection levels for its virtual classes accounting for the (potentially quite complex) choice behavior of its customers.
We formulate a continuous demand and capacity approximation for this problem, which allows for the partial acceptance of requests for products. The model admits an efficient calculation of the sample path gradient of the network revenue function. This gradient is then used to construct a stochastic steepest ascent algorithm. We show the algorithm converges in probability to a stationary point of the expected revenue function under mild conditions. The algorithm is relatively efficient even on large network problems, and in our simulation experiments it produces significant revenue increases relative to traditional virtual nesting methods. On a large-scale, real-world airline example using choice behavior models fit to actual booking data, the method produced an estimated 10% improvement in revenue relative to the controls used by the airline. The examples also provide interesting insights into how protection levels should be adjusted to account for choice behavior. Overall, the results indicate that choice behavior has a significant impact on both capacity control decisions and revenue performance and that our method is a viable approach for addressing the problem.