Dynamic decentralized task allocation algorithms for multi-agent systems using a greedy auction algorithm