<?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 Outputs of Excel Solver and PROC OPTMODEL in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/Outputs-of-Excel-Solver-and-PROC-OPTMODEL/m-p/431023#M2182</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From the documentation of&amp;nbsp;PROC&amp;nbsp;OPTMODEL, I am trying to replicate the &lt;STRONG&gt;Answer Report&lt;/STRONG&gt; and &lt;STRONG&gt;Sensitivity Report&lt;/STRONG&gt; section of Excel Solver. I have picked up the example from&amp;nbsp;&lt;A href="http://people.brunel.ac.uk/~mastjjb/jeb/or/lpsens_solver.html" target="_blank"&gt;http://people.brunel.ac.uk/~mastjjb/jeb/or/lpsens_solver.html&lt;/A&gt; and trying to replicate all the outputs.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From &lt;STRONG&gt;Answer Report&lt;/STRONG&gt; section of Excel Solver output, I am not able to get the &lt;STRONG&gt;Status&lt;/STRONG&gt; and &lt;STRONG&gt;Slack&lt;/STRONG&gt;. This is not critical as&amp;nbsp;I can derive it easily. But my expectation from SAS is usually high.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem is with the &lt;STRONG&gt;Sensitivity Report&lt;/STRONG&gt; section of Excel Solver output. I am able to get &lt;STRONG&gt;Reduced Cost&lt;/STRONG&gt; (.RC) and &lt;STRONG&gt;Shadow Price&lt;/STRONG&gt; (.DUAL). However I am not able to get &lt;STRONG&gt;Allowable Increase&lt;/STRONG&gt; and &lt;STRONG&gt;Allowable&amp;nbsp;Decrease&lt;/STRONG&gt; of Variables and Constraints.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you please let me know how to get &lt;STRONG&gt;Allowable Increase&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;and&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Allowable&amp;nbsp;Decrease&lt;/STRONG&gt; in particular and replicate Excel Solver output in general using PROC OPTMODEL?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The SAS code that i have done to replicate the LP problem in the link is as follows.&lt;/P&gt;&lt;P&gt;proc optmodel;&lt;BR /&gt;ods output PrintTable=arg1 /*ProblemSummary=arg2noneed*/ /*DerivMethods=arg3absent*/&lt;BR /&gt;/*SolverOptions=arg4absent*/ /*SolutionSummary=arg5noneed*/ /*OptStatistics=arg6absent*/;&lt;BR /&gt;/* declare variables */&lt;BR /&gt;var x1&amp;gt;=0,x2&amp;gt;=0,x3&amp;gt;=0,x4&amp;gt;=0;&lt;BR /&gt;/* subject to constraints */&lt;BR /&gt;con assembly : 2*x1 + 4*x2 + 3*x3 + 7*x4 &amp;lt;= 100000;&lt;BR /&gt;con polish : 3*x1 + 2*x2 + 3*x3 + 4*x4 &amp;lt;= 50000;&lt;BR /&gt;con pack : 2*x1 + 3*x2 + 2*x3 + 5*x4 &amp;lt;= 60000;&lt;BR /&gt;/* maximize profit */&lt;BR /&gt;max profit = 1.5*x1 + 2.5*x2 + 3.0*x3 + 4.5*x4;&lt;BR /&gt;/* solve LP */&lt;BR /&gt;solve;&lt;BR /&gt;/* display solution */&lt;BR /&gt;print profit;&lt;BR /&gt;print x1.sol x2.sol x3.sol x4.sol;&lt;BR /&gt;print x1.rc x2.rc x3.rc x4.rc; /* reduced cost */&lt;BR /&gt;print assembly.body polish.body pack.body; /* cons val */&lt;BR /&gt;print assembly.dual polish.dual pack.dual; /* shadow price */&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks In Advance!&lt;/P&gt;&lt;P&gt;Arindam&lt;/P&gt;</description>
    <pubDate>Thu, 25 Jan 2018 17:59:12 GMT</pubDate>
    <dc:creator>arindam1984</dc:creator>
    <dc:date>2018-01-25T17:59:12Z</dc:date>
    <item>
      <title>Outputs of Excel Solver and PROC OPTMODEL</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Outputs-of-Excel-Solver-and-PROC-OPTMODEL/m-p/431023#M2182</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From the documentation of&amp;nbsp;PROC&amp;nbsp;OPTMODEL, I am trying to replicate the &lt;STRONG&gt;Answer Report&lt;/STRONG&gt; and &lt;STRONG&gt;Sensitivity Report&lt;/STRONG&gt; section of Excel Solver. I have picked up the example from&amp;nbsp;&lt;A href="http://people.brunel.ac.uk/~mastjjb/jeb/or/lpsens_solver.html" target="_blank"&gt;http://people.brunel.ac.uk/~mastjjb/jeb/or/lpsens_solver.html&lt;/A&gt; and trying to replicate all the outputs.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From &lt;STRONG&gt;Answer Report&lt;/STRONG&gt; section of Excel Solver output, I am not able to get the &lt;STRONG&gt;Status&lt;/STRONG&gt; and &lt;STRONG&gt;Slack&lt;/STRONG&gt;. This is not critical as&amp;nbsp;I can derive it easily. But my expectation from SAS is usually high.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem is with the &lt;STRONG&gt;Sensitivity Report&lt;/STRONG&gt; section of Excel Solver output. I am able to get &lt;STRONG&gt;Reduced Cost&lt;/STRONG&gt; (.RC) and &lt;STRONG&gt;Shadow Price&lt;/STRONG&gt; (.DUAL). However I am not able to get &lt;STRONG&gt;Allowable Increase&lt;/STRONG&gt; and &lt;STRONG&gt;Allowable&amp;nbsp;Decrease&lt;/STRONG&gt; of Variables and Constraints.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Can you please let me know how to get &lt;STRONG&gt;Allowable Increase&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;and&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Allowable&amp;nbsp;Decrease&lt;/STRONG&gt; in particular and replicate Excel Solver output in general using PROC OPTMODEL?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The SAS code that i have done to replicate the LP problem in the link is as follows.&lt;/P&gt;&lt;P&gt;proc optmodel;&lt;BR /&gt;ods output PrintTable=arg1 /*ProblemSummary=arg2noneed*/ /*DerivMethods=arg3absent*/&lt;BR /&gt;/*SolverOptions=arg4absent*/ /*SolutionSummary=arg5noneed*/ /*OptStatistics=arg6absent*/;&lt;BR /&gt;/* declare variables */&lt;BR /&gt;var x1&amp;gt;=0,x2&amp;gt;=0,x3&amp;gt;=0,x4&amp;gt;=0;&lt;BR /&gt;/* subject to constraints */&lt;BR /&gt;con assembly : 2*x1 + 4*x2 + 3*x3 + 7*x4 &amp;lt;= 100000;&lt;BR /&gt;con polish : 3*x1 + 2*x2 + 3*x3 + 4*x4 &amp;lt;= 50000;&lt;BR /&gt;con pack : 2*x1 + 3*x2 + 2*x3 + 5*x4 &amp;lt;= 60000;&lt;BR /&gt;/* maximize profit */&lt;BR /&gt;max profit = 1.5*x1 + 2.5*x2 + 3.0*x3 + 4.5*x4;&lt;BR /&gt;/* solve LP */&lt;BR /&gt;solve;&lt;BR /&gt;/* display solution */&lt;BR /&gt;print profit;&lt;BR /&gt;print x1.sol x2.sol x3.sol x4.sol;&lt;BR /&gt;print x1.rc x2.rc x3.rc x4.rc; /* reduced cost */&lt;BR /&gt;print assembly.body polish.body pack.body; /* cons val */&lt;BR /&gt;print assembly.dual polish.dual pack.dual; /* shadow price */&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks In Advance!&lt;/P&gt;&lt;P&gt;Arindam&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jan 2018 17:59:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Outputs-of-Excel-Solver-and-PROC-OPTMODEL/m-p/431023#M2182</guid>
      <dc:creator>arindam1984</dc:creator>
      <dc:date>2018-01-25T17:59:12Z</dc:date>
    </item>
    <item>
      <title>Re: Outputs of Excel Solver and PROC OPTMODEL</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Outputs-of-Excel-Solver-and-PROC-OPTMODEL/m-p/431089#M2183</link>
      <description>&lt;P&gt;You can get the basis information from the .STATUS suffix:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://go.documentation.sas.com/?docsetId=ormpug&amp;amp;docsetVersion=14.3&amp;amp;docsetTarget=ormpug_lpsolver_details12.htm&amp;amp;locale=en" target="_blank"&gt;http://go.documentation.sas.com/?docsetId=ormpug&amp;amp;docsetVersion=14.3&amp;amp;docsetTarget=ormpug_lpsolver_details12.htm&amp;amp;locale=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note also that you can use the problem symbols _VAR_ and_CON_ to&amp;nbsp;shorten the code:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;print _VAR_.name _VAR_.sol  _VAR_.status _VAR_.rc;
print _CON_.name _CON_.body _CON_.status _CON_.dual;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For nonbasic variables, you can read off the allowable increase or decrease from the .RC suffix.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The other parts depend on the optimal tableau, which is not returned to the user.&amp;nbsp; For&amp;nbsp;your small instance, you can compute B inverse directly and use the techniques discussed in linear programming textbooks.&amp;nbsp; For example, see Section 6.3 (Sensitivity Analysis) in Winston's &lt;EM&gt;Operations Research&lt;/EM&gt;.&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jan 2018 20:52:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Outputs-of-Excel-Solver-and-PROC-OPTMODEL/m-p/431089#M2183</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2018-01-25T20:52:13Z</dc:date>
    </item>
    <item>
      <title>Re: Outputs of Excel Solver and PROC OPTMODEL</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Outputs-of-Excel-Solver-and-PROC-OPTMODEL/m-p/431191#M2184</link>
      <description>&lt;P&gt;Well it is unfortunate that SAS does not return the&amp;nbsp;&lt;SPAN&gt;optimal tableau to give me the allowable increase and decrease. The example I gave was just to co-relate with the available excel solver output. My actual problem is very different but is still a LP.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Jan 2018 08:28:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Outputs-of-Excel-Solver-and-PROC-OPTMODEL/m-p/431191#M2184</guid>
      <dc:creator>arindam1984</dc:creator>
      <dc:date>2018-01-26T08:28:19Z</dc:date>
    </item>
  </channel>
</rss>

