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:
- Detect influence — perturb the input variable slightly and observe how the output changes
- Set initial bounds — establish a search range based on the current value
- Expand bounds — if the target isn't bracketed, widen the range
- Bisect — repeatedly halve the interval, narrowing in on the solution
- Converge — stop when the result is within tolerance
Convergence criteria
| Parameter | Value | Purpose |
|---|---|---|
| Absolute tolerance | 1×10⁻¹⁰ | For targets near zero |
| Relative tolerance | 1×10⁻⁸ | For large targets |
| Max iterations | 100 | Prevents 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:
| Variable | Current | Suggested | Notes |
|---|---|---|---|
h | 24 in | 28.5 in | Increase depth |
b | 12 in | 16.2 in | Increase width |
w | 2 kip/ft | 1.68 kip/ft | Reduce 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
bwon't change a formula that only usesh) - 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
- Spreadsheet Grid — set up calculations for goal seeking
- Formula Syntax — write formulas the solver can analyze