In this research, we present an optimization heuristic to solve the horizontal alignment of a highway segment. The iterative heuristic works in two stages. The first stage uses a neighborhood search approach to find a good piecewise linear line that approximates the highway alignment. The second stage further adjusts the alignment so that the external and code requirements are accurately satisfied. Both stages manipulate the piecewise linear line with a neighborhood search heuristic, and use a mixed integer program (MIP) to ensure that the piecewise linear line crosses the control areas and avoids the restricted ones. The optimal objective function value returned by the MIP is used to compare the quality between different piecewise linear lines. The lengths of each line segment are properly constrained in the MIP to ensure that curves can be correctly deployed. Starting from an initial feasible solution the process gradually improves the alignment through iterations.