add_variable#

add_variable(model, var_type, *, lb=None, ub=None, name=None)#

Create and add a single variable to the DOcplex model.

This function is a simple wrapper around DOcplex’s xyz_var methods and provided for a consistent API experience.

Parameters:
modeldocplex.mp.model.Model

DOcplex model.

var_typestr

Variable type, in one of the following forms:

  • 'continuous' or 'C'

  • 'binary' or 'B'

  • 'integer' or 'I'

  • 'semicontinuous' or 'SC'

  • 'semiinteger' or 'SI'

lbint or float

Lower bound. Default None corresponds to:

  • Continuous: 0

  • Binary: 0

  • Integer: 0

  • Semicontinuous: not applicable… will raise ValueError

  • Semiinteger: not applicable… will raise ValueError

ubint or float, optional

Upper bound. Default None corresponds to:

  • Continuous: infinity (1e+20)

  • Binary: 1

  • Integer: infinity (1e+20)

  • Semicontinuous: infinity (1e+20)

  • Semiinteger: infinity (1e+20)

namestr, optional

Variable name, by default None.

Returns:
docplex.mp.dvar.Var
Raises:
ValueError

If the variable type is invalid.

ValueError

If no lower bound is specified for Semicontinuous or Semiinteger variable type.

See also

add_variables

For multiple variables (corresponding to an index-set).

Examples

Create DOcplex model:

>>> from docplex.mp.model import Model
>>> mdl = Model()

Add variables:

>>> x = add_variable(mdl, 'C', name='x')
>>> x
docplex.mp.Var(type=C,name='x')
>>> y = add_variable(mdl, 'semicontinuous', lb=2, ub=5, name='y')
>>> y
docplex.mp.Var(type=S,name='y',lb=2,ub=5)