Weighted constraint satisfaction problem. In artificial intelligence and operations research, a Weighted Constraint Satisfaction Problem (WCSP), also known as Valued Constraint Satisfaction Problem (VCSP), is a generalization of a constraint satisfaction problem (CSP) where some of the constraints can be violated (according to a violation degree) and in which preferences among solutions can be expressed. This generalization makes it possible to represent more real-world problems, in particular those that are over-constrained (no solution can be found without violating at least one constraint), or those where we want to find a minimal-cost solution (according to a cost function) among multiple possible solutions.

Formal definition
A Weighted Constraint Network (WCN), aka Cost Function Network (CFN), is a triplet  where  is a finite set of discrete variables,  is a finite set of soft constraints and  is either a natural integer or .

Each soft constraint  involves an ordered set  of variables, called its scope, and is defined as a cost function from  to  where  is the set of possible instantiations of . When an instantiation  is given the cost , i.e., , it is said forbidden. Otherwise it is permitted with the corresponding cost (0 being completely satisfactory).

In WCSP, specific subclass of Valued CSP (VCSP), costs are combined with the specific operator  defined as: 
. 
The partial inverse of  is  defined by: 
If ,  and if , .

Without any loss of generality, the existence of a nullary constraint  (a cost) as well as the presence of a unary constraint  for every variable  is assumed.

The total cost of a complete instantiation  is the bounded sum of the cost of  on  for all soft constraint , including the nullary cost  and the unary costs for  of the variables in .

Considering a WCN/CFN, the usual (NP-hard) task of WCSP is to find a complete instantiation with a minimal cost.
Other tasks in the related field of graphical model can be defined.

Resolution of binary/ternary WCSPs

Approach with cost transfer operations
Node consistency (NC) and Arc consistency (AC), introduced for the Constraint Satisfaction Problem (CSP), have been studied later in the context of WCSP.
Furthermore, several consistencies about the best form of arc consistency have been proposed: Full Directional Arc consistency (FDAC), Existential Directional Arc consistency (EDAC), Virtual Arc consistency (VAC) and Optimal Soft Arc consistency (OSAC).

Algorithms enforcing such properties are based on Equivalence Preserving Transformations (EPTs) that allow safe moves of costs among constraints. Three basic costs transfer operations are:
 Project : cost transfer from constraints to unary constraints
 ProjectUnary : cost transfer from unary constraint to nullary constraint
 Extend : cost transfer from unary constraint to constraint

The goal of Equivalence Preserving Transformations is to concentrate costs on the nullary constraint  and remove efficiently instantiations and values with a cost, added to , that is greater than or equal to the forbidden cost or the cost of the best solution found so far. A branch-and-bound method is typically used to solve WCSPs, with lower bound  and upper bound .

Approach without cost transfer operations
An alternative to cost transfer algorithms is the algorithm PFC-MRDAC which is a classical branch and bound algorithm that computes lower bound  at each node of the search tree, that corresponds to an under-estimation of the cost of any solution that can be obtained from this node. The cost of the best solution found is . When , then the search tree from this node is pruned.

Another more recent approach is based on super-reparametrizations which allows to relax the problem to compute tighter bounds.

Resolution of n-ary WCSPs
Cost transfer algorithms have been shown to be particularly efficient to solve real-world problem when soft constraints are binary or ternary (maximal arity of constraints in the problem is equal to 2 or 3).
For soft constraints of large arity, cost transfer becomes a serious issue because the risk of combinatorial explosion has to be controlled.

An algorithm, called GAC-WSTR, has been proposed to enforce a weak version of the property Generalized Arc Consistency (GAC) on soft constraints defined extensionally by listing tuples and their costs.
This algorithm combines two techniques, namely, Simple Tabular Reduction (STR) and cost transfer. Values that are no longer consistent with respect to GAC are identified and
minimum costs of values are computed. This is particularly useful for efficiently performing projection operations that are required to establish GAC.

Global cost functions with a dedicated semantic (e.g. SoftAllDifferent, SoftAmong) and polytime complexity have been also studied.

Solvers
 https://www.ics.uci.edu/~dechter/software.html
 https://miat.inrae.fr/toulbar2 (based on cost transfer operations)

Benchmarks
Many real-world WCSP benchmarks are available on http://genoweb.toulouse.inra.fr/~degivry/evalgm and https://forgemia.inra.fr/thomas.schiex/cost-function-library (older version at http://costfunction.org/en/benchmark). More MaxCSP benchmarks available on http://www.cril.univ-artois.fr/~lecoutre/#/benchmarks (deprecated site, see also http://xcsp.org/series).

See also
 Constraint satisfaction problem
 Constraint programming
 Preference-based planning

References

Constraint programming