For details on constructing relaxations of functions, please see the
Currently supported operators
The operators currently supported are listed below. The operators with a check box have been subject to a large degree of scrutiny and are near optimal implementations.
Univariate McCormick Operators
Arbitrarily differentiable relaxations can be constructed for the following operators:
[x] Inverse (inv)
[x] Logarithms (log, log2, log10)
[x] Exponential Functions (exp, exp2, exp10)
[x] Square Root (sqrt)
[x] Absolute Value (abs)
Both nonsmooth and Whitney-1 (once differentiable) relaxations are supported:
[x] Step Functions (step, sign)
[x] Trignometric Functions (sin, cos, tan)
[x] Inverse Trignometric Functions (asin, acos, atan)
[x] Hyperbolic Functions (sinh, cosh, tanh)
[x] Inverse Hyperbolic Functions (asinh, acosh, atanh)
Bivariate Operators: McCormick & McCormick
The following bivariant operators are supported for two SMCg objects. Both nonsmooth and Whitney-1 (once differentiable) relaxations are supported.
[x] multiplication (*)
[x] division (/)
Arbitrarily differentiable relaxations can be constructed for the following operators:
[x] addition (+)
[x] subtraction (-)
[x] minimization (min)
[x] maximization (max)
Bivariate Operators: McCormick & (Integer or Float)
Arbitrarily differentiable relaxations can be constructed for the following operators:
[x] addition (+)
[x] subtraction (-)
[x] multiplication (*)
[x] division (/)
[x] minimization (min)
[x] maximization (max)
[x] Exponentiation (pow, ^)