int numConstraints = 1 + (int)(6.25 * numTiles * nodes.size()) + 2*numTiles + nodes.size(); LinearProgram lp = new LPSolve(numConstraints, numVars);
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 GLPKSolve(numVars);
    private double[] calcSolution() {	// make the linear program...	int numVars = 1 + numTiles * (2 * nodes.size() - 1);	// this is a *conservative* estimate of the number of	// constraints, derived from the paper	int numConstraints = 1 + (int)(6.25 * numTiles * nodes.size()) + 2*numTiles + nodes.size();	LinearProgram lp = new LPSolve(numConstraints, numVars);		setupObjective(lp);	setupVariables(lp);	setupConstraints(lp);	// get solution, including objective function	double[] sol = lp.solve();	// eliminate the objective function from the solution	double[] result = new double[sol.length-1];	System.arraycopy(sol, 1, result, 0, sol.length-1);	return result;    }