#include "minmax.h" minmax::minmax() { } minmax::~minmax() { } double minmax::effortMax (project x, double attrange [][42]) { project s=x; double maxEff=0; for (int i=0; i<42; i++) { if (s.attributes[i]==0) { if((i>=8 && i<=14) || i==23 || i==35 || (i>=37 && i<=41)) s.setattnum(i,attrange[1][i]); else s.setattnum(i,attrange[0][i]); } } maxEff = s.effort(); return maxEff; } double minmax::effortMin(project x, double attrange [][42]) { project s=x; double minEff=0; for (int i=0; i<42; i++) { if (s.attributes[i]==0) { if((i>=8 && i<=14) || i==23 || i==34 || i==36 || (i>=37 && i<=41)) s.setattnum(i,attrange[0][i]); else s.setattnum(i,attrange[1][i]); } } minEff = s.effort(); return minEff; } ///////////////////////////////////////////////////////////////////////////// // min max functions for monthsmodel ///////////////////////////////////////////////////////////////////////////// double minmax::monthsMax(project x, double attrange[][42]) { project s=x; double maxMonths=0; for (int i=0; i<42; i++) { if (s.attributes[i]==0) { if((i>=8 && i<=14) || i==23 || i==35 || (i>=37 && i<=41)) s.setattnum(i,attrange[1][i]); else s.setattnum(i,attrange[0][i]); } } maxMonths = s.months(); return maxMonths; } double minmax::monthsMin(project x, double attrange [][42]) { project s=x; double minMonths=0; for (int i=0; i<42; i++) { if (s.attributes[i]==0) { if((i>=8 && i<=14) || i==23 || i==34 || i==36 || (i>=37 && i<=41)) s.setattnum(i,attrange[0][i]); else s.setattnum(i,attrange[1][i]); } } minMonths = s.months(); return minMonths; } double minmax::defectMax (project x, double attrange [][42]) { project s=x; double maxDef=0; for (int i=0; i<40; i++) { if (s.attributes[i]==0) { if((i>=8 && i<=12) || i==23 || i==25 || i==27 || i==28 || i==30 || i==31 || i==33 || i==39) s.setattnum(i,attrange[1][i]); else s.setattnum(i,attrange[0][i]); } } maxDef = s.defects(); return maxDef; } double minmax::defectMin(project x, double attrange [][42]) { project s=x; double minDef=0; for (int i=0; i<40; i++) { if (s.attributes[i]==0) { if((i>=8 && i<=12) || i==23 || i==26 || i==29 || i==32 || i==39) s.setattnum(i,attrange[0][i]); else s.setattnum(i,attrange[1][i]); } } minDef = s.defects(); return minDef; } double minmax::thrMax(project x, double attrange [][42]) { project s=x; for (int i=0;i<5;i++) { for (int j=0;j<5;j++) { s.t1[i][j]*=1.5; s.t3[i][j]*=1.5; s.t4[i][j]*=1; s.t5[i][j]*=1; s.t7[i][j]*=1.5; } } for (int i=0;i<5;i++) { for (int j=0;j<6;j++) { s.t2[i][j]*=1; } } for (int i=0;i<6;i++) { for (int j=0;j<5;j++) { s.t6[i][j]*=1; s.t8[i][j]*=1.5; } } for (int i=0; i<40; i++) { if (s.attributes[i]==0) { if((i>=8 && i<=13) || i==23 || i==35) s.setattnum(i,attrange[1][i]); else s.setattnum(i,attrange[0][i]); } } double TH = s.threat(); return TH; } double minmax::thrMin(project x, double attrange [][42]) { project s=x; for (int i=0;i<5;i++) { for (int j=0;j<5;j++) { s.t1[i][j]*=0.5; s.t3[i][j]*=0.5; s.t4[i][j]*=0.5; s.t5[i][j]*=0.5; s.t7[i][j]*=0.5; } } for (int i=0;i<5;i++) { for (int j=0;j<6;j++) { s.t2[i][j]*=0.5; } } for (int i=0;i<6;i++) { for (int j=0;j<5;j++) { s.t6[i][j]*=0.5; s.t8[i][j]*=0.5; } } for (int i=0; i<40; i++) { if (s.attributes[i]==0) { if((i>=8 && i<=13) || i==23 || i==34 || i==36) s.setattnum(i,attrange[0][i]); else s.setattnum(i,attrange[1][i]); } } double TH = s.threat(); return TH; }