Multiple Cost Optimization for Task Assignment in Heterogeneous Computing Systems Using Learning Automata