code: private void lagrangianRelaxation() throws ContradictionException {
  		int lb = obj.getLB();
  		nbSprints = 30;
  		if (nbSols != model.getSolver().getSolutionCount()
  				|| obj.getUB() < objUB
  				|| (firstPropag && !waitFirstSol)) {
  			nbSols = model.getSolver().getSolutionCount();
  			objUB = obj.getUB();
  			convergeAndFilter();
  			firstPropag = false;
  			g = gV.getUB();
  		} else {
  			fastRun(2);
  		}
  		if (lb < obj.getLB()) {
  			lagrangianRelaxation();
  		}
  	}
docs: ***********************************************************************************