{'fraction_non_alphanumeric': 0.02748414376321353, 'fraction_numerical': 0.0, 'mean_word_length': 4.704819277108434, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Meta-constraints on violations for over constrained problems

Constraint programming techniques are widely used to solve real-world problems. It often happens that such problems are over-constrained and do not have any solution. In such a case, the goal is to find a good compromise. A simple theoretical framework is the Max-CSP, where the goal is to minimize the number of constraint violations. However, in real-life problems, complex rules are generally imposed with respect to violations. Solutions which do not satisfy these rules have no practical interest. Therefore, many frameworks derived from the Max-CSP have been introduced. In this paper, we classify the most usual types of rules, and we show that some of them are not expressible in existing frameworks. We introduce a new paradigm in which all these rules can be encoded, through meta-constraints. Moreover, we show that most of existing frameworks can be included in our model.