<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: termination criterion with NLPQN in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/termination-criterion-with-NLPQN/m-p/416674#M102332</link>
    <description>&lt;P&gt;Post it at IML forum,since it is real IML code. and could try another initial value .&lt;/P&gt;</description>
    <pubDate>Tue, 28 Nov 2017 13:18:45 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2017-11-28T13:18:45Z</dc:date>
    <item>
      <title>termination criterion with NLPQN</title>
      <link>https://communities.sas.com/t5/SAS-Programming/termination-criterion-with-NLPQN/m-p/416611#M102311</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am doing a quasi newton optimization method but I have a problem. The optimization stop before I find the global minimum.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wonder if I could use a termination criterion of 1e-4 in order to stop the optimization after getting an objective function as small as I want and if it is possible, how to do it?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is my code&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;iml&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use a;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read all var _NUM_ into data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; close a;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * Chargement des fonctions ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; reset storage = &amp;amp;lib.&lt;STRONG&gt;.F&lt;/STRONG&gt;unctions;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; load module=(function1 function2);&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters = j(&lt;STRONG&gt;5&lt;/STRONG&gt;, &lt;STRONG&gt;1&lt;/STRONG&gt;, &lt;STRONG&gt;.&lt;/STRONG&gt;) ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters[&lt;STRONG&gt;1&lt;/STRONG&gt;] = &lt;STRONG&gt;1.1&lt;/STRONG&gt; ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters[&lt;STRONG&gt;2&lt;/STRONG&gt;] = &lt;STRONG&gt;5&lt;/STRONG&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters[&lt;STRONG&gt;3&lt;/STRONG&gt;] = &lt;STRONG&gt;2&lt;/STRONG&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters[&lt;STRONG&gt;4&lt;/STRONG&gt;] = &lt;STRONG&gt;1.5&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parameters[&lt;STRONG&gt;5&lt;/STRONG&gt;]= &lt;STRONG&gt;0.9&lt;/STRONG&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; con = {-&lt;STRONG&gt;10&lt;/STRONG&gt; &lt;STRONG&gt;1E-6&lt;/STRONG&gt; -&lt;STRONG&gt;10&lt;/STRONG&gt; &lt;STRONG&gt;1E-6&lt;/STRONG&gt; &lt;STRONG&gt;1E-6&lt;/STRONG&gt;, &lt;STRONG&gt;10&lt;/STRONG&gt; &lt;STRONG&gt;10&lt;/STRONG&gt; &lt;STRONG&gt;10&lt;/STRONG&gt; &lt;STRONG&gt;10&lt;/STRONG&gt; &lt;STRONG&gt;1&lt;/STRONG&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; opt = {&lt;STRONG&gt;1&lt;/STRONG&gt; &lt;STRONG&gt;4&lt;/STRONG&gt;} ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *Quasi-Newton Method ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call NLPQN(rc, parameters, "function1", theta, opt, con);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;quit ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Moreover, this is the value of the objective function I get. You can see it is quite neer from each other at 10-4&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="test.PNG" style="width: 297px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/16878i844654F417D62186/image-size/large?v=v2&amp;amp;px=999" role="button" title="test.PNG" alt="test.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Thank you for helping&lt;/P&gt;</description>
      <pubDate>Tue, 28 Nov 2017 13:33:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/termination-criterion-with-NLPQN/m-p/416611#M102311</guid>
      <dc:creator>madix</dc:creator>
      <dc:date>2017-11-28T13:33:49Z</dc:date>
    </item>
    <item>
      <title>Re: termination criterion with NLPQN</title>
      <link>https://communities.sas.com/t5/SAS-Programming/termination-criterion-with-NLPQN/m-p/416674#M102332</link>
      <description>&lt;P&gt;Post it at IML forum,since it is real IML code. and could try another initial value .&lt;/P&gt;</description>
      <pubDate>Tue, 28 Nov 2017 13:18:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/termination-criterion-with-NLPQN/m-p/416674#M102332</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-11-28T13:18:45Z</dc:date>
    </item>
  </channel>
</rss>

