fix: number of dimensions
This commit is contained in:
parent
23994e2beb
commit
5aee3fb37b
3 changed files with 10 additions and 6 deletions
|
|
@ -8,11 +8,12 @@ from . import x,y,pb
|
||||||
# Objective functions
|
# Objective functions
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|
||||||
def cover_sum(sol, domain_width, sensor_range):
|
def cover_sum(sol, domain_width, sensor_range, dim):
|
||||||
"""Compute the coverage quality of the given array of bits."""
|
"""Compute the coverage quality of the given array of bits."""
|
||||||
assert(0 < sensor_range <= math.sqrt(2))
|
assert(0 < sensor_range <= math.sqrt(2))
|
||||||
assert(0 < domain_width)
|
assert(0 < domain_width)
|
||||||
assert(len(sol)>0)
|
assert(dim > 0)
|
||||||
|
assert(len(sol) >= dim)
|
||||||
domain = np.zeros((domain_width,domain_width))
|
domain = np.zeros((domain_width,domain_width))
|
||||||
sensors = to_sensors(sol)
|
sensors = to_sensors(sol)
|
||||||
cov = pb.coverage(domain, sensors, sensor_range*domain_width)
|
cov = pb.coverage(domain, sensors, sensor_range*domain_width)
|
||||||
|
|
|
||||||
|
|
@ -21,11 +21,12 @@ def to_sensors(sol):
|
||||||
return sensors
|
return sensors
|
||||||
|
|
||||||
|
|
||||||
def cover_sum(sol, domain_width, sensor_range):
|
def cover_sum(sol, domain_width, sensor_range, dim):
|
||||||
"""Compute the coverage quality of the given vector."""
|
"""Compute the coverage quality of the given vector."""
|
||||||
assert(0 < sensor_range <= domain_width * math.sqrt(2))
|
assert(0 < sensor_range <= domain_width * math.sqrt(2))
|
||||||
assert(0 < domain_width)
|
assert(0 < domain_width)
|
||||||
assert(len(sol)>0)
|
assert(dim > 0)
|
||||||
|
assert(len(sol) >= dim)
|
||||||
domain = np.zeros((domain_width,domain_width))
|
domain = np.zeros((domain_width,domain_width))
|
||||||
sensors = to_sensors(sol)
|
sensors = to_sensors(sol)
|
||||||
cov = pb.coverage(domain, sensors, sensor_range*domain_width)
|
cov = pb.coverage(domain, sensors, sensor_range*domain_width)
|
||||||
|
|
|
||||||
6
snp.py
6
snp.py
|
|
@ -93,7 +93,8 @@ if __name__=="__main__":
|
||||||
val,sol = algo.greedy(
|
val,sol = algo.greedy(
|
||||||
make.func(num.cover_sum,
|
make.func(num.cover_sum,
|
||||||
domain_width = the.domain_width,
|
domain_width = the.domain_width,
|
||||||
sensor_range = the.sensor_range),
|
sensor_range = the.sensor_range,
|
||||||
|
dim = d * the.nb_sensors),
|
||||||
make.init(num.rand,
|
make.init(num.rand,
|
||||||
dim = d * the.nb_sensors,
|
dim = d * the.nb_sensors,
|
||||||
scale = the.domain_width),
|
scale = the.domain_width),
|
||||||
|
|
@ -108,7 +109,8 @@ if __name__=="__main__":
|
||||||
val,sol = algo.greedy(
|
val,sol = algo.greedy(
|
||||||
make.func(bit.cover_sum,
|
make.func(bit.cover_sum,
|
||||||
domain_width = the.domain_width,
|
domain_width = the.domain_width,
|
||||||
sensor_range = the.sensor_range),
|
sensor_range = the.sensor_range,
|
||||||
|
dim = d * the.nb_sensors),
|
||||||
make.init(bit.rand,
|
make.init(bit.rand,
|
||||||
domain_width = the.domain_width,
|
domain_width = the.domain_width,
|
||||||
nb_sensors = the.nb_sensors),
|
nb_sensors = the.nb_sensors),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue