Design and comparison of algorithms for single model and mixed model assembly line balancing problems