You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AnyLogic医疗仿真:将select output块从概率改为症状条件及随机赋症

AnyLogic医疗仿真模型:基于症状的流程控制与随机症状分配

1. 将Select Output块从概率模式切换为条件模式

  • 打开Select Output块的属性面板
  • 在「模式(Mode)」下拉菜单中,直接切换为「条件(Conditional)」(替代原有的「概率(Probabilistic)」模式)
  • 为每个输出端口设置判断条件:
    • 假设你的患者Agent已定义symptom字符串属性,示例条件如下:
      • 端口1:agent.symptom.equals("发热")
      • 端口2:agent.symptom.equals("咳嗽")
      • 端口3:agent.symptom.equals("头痛")
  • 注意事项:条件会按端口顺序依次判断,需确保逻辑互斥或优先级合理;若所有条件均不满足,患者会进入「默认输出端口」(可在属性中指定)

此操作无需编写复杂代码,AnyLogic内置了条件模式的处理能力,只需利用Agent的属性完成逻辑判断即可。

2. 为到达的患者随机分配症状

步骤1:为患者Agent添加症状属性

打开患者Agent的编辑界面,在「属性(Attributes)」标签页添加一个字符串类型的属性,命名为symptom

步骤2:实现随机分配逻辑

根据需求选择以下两种常用方式:

方式一:等概率随机分配

  • 在主模型的「变量(Variables)」中定义症状列表:
    List<String> symptomList = Arrays.asList("发热", "咳嗽", "头痛", "恶心");
    
  • 打开生成患者的Source块,在「到达时(On arrival)」动作中添加代码:
    agent.symptom = randomItem(symptomList);
    

方式二:加权概率分配(不同症状概率不同)

  • 在主模型的「变量(Variables)」中添加一个「离散分布(Discrete Distribution)」类型变量,命名为symptomDistribution
  • 编辑该分布:添加症状值及对应概率(例如:发热0.4、咳嗽0.3、头痛0.2、恶心0.1)
  • 在Source块的「到达时(On arrival)」动作中添加代码:
    agent.symptom = symptomDistribution.sample();
    

内容的提问来源于stack exchange,提问作者Omar Samy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 05:05:05