Esempio n. 1
0
 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);
 }