diff options
Diffstat (limited to 'commons-math3-3.6.1/docs/apidocs/org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html')
-rw-r--r-- | commons-math3-3.6.1/docs/apidocs/org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html | 528 |
1 files changed, 528 insertions, 0 deletions
diff --git a/commons-math3-3.6.1/docs/apidocs/org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html b/commons-math3-3.6.1/docs/apidocs/org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html new file mode 100644 index 0000000..db6af49 --- /dev/null +++ b/commons-math3-3.6.1/docs/apidocs/org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html @@ -0,0 +1,528 @@ +<!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>CMAESOptimizer (Apache Commons Math 3.6.1 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="CMAESOptimizer (Apache Commons Math 3.6.1 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/CMAESOptimizer.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/nonlinear/scalar/noderiv/BOBYQAOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.PopulationSize.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../../../../index.html?org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html" target="_top">Frames</a></li> +<li><a href="CMAESOptimizer.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: </li> +<li><a href="#nested_class_summary">Nested</a> | </li> +<li><a href="#fields_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer">Field</a> | </li> +<li><a href="#constructor_summary">Constr</a> | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#constructor_detail">Constr</a> | </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.nonlinear.scalar.noderiv</div> +<h2 title="Class CMAESOptimizer" class="title">Class CMAESOptimizer</h2> +</div> +<div class="contentContainer"> +<ul class="inheritance"> +<li><a href="http://docs.oracle.com/javase/7/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/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">org.apache.commons.math3.optim.BaseOptimizer</a><PAIR></li> +<li> +<ul class="inheritance"> +<li><a href="../../../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">org.apache.commons.math3.optim.BaseMultivariateOptimizer</a><<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>></li> +<li> +<ul class="inheritance"> +<li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar">org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer</a></li> +<li> +<ul class="inheritance"> +<li>org.apache.commons.math3.optim.nonlinear.scalar.noderiv.CMAESOptimizer</li> +</ul> +</li> +</ul> +</li> +</ul> +</li> +</ul> +</li> +</ul> +<div class="description"> +<ul class="blockList"> +<li class="blockList"> +<hr> +<br> +<pre>public class <span class="strong">CMAESOptimizer</span> +extends <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar">MultivariateOptimizer</a></pre> +<div class="block">An implementation of the active Covariance Matrix Adaptation Evolution Strategy (CMA-ES) + for non-linear, non-convex, non-smooth, global function minimization. + <p> + The CMA-Evolution Strategy (CMA-ES) is a reliable stochastic optimization method + which should be applied if derivative-based methods, e.g. quasi-Newton BFGS or + conjugate gradient, fail due to a rugged search landscape (e.g. noise, local + optima, outlier, etc.) of the objective function. Like a + quasi-Newton method, the CMA-ES learns and applies a variable metric + on the underlying search space. Unlike a quasi-Newton method, the + CMA-ES neither estimates nor uses gradients, making it considerably more + reliable in terms of finding a good, or even close to optimal, solution. + <p> + In general, on smooth objective functions the CMA-ES is roughly ten times + slower than BFGS (counting objective function evaluations, no gradients provided). + For up to <math>N=10</math> variables also the derivative-free simplex + direct search method (Nelder and Mead) can be faster, but it is + far less reliable than CMA-ES. + <p> + The CMA-ES is particularly well suited for non-separable + and/or badly conditioned problems. To observe the advantage of CMA compared + to a conventional evolution strategy, it will usually take about + <math>30 N</math> function evaluations. On difficult problems the complete + optimization (a single run) is expected to take <em>roughly</em> between + <math>30 N</math> and <math>300 N<sup>2</sup></math> + function evaluations. + <p> + This implementation is translated and adapted from the Matlab version + of the CMA-ES algorithm as implemented in module <code>cmaes.m</code> version 3.51. + <p> + For more information, please refer to the following links: + <ul> + <li><a href="http://www.lri.fr/~hansen/cmaes.m">Matlab code</a></li> + <li><a href="http://www.lri.fr/~hansen/cmaesintro.html">Introduction to CMA-ES</a></li> + <li><a href="http://en.wikipedia.org/wiki/CMA-ES">Wikipedia</a></li> + </ul></div> +<dl><dt><span class="strong">Since:</span></dt> + <dd>3.0</dd></dl> +</li> +</ul> +</div> +<div class="summary"> +<ul class="blockList"> +<li class="blockList"> +<!-- ======== NESTED CLASS SUMMARY ======== --> +<ul class="blockList"> +<li class="blockList"><a name="nested_class_summary"> +<!-- --> +</a> +<h3>Nested Class Summary</h3> +<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> +<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> +<tr> +<th class="colFirst" scope="col">Modifier and Type</th> +<th class="colLast" scope="col">Class and Description</th> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>static class </code></td> +<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.PopulationSize.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv">CMAESOptimizer.PopulationSize</a></strong></code> +<div class="block">Population size.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code>static class </code></td> +<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.Sigma.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv">CMAESOptimizer.Sigma</a></strong></code> +<div class="block">Input sigma values.</div> +</td> +</tr> +</table> +</li> +</ul> +<!-- =========== FIELD SUMMARY =========== --> +<ul class="blockList"> +<li class="blockList"><a name="field_summary"> +<!-- --> +</a> +<h3>Field Summary</h3> +<ul class="blockList"> +<li class="blockList"><a name="fields_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer"> +<!-- --> +</a> +<h3>Fields inherited from class org.apache.commons.math3.optim.<a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</a></h3> +<code><a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#evaluations">evaluations</a></code></li> +</ul> +</li> +</ul> +<!-- ======== 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"> </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/nonlinear/scalar/noderiv/CMAESOptimizer.html#CMAESOptimizer(int,%20double,%20boolean,%20int,%20int,%20org.apache.commons.math3.random.RandomGenerator,%20boolean,%20org.apache.commons.math3.optim.ConvergenceChecker)">CMAESOptimizer</a></strong>(int maxIterations, + double stopFitness, + boolean isActiveCMA, + int diagonalOnly, + int checkFeasableCount, + <a href="../../../../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a> random, + boolean generateStatistics, + <a href="../../../../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim">ConvergenceChecker</a><<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>> checker)</code> </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"> </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>protected <a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html#doOptimize()">doOptimize</a></strong>()</code> +<div class="block">Performs the bulk of the optimization algorithm.</div> +</td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>></code></td> +<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html#getStatisticsDHistory()">getStatisticsDHistory</a></strong>()</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>></code></td> +<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html#getStatisticsFitnessHistory()">getStatisticsFitnessHistory</a></strong>()</code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>></code></td> +<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html#getStatisticsMeanHistory()">getStatisticsMeanHistory</a></strong>()</code> </td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>></code></td> +<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html#getStatisticsSigmaHistory()">getStatisticsSigmaHistory</a></strong>()</code> </td> +</tr> +<tr class="rowColor"> +<td class="colFirst"><code><a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a></code></td> +<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html#optimize(org.apache.commons.math3.optim.OptimizationData...)">optimize</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</a>... optData)</code> +<div class="block">Stores data and performs the optimization.</div> +</td> +</tr> +<tr class="altColor"> +<td class="colFirst"><code>protected void</code></td> +<td class="colLast"><code><strong><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html#parseOptimizationData(org.apache.commons.math3.optim.OptimizationData...)">parseOptimizationData</a></strong>(<a href="../../../../../../../../org/apache/commons/math3/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</a>... optData)</code> +<div class="block">Scans the list of (required and optional) optimization data that + characterize the problem.</div> +</td> +</tr> +</table> +<ul class="blockList"> +<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.optim.nonlinear.scalar.MultivariateOptimizer"> +<!-- --> +</a> +<h3>Methods inherited from class org.apache.commons.math3.optim.nonlinear.scalar.<a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar">MultivariateOptimizer</a></h3> +<code><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html#computeObjectiveValue(double[])">computeObjectiveValue</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html#getGoalType()">getGoalType</a></code></li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.optim.BaseMultivariateOptimizer"> +<!-- --> +</a> +<h3>Methods inherited from class org.apache.commons.math3.optim.<a href="../../../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html" title="class in org.apache.commons.math3.optim">BaseMultivariateOptimizer</a></h3> +<code><a href="../../../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getLowerBound()">getLowerBound</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getStartPoint()">getStartPoint</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/BaseMultivariateOptimizer.html#getUpperBound()">getUpperBound</a></code></li> +</ul> +<ul class="blockList"> +<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer"> +<!-- --> +</a> +<h3>Methods inherited from class org.apache.commons.math3.optim.<a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</a></h3> +<code><a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getConvergenceChecker()">getConvergenceChecker</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getEvaluations()">getEvaluations</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getIterations()">getIterations</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getMaxEvaluations()">getMaxEvaluations</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#getMaxIterations()">getMaxIterations</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#incrementEvaluationCount()">incrementEvaluationCount</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#incrementIterationCount()">incrementIterationCount</a>, <a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#optimize()">optimize</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 java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" 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="CMAESOptimizer(int, double, boolean, int, int, org.apache.commons.math3.random.RandomGenerator, boolean, org.apache.commons.math3.optim.ConvergenceChecker)"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>CMAESOptimizer</h4> +<pre>public CMAESOptimizer(int maxIterations, + double stopFitness, + boolean isActiveCMA, + int diagonalOnly, + int checkFeasableCount, + <a href="../../../../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a> random, + boolean generateStatistics, + <a href="../../../../../../../../org/apache/commons/math3/optim/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optim">ConvergenceChecker</a><<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>> checker)</pre> +<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxIterations</code> - Maximal number of iterations.</dd><dd><code>stopFitness</code> - Whether to stop if objective function value is smaller than + <code>stopFitness</code>.</dd><dd><code>isActiveCMA</code> - Chooses the covariance matrix update method.</dd><dd><code>diagonalOnly</code> - Number of initial iterations, where the covariance matrix + remains diagonal.</dd><dd><code>checkFeasableCount</code> - Determines how often new random objective variables are + generated in case they are out of bounds.</dd><dd><code>random</code> - Random generator.</dd><dd><code>generateStatistics</code> - Whether statistic data is collected.</dd><dd><code>checker</code> - Convergence checker.</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="getStatisticsSigmaHistory()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getStatisticsSigmaHistory</h4> +<pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>> getStatisticsSigmaHistory()</pre> +<dl><dt><span class="strong">Returns:</span></dt><dd>History of sigma values.</dd></dl> +</li> +</ul> +<a name="getStatisticsMeanHistory()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getStatisticsMeanHistory</h4> +<pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>> getStatisticsMeanHistory()</pre> +<dl><dt><span class="strong">Returns:</span></dt><dd>History of mean matrix.</dd></dl> +</li> +</ul> +<a name="getStatisticsFitnessHistory()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getStatisticsFitnessHistory</h4> +<pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html?is-external=true" title="class or interface in java.lang">Double</a>> getStatisticsFitnessHistory()</pre> +<dl><dt><span class="strong">Returns:</span></dt><dd>History of fitness values.</dd></dl> +</li> +</ul> +<a name="getStatisticsDHistory()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>getStatisticsDHistory</h4> +<pre>public <a href="http://docs.oracle.com/javase/7/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<a href="../../../../../../../../org/apache/commons/math3/linear/RealMatrix.html" title="interface in org.apache.commons.math3.linear">RealMatrix</a>> getStatisticsDHistory()</pre> +<dl><dt><span class="strong">Returns:</span></dt><dd>History of D matrix.</dd></dl> +</li> +</ul> +<a name="optimize(org.apache.commons.math3.optim.OptimizationData...)"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>optimize</h4> +<pre>public <a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a> optimize(<a href="../../../../../../../../org/apache/commons/math3/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</a>... optData) + throws <a href="../../../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a>, + <a href="../../../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></pre> +<div class="block">Stores data and performs the optimization. + <p> + The list of parameters is open-ended so that sub-classes can extend it + with arguments specific to their concrete implementations. + <p> + When the method is called multiple times, instance data is overwritten + only when actually present in the list of arguments: when not specified, + data set in a previous call is retained (and thus is optional in + subsequent calls). + <p> + Important note: Subclasses <em>must</em> override + <a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#parseOptimizationData(org.apache.commons.math3.optim.OptimizationData...)"><code>BaseOptimizer.parseOptimizationData(OptimizationData[])</code></a> if they need to register + their own options; but then, they <em>must</em> also call + <code>super.parseOptimizationData(optData)</code> within that method.</div> +<dl> +<dt><strong>Overrides:</strong></dt> +<dd><code><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html#optimize(org.apache.commons.math3.optim.OptimizationData...)">optimize</a></code> in class <code><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar">MultivariateOptimizer</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>optData</code> - Optimization data. In addition to those documented in + <a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html#parseOptimizationData(org.apache.commons.math3.optim.OptimizationData...)"><code>MultivariateOptimizer</code></a>, this method will register the following data: + <ul> + <li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.Sigma.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><code>CMAESOptimizer.Sigma</code></a></li> + <li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.PopulationSize.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><code>CMAESOptimizer.PopulationSize</code></a></li> + </ul></dd> +<dt><span class="strong">Returns:</span></dt><dd>a point/value pair that satisfies the convergence criteria.</dd> +<dt><span class="strong">Throws:</span></dt> +<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/TooManyEvaluationsException.html" title="class in org.apache.commons.math3.exception">TooManyEvaluationsException</a></code> - if the maximal number of + evaluations is exceeded.</dd> +<dd><code><a href="../../../../../../../../org/apache/commons/math3/exception/DimensionMismatchException.html" title="class in org.apache.commons.math3.exception">DimensionMismatchException</a></code> - if the initial guess, target, and weight + arguments have inconsistent dimensions.</dd></dl> +</li> +</ul> +<a name="doOptimize()"> +<!-- --> +</a> +<ul class="blockList"> +<li class="blockList"> +<h4>doOptimize</h4> +<pre>protected <a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a> doOptimize()</pre> +<div class="block">Performs the bulk of the optimization algorithm.</div> +<dl> +<dt><strong>Specified by:</strong></dt> +<dd><code><a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html#doOptimize()">doOptimize</a></code> in class <code><a href="../../../../../../../../org/apache/commons/math3/optim/BaseOptimizer.html" title="class in org.apache.commons.math3.optim">BaseOptimizer</a><<a href="../../../../../../../../org/apache/commons/math3/optim/PointValuePair.html" title="class in org.apache.commons.math3.optim">PointValuePair</a>></code></dd> +<dt><span class="strong">Returns:</span></dt><dd>the point/value pair giving the optimal value of the + objective function.</dd></dl> +</li> +</ul> +<a name="parseOptimizationData(org.apache.commons.math3.optim.OptimizationData...)"> +<!-- --> +</a> +<ul class="blockListLast"> +<li class="blockList"> +<h4>parseOptimizationData</h4> +<pre>protected void parseOptimizationData(<a href="../../../../../../../../org/apache/commons/math3/optim/OptimizationData.html" title="interface in org.apache.commons.math3.optim">OptimizationData</a>... optData)</pre> +<div class="block">Scans the list of (required and optional) optimization data that + characterize the problem.</div> +<dl> +<dt><strong>Overrides:</strong></dt> +<dd><code><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html#parseOptimizationData(org.apache.commons.math3.optim.OptimizationData...)">parseOptimizationData</a></code> in class <code><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/MultivariateOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar">MultivariateOptimizer</a></code></dd> +<dt><span class="strong">Parameters:</span></dt><dd><code>optData</code> - Optimization data. The following data will be looked for: + <ul> + <li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.Sigma.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><code>CMAESOptimizer.Sigma</code></a></li> + <li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.PopulationSize.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><code>CMAESOptimizer.PopulationSize</code></a></li> + </ul></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/CMAESOptimizer.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/nonlinear/scalar/noderiv/BOBYQAOptimizer.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><span class="strong">Prev Class</span></a></li> +<li><a href="../../../../../../../../org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.PopulationSize.html" title="class in org.apache.commons.math3.optim.nonlinear.scalar.noderiv"><span class="strong">Next Class</span></a></li> +</ul> +<ul class="navList"> +<li><a href="../../../../../../../../index.html?org/apache/commons/math3/optim/nonlinear/scalar/noderiv/CMAESOptimizer.html" target="_top">Frames</a></li> +<li><a href="CMAESOptimizer.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: </li> +<li><a href="#nested_class_summary">Nested</a> | </li> +<li><a href="#fields_inherited_from_class_org.apache.commons.math3.optim.BaseOptimizer">Field</a> | </li> +<li><a href="#constructor_summary">Constr</a> | </li> +<li><a href="#method_summary">Method</a></li> +</ul> +<ul class="subNavList"> +<li>Detail: </li> +<li>Field | </li> +<li><a href="#constructor_detail">Constr</a> | </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 © 2003–2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> +</body> +</html> |