Sets suitable defaults for the equality handling part of SACOBRA.
The EH technique transforms each equality constraint \(h(\vec{x})=0\) into two inequality
constraints \(h(\vec{x})-\mu <0\) and \(-h(\vec{x})-\mu<0 \) with an adaptively
decaying margin \(\mu\).
If refine
parameter is set to TRUE, then a refine mechanism is applied to shift the best found solution within the equality margin \(\mu\) toward the feasible subspace by minimizing the sum of squared constraint surrogates with a conjugate gradient method.
$$\mbox{Minimize}\quad \sum_i( max(0,g_i(x))^2 ) + \sum_j ( h_j(x)^2 )$$
defaultEquMu()
equHandle, a list with the following elements:
[TRUE] if set to TRUE the equality-handling (EH) technique is activated. The EH technique transforms each equality constraint \(h(\vec{x})=0\) into two inequality constraints \(h(\vec{x})-\mu <0\) and \(-h(\vec{x})-\mu<0 \) with an adaptively decaying margin \(\mu\).
[1e-07] lower bound for margin \(\mu\). equEpsFinal
should be set
to a small but non-zero value (larger than machine accuracy).
["TAV"] the equality margin \(\mu\) can be initialized with one of these approaches: ["TAV"|"TMV"|"EMV"|"useGrange"] TAV: (Total Absolute Violation) takes the median of the sum of violations of the initial population. TMV: (Total Maximum Violation) takes the median of the maximum violation of the initial population EMV: takes the median of the maximum violation of equality constraints of the initial population useGrange: takes the average of the ranges of the equality constraint functions
["SAexpFunc"] type of the function used to modify margin \(\mu\) during the optimization process can be one of ["SAexpFunc"|"expFunc"|"Zhang"|"CONS"]. see modifyMu
.
[1.5] decay factor for margin \(\mu\). see modifyMu
[TRUE] enables the refine mechanism f the equality handling mechanism.
maximum number of iterations used in the refine step. Note that the refine step runs on the surrogate models and does not impose any extra real function evaluation.
With the call setOpts(equHandle,defaultEquMu())
it is possible to extend a partial list
equHandle
list which is set by user to a list containing all equHandle
-elements (the missing ones are taken from
defaultEquMu()
).
These settings are used by cobraInit
for initializing the equality margin \(\mu\) and by the internal functions updateCobraEqu
and modifyMu
.
The minimization step of refine mechanism is done by L-BFGS-B
method in optim
function from stats
package.