| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <!-- NewPage --> |
| <html lang="en"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html" charset="UTF-8"> |
| <title>org.apache.commons.math3.optim (Apache Commons Math 3.3 API)</title> |
| <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> |
| </head> |
| <body> |
| <script type="text/javascript"><!-- |
| if (location.href.indexOf('is-external=true') == -1) { |
| parent.document.title="org.apache.commons.math3.optim (Apache Commons Math 3.3 API)"; |
| } |
| //--> |
| </script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="topNav"><a name="navbar_top"> |
| <!-- --> |
| </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li class="navBarCell1Rev">Package</li> |
| <li>Class</li> |
| <li><a href="package-use.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../org/apache/commons/math3/ode/sampling/package-summary.html">Prev Package</a></li> |
| <li><a href="../../../../../org/apache/commons/math3/optim/linear/package-summary.html">Next Package</a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/commons/math3/optim/package-summary.html" target="_top">Frames</a></li> |
| <li><a href="package-summary.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_top"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_top"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <a name="skip-navbar_top"> |
| <!-- --> |
| </a></div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <div class="header"> |
| <h1 title="Package" class="title">Package org.apache.commons.math3.optim</h1> |
| <div class="docSummary"> |
| <div class="block"> |
| Generally, optimizers are algorithms that will either |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/GoalType.html#MINIMIZE"><code>minimize</code></a> or |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/GoalType.html#MAXIMIZE"><code>maximize</code></a> |
| a scalar function, called the |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/ObjectiveFunction.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar"><code><em>objective |
| function</em></code></a>.</div> |
| </div> |
| <p>See: <a href="#package_description">Description</a></p> |
| </div> |
| <div class="contentContainer"> |
| <ul class="blockList"> |
| <li class="blockList"> |
| <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation"> |
| <caption><span>Interface Summary</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Interface</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tbody> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim">ConvergenceChecker</a><PAIR></td> |
| <td class="colLast"> |
| <div class="block">This interface specifies how to check if an optimization algorithm has |
| converged.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</a></td> |
| <td class="colLast"> |
| <div class="block">Marker interface.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/OptimizationProblem.html" title="interface in org.apache.commons.math3.optim">OptimizationProblem</a><PAIR></td> |
| <td class="colLast"> |
| <div class="block">Common settings for all optimization problems.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </li> |
| <li class="blockList"> |
| <table class="packageSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation"> |
| <caption><span>Class Summary</span><span class="tabEnd"> </span></caption> |
| <tr> |
| <th class="colFirst" scope="col">Class</th> |
| <th class="colLast" scope="col">Description</th> |
| </tr> |
| <tbody> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">AbstractConvergenceChecker</a><PAIR></td> |
| <td class="colLast"> |
| <div class="block">Base class for all convergence checker implementations.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/AbstractOptimizationProblem.html" title="class in org.apache.commons.math3.optim">AbstractOptimizationProblem</a><PAIR></td> |
| <td class="colLast"> |
| <div class="block">Base class for implementing optimization problems.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/BaseMultiStartMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">BaseMultiStartMultivariateOptimizer</a><PAIR></td> |
| <td class="colLast"> |
| <div class="block">Base class multi-start optimizer for a multivariate function.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">BaseMultivariateOptimizer</a><PAIR></td> |
| <td class="colLast"> |
| <div class="block">Base class for implementing optimizers for multivariate functions.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</a><PAIR></td> |
| <td class="colLast"> |
| <div class="block">Base class for implementing optimizers.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/InitialGuess.html" title="class in org.apache.commons.math3.optim">InitialGuess</a></td> |
| <td class="colLast"> |
| <div class="block">Starting point (first guess) of the optimization procedure.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/MaxEval.html" title="class in org.apache.commons.math3.optim">MaxEval</a></td> |
| <td class="colLast"> |
| <div class="block">Maximum number of evaluations of the function to be optimized.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/MaxIter.html" title="class in org.apache.commons.math3.optim">MaxIter</a></td> |
| <td class="colLast"> |
| <div class="block">Maximum number of iterations performed by an (iterative) algorithm.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a></td> |
| <td class="colLast"> |
| <div class="block">This class holds a point and the value of an objective function at |
| that point.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/PointVectorValuePair.html" title="class in org.apache.commons.math3.optim">PointVectorValuePair</a></td> |
| <td class="colLast"> |
| <div class="block">This class holds a point and the vectorial value of an objective function at |
| that point.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/SimpleBounds.html" title="class in org.apache.commons.math3.optim">SimpleBounds</a></td> |
| <td class="colLast"> |
| <div class="block">Simple optimization constraints: lower and upper bounds.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/SimplePointChecker.html" title="class in org.apache.commons.math3.optim">SimplePointChecker</a><PAIR extends <a href="../../../../../org/apache/commons/math3/util/Pair.html" title="class in org.apache.commons.math3.util">Pair</a><double[],? extends <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>>></td> |
| <td class="colLast"> |
| <div class="block">Simple implementation of the <a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim"><code>ConvergenceChecker</code></a> interface using |
| only point coordinates.</div> |
| </td> |
| </tr> |
| <tr class="altColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html" title="class in org.apache.commons.math3.optim">SimpleValueChecker</a></td> |
| <td class="colLast"> |
| <div class="block">Simple implementation of the <a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim"><code>ConvergenceChecker</code></a> interface using |
| only objective function values.</div> |
| </td> |
| </tr> |
| <tr class="rowColor"> |
| <td class="colFirst"><a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html" title="class in org.apache.commons.math3.optim">SimpleVectorValueChecker</a></td> |
| <td class="colLast"> |
| <div class="block">Simple implementation of the <a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim"><code>ConvergenceChecker</code></a> interface using |
| only objective function values.</div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </li> |
| </ul> |
| <a name="package_description"> |
| <!-- --> |
| </a> |
| <h2 title="Package org.apache.commons.math3.optim Description">Package org.apache.commons.math3.optim Description</h2> |
| <div class="block"><p> |
| Generally, optimizers are algorithms that will either |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/GoalType.html#MINIMIZE"><code>minimize</code></a> or |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/GoalType.html#MAXIMIZE"><code>maximize</code></a> |
| a scalar function, called the |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/ObjectiveFunction.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar"><code><em>objective |
| function</em></code></a>. |
| <br/> |
| For some scalar objective functions the gradient can be computed (analytically |
| or numerically). Algorithms that use this knowledge are defined in the |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/gradient/package-summary.html"><code>org.apache.commons.math3.optim.nonlinear.scalar.gradient</code></a> package. |
| The algorithms that do not need this additional information are located in |
| the <a href="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/package-summary.html"><code>org.apache.commons.math3.optim.nonlinear.scalar.noderiv</code></a> package. |
| </p> |
| |
| <p> |
| Some problems are solved more efficiently by algorithms that, instead of an |
| objective function, need access to a |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/vector/ModelFunction.html" title="class in org.apache.commons.math3.optim.nonlinear.vector"><code><em>model function</em></code></a>: such a model predicts a set of values which the |
| algorithm tries to match with a set of given |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/vector/Target.html" title="class in org.apache.commons.math3.optim.nonlinear.vector"><code>target values</code></a>. |
| Those algorithms are located in the |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/vector/package-summary.html"><code>org.apache.commons.math3.optim.nonlinear.vector</code></a> package. |
| <br/> |
| Algorithms that also require the |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/vector/ModelFunctionJacobian.html" title="class in org.apache.commons.math3.optim.nonlinear.vector"><code>Jacobian matrix of the model</code></a> are located in the |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/vector/jacobian/package-summary.html"><code>org.apache.commons.math3.optim.nonlinear.vector.jacobian</code></a> package. |
| <br/> |
| The <a href="../../../../../org/apache/commons/math3/optim/nonlinear/vector/jacobian/AbstractLeastSquaresOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.vector.jacobian"><code>non-linear least-squares optimizers</code></a> are a specialization of the the latter, |
| that minimize the distance (called <em>cost</em> or <em>χ<sup>2</sup></em>) |
| between model and observations. |
| <br/> |
| For cases where the Jacobian cannot be provided, a utility class will |
| <a href="../../../../../org/apache/commons/math3/optim/nonlinear/scalar/LeastSquaresConverter.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar"><code>convert</code></a> a (vector) model into a (scalar) objective function. |
| </p> |
| |
| <p> |
| This package provides common functionality for the optimization algorithms. |
| Abstract classes (<a href="../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim"><code>BaseOptimizer</code></a> and |
| <a href="../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim"><code>BaseMultivariateOptimizer</code></a>) contain |
| boiler-plate code for storing <a href="../../../../../org/apache/commons/math3/optim/MaxEval.html" title="class in org.apache.commons.math3.optim"><code>evaluations</code></a> and <a href="../../../../../org/apache/commons/math3/optim/MaxIter.html" title="class in org.apache.commons.math3.optim"><code>iterations</code></a> |
| counters and a user-defined |
| <a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim"><code>convergence checker</code></a>. |
| </p> |
| |
| <p> |
| For each of the optimizer types, there is a special implementation that |
| wraps an optimizer instance and provides a "multi-start" feature: it calls |
| the underlying optimizer several times with different starting points and |
| returns the best optimum found, or all optima if so desired. |
| This could be useful to avoid being trapped in a local extremum. |
| </p></div> |
| </div> |
| <!-- ======= START OF BOTTOM NAVBAR ====== --> |
| <div class="bottomNav"><a name="navbar_bottom"> |
| <!-- --> |
| </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> |
| <!-- --> |
| </a> |
| <ul class="navList" title="Navigation"> |
| <li><a href="../../../../../overview-summary.html">Overview</a></li> |
| <li class="navBarCell1Rev">Package</li> |
| <li>Class</li> |
| <li><a href="package-use.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../../help-doc.html">Help</a></li> |
| </ul> |
| <div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div> |
| </div> |
| <div class="subNav"> |
| <ul class="navList"> |
| <li><a href="../../../../../org/apache/commons/math3/ode/sampling/package-summary.html">Prev Package</a></li> |
| <li><a href="../../../../../org/apache/commons/math3/optim/linear/package-summary.html">Next Package</a></li> |
| </ul> |
| <ul class="navList"> |
| <li><a href="../../../../../index.html?org/apache/commons/math3/optim/package-summary.html" target="_top">Frames</a></li> |
| <li><a href="package-summary.html" target="_top">No Frames</a></li> |
| </ul> |
| <ul class="navList" id="allclasses_navbar_bottom"> |
| <li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> |
| </ul> |
| <div> |
| <script type="text/javascript"><!-- |
| allClassesLink = document.getElementById("allclasses_navbar_bottom"); |
| if(window==top) { |
| allClassesLink.style.display = "block"; |
| } |
| else { |
| allClassesLink.style.display = "none"; |
| } |
| //--> |
| </script> |
| </div> |
| <a name="skip-navbar_bottom"> |
| <!-- --> |
| </a></div> |
| <!-- ======== END OF BOTTOM NAVBAR ======= --> |
| <p class="legalCopy"><small>Copyright © 2003–2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </body> |
| </html> |