// Этап скрещивания.
        private void Crossing()
        {
            List <int> crossed = new List <int>();

            for (int i = 0; i < _population.Count; i++)
            {
                if (_rndWorker.NextDouble() <= _pc)
                {
                    int   ind1 = _rndWorker.NextInt(_population.Count);
                    int   ind2 = _rndWorker.NextInt(_population.Count);
                    int   x = _population[ind1], y = _population[ind2];
                    int[] path = _graphContext.GetPath(x, y);
                    crossed.Add(path[path.Length / 2]);
                }
            }
            _population.AddRange(crossed);
        }