Solving the Bilevel Facility Location Problem under Preferences by a Stackelberg-Evolutionary Algorithm