public void Dict1_ShouldPivot_3_WithObjective_7_0()
        {
            var linearProgram = _reader.Read(DictionaryFiles + @"dict1");
            var solution      = _solver.Solve(linearProgram);

            solution.PivotCount.ShouldEqual(3);
            solution.ObjectiveValue.ShouldEqual(7.0, Tolerance);
        }
Esempio n. 2
0
        public void Dict1_ShouldEnterWith_4_ShouldLeaveWith_3_WithObjective_7_0()
        {
            var linearProgram = _reader.Read(DictionaryFiles + @"dict1");

            _analyze.Analyze(linearProgram);

            _analyze.Entering.ShouldEqual(4);
            _analyze.Leaving.ShouldEqual(3);

            _pivotor.Pivot(_analyze.Entering, _analyze.Leaving, linearProgram);
            linearProgram.ObjectiveValue.ShouldEqual(7.0, Tolerance);
        }
Esempio n. 3
0
        public void ShouldSolve_10_Dict00()
        {
            var primal   = _reader.Read(DictionaryFiles10 + "test0.dict");
            var solution = _solver.Solve(primal);

            solution.ObjectiveValue.ShouldEqual(32.612030, Tolerance);
        }
Esempio n. 4
0
        public void ShouldMap_Vl01()
        {
            var primal = _reader.Read(DictionaryFiles + "vl1.dict");
            var dual   = _mapPrimalToDual.Map(primal);

            //verify m,n
            dual.M.ShouldEqual(primal.N);
            dual.N.ShouldEqual(primal.M);

            //verify indices
            dual.BasicIndices.Length.ShouldEqual(primal.NonBasicIndices.Length);
            dual.BasicIndices[1].ShouldEqual(1);
            dual.BasicIndices[2].ShouldEqual(2);

            dual.NonBasicIndices.Length.ShouldEqual(primal.BasicIndices.Length);
            dual.NonBasicIndices[1].ShouldEqual(3);
            dual.NonBasicIndices[2].ShouldEqual(4);
            dual.NonBasicIndices[3].ShouldEqual(5);
            dual.NonBasicIndices[4].ShouldEqual(6);

            VerifyDual(primal, dual);
        }