Knowledge Base

Back to Softree Optimal

Optimization: Infeasible Problems

Updated January 05, 2022

This article applies to:
  • Softree Optimal

It is easy to unknowingly constrain the vertical alignment so that it is infeasible. This is a difficult problem to diagnose in general, but several tools are provided to help you.


Often the result of an optimization is “No Profile could be found” without further explanation.

no profile.png

Figure 1: Infeasible result “No Profile could be found”

If you have spent some time adding multiple constraints, you won’t know which one(s) caused the infeasibility.

We recommend starting with minimal constraints (large vertical band, large grades, small vertical curves, no control points) and simple curves (Curves [fast] or Polyline in the Standards tab) and run the optimization (or Feasibility check) to make sure that it works.

Then add constraints one (or a few) at a time and re-run before adding more.

Conflict detection

At the interface level, Softree Optimal checks in real-time for basic constraint compatibility. For example, it will check whether a control point lies within the user-defined vertical band or not. When a conflict is detected, a Conflict button appears at the bottom left of the Vertical Optimization Options dialogue box; press this button for a description of the conflict.

Figure 2: Conflict detected.

Note: If there is a conflict, any optimization will fail. So, conflicts must be addressed.

Feasibility Tests

When you press the Process button, you are given the option to run a Feasibility check.

  • If the band is up to date or Pre-Process is selected, then Feasibility takes into account all the geometric constraints provided by the user and will determine whether there is at least one alignment that satisfies all these constraints.

Note: If Feasibility fails, the Optimal Profile will also fail.

  • If the band is out of date, then Feasibility only takes into account:

    • Standards,

    • Control Pts., if applicable,

    • Min. Cut, if applicable,

    • Min. Fill, if applicable,

    • The vertical band is simply calculated from vertical offsets (OptionsGeneral tab) and the selected alignment (OptionsGeneral tab, Vertical Band Center list).

Note: In this case, it is possible that Feasibility succeeds and Optimal Profile fails. This is because not all the constraints are taken into account (for example, Hor. ROW) and the band is larger. The advantage of this test is that it is faster as it does not require Pre-Process.

If you run a Feasibility check immediately after you define each constraint, it will be clear which constraint caused infeasibility.


If your alignment is infeasible, you need to relax one or more constraints. Softening a constraint is a quick way to do this without having to change any of the constraint parameters. Softening only applies to geometric constraints so it does not apply to the Direction and Sidecast constraints.

Figure 3: Alignment panel tree context menu includes softening and hardening of constraints.

The idea behind softening is to allow a constraint to be violated wherever it cannot be enforced, and then report the information. For example, the ground may be too steep for your desired maximum grades. If you Process to find an Optimal Profile with softened grades, the optimization log will report wherever the desired maximum grade was exceeded.

Note: The alignment found with a softened constraint should not be considered optimal.

Vertical Band

Optimization is restricted to a Vertical Band (or corridor) around the ground line or selected alignment (OptionsGeneral tab, Vertical Band Center list). The Vertical Band is defined by the two vertical offsets set in the Options | General Tab | Vertical Control.

To display the vertical band, select the alignment in the Alignment(s) list. Expand the Tree Control and select Vertical Band. The band will appear in the profile window.

Figure 4: The Vertical Band is visible when selected.

When Constraints is selected in the tree control the vertical band is modified by all constraints. In the figure below, a Min. Fill constraint and Control Pts. are constricting the vertical band.

Figure 5: The Vertical Band is visible when Constraints is selected

There is another subtler way that the vertical band can be restricted. If the underlying surface doesn't extend far enough horizontally, the cross section may have slope errors (the cut or fill slope does not catch the surface). In such case, potential alignment elevations that generate slope errors are removed from the vertical band, resulting in a smaller “true” vertical band. The “true” vertical band is the one being displayed whenever available. Optimal Profile will Pre-Process all cross sections to check for slope errors.

Note: Full bench, Hor. ROW, and Vert. ROW can only be visualized with the “true” vertical band.

Note: If the “true” vertical band pinches out, you may need to extend the surface model.

Note: After a successful alignment optimization, the optimal solution must be within the vertical band. If your optimized alignment is touching the vertical band then the solution is being constrained; there is probably a cheaper solution available if you move the initial alignment or increase the depth of the band.