Perfect relaxation in constraint logic programming