The crew scheduling problem. A decomposition algorithm and an interactive procedure