blob: fbbe5ffcc2dac2bc145bee1528d009946b88c566 [file] [log] [blame]
<!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>SimpleValueChecker (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="SimpleValueChecker (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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SimpleValueChecker.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/optim/SimplePointChecker.html" title="class in org.apache.commons.math3.optim"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html" title="class in org.apache.commons.math3.optim"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/optim/SimpleValueChecker.html" target="_top">Frames</a></li>
<li><a href="SimpleValueChecker.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.optim</div>
<h2 title="Class SimpleValueChecker" class="title">Class SimpleValueChecker</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">org.apache.commons.math3.optim.AbstractConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.optim.SimpleValueChecker</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim">ConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">SimpleValueChecker</span>
extends <a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">AbstractConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;</pre>
<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.
Convergence is considered to have been reached if either the relative
difference between the objective function values is smaller than a
threshold or if either the absolute difference between the objective
function values is smaller than another threshold.
<br/>
The <a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html#converged(int, org.apache.commons.math3.optim.PointValuePair, org.apache.commons.math3.optim.PointValuePair)"><code>converged</code></a>
method will also return <code>true</code> if the number of iterations has been set
(see <a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html#SimpleValueChecker(double, double, int)"><code>this constructor</code></a>).</div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>3.0</dd>
<dt><span class="strong">Version:</span></dt>
<dd>$Id: SimpleValueChecker.java 1591835 2014-05-02 09:04:01Z tn $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html#SimpleValueChecker(double, double)">SimpleValueChecker</a></strong>(double&nbsp;relativeThreshold,
double&nbsp;absoluteThreshold)</code>
<div class="block">Build an instance with specified thresholds.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html#SimpleValueChecker(double, double, int)">SimpleValueChecker</a></strong>(double&nbsp;relativeThreshold,
double&nbsp;absoluteThreshold,
int&nbsp;maxIter)</code>
<div class="block">Builds an instance with specified thresholds.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/optim/SimpleValueChecker.html#converged(int, org.apache.commons.math3.optim.PointValuePair, org.apache.commons.math3.optim.PointValuePair)">converged</a></strong>(int&nbsp;iteration,
<a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;previous,
<a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;current)</code>
<div class="block">Check if the optimization algorithm has converged considering the
last two points.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.optim.AbstractConvergenceChecker">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.optim.<a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">AbstractConvergenceChecker</a></h3>
<code><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html#getAbsoluteThreshold()">getAbsoluteThreshold</a>, <a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html#getRelativeThreshold()">getRelativeThreshold</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<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></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SimpleValueChecker(double, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SimpleValueChecker</h4>
<pre>public&nbsp;SimpleValueChecker(double&nbsp;relativeThreshold,
double&nbsp;absoluteThreshold)</pre>
<div class="block">Build an instance with specified thresholds.
In order to perform only relative checks, the absolute tolerance
must be set to a negative value. In order to perform only absolute
checks, the relative tolerance must be set to a negative value.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>relativeThreshold</code> - relative tolerance threshold</dd><dd><code>absoluteThreshold</code> - absolute tolerance threshold</dd></dl>
</li>
</ul>
<a name="SimpleValueChecker(double, double, int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SimpleValueChecker</h4>
<pre>public&nbsp;SimpleValueChecker(double&nbsp;relativeThreshold,
double&nbsp;absoluteThreshold,
int&nbsp;maxIter)</pre>
<div class="block">Builds an instance with specified thresholds.
In order to perform only relative checks, the absolute tolerance
must be set to a negative value. In order to perform only absolute
checks, the relative tolerance must be set to a negative value.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>relativeThreshold</code> - relative tolerance threshold</dd><dd><code>absoluteThreshold</code> - absolute tolerance threshold</dd><dd><code>maxIter</code> - Maximum iteration count.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if <code>maxIter &lt;= 0</code>.</dd><dt><span class="strong">Since:</span></dt>
<dd>3.1</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="converged(int, org.apache.commons.math3.optim.PointValuePair, org.apache.commons.math3.optim.PointValuePair)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>converged</h4>
<pre>public&nbsp;boolean&nbsp;converged(int&nbsp;iteration,
<a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;previous,
<a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&nbsp;current)</pre>
<div class="block">Check if the optimization algorithm has converged considering the
last two points.
This method may be called several time from the same algorithm
iteration with different points. This can be detected by checking the
iteration number at each call if needed. Each time this method is
called, the previous and current point correspond to points with the
same role at each iteration, so they can be compared. As an example,
simplex-based algorithms call this method for all points of the simplex,
not only for the best or worst ones.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html#converged(int, PAIR, PAIR)">converged</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim">ConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;</code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html#converged(int, PAIR, PAIR)">converged</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/optim/AbstractConvergenceChecker.html" title="class in org.apache.commons.math3.optim">AbstractConvergenceChecker</a>&lt;<a href="../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>iteration</code> - Index of current iteration</dd><dd><code>previous</code> - Best point in the previous iteration.</dd><dd><code>current</code> - Best point in the current iteration.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the algorithm has converged.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= 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><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/SimpleValueChecker.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/optim/SimplePointChecker.html" title="class in org.apache.commons.math3.optim"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/optim/SimpleVectorValueChecker.html" title="class in org.apache.commons.math3.optim"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/optim/SimpleValueChecker.html" target="_top">Frames</a></li>
<li><a href="SimpleValueChecker.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>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>