001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one or more
003     * contributor license agreements.  See the NOTICE file distributed with
004     * this work for additional information regarding copyright ownership.
005     * The ASF licenses this file to You under the Apache License, Version 2.0
006     * (the "License"); you may not use this file except in compliance with
007     * the License.  You may obtain a copy of the License at
008     *
009     *      http://www.apache.org/licenses/LICENSE-2.0
010     *
011     * Unless required by applicable law or agreed to in writing, software
012     * distributed under the License is distributed on an "AS IS" BASIS,
013     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014     * See the License for the specific language governing permissions and
015     * limitations under the License.
016     */
017    
018    package org.apache.commons.math.estimation;
019    
020    /**
021     * This interface represents an estimation problem.
022     *
023     * <p>This interface should be implemented by all real estimation
024     * problems before they can be handled by the estimators through the
025     * {@link Estimator#estimate Estimator.estimate} method.</p>
026     *
027     * <p>An estimation problem, as seen by a solver is a set of
028     * parameters and a set of measurements. The parameters are adjusted
029     * during the estimation through the {@link #getUnboundParameters
030     * getUnboundParameters} and {@link EstimatedParameter#setEstimate
031     * EstimatedParameter.setEstimate} methods. The measurements both have
032     * a measured value which is generally fixed at construction and a
033     * theoretical value which depends on the model and hence varies as
034     * the parameters are adjusted. The purpose of the solver is to reduce
035     * the residual between these values, it can retrieve the measurements
036     * through the {@link #getMeasurements getMeasurements} method.</p>
037     *
038     * @see Estimator
039     * @see WeightedMeasurement
040     *
041     * @version $Revision: 811786 $ $Date: 2009-09-06 11:36:08 +0200 (dim. 06 sept. 2009) $
042     * @since 1.2
043     * @deprecated as of 2.0, everything in package org.apache.commons.math.estimation has
044     * been deprecated and replaced by package org.apache.commons.math.optimization.general
045     *
046     */
047    @Deprecated
048    public interface EstimationProblem {
049    
050        /**
051         * Get the measurements of an estimation problem.
052         * @return measurements
053         */
054        WeightedMeasurement[] getMeasurements();
055    
056        /**
057         * Get the unbound parameters of the problem.
058         * @return unbound parameters
059         */
060        EstimatedParameter[] getUnboundParameters();
061    
062        /**
063         * Get all the parameters of the problem.
064         * @return parameters
065         */
066        EstimatedParameter[] getAllParameters();
067    
068    }