Dynamic task allocation for multi-robot search and retrieval tasks