Summation Class

Summation of a linear mathematical expression over a set of indices.

Some examples are as follows:

C#
sum(over(i),       y[i])
sum(over(j),       x[i, j])
sum(over(i, j),    cost[i, j] * x[i, j])
sum(over(i, j, c), cost[i, j] * x[i, j, c] + fixed[c] * y[i, j, c])
Summation indices are checked in constructor, and proper errors are provided. The following summation, for instance, leads to an exception due to set k in sum-over expression being unused in the summation expression.
C#
sum(over(i, k), y[i])

Definition

Namespace: Orx.MathProg
Assembly: Orx.MathProg (in Orx.MathProg.dll) Version: 1.0.0
C#
public class Summation
Inheritance
Object    Summation

Properties

Key Text representation of the summation.

Methods

Equals Compares this to obj wrt reference equality.
(Overrides ObjectEquals(Object))
Finalize
(Inherited from Object)
GetHashCode Returns the hash code.
(Overrides ObjectGetHashCode)
GetType
(Inherited from Object)
MemberwiseClone
(Inherited from Object)
ToString
(Inherited from Object)

Operators

Addition(Sca, Summation) Adds a summation and a scalar; and returns the resulting linear expression.
Addition(Summation, Sca) Adds a summation and a scalar; and returns the resulting linear expression.
Addition(Summation, Summation) Adds two summations; and returns the resulting linear expression.
Addition(Summation, Term) Adds a summation and a term; and returns the resulting linear expression.
Addition(Summation, Var) Adds a summation and a variable; and returns the resulting linear expression.
Addition(Summation, VarD0) Adds a summation and a scalar; and returns the resulting linear expression.
Addition(Term, Summation) Adds a summation and a term; and returns the resulting linear expression.
Addition(Var, Summation) Adds a summation and a variable; and returns the resulting linear expression.
Addition(VarD0, Summation) Adds a summation and a scalar; and returns the resulting linear expression.
Division(Summation, Sca) Divides the summation by the scalar and returns the resulting summation.
Equality(Sca, Summation) Creates a constraint expression where lhs = rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             demand[i] == sum(over(j), x[i, j]);
Constraint     con  = forall(i) | demand[i] == sum(over(j), x[i, j]);
Equality(Summation, Sca) Creates a constraint expression where lhs = rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) == demand[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) == demand[i];
Equality(Summation, Summation) Creates a constraint expression where lhs = rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) == sum(over(j), x[j, i]);
Constraint     con  = forall(i) | sum(over(j), x[i, j]) == sum(over(j), x[j, i]);
Equality(Summation, Term) Creates a constraint expression where lhs = rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) == demand[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) == demand[i];
Equality(Summation, Var) Creates a constraint expression where lhs = rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) == demand[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) == demand[i];
Equality(Summation, VarD0) Creates a constraint expression where lhs = rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) == demand[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) == demand[i];
Equality(Term, Summation) Creates a constraint expression where lhs = rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             demand[i] == sum(over(j), x[i, j]);
Constraint     con  = forall(i) | demand[i] == sum(over(j), x[i, j]);
Equality(Var, Summation) Creates a constraint expression where lhs = rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             demand[i] == sum(over(j), x[i, j]);
Constraint     con  = forall(i) | demand[i] == sum(over(j), x[i, j]);
Equality(VarD0, Summation) Creates a constraint expression where lhs = rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             demand[i] == sum(over(j), x[i, j]);
Constraint     con  = forall(i) | demand[i] == sum(over(j), x[i, j]);
GreaterThanOrEqual(Sca, Summation) Creates a constraint expression where lhs >= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             capacity[i] >= sum(over(j), x[i, j]);
Constraint     con  = forall(i) | capacity[i] >= sum(over(j), x[i, j]);
GreaterThanOrEqual(Summation, Sca) Creates a constraint expression where lhs >= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) >= demand[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) >= demand[i];
GreaterThanOrEqual(Summation, Summation) Creates a constraint expression where lhs >= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) >= sum(over(j), x[j, i]);
Constraint     con  = forall(i) | sum(over(j), x[i, j]) >= sum(over(j), x[j, i]);
GreaterThanOrEqual(Summation, Term) Creates a constraint expression where lhs >= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) >= demand[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) >= demand[i];
GreaterThanOrEqual(Summation, Var) Creates a constraint expression where lhs >= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) >= demand[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) >= demand[i];
GreaterThanOrEqual(Summation, VarD0) Creates a constraint expression where lhs >= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) >= demand[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) >= demand[i];
GreaterThanOrEqual(Term, Summation) Creates a constraint expression where lhs >= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             capacity[i] >= sum(over(j), x[i, j]);
Constraint     con  = forall(i) | capacity[i] >= sum(over(j), x[i, j]);
GreaterThanOrEqual(Var, Summation) Creates a constraint expression where lhs >= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             capacity[i] >= sum(over(j), x[i, j]);
Constraint     con  = forall(i) | capacity[i] >= sum(over(j), x[i, j]);
GreaterThanOrEqual(VarD0, Summation) Creates a constraint expression where lhs >= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             capacity[i] >= sum(over(j), x[i, j]);
Constraint     con  = forall(i) | capacity[i] >= sum(over(j), x[i, j]);
Inequality(Sca, Summation) Invalid operation; throws an exception.
Inequality(Summation, Sca) Invalid operation; throws an exception.
Inequality(Summation, Summation) Invalid operation; throws an exception.
Inequality(Summation, Term) Invalid operation; throws an exception.
Inequality(Summation, Var) Invalid operation; throws an exception.
Inequality(Summation, VarD0) Invalid operation; throws an exception.
Inequality(Term, Summation) Invalid operation; throws an exception.
Inequality(Var, Summation) Invalid operation; throws an exception.
Inequality(VarD0, Summation) Invalid operation; throws an exception.
LessThanOrEqual(Sca, Summation) Creates a constraint expression where lhs <= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             demand[i] <= sum(over(j), x[i, j]);
Constraint     con  = forall(i) | demand[i] <= sum(over(j), x[i, j]);
LessThanOrEqual(Summation, Sca) Creates a constraint expression where lhs <= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) <= capacity[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) <= capacity[i];
LessThanOrEqual(Summation, Summation) Creates a constraint expression where lhs <= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) <= sum(over(j), x[j, i]);
Constraint     con  = forall(i) | sum(over(j), x[i, j]) <= sum(over(j), x[j, i]);
LessThanOrEqual(Summation, Term) Creates a constraint expression where lhs <= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) <= capacity[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) <= capacity[i];
LessThanOrEqual(Summation, Var) Creates a constraint expression where lhs <= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) <= capacity[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) <= capacity[i];
LessThanOrEqual(Summation, VarD0) Creates a constraint expression where lhs <= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             sum(over(j), x[i, j]) <= capacity[i];
Constraint     con  = forall(i) | sum(over(j), x[i, j]) <= capacity[i];
LessThanOrEqual(Term, Summation) Creates a constraint expression where lhs <= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             demand[i] <= sum(over(j), x[i, j]);
Constraint     con  = forall(i) | demand[i] <= sum(over(j), x[i, j]);
LessThanOrEqual(Var, Summation) Creates a constraint expression where lhs <= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             demand[i] <= sum(over(j), x[i, j]);
Constraint     con  = forall(i) | demand[i] <= sum(over(j), x[i, j]);
LessThanOrEqual(VarD0, Summation) Creates a constraint expression where lhs <= rhs.

Note that a constraint is composed of a constraint expression and forall sets expression.

C#
ConstraintExpr expr =             demand[i] <= sum(over(j), x[i, j]);
Constraint     con  = forall(i) | demand[i] <= sum(over(j), x[i, j]);
Multiply(Sca, Summation) Multiplies the summation with the scalar and returns the resulting summation.
Multiply(Summation, Sca) Multiplies the summation with the scalar and returns the resulting summation.
Subtraction(Sca, Summation) Substracts a summation from a scalar; and returns the resulting linear expression.
Subtraction(Summation, Sca) Substracts a scalar from a summation; and returns the resulting linear expression.
Subtraction(Summation, Summation) Substracts one summation from another; and returns the resulting linear expression.
Subtraction(Summation, Term) Substracts a term from a summation; and returns the resulting linear expression.
Subtraction(Summation, Var) Substracts a variable from a summation; and returns the resulting linear expression.
Subtraction(Summation, VarD0) Substracts a scalar from a summation; and returns the resulting linear expression.
Subtraction(Term, Summation) Substracts a summation from a term; and returns the resulting linear expression.
Subtraction(Var, Summation) Substracts a summation from a variable; and returns the resulting linear expression.
Subtraction(VarD0, Summation) Substracts a summation from a scalar; and returns the resulting linear expression.
UnaryNegation(Summation) Negates the summation.

See Also