ignore_bounds

Do not respect bounds when computing gradients or Hessians

Specification

  • Alias: None

  • Arguments: None

  • Default: bounds respected

Description

When Dakota computes gradients or Hessians by finite differences and the variables in question have bounds, it by default chooses finite-differencing steps that keep the variables within their specified bounds. Older versions of Dakota generally ignored bounds when computing finite differences. To restore the older behavior, one can add keyword <tt>ignore_bounds</tt> to the <tt>response</tt> specification when <tt>method_source dakota</tt> (or just <tt>dakota</tt>) is also specified.

In forward difference or backward difference computations, honoring bounds is straightforward.

To honor bounds when approximating \(\partial f / \partial x_i\) , i.e., component \(i\) of the gradient of \(f\) , by central differences, Dakota chooses two steps \(h_1\) and \(h_2\) with \(h_1 \ne h_2\) , such that \(x + h_1 e_i\) and \(x + h_2 e_i\) both satisfy the bounds, and then computes

\[\frac{\partial f}{\partial x_i} ong \frac{h_2^2(f_1 - f_0) - h_1^2(f_2 - f_0)}{h_1 h_2 (h_2 - h_1)} ,\]

with \(f_0 = f(x)\) , \(f_1 = f(x + h_1 e_i)\) , and \(f_2 = f(x + h_2 e_i)\) .