Skip to Main Content
We consider a production-inventory system with two customer classes, one patient and one impatient. Orders from the patient class can be backordered if needed, while orders from the impatient class must be rejected if they cannot be fulfilled from on-hand inventory. Orders backordered incur a backorder cost, while orders rejected incur a lost sales cost. The objective is to minimize the sum of inventory holding cost and the costs of backorders and lost sales. We formulate the problem as a Markov decision process and use this formulation to characterize the structure of the optimal policy. We show that the optimal policy can be described by two threshold functions that depend on the level of backorders from the patient class. These threshold functions specify: 1) when it is optimal to produce; 2) how to allocate units produced to either increase inventory or reduce backorder; and 3) when to fulfill orders from on-hand inventory and when to backorder (in the case of the patient class) and when to reject them (in the case of the impatient class). We show that the priority in inventory allocation among the two classes is not static and instead depends on the backorder level from the class of patient customers. In particular, it is possible to start out fulfilling orders from the impatient class and backordering orders from the patient class and then to switch to fulfilling orders from the patient class and rejecting orders from the impatient class. In addition to characterizing the structure of the optimal policy, we also describe an effective heuristic that retains the essential features of the optimal policy but is significantly simpler to implement. This heuristic performs nearly as well as the optimal policy and significantly outperforms other plausible heuristics.