An integrated algorithm for shift scheduling problems for local public transport companies