Skip to main content

Goal Seeker

The Goal Seeker is a what-if analysis tool that finds input values to produce a desired output. Given a target result, it adjusts one or more variables until the formula evaluates to your target.

When to use it

The Goal Seeker is useful when you know the answer you want but need to find the input:

  • "What beam depth gives me a stress ratio of exactly 0.90?"
  • "What load produces a deflection of 1 in?"
  • "What reinforcement area satisfies the strength requirement?"

How it works

The algorithm

The Goal Seeker uses a bisection search algorithm:

  1. Detect influence — perturb the input variable slightly and observe how the output changes
  2. Set initial bounds — establish a search range based on the current value
  3. Expand bounds — if the target isn't bracketed, widen the range
  4. Bisect — repeatedly halve the interval, narrowing in on the solution
  5. Converge — stop when the result is within tolerance

Convergence criteria

ParameterValuePurpose
Absolute tolerance1×10⁻¹⁰For targets near zero
Relative tolerance1×10⁻⁸For large targets
Max iterations100Prevents infinite loops

SI-first computation

All solver math happens in SI units internally. Your inputs and outputs are converted to/from SI automatically, ensuring unit consistency throughout the solution process.

Setting up a goal seek

Step 1: Define your calculation

Set up a calculation with variables and a result formula:

b = 12 in                   // beam width
h = 24 in // beam depth (variable to adjust)
L = 20 ft // span
w = 2 kip/ft // load

I = b * h^3 / 12 // moment of inertia
M = w * L^2 / 8 // maximum moment
c = h / 2
fb = M * c / I // bending stress

Step 2: Set the target

Open the Goal Seeker panel and specify:

  • Target cell: the cell or box containing the result you want to control (e.g., fb)
  • Target value: the desired result (e.g., 24 ksi)

Step 3: Choose the variable

Select which input variable to adjust (e.g., h — beam depth).

Step 4: Run

The Goal Seeker iterates, adjusting h until fb equals your target. It shows:

  • The suggested value for the variable
  • Whether the solution converged
  • The number of iterations used
  • The remaining error

Step 5: Apply

Review the suggestion and apply it to update your calculation.

Dependency tree

The Goal Seeker builds a dependency tree to understand which variables affect the target:

fb (target)
├── M (moment)
│ ├── w (load)
│ └── L (span)
├── c (distance to extreme fiber)
│ └── h (depth)
└── I (moment of inertia)
├── b (width)
└── h (depth)

Each variable in the tree can be adjusted independently. The Goal Seeker computes suggestions for each adjustable variable.

Multiple solutions

When multiple variables affect the target, the Goal Seeker provides separate suggestions for each:

VariableCurrentSuggestedNotes
h24 in28.5 inIncrease depth
b12 in16.2 inIncrease width
w2 kip/ft1.68 kip/ftReduce load

You choose which suggestion to apply based on engineering judgment.

Limitations

  • No influence: If a variable doesn't affect the target, it can't be solved (e.g., adjusting b won't change a formula that only uses h)
  • Non-monotonic functions: The bisection method may miss solutions for oscillating functions
  • Physical constraints: The solver doesn't enforce that lengths must be positive — review suggestions for physical reasonableness
  • Circular dependencies: Must be resolved before solving

Next steps