improved constraint programming sln for gc