public NBMTHost(Optimization o) throws Exception {
    this.optimization = o;
    this.parms = optimization.retrieveFittedParameters();

    NPARMS = parms.length;
    NPTS = ConfigurationInput.experiments.total_no_experiments;
    NRESP = ConfigurationInput.experiments.experimentalValues.length;

    // resid = new double[NPTS][NRESP];
    resid = new double[NPTS * NRESP];
    jac = new double[NPTS * NRESP][NPARMS];

    for (int i = 0; i < NPARMS; i++) logger.info("Start parm[" + i + "] = " + parms[i]);

    myLM = new LM_NBMT(this, NPARMS, NPTS, NRESP); // run the minimizer

    for (int i = 0; i < NPARMS; i++) logger.info("End parm[" + i + "]   = " + parms[i]);
  }