Add a constraint equation built from GEKKO Parameters, Variables and Intermediates,
and python scalars. Valid operators include python math and comparisons
(+,-,*,/,**,==,<,>). Available functions are listed below in Equation Functions.

Ordinary differential equations are specified by differentiation a variable with the dt() method. For example, velocity v is the derivative of position x:

m.Equation(v==x.dt())

Discretization is determined by the model time attribute. For example, m.time = [0,1,2,3] will discretize all equations and variable at the 4 points specified. Only ordinary differential equations discretized by time are available internally. Other discretization must be performed manually.

If remote is True, the problem is sent to self.server to be solved. If False, GEKKO looks for local binaries of APMonitor.

If disp is True, APM and solve output are printed.

If debug is True, variable names are checked for problems, tuning parameters are checked for common errors, and user-defined input options are compared against options used by APM. This is useful in debugging strange results.

var1 must be a GEKKO variable, but var2 can be a static value. If pos1 or
pos2 is not None, the associated var must be a GEKKO variable and the position
is the (0-indexed) time-discretized index of the variable.

Connections are processed after the parameters and variables are parsed, but before
the initialization of the values. Connections are the merging of two variables
or connecting specific nodes of a discretized variable.
Once the variable is connected to another, the variable is only listed as an alias.
Any other references to the connected value are referred to the principal variable (var1).
The alias variable (var2) can be referenced in other parts of the model,
but will not appear in the solution files.

For State Space models, input SS matricies A,B,C, and optionally D. Returns a GEKKO array of states (SV) x, array of outputs (CV) y and array of inputs (MV) u. A,B,C and D must be 2-dimensional matricies of the appropriate size.

The discrete Boolean parameter indicates a discrete-time model, which requires constant time steps and 2 NODES.
The dense Boolean parameter indicates if A,B,C,D should be written as dense or sparse matrices. Sparse matricies will be faster unless it is known that the matricies are very dense.

Write the .apm model file for the executable to read. The .apm file contains all constants, parameters, variables, intermediates, equations and objectives.
Single values and/or initializations, along with variable bounds, are passed throught the .apm model file.

The name of the model as a string. Used in local temporary file name and application name for remote solves. This is set by the optional argument name when intializing a model. Default names include the model id attribute to maintain unique names.