public FullFactorialDOEStudy(string name, string description, WorkflowComponent workflow, List <Data> factors, List <decimal> startingValues, List <decimal> stepSizes, List <int> noOfLevels, List <Data> responses) : base(name, description, workflow, factors, responses) { base.StudiedComponent = workflow; this.startingValues = startingValues; this.stepSizes = stepSizes; this.noOfLevels = noOfLevels; ColumnNames.Add("ID"); ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(""); for (int i = 0; i < factors.Count; i++) { string columnHeader = factors[i].Name; ColumnNames.Add(columnHeader); if (factors[i] is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(((IntegerData)factors[i]).Unit); } else if (factors[i] is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)factors[i]).DecimalPlaces); ColumnUnits.Add(((DoubleData)factors[i]).Unit); } } for (int i = 0; i < responses.Count; i++) { string columnHeader = responses[i].Name; ColumnNames.Add(columnHeader); if (responses[i] is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(((IntegerData)responses[i]).Unit); } else if (responses[i] is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)responses[i]).DecimalPlaces); ColumnUnits.Add(((DoubleData)responses[i]).Unit); } } TableNames.Add(Name); Treatment = new FullFactorial("testFF", "", Project.ProjectPath + "\\DOE.sdf", workflow as Workflow, factors, startingValues, stepSizes, noOfLevels, responses); Treatment.CreateFolder(); }
private BindingListSource(EventTaskScheduler taskScheduler) { base.DataSource = BindingListView = new BindingListView(taskScheduler); BindingListView.UnhandledExceptionEvent += BindingListViewOnUnhandledException; BindingListView.AllRowsChanged += BindingListViewOnAllRowsChanged; ColumnFormats = new ColumnFormats(); }
private void ModifyForHumanReadableOutput(ColumnFormats columnFormats, string[] columnNames) { sizeModifier = 1; columnFormats.WithHumanReadableFormat(); formatProvider = new FileSizeFormatProvider(); columnNames[2] = "Size"; columnNames[4] = "Avail"; }
public void ApplyLayout(ViewLayout viewLayout) { BindingListView.TransformStack = new TransformStack(viewLayout.RowTransforms, 0); foreach (var format in viewLayout.ColumnFormats) { ColumnFormats.SetFormat(format.Item1, format.Item2); } // TODO: sort }
public override int GetHashCode() { unchecked { var hashCode = (Name != null ? Name.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (ColumnFormats != null ? ColumnFormats.GetHashCode() : 0); hashCode = (hashCode * 397) ^ (RowTransforms != null ? RowTransforms.GetHashCode() : 0); return(hashCode); } }
public string Render() { var columnNames = new [] { "Drive", "Type", "1K-blocks", "Used", "Available", "Use" }; var columnFormats = new ColumnFormats(); if (humanReadableWithSi && !customBlockSize) optionActions.Add(() => { ModifyForHumanReadableOutput(columnFormats, columnNames); sizeModifier = 1000; }); if (!humanReadableWithSi && humanReadable && !customBlockSize) optionActions.Add(() => ModifyForHumanReadableOutput(columnFormats, columnNames)); if (posixFormat && !humanReadable) optionActions.Add(() => { columnFormats.WithPosixFormat(); columnNames[2] = "1024-blocks"; columnNames[5] = "Capacity"; }); if (customBlockSize) optionActions.Add(() => { sizeModifier = blockSize; columnNames[2] = string.Format(new FileSizeFormatProvider(true), "{0:fs}-blocks", sizeModifier); }); if (printFileSystemType) optionActions.Add(columnFormats.WithFileSystemType); optionActions.Each(a => a.Invoke()); headerFormatDefinition = columnFormats.CreateHeader(); formatDefinition = columnFormats.CreateColumn(); var summary = new StringBuilder(); summary.AppendLine(string.Format(headerFormatDefinition, columnNames)); foreach (var drive in drives) { var row = string.Format( formatProvider, formatDefinition, drive.Letter, drive.Format, drive.Size / sizeModifier, drive.Used / sizeModifier, drive.Free / sizeModifier, PercentUsedOf(drive) ); summary.AppendLine(row); } return summary.ToString(); }
public RobustOptimisationStudy(string name, Treatment treatment, ExecutableComponent ec, OptimisationTemplate template, string parentName = "") : base(name, null, null, name, parentName) { Treatment = treatment; StudiedComponent = ec; var DesignVariables = template.DesignVariables.Select(v => new RobOptDesignVariable { Name = v.Name }).ToList(); var Objectives = template.Objectives.Select(o => new RobOptObjective { Name = o.Name, Type = o.Type }).ToList(); var Constraints = template.Constraints.Select(c => new RobOptConstraint { Name = c.Name, Type = c.Type, Value = c.Value }).ToList(); robOptTemplate = new RobOptTemplate() { DesignVariables = DesignVariables, Objectives = Objectives, Constraints = Constraints }; ColumnNames.Add("ID"); ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(""); for (int i = 0; i < robOptTemplate.DesignVariables.Count(); i++) { string columnHeader = robOptTemplate.DesignVariables[i].Name; ColumnNames.Add(columnHeader); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } for (int i = 0; i < robOptTemplate.Objectives.Count(); i++) { string columnHeader = robOptTemplate.Objectives[i].Name; // Loss Function ColumnNames.Add(columnHeader + "LF"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Mean ColumnNames.Add(columnHeader + "mean"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Variance ColumnNames.Add(columnHeader + "var"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } for (int i = 0; i < robOptTemplate.Constraints.Count(); i++) { string columnHeader = robOptTemplate.Constraints[i].Name; // Loss Function ColumnNames.Add(columnHeader + "LF"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Mean ColumnNames.Add(columnHeader + "mean"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Variance ColumnNames.Add(columnHeader + "var"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } TableNames.Add("RobOptimAllResults"); TableNames.Add("RobOptimGenResults"); Template = template; }
public DetOptStudy(string name, string description, string parentName = "") : base(name, null, null, description, parentName) { // Create SQL statements to create tables, sqlStatement1 for OptimAllResults and sqlStatement2 for OptimGenResults sqlStatement1 = "create table OptimAllResults ("; sqlStatement2 = "create table OptimGenResults ("; sqlStatement1 += "ID int, "; sqlStatement2 += "ID int, Category int, "; #region Atif // Prepare results database foreach (var designVariable in OptimisationTemplate.DesignVariables) { string columnHeader = designVariable.Name; ColumnNames.Add(columnHeader); sqlStatement1 += columnHeader + " "; sqlStatement2 += columnHeader + " "; if (designVariable.Data is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); sqlStatement1 += "int, "; sqlStatement2 += "int, "; } else if (designVariable.Data is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)(designVariable.Data)).DecimalPlaces); sqlStatement1 += "float, "; sqlStatement2 += "float, "; } ColumnUnits.Add(designVariable.Data.Unit); MinValues.Add(designVariable.LowerBound); MaxValues.Add(designVariable.UpperBound); } foreach (Objective objective in OptimisationTemplate.Objectives) { string columnHeader = objective.Name; ColumnNames.Add(columnHeader); sqlStatement1 += columnHeader + " "; sqlStatement2 += columnHeader + " "; if (objective.Data is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); sqlStatement1 += "int, "; sqlStatement2 += "int, "; } else if (objective.Data is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)(objective.Data)).DecimalPlaces); sqlStatement1 += "float, "; sqlStatement2 += "float, "; } ColumnUnits.Add(objective.Data.Unit); MinValues.Add(Double.NaN); MaxValues.Add(Double.NaN); } foreach (Aircadia.ObjectModel.Treatments.Optimisers.Formulation.Constraint constraint in OptimisationTemplate.Constraints) { string columnHeader = constraint.Name; ColumnNames.Add(columnHeader); sqlStatement1 += columnHeader + " "; sqlStatement2 += columnHeader + " "; if (constraint.Data is IntegerData) { ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); sqlStatement1 += "int, "; sqlStatement2 += "int, "; } else if (constraint.Data is DoubleData) { ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(((DoubleData)(constraint.Data)).DecimalPlaces); sqlStatement1 += "float, "; sqlStatement2 += "float, "; } ColumnUnits.Add(constraint.Data.Unit); MinValues.Add(Double.NaN); MaxValues.Add(Double.NaN); } TableNames.Add("OptimAllResults"); TableNames.Add("OptimGenResults"); if (OptimisationTemplate.DesignVariables.Count() + OptimisationTemplate.Objectives.Count() + OptimisationTemplate.Constraints.Count() > 0) { sqlStatement1 = sqlStatement1.Remove(sqlStatement1.Length - 2); sqlStatement2 = sqlStatement2.Remove(sqlStatement2.Length - 2); } sqlStatement1 += ")"; sqlStatement2 += ")"; #endregion Atif }
public string Render() { var columnNames = new [] { "Drive", "Type", "1K-blocks", "Used", "Available", "Use" }; var columnFormats = new ColumnFormats(); if (humanReadableWithSi && !customBlockSize) { optionActions.Add(() => { ModifyForHumanReadableOutput(columnFormats, columnNames); sizeModifier = 1000; }); } if (!humanReadableWithSi && humanReadable && !customBlockSize) { optionActions.Add(() => ModifyForHumanReadableOutput(columnFormats, columnNames)); } if (posixFormat && !humanReadable) { optionActions.Add(() => { columnFormats.WithPosixFormat(); columnNames[2] = "1024-blocks"; columnNames[5] = "Capacity"; }); } if (customBlockSize) { optionActions.Add(() => { sizeModifier = blockSize; columnNames[2] = string.Format(new FileSizeFormatProvider(true), "{0:fs}-blocks", sizeModifier); }); } if (printFileSystemType) { optionActions.Add(columnFormats.WithFileSystemType); } optionActions.Each(a => a.Invoke()); headerFormatDefinition = columnFormats.CreateHeader(); formatDefinition = columnFormats.CreateColumn(); var summary = new StringBuilder(); summary.AppendLine(string.Format(headerFormatDefinition, columnNames)); foreach (var drive in drives) { var row = string.Format( formatProvider, formatDefinition, drive.Letter, drive.Format, drive.Size / sizeModifier, drive.Used / sizeModifier, drive.Free / sizeModifier, PercentUsedOf(drive) ); summary.AppendLine(row); } return(summary.ToString()); }
//public DOEplusURQStudy(string name, string description, Model worflow, List<Data> factors, List<Data> responses) public DOEplusURQStudy(string name, string description, List <string> names, Treatment treatment, FullFactorial fullFactorialDOE, WorkflowComponent worflow) : base(name, description) { TreatmentURQ = treatment; this.names = names; //DOE factors Treatment = treatment; StudiedComponent = worflow; FullFactorialDOE = fullFactorialDOE; var DesignVariables = new List <RobOptDesignVariable>(); for (int i = 0; i < ((string[, ])(Treatment.input_options.setuplist[0])).GetLength(0); i++) { var designVariable = new RobOptDesignVariable { Name = ((string[, ])(Treatment.input_options.setuplist[0]))[i, 0] }; //designVariable.LowerBound = ; //designVariable.UpperBound = ; DesignVariables.Add(designVariable); } var Objectives = new List <RobOptObjective>(); for (int i = 0; i < ((string[, ])(Treatment.input_options.setuplist[1])).GetLength(0); i++) { var objective = new RobOptObjective { Name = ((string[, ])(Treatment.input_options.setuplist[1]))[i, 0] }; if (((string[, ])(Treatment.input_options.setuplist[1]))[i, 2] == "minimise") { objective.Type = ObjectiveType.Minimise; } else if (((string[, ])(Treatment.input_options.setuplist[1]))[i, 2] == "maximise") { objective.Type = ObjectiveType.Maximise; } Objectives.Add(objective); } var Constraints = new List <RobOptConstraint>(); for (int i = 0; i < ((string[, ])(Treatment.input_options.setuplist[2])).GetLength(0); i++) { var constraint = new RobOptConstraint { Name = ((string[, ])(Treatment.input_options.setuplist[2]))[i, 0] }; if (((string[, ])(Treatment.input_options.setuplist[2]))[i, 2] == "<=") { constraint.Type = ConstraintType.LessThanOrEqual; } else if (((string[, ])(Treatment.input_options.setuplist[2]))[i, 2] == ">=") { constraint.Type = ConstraintType.GreatorThanOrEqual; } constraint.Value = Convert.ToDouble(((string[, ])(Treatment.input_options.setuplist[2]))[i, 3]); Constraints.Add(constraint); } robOptTemplate = new RobOptTemplate() { DesignVariables = DesignVariables, Objectives = Objectives, Constraints = Constraints }; ColumnNames.Add("ID"); ColumnTypes.Add(DataTypes.INTEGER); ColumnFormats.Add(0); ColumnUnits.Add(""); for (int i = 0; i < this.names.Count; i++) { string columnHeader = this.names[i]; ColumnNames.Add(columnHeader); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } for (int i = 0; i < robOptTemplate.DesignVariables.Count(); i++) { if (!this.names.Contains(robOptTemplate.DesignVariables[i].Name)) { string columnHeader = robOptTemplate.DesignVariables[i].Name; ColumnNames.Add(columnHeader); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } } for (int i = 0; i < robOptTemplate.Objectives.Count(); i++) { string columnHeader = robOptTemplate.Objectives[i].Name; // Loss Function ColumnNames.Add(columnHeader + "LF"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Mean ColumnNames.Add(columnHeader + "mean"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Variance ColumnNames.Add(columnHeader + "var"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } for (int i = 0; i < robOptTemplate.Constraints.Count(); i++) { string columnHeader = robOptTemplate.Constraints[i].Name; // Loss Function ColumnNames.Add(columnHeader + "LF"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Mean ColumnNames.Add(columnHeader + "mean"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); // Variance ColumnNames.Add(columnHeader + "var"); ColumnTypes.Add(DataTypes.DOUBLE); ColumnFormats.Add(4); ColumnUnits.Add(""); } TableNames.Add("DOE"); }