
The key issues are change of constraints, change of preferences, and bookkeeping. The latter refers to tracking the solution state, including a history of rejections and reasons for rejections. This allows us to manager changes in constraints and preferences and map these changes to the solution space. This in turn allows the solution to be incrementally revised without starting over from scratch