Abstract. Combinatorial problems such as scheduling, resource allocation, and configuration have many attributes that can be subject of user preferences. Traditional optimization approaches compile those preferences into a single utility function and use it as the optimization objective when solving the problem, but neither explain why the resulting solution satisfies the original preferences, nor indicate the trade-offs made during problem solving. We argue that the whole problem solving process becomes more transparent and controllable for the user if it is based on the original preferences. We show how the original preferences can be used to control the problem solving process and how they can be used to explain the choice and the optimality of the detected solution. Based on this explanation, the user can refine the preference model, thus gaining full control over the problem solver.