A hypergraph model for constraint logic programming and applications to bus drivers' scheduling