diff --git a/src/main/java/no/bioforsk/vips/model/roughagenutritionmodel/RoughageNutritionModel.java b/src/main/java/no/bioforsk/vips/model/roughagenutritionmodel/RoughageNutritionModel.java index 3c70f822e22072986c81d8696e5b3ff4996accb8..d83a609ab1ee8bd5a0c3a523db64a7af96c227f9 100644 --- a/src/main/java/no/bioforsk/vips/model/roughagenutritionmodel/RoughageNutritionModel.java +++ b/src/main/java/no/bioforsk/vips/model/roughagenutritionmodel/RoughageNutritionModel.java @@ -300,6 +300,10 @@ public class RoughageNutritionModel implements Model { if(config.getConfigParameter("optimizationInfo") != null) { List<String> optimizationInfo = mapper.convertValue(config.getConfigParameter("optimizationInfo"), new TypeReference<List<String>>(){}); + /*for(String inf:optimizationInfo) + { + System.out.println(inf); + }*/ this.optimizationObservations = this.parseOptimizationInfo(optimizationInfo, this.timeZone); } @@ -465,14 +469,15 @@ public class RoughageNutritionModel implements Model { format.parse(parts[0]), // Date Double.parseDouble(parts[1]), // Height Double.parseDouble(parts[2]), // MSC - Double.parseDouble(parts[3]), // FEm Double.parseDouble(parts[4]), // NDF Double.parseDouble(parts[5]), // INDF - Double.parseDouble(parts[6]) // Raw protein + Double.parseDouble(parts[6]), // Raw protein + Double.parseDouble(parts[3]) // FEm ); retVal.add(optObs); } - catch(ArrayIndexOutOfBoundsException | ParseException ex) {} + catch(ArrayIndexOutOfBoundsException | ParseException ex) { + } } return retVal; } diff --git a/src/main/java/no/bioforsk/vips/model/roughagenutritionmodel/RoughageNutritionModelImpl.java b/src/main/java/no/bioforsk/vips/model/roughagenutritionmodel/RoughageNutritionModelImpl.java index 49d3b00a63f0a4643857ce0059c96a2e04fde268..6a9cf83b14e5c6d6ffb554f2410089c3b0c807ac 100644 --- a/src/main/java/no/bioforsk/vips/model/roughagenutritionmodel/RoughageNutritionModelImpl.java +++ b/src/main/java/no/bioforsk/vips/model/roughagenutritionmodel/RoughageNutritionModelImpl.java @@ -885,7 +885,7 @@ public class RoughageNutritionModelImpl implements CostFunction{ if(this.AIBakgrunnsdataMatrise == null) { this.beregnAIBakgrunnsdata(); - System.out.println("Resultatmatrise rett etter getMSC" + this.AIBakgrunnsdataMatrise.toString()); + //System.out.println("Resultatmatrise rett etter getMSC" + this.AIBakgrunnsdataMatrise.toString()); } //System.out.println("getMSC at" + dato); return this.AIBakgrunnsdataMatrise.getParamDoubleValueForDate(dato, AIDataMatrix.MSC_BEREGNET); @@ -1759,7 +1759,7 @@ public class RoughageNutritionModelImpl implements CostFunction{ @Override public synchronized boolean converged(PointCostPair[] pair) { - boolean DEBUG = true; + boolean DEBUG = false; // Prøver med 10% double differencePercentage = 0.1; double min=0; @@ -1793,7 +1793,7 @@ public class RoughageNutritionModelImpl implements CostFunction{ if(DEBUG) System.out.println("[GrovforModell/optimerParametre] DEBUG: alfa=" + optimumUtvikling.getPoint()[0]); - this.alfa = ((Double) optimumUtvikling.getPoint()[0]).doubleValue(); + this.alfa = ((Double) optimumUtvikling.getPoint()[0]); //this.AIbeta = ((Double) optimumUtvikling.getPoint()[1]).doubleValue(); // Nullstiller AI-matrisen, slik at øvrige beregninger går som planlagt this.AIBakgrunnsdataMatrise = null; @@ -1802,9 +1802,7 @@ public class RoughageNutritionModelImpl implements CostFunction{ // Sjekker først om vi har observasjoner av avling i peroden før førsteslått og mellom førsteslått og andreslått. boolean avlingMaaltFoerFoersteslaatt = false; boolean avlingMaaltMellomFoersteOgAndreslaatt = false; - for(Iterator<OptimizationObservation> i = this.observasjoner.iterator();i.hasNext();) - { - OptimizationObservation observasjon = i.next(); + for (OptimizationObservation observasjon : this.observasjoner) { if(observasjon.getDate().before(this.datoFoersteSlaatt) && observasjon.getAvling() > 0) avlingMaaltFoerFoersteslaatt = true; if(observasjon.getDate().after(this.datoFoersteSlaatt) && observasjon.getDate().before(this.datoAndreSlaatt) && observasjon.getAvling() > 0)