Solving multi-purpose parallel machine scheduling problem for real-world application