DECIGEN: MCDA Toolkit
Introduction
As Designers and Engineers we have to often take many decisions in the design process and provide various options/solutions for design problems which we are tackling. Often these options have multiple conflicting criteria and making a decision is not a simple process. I have been using MCDA ( Multi-criteria decision analysis ) methods to help me with these problems. There are many good libraries out there for doing this like the Scikit criteria library in Python, but nothing yet in the Rhino Grasshopper environment. With DECIGEN I have tried to bring these methods into the GH world. I have also taken a sample problem to showcase the methods in the toolkit.
Example problem:
There are 4 roof design options for a given reference roof surface each varying in grid size/layout and structural depth. I have used Karamba plugin to size the elements and extract the necessary results. These roof options will be then compared using three criteria.
- Weight(Kg)
- Number of Elements
- Roof Depth(m)
The method I have chosen to do the MCDA here is the TOPSIS ( Technique for Order of Preference by Similarity to Ideal Solution ) method. Here are the steps involved in the TOPSIS method:
- Normalize the Decision Matrix
- Calculate the Weighted Normalized Decision Matrix
- Determine the Ideal and Negative-Ideal Solutions
- Calculate the Separation Measures
- Calculate the Relative Closeness to the Ideal Solution
- Rank the Preference Order
The weighted normalization and the relative closeness to the ideal solution implemented in this method makes it especially useful for design applications where the defined criteria have different units and objectives like depth in meters and weight in kilograms or minimize weight and maximize the clear height.
I have also included a weighted product method in the plugin along with TOPSIS which is good for comparing criteria having the same units and there are plans to include more methods in the future. Do test it out and Let me know if the plugin is useful.