A genetic algorithm for operation sequencing in CAPP using edge selection based encoding strategy