A Heuristic for Dynamic Traffic Grooming in WDM Optical Mesh Networks