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.