Partially defined constraints in constraint-based design
In constraint-based design, components are modeled by variables describing their properties and subject to physical or mechanical constraints. However, some other constraints are difficult to represent, like comfort or user satisfaction. Partially defined constraints can be used to model the incomplete knowledge of a concept or a relation. Instead of only computing with the known part of the constraint, we propose to complete its definition by using machine-learning techniques. Because constraints are actively used during solving for pruning domains, building a classifier for instances is not enough: we need a solver able to reduce variable domains. Our technique is composed of two steps: first we learn a classifier for the constraint's projections and then we transform the classifier into a propagator. We show that our technique not only has good learning performances but also yields a very efficient solver for the learned constraint.
computer-aided design constraint programming machine learning