public void calculateExecTime() {
		double newExeTime;
		double newCost;
		dEval = 0;
		dTime = 0;
		dCost = 0;
		for (int i = 0; i < iClass; i++) {
			newExeTime = 0;
			print("Cost[" + i + "]");
			for (int j = 0; j < iSite; j++) {
				if (dmAlloc[i][j] != -1) {
					if (dmAlloc[i][j] < 1) {
						newExeTime = 0;
					} else {
						newExeTime = (dmDist[i][j] * dmPrediction[i][j])
								/ dmAlloc[i][j];
						if (newExeTime > dDeadline + 1) {
							newExeTime = Double.MAX_VALUE;
						}
					}
				}
				if (newExeTime > dDeadline + 1) {
					// System.out.println("newExeTime - dDeadline="+ (newExeTime
					// - dDeadline -1));
					newCost = Double.MAX_VALUE;
				} else {
					newCost = dmDist[i][j] * dmPrediction[i][j]
							* daPrice[j];
				}

				dTime += dmDist[i][j] * dmPrediction[i][j];
				dCost += newCost;

				dEval += dmCost[i][j] - newCost;
				dmExeTime[i][j] = newExeTime;
				dmCost[i][j] = newCost;
				print(Math.round(dmCost[i][j]) + ", ");
			}
			println();
		}
		for (int i = 0; i < iClass; i++) {
			print("Time[" + i + "]");
			for (int j = 0; j < iSite; j++) {
				print(Math.round(dmExeTime[i][j]) + ", ");
			}
			println();
		}
		dFinalMakespan = dDeadline;
		println("My Time = " + dTime);
		println("My Cost = " + dCost);
	}