/// <summary> /// Set the parameter and display the set parameter. /// </summary> /// <param name="param">parameter object.</param> public void SetParameter(ParameterEstimationParameter param) { parameterEstimationSimulationTimeTextBox.Text = Convert.ToString(param.SimulationTime); parameterEstimationPopulationTextBox.Text = Convert.ToString(param.Population); parameterEstimationGenerationTextBox.Text = Convert.ToString(param.Generation); estimationFormulatorTextBox.Text = param.EstimationFormulator; m_param = param; m_simParam = param.Param; PEMTextBox.Text = Convert.ToString(m_simParam.M); PEUpsilonTextBox.Text = Convert.ToString(m_simParam.Upsilon); PEM0TextBox.Text = Convert.ToString(m_simParam.Initial); PEKTextBox.Text = Convert.ToString(m_simParam.K); PEMaxRateTextBox.Text = Convert.ToString(m_simParam.Max); }
/// <summary> /// Constructor. /// </summary> public ParameterEstimation(Analysis owner) { m_owner = owner; m_param = new ParameterEstimationParameter(); m_estimation = new Dictionary<int, double>(); m_execParamDic = new Dictionary<int, Dictionary<int, ExecuteParameter>>(); }
/// <summary> /// Initializes the plugin. /// </summary> public override void Initialize() { m_env.JobManager.AnalysisDic[ParameterEstimation.s_analysisName] = new ParameterEstimation(this); m_env.JobManager.AnalysisDic[BifurcationAnalysis.s_analysisName] = new BifurcationAnalysis(this); m_env.JobManager.AnalysisDic[SensitivityAnalysis.s_analysisName] = new SensitivityAnalysis(this); m_env.JobManager.AnalysisDic[RobustAnalysis.s_analysisName] = new RobustAnalysis(this); m_bifurcateParameter = new BifurcationAnalysisParameter(); m_estimationParameter = new ParameterEstimationParameter(); m_sensitivityParameter = new SensitivityAnalysisParameter(); m_robustParameter = new RobustAnalysisParameter(); m_rWin = new AnalysisResultWindow(this); m_bifurcationDialog = new BifurcationSettingDialog(this); m_bifurcationDialog.SetParameter(m_bifurcateParameter); m_bifurcationDialog.ContentType = DockContentType.ANALYSIS; m_robustDialog = new RobustAnalysisSettingDialog(this); m_robustDialog.SetParameter(m_robustParameter); m_robustDialog.ContentType = DockContentType.ANALYSIS; m_sensitivityDialog = new SensitivityAnalysisSettingDialog(this); m_sensitivityDialog.SetParameter(m_sensitivityParameter); m_sensitivityDialog.ContentType = DockContentType.ANALYSIS; m_estimationDialog = new ParameterEstimationSettingDialog(this); m_estimationDialog.SetParameter(m_estimationParameter); m_estimationDialog.ContentType = DockContentType.ANALYSIS; }
/// <summary> /// Set the parameter of parameter estimation. /// </summary> /// <param name="p">the parameter of parameter estimation.</param> public void SetParameterEstimationParameter(ParameterEstimationParameter p) { m_estimationParameter = p; }
/// <summary> /// This program execute the program of parameter estimation. /// </summary> public void ExecuteParameterEstimation() { if (m_env.PluginManager.Status == ProjectStatus.Uninitialized) return; m_estimationParameter = m_estimationDialog.GetParameter(); ShowGridStatusDialog(); string modelName = m_env.DataManager.CurrentProject.Model.ModelID; List<EcellObject> sysObj = new List<EcellObject>(); foreach (EcellObject e in m_env.DataManager.CurrentProject.SystemDic[modelName]) { sysObj.Add(e.Clone()); } List<EcellObject> stepperObj = new List<EcellObject>(); foreach (EcellObject e in m_env.DataManager.CurrentProject.StepperDic[modelName]) { stepperObj.Add(e.Clone()); } JobGroup g = m_env.JobManager.CreateJobGroup(ParameterEstimation.s_analysisName, sysObj, stepperObj); ParameterEstimation parameterEstimation = new ParameterEstimation(this); parameterEstimation.Group = g; parameterEstimation.AnalysisParameter = m_estimationParameter; parameterEstimation.ExecuteAnalysis(); }