private Fraction GetCoefficientForCutoff(string variable, SimplexTable table, string creativeVar, ICollection<string> wholeConstraints) { var varIndex = table.IndexOf(variable); var creativeRow = table.GetRow(creativeVar); var varCoefFractionalPart = GetFractionalPart(creativeRow.Key[varIndex]); var freeCoefFractionalPart = GetFractionalPart(creativeRow.Value); if (wholeConstraints.Contains(variable)) return (varCoefFractionalPart <= freeCoefFractionalPart) ? varCoefFractionalPart : freeCoefFractionalPart / (1 - freeCoefFractionalPart) * (1 - varCoefFractionalPart); return (creativeRow.Key[varIndex] >= 0) ? creativeRow.Key[varIndex] : freeCoefFractionalPart / (1 - freeCoefFractionalPart) * (-1 * varCoefFractionalPart); }