1. A method for learning to map requested product attribute values onto product attribute values of available products, comprising the steps of: calculating a cost of a plurality of states of a state space, each of the plurality of states representing one or more available product attributes having zero or more decided attribute values, the calculating being based, at least in part, on training data associated with previously requested and offered products; determining a next state of the state space such that one or more products are available and a sum of values, including a cost of the next state and a cost of a perturbation of one or more requested product attribute values to reach the next state is a minimum value; and mapping a value for a product attribute according to the minimum sum of values and product attribute values of available products.