mirror of
https://github.com/ANL-CEEESA/MIPLearn.git
synced 2025-12-09 02:48:52 -06:00
Implement PMedianPerturber
This commit is contained in:
@@ -17,12 +17,8 @@ def test_pmedian() -> None:
|
||||
p=randint(low=2, high=3),
|
||||
demands=uniform(loc=0, scale=20),
|
||||
capacities=uniform(loc=0, scale=100),
|
||||
distances_jitter=uniform(loc=0.95, scale=0.1),
|
||||
demands_jitter=uniform(loc=0.95, scale=0.1),
|
||||
capacities_jitter=uniform(loc=0.95, scale=0.1),
|
||||
fixed=True,
|
||||
)
|
||||
data = gen.generate(2)
|
||||
data = gen.generate(1)
|
||||
|
||||
assert data[0].p == 2
|
||||
assert data[0].demands.tolist() == [0.41, 19.4, 16.65, 4.25, 3.64]
|
||||
@@ -35,17 +31,6 @@ def test_pmedian() -> None:
|
||||
[33.2, 17.06, 70.92, 56.56, 0.0],
|
||||
]
|
||||
|
||||
assert data[1].p == 2
|
||||
assert data[1].demands.tolist() == [0.42, 19.03, 16.68, 4.27, 3.53]
|
||||
assert data[1].capacities.tolist() == [19.2, 31.26, 54.79, 44.9, 29.41]
|
||||
assert data[1].distances.tolist() == [
|
||||
[0.0, 51.6, 83.31, 33.77, 31.95],
|
||||
[51.6, 0.0, 70.25, 71.09, 17.05],
|
||||
[83.31, 70.25, 0.0, 68.81, 67.62],
|
||||
[33.77, 71.09, 68.81, 0.0, 58.88],
|
||||
[31.95, 17.05, 67.62, 58.88, 0.0],
|
||||
]
|
||||
|
||||
model = build_pmedian_model_gurobipy(data[0])
|
||||
assert model.inner.numVars == 30
|
||||
assert model.inner.numConstrs == 11
|
||||
|
||||
Reference in New Issue
Block a user