Constraint programming for flexible service function chaining deployment