Ejemplo n.º 1
0
 public StepTable(double[] mainCoefficient, int[] basisIndex, double[] freeMember, double[][] restrictionCoefficient)
 {
     //Заполняем таблицу входными данными
     MainCoefficient        = mainCoefficient;
     BasisIndex             = basisIndex;
     FreeMember             = freeMember;
     RestrictionCoefficient = restrictionCoefficient;
     //Вычисляем значение
     Value = FindValue();
     //Вычисляем оценки дельта
     Delta = CalculateDelta();
     //Заканчиваем вычисления, если все оценки дельта <= 0
     FinalTable = Delta.All(e => e <= 0);
     if (FinalTable)
     {
         return;
     }
     //Рассчитываем индексы главного элемента
     P     = Array.IndexOf(Delta, Delta.Max());
     Theta = CalculateTheta(P);
     Q     = Array.IndexOf(Theta, Theta.Where(e => e >= 0).Min());
 }
Ejemplo n.º 2
0
        protected override void CheckDeltaRelation()
        {
            base.CheckDeltaRelation();

            Ensure.That(Delta.All(p => (p.Value.Count <= 1))).IsTrue();
        }