1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta name="robots" content="none">
<title>QuantLib: ArmijoLineSearch Class Reference</title>
<link rel="stylesheet" href="quantlib.css" type="text/css">
<link rel="stylesheet" href="print.css" type="text/css" media="print">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
<div id="container">
<div id="header">
<img class="titleimage"
src="QL-title.jpg" width="212" height="47" border="0"
alt="QuantLib">
<br>
<h3 class="subtitle">A free/open-source library for quantitative finance</h3>
</div>
<div id="menu">
<h3 class="navbartitle">Version 0.9.0</h3>
<hr>
<h3 class="navbartitle">Getting started</h3>
<ul class="navbarlist">
<li class="navlink"><a href="index.html">Introduction</a></li>
<li class="navlink"><a href="overview.html">Project overview</a></li>
<li class="navlink"><a href="where.html">Where to get QuantLib</a></li>
<li class="navlink"><a href="install.html">Installation</a></li>
<li class="navlink"><a href="config.html">Configuration</a></li>
<li class="navlink"><a href="usage.html">Usage</a></li>
<li class="navlink"><a href="history.html">Version history</a></li>
<li class="navlink"><a href="resources.html">Additional resources</a></li>
<li class="navlink"><a href="group.html">The QuantLib group</a></li>
<li class="navlink"><a href="license.html">Copyright and license</a></li>
</ul>
<hr>
<h3 class="navbartitle">Reference manual</h3>
<ul class="navbarlist">
<li class="navlink"><a href="modules.html">Modules</a></li>
<li class="navlink"><a href="hierarchy.html">Class Hierarchy</a></li>
<li class="navlink"><a href="annotated.html">Compound List</a></li>
<li class="navlink"><a href="files.html">File List</a></li>
<li class="navlink"><a href="functions.html">Compound Members</a></li>
<li class="navlink"><a href="globals.html">File Members</a></li>
<li class="navlink"><a href="bug.html">Known Bugs</a></li>
<li class="navlink"><a href="caveats.html">Caveats</a></li>
<li class="navlink"><a href="test.html">Test Suite</a></li>
<li class="navlink"><a href="examples.html">Examples</a></li>
</ul>
</div>
<div id="content">
<!--Doxygen-generated content-->
<!-- Generated by Doxygen 1.5.4 -->
<div class="nav">
<a class="el" href="namespace_quant_lib.html">QuantLib</a>::<a class="el" href="class_quant_lib_1_1_armijo_line_search.html">ArmijoLineSearch</a></div>
<h1>ArmijoLineSearch Class Reference</h1><!-- doxytag: class="QuantLib::ArmijoLineSearch" --><!-- doxytag: inherits="QuantLib::LineSearch" --><code>#include <ql/math/optimization/armijo.hpp></code>
<p>
<div class="dynheader">
Inheritance diagram for ArmijoLineSearch:</div>
<div class="dynsection">
<p><center><img src="class_quant_lib_1_1_armijo_line_search__inherit__graph.png" border="0" usemap="#_armijo_line_search__inherit__map" alt="Inheritance graph"></center>
<map name="_armijo_line_search__inherit__map">
<area shape="rect" href="class_quant_lib_1_1_line_search.html" title="Base class for line search." alt="" coords="25,7,119,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<p>
<a href="class_quant_lib_1_1_armijo_line_search-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Armijo line search.
<p>
Let <img class="formulaInl" alt="$ \alpha $" src="form_3.png"> and <img class="formulaInl" alt="$ \beta $" src="form_152.png"> be 2 scalars in <img class="formulaInl" alt="$ [0,1] $" src="form_153.png">. Let <img class="formulaInl" alt="$ x $" src="form_138.png"> be the current value of the unknown, <img class="formulaInl" alt="$ d $" src="form_154.png"> the search direction and <img class="formulaInl" alt="$ t $" src="form_85.png"> the step. Let <img class="formulaInl" alt="$ f $" src="form_41.png"> be the function to minimize. The line search stops when <img class="formulaInl" alt="$ t $" src="form_85.png"> verifies <p class="formulaDsp">
<img class="formulaDsp" alt="\[ f(x + t \cdot d) - f(x) \leq -\alpha t f'(x+t \cdot d) \]" src="form_155.png">
<p>
and <p class="formulaDsp">
<img class="formulaDsp" alt="\[ f(x+\frac{t}{\beta} \cdot d) - f(x) > -\frac{\alpha}{\beta} t f'(x+t \cdot d) \]" src="form_156.png">
<p>
<p>
(see Polak, Algorithms and consistent approximations, Optimization, volume 124 of Applied Mathematical Sciences, Springer-Verlag, NY, 1997) <table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9b7b48a8c23873cce8850ca4c91b983"></a><!-- doxytag: member="QuantLib::ArmijoLineSearch::ArmijoLineSearch" ref="a9b7b48a8c23873cce8850ca4c91b983" args="(Real eps=1e-8, Real alpha=0.05, Real beta=0.65)" -->
</td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_armijo_line_search.html#a9b7b48a8c23873cce8850ca4c91b983">ArmijoLineSearch</a> (<a class="el" href="group__types.html#g4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> eps=1e-8, Real alpha=0.05, Real beta=0.65)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Default constructor. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d35ecca8f9fb5e845371eb48e90d3f0"></a><!-- doxytag: member="QuantLib::ArmijoLineSearch::operator()" ref="5d35ecca8f9fb5e845371eb48e90d3f0" args="(Problem &P, EndCriteria::Type &ecType, const EndCriteria &, const Real t_ini)" -->
<a class="el" href="group__types.html#g4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_armijo_line_search.html#5d35ecca8f9fb5e845371eb48e90d3f0">operator()</a> (<a class="el" href="class_quant_lib_1_1_problem.html">Problem</a> &P, EndCriteria::Type &ecType, const <a class="el" href="class_quant_lib_1_1_end_criteria.html">EndCriteria</a> &, const <a class="el" href="group__types.html#g4bdf4bfe76b9ffa6fa64c47d8bfa0c78">Real</a> t_ini)</td></tr>
<tr><td class="mdescLeft"> </td><td class="mdescRight">Perform line search. <br></td></tr>
</table>
</div>
<div class="footer">
<div class="endmatter">
Documentation generated by
<a href="http://www.doxygen.org">Doxygen</a> 1.5.4
</div>
</div>
</div>
</body>
</html>
|