<?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 Iterative excel solver in sas in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Iterative-excel-solver-in-sas/m-p/766244#M242828</link>
    <description>&lt;P&gt;Hello All&lt;/P&gt;&lt;P&gt;I'm trying to replicate in SAS a procedure I use in Excel. This procedure is basically an iterative solver (through a macro) that puts the variable Delta (Sum square error of actual and predicted value) to minimum value by changing the values of the Index value(starting with null values) used to calculate predict value.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The input data start like this:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;bucket&lt;/TD&gt;&lt;TD&gt;score&lt;/TD&gt;&lt;TD&gt;actual&lt;/TD&gt;&lt;TD&gt;predicted&lt;/TD&gt;&lt;TD&gt;delta&lt;/TD&gt;&lt;TD&gt;index&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;-2.38219&lt;/TD&gt;&lt;TD&gt;0.011488&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;-0.64283&lt;/TD&gt;&lt;TD&gt;0.323792&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;-0.19096&lt;/TD&gt;&lt;TD&gt;0.5008&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0.379314&lt;/TD&gt;&lt;TD&gt;0.693121&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- bucket, score and actual are inputs;&lt;/P&gt;&lt;P&gt;- index values are generated by Excel; Used in calculating predicted which is further used to find the delta&lt;/P&gt;&lt;P&gt;- predicted is given by&amp;nbsp;NORM.S.DIST(score + index, TRUE)&lt;/P&gt;&lt;P&gt;- Delta is minimum sum square error (actual, predicted)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The solver objective function is Delta, it operates by changing index values and the constraint is predicted value should be such that minimum delta value. It runs for each cell.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After solver macro, the desired output is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;bucket&lt;/TD&gt;&lt;TD&gt;score&lt;/TD&gt;&lt;TD&gt;actual&lt;/TD&gt;&lt;TD&gt;predicted&lt;/TD&gt;&lt;TD&gt;delta&lt;/TD&gt;&lt;TD&gt;index&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;-2.38219&lt;/TD&gt;&lt;TD&gt;0.011488&lt;/TD&gt;&lt;TD&gt;0.013501&lt;/TD&gt;&lt;TD&gt;0.000359105&lt;/TD&gt;&lt;TD&gt;0.170699&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;-0.64283&lt;/TD&gt;&lt;TD&gt;0.323792&lt;/TD&gt;&lt;TD&gt;0.318416&lt;/TD&gt;&lt;TD&gt;0.000359105&lt;/TD&gt;&lt;TD&gt;0.170699&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;-0.19096&lt;/TD&gt;&lt;TD&gt;0.5008&lt;/TD&gt;&lt;TD&gt;0.491916&lt;/TD&gt;&lt;TD&gt;0.000359105&lt;/TD&gt;&lt;TD&gt;0.170699&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0.379314&lt;/TD&gt;&lt;TD&gt;0.693121&lt;/TD&gt;&lt;TD&gt;0.708845&lt;/TD&gt;&lt;TD&gt;0.000359105&lt;/TD&gt;&lt;TD&gt;0.170699&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to do this in SAS except&amp;nbsp; for proc optmodel as I don't have license for SAS/OR?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have been trying and searching for a few days, without success.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If anyone could help with the code for this, it would be very much helpful and appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;Satyakshma Rawat&lt;/P&gt;</description>
    <pubDate>Mon, 06 Sep 2021 17:50:34 GMT</pubDate>
    <dc:creator>Satyakshma</dc:creator>
    <dc:date>2021-09-06T17:50:34Z</dc:date>
    <item>
      <title>Iterative excel solver in sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Iterative-excel-solver-in-sas/m-p/766244#M242828</link>
      <description>&lt;P&gt;Hello All&lt;/P&gt;&lt;P&gt;I'm trying to replicate in SAS a procedure I use in Excel. This procedure is basically an iterative solver (through a macro) that puts the variable Delta (Sum square error of actual and predicted value) to minimum value by changing the values of the Index value(starting with null values) used to calculate predict value.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The input data start like this:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;bucket&lt;/TD&gt;&lt;TD&gt;score&lt;/TD&gt;&lt;TD&gt;actual&lt;/TD&gt;&lt;TD&gt;predicted&lt;/TD&gt;&lt;TD&gt;delta&lt;/TD&gt;&lt;TD&gt;index&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;-2.38219&lt;/TD&gt;&lt;TD&gt;0.011488&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;-0.64283&lt;/TD&gt;&lt;TD&gt;0.323792&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;-0.19096&lt;/TD&gt;&lt;TD&gt;0.5008&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0.379314&lt;/TD&gt;&lt;TD&gt;0.693121&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- bucket, score and actual are inputs;&lt;/P&gt;&lt;P&gt;- index values are generated by Excel; Used in calculating predicted which is further used to find the delta&lt;/P&gt;&lt;P&gt;- predicted is given by&amp;nbsp;NORM.S.DIST(score + index, TRUE)&lt;/P&gt;&lt;P&gt;- Delta is minimum sum square error (actual, predicted)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The solver objective function is Delta, it operates by changing index values and the constraint is predicted value should be such that minimum delta value. It runs for each cell.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After solver macro, the desired output is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;bucket&lt;/TD&gt;&lt;TD&gt;score&lt;/TD&gt;&lt;TD&gt;actual&lt;/TD&gt;&lt;TD&gt;predicted&lt;/TD&gt;&lt;TD&gt;delta&lt;/TD&gt;&lt;TD&gt;index&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;-2.38219&lt;/TD&gt;&lt;TD&gt;0.011488&lt;/TD&gt;&lt;TD&gt;0.013501&lt;/TD&gt;&lt;TD&gt;0.000359105&lt;/TD&gt;&lt;TD&gt;0.170699&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;-0.64283&lt;/TD&gt;&lt;TD&gt;0.323792&lt;/TD&gt;&lt;TD&gt;0.318416&lt;/TD&gt;&lt;TD&gt;0.000359105&lt;/TD&gt;&lt;TD&gt;0.170699&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;-0.19096&lt;/TD&gt;&lt;TD&gt;0.5008&lt;/TD&gt;&lt;TD&gt;0.491916&lt;/TD&gt;&lt;TD&gt;0.000359105&lt;/TD&gt;&lt;TD&gt;0.170699&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0.379314&lt;/TD&gt;&lt;TD&gt;0.693121&lt;/TD&gt;&lt;TD&gt;0.708845&lt;/TD&gt;&lt;TD&gt;0.000359105&lt;/TD&gt;&lt;TD&gt;0.170699&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to do this in SAS except&amp;nbsp; for proc optmodel as I don't have license for SAS/OR?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have been trying and searching for a few days, without success.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If anyone could help with the code for this, it would be very much helpful and appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind Regards,&lt;/P&gt;&lt;P&gt;Satyakshma Rawat&lt;/P&gt;</description>
      <pubDate>Mon, 06 Sep 2021 17:50:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Iterative-excel-solver-in-sas/m-p/766244#M242828</guid>
      <dc:creator>Satyakshma</dc:creator>
      <dc:date>2021-09-06T17:50:34Z</dc:date>
    </item>
    <item>
      <title>Re: Iterative excel solver in sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Iterative-excel-solver-in-sas/m-p/766286#M242846</link>
      <description>Yes, this is doable in SAS in a data step. You should probably start by providing data as data steps and trying to solve some of it yourself though. At least some of the basic stuff - ie generating the random values and getting the normal distribution calcs. Basically get the first iteration done and then we can show you how to iterate it to get it all working.</description>
      <pubDate>Tue, 07 Sep 2021 01:29:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Iterative-excel-solver-in-sas/m-p/766286#M242846</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2021-09-07T01:29:09Z</dc:date>
    </item>
    <item>
      <title>Re: Iterative excel solver in sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Iterative-excel-solver-in-sas/m-p/766292#M242850</link>
      <description>Hi Reeza,&lt;BR /&gt;&lt;BR /&gt;I am facing problem in generating random values itself. I am not able to identify the way to generate random values using which I can do normal distribution calculations.</description>
      <pubDate>Tue, 07 Sep 2021 01:39:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Iterative-excel-solver-in-sas/m-p/766292#M242850</guid>
      <dc:creator>Satyakshma</dc:creator>
      <dc:date>2021-09-07T01:39:21Z</dc:date>
    </item>
    <item>
      <title>Re: Iterative excel solver in sas</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Iterative-excel-solver-in-sas/m-p/766297#M242853</link>
      <description>As the generation of random values to calculate the normal distribution is dependent on the constraint that delta value should be minimum. As I am new to SAS, I am facing difficulty in writing code to satisfy the constraint and generate results.</description>
      <pubDate>Tue, 07 Sep 2021 01:51:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Iterative-excel-solver-in-sas/m-p/766297#M242853</guid>
      <dc:creator>Satyakshma</dc:creator>
      <dc:date>2021-09-07T01:51:51Z</dc:date>
    </item>
  </channel>
</rss>

