public Calculation(AHPIndexHierarchy ahp, GroupedMonitorDataByTime groupedMonDataByTime, DateTime evaluationDate)
 {
     _ahpIndexHierarchy = ahp;
     _judgementMatrixInfosSet = BinaryIO.ReadMatrixInfosSet();///读取判断矩阵
     _ahpIndexUtil = new AHPIndexHierarchyUtil(ahp);
     InitialBaseData(groupedMonDataByTime, evaluationDate);
     if (!IsMatrixExist())
     {
         MessageBox.Show("需要定义判断矩阵!");
         return;
     }
     CalculateWeightVctor();
     CalculateFuzzyMatrix();
     ShowResult();
 }
 /// <summary>
 /// 对指标体系赋值
 /// </summary>
 /// <param name="groupedMonDataByTime"></param>
 private void InitialBaseData(GroupedMonitorDataByTime groupedMonDataByTime, DateTime evaluationDate)
 {
     List<AHPIndexHierarchy> baseAhpIndex = _ahpIndexUtil.FindbyLevel(AHPIndexHierarchyUtil.totalLevelCount - 1);
     foreach (AHPIndexHierarchy ahpIndex in baseAhpIndex)
     {
         var newestDataBefore = groupedMonDataByTime.SelectNewestDateBefore(groupedMonDataByTime.MonitorDataTable[ahpIndex.Name], evaluationDate);
         ahpIndex.OriginValue = groupedMonDataByTime.SelectMaxValue(newestDataBefore);
         IndexStandarization criteria = new IndexStandarization();
         ahpIndex.IndexValue = criteria.CalculateStandardGrade(ahpIndex.Name, IndexOptimizationType.Negative, (double)ahpIndex.OriginValue);
     }
 }