SetBuilderDefinitionDependsOn(Set) Method

Adds a dependent set to the set definition.

Consider the following example.

C#
int numNodes = 4;
List<(int, int)> edges = new()
{
    (0, 1),
    (0, 2),
    (1, 2),
    (1, 3),
    (2, 3),
};
IEnumerable<int> getHeads(int i)
    => edges.Where(e => e.Item1 == i).Select(x => x.Item2);

Set i = Set("i").Represents("nodes").HasElementsUntil(numNodes);
Set j = Set("j").Represents("nodes having an arc from node i").DependsOn(i).HasElements(getHeads);

Here, set i has indices { 0, 1, 2, 3 }.

Set j, on the other hand, depends on set i. In other words, it will generate different elements for different values of i:

  • when i takes value 0; j has elements { 1, 2 },
  • when i takes value 1; j has elements { 2, 3 },
  • when i takes value 2; j has elements { 3 }, and
  • when i takes value 3; j is empty set.

Definition

Namespace: Orx.MathProg
Assembly: Orx.MathProg (in Orx.MathProg.dll) Version: 1.0.0
C#
public SetBuilderDepends<Dimension1> DependsOn(
	Set i
)

Parameters

i  Set
A set that the set being built depends on.

Return Value

SetBuilderDependsDimension1

See Also