蚊子模型智能体多状态初始化:如何仅启动时设置20%感染80%易感比例?
解决方案:区分初始种群与新生个体的状态分配
要实现初始雌蚊按比例分配状态、新生雌蚊固定从易感状态起步,核心是把初始化种群和新生个体生成的逻辑完全分开:
- 初始种群单独设置比例:在模型启动的专属流程里,一次性创建所有初始雌蚊,按80%易感、20%感染的比例分配状态,这段逻辑只执行一次。
- 新生个体固定初始状态:单独编写新生雌蚊的生成逻辑,直接将其状态设为
susceptible,完全独立于初始种群的比例分支。
伪代码示例
# 模型启动时执行(仅一次) total_initial_females = 1000 # 计算初始状态数量 init_susceptible = int(total_initial_females * 0.8) init_infectious = total_initial_females - init_susceptible # 创建初始易感雌蚊 for _ in range(init_susceptible): create_mosquito(status="susceptible", gender="female") # 创建初始感染雌蚊 for _ in range(init_infectious): create_mosquito(status="infectious", gender="female") # 新生雌蚊生成逻辑(繁殖触发时执行) def spawn_new_female(): # 固定初始状态为易感 create_mosquito(status="susceptible", gender="female")
可视化仿真工具(如AnyLogic)操作提示
- 把初始种群的状态分配逻辑放在**模型启动事件(On Startup)**中,通过代码或可视化组件按比例创建对应状态的个体。
- 新生个体的生成逻辑绑定到繁殖事件,直接指定初始状态为
susceptible,不经过之前的比例分支节点。
内容的提问来源于stack exchange,提问作者Celina
相关产品推荐
相关产品推荐

