int status = Runtime.getRuntime().exec("glpsol partitions.mps -o partitions.sol").waitFor();
int status = Runtime.getRuntime().exec("glpsol partitions.mps --wlpt partitions.lp -o partitions.sol").waitFor();
    public double[] solve() {	// write mps to file	printMPSToFile("partitions.mps");	// run the solver	double[] result = null;	try {	    int status = Runtime.getRuntime().exec("glpsol partitions.mps -o partitions.sol").waitFor();	    if (status!=0) {		Utils.fail("Error running ILP solver.");	    }	    // parse results	    result = parseResults();	} catch (InterruptedException e) {	    e.printStackTrace();	    Utils.fail("Linear programming solver was interrupted.");	} catch (IOException e) {	    e.printStackTrace();	    Utils.fail("Failed to read results back from ILP solver.");	}	return result;    }