add iterative max cost assignment