Maximizing Reliability of Heterogeneous Distributed System Using Bio-Inspired Technique for Task Allocation Problem