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); }
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)); }
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); }
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); }
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); }
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)); }