Two-phase heuristic for disassembly scheduling with multiple product types and parts commonality