<?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: Minimizing Facilities and Distance to Sites in Mathematical Optimization, Discrete-Event Simulation, and OR</title>
    <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743071#M3401</link>
    <description>&lt;P&gt;Sorry about that. Was playing with different ideas with the ObjectiveCut and did not put it back.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You get all 184 if you run just the build solve?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't change anything just comment out the distance solve.&lt;/P&gt;</description>
    <pubDate>Fri, 21 May 2021 22:33:26 GMT</pubDate>
    <dc:creator>DanHouston</dc:creator>
    <dc:date>2021-05-21T22:33:26Z</dc:date>
    <item>
      <title>Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/742979#M3391</link>
      <description>&lt;P&gt;I'm struggling to frame this problem. I want to utilize the minimum number of facilities to meet the constraints, and then assign the closest sites to those facilities.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First I thought I would minimize distance, and then come back around and minimize the cost to use the facility. The second minimization does not seem to re-assign anything because there is flow assigned, so must use the facility.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, that had me thinking I would minimize the facilities and then the distance. Which does not really seem to change much.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I minimize the number of facilities that seems to get me the minimum number of facilities, but then associated long distances between facilities and sites.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;		set &amp;lt;str,str&amp;gt; ARCS;
		num distance {ARCS};
		read data GREEN_ARC_DATA into ARCS=[source target] distance;
	
		set &amp;lt;str&amp;gt; RDC;
		num rdc_lat {RDC};
		num rdc_lon {RDC};
		num cost {RDC};
		read data GREEN_RDC_DATA into RDC=[fdb_id] rdc_lat rdc_lon cost;
		
		set &amp;lt;str&amp;gt; ZIP3;
		num zip3_demand {ZIP3};
		num pct_population {ZIP3};
		num zip3_lat {ZIP3};
		num zip3_lon {ZIP3};
		read data GREEN_ZIP3_DATA into ZIP3=[zip3] zip3_lat zip3_lon zip3_demand pct_population;
	
		set NODES = RDC union ZIP3;
	
		var Flow {ARCS} &amp;gt;= 0 &amp;lt;= 500000;
		var assignFlow {ARCS} binary;
		var Build {RDC} binary;
	
		/* ZIP3 Demand must be met */
		con zip3_flow_con {i in ZIP3}:
			sum {&amp;lt;j,(i)&amp;gt; in ARCS} Flow[j,i] = zip3_demand[i];

	
		/* Assign separations to DDUs based on assigned FLOWS */
		con assign_flow_con {&amp;lt;i,j&amp;gt; in ARCS}:
			Flow[i,j] &amp;lt;= Flow[i,j].ub * assignFlow[i,j];

		/* If ZIP3 assigned to a RDC it must be built */
		con zip3_rdc_con {&amp;lt;i,j&amp;gt; in ARCS}:
			assignFlow[i, j] &amp;lt;= Build[i];

		/* Population goals */
		/*con next_day_pop_con {i in RDC}:
			sum {&amp;lt;(i),j&amp;gt; in ARCS} pct_population  &amp;lt;= &amp;amp;rdcBinCap;*/

		/* Constrain separations in an RDC */
		con rdc_bin_con {i in RDC}:
			&amp;amp;rdcMINZip3Cap &amp;lt;= sum {&amp;lt;(i),j&amp;gt; in ARCS} assignFlow[i,j] &amp;lt;= &amp;amp;rdcMAXZip3Cap;
	
		min green_rdc_min_build = sum{i in RDC} cost[i] * Build[i];
		save mps green_rdc_min_build;
		min green_rdc_min_dist = green_rdc_min_build + sum{&amp;lt;i,j&amp;gt; in ARCS} distance[i,j] * assignFlow[i,j];
		save mps green_rdc_min_dist;	&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Kind of a mess right now, as I am trying to understand the right way to approach this.&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>Fri, 21 May 2021 17:21:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/742979#M3391</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-21T17:21:52Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/742996#M3392</link>
      <description>&lt;P&gt;It sounds like you want to use primary and secondary objectives like this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;   /* primary objective */
   min green_rdc_min_build = sum{i in RDC} cost[i] * Build[i];
   solve;
   num min_build;
   min_build = green_rdc_min_build;
   con ObjectiveCut:
      green_rdc_min_build &amp;lt;= min_build;

   /* secondary objective */
   min green_rdc_min_dist = sum{&amp;lt;i,j&amp;gt; in ARCS} distance[i,j] * assignFlow[i,j];
   solve with milp / primalin;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;Note the use of the PRIMALIN option to warm start the second solver call with the first solution.&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 18:07:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/742996#M3392</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2021-05-21T18:07:14Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743033#M3393</link>
      <description>&lt;P&gt;That, I believe, is what I am trying to do in my code. I tend to use optmodel to setup the problem and then call a solver seperately (in this case optmilp). I was using primalin, but it did not seem to do what I expected.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I changed my code to do the solving in OPTMODEL, and from the looks of the output with PRINT it appears to be doing what I was hoping. I seem to be a create data idiot, as I can't seem to get the RDC value, ZIP3 value and the FLOW between those.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This seems to get the pairs out:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;create data green_rdc_sol from  [i j]={i in RDC, j in ZIP3: Flow[i,j].sol &amp;gt; 0.5};&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;But struggling how to get the value in Flow[i,j].sol out too.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My follow on question would be if I wanted to do this primary/secondary approach and call proc optmilp outside of optmodel do you have any guidance or examples? I seem to be much better dealing with the output data from there.&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 19:43:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743033#M3393</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-21T19:43:35Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743035#M3394</link>
      <description>&lt;P&gt;You almost had it.&amp;nbsp; Just add Flow to the end:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;create data green_rdc_sol from  [i j]={i in RDC, j in ZIP3: Flow[i,j].sol &amp;gt; 0.5} Flow;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Regarding SAVE MPS + PROC OPTMILP, that approach of course works but is inefficient because you are adding two extra writes and reads for each solve.&amp;nbsp; I recommend instead using PROC OPTMODEL for both problem generation and the solver calls.&amp;nbsp; If you strongly prefer calling the solver from PROC OPTMILP, you might consider using a &lt;A href="https://go.documentation.sas.com/doc/en/pgmsascdc/v_012/casmopt/casmopt_optmodel_syntax11.htm#casmopt.optmodel.npxsubmitstmt" target="_self"&gt;SUBMIT/ENDSUBMIT&lt;/A&gt; block so you don't need to exit PROC OPTMODEL.&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 19:56:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743035#M3394</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2021-05-21T19:56:24Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743040#M3395</link>
      <description>&lt;P&gt;Thanks!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now that I got the results out, it appears to be doing the same thing my code was. The initial "build" solve puts me at 36 facilities, connected to sites that are really far away (in almost all cases it prefers things far away).&amp;nbsp; Then if I add in the code that would minimize distance, it explodes the facilities up to 176 (but now the sites are much closer).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Feel like I have to be missing something simple here....&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 20:18:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743040#M3395</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-21T20:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743044#M3396</link>
      <description>&lt;P&gt;Was the build cost of the 176 facilities the same as for the 36 facilities?&amp;nbsp; If so, what don't you like about the second solution?&amp;nbsp; If it builds too many facilities, you might want to include another objective cut to convey that information in the optimization model.&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 20:25:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743044#M3396</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2021-05-21T20:25:38Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743049#M3397</link>
      <description>&lt;P&gt;The 36 are in the 176, so it was higher for the 176. It's not so much that I do not like the answer as I do not understand why it is changing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I minimize the number of facilities, and it drops down to 36....why is it doing it in such a way as to pick sites so far away from the facility?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Clearly my current set of constraints would let it do it with 36 facilities....without adding any other constraints why would it not just minimize the distance between those facilities and sites. Adding in the other facilities certainly reduces the distance, but it has re-inflated the cost.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 21:01:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743049#M3397</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-21T21:01:08Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743051#M3398</link>
      <description>&lt;P&gt;It sounds like you are not imposing the objective cut in the second solve.&amp;nbsp; Are you able to share your full code and data?&amp;nbsp; If you don't want to share publicly, you can send it to me privately.&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 21:08:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743051#M3398</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2021-05-21T21:08:36Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743057#M3399</link>
      <description>&lt;P&gt;Code and data attached.&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 21:21:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743057#M3399</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-21T21:21:35Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743064#M3400</link>
      <description>&lt;P&gt;I am not able to replicate your results with the data you sent.&amp;nbsp; Instead, I get all 184 facilities built in both solves.&amp;nbsp; Did you maybe run with&amp;nbsp;rdcMINZip3Cap = 0?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In any case, you have the wrong objective cut:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;      con ObjectiveCut{&amp;lt;i,j&amp;gt; in ARCS}:
         assignFlow[i, j] &amp;lt;= min_build;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It should instead be:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;      con ObjectiveCut:
         green_rdc_min_build &amp;lt;= min_build;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 22:24:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743064#M3400</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2021-05-21T22:24:10Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743071#M3401</link>
      <description>&lt;P&gt;Sorry about that. Was playing with different ideas with the ObjectiveCut and did not put it back.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You get all 184 if you run just the build solve?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't change anything just comment out the distance solve.&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 22:33:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743071#M3401</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-21T22:33:26Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743075#M3402</link>
      <description>&lt;P&gt;Results for build solve:&lt;/P&gt;
&lt;TABLE class="table" aria-label="Query Results"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="b header" scope="col"&gt;i&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1352485&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1353588&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1358063&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1360697&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1360742&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1360762&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1367260&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1368208&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1372672&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1380388&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1380428&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1380602&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1382577&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1432873&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1432887&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1433257&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1433414&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1433529&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1433530&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1433589&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1434840&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1435567&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1435750&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1436570&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1438171&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1439777&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1440140&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1440579&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1440968&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1440974&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1440977&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441024&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441025&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441026&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441029&lt;/TD&gt;
&lt;TD class="r data"&gt;25&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441030&lt;/TD&gt;
&lt;TD class="r data"&gt;
&lt;P&gt;16&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Results for both running:&lt;/P&gt;
&lt;TABLE class="table" aria-label="Query Results"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="b header" scope="col"&gt;i&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1352485&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1353588&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1358063&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1360697&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1360742&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1360762&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1367260&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1368208&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1372672&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1380388&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1380428&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1380602&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1382577&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1432873&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1432887&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1433529&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1433530&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1433589&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1434840&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1435567&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1435750&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1436570&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1438171&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1439777&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1440579&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1440968&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1440974&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1440977&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441024&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441025&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441026&lt;/TD&gt;
&lt;TD class="r data"&gt;11&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441029&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441030&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441032&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441038&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441040&lt;/TD&gt;
&lt;TD class="r data"&gt;9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441043&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441044&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441050&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441051&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441052&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441053&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441057&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441059&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441060&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441061&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441062&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441064&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441067&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441076&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441078&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441081&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441082&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441083&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441088&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441091&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441099&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441101&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441102&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441104&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441111&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441116&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441119&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441120&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441124&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441133&lt;/TD&gt;
&lt;TD class="r data"&gt;9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441134&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441140&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441150&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441162&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441174&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441177&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441182&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441184&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441185&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441190&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441191&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441192&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441198&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441199&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441203&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441207&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441215&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441227&lt;/TD&gt;
&lt;TD class="r data"&gt;9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441229&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441234&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441239&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441241&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441242&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441254&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441257&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441258&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441264&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441267&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441272&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441281&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441283&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441288&lt;/TD&gt;
&lt;TD class="r data"&gt;18&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441297&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441301&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441303&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441310&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441312&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441327&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441333&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441334&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441337&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441342&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441344&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441350&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441363&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441367&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441368&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441369&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441372&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441375&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441379&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441382&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441383&lt;/TD&gt;
&lt;TD class="r data"&gt;9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441389&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441402&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441412&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441419&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441420&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441424&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441431&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441445&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441446&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441448&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441450&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441458&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441459&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441462&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441463&lt;/TD&gt;
&lt;TD class="r data"&gt;9&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441465&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441468&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441470&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441479&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441480&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441482&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441483&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441484&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441485&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441488&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441489&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441490&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441491&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441493&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441854&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441874&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441877&lt;/TD&gt;
&lt;TD class="r data"&gt;13&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441907&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1441999&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1442076&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1442357&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1442375&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1442511&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1443242&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1443577&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1443983&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1444502&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1445059&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1445732&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1448490&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1450618&lt;/TD&gt;
&lt;TD class="r data"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1451492&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1451874&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1452911&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1453009&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1458221&lt;/TD&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1459260&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1459516&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1465884&lt;/TD&gt;
&lt;TD class="r data"&gt;7&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1479956&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1517777&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="data"&gt;1532174&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Zip file contains solutions files for both runs as well as logfiles.&lt;/P&gt;</description>
      <pubDate>Fri, 21 May 2021 22:45:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743075#M3402</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-21T22:45:46Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743086#M3403</link>
      <description>&lt;P&gt;OK, I get the same objective values as you, but notice that you cannot tell which facilities are built just by looking at the Flow variables.&amp;nbsp; If you add this statement after each solve, you will see that all 184 facilities are built:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;      put (card({i in RDC: Build[i].sol &amp;gt; 0.5}))=;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Also notice that the first objective value matches the sum of all build costs.&lt;/P&gt;</description>
      <pubDate>Sat, 22 May 2021 00:11:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743086#M3403</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2021-05-22T00:11:08Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743097#M3404</link>
      <description>&lt;P&gt;I see so it is only assigning flow to the smaller set of facilities, but still saying to build them all. So I must have something wrong with the general problem formulation. Back to the drawing board.&lt;/P&gt;</description>
      <pubDate>Sat, 22 May 2021 02:08:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743097#M3404</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-22T02:08:11Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743140#M3405</link>
      <description>&lt;P&gt;I believe this constraint:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;con rdc_bin_con {i in RDC}:
			&amp;amp;rdcMINZip3Cap &amp;lt;= sum {&amp;lt;(i),j&amp;gt; in ARCS} assignFlow[i,j] &amp;lt;= &amp;amp;rdcMAXZip3Cap;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;was causing the issue. It was effectively never allowing for 0 sites to be assigned&amp;nbsp; to a facility, so I fixed it by breaking it apart and including and multiplying the lower bound by build[i]:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;con rdc_serv_max_con {i in RDC}:
		sum {j in ZIP3} assignFlow[i,j] &amp;lt;= &amp;amp;rdcMAXZip3Cap;
con rdc_serv_mmin_con {i in RDC}:
		sum {j in ZIP3} assignFlow[i,j] &amp;gt;= &amp;amp;rdcMINZip3Cap * Build[i];&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Still churning, but I believe that is the issue.&lt;/P&gt;</description>
      <pubDate>Sat, 22 May 2021 17:10:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743140#M3405</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-22T17:10:45Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743160#M3406</link>
      <description>OK, good,  you can also strengthen the formulation by multiplying the upper bound by build[i].  If you do that, the assignFlow &amp;lt;= build constraints are no longer necessary, and it might speed things up if you remove them.</description>
      <pubDate>Sat, 22 May 2021 18:45:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743160#M3406</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2021-05-22T18:45:52Z</dc:date>
    </item>
    <item>
      <title>Re: Minimizing Facilities and Distance to Sites</title>
      <link>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743163#M3407</link>
      <description>&lt;P&gt;I was wondering if that was necessary since it would clearly be true when nothing was assigned to it. I'll add it in if it will make things easier on the optimizer. Thanks!&lt;/P&gt;</description>
      <pubDate>Sat, 22 May 2021 18:52:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Mathematical-Optimization/Minimizing-Facilities-and-Distance-to-Sites/m-p/743163#M3407</guid>
      <dc:creator>DanHouston</dc:creator>
      <dc:date>2021-05-22T18:52:58Z</dc:date>
    </item>
  </channel>
</rss>

