fix: number of dimensions

This commit is contained in:
johann dreo 2019-12-16 15:25:35 +01:00
commit 5aee3fb37b
3 changed files with 10 additions and 6 deletions

View file

@ -8,11 +8,12 @@ from . import x,y,pb
# 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."""
assert(0 < sensor_range <= math.sqrt(2))
assert(0 < domain_width)
assert(len(sol)>0)
assert(dim > 0)
assert(len(sol) >= dim)
domain = np.zeros((domain_width,domain_width))
sensors = to_sensors(sol)
cov = pb.coverage(domain, sensors, sensor_range*domain_width)

View file

@ -21,11 +21,12 @@ def to_sensors(sol):
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."""
assert(0 < sensor_range <= domain_width * math.sqrt(2))
assert(0 < domain_width)
assert(len(sol)>0)
assert(dim > 0)
assert(len(sol) >= dim)
domain = np.zeros((domain_width,domain_width))
sensors = to_sensors(sol)
cov = pb.coverage(domain, sensors, sensor_range*domain_width)

6
snp.py
View file

@ -93,7 +93,8 @@ if __name__=="__main__":
val,sol = algo.greedy(
make.func(num.cover_sum,
domain_width = the.domain_width,
sensor_range = the.sensor_range),
sensor_range = the.sensor_range,
dim = d * the.nb_sensors),
make.init(num.rand,
dim = d * the.nb_sensors,
scale = the.domain_width),
@ -108,7 +109,8 @@ if __name__=="__main__":
val,sol = algo.greedy(
make.func(bit.cover_sum,
domain_width = the.domain_width,
sensor_range = the.sensor_range),
sensor_range = the.sensor_range,
dim = d * the.nb_sensors),
make.init(bit.rand,
domain_width = the.domain_width,
nb_sensors = the.nb_sensors),