private double PriorityFromCost(double c) { TspSelectionRule selectionRule = SelectionRule; if (selectionRule == TspSelectionRule.Farthest) { return(0.0 - c); } return(c); }
public InsertionTsp(IEnumerable <TNode> nodes, Func <TNode, TNode, double> cost, TspSelectionRule selectionRule = TspSelectionRule.Farthest) { Nodes = nodes; Cost = cost; SelectionRule = selectionRule; tour = new LinkedList <TNode>(); tourNodes = new Dictionary <TNode, LinkedListNode <TNode> >(); insertableNodes = new HashSet <TNode>(); insertableNodeQueue = new PriorityQueue <TNode, double>(); Clear(); }