DIVERSITY Version 1.0 COPYRIGHT (C) 2014 - 2020 Norbert H. Doerry Syntax DIVERSITY.EXE filename.xml [-d] filename.xml is the input file -d sets the debug flag Description: DIVERSITY is used to help reduce sets in Set-Based Design (SBD) that are characterized by having multiple discrete, functionally interchangeable, options for multiple (quantity m) system components (called diversity fields). A subset of the options is identified which minimizes cost (or some other metric), but preserves sufficient options to reduce risk that should the lowest cost solution not prove viable, that at least one alternative will likely be viable. The algorithm is executed with the following steps: 1. read in a set of configurations described by the options selected for that configuration and the associated cost / metric. 2. sort the configurations by the cost / metric -- each row corresponds to configuration 3. Examine the rows starting the lowest cost / best metric and working down 3. For each row (configuration) and each diversity field, calculate the distinct options that have been encountered so far, and the number of times each option has been encountered. (cumulative sums) 4. For each option for each diversity field, determine if a sufficient number of configurations using the option have been encountered to be counted as a possible soluton. 5. Based on a specified number of options desired for each diversity field, calculate a diversity metric based on the fraction of possible solutions divided by the total number of desired possible solutions. filename.xml format // required test 1 comment 10 // rows in source_file with less than this are ignored test1.csv // csv file with input data METRIC AVERAGE FOLLOW END COST MOST LIKELY // field to sort upon LOW // alternate value is HIGH, determines whether Low or High value is preferred filename_statistics.txt // fields statistics are calculated on METRIC AVERAGE FOLLOW END COST MOST LIKELY METRIC AVERAGE FOLLOW END COST HIGH METRIC AVERAGE FOLLOW END COST LOW METRIC FIRST FOLLOW END COST MOST LIKELY METRIC FIRST FOLLOW END COST HIGH METRIC FIRST FOLLOW END COST LOW METRIC LEAD SHIP END COST MOST LIKELY METRIC LEAD SHIP END COST HIGH METRIC LEAD SHIP END COST LOW test1_statistics.txt // fields that are printed in output file METRIC AVERAGE FOLLOW END COST MOST LIKELY METRIC AVERAGE FOLLOW END COST HIGH METRIC AVERAGE FOLLOW END COST LOW METRIC FIRST FOLLOW END COST MOST LIKELY METRIC FIRST FOLLOW END COST HIGH METRIC FIRST FOLLOW END COST LOW METRIC LEAD SHIP END COST MOST LIKELY METRIC LEAD SHIP END COST HIGH METRIC LEAD SHIP END COST LOW ON // other choice is OFF // whether to create a column for the diversity metric. test1_output_fields AAW 3 // minium nbr of options encountered for diversity 1.0 10 // min nbr of configs for option to count ASW 3 10 SUW 3 10 seed 4 10 PARENT SHIP WEIGHT EQUATION(2) 2 10 DECKHOUSE COMPARTMENT STRUCTURAL DENSITY(1) 2 10 HOGGING BENDING MOMENT CONSTANT 2 10 MAIN ENGINE POWER AVAILABLE 3 10 REFERENCE Dr. Norbert Doerry, "Measuring Diversity in Set-Based Design," Presented at ASNE Day 2015, Arlington VA, March 4, 2015 http://doerry.org/norbert/papers/20150211MeasuringDiversitySBD-final.pdf LICENSE This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.