public static Design relaxThenSearch(Design d) {
		int i;
		
		setPrinciple(d);
		setBest(d, estimateCost(d));
		
		relaxTable();
		for(i = 0; i < combination - 1; i++){
			setRelaxTable(i);
			
			/* DEBUG
			noImproveRnd = 0;
			while(noImproveRnd < noImproveRndMax){
				if(search(i))
					noImproveRnd = 0;
				else
					noImproveRnd++;
			}
			*/
			search(i);
		}
		return best;
	}