/* * ObjectiveFunction.java * * Created on October 13, 2004, 4:33 PM */ package oms3; /** * Objective Function. * * Interface for providing a objective function implementation. * * @author makiko, od */ public interface ObjectiveFunction { /** * Calculates the objective function value based on the given simulated and observed values. * If measuredValue[i] <= missingValue (where 0<=i<measuredValue.length), then * measuredValue[i] and simulatedValue[i] are not included for objective * function calculation. * * @param obs the observed values * @param sim the simulated values * @param missingValue the missing value that indicates a observed or/and simulated value is missing * @return the objective function value. */ public double calculate(double[] obs, double[] sim, double missingValue); /** This method tells you if it is good for the objective function value to be large. * @return true if a greater objective function value is considered better. * false is returned otherwise. */ public boolean positiveDirection(); }