Я дико извиняюсь все это оказывается работало, просто я был тупой и не заметил .... что в параметры
Лишние уроки входили и окна тоже, из за чего мой ГА приходил максимально возможному решению. Так же я использовал "функцию активации", знаю неверный термин но все же
private const int _eps = 1000;
private static double Activation(double value)
{
return Math.Floor(value*_eps)/_eps;
}