A novel constraint programming and simulated annealing for disassembly line balancing problem with AND/OR precedence and sequence dependent setup times