diff options
author | Georgey | 2017-07-05 11:44:38 +0530 |
---|---|---|
committer | Georgey | 2017-07-05 11:44:38 +0530 |
commit | 6aa3bf99dbd4187c83167dec18ebe974421d57bc (patch) | |
tree | 1a95c77b8c1e817b85593fdf4322627026244b07 /help/en_US/scilab_en_US_help/fminunc.html | |
parent | 0d5c6b0fad393ac40d086cffea064c624be4589a (diff) | |
download | FOSSEE-Optimization-toolbox-6aa3bf99dbd4187c83167dec18ebe974421d57bc.tar.gz FOSSEE-Optimization-toolbox-6aa3bf99dbd4187c83167dec18ebe974421d57bc.tar.bz2 FOSSEE-Optimization-toolbox-6aa3bf99dbd4187c83167dec18ebe974421d57bc.zip |
Updated help folder
Diffstat (limited to 'help/en_US/scilab_en_US_help/fminunc.html')
-rw-r--r-- | help/en_US/scilab_en_US_help/fminunc.html | 142 |
1 files changed, 76 insertions, 66 deletions
diff --git a/help/en_US/scilab_en_US_help/fminunc.html b/help/en_US/scilab_en_US_help/fminunc.html index d5f0786..b2e9059 100644 --- a/help/en_US/scilab_en_US_help/fminunc.html +++ b/help/en_US/scilab_en_US_help/fminunc.html @@ -16,11 +16,11 @@ </td> <td width="40%" class="center"> - <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span> + <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span> </td> <td width="30%" class="next"> - <span class="next"><a href="linprog.html">linprog >></a></span> + <span class="next"><a href="intfminbnd.html">intfminbnd >></a></span> </td> </tr></table> @@ -29,7 +29,7 @@ - <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a> > fminunc</span> + <span class="path"><a href="index.html">FOSSEE Optimization Toolbox</a> >> <a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a> > fminunc</span> <br /><br /> <div class="refnamediv"><h1 class="refname">fminunc</h1> @@ -45,59 +45,81 @@ <span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">gradient</span><span class="default">]=</span><span class="functionid">fminunc</span><span class="default">(.....)</span> <span class="default">[</span><span class="default">xopt</span><span class="default">,</span><span class="default">fopt</span><span class="default">,</span><span class="default">exitflag</span><span class="default">,</span><span class="default">output</span><span class="default">,</span><span class="default">gradient</span><span class="default">,</span><span class="default">hessian</span><span class="default">]=</span><span class="functionid">fminunc</span><span class="default">(.....)</span></pre></div></div> -<div class="refsection"><h3 class="title">Parameters</h3> +<div class="refsection"><h3 class="title">Input Parameters</h3> <dl><dt><span class="term">f :</span> - <dd><p class="para">a function, representing the objective function of the problem</p></dd></dt> + <dd><p class="para">A function, representing the objective function of the problem.</p></dd></dt> <dt><span class="term">x0 :</span> - <dd><p class="para">a vector of doubles, containing the starting of variables.</p></dd></dt> - <dt><span class="term">options:</span> - <dd><p class="para">a list, containing the option for user to specify. See below for details.</p></dd></dt> - <dt><span class="term">xopt :</span> - <dd><p class="para">a vector of doubles, the computed solution of the optimization problem.</p></dd></dt> + <dd><p class="para">A vector of doubles, containing the starting values of variables of size (1 X n) or (n X 1) where 'n' is the number of Variables.</p></dd></dt> + <dt><span class="term">options :</span> + <dd><p class="para">A list, containing the options for user to specify. See below for details.</p></dd></dt></dl></div> + <div class="refsection"><h3 class="title">Outputs</h3> + <dl><dt><span class="term">xopt :</span> + <dd><p class="para">A vector of doubles, containing the computed solution of the optimization problem.</p></dd></dt> <dt><span class="term">fopt :</span> - <dd><p class="para">a scalar of double, the function value at x.</p></dd></dt> + <dd><p class="para">A double, containing the the function value at x.</p></dd></dt> <dt><span class="term">exitflag :</span> - <dd><p class="para">a scalar of integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt> - <dt><span class="term">output :</span> - <dd><p class="para">a structure, containing the information about the optimization. See below for details.</p></dd></dt> + <dd><p class="para">An integer, containing the flag which denotes the reason for termination of algorithm. See below for details.</p></dd></dt> + <dt><span class="term">output :</span> + <dd><p class="para">A structure, containing the information about the optimization. See below for details.</p></dd></dt> <dt><span class="term">gradient :</span> - <dd><p class="para">a vector of doubles, containing the the gradient of the solution.</p></dd></dt> + <dd><p class="para">A vector of doubles, containing the objective's gradient of the solution.</p></dd></dt> <dt><span class="term">hessian :</span> - <dd><p class="para">a matrix of doubles, containing the the hessian of the solution.</p></dd></dt></dl></div> + <dd><p class="para">A matrix of doubles, containing the lagrangian's hessian of the solution.</p></dd></dt></dl></div> <div class="refsection"><h3 class="title">Description</h3> - <p class="para">Search the minimum of an unconstrained optimization problem specified by : -Find the minimum of f(x) such that</p> + <p class="para">Search the minimum of an unconstrained optimization problem specified by :</p> + <p class="para">Find the minimum of f(x) such that</p> <p class="para"><span><img src='./_LaTeX_fminunc.xml_1.png' style='position:relative;top:9px;width:115px;height:26px'/></span></p> - <p class="para">The routine calls Ipopt for solving the Un-constrained Optimization problem, Ipopt is a library written in C++.</p> - <p class="para">The options allows the user to set various parameters of the Optimization problem. -It should be defined as type "list" and contains the following fields. -<ul class="itemizedlist"><li>Syntax : options= list("MaxIter", [---], "CpuTime", [---], "Gradient", ---, "Hessian", ---);</li> -<li>MaxIter : a Scalar, containing the Maximum Number of Iteration that the solver should take.</li> -<li>CpuTime : a Scalar, containing the Maximum amount of CPU Time that the solver should take.</li> -<li>Gradient : a function, representing the gradient function of the Objective in Vector Form.</li> -<li>Hessian : a function, representing the hessian function of the Objective in Symmetric Matrix Form.</li> -<li>Default Values : options = list("MaxIter", [3000], "CpuTime", [600]);</li></ul></p> - <p class="para">The exitflag allows to know the status of the optimization which is given back by Ipopt. -<ul class="itemizedlist"><li>exitflag=0 : Optimal Solution Found</li> -<li>exitflag=1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li> -<li>exitflag=2 : Maximum CPU Time exceeded. Output may not be optimal.</li> -<li>exitflag=3 : Stop at Tiny Step.</li> -<li>exitflag=4 : Solved To Acceptable Level.</li> -<li>exitflag=5 : Converged to a point of local infeasibility.</li></ul></p> - <p class="para">For more details on exitflag see the ipopt documentation, go to http://www.coin-or.org/Ipopt/documentation/</p> - <p class="para">The output data structure contains detailed informations about the optimization process. -It has type "struct" and contains the following fields. -<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed during the search</li> -<li>output.Cpu_Time: The total cpu-time spend during the search</li> -<li>output.Objective_Evaluation: The number of Objective Evaluations performed during the search</li> -<li>output.Dual_Infeasibility: The Dual Infeasiblity of the final soution</li> -<li>output.Message: The output message for the problem</li></ul></p> + <p class="para">Fminunc calls Ipopt which is an optimization library written in C++, to solve the unconstrained optimization problem.</p> + <p class="para"><h3 class="title">Options</h3> +The options allow the user to set various parameters of the optimization problem. The syntax for the options is given by:</p> + <p class="para">options= list("MaxIter", [---], "CpuTime", [---], "GradObj", ---, "Hessian", ---, "GradCon", ---);</p> + <p class="para"><ul class="itemizedlist"><li>MaxIter : A Scalar, specifying the Maximum Number of Iterations that the solver should take.</li> +<li>CpuTime : A Scalar, specifying the Maximum amount of CPU Time in seconds that the solver should take.</li> +<li>Gradient: A function, representing the gradient function of the objective in Vector Form.</li> +<li>Hessian : A function, representing the hessian function of the lagrange in the form of a Symmetric Matrix with input parameters as x, objective factor and lambda. Refer to Example 5 for definition of lagrangian hessian function.</li></ul> +The default values for the various items are given as:</p> + <p class="para">options = list("MaxIter", [3000], "CpuTime", [600]);</p> + <p class="para">The exitflag allows the user to know the status of the optimization which is returned by Ipopt. The values it can take and what they indicate is described below: +<ul class="itemizedlist"><li>0 : Optimal Solution Found</li> +<li>1 : Maximum Number of Iterations Exceeded. Output may not be optimal.</li> +<li>2 : Maximum amount of CPU Time exceeded. Output may not be optimal.</li> +<li>3 : Stop at Tiny Step.</li> +<li>4 : Solved To Acceptable Level.</li> +<li>5 : Converged to a point of local infeasibility.</li></ul></p> + <p class="para">For more details on exitflag, see the Ipopt documentation which can be found on http://www.coin-or.org/Ipopt/documentation/</p> + <p class="para">The output data structure contains detailed information about the optimization process. +It is of type "struct" and contains the following fields. +<ul class="itemizedlist"><li>output.Iterations: The number of iterations performed.</li> +<li>output.Cpu_Time : The total cpu-time taken.</li> +<li>output.Objective_Evaluation: The number of objective evaluations performed.</li> +<li>output.Dual_Infeasibility : The Dual Infeasiblity of the final soution.</li> +<li>output.Message: The output message for the problem.</li></ul></p> <p class="para"></p></div> -<div class="refsection"><h3 class="title">Examples</h3> - <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^2 such that it minimizes the Rosenbrock function</span> -<span class="scilabcomment">//f = 100*(x2 - x1^2)^2 + (1-x1)^2</span> + <p class="para">A few examples displaying the various functionalities of fminunc have been provided below. You will find a series of problems and the appropriate code snippets to solve them.</p> + +<div class="refsection"><h3 class="title">Example</h3> +<p class="para">We begin with the minimization of a simple non-linear function.</p> + <p class="para">Find x in R^2 such that it minimizes:</p> + <p class="para"><span><img src='./_LaTeX_fminunc.xml_2.png' style='position:relative;top:10px;width:160px;height:28px'/></span></p> + <p class="para"></p> + <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 1: Simple non-linear function.</span> +<span class="scilabcomment">//Objective function to be minimised</span> +<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span> +<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span> +<span class="scilabfkeyword">endfunction</span> +<span class="scilabcomment">//Starting point</span> +<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> +<span class="scilabcomment">//Calling Ipopt</span> +<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabopenclose">)</span> +<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div> + +<div class="refsection"><h3 class="title">Example</h3> +<p class="para">We now look at the Rosenbrock function, a non-convex performance test problem for optimization routines. We use this example to illustrate how we can enhance the functionality of fminunc by setting input options. We can pre-define the gradient of the objective function and/or the hessian of the lagrange function and thereby improve the speed of computation. This is elaborated on in example 2. We also set solver parameters using the options.</p> + <p class="para"><span><img src='./_LaTeX_fminunc.xml_3.png' style='position:relative;top:10px;width:287px;height:28px'/></span></p> + <p class="para"></p> + <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 2: The Rosenbrock function.</span> <span class="scilabcomment">//Objective function to be minimised</span> <span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabnumber">100</span><span class="scilaboperator">*</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span> @@ -113,28 +135,16 @@ It has type "struct" and contains the following fields. <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1200</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilaboperator">-</span> <span class="scilabnumber">400</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span> <span class="scilaboperator">+</span> <span class="scilabnumber">2</span><span class="scilabdefault">,</span> <span class="scilaboperator">-</span><span class="scilabnumber">400</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span><span class="scilaboperator">-</span><span class="scilabnumber">400</span><span class="scilaboperator">*</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilabdefault">,</span> <span class="scilabnumber">200</span> <span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabfkeyword">endfunction</span> <span class="scilabcomment">//Options</span> -<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Gradient</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Hessian</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fHess</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> +<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">GradObj</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Hessian</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fHess</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Calling Ipopt</span> <span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span> <span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div> -<div class="refsection"><h3 class="title">Examples</h3> - <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Find x in R^2 such that the below function is minimum</span> -<span class="scilabcomment">//f = x1^2 + x2^2</span> -<span class="scilabcomment">//Objective function to be minimised</span> -<span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span> -<span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">+</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span> -<span class="scilabfkeyword">endfunction</span> -<span class="scilabcomment">//Starting point</span> -<span class="scilabid">x0</span><span class="scilaboperator">=</span><span class="scilabopenclose">[</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">1</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> -<span class="scilabcomment">//Calling Ipopt</span> -<span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabopenclose">)</span> -<span class="scilabcomment">// Press ENTER to continue</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div> - -<div class="refsection"><h3 class="title">Examples</h3> - <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//The below problem is an unbounded problem:</span> -<span class="scilabcomment">//Find x in R^2 such that the below function is minimum</span> -<span class="scilabcomment">//f = - x1^2 - x2^2</span> +<div class="refsection"><h3 class="title">Example</h3> +<p class="para">Unbounded Problems: Find x in R^2 such that it minimizes:</p> + <p class="para"><span><img src='./_LaTeX_fminunc.xml_4.png' style='position:relative;top:10px;width:134px;height:28px'/></span></p> + <p class="para"></p> + <div class="programlisting"><table border="0" width="100%"><tr><td width="98%"><pre class="scilabcode"><span class="scilabcomment">//Example 3: Unbounded objective function.</span> <span class="scilabcomment">//Objective function to be minimised</span> <span class="scilabfkeyword">function</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span><span class="scilabfunctionid">f</span><span class="scilabopenclose">(</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">)</span> <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilaboperator">-</span><span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">1</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span> <span class="scilaboperator">-</span> <span class="scilabinputoutputargs">x</span><span class="scilabopenclose">(</span><span class="scilabnumber">2</span><span class="scilabopenclose">)</span><span class="scilaboperator">^</span><span class="scilabnumber">2</span><span class="scilabdefault">;</span> @@ -150,7 +160,7 @@ It has type "struct" and contains the following fields. <span class="scilabinputoutputargs">y</span><span class="scilaboperator">=</span> <span class="scilabopenclose">[</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabdefault">,</span><span class="scilabnumber">0</span><span class="scilabdefault">;</span><span class="scilabnumber">0</span><span class="scilabdefault">,</span><span class="scilaboperator">-</span><span class="scilabnumber">2</span><span class="scilabopenclose">]</span><span class="scilabdefault">;</span> <span class="scilabfkeyword">endfunction</span> <span class="scilabcomment">//Options</span> -<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Gradient</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Hessian</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fHess</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> +<span class="scilabid">options</span><span class="scilaboperator">=</span><a class="scilabcommand" href="scilab://list">list</a><span class="scilabopenclose">(</span><span class="scilabstring">"</span><span class="scilabstring">MaxIter</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">1500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">CpuTime</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabopenclose">[</span><span class="scilabnumber">500</span><span class="scilabopenclose">]</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">GradObj</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fGrad</span><span class="scilabdefault">,</span> <span class="scilabstring">"</span><span class="scilabstring">Hessian</span><span class="scilabstring">"</span><span class="scilabdefault">,</span> <span class="scilabfunctionid">fHess</span><span class="scilabopenclose">)</span><span class="scilabdefault">;</span> <span class="scilabcomment">//Calling Ipopt</span> <span class="scilabopenclose">[</span><span class="scilabid">xopt</span><span class="scilabdefault">,</span><span class="scilabid">fopt</span><span class="scilabdefault">,</span><span class="scilabid">exitflag</span><span class="scilabdefault">,</span><span class="scilabid">output</span><span class="scilabdefault">,</span><span class="scilabid">gradient</span><span class="scilabdefault">,</span><span class="scilabid">hessian</span><span class="scilabopenclose">]</span><span class="scilaboperator">=</span><span class="scilabid">fminunc</span><span class="scilabopenclose">(</span><span class="scilabfunctionid">f</span><span class="scilabdefault">,</span><span class="scilabid">x0</span><span class="scilabdefault">,</span><span class="scilabid">options</span><span class="scilabopenclose">)</span></pre></td><td valign="top"><a href="scilab://scilab.execexample/"><img src="ScilabExecute.png" border="0"/></a></td><td valign="top"><a href="scilab://scilab.editexample/"><img src="ScilabEdit.png" border="0"/></a></td><td></td></tr></table></div></div> @@ -167,11 +177,11 @@ It has type "struct" and contains the following fields. </td> <td width="40%" class="center"> - <span class="top"><a href="section_031bbc67ce78762a40093bfdff4eaa3b.html">FOSSEE Optimization Toolbox</a></span> + <span class="top"><a href="section_44e1f57c5225357b5fe53cb5fad967e9.html">FOSSEE Optimization Toolbox</a></span> </td> <td width="30%" class="next"> - <span class="next"><a href="linprog.html">linprog >></a></span> + <span class="next"><a href="intfminbnd.html">intfminbnd >></a></span> </td> </tr></table> |