A Multi-variable Vertical Alignment Optimization Model for Road Design