Beispiel #1
0
 public void Init()
 {
     _reader          = new LinearProgramDictionaryReader();
     _mapPrimalToDual = new HackyMapPrimalToDual();
     _mapDualToPrimal = new HackyMapDualToPrimal();
     _restore         = new SimpleRestoreObjective();
 }
Beispiel #2
0
        public void VideoLecture01()
        {
            var lp = new LinearProgram
            {
                M               = 4,
                N               = 2,
                BasicIndices    = new[] { 0, 1, 4, 2, 6 },
                NonBasicIndices = new[] { 0, 3, 5 },
                Coefficients    = new[]
                {
                    new[] { 0.0, 0.0, 0.0 },
                    new[] { 2.0, 2.0 / 3.0, 1.0 / 3.0 },
                    new[] { 2.0, -1.0 / 3.0, -2.0 / 3.0 },
                    new[] { 2.0, 1.0 / 3.0, 2.0 / 3.0 },
                    new[] { 2.0, -2.0 / 3.0, -1.0 / 3.0 }
                },
                ObjectiveCoefficients = new[] { 9.0, 9.0, 9.0 }
            };

            var restorer = new SimpleRestoreObjective();

            restorer.Restore(lp, new[] { 0.0, 1.0, 2.0 }, new[] { 0, 1, 2 });

            lp.ObjectiveCoefficients.ShouldEqual(new[] { 6.0, 4.0 / 3.0, 5.0 / 3.0 }, .000001);
        }
Beispiel #3
0
        public void Init()
        {
            _reader = new LinearProgramDictionaryReader();

            var analyze      = new SimpleAnalyzeEnteringLeavingVariables();
            var pivotor      = new HackyPivot2();
            var primalToDual = new HackyMapPrimalToDual();
            var dualToPrimal = new HackyMapDualToPrimal();
            var restore      = new SimpleRestoreObjective();

            _solver = new LinearProgramSolverWeek3(analyze, pivotor, primalToDual, dualToPrimal, restore);
        }