public override void GlobalContext()
        {
            base.GlobalContext();
            _optimizedParameterValue1 = new OptimizedParameterValue("P1", 10, 11, 5, 100, Scalings.Log);
            _optimizedParameterValue2 = new OptimizedParameterValue("P2", 20, 211, 5, 100, Scalings.Linear);

            _parameterIdentificationRunResult = new ParameterIdentificationRunResult();

            _residualResults = new ResidualsResult();
            _bestRunResult   = new OptimizationRunResult {
                ResidualsResult = _residualResults
            };
            _parameterIdentificationRunResult.BestResult = _bestRunResult;
            _parameterIdentificationRunResult.Duration   = new TimeSpan(1, 2, 3, 4);
            _observedData1 = DomainHelperForSpecs.ObservedData("OBS1");
            _observedData2 = DomainHelperForSpecs.ObservedData("OBS2");
            _residualResults.AddOutputResiduals("OutputPath1", _observedData1, new[] { new Residual(1f, 2f, 1), new Residual(2f, 3f, 2) });
            _residualResults.AddOutputResiduals("OutputPath2", _observedData2, new[] { new Residual(3f, 4f, 4) });
            _bestRunResult.AddValue(_optimizedParameterValue1);
            _bestRunResult.AddValue(_optimizedParameterValue2);

            _bestRunResult.AddResult(DomainHelperForSpecs.IndividualSimulationDataRepositoryFor("S1"));
            _bestRunResult.AddResult(DomainHelperForSpecs.IndividualSimulationDataRepositoryFor("S2"));

            var workspace = IoC.Resolve <ICoreWorkspace>();
            var project   = IoC.Resolve <PKSimProject>();

            workspace.Project = project;
            project.AddObservedData(_observedData1);
            project.AddObservedData(_observedData2);



            _deserializedParameterIdentificationRunResult = SerializeAndDeserialize(_parameterIdentificationRunResult);
        }
Esempio n. 2
0
        private OptimizedParameterDTO mapFrom(OptimizedParameterValue optimizedParameterValue, ParameterIdentification parameterIdentification)
        {
            var identificationParameter = parameterIdentification.IdentificationParameterByName(optimizedParameterValue.Name);

            if (identificationParameter == null)
            {
                return(null);
            }

            return(mapFrom(identificationParameter, optimizedParameterValue.Value, optimizedParameterValue.StartValue));
        }
Esempio n. 3
0
        protected override void Context()
        {
            base.Context();

            A.CallTo(_algorithm).WithReturnType <OptimizationRunProperties>()
            .Invokes(x => { _objectiveFunction = x.GetArgument <Func <IReadOnlyList <OptimizedParameterValue>, OptimizationRunResult> >(1); })
            .Returns(A.Fake <OptimizationRunProperties>());

            _optimizedParameterValue = new OptimizedParameterValue("A", 100.0, 50d, 0, 200, Scalings.Linear);

            sut.Run(_cancellationToken);
        }
        protected override void Context()
        {
            base.Context();
            _optimizedParameterValue = new OptimizedParameterValue("PARAM", 10, 20, 0, 0, Scalings.Linear);

            _parameterIdentification         = new ParameterIdentification();
            _identificationParameter         = DomainHelperForSpecs.IdentificationParameter("PARAM", 0.1, 100, 20);
            _identificationParameter.Scaling = Scalings.Log;


            _parameterIdentification.AddIdentificationParameter(_identificationParameter);
            var runResult = new ParameterIdentificationRunResult();

            runResult.BestResult.AddValue(_optimizedParameterValue);
            _parameterIdentification.AddResult(runResult);
        }
Esempio n. 5
0
        protected IReadOnlyList <OptimizedParameterValue> ParameterValuesFrom(double[] vector)
        {
            var values = new OptimizedParameterValue[_constraints.Count];

            for (int i = 0; i < values.Length; i++)
            {
                var value = vector[i];
                if (_constraints[i].Scaling == Scalings.Log)
                {
                    value = Math.Pow(10, value);
                }

                values[i] = new OptimizedParameterValue(_constraints[i].Name, value, _constraints[i].StartValue);
            }
            return(values);
        }
Esempio n. 6
0
        protected override void Context()
        {
            _rangeImageCreator = A.Fake <IOptimizedParameterRangeImageCreator>();
            sut = new ParameterIdentificationRunResultToRunResultDTOMapper(_rangeImageCreator);

            _parameterIdentification = new ParameterIdentification();
            _runResult             = A.Fake <ParameterIdentificationRunResult>().WithDescription("Desc");
            _runResult.Index       = 5;
            _optimizationRunResult = new OptimizationRunResult();
            _runResult.BestResult  = _optimizationRunResult;
            A.CallTo(() => _runResult.NumberOfEvaluations).Returns(10);
            A.CallTo(() => _runResult.TotalError).Returns(5);

            _identificationParameter1 = new IdentificationParameter().WithName("P1");
            _identificationParameter1.Add(parameterNamed(1, Constants.Parameters.MIN_VALUE));
            _identificationParameter1.Add(parameterNamed(2, Constants.Parameters.START_VALUE));
            _identificationParameter1.Add(parameterNamed(3, Constants.Parameters.MAX_VALUE));

            _identificationParameter2 = new IdentificationParameter().WithName("P2");
            _identificationParameter2.Add(parameterNamed(4, Constants.Parameters.MIN_VALUE));
            _identificationParameter2.Add(parameterNamed(5, Constants.Parameters.START_VALUE));
            _identificationParameter2.Add(parameterNamed(6, Constants.Parameters.MAX_VALUE));

            _identificationParameter3 = new IdentificationParameter().WithName("P3");
            _identificationParameter3.Add(parameterNamed(7, Constants.Parameters.MIN_VALUE));
            _identificationParameter3.Add(parameterNamed(8, Constants.Parameters.START_VALUE));
            _identificationParameter3.Add(parameterNamed(9, Constants.Parameters.MAX_VALUE));
            _identificationParameter3.IsFixed = true;

            _parameterIdentification.AddIdentificationParameter(_identificationParameter1);
            _parameterIdentification.AddIdentificationParameter(_identificationParameter2);
            _parameterIdentification.AddIdentificationParameter(_identificationParameter3);

            _optimizedParameterValue1 = new OptimizedParameterValue("P1", 2.5, 2.1);
            _optimizationRunResult.AddValue(_optimizedParameterValue1);
            _optimizedParameterValue2 = new OptimizedParameterValue("P2", 5.5, 5.2);
            _optimizationRunResult.AddValue(_optimizedParameterValue2);
            //does not exist in PI anymore
            _optimizationRunResult.AddValue(new OptimizedParameterValue("P DOES NOT EXIST", 50, 60));

            A.CallTo(_rangeImageCreator).WithReturnType <Image>().Returns(ApplicationIcons.OK);
        }
Esempio n. 7
0
        private ParameterConfidenceIntervalDTO confidenceIntervalDTOFrom(ICache <string, double> confidenceInterval, IdentificationParameter identificationParameter, OptimizedParameterValue optimizedParameter)
        {
            var value              = optimizedParameter.Value;
            var displayUnit        = identificationParameter.DisplayUnit;
            var valueInDisplayUnit = identificationParameter.Dimension.BaseUnitValueToUnitValue(displayUnit, value);
            var confidenceIntervalInDisplayUnit = identificationParameter.Dimension.BaseUnitValueToUnitValue(displayUnit, confidenceInterval[identificationParameter.Name]);

            return(new ParameterConfidenceIntervalDTO
            {
                Name = identificationParameter.Name,
                Value = valueInDisplayUnit,
                ConfidenceInterval = confidenceIntervalInDisplayUnit,
                Unit = displayUnit
            });
        }
 private OptimizedParameterDTO mapFrom(IdentificationParameter identificationParameter, OptimizedParameterValue optimizedParameter)
 {
     return(mapFrom(identificationParameter,
                    optimizedParameter.StartValue,
                    optimizedParameter.Value,
                    optimizedParameter.Min,
                    optimizedParameter.Max,
                    optimizedParameter.Scaling));
 }