Skip to content

Objective function & similarity

The optimizer needs a single number that says how good a parameter set is. In numgeo-ACT that number is the objective value: a weighted combination of how closely each simulated curve matches the corresponding experiment. The optimizer minimizes it.

From curves to a single number

For a given parameter set, numgeo-ACT:

  1. simulates every selected laboratory test;
  2. for each test, compares one or more simulated curves against the measured curves (e.g. \(\varepsilon_1\)\(q\), \(\varepsilon_1\)\(\varepsilon_v\), the effective stress path, or accumulation-vs-cycles) using a similarity measure;
  3. combines these per-curve distances using the weights you control, into one objective value.

Conceptually, the objective is a weighted sum of curve distances:

\[ \Phi(\mathbf{x}) \;=\; \sum_{t \in \text{tests}} w_t \sum_{c \in \text{curves}(t)} w_{t,c}\, d\big(\text{sim}_{t,c}(\mathbf{x}),\, \text{exp}_{t,c}\big) \]

where \(\mathbf{x}\) is the vector of free parameters, \(d(\cdot,\cdot)\) is the chosen similarity measure, and the weights \(w_t\), \(w_{t,c}\) are described on the weighting page.

Similarity measures

The similarity measure \(d(\cdot,\cdot)\) quantifies the distance between a simulated and a measured curve. numgeo-ACT provides several, selectable through the Similarity argument of globals.setup and the similarity argument of DEEM.optimize:

Value Measure Idea
frechet (default) discrete Fréchet distance shape-aware distance between two curves; respects ordering along the curve
area_between_two_curves area between curves integrated area enclosed between simulation and experiment
dtw dynamic time warping aligns curves allowing local stretching before measuring distance
pcm partial curve mapping maps one curve onto the other and measures the mismatch
curve_length curve-length distance compares based on arc length
hausdorff Hausdorff distance largest of the closest-point distances between the curves
least-square least squares sum of squared point-wise differences
mod-least-square modified least squares a normalized / robust least-squares variant
delta-max-value maximum-value difference difference of curve extrema

Which measure should I use?

The Fréchet distance (frechet) is the default and a sound general choice: it compares the shape of the curves while respecting their ordering, which suits stress–strain and stress-path data well. For accumulation curves and other monotone responses, area- or least-squares-based measures can also work well. It is worth trying a couple of measures and comparing the resulting fits.

Penalties

Some test types add penalty terms to the objective to discourage physically wrong behaviour — for example to penalize a simulated undrained cyclic stress path that leaves the admissible region, or to enforce features such as a stress peak. These appear as dedicated penalty entries in the weights (e.g. penalty-hull, penalty-peak-q-eps1, penalty-critical-state-line) and are added on top of the curve distances. A large penalty value steers the optimizer firmly away from such parameter sets.

Data preparation

To compare curves fairly, simulation and experiment must be sampled consistently. numgeo-ACT interpolates the curves onto a common basis before applying the similarity measure, and (for several test types) can scale each compared plane to a common range so that quantities with different magnitudes contribute comparably. Options such as cutting off drained-triaxial experimental data after the deviatoric-stress peak are also available through the weights structure.

Continue to Weighting of tests to see exactly which curves are compared for each test type and how to rebalance them.

Oedometer loading-unloading-reloading curves

For oedometric loading-unloading-reloading data, numgeo-ACT does not evaluate strain as a unique function of stress. That would be wrong because unloading and reloading produce several strains at the same stress level.

Instead, the ordered experimental and numerical paths are compared in the scaled stress-strain plane

\[ \left(\frac{\sigma_v}{\sigma_{v,\max}},\frac{\varepsilon_v}{\varepsilon_{v,\max}}\right) \]

while preserving the row/increment order of the test. With similarity='frechet' this gives a path-consistent distance between the measured and simulated trajectory. The load cycles are therefore still part of the automatic calibration objective and can contribute to the identification of small-strain parameters.

Least-square-type measures require a unique value of strain for each stress. If a load reversal is detected in an oedometer test, ACT therefore falls back to the ordered Fréchet-type path evaluation for that test instead of interpolating by stress.