Find the Optimum of a Response Surface

DESCRIPTION:
Finds the factor settings for the optimal predicted response value. Optimization can be bounded, unbounded or limited to a given interval for each factor.

USAGE:
optim.rsm.lm(rsm.object, best = "max",  bounded = T,
     constrained, ...)

REQUIRED ARGUMENTS:
rsm.object:
the output from fitting a response surface using rsm.lm.

OPTIONAL ARGUMENTS:
best:
character string giving the type of optimal value for the response, either maximum ("max") or minimum ("min").
bounded:
logical value; if TRUE, the default, the optimization is performed within the range of the settings of the experimental factors, if FALSE the upper and lower bounds used in optimization are Inf and - Inf. If constrained is given, those bounds are used instead.
constrained:
list specifying constraints in the optimization. The constraints can be a single value or two ordered values giving an interval constraint.

VALUE:
A list containing the following components:
optimum:
the optimum predicted response value and the corresponding factor settings.
converged:
type of convergence for the optimization algorithm.
log:
The log component of the rsm.object, which specifies whether each variable is fitted on the log scale in the rsm model.
constrained:
If there are constraints, returns the constraint list supplied.
outside:
If the function converged, a logical vector specifying whether the optimum occured outside the range of the data used to fit the rsm.object.

NOTE:
If a variable is fitted on the log scale (for instance, if the design is generated using rsm.design, and log = T) in rsm.lm, the constraints are assumed to be specified on the natural scale. For example, if the design points on the (fitting) log scale for variable X are c(log(0.1), log(1), log(10)), the optimization is constrained to the center point by setting constrained = list(X = 1).

SEE ALSO:
nlminb , rsm.lm , rsm.design , surface.rsm.lm , contour.rsm.lm .

EXAMPLES:
ab.rsm <- rsm.lm(formula(abrsm.df), abrsm.df)
optim(ab.rsm)
optim(ab.rsm, constrained = list(Prime1 = 14))
optim(ab.rsm, constrained = list(RadDos = c(150,200),
     Prime1 = c(-Inf, 14)))