<?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: Proc optmodel constraints and input data set in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/598303#M2914</link>
    <description>&lt;P&gt;What do the declarations of&amp;nbsp;&lt;SPAN&gt;n_calc_cost_adj, n_primary_cost_adj, and n_secondary_cost_adj look like?&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 22 Oct 2019 03:23:30 GMT</pubDate>
    <dc:creator>RobPratt</dc:creator>
    <dc:date>2019-10-22T03:23:30Z</dc:date>
    <item>
      <title>Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/596663#M2901</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Am finding it very difficult to code in proc optmodel. here is the code , i tried it out, but it does not give me any optimized values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;my example has only one input data which contain all the variables in it, but i see lot of threads ,where people read 2 or more datasets in optmodel? can i model with only one dataset?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;question on con statement:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;con c1{i in rxid}: new_mac_price[i] = mac_price[i];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;new_mac_price is the variable am interested to find optimal solution.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;mac_price is available in my input dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;am i coding it correct?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can i use filter in constraints?&lt;/P&gt;&lt;P&gt;for example&amp;nbsp;&lt;/P&gt;&lt;P&gt;if gpi = 1 then&amp;nbsp;con c1{i in rxid}: new_mac_price[i] = mac_price[i];&lt;/P&gt;&lt;P&gt;else if gpi =0 then&amp;nbsp;con c1{i in rxid}: new_mac_price[i] = 90&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;do we have any such method to filter and apply constraint?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;proc optmodel;&lt;BR /&gt;set &amp;lt;num&amp;gt; d;&lt;BR /&gt;num mac_price {id};&lt;BR /&gt;num new_mac_price_by_user{id};&lt;BR /&gt;num is_reprice_allowed{id};&lt;BR /&gt;num is_present_in_gpi{id};&lt;BR /&gt;num lb_slack{id};&lt;BR /&gt;num upper_bound{id};&lt;BR /&gt;num lower_bound{id};&lt;BR /&gt;read data lp.opt_subset into id=[rx_id] mac_price new_mac_price_by_user is_reprice_allowed is_present_in_gpi&lt;BR /&gt;upper_bound lower_bound ;&lt;BR /&gt;var new_mac_price{rxid} ;&lt;BR /&gt;var calc_ingred_cost{rxid} &amp;gt;=0;&lt;BR /&gt;var post_awp_cost{rxid};&lt;BR /&gt;max imp = sum{rx_id in rxid} ((0.165 * post_awp_cost[rx_id])- calc_ingred_cost[rx_id]) ;&lt;/P&gt;&lt;P&gt;con c1{i in rxid}: new_mac_price[i] = mac_price[i];&lt;BR /&gt;solve ;expand;&lt;BR /&gt;print new_mac_price;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;after expand:&lt;/P&gt;&lt;P&gt;Var new_mac_price[674523592]&lt;BR /&gt;Var new_mac_price[674563238]&lt;BR /&gt;Var new_mac_price[674563792]&lt;BR /&gt;Var new_mac_price[674569261]&lt;BR /&gt;Var new_mac_price[674587992]&lt;BR /&gt;Var calc_ingred_cost[674523592] &amp;gt;= 0&lt;BR /&gt;Var calc_ingred_cost[674563238] &amp;gt;= 0&lt;BR /&gt;Var calc_ingred_cost[674563792] &amp;gt;= 0&lt;BR /&gt;Var calc_ingred_cost[674569261] &amp;gt;= 0&lt;BR /&gt;Var calc_ingred_cost[674587992] &amp;gt;= 0&lt;BR /&gt;Var post_awp_cost[674523592]&lt;BR /&gt;Var post_awp_cost[674563238]&lt;BR /&gt;Var post_awp_cost[674563792]&lt;BR /&gt;Var post_awp_cost[674569261]&lt;BR /&gt;Var post_awp_cost[674587992]&lt;BR /&gt;Maximize imp=0.165*post_awp_cost[674523592] - calc_ingred_cost[674523592] + 0.165*post_awp_cost[674563238] -&lt;BR /&gt;calc_ingred_cost[674563238] + 0.165*post_awp_cost[674563792] - calc_ingred_cost[674563792] + 0.165*post_awp_cost[674569261] -&lt;BR /&gt;calc_ingred_cost[674569261] + 0.165*post_awp_cost[674587992] - calc_ingred_cost[674587992]&lt;BR /&gt;Constraint c1[674523592]: new_mac_price[674523592] = 0.13537&lt;BR /&gt;Constraint c1[674563238]: new_mac_price[674563238] = 0.13537&lt;BR /&gt;Constraint c1[674563792]: new_mac_price[674563792] = 0.13537&lt;BR /&gt;Constraint c1[674569261]: new_mac_price[674569261] = 0.13537&lt;BR /&gt;Constraint c1[674587992]: new_mac_price[674587992] = 0.13537&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;results;&lt;/P&gt;&lt;P&gt;&amp;nbsp;all my values are zero&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;please help me to fix my codes.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks in advance&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2019 21:28:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/596663#M2901</guid>
      <dc:creator>sarathgk</dc:creator>
      <dc:date>2019-10-15T21:28:33Z</dc:date>
    </item>
    <item>
      <title>Re: Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/596670#M2902</link>
      <description>&lt;P&gt;Yes, you can have as many data sets as you want or none at all.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To encode the logic you want for the c1 constraint, you can use an IF-THEN/ELSE expression in the right-hand side as follows:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;con c1{i in rxid}:
   new_mac_price[i] = (if gpi = 1 then mac_price[i] else if gpi = 0 then 90);
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It looks like your problem is unbounded.&amp;nbsp; The&amp;nbsp;&lt;SPAN&gt;post_awp_cost variables that appear with positive coefficients in the objective function are not constrained at all, so you can get an arbitrarily large objective value by making these variables big enough.&amp;nbsp; In this situation, the LP solver returns a solution status of Unbounded and does not update the variables from their default values of 0.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2019 21:51:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/596670#M2902</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2019-10-15T21:51:51Z</dc:date>
    </item>
    <item>
      <title>Re: Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/596769#M2903</link>
      <description>Thanks for your support Rob, it works for me.</description>
      <pubDate>Wed, 16 Oct 2019 07:52:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/596769#M2903</guid>
      <dc:creator>sarathgk</dc:creator>
      <dc:date>2019-10-16T07:52:04Z</dc:date>
    </item>
    <item>
      <title>Re: Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597043#M2905</link>
      <description>&lt;P&gt;Hi Rob,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;your input was very useful to me, however i have some other questions.&lt;/P&gt;&lt;P&gt;here in the code, i have declared two constraints with (if then statement), the single con is broke into two constraints. the real constraint looks like this in python:&lt;/P&gt;&lt;P&gt;if f_GP('is_reprice_allowed',tup)==0:&lt;BR /&gt;opt_prob += new_mac_price[tup] == f_GP('mac_price',tup)&lt;BR /&gt;opt_prob += lb_slack[tup]==0&lt;BR /&gt;elif (f_GP('is_reprice_allowed',tup)==1) &amp;amp; (f_GP('is_present_in_gpi',tup)==1) :&lt;BR /&gt;opt_prob += new_mac_price[tup] == f_GP('new_mac_price_by_user',tup)&lt;BR /&gt;opt_prob += lb_slack[tup]==0&lt;BR /&gt;elif (f_GP('is_reprice_allowed',tup)==1) &amp;amp; (f_GP('is_present_in_gpi',tup)==0):&lt;BR /&gt;opt_prob += new_mac_price[tup] &amp;lt;= f_GP('upper_bound',tup)&lt;BR /&gt;opt_prob += new_mac_price[tup] &amp;gt;= f_GP('lower_bound',tup)-lb_slack[tup]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;is ok to break the constraints ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;is my if then statement is correct?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the variables used in the if then statement is not declared any where in my optmodel, but still it gives me results. is this the right way?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;proc optmodel;&lt;BR /&gt;set &amp;lt;num&amp;gt; rxid;&lt;BR /&gt;num mac_price {rxid};&lt;BR /&gt;num new_mac_price_by_user{rxid};&lt;BR /&gt;num is_reprice_allowed{rxid};&lt;BR /&gt;num is_present_in_gpi{rxid};&lt;BR /&gt;num lb_slack{rxid};&lt;BR /&gt;num upper_bound{rxid};&lt;BR /&gt;num lower_bound{rxid};&lt;BR /&gt;read data lp.opt_subset into rxid=[rx_id] mac_price new_mac_price_by_user is_reprice_allowed is_present_in_gpi&lt;BR /&gt;upper_bound lower_bound ;&lt;BR /&gt;var new_mac_price{rxid} ;&lt;BR /&gt;var calc_ingred_cost{rxid} &amp;gt;=0;&lt;BR /&gt;var post_awp_cost{rxid};&lt;BR /&gt;/* used a maximum number for objective function*/&lt;BR /&gt;max imp =200;&lt;BR /&gt;con c1{i in rxid}: new_mac_price[i] = (if is_reprice_allowed[i] = 0 then mac_price[i]&lt;BR /&gt;else if is_reprice_allowed[i] and is_present_in_gpi[i] =1 then new_mac_price_by_user[i] );&lt;BR /&gt;con c2{i in rxid}: new_mac_price[i] &amp;lt;= (if is_reprice_allowed[i]=1 and is_present_in_gpi[i] =0 then upper_bound[i]);&lt;BR /&gt;/*con c2{i in rxid is_reprice_allowed[i] =}:new_mac_price[i] = (if is_reprice_allowed[i] and is_present_in_gpi[i] =0 then new_mac_price[i] &amp;lt;= upper_bound[i]);*/&lt;/P&gt;&lt;P&gt;solve ;expand;&lt;BR /&gt;print new_mac_price;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 19:05:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597043#M2905</guid>
      <dc:creator>sarathgk</dc:creator>
      <dc:date>2019-10-16T19:05:31Z</dc:date>
    </item>
    <item>
      <title>Re: Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597077#M2906</link>
      <description>&lt;P&gt;am running this code, but not getting any optimized resulted, every thing is zero.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;please help me to fix it. am running late for delivery&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc optmodel;&lt;BR /&gt;set &amp;lt;num&amp;gt; rxid;&lt;BR /&gt;num mac_price {rxid};&lt;BR /&gt;num new_mac_price_by_user{rxid};&lt;BR /&gt;num is_reprice_allowed{rxid};&lt;BR /&gt;num is_present_in_gpi{rxid};&lt;BR /&gt;num lb_slack{rxid};&lt;BR /&gt;num upper_bound{rxid};&lt;BR /&gt;num lower_bound{rxid};&lt;BR /&gt;num check_for_paybase{rxid};&lt;BR /&gt;num check_for_lesser_code{rxid};&lt;BR /&gt;num primary_cost_adj{rxid};&lt;BR /&gt;num secondary_cost_adj{rxid};&lt;BR /&gt;num calc_cost_adj{rxid};&lt;BR /&gt;num calc_ingred_cost{rxid};&lt;BR /&gt;num repriced_disp_fee{rxid};&lt;/P&gt;&lt;P&gt;read data lp.opt_subset into rxid=[rx_id] mac_price new_mac_price_by_user is_reprice_allowed is_present_in_gpi&lt;BR /&gt;upper_bound lower_bound ;&lt;BR /&gt;var new_mac_price{rxid} ;&lt;BR /&gt;var new_primary_cost_adj{rxid};&lt;BR /&gt;var new_secondary_cost_adj{rxid};&lt;BR /&gt;var new_calc_cost_adj{rxid};&lt;BR /&gt;var new_ingred_cost{rxid};&lt;BR /&gt;var new_disp_fee_final{rxid};&lt;/P&gt;&lt;P&gt;/* used a maximum number for objectivefunction*/&lt;BR /&gt;max imp =200;&lt;BR /&gt;/* #Constraints on MAC Price*/&lt;BR /&gt;con c1{i in rxid}: new_mac_price[i] = (if is_reprice_allowed[i] = 0 then mac_price[i]&lt;BR /&gt;else if is_reprice_allowed[i] and is_present_in_gpi[i] =1 then new_mac_price_by_user[i] );&lt;BR /&gt;con c2{i in rxid}: new_mac_price[i] &amp;lt;= (if is_reprice_allowed[i]=1 and is_present_in_gpi[i] =0 then upper_bound[i]);&lt;/P&gt;&lt;P&gt;/*#Parity Constraints*/&lt;/P&gt;&lt;P&gt;/*need clarity*/&lt;BR /&gt;con c3{i in rxid}:new_primary_cost_adj[i] = (if is_reprice_allowed[i] = 0 | check_for_paybase[i] =0 | check_for_lesser_code[i] =1&lt;BR /&gt;then primary_cost_adj[i]);&lt;BR /&gt;con c4{i in rxid}:new_secondary_cost_adj[i] = (if is_reprice_allowed[i] = 0 or check_for_paybase[i] =1 or check_for_lesser_code[i] =1&lt;BR /&gt;then secondary_cost_adj[i]);&lt;BR /&gt;con c5{i in rxid}:new_calc_cost_adj[i] = (if is_reprice_allowed[i] = 0 or check_for_paybase[i] =1 or check_for_lesser_code[i] =1&lt;BR /&gt;then calc_cost_adj[i]);&lt;BR /&gt;con c6{i in rxid}:new_ingred_cost[i] = (if is_reprice_allowed[i] = 0 or check_for_paybase[i] =1 or check_for_lesser_code[i] =1&lt;BR /&gt;then calc_ingred_cost[i]);&lt;BR /&gt;con c7{i in rxid}:new_disp_fee_final[i] = (if is_reprice_allowed[i] = 0 or check_for_paybase[i] =1 or check_for_lesser_code[i] =1&lt;BR /&gt;then repriced_disp_fee[i]);&lt;/P&gt;&lt;P&gt;solve ;&lt;BR /&gt;print new_mac_price new_primary_cost_adj new_secondary_cost_adj new_calc_cost_adj new_ingred_cost&lt;BR /&gt;new_disp_fee_final;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 19:56:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597077#M2906</guid>
      <dc:creator>sarathgk</dc:creator>
      <dc:date>2019-10-16T19:56:08Z</dc:date>
    </item>
    <item>
      <title>Re: Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597086#M2907</link>
      <description>&lt;P&gt;Your objective function is constant (200), so every feasible solution (including the zero solution) is equally desirable.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 20:12:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597086#M2907</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2019-10-16T20:12:24Z</dc:date>
    </item>
    <item>
      <title>Re: Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597124#M2908</link>
      <description>&lt;P&gt;i need&amp;nbsp; to write down this constraint in&amp;nbsp; a proper way. am sure , there is mistake in my code in the third (if condition), where i declare bounds.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;need to define ub and lb here for the given filter&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;con c1{i in rxid}: new_mac_price[i] = (if is_reprice_allowed[i] = 0 then mac_price[i]&lt;BR /&gt;else if is_reprice_allowed[i]=1 and is_present_in_gpi[i] =1 then new_mac_price_by_user[i]&lt;BR /&gt;else if is_reprice_allowed[i]=1 and is_present_in_gpi[i] =0 then lower_bound[i] &amp;lt;= new_mac_price[i] &amp;lt;= upper_bound[i]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;how do i write this :&lt;BR /&gt;else if is_reprice_allowed[i]=1 and is_present_in_gpi[i] =0 then lower_bound[i] &amp;lt;= new_mac_price[i] &amp;lt;= upper_bound[i]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if i remove&amp;nbsp;&amp;lt;= new_mac_price[i] &amp;lt;= upper_bound[i]) , i am getting lower bound results ,when the&amp;nbsp; filters are true.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 21:57:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597124#M2908</guid>
      <dc:creator>sarathgk</dc:creator>
      <dc:date>2019-10-16T21:57:24Z</dc:date>
    </item>
    <item>
      <title>Re: Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597128#M2909</link>
      <description>&lt;P&gt;I think the following statements enforce your desired behavior:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;for {i in rxid} do;
   if is_reprice_allowed[i] = 0 then fix new_mac_price[i] = mac_price[i];
   else if is_reprice_allowed[i] = 1 and is_present_in_gpi[i] = 1 then fix new_mac_price[i] = new_mac_price_by_user[i];
   else if is_reprice_allowed[i] = 1 and is_present_in_gpi[i] = 0 then do;
      new_mac_price[i].lb = lower_bound[i];
      new_mac_price[i].ub = upper_bound[i];
   end;
end;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;You can use the EXPAND statement to see the resulting problem instance.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2019 22:11:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/597128#M2909</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2019-10-16T22:11:11Z</dc:date>
    </item>
    <item>
      <title>Re: Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/598070#M2910</link>
      <description>&lt;P&gt;i have the following constraint in my optmodel. i need to linearise the&amp;nbsp; min function. which is the right way to do in my MILP solver?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;i tried this ;&lt;/P&gt;&lt;P&gt;con c23{i in rxid}: n_calc_cost_adj[i] = min(n_primary_cost_adj[i],n_secondary_cost_adj[i]);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;when i expanded , this is what i got. will there be auto linearization happening here:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Constraint c23[674523592]: n_calc_cost_adj[674523592] - MIN(n_primary_cost_adj[674523592], n_secondary_cost_adj[674523592]) = 0&lt;BR /&gt;Constraint c23[674563238]: n_calc_cost_adj[674563238] - MIN(n_primary_cost_adj[674563238], n_secondary_cost_adj[674563238]) = 0&lt;BR /&gt;Constraint c23[674563792]: n_calc_cost_adj[674563792] - MIN(n_primary_cost_adj[674563792], n_secondary_cost_adj[674563792]) = 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Oct 2019 11:13:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/598070#M2910</guid>
      <dc:creator>sarathgk</dc:creator>
      <dc:date>2019-10-21T11:13:35Z</dc:date>
    </item>
    <item>
      <title>Re: Proc optmodel constraints and input data set</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/598303#M2914</link>
      <description>&lt;P&gt;What do the declarations of&amp;nbsp;&lt;SPAN&gt;n_calc_cost_adj, n_primary_cost_adj, and n_secondary_cost_adj look like?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 22 Oct 2019 03:23:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Proc-optmodel-constraints-and-input-data-set/m-p/598303#M2914</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2019-10-22T03:23:30Z</dc:date>
    </item>
  </channel>
</rss>

