Class: ModelNode
The base class for all modeling objects.
Example
let model = new CP.Model();
let x = model.intervalVar({ length: 10, name: "x" });
let xStart = model.startOf(x);
let result = await CP.solve(model);
Interval variable x
and expression xStart
are both instances of ModelNode.
There are specialized descendant classes such as IntervalVar and IntExpr.
Any modeling object can be assigned a name, see setName and getName.
Hierarchy
ModelNode
Methods
getName
▸ getName(): undefined
| string
Returns the name assigned to the node.
Returns
undefined
| string
setName
▸ setName(name
): ModelNode
Assigns a name to the node.
Parameters
Name | Type | Description |
---|---|---|
name | string | Named to be assigned. |
Returns
The node itself so it can be used in chained expression.
Remarks
Assigning a name is optional. However is useful for debugging because variable names appear in the development traces. It is also useful for exporting the model to a file (see model2json).
Example
let model = new CP.Model();
let x = model.intervalVar({ length: 10 }).setName("x");
// The line above is equivalent to:
// let x = model.intervalVar({ length: 10, name:"x" });
let endOfX = model.endOf(x).setName("endOfX");
let result = await CP.solve(model);