how to solve assignment problem