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
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.')
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]>
Content source: jGaboardi/Facility_Location
Similar notebooks: