public static void main(String[] args) {
		//		//FOR DEBUGGING
		//		Solver debugSolver = new Solver();
		//		int numGenSolve = debugSolver.solve();
		//		System.out.println("Solved in " + numGenSolve + " generations");


		//FOR TESTING
		//		runTests();


		//make sure they pass the correct number of arguments
		if(args.length != 5) {
			System.out.println("Incorrect Usage.  Correct Usage:");
			System.out.println("Solver <max number of generations to run> <mutation probability> <individual population size> <block population size> <minimum character probability>");
			System.exit(0);
		}
		//ask for the solution string they want to work off of
		System.out.print("Target String: ");
		Scanner scan = new Scanner(System.in);
		String target = scan.nextLine();

		Solver ourSolver = new Solver(args, target);
		long startTime = System.currentTimeMillis();
		int numGenToSolve = ourSolver.solve();
		long stopTime = System.currentTimeMillis();
		System.out.println("Found optimum solution in " + (stopTime - startTime)/1000.0 + " seconds. Needed " + numGenToSolve + " generations to solve the problem.");
	}