<?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 HELP!!! An integer nonlinear problem - proc optmodel in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/HELP-An-integer-nonlinear-problem-proc-optmodel/m-p/763511#M3474</link>
    <description>&lt;P&gt;I am trying to solve an integer nonlinear problem like this:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;There are five providers (p1, p2, .. p5), at three locations (g, s, t), seeing patients with 2 different types of visits: office visits and video visits.&lt;/LI&gt;&lt;LI&gt;For the next 10 business days, at each location, the demand for these two types of visits are:&lt;/LI&gt;&lt;/UL&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;location g&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;location s&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;location t&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Office Visit&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;80&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;70&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;90&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Video Visit&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;25&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;31&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;27&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;UL&gt;&lt;LI&gt;For each provider, they can have as many as 7 office visits, and 3 video visits per day.&lt;/LI&gt;&lt;LI&gt;For each provider, they can work no more than 6 days within the next 10 business days.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to see how to allocate these providers in these locations, to meet the demand most.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here are my codes, and I have 15 variables, represent the number of days for each provider to stay in one location for the next 10 days. For example, p1g means the number of days that provider p1 at location g.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc optmodel;&lt;BR /&gt;var p1g&amp;lt;=6 &amp;gt;=0 , p2g&amp;lt;=6&amp;gt;=0, p3g&amp;lt;=6&amp;gt;=0, p4g&amp;lt;=6&amp;gt;=0, p5g&amp;lt;=6&amp;gt;=0 integer;&lt;BR /&gt;var p1s&amp;lt;=6&amp;gt;=0, p2s&amp;lt;=6&amp;gt;=0, p3s&amp;lt;=6&amp;gt;=0 ,p4s&amp;lt;=6&amp;gt;=0, p5s&amp;lt;=6&amp;gt;=0 integer;&lt;BR /&gt;var p1t&amp;lt;=6&amp;gt;=0,&amp;nbsp; p2t&amp;lt;=6&amp;gt;=0, p3t&amp;lt;=6&amp;gt;=0, p4t&amp;lt;=6&amp;gt;=0, p5t&amp;lt;=6&amp;gt;=0 integer;&lt;BR /&gt;&lt;BR /&gt;/* declare objective */&lt;BR /&gt;impvar OfficeVisit=min(7*(p1g+p2g+p3g+p4g+p5g),80)&lt;BR /&gt;&amp;nbsp; +min(7*(p1s+p2s+p3s+p4s+p5s),70)&lt;BR /&gt;&amp;nbsp; +min(7*(p1t+p2t+p3t+p4t+p5t),90);&lt;BR /&gt;impvar VideoVisit=min(3*(p1g+p2g+p3g+p4g+p5g),25)&lt;BR /&gt;&amp;nbsp; +min(3*(p1s+p2s+p3s+p4s+p5s),31)&lt;BR /&gt;&amp;nbsp; +min(3*(p1t+p2t+p3t+p4t+p5t),27);&lt;BR /&gt;&lt;BR /&gt;/*declare constraints*/&lt;BR /&gt;con p1g +p1s +p1t&amp;lt;=6;&lt;BR /&gt;con p2g +p2s +p2t&amp;lt;=6;&lt;BR /&gt;con p3g +p3s +p3t&amp;lt;=6;&lt;BR /&gt;con p4g +p4s +p4t&amp;lt;=6;&lt;BR /&gt;con p5g +p5s +p5t&amp;lt;=6;&lt;BR /&gt;&lt;BR /&gt;max bts = OfficeVisit + VideoVisit;&lt;BR /&gt;solve ;&lt;BR /&gt;print p1g p2g p3g p4g p5g p1s p2s p3s p4s p5s p1t p2t p3t p4t p5t;&lt;BR /&gt;quit;&lt;/P&gt;</description>
    <pubDate>Tue, 24 Aug 2021 14:06:08 GMT</pubDate>
    <dc:creator>claridad123</dc:creator>
    <dc:date>2021-08-24T14:06:08Z</dc:date>
    <item>
      <title>HELP!!! An integer nonlinear problem - proc optmodel</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/HELP-An-integer-nonlinear-problem-proc-optmodel/m-p/763511#M3474</link>
      <description>&lt;P&gt;I am trying to solve an integer nonlinear problem like this:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;There are five providers (p1, p2, .. p5), at three locations (g, s, t), seeing patients with 2 different types of visits: office visits and video visits.&lt;/LI&gt;&lt;LI&gt;For the next 10 business days, at each location, the demand for these two types of visits are:&lt;/LI&gt;&lt;/UL&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;location g&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;location s&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;location t&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Office Visit&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;80&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;70&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;90&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Video Visit&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;25&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;31&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;27&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;UL&gt;&lt;LI&gt;For each provider, they can have as many as 7 office visits, and 3 video visits per day.&lt;/LI&gt;&lt;LI&gt;For each provider, they can work no more than 6 days within the next 10 business days.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to see how to allocate these providers in these locations, to meet the demand most.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here are my codes, and I have 15 variables, represent the number of days for each provider to stay in one location for the next 10 days. For example, p1g means the number of days that provider p1 at location g.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc optmodel;&lt;BR /&gt;var p1g&amp;lt;=6 &amp;gt;=0 , p2g&amp;lt;=6&amp;gt;=0, p3g&amp;lt;=6&amp;gt;=0, p4g&amp;lt;=6&amp;gt;=0, p5g&amp;lt;=6&amp;gt;=0 integer;&lt;BR /&gt;var p1s&amp;lt;=6&amp;gt;=0, p2s&amp;lt;=6&amp;gt;=0, p3s&amp;lt;=6&amp;gt;=0 ,p4s&amp;lt;=6&amp;gt;=0, p5s&amp;lt;=6&amp;gt;=0 integer;&lt;BR /&gt;var p1t&amp;lt;=6&amp;gt;=0,&amp;nbsp; p2t&amp;lt;=6&amp;gt;=0, p3t&amp;lt;=6&amp;gt;=0, p4t&amp;lt;=6&amp;gt;=0, p5t&amp;lt;=6&amp;gt;=0 integer;&lt;BR /&gt;&lt;BR /&gt;/* declare objective */&lt;BR /&gt;impvar OfficeVisit=min(7*(p1g+p2g+p3g+p4g+p5g),80)&lt;BR /&gt;&amp;nbsp; +min(7*(p1s+p2s+p3s+p4s+p5s),70)&lt;BR /&gt;&amp;nbsp; +min(7*(p1t+p2t+p3t+p4t+p5t),90);&lt;BR /&gt;impvar VideoVisit=min(3*(p1g+p2g+p3g+p4g+p5g),25)&lt;BR /&gt;&amp;nbsp; +min(3*(p1s+p2s+p3s+p4s+p5s),31)&lt;BR /&gt;&amp;nbsp; +min(3*(p1t+p2t+p3t+p4t+p5t),27);&lt;BR /&gt;&lt;BR /&gt;/*declare constraints*/&lt;BR /&gt;con p1g +p1s +p1t&amp;lt;=6;&lt;BR /&gt;con p2g +p2s +p2t&amp;lt;=6;&lt;BR /&gt;con p3g +p3s +p3t&amp;lt;=6;&lt;BR /&gt;con p4g +p4s +p4t&amp;lt;=6;&lt;BR /&gt;con p5g +p5s +p5t&amp;lt;=6;&lt;BR /&gt;&lt;BR /&gt;max bts = OfficeVisit + VideoVisit;&lt;BR /&gt;solve ;&lt;BR /&gt;print p1g p2g p3g p4g p5g p1s p2s p3s p4s p5s p1t p2t p3t p4t p5t;&lt;BR /&gt;quit;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Aug 2021 14:06:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/HELP-An-integer-nonlinear-problem-proc-optmodel/m-p/763511#M3474</guid>
      <dc:creator>claridad123</dc:creator>
      <dc:date>2021-08-24T14:06:08Z</dc:date>
    </item>
    <item>
      <title>Re: HELP!!! An integer nonlinear problem - proc optmodel</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/HELP-An-integer-nonlinear-problem-proc-optmodel/m-p/763581#M3475</link>
      <description>&lt;P&gt;If you have SAS Viya, you can use the LINEARIZE option to automatically linearize the problem:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;solve linearize;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV class="c proctitle"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Optmodel: Problem Summary" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="c b header" colspan="2" scope="colgroup"&gt;Problem Summary&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Objective Sense&lt;/TH&gt;
&lt;TD class="r data"&gt;Maximization&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Objective Function&lt;/TH&gt;
&lt;TD class="r data"&gt;bts&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Objective Type&lt;/TH&gt;
&lt;TD class="r data"&gt;Nonlinear&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="r data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Number of Variables&lt;/TH&gt;
&lt;TD class="r data"&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Bounded Above&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Bounded Below&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Bounded Below and Above&lt;/TH&gt;
&lt;TD class="r data"&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Free&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Fixed&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Binary&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Integer&lt;/TH&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="r data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Number of Constraints&lt;/TH&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Linear LE (&amp;lt;=)&lt;/TH&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Linear EQ (=)&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Linear GE (&amp;gt;=)&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Linear Range&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="r data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Constraint Coefficients&lt;/TH&gt;
&lt;TD class="r data"&gt;15&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="c proctitle"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Optmodel: Solution Summary" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="c b header" colspan="2" scope="colgroup"&gt;Solution Summary&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Solver&lt;/TH&gt;
&lt;TD class="r data"&gt;MILP&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Algorithm&lt;/TH&gt;
&lt;TD class="r data"&gt;Branch and Cut&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Objective Function&lt;/TH&gt;
&lt;TD class="r data"&gt;bts&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Solution Status&lt;/TH&gt;
&lt;TD class="r data"&gt;Optimal&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Objective Value&lt;/TH&gt;
&lt;TD class="r data"&gt;292&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="r data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Relative Gap&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Absolute Gap&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Primal Infeasibility&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Bound Infeasibility&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Integer Infeasibility&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="r data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Best Bound&lt;/TH&gt;
&lt;TD class="r data"&gt;292&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Nodes&lt;/TH&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Solutions Found&lt;/TH&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Iterations&lt;/TH&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Presolve Time&lt;/TH&gt;
&lt;TD class="r data"&gt;0.03&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;Solution Time&lt;/TH&gt;
&lt;TD class="r data"&gt;0.04&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&lt;BR /&gt;&lt;A name="IDX14" target="_blank"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Optmodel: Print Table" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r b header" scope="col"&gt;p1g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p2g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p3g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p4g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p5g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p1s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p2s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p3s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p4s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p5s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p1t&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p2t&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p3t&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p4t&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p5t&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1.25&lt;/TD&gt;
&lt;TD class="r data"&gt;1.25&lt;/TD&gt;
&lt;TD class="r data"&gt;1.25&lt;/TD&gt;
&lt;TD class="r data"&gt;1.25&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;2.5&lt;/TD&gt;
&lt;TD class="r data"&gt;2.5&lt;/TD&gt;
&lt;TD class="r data"&gt;2.5&lt;/TD&gt;
&lt;TD class="r data"&gt;2.5&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;2.25&lt;/TD&gt;
&lt;TD class="r data"&gt;2.25&lt;/TD&gt;
&lt;TD class="r data"&gt;2.25&lt;/TD&gt;
&lt;TD class="r data"&gt;2.25&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV align="center"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P&gt;But notice that some variables are fractional.&amp;nbsp; That is because the INTEGER keyword applies only to three of the variables in your VAR statements.&amp;nbsp; What you intended was instead:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;var p1g&amp;lt;=6&amp;gt;=0 integer, p2g&amp;lt;=6&amp;gt;=0 integer, p3g&amp;lt;=6&amp;gt;=0 integer, p4g&amp;lt;=6&amp;gt;=0 integer, p5g&amp;lt;=6&amp;gt;=0 integer;
var p1s&amp;lt;=6&amp;gt;=0 integer, p2s&amp;lt;=6&amp;gt;=0 integer, p3s&amp;lt;=6&amp;gt;=0 integer, p4s&amp;lt;=6&amp;gt;=0 integer, p5s&amp;lt;=6&amp;gt;=0 integer;
var p1t&amp;lt;=6&amp;gt;=0 integer, p2t&amp;lt;=6&amp;gt;=0 integer, p3t&amp;lt;=6&amp;gt;=0 integer, p4t&amp;lt;=6&amp;gt;=0 integer, p5t&amp;lt;=6&amp;gt;=0 integer;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;And this yields integer values for all variables:&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Optmodel: Print Table" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r b header" scope="col"&gt;p1g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p2g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p3g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p4g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p5g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p1s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p2s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p3s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p4s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p5s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p1t&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p2t&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p3t&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p4t&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;p5t&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class="lia-align-left"&gt;A more compact and less error-prone approach is to use index sets:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc optmodel;
   set PROVIDERS = 1..5;
   set LOCATIONS = /g s t/;
   var NumDays {PROVIDERS, LOCATIONS} &amp;gt;= 0 &amp;lt;= 6 integer;

   /* declare objective */
   num officeDemand {LOCATIONS} = [80, 70, 90];
   impvar OfficeVisit = sum {l in LOCATIONS} min(7*sum {p in PROVIDERS} NumDays[p,l], officeDemand[l]);
   num videoDemand {LOCATIONS} = [25, 31, 27];
   impvar VideoVisit = sum {l in LOCATIONS} min(3*sum {p in PROVIDERS} NumDays[p,l], videoDemand[l]);

   /*declare constraints*/
   con ProviderLimit {p in PROVIDERS}: sum {l in LOCATIONS} NumDays[p,l] &amp;lt;= 6;

   max bts = OfficeVisit + VideoVisit;
   solve linearize;
   print NumDays;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P class="lia-align-left"&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Optmodel: NumDays" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="c b header" colspan="4" scope="colgroup"&gt;NumDays&lt;/TH&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="c headerempty" scope="col"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;g&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;s&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;t&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="l rowheader" scope="row"&gt;5&lt;/TH&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Aug 2021 16:19:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/HELP-An-integer-nonlinear-problem-proc-optmodel/m-p/763581#M3475</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2021-08-24T16:19:47Z</dc:date>
    </item>
    <item>
      <title>Re: HELP!!! An integer nonlinear problem - proc optmodel</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/HELP-An-integer-nonlinear-problem-proc-optmodel/m-p/763591#M3476</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/1636"&gt;@RobPratt&lt;/a&gt;&amp;nbsp;thank you so much. I don't have Viya but "solve with LSO" works after I add&amp;nbsp;'&lt;SPAN&gt;INTEGER' keyword&lt;/SPAN&gt; to all variables.&lt;/P&gt;</description>
      <pubDate>Tue, 24 Aug 2021 16:47:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/HELP-An-integer-nonlinear-problem-proc-optmodel/m-p/763591#M3476</guid>
      <dc:creator>claridad123</dc:creator>
      <dc:date>2021-08-24T16:47:37Z</dc:date>
    </item>
  </channel>
</rss>

