1 /* _______________________________________________________________________ 2 3 DAKOTA: Design Analysis Kit for Optimization and Terascale Applications 4 Copyright 2014-2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). 5 This software is distributed under the GNU Lesser General Public License. 6 For more information, see the README file in the top Dakota directory. 7 _______________________________________________________________________ */ 8 9 //- Class: NonDLocalEvidence 10 //- Description: Class for the Evidence theory methods within DAKOTA/UQ 11 //- Owner: Laura Swiler 12 //- Checked by: 13 //- Version: 14 15 #ifndef NOND_LOCAL_EVIDENCE_H 16 #define NOND_LOCAL_EVIDENCE_H 17 18 #include "NonDLocalInterval.hpp" 19 20 namespace Dakota { 21 22 23 /// Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ 24 25 /** The NonDEvidence class implements the propagation of epistemic uncertainty 26 using Dempster-Shafer theory of evidence. In this approach, one assigns 27 a set of basic probability assignments (BPA) to intervals defined 28 for the uncertain variables. Input interval combinations are calculated, 29 along with their BPA. Currently, the response function is evaluated at 30 a set of sample points, then a response surface is constructed which is 31 sampled extensively to find the minimum and maximum within each input 32 interval cell, corresponding to the belief and plausibility within that 33 cell, respectively. This data is then aggregated to calculate cumulative 34 distribution functions for belief and plausibility. */ 35 36 class NonDLocalEvidence: public NonDLocalInterval 37 { 38 public: 39 40 // 41 //- Heading: Constructors and destructor 42 // 43 44 NonDLocalEvidence(ProblemDescDB& problem_db, Model& model); ///< constructor 45 ~NonDLocalEvidence(); ///< destructor 46 47 // 48 //- Heading: Member functions 49 // 50 51 protected: 52 53 // 54 //- Heading: Virtual function redefinitions 55 // 56 57 void initialize(); 58 void set_cell_bounds(); 59 void truncate_to_cell_bounds(RealVector& initial_pt); 60 void post_process_cell_results(bool maximize); 61 void post_process_response_fn_results(); 62 void post_process_final_results(); 63 64 private: 65 66 // 67 //- Heading: Data members 68 // 69 70 }; 71 72 } // namespace Dakota 73 74 #endif 75