Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.core
view libs/commons-math-2.1/docs/apidocs/org/apache/commons/math/optimization/package-summary.html @ 32:d7a43156a79b default tip
new tabs
author | dwinter |
---|---|
date | Mon, 10 Oct 2011 17:52:22 +0200 |
parents | 878723cc40fb |
children |
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--NewPage--> <HTML> <HEAD> <!-- Generated by javadoc (build 1.6.0_17) on Sat Mar 27 22:46:17 EDT 2010 --> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <TITLE> org.apache.commons.math.optimization (Commons Math 2.1 API) </TITLE> <META NAME="date" CONTENT="2010-03-27"> <LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style"> <SCRIPT type="text/javascript"> function windowTitle() { if (location.href.indexOf('is-external=true') == -1) { parent.document.title="org.apache.commons.math.optimization (Commons Math 2.1 API)"; } } </SCRIPT> <NOSCRIPT> </NOSCRIPT> </HEAD> <BODY BGCOLOR="white" onload="windowTitle();"> <HR> <!-- ========= START OF TOP NAVBAR ======= --> <A NAME="navbar_top"><!-- --></A> <A HREF="#skip-navbar_top" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_top_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../org/apache/commons/math/ode/sampling/package-summary.html"><B>PREV PACKAGE</B></A> <A HREF="../../../../../org/apache/commons/math/optimization/direct/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html?org/apache/commons/math/optimization/package-summary.html" target="_top"><B>FRAMES</B></A> <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_top"></A> <!-- ========= END OF TOP NAVBAR ========= --> <HR> <H2> Package org.apache.commons.math.optimization </H2> This package provides common interfaces for the optimization algorithms provided in sub-packages. <P> <B>See:</B> <BR> <A HREF="#package_description"><B>Description</B></A> <P> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Interface Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/DifferentiableMultivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization">DifferentiableMultivariateRealOptimizer</A></B></TD> <TD>This interface represents an optimization algorithm for <A HREF="../../../../../org/apache/commons/math/analysis/DifferentiableMultivariateRealFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>scalar differentiable objective functions</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/DifferentiableMultivariateVectorialOptimizer.html" title="interface in org.apache.commons.math.optimization">DifferentiableMultivariateVectorialOptimizer</A></B></TD> <TD>This interface represents an optimization algorithm for <A HREF="../../../../../org/apache/commons/math/analysis/DifferentiableMultivariateVectorialFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>vectorial differentiable objective functions</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/MultivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization">MultivariateRealOptimizer</A></B></TD> <TD>This interface represents an optimization algorithm for <A HREF="../../../../../org/apache/commons/math/analysis/MultivariateRealFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>scalar objective functions</CODE></A>.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/RealConvergenceChecker.html" title="interface in org.apache.commons.math.optimization">RealConvergenceChecker</A></B></TD> <TD>This interface specifies how to check if an <A HREF="../../../../../org/apache/commons/math/optimization/MultivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>optimization algorithm</CODE></A> has converged.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/UnivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization">UnivariateRealOptimizer</A></B></TD> <TD>Interface for (univariate real) optimization algorithms.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/VectorialConvergenceChecker.html" title="interface in org.apache.commons.math.optimization">VectorialConvergenceChecker</A></B></TD> <TD>This interface specifies how to check if a <A HREF="../../../../../org/apache/commons/math/optimization/DifferentiableMultivariateVectorialOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>optimization algorithm</CODE></A> has converged.</TD> </TR> </TABLE> <P> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Class Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/LeastSquaresConverter.html" title="class in org.apache.commons.math.optimization">LeastSquaresConverter</A></B></TD> <TD>This class converts <A HREF="../../../../../org/apache/commons/math/analysis/MultivariateVectorialFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>vectorial objective functions</CODE></A> to <A HREF="../../../../../org/apache/commons/math/analysis/MultivariateRealFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>scalar objective functions</CODE></A> when the goal is to minimize them.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/MultiStartDifferentiableMultivariateRealOptimizer.html" title="class in org.apache.commons.math.optimization">MultiStartDifferentiableMultivariateRealOptimizer</A></B></TD> <TD>Special implementation of the <A HREF="../../../../../org/apache/commons/math/optimization/DifferentiableMultivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>DifferentiableMultivariateRealOptimizer</CODE></A> interface adding multi-start features to an existing optimizer.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/MultiStartDifferentiableMultivariateVectorialOptimizer.html" title="class in org.apache.commons.math.optimization">MultiStartDifferentiableMultivariateVectorialOptimizer</A></B></TD> <TD>Special implementation of the <A HREF="../../../../../org/apache/commons/math/optimization/DifferentiableMultivariateVectorialOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>DifferentiableMultivariateVectorialOptimizer</CODE></A> interface adding multi-start features to an existing optimizer.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/MultiStartMultivariateRealOptimizer.html" title="class in org.apache.commons.math.optimization">MultiStartMultivariateRealOptimizer</A></B></TD> <TD>Special implementation of the <A HREF="../../../../../org/apache/commons/math/optimization/MultivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>MultivariateRealOptimizer</CODE></A> interface adding multi-start features to an existing optimizer.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/MultiStartUnivariateRealOptimizer.html" title="class in org.apache.commons.math.optimization">MultiStartUnivariateRealOptimizer</A></B></TD> <TD>Special implementation of the <A HREF="../../../../../org/apache/commons/math/optimization/UnivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>UnivariateRealOptimizer</CODE></A> interface adding multi-start features to an existing optimizer.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/RealPointValuePair.html" title="class in org.apache.commons.math.optimization">RealPointValuePair</A></B></TD> <TD>This class holds a point and the value of an objective function at this point.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/SimpleRealPointChecker.html" title="class in org.apache.commons.math.optimization">SimpleRealPointChecker</A></B></TD> <TD>Simple implementation of the <A HREF="../../../../../org/apache/commons/math/optimization/RealConvergenceChecker.html" title="interface in org.apache.commons.math.optimization"><CODE>RealConvergenceChecker</CODE></A> interface using only point coordinates.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/SimpleScalarValueChecker.html" title="class in org.apache.commons.math.optimization">SimpleScalarValueChecker</A></B></TD> <TD>Simple implementation of the <A HREF="../../../../../org/apache/commons/math/optimization/RealConvergenceChecker.html" title="interface in org.apache.commons.math.optimization"><CODE>RealConvergenceChecker</CODE></A> interface using only objective function values.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/SimpleVectorialPointChecker.html" title="class in org.apache.commons.math.optimization">SimpleVectorialPointChecker</A></B></TD> <TD>Simple implementation of the <A HREF="../../../../../org/apache/commons/math/optimization/VectorialConvergenceChecker.html" title="interface in org.apache.commons.math.optimization"><CODE>VectorialConvergenceChecker</CODE></A> interface using only point coordinates.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/SimpleVectorialValueChecker.html" title="class in org.apache.commons.math.optimization">SimpleVectorialValueChecker</A></B></TD> <TD>Simple implementation of the <A HREF="../../../../../org/apache/commons/math/optimization/VectorialConvergenceChecker.html" title="interface in org.apache.commons.math.optimization"><CODE>VectorialConvergenceChecker</CODE></A> interface using only objective function values.</TD> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/VectorialPointValuePair.html" title="class in org.apache.commons.math.optimization">VectorialPointValuePair</A></B></TD> <TD>This class holds a point and the vectorial value of an objective function at this point.</TD> </TR> </TABLE> <P> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Enum Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/GoalType.html" title="enum in org.apache.commons.math.optimization">GoalType</A></B></TD> <TD>Goal type for an optimization problem.</TD> </TR> </TABLE> <P> <TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> <TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> <TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> <B>Exception Summary</B></FONT></TH> </TR> <TR BGCOLOR="white" CLASS="TableRowColor"> <TD WIDTH="15%"><B><A HREF="../../../../../org/apache/commons/math/optimization/OptimizationException.html" title="class in org.apache.commons.math.optimization">OptimizationException</A></B></TD> <TD>This class represents exceptions thrown by optimizers.</TD> </TR> </TABLE> <P> <A NAME="package_description"><!-- --></A><H2> Package org.apache.commons.math.optimization Description </H2> <P> <p> This package provides common interfaces for the optimization algorithms provided in sub-packages. The main interfaces defines optimizers and convergence checkers. The functions that are optimized by the algorithms provided by this package and its sub-packages are a subset of the one defined in the <code>analysis</code> package, namely the real and vector valued functions. These functions are called objective function here. When the goal is to minimize, the functions are often called cost function, this name is not used in this package. </p> <p> Optimizers are the algorithms that will either minimize or maximize, the objective function by changing its input variables set until an optimal set is found. There are only four interfaces defining the common behavior of optimizers, one for each supported type of objective function: <ul> <li><A HREF="../../../../../org/apache/commons/math/optimization/UnivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>UnivariateRealOptimizer</CODE></A> for <A HREF="../../../../../org/apache/commons/math/analysis/UnivariateRealFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>univariate real functions</CODE></A></li> <li><A HREF="../../../../../org/apache/commons/math/optimization/MultivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>MultivariateRealOptimizer</CODE></A> for <A HREF="../../../../../org/apache/commons/math/analysis/MultivariateRealFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>multivariate real functions</CODE></A></li> <li><A HREF="../../../../../org/apache/commons/math/optimization/DifferentiableMultivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>DifferentiableMultivariateRealOptimizer</CODE></A> for <A HREF="../../../../../org/apache/commons/math/analysis/DifferentiableMultivariateRealFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>differentiable multivariate real functions</CODE></A></li> <li><A HREF="../../../../../org/apache/commons/math/optimization/DifferentiableMultivariateVectorialOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>DifferentiableMultivariateVectorialOptimizer</CODE></A> for <A HREF="../../../../../org/apache/commons/math/analysis/DifferentiableMultivariateVectorialFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>differentiable multivariate vectorial functions</CODE></A></li> </ul> </p> <p> Despite there are only four types of supported optimizers, it is possible to optimize a transform a <A HREF="../../../../../org/apache/commons/math/analysis/MultivariateVectorialFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>non-differentiable multivariate vectorial function</CODE></A> by converting it to a <A HREF="../../../../../org/apache/commons/math/analysis/MultivariateRealFunction.html" title="interface in org.apache.commons.math.analysis"><CODE>non-differentiable multivariate real function</CODE></A> thanks to the <A HREF="../../../../../org/apache/commons/math/optimization/LeastSquaresConverter.html" title="class in org.apache.commons.math.optimization"><CODE>LeastSquaresConverter</CODE></A> helper class. The transformed function can be optimized using any implementation of the <A HREF="../../../../../org/apache/commons/math/optimization/MultivariateRealOptimizer.html" title="interface in org.apache.commons.math.optimization"><CODE>MultivariateRealOptimizer</CODE></A> interface. </p> <p> For each of the four types of supported optimizers, there is a special implementation which wraps a classical optimizer in order to add it a multi-start feature. This feature call the underlying optimizer several times in sequence with different starting points and returns the best optimum found or all optima if desired. This is a classical way to prevent being trapped into a local extremum when looking for a global one. </p> <P> <P> <DL> </DL> <HR> <!-- ======= START OF BOTTOM NAVBAR ====== --> <A NAME="navbar_bottom"><!-- --></A> <A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> <TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> <TR> <TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A NAME="navbar_bottom_firstrow"><!-- --></A> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Package</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <FONT CLASS="NavBarFont1">Class</FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-use.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR> </TABLE> </TD> <TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> </EM> </TD> </TR> <TR> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../org/apache/commons/math/ode/sampling/package-summary.html"><B>PREV PACKAGE</B></A> <A HREF="../../../../../org/apache/commons/math/optimization/direct/package-summary.html"><B>NEXT PACKAGE</B></A></FONT></TD> <TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../../index.html?org/apache/commons/math/optimization/package-summary.html" target="_top"><B>FRAMES</B></A> <A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--> </SCRIPT> <NOSCRIPT> <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> </NOSCRIPT> </FONT></TD> </TR> </TABLE> <A NAME="skip-navbar_bottom"></A> <!-- ======== END OF BOTTOM NAVBAR ======= --> <HR> Copyright © 2003-2010 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved. </BODY> </HTML>