<?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 How to use submit block to control constraints in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159309#M807</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Saw a youtube video yesterday. Ed Hughes showed how to use SUBMIT block with PROC CLP to add one more constraint in OPTMODEL procedure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;His example is too complicated and I have hard time to understand all details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any simple case which I can start with?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User guide and course note don't have much info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 27 Mar 2014 20:23:08 GMT</pubDate>
    <dc:creator>neilxu</dc:creator>
    <dc:date>2014-03-27T20:23:08Z</dc:date>
    <item>
      <title>How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159309#M807</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Saw a youtube video yesterday. Ed Hughes showed how to use SUBMIT block with PROC CLP to add one more constraint in OPTMODEL procedure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;His example is too complicated and I have hard time to understand all details.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any simple case which I can start with?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;User guide and course note don't have much info.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Mar 2014 20:23:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159309#M807</guid>
      <dc:creator>neilxu</dc:creator>
      <dc:date>2014-03-27T20:23:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159310#M808</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here's an example that uses a SUBMIT block to call a DATA step and PROC GPLOT to plot intermediate solutions during a classical row-generation approach to the TSP:&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/documentation/cdl/en/ormpug/66851/HTML/default/viewer.htm#ormpug_optmodel_examples06.htm" title="http://support.sas.com/documentation/cdl/en/ormpug/66851/HTML/default/viewer.htm#ormpug_optmodel_examples06.htm"&gt;SAS/OR(R) 13.1 User's Guide: Mathematical Programming&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If that example isn't helpful, maybe you can describe what you had in mind.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Mar 2014 21:06:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159310#M808</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2014-03-27T21:06:45Z</dc:date>
    </item>
    <item>
      <title>Re: How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159311#M809</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Rob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did read the part, however the SUBMIT/ENDSUBMIT block is not a constraint. That block takes the outputs and plots a graph.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I am looking at is to embed a constraint in SUBMIT/ENDSUBMIT block. Any simple example?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2014 15:55:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159311#M809</guid>
      <dc:creator>neilxu</dc:creator>
      <dc:date>2014-03-28T15:55:44Z</dc:date>
    </item>
    <item>
      <title>Re: How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159312#M810</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not quite sure what you mean by embedding a constraint.&amp;nbsp; The job shop example shown by Ed uses SUBMIT to call PROC CLP, and the resulting output provides information that can be used to add valid constraints to the MILP model.&amp;nbsp; Can you provide some more detail about your use case?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2014 16:14:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159312#M810</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2014-03-28T16:14:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159313#M811</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Rob.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is in current OPTMODEL, one of our SAS programmers cannot call expmatrix function. So I rewrote everything in IML with Rick's help. However I am wondering if possible to call expmatrix function in SUBMIT/ENDSUBMIT block. My guess is it's highly possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So you are right, the youtube example uses SUBMIT to generate output info that can be used as a constraint. My specific question is: that example is too complicated. Do you have some simple examples I can start with?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2014 18:06:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159313#M811</guid>
      <dc:creator>neilxu</dc:creator>
      <dc:date>2014-03-28T18:06:09Z</dc:date>
    </item>
    <item>
      <title>Re: How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159314#M812</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Now that PROC OPTMODEL supports FCMP functions and routines, I think the examples from this post will help you:&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://communities.sas.com/message/146656#146656"&gt;https://communities.sas.com/message/146656#146656&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that expmatrix is one of the routines provided by PROC FCMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The SUBMIT block is useful, but in this case I think FCMP support is the more appropriate OPTMODEL feature for your needs.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Mar 2014 18:31:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159314#M812</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2014-03-28T18:31:40Z</dc:date>
    </item>
    <item>
      <title>Re: How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159315#M813</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rob,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for your help. Unfortunately, we are still using SAS9.3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My thought is: keep the original OPTMODEL, add one more constraint in SUBMIT block.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you show me how to use SUBMIT instead of FCMP, for example?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Mar 2014 14:56:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159315#M813</guid>
      <dc:creator>neilxu</dc:creator>
      <dc:date>2014-03-31T14:56:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159316#M814</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;FCMP enablement has actually been hidden for several releases and is officially supported in 13.1.&amp;nbsp; You might try using it with your earlier release and see if it just works. Using SUBMIT instead would require an indirect approach with multiple solver calls.&amp;nbsp; And I would need more explicit details about your intended constraint.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Mar 2014 16:26:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159316#M814</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2014-03-31T16:26:05Z</dc:date>
    </item>
    <item>
      <title>Re: How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159317#M815</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rob,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We tried and it didn't work. We even contact SAS support and raised a ticket. Nor working at this moment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for example, we are minimize the function&lt;/P&gt;&lt;P&gt;min z=sum{i,j} ( x[i,j] - y[i,j] ) **2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the constraints are, for example:&lt;/P&gt;&lt;P&gt;con condition1{i}: sum{j} x[i,j]=1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;now we want to introduce expmatrix(x,3,z) and make sure z is satisfied with some other conditions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you give us an example how to use SUBMIT block?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 13:23:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159317#M815</guid>
      <dc:creator>neilxu</dc:creator>
      <dc:date>2014-04-01T13:23:16Z</dc:date>
    </item>
    <item>
      <title>Re: How to use submit block to control constraints</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159318#M816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'll be glad to help, but I still need more details.&amp;nbsp; What does your constraint that involves expmatrix look like?&amp;nbsp; It looks like you have overloaded z as the name your objective function and as the third argument of expmatrix.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Apr 2014 13:52:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/How-to-use-submit-block-to-control-constraints/m-p/159318#M816</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2014-04-01T13:52:58Z</dc:date>
    </item>
  </channel>
</rss>

