##

Speed and Accuracy Considerations with Optimization

**Updated August 02, 2016**

##### This article applies to:

- Softree Optimal

Optimization can take a long time.It is not difficult to generate problems which take hours (or even days -- yes really!). Unfortunately, there is no way to know in advance how long a specific problem will take.Here are some recommendations:

- In the
*Options**Standards*tab, start by using*Curves [Fast]*(or*Polyline*). This will generate the lowest cost alignment possible for a given set of constraints; use this cost and the profile as your baseline for evaluating future alignments. If satisfied with the alignment and a solution has been found, create a*New*alignment then switch to*Curves and tangents [Slow]*or*Variables curves and tangents [Slowest].*Note these two algorithms will take longer to solve.

- For accuracy purposes, the user should set the
*Spacing*to the recommended*Auto*calculated spacing (see Section Sampling and Accurate Costing). Such a choice might yield a very large number of sections. In that case, you have two options:- Divide your alignment into pieces; see Optimizing Long Roads.
- Clear the
*All*check box in*Sections Sampled*and possibly increase the*Spacing*. This will speed thing up but reduce accuracy*.*

*Figure 1 Section Sampling Option*

- Once the alignment is being optimized (after Pre-Process), a dialogue box appears displaying the
*Optimality gap*. The*Optimality gap*is defined as the best improvement that can be made over the current solution. (Note that this is an upper bound; in fact, the current solution__may__already be the optimal solution.) Rather than wait for the optimality, when the optimality gap reaches zero, you may cancel at any time to accept the*current best solution*. So, if you cancel the process at 5%, the cost of the alignment obtained will be within 5% of optimal cost. Often, the time it takes to find a solution with a small*Optimality gap*is much less than the time to reach optimality.