In [1]:
#    GNU LESSER GENERAL PUBLIC LICENSE
#    Version 3, 29 June 2007
#    Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
#    Everyone is permitted to copy and distribute verbatim copies
#    of this license document, but changing it is not allowed.

#    James Gaboardi, 2016

Spatial Optimization Model Building in Python: Cplex v. Gurobi

p-Median Problem Holding Cost Matrix Constant


James D. Gaboardi    |    Florida State University    |    Department of Geography



In [1]:
# Local path on user's machine
path = '/Users/jgaboardi/Desktop/CPLEX_v_Gurobi/Data/'

# Imports
import pysal as ps
import geopandas as gpd
import numpy as np
import networkx as nx
import shapefile as shp
from shapely.geometry import Point
import shapely
from collections import OrderedDict
import pandas as pd
import qgrid
import cplex as cp
import gurobipy as gbp
import time
import bokeh
from bokeh.plotting import figure, show, ColumnDataSource
from bokeh.io import output_notebook, output_file, show
from bokeh.models import (HoverTool, BoxAnnotation, GeoJSONDataSource, 
                          GMapPlot, GMapOptions, ColumnDataSource, Circle, 
                          DataRange1d, PanTool, WheelZoomTool, BoxSelectTool,
                          ResetTool, MultiLine)
import utm
import matplotlib.pyplot as plt
import matplotlib as mpl
%matplotlib inline
output_notebook()


/Users/jgaboardi/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.
  warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')
Loading BokehJS ...

In [3]:
# Waverly  Hills
STREETS = gpd.read_file(path+'Waverly_Trim_2/Waverly_Trim_2.shp')
# Leon County
#STREETS = gpd.read_file(path+'LCSTSEG/LCSTSEG.shp')
STREETS.to_crs(epsg=2779, inplace=True) # NAD83(HARN) / Florida North
STREETS.to_file(path+'WAVERLY/WAVERLY.shp')
STREETS[:5]


Out[3]:
ACCESS_ ALIAS_NAME BUILT_DATE BUILT_STAT CLASS CONN_TYPE COUNTY EDIT_BY EDIT_DATE EDIT_TYPE ... SOURCE SPEED STATUS SUFFIX TF_COST THEOR_RANG TRAVEL_FLA TYPE T_ELEV geometry
0 None SR - 61 None BUILT 8 CONN LEON HAGESETHC 2014-02-26 O ... DOP2008TFC 5 O None 0.090264 N 2 RD 0 LINESTRING (623093.510832076 164171.1041567803...
1 None SR - 61 None BUILT 8 INTE LEON HAGESETHC 2014-02-26 O ... FDOR2007TFC 25 O None 0.017222 N 2 RD 0 LINESTRING (622515.1922320754 163214.635256776...
2 None SR - 61 None BUILT 8 CONN LEON HAGESETHC 2014-02-26 O ... DOP2008TFC 5 O None 0.091403 N 2 RD 0 LINESTRING (623548.0931320738 165478.253356780...
3 None SR - 61 None BUILT 8 CONN LEON HAGESETHC 2014-02-26 O ... DOP2008TFC 5 O None 0.090467 N 2 RD 0 LINESTRING (623167.8413320724 164328.903156780...
4 None SR - 61 None BUILT 8 CONN LEON HAGESETHC 2014-02-26 O ... DOP2008TFC 5 O None 0.089032 N 2 RD 0 LINESTRING (623546.4237320729 165409.808056779...

5 rows × 46 columns


In [4]:
STREETS.plot()


Out[4]:
<matplotlib.axes._subplots.AxesSubplot at 0x1155aa650>

In [5]:
ntw = ps.Network(path+'WAVERLY/WAVERLY.shp')  # Instantiate Network
shp_W = ps.open(path+'WAVERLY/WAVERLY.shp')   # Instantiate the WAVERLY .shp for late use

In [6]:
buff = STREETS.buffer(200)  #Buffer
buff[:5]


Out[6]:
0    POLYGON ((623182.150053937 164350.7973140236, ...
1    POLYGON ((622609.2522032181 163391.5139959676,...
2    POLYGON ((623558.0958294807 165678.3788460373,...
3    POLYGON ((623266.5120703815 164503.29148902, 6...
4    POLYGON ((623558.3641320487 165609.8080567809,...
dtype: object

In [7]:
buff.plot()


Out[7]:
<matplotlib.axes._subplots.AxesSubplot at 0x117c67390>

In [8]:
buffU = buff.unary_union  #Buffer Union
buff1 = gpd.GeoSeries(buffU)
buff1.crs = STREETS.crs
Buff = gpd.GeoDataFrame(buff1, crs=STREETS.crs)
Buff.columns = ['geometry']
Buff


Out[8]:
geometry
0 POLYGON ((622673.874236838 163055.508300971, 6...

In [9]:
Buff.plot()


Out[9]:
<matplotlib.axes._subplots.AxesSubplot at 0x118a2b990>

In [10]:
np.random.seed(352)
x = np.random.uniform(shp_W.bbox[0], shp_W.bbox[2], 1000)
np.random.seed(850)
y = np.random.uniform(shp_W.bbox[1], shp_W.bbox[3], 1000)  
coords0= zip(x,y)
coords = [shapely.geometry.Point(i) for i in coords0]
Rand = gpd.GeoDataFrame(coords)
Rand.crs = STREETS.crs
Rand.columns = ['geometry']
Rand[:5]


Out[10]:
geometry
0 POINT (623388.4926405598 166286.4795721661)
1 POINT (622672.4092589854 162943.9994787998)
2 POINT (621913.3153830337 164903.3379650218)
3 POINT (621612.0857702466 164217.1288344094)
4 POINT (623414.8982675247 163698.4405537729)

In [11]:
Rand.plot()


Out[11]:
<matplotlib.axes._subplots.AxesSubplot at 0x118c0f310>

In [12]:
Inter = [Buff['geometry'].intersection(p) for p in Rand['geometry']]
INTER = gpd.GeoDataFrame(Inter, crs=STREETS.crs)
INTER.columns = ['geometry']
INTER[:5]


Out[12]:
geometry
0 POINT (623388.4926405598 166286.4795721661)
1 ()
2 POINT (621913.3153830337 164903.3379650218)
3 POINT (621612.0857702466 164217.1288344094)
4 ()

In [13]:
INTER.plot()


Out[13]:
<matplotlib.axes._subplots.AxesSubplot at 0x11b48f610>

In [14]:
# Add records that are points within the buffer
point_in = []
for p in INTER['geometry']:
    if type(p) == shapely.geometry.point.Point:
        point_in.append(p)
point_in[:5]


Out[14]:
[<shapely.geometry.point.Point at 0x118c0f690>,
 <shapely.geometry.point.Point at 0x11b48fc10>,
 <shapely.geometry.point.Point at 0x11b48fd10>,
 <shapely.geometry.point.Point at 0x11b48ff10>,
 <shapely.geometry.point.Point at 0x11b48fe90>]

In [15]:
# Client and Service
CLIENT = gpd.GeoDataFrame(point_in[:100], crs=STREETS.crs)
CLIENT.columns = ['geometry']
SERVICE = gpd.GeoDataFrame(point_in[-50:], crs=STREETS.crs)
SERVICE.columns = ['geometry']
CLIENT.to_file(path+'CLIENT')
SERVICE.to_file(path+'SERVICE')

In [16]:
CLIENT[:5]


Out[16]:
geometry
0 POINT (623388.4926405598 166286.4795721661)
1 POINT (621913.3153830337 164903.3379650218)
2 POINT (621612.0857702466 164217.1288344094)
3 POINT (621854.4787915241 163374.7302612905)
4 POINT (621655.1410893091 163122.8990482465)

In [17]:
SERVICE[:5]


Out[17]:
geometry
0 POINT (622173.6292703348 164402.6147558152)
1 POINT (621466.0242040555 163170.3188358559)
2 POINT (622029.8184639579 164423.6281353595)
3 POINT (623570.2426585117 165267.5085102673)
4 POINT (622171.9423363927 165439.4139756552)

In [18]:
g = nx.Graph() # Roads & Nodes
g1 = nx.MultiGraph() # Edges and Vertices
GRAPH_client = nx.Graph() # Clients 
g_client = nx.Graph() # Snapped Clients
GRAPH_service = nx.Graph() # Service
g_service = nx.Graph() # Snapped Service

In [19]:
points_client = {} 
points_service = {}

CLI = ps.open(path+'CLIENT/CLIENT.shp')
for idx, coords in enumerate(CLI):
    GRAPH_client.add_node(idx)
    points_client[idx] = coords
    GRAPH_client.node[idx] = coords
    
SER = ps.open(path+'SERVICE/SERVICE.shp')
for idx, coords in enumerate(SER):
    GRAPH_service.add_node(idx)
    points_service[idx] = coords
    GRAPH_service.node[idx] = coords

In [20]:
# Client Weights for demand
np.random.seed(850)
Ai = np.random.randint(1, 5, len(CLI))
Ai = Ai.reshape(len(Ai),1)
AiSum = np.sum(Ai) # Sum of Weights (Total Demand)

In [21]:
client = shp.Writer(shp.POINT) # Client Shapefile
# Add Random Points
for i,j in CLI:
    client.point(i,j)
# Add Fields
client.field('client_ID')
client.field('Weight')
counter = 0
for i in range(len(CLI)):
    counter = counter + 1
    client.record('client_' + str(counter), Ai[i])
client.save(path+'Simulated/RandomPoints_CLIENT') # Save Shapefile

In [22]:
service = shp.Writer(shp.POINT) #Service Shapefile
# Add Random Points
for i,j in SER:
    service.point(i,j)
# Add Fields
service.field('y_ID')
service.field('x_ID')
counter = 0
for i in range(len(SER)):
    counter = counter + 1
    service.record('y' + str(counter), 'x' + str(counter))
service.save(path+'Simulated/RandomPoints_SERVICE') # Save Shapefile

In [23]:
# Snap
Snap_C = ntw.snapobservations(path+'Simulated/RandomPoints_CLIENT.shp', 
                     'Rand_Points_CLIENT', attribute=True)
Snap_S = ntw.snapobservations(path+'Simulated/RandomPoints_SERVICE.shp', 
                     'Rand_Points_SERVICE', attribute=True)

In [24]:
# Create Lat & Lon lists of the snapped service locations
y_snapped = []
x_snapped = []
for i,j in ntw.pointpatterns['Rand_Points_SERVICE'].snapped_coordinates.iteritems():
    y_snapped.append(j[0]) 
    x_snapped.append(j[1])

In [25]:
service_SNAP = shp.Writer(shp.POINT) # Snapped Service Shapefile
# Add Points
for i,j in ntw.pointpatterns['Rand_Points_SERVICE'].snapped_coordinates.iteritems():
    service_SNAP.point(j[0],j[1])
# Add Fields
service_SNAP.field('y_ID')
service_SNAP.field('x_ID')
service_SNAP.field('LAT')
service_SNAP.field('LON')
counter = 0
for i in range(len(ntw.pointpatterns['Rand_Points_SERVICE'].snapped_coordinates)):
    counter = counter + 1
    service_SNAP.record('y' + str(counter), 'x' + str(counter), y_snapped[i], x_snapped[i])
service_SNAP.save(path+'Snapped/SERVICE_Snapped') # Save Shapefile

In [26]:
mpl.rcParams['figure.figsize']=5,8
# Draw Graph of Roads
for e in ntw.edges:
    g.add_edge(*e)
nx.draw(g, ntw.node_coords, node_size=5, alpha=0.25, edge_color='r', width=2)

# Draw Graph of Snapped Client Nodes
g_client = nx.Graph()
for p,coords in ntw.pointpatterns['Rand_Points_CLIENT'].snapped_coordinates.iteritems():
    g_client.add_node(p)
    g_client.node[p] = coords
nx.draw(g_client, ntw.pointpatterns['Rand_Points_CLIENT'].snapped_coordinates, 
        node_size=75, alpha=1, node_color='b')

# Draw Graph of Snapped Service Nodes
g_service = nx.Graph()
for p,coords in ntw.pointpatterns['Rand_Points_SERVICE'].snapped_coordinates.iteritems():
    g_service.add_node(p)
    g_service.node[p] = coords
nx.draw(g_service, ntw.pointpatterns['Rand_Points_SERVICE'].snapped_coordinates, 
        node_size=200, alpha=1, node_color='c')

# Draw Graph of Random Client Points
nx.draw(GRAPH_client, points_client, 
    node_size=20, alpha=1, node_color='y')

# Draw Graph of Random Service Points
nx.draw(GRAPH_service, points_service, 
    node_size=75, alpha=1, node_color='w')

# Legend (Ordered Dictionary)
LEGEND = OrderedDict()
LEGEND['Network Nodes']=g
LEGEND['Roads']=g
LEGEND['Snapped Client']=g_client
LEGEND['Snapped Service']=g_service
LEGEND['Client Nodes']=GRAPH_client
LEGEND['Service Nodes']=GRAPH_service
plt.legend(LEGEND, loc='upper left', fancybox=True, framealpha=0.5, scatterpoints=1)

# Title
plt.title('Waverly Hills\n Tallahassee, Florida', family='Times New Roman', 
      size=40, color='k', backgroundcolor='w', weight='bold')

# Must be changed for different spatial resolutions, etc.
plt.arrow(624000, 164050, 0.0, 500, width=50, head_width=125, 
          head_length=75, fc='k', ec='k',alpha=0.75,)
plt.annotate('N', xy=(623900, 164700), fontstyle='italic', fontsize='xx-large',
            fontweight='heavy', alpha=0.75)
plt.annotate('<| ~ .25 miles |>', xy=(623200, 163600), 
             fontstyle='italic', fontsize='large', alpha=0.95)

plt.show()



In [27]:
t1 = time.time()
All_Neigh_Dist = ntw.allneighbordistances(
                        sourcepattern=ntw.pointpatterns['Rand_Points_CLIENT'],
                        destpattern=ntw.pointpatterns['Rand_Points_SERVICE'])
All_Dist_MILES = All_Neigh_Dist * 0.000621371 # to miles
print All_Dist_MILES.shape
All_Dist_MILES[0]
print time.time() - t1


(100, 50)
9.47994709015

In [28]:
# PANDAS DATAFRAME OF p/y results
p_list = []
for i in range(1, len(SER)+1):
    p = 'p='+str(i)
    p_list.append(p)
y_list = []
for i in range(1, len(SER)+1):
    y = 'y'+str(i)
    y_list.append(y)

In [29]:
pydf_M_cplex = pd.DataFrame(index=p_list,columns=y_list)
pydf_M_gurobi = pd.DataFrame(index=p_list,columns=y_list)
solve_df = pd.DataFrame(index=p_list)

In [30]:
# PMP
VAL_PMP_cplex = []
AVG_PMP_cplex = []
VAL_PMP_gurobi = []
AVG_PMP_gurobi = []
solve_time_cplex = []
solve_time_gurobi = []

In [31]:
for p in range(1, len(SER)+1): #--------- for all [p] in p = length(service facilities)
    
    # CPLEX
    
    t1_PMP_cplex = time.time()

    np.random.seed(352)

    m = cp.Cplex()                                      # Create model
    m.parameters.emphasis.mip.set(2)                    # Set MIP emphasis to '2' --> Optimal
    m.set_problem_type(m.problem_type.LP)               # Set problem type
    m.objective.set_sense(m.objective.sense.minimize)   # Objective Function Sense  ==>  Minimize


    #     1. Read In Data
    # Cost Matrix
    Cij = All_Dist_MILES
    Ai = Ai
    AiSum = AiSum
    Sij = Ai * Cij
    client_nodes = range(len(Sij))
    service_nodes = range(len(Sij[0]))
    all_nodes_len = len(Sij) * len(Sij[0])
    ALL_nodes_range = range(all_nodes_len)

    client_var = []
    for orig in client_nodes:
            client_var.append([])
            for dest in service_nodes:
                client_var[orig].append('x'+str(orig+1)+'_'+str(dest+1))

    fac_var = []
    for dest in service_nodes:
            fac_var.append([])
            fac_var[dest].append('y' + str(dest+1))


    #  Add Variables
    # Add Client Decision Variables
    m.variables.add(names = [client_var[i][j] for i in client_nodes for j in service_nodes],
                            obj = [Sij[i][j] for i in client_nodes for j in service_nodes], 
                            lb = [0] * all_nodes_len, 
                            ub = [1] * all_nodes_len, 
                            types = ['B'] * all_nodes_len)
    # Add Service Decision Variable
    m.variables.add(names = [fac_var[j][0] for j in service_nodes],
                            lb = [0] * len(Sij[0]), 
                            ub = [1] * len(Sij[0]), 
                            types = ['B'] * len(Sij[0]))

    #    3. Add Constraints
    # Add Assignment Constraints
    for orig in client_nodes:       
        assignment_constraints = cp.SparsePair(ind = [client_var[orig][dest] 
                                                for dest in service_nodes],                           
                                                val = [1] * len(Sij[0]))
        m.linear_constraints.add(lin_expr = [assignment_constraints],                 
                                    senses = ['E'], 
                                    rhs = [1]);
    # Add Facility Constraint
    facility_constraint = cp.SparsePair(ind = [fac_var[j][0] for j in service_nodes], 
                                        val = [1.0] * len(Sij[0]))
    m.linear_constraints.add(lin_expr = [facility_constraint],
                                    senses = ['E'],
                                    rhs = [p])
    '''
    # Add Opening Constraint
    OC = [[client_var[i][j]] + [fac_var[j][0]] for i in client_nodes for j in service_nodes]
    for i in OC:
        opening_constraints = cp.SparsePair(ind = i, val = [-1.0, 1.0])
        m.linear_constraints.add(lin_expr = [opening_constraints], 
                                    senses = ['G'], 
                                    rhs = [0])
    '''
    # Add Opening Constraint
    OC = [[client_var[i][j]] + [fac_var[j][0]] for i in client_nodes for j in service_nodes]
    for i in OC:
        opening_constraints = [i, [-1.0, 1.0]]
        m.linear_constraints.add(lin_expr = [opening_constraints], 
                                    senses = ['G'], 
                                    rhs = [0])

    #    4. Optimize and Print Results
    m.solve()
    t2_PMP_cplex = time.time()-t1_PMP_cplex
    solve_time_cplex.append(t2_PMP_cplex)
    
    m.write(path+'LP_files/CPLEX_Pmedian'+str(p)+'.lp')
    solution = m.solution
    dbf1 = ps.open(path+'Snapped/SERVICE_Snapped.dbf')
    selected_M_cplex = OrderedDict()
    NEW_Records_PMP_cplex = []
    for f in fac_var:
        if 'x' in f[0]:
            pass
        elif solution.get_values(f[0]) > 0 :
            var = '%s' % f[0]
            selected_M_cplex[var]=(u"\u2588")
            for i in range(dbf1.n_records):
                if var in dbf1.read_record(i):
                    x = dbf1.read_record(i)
                    NEW_Records_PMP_cplex.append(x)
                else:
                    pass
    
    # Display solution.
    print '*******************************************************************'
    for f in fac_var:
        if solution.get_values(f[0]) > 0 :
            print 'Facility %s is open' % f[0]
    
    pydf_M_cplex = pydf_M_cplex.append(selected_M_cplex, ignore_index=True)
        
    # Instantiate Shapefile
    SHP_Median_cplex = shp.Writer(shp.POINT)
    # Add Points
    for idy,idx,x,y in NEW_Records_PMP_cplex:
        SHP_Median_cplex.point(float(x), float(y))
    # Add Fields
    SHP_Median_cplex.field('y_ID')
    SHP_Median_cplex.field('x_ID')
    SHP_Median_cplex.field('LAT')
    SHP_Median_cplex.field('LON')
    # Add Records
    for idy,idx,x,y in NEW_Records_PMP_cplex:
        SHP_Median_cplex.record(idy,idx,x,y)
    # Save Shapefile
    SHP_Median_cplex.save(path+'Results/CPLEX_Selected_Locations_Pmedian'+str(p)+'.shp')   

    val_m_cplex = solution.get_objective_value()
    VAL_PMP_cplex.append(round(val_m_cplex, 3))
    avg_m_cplex = float(val_m_cplex)/float(AiSum)
    AVG_PMP_cplex.append(round(avg_m_cplex, 3))
    
    print '*******************************************************************'
    print 'Solution status    = ' , solution.get_status(), ':', solution.status[solution.get_status()]
    print 'Facilities [p]     = ' , len(selected_M_cplex)
    print 'Total cost         = ' , val_m_cplex
    print 'Determination Time = ' , m.get_dettime(), 'ticks'
    print 'Real Time          = ' , t2_PMP_cplex, 'sec.'        
    print 'Matrix Shape       = ' , Sij.shape
    print '*******************************************************************'
    print '\n -- The p-Median Problem -- CPLEX'
    print ' [p] = ', str(p), '\n\n'
    
    
###############################################################################    
    
    #  Gurobi
    
    t1_PMP_gurobi = time.time()
    
    # Instantiate Model
    mPMP = gbp.Model(' -- p-Median -- ')
    # Turn off Gurobi's output
    mPMP.setParam('OutputFlag',False)

    # Add Client Decision Variables (iXj)
    client_var_PMP = []
    for orig in client_nodes:
        client_var_PMP.append([])
        for dest in service_nodes:
            client_var_PMP[orig].append(mPMP.addVar(vtype=gbp.GRB.BINARY,
                                            lb=0,
                                            ub=1,
                                            obj=Sij[orig][dest], 
                                            name='x'+str(orig+1)+'_'+str(dest+1)))

    # Add Service Decision Variables (j)
    serv_var_PMP = []
    for dest in service_nodes:
        serv_var_PMP.append([])
        serv_var_PMP[dest].append(mPMP.addVar(vtype=gbp.GRB.BINARY,
                                      lb=0,
                                      ub=1,
                                      name='y'+str(dest+1)))

    # Update the model
    mPMP.update()

    #     3. Set Objective Function
    mPMP.setObjective(gbp.quicksum(Sij[orig][dest]*client_var_PMP[orig][dest] 
                        for orig in client_nodes for dest in service_nodes), 
                        gbp.GRB.MINIMIZE)


    #     4. Add Constraints
    # Assignment Constraints
    for orig in client_nodes:
        mPMP.addConstr(gbp.quicksum(client_var_PMP[orig][dest] 
                        for dest in service_nodes) == 1)
    # Opening Constraints
    for orig in service_nodes:
        for dest in client_nodes:
            mPMP.addConstr((serv_var_PMP[orig][0] - client_var_PMP[dest][orig] >= 0))

    # Facility Constraint
    mPMP.addConstr(gbp.quicksum(serv_var_PMP[dest][0] for dest in service_nodes) == p)

    #     5. Optimize and Print Results
    # Solve
    mPMP.optimize()

    # Write LP
    mPMP.write(path+'LP_files/Gurobi_Pmedian'+str(p)+'.lp')
    t2_PMP_gurobi = time.time()-t1_PMP_gurobi
    solve_time_gurobi.append(t2_PMP_gurobi)
    # Record and Display Results
    print '\n*************************************************************************'
    selected_M_gurobi = OrderedDict()
    dbf1 = ps.open(path+'Snapped/SERVICE_Snapped.dbf')
    NEW_Records_PMP_gurobi = []
    for v in mPMP.getVars():
        if 'x' in v.VarName:
            pass
        elif v.x > 0:
            var = '%s' % v.VarName
            selected_M_gurobi[var]=(u"\u2588")
            for i in range(dbf1.n_records):
                if var in dbf1.read_record(i):
                    x = dbf1.read_record(i)
                    NEW_Records_PMP_gurobi.append(x)
                else:
                    pass
            print '    |                                            ', var

    pydf_M_gurobi = pydf_M_gurobi.append(selected_M_gurobi, ignore_index=True)

    # Instantiate Shapefile
    SHP_Median_gurobi = shp.Writer(shp.POINT)
    # Add Points
    for idy,idx,x,y in NEW_Records_PMP_gurobi:
        SHP_Median_gurobi.point(float(x), float(y))
    # Add Fields
    SHP_Median_gurobi.field('y_ID')
    SHP_Median_gurobi.field('x_ID')
    SHP_Median_gurobi.field('LAT')
    SHP_Median_gurobi.field('LON')
    # Add Records
    for idy,idx,x,y in NEW_Records_PMP_gurobi:
        SHP_Median_gurobi.record(idy,idx,x,y)
    # Save Shapefile
    SHP_Median_gurobi.save(path+'Results/GUROBI_Selected_Locations_Pmedian'+str(p)+'.shp')   

    print '    | Selected Facility Locations --------------  ^^^^ '
    print '    | Candidate Facilities [p] ----------------- ', len(selected_M_gurobi)
    val_m_gurobi = mPMP.objVal
    VAL_PMP_gurobi.append(round(val_m_gurobi, 3))
    print '    | Objective Value (miles) ------------------ ', val_m_gurobi
    avg_m_gurobi = float(val_m_gurobi)/float(AiSum)
    AVG_PMP_gurobi.append(round(avg_m_gurobi, 3))
    print '    | Avg. Value / Client (miles) -------------- ', avg_m_gurobi
    print '    | Real Time to Optimize (sec.) ------------- ', t2_PMP_gurobi
    print '*************************************************************************'
    print '\n -- The p-Median Problem -- Gurobi'
    print ' [p] = ', str(p), '\n\n'


Found incumbent of value 245.376857 after 0.00 sec. (0.59 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (20.84 ticks)
Probing changed sense of 5000 constraints.
Probing time = 2.75 sec. (1019.99 ticks)
Tried aggregator 1 time.
MIP Presolve eliminated 5101 rows and 5050 columns.
All rows and columns eliminated.
Presolve time = 0.00 sec. (3.11 ticks)

Root node processing (before b&c):
  Real time             =    2.79 sec. (1048.73 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    2.79 sec. (1048.73 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y14 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  1
Total cost         =  235.206809699
Determination Time =  1587.7100935 ticks
Real Time          =  3.41047000885 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  1 



*************************************************************************
    |                                             y14
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  1
    | Objective Value (miles) ------------------  235.206809699
    | Avg. Value / Client (miles) --------------  0.94841455524
    | Real Time to Optimize (sec.) -------------  0.644337892532
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  1 


Found incumbent of value 245.376857 after 0.00 sec. (0.60 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.04 sec. (22.63 ticks)
Probing time = 0.03 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.10 sec. (48.78 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000     1572  100.00%
*     0+    0                          218.6728        0.0000     1572  100.00%
*     0     0      integral     0      159.5742      159.5742     1572    0.00%
Elapsed time = 0.28 sec. (115.51 ticks, tree = 0.00 MB, solutions = 3)

Root node processing (before b&c):
  Real time             =    0.28 sec. (115.76 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.28 sec. (115.76 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y6 is open
Facility y11 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  2
Total cost         =  159.574209698
Determination Time =  654.738305092 ticks
Real Time          =  0.86843585968 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  2 



*************************************************************************
    |                                             y6
    |                                             y11
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  2
    | Objective Value (miles) ------------------  159.574209698
    | Avg. Value / Client (miles) --------------  0.643444393942
    | Real Time to Optimize (sec.) -------------  0.61386680603
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  2 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.23 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.04 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.07 sec. (35.23 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000     1106  100.00%
*     0+    0                          190.5356        0.0000     1106  100.00%
*     0     0      integral     0      117.1002      117.1002     1106    0.00%
Elapsed time = 0.23 sec. (104.97 ticks, tree = 0.00 MB, solutions = 3)

Root node processing (before b&c):
  Real time             =    0.24 sec. (105.21 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.24 sec. (105.21 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y6 is open
Facility y11 is open
Facility y26 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  3
Total cost         =  117.100246335
Determination Time =  644.191979408 ticks
Real Time          =  1.06802797318 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  3 



*************************************************************************
    |                                             y6
    |                                             y11
    |                                             y26
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  3
    | Objective Value (miles) ------------------  117.100246335
    | Avg. Value / Client (miles) --------------  0.47217841264
    | Real Time to Optimize (sec.) -------------  0.39847111702
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  3 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.23 ticks)
Probing time = 0.01 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.01 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.04 sec. (28.65 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      842  100.00%
*     0+    0                          186.7079        0.0000      842  100.00%
*     0     0      integral     0       95.3549       95.3549      842    0.00%
Elapsed time = 0.14 sec. (98.37 ticks, tree = 0.00 MB, solutions = 3)

Root node processing (before b&c):
  Real time             =    0.14 sec. (98.62 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (98.62 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y25 is open
Facility y26 is open
Facility y29 is open
Facility y31 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  4
Total cost         =  95.354871265
Determination Time =  637.597300529 ticks
Real Time          =  0.72158408165 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  4 



*************************************************************************
    |                                             y25
    |                                             y26
    |                                             y29
    |                                             y31
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  4
    | Objective Value (miles) ------------------  95.354871265
    | Avg. Value / Client (miles) --------------  0.384495448649
    | Real Time to Optimize (sec.) -------------  0.510112047195
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  4 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.23 ticks)
Probing time = 0.06 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.04 sec. (25.35 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      714  100.00%
*     0+    0                          147.6606        0.0000      714  100.00%
*     0     0      integral     0       84.6418       84.6418      714    0.00%
Elapsed time = 0.21 sec. (95.07 ticks, tree = 0.00 MB, solutions = 3)

Root node processing (before b&c):
  Real time             =    0.21 sec. (95.32 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.21 sec. (95.32 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y31 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  5
Total cost         =  84.6417968695
Determination Time =  634.297227859 ticks
Real Time          =  0.995933055878 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  5 



*************************************************************************
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y29
    |                                             y31
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  5
    | Objective Value (miles) ------------------  84.6417968695
    | Avg. Value / Client (miles) --------------  0.341297568022
    | Real Time to Optimize (sec.) -------------  0.382682085037
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  5 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.23 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.03 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.05 sec. (21.97 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      629  100.00%
*     0+    0                          146.7883        0.0000      629  100.00%
*     0     0      integral     0       76.4057       76.4057      629    0.00%
Elapsed time = 0.19 sec. (91.69 ticks, tree = 0.00 MB, solutions = 3)

Root node processing (before b&c):
  Real time             =    0.20 sec. (91.93 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.20 sec. (91.93 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y6 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  6
Total cost         =  76.4057062342
Determination Time =  630.91481781 ticks
Real Time          =  0.804254055023 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  6 



*************************************************************************
    |                                             y2
    |                                             y6
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y29
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  6
    | Objective Value (miles) ------------------  76.4057062342
    | Avg. Value / Client (miles) --------------  0.308087525138
    | Real Time to Optimize (sec.) -------------  0.401542186737
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  6 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.23 ticks)
Probing time = 0.08 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.05 sec. (21.97 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      568  100.00%
*     0+    0                          118.2312        0.0000      568  100.00%
*     0     0      integral     0       69.2901       69.2901      568    0.00%
Elapsed time = 0.26 sec. (91.68 ticks, tree = 0.00 MB, solutions = 3)

Root node processing (before b&c):
  Real time             =    0.27 sec. (91.92 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.27 sec. (91.92 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  7
Total cost         =  69.2901211331
Determination Time =  630.905617714 ticks
Real Time          =  0.968667984009 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  7 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y29
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  7
    | Objective Value (miles) ------------------  69.2901211331
    | Avg. Value / Client (miles) --------------  0.27939564973
    | Real Time to Optimize (sec.) -------------  0.480152130127
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  7 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.23 ticks)
Probing time = 0.07 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.07 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.05 sec. (21.27 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      500  100.00%
*     0+    0                          115.5802        0.0000      500  100.00%
*     0     0      integral     0       63.2261       63.2261      500    0.00%
Elapsed time = 0.29 sec. (90.99 ticks, tree = 0.00 MB, solutions = 3)

Root node processing (before b&c):
  Real time             =    0.30 sec. (91.23 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.30 sec. (91.23 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y45 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  8
Total cost         =  63.226057853
Determination Time =  630.208288193 ticks
Real Time          =  0.988445997238 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  8 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y29
    |                                             y45
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  8
    | Objective Value (miles) ------------------  63.226057853
    | Avg. Value / Client (miles) --------------  0.254943781665
    | Real Time to Optimize (sec.) -------------  0.570312023163
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  8 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.23 ticks)
Probing time = 0.07 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.04 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.03 sec. (17.70 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      438  100.00%
*     0+    0                          104.5242        0.0000      438  100.00%
*     0     0      integral     0       58.6977       58.6977      438    0.00%
Elapsed time = 0.24 sec. (87.41 ticks, tree = 0.00 MB, solutions = 3)

Root node processing (before b&c):
  Real time             =    0.24 sec. (87.65 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.24 sec. (87.65 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y40 is open
Facility y45 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  9
Total cost         =  58.6977101536
Determination Time =  626.62826252 ticks
Real Time          =  1.1168820858 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  9 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y29
    |                                             y40
    |                                             y45
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  9
    | Objective Value (miles) ------------------  58.6977101536
    | Avg. Value / Client (miles) --------------  0.236684315136
    | Real Time to Optimize (sec.) -------------  0.762145996094
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  9 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.23 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.03 sec. (18.75 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      427  100.00%
*     0+    0                          104.0967        0.0000      427  100.00%
*     0     0      integral     0       55.4419       55.4419      427    0.00%
Elapsed time = 0.15 sec. (88.45 ticks, tree = 0.00 MB, solutions = 3)

Root node processing (before b&c):
  Real time             =    0.16 sec. (88.70 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.16 sec. (88.70 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y10 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  10
Total cost         =  55.4418624535
Determination Time =  627.677709579 ticks
Real Time          =  0.942103862762 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  10 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y10
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y40
    |                                             y45
    |                                             y48
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  10
    | Objective Value (miles) ------------------  55.4418624535
    | Avg. Value / Client (miles) --------------  0.22355589699
    | Real Time to Optimize (sec.) -------------  0.453639030457
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  10 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.23 ticks)
Probing time = 0.08 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.06 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.05 sec. (16.99 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      402  100.00%
*     0+    0                           93.4841        0.0000      402  100.00%
*     0+    0                           92.6607        0.0000      402  100.00%
*     0     0      integral     0       52.7960       52.7960      402    0.00%
Elapsed time = 0.30 sec. (86.75 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.30 sec. (87.03 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.30 sec. (87.03 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  11
Total cost         =  52.7960453877
Determination Time =  626.009829521 ticks
Real Time          =  1.16819405556 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  11 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y40
    |                                             y45
    |                                             y48
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  11
    | Objective Value (miles) ------------------  52.7960453877
    | Avg. Value / Client (miles) --------------  0.212887279789
    | Real Time to Optimize (sec.) -------------  0.401760816574
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  11 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.04 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.24 ticks)
Probing time = 0.08 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.08 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.04 sec. (16.05 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      371  100.00%
*     0+    0                           93.4841        0.0000      371  100.00%
*     0+    0                           86.5529        0.0000      371  100.00%
      0     0       50.6859    60       86.5529       50.6859      371   41.44%
*     0+    0                           53.8307       50.6859      371    5.84%
*     0+    0                           50.7062       50.6859      372    0.04%
      0     0        cutoff             50.7062       50.7062      372    0.00%
Elapsed time = 0.39 sec. (118.52 ticks, tree = 0.00 MB, solutions = 5)

Zero-half cuts applied:  3
Lift and project cuts applied:  1
Gomory fractional cuts applied:  1

Root node processing (before b&c):
  Real time             =    0.41 sec. (118.83 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.41 sec. (118.83 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  12
Total cost         =  50.7062103179
Determination Time =  657.811864853 ticks
Real Time          =  1.03665709496 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  12 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  12
    | Objective Value (miles) ------------------  50.7062103179
    | Avg. Value / Client (miles) --------------  0.204460525476
    | Real Time to Optimize (sec.) -------------  0.419114112854
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  12 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.24 ticks)
Probing time = 0.07 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.04 sec. (22.65 ticks)
Probing time = 0.03 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.03 sec. (16.95 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      370  100.00%
*     0+    0                           85.9615        0.0000      370  100.00%
*     0+    0                           79.0302        0.0000      370  100.00%
*     0     0      integral     0       48.6505       48.6505      370    0.00%
Elapsed time = 0.24 sec. (86.70 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.25 sec. (86.97 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.25 sec. (86.97 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  13
Total cost         =  48.6504932732
Determination Time =  625.952884674 ticks
Real Time          =  1.07927322388 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  13 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  13
    | Objective Value (miles) ------------------  48.6504932732
    | Avg. Value / Client (miles) --------------  0.196171343844
    | Real Time to Optimize (sec.) -------------  0.359237909317
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  13 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.01 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.01 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.03 sec. (16.41 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      352  100.00%
*     0+    0                           84.4294        0.0000      352  100.00%
*     0+    0                           77.4982        0.0000      352  100.00%
*     0     0      integral     0       46.7112       46.7112      352    0.00%
Elapsed time = 0.13 sec. (86.17 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (86.44 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (86.44 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y14 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  14
Total cost         =  46.7111583213
Determination Time =  625.422704697 ticks
Real Time          =  0.742416143417 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  14 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y14
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  14
    | Objective Value (miles) ------------------  46.7111583213
    | Avg. Value / Client (miles) --------------  0.188351444844
    | Real Time to Optimize (sec.) -------------  0.359974861145
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  14 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.24 ticks)
Probing time = 0.12 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (15.52 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      329  100.00%
*     0+    0                           80.7467        0.0000      329  100.00%
*     0+    0                           73.8154        0.0000      329  100.00%
*     0     0      integral     0       44.8074       44.8074      329    0.00%
Elapsed time = 0.28 sec. (85.26 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.28 sec. (85.54 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.28 sec. (85.54 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y14 is open
Facility y26 is open
Facility y27 is open
Facility y32 is open
Facility y36 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  15
Total cost         =  44.8074142683
Determination Time =  624.519694328 ticks
Real Time          =  0.982310056686 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  15 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y14
    |                                             y26
    |                                             y27
    |                                             y32
    |                                             y36
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  15
    | Objective Value (miles) ------------------  44.8074142683
    | Avg. Value / Client (miles) --------------  0.180675057533
    | Real Time to Optimize (sec.) -------------  0.52223610878
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  15 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.03 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.05 sec. (16.55 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      336  100.00%
*     0+    0                           80.2353        0.0000      336  100.00%
*     0+    0                           73.2631        0.0000      336  100.00%
*     0     0      integral     0       43.1064       43.1064      336    0.00%
Elapsed time = 0.19 sec. (86.30 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.20 sec. (86.57 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.20 sec. (86.57 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y14 is open
Facility y26 is open
Facility y27 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  16
Total cost         =  43.1063831787
Determination Time =  625.553598404 ticks
Real Time          =  1.03540420532 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  16 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y14
    |                                             y26
    |                                             y27
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  16
    | Objective Value (miles) ------------------  43.1063831787
    | Avg. Value / Client (miles) --------------  0.173816061204
    | Real Time to Optimize (sec.) -------------  0.662382125854
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  16 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (15.25 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      301  100.00%
*     0+    0                           80.2353        0.0000      301  100.00%
*     0+    0                           73.2631        0.0000      301  100.00%
*     0     0      integral     0       41.4166       41.4166      301    0.00%
Elapsed time = 0.13 sec. (84.99 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (85.27 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (85.27 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y14 is open
Facility y26 is open
Facility y27 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  17
Total cost         =  41.4165994835
Determination Time =  624.249102592 ticks
Real Time          =  0.745133161545 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  17 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y14
    |                                             y26
    |                                             y27
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  17
    | Objective Value (miles) ------------------  41.4165994835
    | Avg. Value / Client (miles) --------------  0.167002417272
    | Real Time to Optimize (sec.) -------------  0.344033956528
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  17 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (14.07 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      283  100.00%
*     0+    0                           79.8392        0.0000      283  100.00%
*     0+    0                           72.8670        0.0000      283  100.00%
*     0     0      integral     0       39.9757       39.9757      283    0.00%
Elapsed time = 0.14 sec. (83.81 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (84.08 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (84.08 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y14 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  18
Total cost         =  39.9756510442
Determination Time =  623.065961838 ticks
Real Time          =  0.73113489151 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  18 



*************************************************************************
    |                                             y2
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y14
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  18
    | Objective Value (miles) ------------------  39.9756510442
    | Avg. Value / Client (miles) --------------  0.161192141307
    | Real Time to Optimize (sec.) -------------  0.348618030548
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  18 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.03 sec. (15.26 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      292  100.00%
*     0+    0                           79.2465        0.0000      292  100.00%
*     0+    0                           72.2743        0.0000      292  100.00%
*     0     0      integral     0       38.5463       38.5463      292    0.00%
Elapsed time = 0.14 sec. (85.00 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (85.28 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (85.28 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y14 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  19
Total cost         =  38.5462541717
Determination Time =  624.258149147 ticks
Real Time          =  0.733947992325 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  19 



*************************************************************************
    |                                             y2
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y14
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  19
    | Objective Value (miles) ------------------  38.5462541717
    | Avg. Value / Client (miles) --------------  0.155428444241
    | Real Time to Optimize (sec.) -------------  0.351386785507
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  19 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.01 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.01 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.03 sec. (14.05 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      257  100.00%
*     0+    0                           78.8617        0.0000      257  100.00%
*     0+    0                           71.8895        0.0000      257  100.00%
*     0     0      integral     0       37.2126       37.2126      257    0.00%
Elapsed time = 0.14 sec. (83.78 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (84.06 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (84.06 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y14 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  20
Total cost         =  37.2125730091
Determination Time =  623.037148476 ticks
Real Time          =  0.726906061172 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  20 



*************************************************************************
    |                                             y2
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y14
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  20
    | Objective Value (miles) ------------------  37.2125730091
    | Avg. Value / Client (miles) --------------  0.150050697617
    | Real Time to Optimize (sec.) -------------  0.412603139877
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  20 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (14.13 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      240  100.00%
*     0+    0                           77.3046        0.0000      240  100.00%
*     0+    0                           70.3324        0.0000      240  100.00%
*     0     0      integral     0       36.1942       36.1942      240    0.00%
Elapsed time = 0.15 sec. (83.86 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.15 sec. (84.14 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.15 sec. (84.14 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  21
Total cost         =  36.1942318931
Determination Time =  623.119874001 ticks
Real Time          =  1.01695895195 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  21 



*************************************************************************
    |                                             y2
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  21
    | Objective Value (miles) ------------------  36.1942318931
    | Avg. Value / Client (miles) --------------  0.14594448344
    | Real Time to Optimize (sec.) -------------  0.439409971237
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  21 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (13.35 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      220  100.00%
*     0+    0                           77.2236        0.0000      220  100.00%
*     0+    0                           70.2514        0.0000      220  100.00%
*     0     0      integral     0       35.2816       35.2816      220    0.00%
Elapsed time = 0.15 sec. (83.09 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.15 sec. (83.36 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.15 sec. (83.36 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  22
Total cost         =  35.2815734663
Determination Time =  622.344042778 ticks
Real Time          =  0.783222913742 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  22 



*************************************************************************
    |                                             y2
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  22
    | Objective Value (miles) ------------------  35.2815734663
    | Avg. Value / Client (miles) --------------  0.142264409138
    | Real Time to Optimize (sec.) -------------  0.346448898315
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  22 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (12.52 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      195  100.00%
*     0+    0                           75.9687        0.0000      195  100.00%
*     0+    0                           68.9965        0.0000      195  100.00%
*     0     0      integral     0       34.5222       34.5222      195    0.00%
Elapsed time = 0.14 sec. (82.26 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (82.53 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (82.53 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  23
Total cost         =  34.5222415376
Determination Time =  621.512688637 ticks
Real Time          =  0.737073898315 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  23 



*************************************************************************
    |                                             y2
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  23
    | Objective Value (miles) ------------------  34.5222415376
    | Avg. Value / Client (miles) --------------  0.139202586845
    | Real Time to Optimize (sec.) -------------  0.411058187485
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  23 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (11.99 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      184  100.00%
*     0+    0                           75.9687        0.0000      184  100.00%
*     0+    0                           68.9965        0.0000      184  100.00%
*     0     0      integral     0       34.1047       34.1047      184    0.00%
Elapsed time = 0.14 sec. (81.71 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (81.99 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (81.99 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  24
Total cost         =  34.1046538366
Determination Time =  620.967860222 ticks
Real Time          =  0.734311103821 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  24 



*************************************************************************
    |                                             y2
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  24
    | Objective Value (miles) ------------------  34.1046538366
    | Avg. Value / Client (miles) --------------  0.13751876547
    | Real Time to Optimize (sec.) -------------  0.57817697525
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  24 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.01 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (10.98 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      162  100.00%
*     0+    0                           66.4826        0.0000      162  100.00%
*     0+    0                           59.5103        0.0000      162  100.00%
*     0     0      integral     0       33.8662       33.8662      162    0.00%
Elapsed time = 0.14 sec. (80.70 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (80.98 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (80.98 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  25
Total cost         =  33.8661549508
Determination Time =  619.96117878 ticks
Real Time          =  0.762713909149 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  25 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  25
    | Objective Value (miles) ------------------  33.8661549508
    | Avg. Value / Client (miles) --------------  0.136557076415
    | Real Time to Optimize (sec.) -------------  0.3521900177
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  25 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (11.01 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      159  100.00%
*     0+    0                           58.6549        0.0000      159  100.00%
*     0+    0                           50.2143        0.0000      159  100.00%
*     0     0      integral     0       33.7413       33.7413      159    0.00%
Elapsed time = 0.13 sec. (80.73 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (81.00 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (81.00 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  26
Total cost         =  33.7412993293
Determination Time =  619.983059883 ticks
Real Time          =  0.749845981598 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  26 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  26
    | Objective Value (miles) ------------------  33.7412993293
    | Avg. Value / Client (miles) --------------  0.136053626328
    | Real Time to Optimize (sec.) -------------  0.376269102097
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  26 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.01 sec. (10.74 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      151  100.00%
*     0+    0                           58.5372        0.0000      151  100.00%
*     0+    0                           50.0967        0.0000      151  100.00%
*     0     0      integral     0       33.6252       33.6252      151    0.00%
Elapsed time = 0.13 sec. (80.46 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.13 sec. (80.74 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.13 sec. (80.74 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  27
Total cost         =  33.6251965046
Determination Time =  619.718205452 ticks
Real Time          =  0.737459182739 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  27 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  27
    | Objective Value (miles) ------------------  33.6251965046
    | Avg. Value / Client (miles) --------------  0.135585469777
    | Real Time to Optimize (sec.) -------------  0.377508878708
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  27 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.24 ticks)
Probing time = 0.07 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (10.69 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      150  100.00%
*     0+    0                           58.4585        0.0000      150  100.00%
*     0+    0                           50.0179        0.0000      150  100.00%
*     0     0      integral     0       33.5202       33.5202      150    0.00%
Elapsed time = 0.22 sec. (80.41 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.22 sec. (80.68 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.22 sec. (80.68 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  28
Total cost         =  33.5202383641
Determination Time =  619.662493706 ticks
Real Time          =  1.10720491409 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  28 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  28
    | Objective Value (miles) ------------------  33.5202383641
    | Avg. Value / Client (miles) --------------  0.135162251468
    | Real Time to Optimize (sec.) -------------  0.336448907852
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  28 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.01 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (10.56 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      146  100.00%
*     0+    0                           58.4585        0.0000      146  100.00%
*     0+    0                           49.9587        0.0000      146  100.00%
*     0     0      integral     0       33.4415       33.4415      146    0.00%
Elapsed time = 0.13 sec. (80.27 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.13 sec. (80.55 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.13 sec. (80.55 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  29
Total cost         =  33.44147095
Determination Time =  619.526584625 ticks
Real Time          =  0.735895872116 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  29 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  29
    | Objective Value (miles) ------------------  33.44147095
    | Avg. Value / Client (miles) --------------  0.134844640927
    | Real Time to Optimize (sec.) -------------  0.343293905258
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  29 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.03 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.01 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (11.16 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      149  100.00%
*     0+    0                           58.4585        0.0000      149  100.00%
*     0+    0                           49.9587        0.0000      149  100.00%
*     0     0      integral     0       33.3796       33.3796      149    0.00%
Elapsed time = 0.15 sec. (80.87 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.15 sec. (81.15 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.15 sec. (81.15 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  30
Total cost         =  33.3796452447
Determination Time =  620.128063202 ticks
Real Time          =  0.934092998505 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  30 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  30
    | Objective Value (miles) ------------------  33.3796452447
    | Avg. Value / Client (miles) --------------  0.134595343728
    | Real Time to Optimize (sec.) -------------  0.505717992783
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  30 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.24 ticks)
Probing time = 0.05 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.04 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (10.58 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      145  100.00%
*     0+    0                           58.4585        0.0000      145  100.00%
*     0+    0                           49.9587        0.0000      145  100.00%
*     0     0      integral     0       33.3204       33.3204      145    0.00%
Elapsed time = 0.22 sec. (80.28 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.22 sec. (80.56 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.22 sec. (80.56 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  31
Total cost         =  33.3203884755
Determination Time =  619.537721634 ticks
Real Time          =  0.994156122208 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  31 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  31
    | Objective Value (miles) ------------------  33.3203884755
    | Avg. Value / Client (miles) --------------  0.134356405143
    | Real Time to Optimize (sec.) -------------  0.599337100983
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  31 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.04 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.05 sec. (28.24 ticks)
Probing time = 0.11 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.04 sec. (22.65 ticks)
Probing time = 0.04 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (10.61 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      141  100.00%
*     0+    0                           58.4585        0.0000      141  100.00%
*     0+    0                           49.9587        0.0000      141  100.00%
*     0     0      integral     0       33.3000       33.3000      141    0.00%
Elapsed time = 0.29 sec. (80.31 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.29 sec. (80.58 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.29 sec. (80.58 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  32
Total cost         =  33.299998321
Determination Time =  619.566148758 ticks
Real Time          =  1.07151603699 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  32 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  32
    | Objective Value (miles) ------------------  33.299998321
    | Avg. Value / Client (miles) --------------  0.134274186778
    | Real Time to Optimize (sec.) -------------  0.461944103241
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  32 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (10.18 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      137  100.00%
*     0+    0                           58.4585        0.0000      137  100.00%
*     0+    0                           49.9587        0.0000      137  100.00%
*     0     0      integral     0       33.2820       33.2820      137    0.00%
Elapsed time = 0.14 sec. (79.86 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (80.13 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (80.13 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  33
Total cost         =  33.2819924055
Determination Time =  619.116046906 ticks
Real Time          =  0.74977684021 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  33 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  33
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.329904079437
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  33 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (10.54 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      138  100.00%
*     0+    0                           58.0043        0.0000      138  100.00%
*     0+    0                           49.5045        0.0000      138  100.00%
*     0     0      integral     0       33.2820       33.2820      138    0.00%
Elapsed time = 0.15 sec. (80.22 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.15 sec. (80.49 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.15 sec. (80.49 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  34
Total cost         =  33.2819924055
Determination Time =  619.474633217 ticks
Real Time          =  0.761093139648 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  34 



*************************************************************************
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  34
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.496350049973
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  34 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (10.32 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      136  100.00%
*     0+    0                           56.9552        0.0000      136  100.00%
*     0+    0                           48.4554        0.0000      136  100.00%
*     0     0      integral     0       33.2820       33.2820      136    0.00%
Elapsed time = 0.14 sec. (80.00 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (80.28 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (80.28 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  35
Total cost         =  33.2819924055
Determination Time =  619.259187698 ticks
Real Time          =  0.979461193085 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  35 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  35
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.373941898346
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  35 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.01 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (9.96 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      127  100.00%
*     0+    0                           53.8609        0.0000      127  100.00%
*     0+    0                           45.3611        0.0000      127  100.00%
*     0     0      integral     0       33.2820       33.2820      127    0.00%
Elapsed time = 0.13 sec. (79.64 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (79.91 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (79.91 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  36
Total cost         =  33.2819924055
Determination Time =  618.895119667 ticks
Real Time          =  0.876497030258 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  36 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  36
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.531930923462
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  36 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.04 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.05 sec. (28.24 ticks)
Probing time = 0.14 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (9.85 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      128  100.00%
*     0+    0                           53.4631        0.0000      128  100.00%
*     0+    0                           44.9632        0.0000      128  100.00%
*     0     0      integral     0       33.2820       33.2820      128    0.00%
Elapsed time = 0.28 sec. (79.53 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.29 sec. (79.80 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.29 sec. (79.80 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y34 is open
Facility y35 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  37
Total cost         =  33.2819924055
Determination Time =  618.785052299 ticks
Real Time          =  1.14661288261 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  37 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  37
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.340069055557
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  37 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.24 ticks)
Probing time = 0.03 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.08 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (9.86 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      122  100.00%
*     0+    0                           50.3515        0.0000      122  100.00%
*     0+    0                           41.8517        0.0000      122  100.00%
*     0     0      integral     0       33.2820       33.2820      122    0.00%
Elapsed time = 0.26 sec. (79.53 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.26 sec. (79.81 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.26 sec. (79.81 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y35 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  38
Total cost         =  33.2819924055
Determination Time =  618.78821373 ticks
Real Time          =  1.11828017235 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  38 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  38
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.556922912598
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  38 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.10 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.04 sec. (22.65 ticks)
Probing time = 0.01 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (8.86 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      121  100.00%
*     0+    0                           50.3515        0.0000      121  100.00%
*     0+    0                           41.8517        0.0000      121  100.00%
*     0     0      integral     0       33.2820       33.2820      121    0.00%
Elapsed time = 0.25 sec. (78.53 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.25 sec. (78.81 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.25 sec. (78.81 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y34 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  39
Total cost         =  33.2819924055
Determination Time =  617.787809372 ticks
Real Time          =  1.40095591545 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  39 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  39
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.531825065613
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  39 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.24 ticks)
Probing time = 0.05 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.03 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (8.67 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      116  100.00%
*     0+    0                           50.3515        0.0000      116  100.00%
*     0+    0                           40.8333        0.0000      116  100.00%
*     0     0      integral     0       33.2820       33.2820      116    0.00%
Elapsed time = 0.22 sec. (78.34 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.22 sec. (78.62 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.22 sec. (78.62 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y1 is open
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  40
Total cost         =  33.2819924055
Determination Time =  617.59881115 ticks
Real Time          =  1.07079696655 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  40 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  40
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.577540159225
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  40 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.10 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (8.83 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      119  100.00%
*     0+    0                           48.9107        0.0000      119  100.00%
*     0+    0                           39.3926        0.0000      119  100.00%
*     0     0      integral     0       33.2820       33.2820      119    0.00%
Elapsed time = 0.24 sec. (78.50 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.25 sec. (78.78 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.25 sec. (78.78 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y21 is open
Facility y22 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  41
Total cost         =  33.2819924055
Determination Time =  617.760737419 ticks
Real Time          =  1.02361607552 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  41 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  41
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.544299840927
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  41 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.01 sec. (8.80 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      118  100.00%
*     0+    0                           47.5475        0.0000      118  100.00%
*     0+    0                           38.0293        0.0000      118  100.00%
*     0     0      integral     0       33.2820       33.2820      118    0.00%
Elapsed time = 0.13 sec. (78.47 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (78.75 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (78.75 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y21 is open
Facility y22 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y34 is open
Facility y35 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  42
Total cost         =  33.2819924055
Determination Time =  617.728510857 ticks
Real Time          =  0.788514137268 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  42 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y9
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  42
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.341150999069
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  42 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.24 ticks)
Probing time = 0.07 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.01 sec. (8.77 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      116  100.00%
*     0+    0                           47.5475        0.0000      116  100.00%
*     0+    0                           38.0293        0.0000      116  100.00%
*     0     0      integral     0       33.2820       33.2820      116    0.00%
Elapsed time = 0.23 sec. (78.43 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.23 sec. (78.71 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.23 sec. (78.71 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y1 is open
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y21 is open
Facility y22 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y34 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  43
Total cost         =  33.2819924055
Determination Time =  617.690696716 ticks
Real Time          =  1.13484597206 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  43 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y9
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y21
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  43
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.440979003906
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  43 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.24 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.65 ticks)
Probing time = 0.01 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (8.38 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      106  100.00%
*     0+    0                           47.5475        0.0000      106  100.00%
*     0+    0                           38.0293        0.0000      106  100.00%
*     0     0      integral     0       33.2820       33.2820      106    0.00%
Elapsed time = 0.14 sec. (78.04 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (78.32 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (78.32 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y1 is open
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y20 is open
Facility y21 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y34 is open
Facility y35 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y48 is open
Facility y49 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  44
Total cost         =  33.2819924055
Determination Time =  617.301742554 ticks
Real Time          =  1.03460097313 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  44 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y9
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y21
    |                                             y22
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  44
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.532395839691
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  44 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.24 ticks)
Probing time = 0.07 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.05 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (8.53 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      110  100.00%
*     0+    0                           47.0626        0.0000      110  100.00%
*     0+    0                           37.5445        0.0000      110  100.00%
*     0     0      integral     0       33.2820       33.2820      110    0.00%
Elapsed time = 0.26 sec. (78.19 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.26 sec. (78.47 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.26 sec. (78.47 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y1 is open
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y21 is open
Facility y22 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y34 is open
Facility y35 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  45
Total cost         =  33.2819924055
Determination Time =  617.447276115 ticks
Real Time          =  1.16407489777 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  45 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y9
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y21
    |                                             y22
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y34
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  45
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.555729150772
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  45 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.02 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.25 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.07 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (8.33 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      104  100.00%
*     0+    0                           45.3978        0.0000      104  100.00%
*     0+    0                           35.8797        0.0000      104  100.00%
*     0     0      integral     0       33.2820       33.2820      104    0.00%
Elapsed time = 0.20 sec. (77.99 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.21 sec. (78.27 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.21 sec. (78.27 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y1 is open
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y17 is open
Facility y20 is open
Facility y21 is open
Facility y22 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y34 is open
Facility y35 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  46
Total cost         =  33.2819924055
Determination Time =  617.246516228 ticks
Real Time          =  0.934062004089 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  46 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y9
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y13
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y21
    |                                             y22
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y34
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  46
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.823997020721
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  46 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.04 sec. (28.25 ticks)
Probing time = 0.05 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.01 sec. (8.34 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      104  100.00%
*     0+    0                           43.4900        0.0000      104  100.00%
*     0+    0                           33.9719        0.0000      104  100.00%
*     0     0      integral     0       33.2820       33.2820      104    0.00%
Elapsed time = 0.19 sec. (78.00 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.19 sec. (78.28 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.19 sec. (78.28 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y1 is open
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y16 is open
Facility y17 is open
Facility y20 is open
Facility y21 is open
Facility y22 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y34 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  47
Total cost         =  33.2819924055
Determination Time =  617.260492325 ticks
Real Time          =  1.06915092468 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  47 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y9
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y13
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y21
    |                                             y22
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y34
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  47
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.517681121826
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  47 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.63 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (28.25 ticks)
Probing time = 0.02 sec. (3.93 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (22.65 ticks)
Probing time = 0.02 sec. (3.92 ticks)
Clique table members: 5100.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.01 sec. (8.30 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      102  100.00%
*     0+    0                           43.4900        0.0000      102  100.00%
*     0+    0                           33.4289        0.0000      102  100.00%
*     0     0      integral     0       33.2820       33.2820      102    0.00%
Elapsed time = 0.15 sec. (77.96 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.15 sec. (78.24 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.15 sec. (78.24 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y1 is open
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y16 is open
Facility y17 is open
Facility y20 is open
Facility y21 is open
Facility y22 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y34 is open
Facility y35 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  48
Total cost         =  33.2819924055
Determination Time =  617.21654892 ticks
Real Time          =  0.776013851166 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  48 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y9
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y13
    |                                             y14
    |                                             y15
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y21
    |                                             y22
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y33
    |                                             y34
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  48
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.346323013306
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  48 


Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (23.88 ticks)
Found incumbent of value 245.376857 after 0.03 sec. (29.49 ticks)
Probing time = 0.01 sec. (4.15 ticks)
Tried aggregator 1 time.
Reduced MIP has 5101 rows, 5050 columns, and 15050 nonzeros.
Reduced MIP has 5050 binaries, 0 generals, 0 SOSs, and 0 indicators.
Presolve time = 0.03 sec. (23.90 ticks)
Probing time = 0.01 sec. (4.25 ticks)
Clique table members: 5101.
MIP emphasis: optimality.
MIP search method: dynamic search.
Parallel mode: deterministic, using up to 4 threads.
Root relaxation solution time = 0.02 sec. (8.30 ticks)

        Nodes                                         Cuts/
   Node  Left     Objective  IInf  Best Integer    Best Bound    ItCnt     Gap

*     0+    0                          245.3769        0.0000      102  100.00%
*     0+    0                           43.4326        0.0000      102  100.00%
*     0+    0                           33.3715        0.0000      102  100.00%
*     0     0      integral     0       33.2820       33.2820      102    0.00%
Elapsed time = 0.14 sec. (80.97 ticks, tree = 0.00 MB, solutions = 4)

Root node processing (before b&c):
  Real time             =    0.14 sec. (81.24 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.14 sec. (81.24 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y1 is open
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y16 is open
Facility y17 is open
Facility y18 is open
Facility y20 is open
Facility y21 is open
Facility y22 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y34 is open
Facility y35 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  49
Total cost         =  33.2819924055
Determination Time =  620.226298332 ticks
Real Time          =  0.898818016052 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  49 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y9
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y13
    |                                             y14
    |                                             y15
    |                                             y16
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y21
    |                                             y22
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y33
    |                                             y34
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  49
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.460089921951
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  49 


Tried aggregator 1 time.
MIP Presolve eliminated 5101 rows and 5050 columns.
All rows and columns eliminated.
Presolve time = 0.01 sec. (3.11 ticks)

Root node processing (before b&c):
  Real time             =    0.01 sec. (3.95 ticks)
Parallel b&c, 4 threads:
  Real time             =    0.00 sec. (0.00 ticks)
  Sync time (average)   =    0.00 sec.
  Wait time (average)   =    0.00 sec.
                          ------------
Total (root+branch&cut) =    0.01 sec. (3.95 ticks)
Default row names c1, c2 ... being created.
*******************************************************************
Facility y1 is open
Facility y2 is open
Facility y3 is open
Facility y4 is open
Facility y5 is open
Facility y6 is open
Facility y7 is open
Facility y8 is open
Facility y9 is open
Facility y10 is open
Facility y11 is open
Facility y12 is open
Facility y13 is open
Facility y14 is open
Facility y15 is open
Facility y16 is open
Facility y17 is open
Facility y18 is open
Facility y19 is open
Facility y20 is open
Facility y21 is open
Facility y22 is open
Facility y23 is open
Facility y24 is open
Facility y25 is open
Facility y26 is open
Facility y27 is open
Facility y28 is open
Facility y29 is open
Facility y30 is open
Facility y31 is open
Facility y32 is open
Facility y33 is open
Facility y34 is open
Facility y35 is open
Facility y36 is open
Facility y37 is open
Facility y38 is open
Facility y39 is open
Facility y40 is open
Facility y41 is open
Facility y42 is open
Facility y43 is open
Facility y44 is open
Facility y45 is open
Facility y46 is open
Facility y47 is open
Facility y48 is open
Facility y49 is open
Facility y50 is open
*******************************************************************
Solution status    =  101 : MIP_optimal
Facilities [p]     =  50
Total cost         =  33.2819924055
Determination Time =  542.927505493 ticks
Real Time          =  0.812270879745 sec.
Matrix Shape       =  (100, 50)
*******************************************************************

 -- The p-Median Problem -- CPLEX
 [p] =  50 



*************************************************************************
    |                                             y1
    |                                             y2
    |                                             y3
    |                                             y4
    |                                             y5
    |                                             y6
    |                                             y7
    |                                             y8
    |                                             y9
    |                                             y10
    |                                             y11
    |                                             y12
    |                                             y13
    |                                             y14
    |                                             y15
    |                                             y16
    |                                             y17
    |                                             y18
    |                                             y19
    |                                             y20
    |                                             y21
    |                                             y22
    |                                             y23
    |                                             y24
    |                                             y25
    |                                             y26
    |                                             y27
    |                                             y28
    |                                             y29
    |                                             y30
    |                                             y31
    |                                             y32
    |                                             y33
    |                                             y34
    |                                             y35
    |                                             y36
    |                                             y37
    |                                             y38
    |                                             y39
    |                                             y40
    |                                             y41
    |                                             y42
    |                                             y43
    |                                             y44
    |                                             y45
    |                                             y46
    |                                             y47
    |                                             y48
    |                                             y49
    |                                             y50
    | Selected Facility Locations --------------  ^^^^ 
    | Candidate Facilities [p] -----------------  50
    | Objective Value (miles) ------------------  33.2819924055
    | Avg. Value / Client (miles) --------------  0.13420158228
    | Real Time to Optimize (sec.) -------------  0.418735980988
*************************************************************************

 -- The p-Median Problem -- Gurobi
 [p] =  50 



In [32]:
# PMP Total Cplex
PMP_Tot_Diff_cplex = []
for i in range(len(VAL_PMP_cplex)):
    if i == 0:
        PMP_Tot_Diff_cplex.append('0%')
    elif i <= len(VAL_PMP_cplex):
        n1_cplex = VAL_PMP_cplex[i-1]
        n2_cplex = VAL_PMP_cplex[i]
        diff_cplex = n2_cplex - n1_cplex
        perc_change_cplex = (diff_cplex/n1_cplex)*100.
        PMP_Tot_Diff_cplex.append(str(round(perc_change_cplex, 2))+'%')

# PMP Average Cplex
PMP_Avg_Diff_cplex = []
for i in range(len(AVG_PMP_cplex)):
    if i == 0:
        PMP_Avg_Diff_cplex.append('0%')
    elif i <= len(AVG_PMP_cplex):
        n1_cplex = AVG_PMP_cplex[i-1]
        n2_cplex = AVG_PMP_cplex[i]
        diff_cplex = n2_cplex - n1_cplex
        perc_change_cplex = (diff_cplex/n1_cplex)*100.
        PMP_Avg_Diff_cplex.append(str(round(perc_change_cplex, 2))+'%')
        
        
# PMP Total Gurobi
PMP_Tot_Diff_gurobi = []
for i in range(len(VAL_PMP_gurobi)):
    if i == 0:
        PMP_Tot_Diff_gurobi.append('0%')
    elif i <= len(VAL_PMP_gurobi):
        n1_gurobi = VAL_PMP_gurobi[i-1]
        n2_gurobi = VAL_PMP_gurobi[i]
        diff_gurobi = n2_gurobi - n1_gurobi
        perc_change_gurobi = (diff_gurobi/n1_gurobi)*100.
        PMP_Tot_Diff_gurobi.append(str(round(perc_change_gurobi, 2))+'%')

# PMP Average Gurobi
PMP_Avg_Diff_gurobi = []
for i in range(len(AVG_PMP_gurobi)):
    if i == 0:
        PMP_Avg_Diff_gurobi.append('0%')
    elif i <= len(AVG_PMP_gurobi):
        n1_gurobi = AVG_PMP_gurobi[i-1]
        n2_gurobi = AVG_PMP_gurobi[i]
        diff_gurobi = n2_gurobi - n1_gurobi
        perc_change_gurobi = (diff_gurobi/n1_gurobi)*100.
        PMP_Avg_Diff_gurobi.append(str(round(perc_change_gurobi, 2))+'%')

In [33]:
# PMP Cplex
pydf_M_cplex = pydf_M_cplex[len(SER):]
pydf_M_cplex.reset_index()
pydf_M_cplex.index = p_list
pydf_M_cplex.columns.name = 'Decision\nVariables'
pydf_M_cplex.index.name = 'Facility\nDensity'
pydf_M_cplex['Tot. Obj. Value'] = VAL_PMP_cplex
pydf_M_cplex['Tot. % Change'] = PMP_Tot_Diff_cplex
pydf_M_cplex['Avg. Obj. Value'] = AVG_PMP_cplex
pydf_M_cplex['Avg. % Change'] = PMP_Avg_Diff_cplex
pydf_M_cplex = pydf_M_cplex.fillna('')

# PMP Gurobi
pydf_M_gurobi = pydf_M_gurobi[len(SER):]
pydf_M_gurobi.reset_index()
pydf_M_gurobi.index = p_list
pydf_M_gurobi.columns.name = 'Decision\nVariables'
pydf_M_gurobi.index.name = 'Facility\nDensity'
pydf_M_gurobi['Tot. Obj. Value'] = VAL_PMP_gurobi
pydf_M_gurobi['Tot. % Change'] = PMP_Tot_Diff_gurobi
pydf_M_gurobi['Avg. Obj. Value'] = AVG_PMP_gurobi
pydf_M_gurobi['Avg. % Change'] = PMP_Avg_Diff_gurobi
pydf_M_gurobi = pydf_M_gurobi.fillna('')

In [34]:
qgrid.show_grid(pydf_M_cplex)

In [35]:
qgrid.show_grid(pydf_M_gurobi)

In [36]:
pydf_M_gurobi == pydf_M_cplex


Out[36]:
Decision Variables y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 ... y45 y46 y47 y48 y49 y50 Tot. Obj. Value Tot. % Change Avg. Obj. Value Avg. % Change
Facility Density
p=1 True True True True True True True True True True ... True True True True True True True True True True
p=2 True True True True True True True True True True ... True True True True True True True True True True
p=3 True True True True True True True True True True ... True True True True True True True True True True
p=4 True True True True True True True True True True ... True True True True True True True True True True
p=5 True True True True True True True True True True ... True True True True True True True True True True
p=6 True True True True True True True True True True ... True True True True True True True True True True
p=7 True True True True True True True True True True ... True True True True True True True True True True
p=8 True True True True True True True True True True ... True True True True True True True True True True
p=9 True True True True True True True True True True ... True True True True True True True True True True
p=10 True True True True True True True True True True ... True True True True True True True True True True
p=11 True True True True True True True True True True ... True True True True True True True True True True
p=12 True True True True True True True True True True ... True True True True True True True True True True
p=13 True True True True True True True True True True ... True True True True True True True True True True
p=14 True True True True True True True True True True ... True True True True True True True True True True
p=15 True True True True True True True True True True ... True True True True True True True True True True
p=16 True True True True True True True True True True ... True True True True True True True True True True
p=17 True True True True True True True True True True ... True True True True True True True True True True
p=18 True True True True True True True True True True ... True True True True True True True True True True
p=19 True True True True True True True True True True ... True True True True True True True True True True
p=20 True True True True True True True True True True ... True True True True True True True True True True
p=21 True True True True True True True True True True ... True True True True True True True True True True
p=22 True True True True True True True True True True ... True True True True True True True True True True
p=23 True True True True True True True True True True ... True True True True True True True True True True
p=24 True True True True True True True True True True ... True True True True True True True True True True
p=25 True True True True True True True True True True ... True True True True True True True True True True
p=26 True True True True True True True True True True ... True True True True True True True True True True
p=27 True True True True True True True True True True ... True True True True True True True True True True
p=28 True True True True True True True True True True ... True True True True True True True True True True
p=29 True True True True True True True True True True ... True True True True True True True True True True
p=30 True True True True True True True True True True ... True True True True True True True True True True
p=31 True True True True True True True True True True ... True True True True True True True True True True
p=32 True True True True True True True True True True ... True True True True True True True True True True
p=33 True True True True True True True True True True ... True True True True True True True True True True
p=34 True True True True True True True True True True ... True True True True True True True True True True
p=35 False True True True True True True True True True ... True True False True True True True True True True
p=36 False True True True True True True False True True ... True True True True True True True True True True
p=37 False True True True True True True True False True ... True True True True True False True True True True
p=38 False True True True True True True False True True ... True True False True True True True True True True
p=39 False True True True True True True False False True ... True True False True True True True True True True
p=40 True True True True True True True False False True ... True True True True True False True True True True
p=41 False True True True True True True True False True ... True True False True True True True True True True
p=42 False True True True True True True True True True ... True False True True True False True True True True
p=43 True True True True True True True False True True ... True True True True True True True True True True
p=44 True True True True True True True True True True ... True True False True True False True True True True
p=45 True True True True True True True True False True ... True True True True True True True True True True
p=46 True True True True True True True True True True ... True True True True True True True True True True
p=47 True True True True True True True True True True ... True True True True True True True True True True
p=48 True True True True True True True True True True ... True True True True True True True True True True
p=49 True True True True True True True True True True ... True True True True True True True True True True
p=50 True True True True True True True True True True ... True True True True True True True True True True

50 rows × 54 columns


In [37]:
solve_df.index.name = 'Facility\nDensity'
solve_df['CPLEX Solution Time (Real Time (sec.))'] = solve_time_cplex
solve_df['Gurobi Solution Time (Real Time (sec.))'] = solve_time_gurobi
qgrid.show_grid(solve_df)

In [38]:
# p-Median Cplex
P_Med_Graphs_cplex = OrderedDict()
for x in range(1, len(SER)+1):
    P_Med_Graphs_cplex["{0}".format(x)] = nx.Graph()

#PMP
size = 3000
for i,j in P_Med_Graphs_cplex.iteritems():
    size=size-120
    # p-Median
    P_Med_cplex = ps.open(path+'Results/CPLEX_Selected_Locations_Pmedian'+str(i)+'.shp')
    points_median_cplex = {}
    for idx, coords in enumerate(P_Med_cplex):
        P_Med_Graphs_cplex[i].add_node(idx)
        points_median_cplex[idx] = coords
        P_Med_Graphs_cplex[i].node[idx] = coords
    nx.draw(P_Med_Graphs_cplex[i], 
                points_median_cplex, 
                node_size=size, 
                alpha=.1, 
                node_color='k')

# Draw Network Actual Roads and Nodes
for e in ntw.edges:
    g.add_edge(*e)
nx.draw(g, ntw.node_coords, node_size=5, alpha=0.25, edge_color='r', width=2)

# Legend (Ordered Dictionary)
LEGEND = OrderedDict()
for i in P_Med_Graphs_cplex:
    LEGEND['p='+str(i)]=P_Med_Graphs_cplex[i]
plt.legend(LEGEND, 
       loc='upper left', 
       fancybox=True, 
       framealpha=0.5, 
       scatterpoints=1)

# Title
plt.title('Optimal CPLEX p-Median Solutions', family='Times New Roman', 
      size=40, color='k', backgroundcolor='w', weight='bold')

# North Arrow and 'N' --> Must be changed for different spatial resolutions, etc.
plt.arrow(624000, 164050, 0.0, 500, width=50, head_width=125, 
          head_length=75, fc='k', ec='k',alpha=0.75,)
plt.annotate('N', xy=(623900, 164700), fontstyle='italic', fontsize='xx-large',
            fontweight='heavy', alpha=0.75)
plt.annotate('<| ~ .25 miles |>', xy=(623200, 163600), 
             fontstyle='italic', fontsize='large', alpha=0.95)


Out[38]:
<matplotlib.text.Annotation at 0x1221dc090>

In [39]:
# p-Median Gurobi
P_Med_Graphs_gurobi = OrderedDict()
for x in range(1, len(SER)+1):
    P_Med_Graphs_gurobi["{0}".format(x)] = nx.Graph()

#PMP
size = 3000
for i,j in P_Med_Graphs_gurobi.iteritems():
    size=size-120
    # p-Median
    P_Med_gurobi = ps.open(path+'Results/GUROBI_Selected_Locations_Pmedian'+str(i)+'.shp')
    points_median_gurobi = {}
    for idx, coords in enumerate(P_Med_gurobi):
        P_Med_Graphs_gurobi[i].add_node(idx)
        points_median_gurobi[idx] = coords
        P_Med_Graphs_gurobi[i].node[idx] = coords
    nx.draw(P_Med_Graphs_gurobi[i], 
                points_median_gurobi, 
                node_size=size, 
                alpha=.1, 
                node_color='k')

# Draw Network Actual Roads and Nodes
for e in ntw.edges:
    g.add_edge(*e)
nx.draw(g, ntw.node_coords, node_size=5, alpha=0.25, edge_color='r', width=2)

# Legend (Ordered Dictionary)
LEGEND = OrderedDict()
for i in P_Med_Graphs_gurobi:
    LEGEND['p='+str(i)]=P_Med_Graphs_gurobi[i]
plt.legend(LEGEND, 
       loc='upper left', 
       fancybox=True, 
       framealpha=0.5, 
       scatterpoints=1)

# Title
plt.title('Optimal Gurobi p-Median Solutions', family='Times New Roman', 
      size=40, color='k', backgroundcolor='w', weight='bold')

# North Arrow and 'N' --> Must be changed for different spatial resolutions, etc.
plt.arrow(624000, 164050, 0.0, 500, width=50, head_width=125, 
          head_length=75, fc='k', ec='k',alpha=0.75,)
plt.annotate('N', xy=(623900, 164700), fontstyle='italic', fontsize='xx-large',
            fontweight='heavy', alpha=0.75)
plt.annotate('<| ~ .25 miles |>', xy=(623200, 163600), 
             fontstyle='italic', fontsize='large', alpha=0.95)


Out[39]:
<matplotlib.text.Annotation at 0x12527c910>

In [40]:
source_cplex = ColumnDataSource(
        data=dict(
            x=range(1, len(SER)+1),
            y=AVG_PMP_cplex,
            avg=AVG_PMP_cplex,
            desc=p_list,
            change=PMP_Avg_Diff_cplex))

TOOLS = 'wheel_zoom, pan, reset, crosshair, save'

hover = HoverTool(line_policy="nearest", mode="hline", tooltips="""
        <div>
            <div>
                
            </div>
            <div>
                <span style="font-size: 17px; font-weight: bold;">@desc</span> 
            </div>
            <div>
                <span style="font-size: 15px;">Average Minimized Cost CPLEX</span>
                <span style="font-size: 15px; font-weight: bold; color: #ff4d4d;">[@avg]</span>
            </div>
            <div>
                <span style="font-size: 15px;">Variation</span>
                <span style="font-size: 15px; font-weight: bold; color: #ff4d4d;">[@change]</span>
            </div>
        </div>""")

# Instantiate Plot
pmp_plot_cplex = figure(plot_width=600, plot_height=600, tools=[TOOLS,hover],
           title="Average Distance vs. p-Facilities CPLEX", y_range=(0,2))

# Create plot points and set source
pmp_plot_cplex.circle('x', 'y', size=15, color='red',source=source_cplex, 
                legend='Total Minimized Cost / Total Demand')
pmp_plot_cplex.line('x', 'y', line_width=2, color='red', alpha=.5, source=source_cplex, 
              legend='Total Minimized Cost / Total Demand')

pmp_plot_cplex.xaxis.axis_label = '[p = n]'
pmp_plot_cplex.yaxis.axis_label = 'Miles'

one_quarter = BoxAnnotation(plot=pmp_plot_cplex, top=.35, 
                            fill_alpha=0.1, fill_color='green')
half = BoxAnnotation(plot=pmp_plot_cplex, bottom=.35, top=.7, 
                            fill_alpha=0.1, fill_color='blue')
three_quarter = BoxAnnotation(plot=pmp_plot_cplex, bottom=.7, top=1.05,
                            fill_alpha=0.1, fill_color='gray')

pmp_plot_cplex.renderers.extend([one_quarter, half, three_quarter])

# Display the figure
show(pmp_plot_cplex)


Out[40]:

<Bokeh Notebook handle for In[40]>


In [41]:
source_gurobi = ColumnDataSource(
        data=dict(
            x=range(1, len(SER)+1),
            y=AVG_PMP_gurobi,
            avg=AVG_PMP_gurobi,
            desc=p_list,
            change=PMP_Avg_Diff_gurobi))

TOOLS = 'wheel_zoom, pan, reset, crosshair, save'

hover = HoverTool(line_policy="nearest", mode="hline", tooltips="""
        <div>
            <div>
                
            </div>
            <div>
                <span style="font-size: 17px; font-weight: bold;">@desc</span> 
            </div>
            <div>
                <span style="font-size: 15px;">Average Minimized Cost CPLEX</span>
                <span style="font-size: 15px; font-weight: bold; color: #ff4d4d;">[@avg]</span>
            </div>
            <div>
                <span style="font-size: 15px;">Variation</span>
                <span style="font-size: 15px; font-weight: bold; color: #ff4d4d;">[@change]</span>
            </div>
        </div>""")

# Instantiate Plot
pmp_plot_gurobi = figure(plot_width=600, plot_height=600, tools=[TOOLS,hover],
           title="Average Distance vs. p-Facilities Gurobi", y_range=(0,2))

# Create plot points and set source
pmp_plot_gurobi.circle('x', 'y', size=15, color='red',source=source_gurobi, 
                legend='Total Minimized Cost / Total Demand')
pmp_plot_gurobi.line('x', 'y', line_width=2, color='red', alpha=.5, source=source_gurobi, 
              legend='Total Minimized Cost / Total Demand')

pmp_plot_gurobi.xaxis.axis_label = '[p = n]'
pmp_plot_gurobi.yaxis.axis_label = 'Miles'

one_quarter = BoxAnnotation(plot=pmp_plot_gurobi, top=.35, 
                            fill_alpha=0.1, fill_color='green')
half = BoxAnnotation(plot=pmp_plot_gurobi, bottom=.35, top=.7, 
                            fill_alpha=0.1, fill_color='blue')
three_quarter = BoxAnnotation(plot=pmp_plot_gurobi, bottom=.7, top=1.05,
                            fill_alpha=0.1, fill_color='gray')

pmp_plot_gurobi.renderers.extend([one_quarter, half, three_quarter])

# Display the figure
show(pmp_plot_gurobi)


Out[41]:

<Bokeh Notebook handle for In[41]>


In [42]:
TOOLS = 'wheel_zoom, pan, reset, crosshair, save, hover'

source_cplex = ColumnDataSource(
        data=dict(
            x=range(1, len(SER)+1),
            y=solve_time_cplex,
            obj=solve_time_cplex,
            desc=p_list))

source_gurobi = ColumnDataSource(
        data=dict(
            x=range(1, len(SER)+1),
            y=solve_time_gurobi,
            obj=solve_time_gurobi,
            desc=p_list))


plot_solve_time = figure(title="Solution Time Comparison", 
                        plot_width=600, plot_height=400, tools=[TOOLS], y_range=(0,4))

plot_solve_time.circle('x', 'y', size=5, color='red', source=source_cplex, legend='CPLEX')
plot_solve_time.line('x', 'y', 
                 color="#ff4d4d", alpha=0.2, line_width=2, source=source_cplex, legend='CPLEX')

plot_solve_time.circle('x', 'y', size=5, color='green', source=source_gurobi, legend='Gurobi')
plot_solve_time.line('x', 'y', 
                 color='#00b300', alpha=0.2, line_width=2, source=source_gurobi, legend='Gurobi')


plot_solve_time.xaxis.axis_label = '[p = n]'
plot_solve_time.yaxis.axis_label = 'Seconds'

one_quarter = BoxAnnotation(plot=plot_solve_time, top=.35, 
                            fill_alpha=0.1, fill_color='green')
half = BoxAnnotation(plot=plot_solve_time, bottom=.35, top=.7, 
                            fill_alpha=0.1, fill_color='blue')
three_quarter = BoxAnnotation(plot=plot_solve_time, bottom=.7, top=1.05,
                            fill_alpha=0.1, fill_color='gray')

plot_solve_time.renderers.extend([one_quarter, half, three_quarter])

show(plot_solve_time)


Out[42]:

<Bokeh Notebook handle for In[42]>


In [43]:
points = SERVICE
points.to_crs(epsg=32616, inplace=True) # UTM 16N
LonLat_Dict = OrderedDict()
LonLat_List = []

for i,j in points['geometry'].iteritems():
    LonLat_Dict[y_list[i]] = utm.to_latlon(j.xy[0][-1], j.xy[1][-1], 16, 'N')  
    LonLat_List.append((utm.to_latlon(j.xy[0][-1], j.xy[1][-1], 16, 'N')))

Service_Lat_List = []
Service_Lon_List = []
    
for i in LonLat_List:
    Service_Lat_List.append(i[0])
for i in LonLat_List:
    Service_Lon_List.append(i[1])

In [44]:
# p-Median Selected Sites CPLEX
list_of_p_MEDIAN_cplex = []
for y in range(len(y_list)):
    list_of_p_MEDIAN_cplex.append([])
    for p in range(len(p_list)):
        if pydf_M_cplex[y_list[y]][p_list[p]] == u'\u2588':
            list_of_p_MEDIAN_cplex[y].append([p_list[p]])
            
# p-Median Selected Sites Gurobi
list_of_p_MEDIAN_gurobi = []
for y in range(len(y_list)):
    list_of_p_MEDIAN_gurobi.append([])
    for p in range(len(p_list)):
        if pydf_M_gurobi[y_list[y]][p_list[p]] == u'\u2588':
            list_of_p_MEDIAN_gurobi[y].append([p_list[p]])

In [45]:
map_options = GMapOptions(lat=30.4855, lng=-84.265, map_type="hybrid", zoom=14)

plot = GMapPlot(
    x_range=DataRange1d(), y_range=DataRange1d(), map_options=map_options)

hover = HoverTool(tooltips="""
        <div>
            <div>
                
            </div>
            <div>
                <span style="font-size: 30px; font-weight: bold;">Site @desc</span> 
            </div>
            <div>
                <span> \b </span>
            </div>
            <div>
                <span style="font-size: 17px; font-weight: bold;">CPLEX</span> 
            </div>
                <div>
                <span style="font-size: 15px; font-weight: bold; color: #ff4d4d;">@p_select_median_cplex</span>
            </div>
            <div>
                <span> \b </span>
            </div>
            <div>
                <span style="font-size: 17px; font-weight: bold;">Gurobi</span> 
            
            <div>
                <span style="font-size: 15px; font-weight: bold; color: #00b300;">@p_select_median_gurobi</span>
            </div>
        </div>""")

source_1 = ColumnDataSource(
        data=dict(
        lat=Service_Lat_List,
        lon=Service_Lon_List,
        desc=y_list,
        p_select_median_cplex=list_of_p_MEDIAN_cplex,
        p_select_median_gurobi=list_of_p_MEDIAN_gurobi))

facilties = Circle(x="lon", y="lat", 
                   size=10, fill_color="yellow", 
                   fill_alpha=0.6, line_color=None)

plot.add_glyph(source_1, facilties)

plot.add_tools(PanTool(), WheelZoomTool(), BoxSelectTool(), ResetTool(), hover)
output_file("gmap_plot.html")
show(plot)


Out[45]:

<Bokeh Notebook handle for In[45]>