From 7ec6682650fec60707fc2a06fe15b9d968832850 Mon Sep 17 00:00:00 2001 From: Arindam Saha Date: Thu, 8 Feb 2024 15:09:05 +0000 Subject: [PATCH] Visit probability restricted to 1 --- facs/base/household.py | 2 +- facs/base/location.py | 3 +++ facs/base/utils.py | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/facs/base/household.py b/facs/base/household.py index 553fae7..f32907b 100644 --- a/facs/base/household.py +++ b/facs/base/household.py @@ -45,7 +45,7 @@ def __post_init__(self): raise ValueError("Household size must be at least 1.") if self.size > 4: - warn("Household size is greater than 4.") + warn(f"Household size {self.size} is greater than 4.") for _ in range(self.size): self.agents.append(Person(self.house, self, self.ages)) diff --git a/facs/base/location.py b/facs/base/location.py index 721601d..7240951 100644 --- a/facs/base/location.py +++ b/facs/base/location.py @@ -75,6 +75,9 @@ def register_visit(self, e, person, need, deterministic=False): else: return + if visit_probability > 1.0: + visit_probability = 1.0 + if deterministic: self.visit_probability_counter += min(visit_probability, 1) if self.visit_probability_counter > 1.0: diff --git a/facs/base/utils.py b/facs/base/utils.py index 4c59f00..c2ea7dc 100644 --- a/facs/base/utils.py +++ b/facs/base/utils.py @@ -18,7 +18,7 @@ def probability(prob): """Return True with probability prob.""" if prob < 0 or prob > 1: - raise ValueError("prob must be between 0 and 1") + raise ValueError(f"Probability (currently {prob}) must be between 0 and 1.") return np.random.random() < prob