<!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>Uses of Class org.apache.commons.math3.optimization.PointValuePair (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="Uses of Class org.apache.commons.math3.optimization.PointValuePair (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><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/optimization/class-use/PointValuePair.html" target="_top">Frames</a></li>
<li><a href="PointValuePair.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">
<h2 title="Uses of Class org.apache.commons.math3.optimization.PointValuePair" class="title">Uses of Class<br>org.apache.commons.math3.optimization.PointValuePair</h2>
</div>
<div class="classUseContainer">
<ul class="blockList">
<li class="blockList">
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
<caption><span>Packages that use <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Package</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.commons.math3.optimization">org.apache.commons.math3.optimization</a></td>
<td class="colLast">
<div class="block">All classes and sub-packages of this package are deprecated.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.commons.math3.optimization.direct">org.apache.commons.math3.optimization.direct</a></td>
<td class="colLast">
<div class="block">
 This package provides optimization algorithms that don't require derivatives.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="#org.apache.commons.math3.optimization.general">org.apache.commons.math3.optimization.general</a></td>
<td class="colLast">
<div class="block">This package provides optimization algorithms that require derivatives.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="#org.apache.commons.math3.optimization.linear">org.apache.commons.math3.optimization.linear</a></td>
<td class="colLast">
<div class="block">This package provides optimization algorithms for linear constrained problems.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<ul class="blockList">
<li class="blockList"><a name="org.apache.commons.math3.optimization">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a> in <a href="../../../../../../org/apache/commons/math3/optimization/package-summary.html">org.apache.commons.math3.optimization</a></h3>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/commons/math3/optimization/package-summary.html">org.apache.commons.math3.optimization</a> that return <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>[]</code></td>
<td class="colLast"><span class="strong">BaseMultivariateMultiStartOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateMultiStartOptimizer.html#getOptima()">getOptima</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Get all the optima found during the last call to <a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateMultiStartOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, double[])"><code>optimize</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseMultivariateOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, double[])">optimize</a></strong>(int&nbsp;maxEval,
        <a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateOptimizer.html" title="type parameter in BaseMultivariateOptimizer">FUNC</a>&nbsp;f,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
        double[]&nbsp;startPoint)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>As of 3.1. In 4.0, it will be replaced by the declaration
 corresponding to this <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)"><code>method</code></a>.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseMultivariateMultiStartOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateMultiStartOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, double[])">optimize</a></strong>(int&nbsp;maxEval,
        <a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateMultiStartOptimizer.html" title="type parameter in BaseMultivariateMultiStartOptimizer">FUNC</a>&nbsp;f,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goal,
        double[]&nbsp;startPoint)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseMultivariateSimpleBoundsOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateSimpleBoundsOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, double[], double[], double[])">optimize</a></strong>(int&nbsp;maxEval,
        <a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateSimpleBoundsOptimizer.html" title="type parameter in BaseMultivariateSimpleBoundsOptimizer">FUNC</a>&nbsp;f,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
        double[]&nbsp;startPoint,
        double[]&nbsp;lowerBound,
        double[]&nbsp;upperBound)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/commons/math3/optimization/package-summary.html">org.apache.commons.math3.optimization</a> that return types with arguments of type <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;</code></td>
<td class="colLast"><span class="strong">BaseMultivariateMultiStartOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateMultiStartOptimizer.html#getConvergenceChecker()">getConvergenceChecker</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Get the convergence checker.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/commons/math3/optimization/package-summary.html">org.apache.commons.math3.optimization</a> with parameters of type <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><span class="strong">SimpleValueChecker.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/SimpleValueChecker.html#converged(int, org.apache.commons.math3.optimization.PointValuePair, org.apache.commons.math3.optimization.PointValuePair)">converged</a></strong>(int&nbsp;iteration,
         <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&nbsp;previous,
         <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&nbsp;current)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Check if the optimization algorithm has converged considering the
 last two points.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.commons.math3.optimization.direct">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a> in <a href="../../../../../../org/apache/commons/math3/optimization/direct/package-summary.html">org.apache.commons.math3.optimization.direct</a></h3>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/commons/math3/optimization/direct/package-summary.html">org.apache.commons.math3.optimization.direct</a> that return <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseAbstractMultivariateOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#doOptimize()">doOptimize</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Perform the bulk of the optimization algorithm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">SimplexOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/SimplexOptimizer.html#doOptimize()">doOptimize</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Perform the bulk of the optimization algorithm.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BOBYQAOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BOBYQAOptimizer.html#doOptimize()">doOptimize</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Perform the bulk of the optimization algorithm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">PowellOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/PowellOptimizer.html#doOptimize()">doOptimize</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Perform the bulk of the optimization algorithm.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">CMAESOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/CMAESOptimizer.html#doOptimize()">doOptimize</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Perform the bulk of the optimization algorithm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">AbstractSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/AbstractSimplex.html#getPoint(int)">getPoint</a></strong>(int&nbsp;index)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Get the simplex point stored at the requested <code>index</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>[]</code></td>
<td class="colLast"><span class="strong">AbstractSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/AbstractSimplex.html#getPoints()">getPoints</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Get the points of the simplex.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseAbstractMultivariateSimpleBoundsOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateSimpleBoundsOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, double[])">optimize</a></strong>(int&nbsp;maxEval,
        <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateSimpleBoundsOptimizer.html" title="type parameter in BaseAbstractMultivariateSimpleBoundsOptimizer">FUNC</a>&nbsp;f,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
        double[]&nbsp;startPoint)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseAbstractMultivariateOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, double[])">optimize</a></strong>(int&nbsp;maxEval,
        <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html" title="type parameter in BaseAbstractMultivariateOptimizer">FUNC</a>&nbsp;f,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
        double[]&nbsp;startPoint)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>As of 3.1. Please use
 <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)"><code>BaseAbstractMultivariateOptimizer.optimize(int,MultivariateFunction,GoalType,OptimizationData[])</code></a>
 instead.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseAbstractMultivariateSimpleBoundsOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateSimpleBoundsOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, double[], double[], double[])">optimize</a></strong>(int&nbsp;maxEval,
        <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateSimpleBoundsOptimizer.html" title="type parameter in BaseAbstractMultivariateSimpleBoundsOptimizer">FUNC</a>&nbsp;f,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
        double[]&nbsp;startPoint,
        double[]&nbsp;lower,
        double[]&nbsp;upper)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseAbstractMultivariateOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)">optimize</a></strong>(int&nbsp;maxEval,
        <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html" title="type parameter in BaseAbstractMultivariateOptimizer">FUNC</a>&nbsp;f,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
        <a href="../../../../../../org/apache/commons/math3/optimization/OptimizationData.html" title="interface in org.apache.commons.math3.optimization">OptimizationData</a>...&nbsp;optData)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseAbstractMultivariateOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#optimizeInternal(int, FUNC, org.apache.commons.math3.optimization.GoalType, double[])">optimizeInternal</a></strong>(int&nbsp;maxEval,
                <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html" title="type parameter in BaseAbstractMultivariateOptimizer">FUNC</a>&nbsp;f,
                <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
                double[]&nbsp;startPoint)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>As of 3.1. Please use
 <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)"><code>BaseAbstractMultivariateOptimizer.optimize(int,MultivariateFunction,GoalType,OptimizationData[])</code></a>
 instead.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">BaseAbstractMultivariateOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#optimizeInternal(int, FUNC, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)">optimizeInternal</a></strong>(int&nbsp;maxEval,
                <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html" title="type parameter in BaseAbstractMultivariateOptimizer">FUNC</a>&nbsp;f,
                <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
                <a href="../../../../../../org/apache/commons/math3/optimization/OptimizationData.html" title="interface in org.apache.commons.math3.optimization">OptimizationData</a>...&nbsp;optData)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">SimplexOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/SimplexOptimizer.html#optimizeInternal(int, org.apache.commons.math3.analysis.MultivariateFunction, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)">optimizeInternal</a></strong>(int&nbsp;maxEval,
                <a href="../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;f,
                <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
                <a href="../../../../../../org/apache/commons/math3/optimization/OptimizationData.html" title="interface in org.apache.commons.math3.optimization">OptimizationData</a>...&nbsp;optData)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">CMAESOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/CMAESOptimizer.html#optimizeInternal(int, org.apache.commons.math3.analysis.MultivariateFunction, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)">optimizeInternal</a></strong>(int&nbsp;maxEval,
                <a href="../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;f,
                <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
                <a href="../../../../../../org/apache/commons/math3/optimization/OptimizationData.html" title="interface in org.apache.commons.math3.optimization">OptimizationData</a>...&nbsp;optData)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/commons/math3/optimization/direct/package-summary.html">org.apache.commons.math3.optimization.direct</a> that return types with arguments of type <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;</code></td>
<td class="colLast"><span class="strong">BaseAbstractMultivariateOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#getConvergenceChecker()">getConvergenceChecker</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Get the convergence checker.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/commons/math3/optimization/direct/package-summary.html">org.apache.commons.math3.optimization.direct</a> with parameters of type <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><span class="strong">AbstractSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/AbstractSimplex.html#replaceWorstPoint(org.apache.commons.math3.optimization.PointValuePair, java.util.Comparator)">replaceWorstPoint</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&nbsp;pointValuePair,
                 <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Replace the worst point of the simplex by a new point.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><span class="strong">AbstractSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/AbstractSimplex.html#setPoint(int, org.apache.commons.math3.optimization.PointValuePair)">setPoint</a></strong>(int&nbsp;index,
        <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&nbsp;point)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Store a new point at location <code>index</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><span class="strong">AbstractSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/AbstractSimplex.html#setPoints(org.apache.commons.math3.optimization.PointValuePair[])">setPoints</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>[]&nbsp;points)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Replace all points.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Method parameters in <a href="../../../../../../org/apache/commons/math3/optimization/direct/package-summary.html">org.apache.commons.math3.optimization.direct</a> with type arguments of type <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="strong">AbstractSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/AbstractSimplex.html#evaluate(org.apache.commons.math3.analysis.MultivariateFunction, java.util.Comparator)">evaluate</a></strong>(<a href="../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
        <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Evaluate all the non-evaluated points of the simplex.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="strong">MultiDirectionalSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/MultiDirectionalSimplex.html#iterate(org.apache.commons.math3.analysis.MultivariateFunction, java.util.Comparator)">iterate</a></strong>(<a href="../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
       <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Compute the next simplex of the algorithm.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="strong">NelderMeadSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/NelderMeadSimplex.html#iterate(org.apache.commons.math3.analysis.MultivariateFunction, java.util.Comparator)">iterate</a></strong>(<a href="../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
       <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Compute the next simplex of the algorithm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><span class="strong">AbstractSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/AbstractSimplex.html#iterate(org.apache.commons.math3.analysis.MultivariateFunction, java.util.Comparator)">iterate</a></strong>(<a href="../../../../../../org/apache/commons/math3/analysis/MultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">MultivariateFunction</a>&nbsp;evaluationFunction,
       <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Compute the next simplex of the algorithm.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><span class="strong">AbstractSimplex.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/AbstractSimplex.html#replaceWorstPoint(org.apache.commons.math3.optimization.PointValuePair, java.util.Comparator)">replaceWorstPoint</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&nbsp;pointValuePair,
                 <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html?is-external=true" title="class or interface in java.util">Comparator</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;comparator)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Replace the worst point of the simplex by a new point.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
<caption><span>Constructor parameters in <a href="../../../../../../org/apache/commons/math3/optimization/direct/package-summary.html">org.apache.commons.math3.optimization.direct</a> with type arguments of type <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#BaseAbstractMultivariateOptimizer(org.apache.commons.math3.optimization.ConvergenceChecker)">BaseAbstractMultivariateOptimizer</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateSimpleBoundsOptimizer.html#BaseAbstractMultivariateSimpleBoundsOptimizer(org.apache.commons.math3.optimization.ConvergenceChecker)">BaseAbstractMultivariateSimpleBoundsOptimizer</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/CMAESOptimizer.html#CMAESOptimizer(int, double[], int, double, boolean, int, int, org.apache.commons.math3.random.RandomGenerator, boolean, org.apache.commons.math3.optimization.ConvergenceChecker)">CMAESOptimizer</a></strong>(int&nbsp;lambda,
              double[]&nbsp;inputSigma,
              int&nbsp;maxIterations,
              double&nbsp;stopFitness,
              boolean&nbsp;isActiveCMA,
              int&nbsp;diagonalOnly,
              int&nbsp;checkFeasableCount,
              <a href="../../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;random,
              boolean&nbsp;generateStatistics,
              <a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>As of version 3.1: Parameters <code>lambda</code> and <code>inputSigma</code> must be
 passed with the call to <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)"><code>optimize</code></a>.</i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/CMAESOptimizer.html#CMAESOptimizer(int, double, boolean, int, int, org.apache.commons.math3.random.RandomGenerator, boolean, org.apache.commons.math3.optimization.ConvergenceChecker)">CMAESOptimizer</a></strong>(int&nbsp;maxIterations,
              double&nbsp;stopFitness,
              boolean&nbsp;isActiveCMA,
              int&nbsp;diagonalOnly,
              int&nbsp;checkFeasableCount,
              <a href="../../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a>&nbsp;random,
              boolean&nbsp;generateStatistics,
              <a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/PowellOptimizer.html#PowellOptimizer(double, double, org.apache.commons.math3.optimization.ConvergenceChecker)">PowellOptimizer</a></strong>(double&nbsp;rel,
               double&nbsp;abs,
               <a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">This constructor allows to specify a user-defined convergence checker,
 in addition to the parameters that control the default convergence
 checking procedure.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/PowellOptimizer.html#PowellOptimizer(double, double, double, double, org.apache.commons.math3.optimization.ConvergenceChecker)">PowellOptimizer</a></strong>(double&nbsp;rel,
               double&nbsp;abs,
               double&nbsp;lineRel,
               double&nbsp;lineAbs,
               <a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">This constructor allows to specify a user-defined convergence checker,
 in addition to the parameters that control the default convergence
 checking procedure and the line search tolerances.</div>
</td>
</tr>
<tr class="altColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/direct/SimplexOptimizer.html#SimplexOptimizer(org.apache.commons.math3.optimization.ConvergenceChecker)">SimplexOptimizer</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.commons.math3.optimization.general">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a> in <a href="../../../../../../org/apache/commons/math3/optimization/general/package-summary.html">org.apache.commons.math3.optimization.general</a></h3>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/commons/math3/optimization/general/package-summary.html">org.apache.commons.math3.optimization.general</a> that return <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">NonLinearConjugateGradientOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer.html#doOptimize()">doOptimize</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Perform the bulk of the optimization algorithm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">AbstractScalarDifferentiableOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractScalarDifferentiableOptimizer.html#optimize(int, org.apache.commons.math3.analysis.differentiation.MultivariateDifferentiableFunction, org.apache.commons.math3.optimization.GoalType, double[])">optimize</a></strong>(int&nbsp;maxEval,
        <a href="../../../../../../org/apache/commons/math3/analysis/differentiation/MultivariateDifferentiableFunction.html" title="interface in org.apache.commons.math3.analysis.differentiation">MultivariateDifferentiableFunction</a>&nbsp;f,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
        double[]&nbsp;startPoint)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">AbstractScalarDifferentiableOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractScalarDifferentiableOptimizer.html#optimizeInternal(int, org.apache.commons.math3.analysis.DifferentiableMultivariateFunction, org.apache.commons.math3.optimization.GoalType, double[])">optimizeInternal</a></strong>(int&nbsp;maxEval,
                <a href="../../../../../../org/apache/commons/math3/analysis/DifferentiableMultivariateFunction.html" title="interface in org.apache.commons.math3.analysis">DifferentiableMultivariateFunction</a>&nbsp;f,
                <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
                double[]&nbsp;startPoint)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">AbstractDifferentiableOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractDifferentiableOptimizer.html#optimizeInternal(int, org.apache.commons.math3.analysis.differentiation.MultivariateDifferentiableFunction, org.apache.commons.math3.optimization.GoalType, double[])">optimizeInternal</a></strong>(int&nbsp;maxEval,
                <a href="../../../../../../org/apache/commons/math3/analysis/differentiation/MultivariateDifferentiableFunction.html" title="interface in org.apache.commons.math3.analysis.differentiation">MultivariateDifferentiableFunction</a>&nbsp;f,
                <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
                double[]&nbsp;startPoint)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>In 3.1. Please use
 <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractDifferentiableOptimizer.html#optimizeInternal(int, org.apache.commons.math3.analysis.differentiation.MultivariateDifferentiableFunction, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)"><code>AbstractDifferentiableOptimizer.optimizeInternal(int,MultivariateDifferentiableFunction,GoalType,OptimizationData[])</code></a>
 instead.</i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">AbstractDifferentiableOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractDifferentiableOptimizer.html#optimizeInternal(int, org.apache.commons.math3.analysis.differentiation.MultivariateDifferentiableFunction, org.apache.commons.math3.optimization.GoalType, org.apache.commons.math3.optimization.OptimizationData...)">optimizeInternal</a></strong>(int&nbsp;maxEval,
                <a href="../../../../../../org/apache/commons/math3/analysis/differentiation/MultivariateDifferentiableFunction.html" title="interface in org.apache.commons.math3.analysis.differentiation">MultivariateDifferentiableFunction</a>&nbsp;f,
                <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
                <a href="../../../../../../org/apache/commons/math3/optimization/OptimizationData.html" title="interface in org.apache.commons.math3.optimization">OptimizationData</a>...&nbsp;optData)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimize an objective function.</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
<caption><span>Constructor parameters in <a href="../../../../../../org/apache/commons/math3/optimization/general/package-summary.html">org.apache.commons.math3.optimization.general</a> with type arguments of type <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractDifferentiableOptimizer.html#AbstractDifferentiableOptimizer(org.apache.commons.math3.optimization.ConvergenceChecker)">AbstractDifferentiableOptimizer</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractScalarDifferentiableOptimizer.html#AbstractScalarDifferentiableOptimizer(org.apache.commons.math3.optimization.ConvergenceChecker)">AbstractScalarDifferentiableOptimizer</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer.html#NonLinearConjugateGradientOptimizer(org.apache.commons.math3.optimization.general.ConjugateGradientFormula, org.apache.commons.math3.optimization.ConvergenceChecker)">NonLinearConjugateGradientOptimizer</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/general/ConjugateGradientFormula.html" title="enum in org.apache.commons.math3.optimization.general">ConjugateGradientFormula</a>&nbsp;updateFormula,
                                   <a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Constructor with default <a href="../../../../../../org/apache/commons/math3/analysis/solvers/BrentSolver.html" title="class in org.apache.commons.math3.analysis.solvers"><code>line search solver</code></a> and
 <a href="../../../../../../org/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer.IdentityPreconditioner.html" title="class in org.apache.commons.math3.optimization.general"><code>preconditioner</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer.html#NonLinearConjugateGradientOptimizer(org.apache.commons.math3.optimization.general.ConjugateGradientFormula, org.apache.commons.math3.optimization.ConvergenceChecker, org.apache.commons.math3.analysis.solvers.UnivariateSolver)">NonLinearConjugateGradientOptimizer</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/general/ConjugateGradientFormula.html" title="enum in org.apache.commons.math3.optimization.general">ConjugateGradientFormula</a>&nbsp;updateFormula,
                                   <a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker,
                                   <a href="../../../../../../org/apache/commons/math3/analysis/solvers/UnivariateSolver.html" title="interface in org.apache.commons.math3.analysis.solvers">UnivariateSolver</a>&nbsp;lineSearchSolver)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Constructor with default <a href="../../../../../../org/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer.IdentityPreconditioner.html" title="class in org.apache.commons.math3.optimization.general"><code>preconditioner</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer.html#NonLinearConjugateGradientOptimizer(org.apache.commons.math3.optimization.general.ConjugateGradientFormula, org.apache.commons.math3.optimization.ConvergenceChecker, org.apache.commons.math3.analysis.solvers.UnivariateSolver, org.apache.commons.math3.optimization.general.Preconditioner)">NonLinearConjugateGradientOptimizer</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/general/ConjugateGradientFormula.html" title="enum in org.apache.commons.math3.optimization.general">ConjugateGradientFormula</a>&nbsp;updateFormula,
                                   <a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a>&gt;&nbsp;checker,
                                   <a href="../../../../../../org/apache/commons/math3/analysis/solvers/UnivariateSolver.html" title="interface in org.apache.commons.math3.analysis.solvers">UnivariateSolver</a>&nbsp;lineSearchSolver,
                                   <a href="../../../../../../org/apache/commons/math3/optimization/general/Preconditioner.html" title="interface in org.apache.commons.math3.optimization.general">Preconditioner</a>&nbsp;preconditioner)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
&nbsp;</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList"><a name="org.apache.commons.math3.optimization.linear">
<!--   -->
</a>
<h3>Uses of <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a> in <a href="../../../../../../org/apache/commons/math3/optimization/linear/package-summary.html">org.apache.commons.math3.optimization.linear</a></h3>
<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
<caption><span>Methods in <a href="../../../../../../org/apache/commons/math3/optimization/linear/package-summary.html">org.apache.commons.math3.optimization.linear</a> that return <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></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>
<tbody>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">SimplexSolver.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/linear/SimplexSolver.html#doOptimize()">doOptimize</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Perform the bulk of optimization algorithm.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected abstract <a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">AbstractLinearOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/linear/AbstractLinearOptimizer.html#doOptimize()">doOptimize</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Perform the bulk of optimization algorithm.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">AbstractLinearOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/linear/AbstractLinearOptimizer.html#optimize(org.apache.commons.math3.optimization.linear.LinearObjectiveFunction, java.util.Collection, org.apache.commons.math3.optimization.GoalType, boolean)">optimize</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/linear/LinearObjectiveFunction.html" title="class in org.apache.commons.math3.optimization.linear">LinearObjectiveFunction</a>&nbsp;f,
        <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/linear/LinearConstraint.html" title="class in org.apache.commons.math3.optimization.linear">LinearConstraint</a>&gt;&nbsp;constraints,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
        boolean&nbsp;restrictToNonNegative)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimizes an objective function.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">PointValuePair</a></code></td>
<td class="colLast"><span class="strong">LinearOptimizer.</span><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/linear/LinearOptimizer.html#optimize(org.apache.commons.math3.optimization.linear.LinearObjectiveFunction, java.util.Collection, org.apache.commons.math3.optimization.GoalType, boolean)">optimize</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/linear/LinearObjectiveFunction.html" title="class in org.apache.commons.math3.optimization.linear">LinearObjectiveFunction</a>&nbsp;f,
        <a href="http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/linear/LinearConstraint.html" title="class in org.apache.commons.math3.optimization.linear">LinearConstraint</a>&gt;&nbsp;constraints,
        <a href="../../../../../../org/apache/commons/math3/optimization/GoalType.html" title="enum in org.apache.commons.math3.optimization">GoalType</a>&nbsp;goalType,
        boolean&nbsp;restrictToNonNegative)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Optimizes an objective function.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
</li>
</ul>
</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><a href="../package-summary.html">Package</a></li>
<li><a href="../../../../../../org/apache/commons/math3/optimization/PointValuePair.html" title="class in org.apache.commons.math3.optimization">Class</a></li>
<li class="navBarCell1Rev">Use</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>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/optimization/class-use/PointValuePair.html" target="_top">Frames</a></li>
<li><a href="PointValuePair.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 &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
