public virtual void Publish(QpProgressReport report)
 {
     if (this.OnQpReportCompleted != null)
     {
         this.OnQpReportCompleted(this, new QpReportPublishedEventArgs(report));
     }
 }
示例#2
0
 public virtual void Publish(QpProgressReport report)
 {
     if (this.OnQpReportCompleted != null)
     {
         this.OnQpReportCompleted(this, new QpReportPublishedEventArgs(report));
     }
 }
示例#3
0
 public void PrintResults(QpProgressReport results, SpreadSheetExample example, Int64 elapsedMs, StringBuilder stringBuilder)
 {
     this.Display(new String('*', 50), stringBuilder);
     this.Display(example.Name, stringBuilder);
     this.Display(string.Format("Iterations: {0}", results.Iterations), stringBuilder);
     this.Display(string.Format("Elapsed time: {0}ms", elapsedMs), stringBuilder);
     this.Display("Solution: " + results.SolveStatus.ToString(), stringBuilder);
     this.Display(results.X, stringBuilder);
     this.Display(string.Empty, stringBuilder);
 }
示例#4
0
        private static void MuckAround()
        {
            var vectorB = new double[] { 0, -2, -6, -3, 0, 5, 1 };

            var arrayA = new double[, ]
            {
                { 1, -1, 0, 1, 0, 2, 1 },
                { 0, 0, -1, 1, 0, 3, 0 },
            };

            var b = Vector <double> .Build.DenseOfArray(vectorB);

            var a = Matrix <double> .Build.DenseOfArray(arrayA);

            var preSolver = new QpPreSolver(a, b);

            QpProgressReport report = preSolver.PreSolve();

            Console.WriteLine(report.X);
        }
示例#5
0
        public void AcSolver()
        {
            // Arrange
            IQpProgressReportBroadcaster publisher   = new QpProgressReportPublisher();
            IQpInitialPointStrategy      warmStarter = new QpWarmStarter();
            var listener = new ConsoleOutputService();

            listener.Subscribe(publisher);

            var solver = new PredictorCorrectorSolver(
                new QpPreSolver(problem.A, problem.b),
                new QpWarmStarter(),
                new QpProgressAnalyser(problem, true),
                new QpProgressReportPublisher());

            // Act
            QpProgressReport solution = solver.Solve(problem);

            // Assert
            var check = solution.X + problem.c;

            Assert.IsTrue(check.Norm(2) < (1e-8 * n));
        }
示例#6
0
 public QpReportPublishedEventArgs(QpProgressReport report)
 {
     this.report = report;
 }