<?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: alternative procedure for SOS? in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57453#M439</link>
    <description>My first post got messed up. Here is my whole answer&lt;BR /&gt;
&lt;BR /&gt;
OPTMILP doesn't support SOS yet. It is in our plan to add it. &lt;BR /&gt;
&lt;BR /&gt;
If the variables (for example, x1, x2, x 3, x4) in SOS are all binary, then can add a constraint &lt;BR /&gt;
&lt;BR /&gt;
x1 + x2 + x3 + x4 = 1 (for SOREQ) or x1 + x2 + x3 + x4 = 0 (for SORLE)&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
If the variables in SOS are not all binary, but all &amp;gt;= 0, then can add a set of constraints and some extra variables&lt;BR /&gt;
&lt;BR /&gt;
x1 &amp;lt; M1 * y1&lt;BR /&gt;
x2 &amp;lt; M1 * y2&lt;BR /&gt;
x3 &amp;lt; M1 * y3&lt;BR /&gt;
x4 &amp;lt; M1 * y4&lt;BR /&gt;
y1 + y2 + y3 + y4 = 1 (for SOREQ) or y1 + y2 + y3 + y4 = 0 (for SORLE)&lt;BR /&gt;
yi are binary, Mi are upper bound of xi.&lt;BR /&gt;
&lt;BR /&gt;
PROC LP is a legacy proc, it may not perform well when the instances are large. &lt;BR /&gt;
OPTMODEL can be used to model this efficiently, it doc can be found at &lt;A href="http://www.sas.com" target="_blank"&gt;www.sas.com&lt;/A&gt; and search for documentation and OPTMODEL. &lt;BR /&gt;
&lt;BR /&gt;
(somehow the forum doesn't display web link correctly)</description>
    <pubDate>Tue, 04 Jan 2011 19:43:56 GMT</pubDate>
    <dc:creator>YanXu</dc:creator>
    <dc:date>2011-01-04T19:43:56Z</dc:date>
    <item>
      <title>alternative procedure for SOS?</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57451#M437</link>
      <description>Hi all,&lt;BR /&gt;
&lt;BR /&gt;
Is there another way to modeling a milp problem with special ordered set (SOS)? there 're keywords SOSEQ and SOSLE in PROC LP format,  But if I convert this to MPS-format Sas Data Set (to input it to OPTMILP), they will be ignored. So if I have a model with SOS, I can solve it with PROC LP only? &lt;BR /&gt;
&lt;BR /&gt;
thanks!</description>
      <pubDate>Mon, 03 Jan 2011 10:24:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57451#M437</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2011-01-03T10:24:04Z</dc:date>
    </item>
    <item>
      <title>Re: alternative procedure for SOS?</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57452#M438</link>
      <description>OPTMILP doesn't support SOS yet. It is in our plan to add it. &lt;BR /&gt;
&lt;BR /&gt;
If the variables (for example, x1, x2, x 3, x4) in SOS are all binary, then can add a constraint  &lt;BR /&gt;
&lt;BR /&gt;
x1 + x2 + x3 + x4 = 1 (for SOREQ) or x1 + x2 + x3 + x4 &amp;lt;= 1 (for SORLQ)&lt;BR /&gt;
&lt;BR /&gt;
If the variables are not all binary (but all are &amp;gt;= 0), then can add a set of constraints and same extra variables&lt;BR /&gt;
&lt;BR /&gt;
x1 &amp;lt;= M1 * y1&lt;BR /&gt;
x2 &amp;lt;= M2 * y2&lt;BR /&gt;
x3 &amp;lt;= M3 * y3&lt;BR /&gt;
x4 &amp;lt;= M4 * y4&lt;BR /&gt;
y1 + y2 + y3 + y4 = 1 (for SOREQ) or y1 + y2 + y3 + y4 &amp;lt;= 1 (for SORLQ)&lt;BR /&gt;
yi are binary. Mi is the upper bound of xi&lt;BR /&gt;
&lt;BR /&gt;
You can use OPTMODEL to model and solve your problem efficiently. Document is here&lt;BR /&gt;
&lt;A href="http://support.sas.com/documentation/cdl/en/ormpug/63352/HTML/default/viewer.htm#optmodel_toc.htm" target="_blank"&gt;http://support.sas.com/documentation/cdl/en/ormpug/63352/HTML/default/viewer.htm#optmodel_toc.htm&lt;/A&gt;&lt;BR /&gt;
&lt;BR /&gt;
PROC LP is a legacy proc. It may have trouble when solving large instances.</description>
      <pubDate>Tue, 04 Jan 2011 19:33:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57452#M438</guid>
      <dc:creator>YanXu</dc:creator>
      <dc:date>2011-01-04T19:33:48Z</dc:date>
    </item>
    <item>
      <title>Re: alternative procedure for SOS?</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57453#M439</link>
      <description>My first post got messed up. Here is my whole answer&lt;BR /&gt;
&lt;BR /&gt;
OPTMILP doesn't support SOS yet. It is in our plan to add it. &lt;BR /&gt;
&lt;BR /&gt;
If the variables (for example, x1, x2, x 3, x4) in SOS are all binary, then can add a constraint &lt;BR /&gt;
&lt;BR /&gt;
x1 + x2 + x3 + x4 = 1 (for SOREQ) or x1 + x2 + x3 + x4 = 0 (for SORLE)&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
If the variables in SOS are not all binary, but all &amp;gt;= 0, then can add a set of constraints and some extra variables&lt;BR /&gt;
&lt;BR /&gt;
x1 &amp;lt; M1 * y1&lt;BR /&gt;
x2 &amp;lt; M1 * y2&lt;BR /&gt;
x3 &amp;lt; M1 * y3&lt;BR /&gt;
x4 &amp;lt; M1 * y4&lt;BR /&gt;
y1 + y2 + y3 + y4 = 1 (for SOREQ) or y1 + y2 + y3 + y4 = 0 (for SORLE)&lt;BR /&gt;
yi are binary, Mi are upper bound of xi.&lt;BR /&gt;
&lt;BR /&gt;
PROC LP is a legacy proc, it may not perform well when the instances are large. &lt;BR /&gt;
OPTMODEL can be used to model this efficiently, it doc can be found at &lt;A href="http://www.sas.com" target="_blank"&gt;www.sas.com&lt;/A&gt; and search for documentation and OPTMODEL. &lt;BR /&gt;
&lt;BR /&gt;
(somehow the forum doesn't display web link correctly)</description>
      <pubDate>Tue, 04 Jan 2011 19:43:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57453#M439</guid>
      <dc:creator>YanXu</dc:creator>
      <dc:date>2011-01-04T19:43:56Z</dc:date>
    </item>
    <item>
      <title>Re: alternative procedure for SOS?</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57454#M440</link>
      <description>x1 + x2 + x3 + x4 = 0 (for SORLE) should be &lt;BR /&gt;
&lt;BR /&gt;
 x1 + x2 + x3 + x4 lessOrEq 1 (for SORLE)</description>
      <pubDate>Tue, 04 Jan 2011 20:12:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57454#M440</guid>
      <dc:creator>YanXu</dc:creator>
      <dc:date>2011-01-04T20:12:05Z</dc:date>
    </item>
    <item>
      <title>Re: alternative procedure for SOS?</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57455#M441</link>
      <description>Thank you so much Yan Xu.</description>
      <pubDate>Tue, 04 Jan 2011 20:46:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/alternative-procedure-for-SOS/m-p/57455#M441</guid>
      <dc:creator>deleted_user</dc:creator>
      <dc:date>2011-01-04T20:46:22Z</dc:date>
    </item>
  </channel>
</rss>

