Utils.assert(sol!=null, "Got a null value back from solver.");
assert sol!=null : "Got a null value back from solver.";
    private double[] calcSolution() {	// make the linear program...	int numVars = zMax(nodes.size());	// this is a *conservative* estimate of the number of	// constraints, derived from the paper	int numConstraints = 1 + (int)(8.25 * numTiles * nodes.size()) + 2*numTiles + nodes.size();	System.err.println("nodes.size()=" + nodes.size());	//System.err.println("numVars = " + numVars);	//System.err.println("numConstraints <= " + numConstraints);	LinearProgramSolver lp = new CPLEXSolve(numVars, 						ILPPartitioner.OPTIMAL_TIMEOUT,						ILPPartitioner.GAP_TOLERANCE,						ILPPartitioner.GAP_TIMEOUT);		setupObjective(lp);	setupConstraints(lp);	// get solution, including objective function	System.err.println("Solving integer linear program...");	double[] sol = null;	sol = CPLEXClient.solveOverRMI((CPLEXSolve)lp);	Utils.assert(sol!=null, "Got a null value back from solver.");	return sol;    }