private void DeterminePath() { double ball = AlgorithmDetails.GetBallValue(); var vertexes = _cityTransitionProbability.Where(x => x.Key < ball).Select(v => v.Value).FirstOrDefault(); _currentCity = vertexes.GetNextVertex(_currentCity); }
public Ant(AlgorithmDetails detail, AntKind kind) { _detail = detail; _alpha = kind == AntKind.Elite ? 0 : _detail.Alpha; _tabuList = new List <City>(); _currentCity = _detail.StartCity; _isTransitionDenominatorDetermined = true; // _cityTransitionProbability = new Dictionary<double, Vertexes>(); }
private void P(Vertexes cities, List <Vertexes> tabuList) { _cityTransitionProbability.Add(PreviousResult() + AlgorithmDetails.TransitionPossibility(cities, tabuList), cities); }