code: @Override
  	protected DoubleMatrix1D getUb() {
  		if (this.limitedUb == null) {
  			if (super.getUb() == null) {
  				this.limitedUb = F1.make(getC().size(), maxUBValue);
  			} else {
  				this.limitedUb = F1.make(super.getUb().size());
  				for (int i = 0; i < super.getUb().size(); i++) {
  					double ubi = super.getUb().getQuick(i);
  					if (maxUBValue < ubi) {
  						log.warn("the " + i +"-th upper bound was limited form "+ubi+" to the value of maxUBValue: " + maxUBValue);
  						limitedUb.setQuick(i, maxUBValue);
  					} else {
  						limitedUb.setQuick(i, ubi);
  					}
  				}
  			}
  		}
  		return limitedUb;
  	}
docs: Return the upper bounds for the problem. If the original upper bounds are null, the they are set to
  the value of <i>maxUBValue</i>. Otherwise, any upper bound is limited to the value of <i>maxUBValue</i>