예제 #1
0
 public Label(Node node, Label previousLabel, Edge previousEdge, CriteriaArray labelWeight)
 {
     Node          = node;
     PreviousLabel = previousLabel;
     PreviousEdge  = previousEdge;
     LabelWeight   = labelWeight;
 }
예제 #2
0
 public Edge(int edgeId, CriteriaArray weight, Node startNode, Node endNode)
 {
     EdgeId    = edgeId;
     Weight    = weight;
     StartNode = startNode;
     EndNode   = endNode;
 }
예제 #3
0
        public int DominanceTest(CriteriaArray firstArray, CriteriaArray secondArray)
        {
            var comparisonCounter     = 0;
            var secondArrayEnumerator = secondArray.CriteriaValues.GetEnumerator();

            foreach (var criteria in firstArray.CriteriaValues)
            {
                secondArrayEnumerator.MoveNext();
                comparisonCounter += criteria.CompareTo(secondArrayEnumerator.Current);
            }

            return(_arraySize == -comparisonCounter ? -1 : _arraySize == comparisonCounter ? 1 : 0);
        }