NetLogo:使用代理商自己的

时间:2016-03-16 02:06:09

标签: netlogo

我有像这样的零售商的NetLogo模型

retails-own [
  volum
  diskon
  ]

我想将volum和diskon的值分配给两个不同的零售店,到目前为止,我只能为它分配像这样的随机数

ask retails
  [
   set diskon random 5
   set volum random 20
  ]

如何为不同的零售商分配特定价值?如何从代理调用volum和diskon的值。到目前为止我无法调用它,见下文。谢谢

to create-shortest-path
    let i 0
    let tempar dijkstra (item 0 retailhouse) (item 1 retailhouse)

    let final_route item 0 tempar
    let total_distance item 1 tempar

    set buat total_distance

    if buat < 20
    [ 
      ask retails
      [ if diskon < 5   
        [set volum volum * (1 + diskon / 100) ] ;;THIS PART, how can I call volum value from a specific agent
      ]
    ]
end

1 个答案:

答案 0 :(得分:2)

如果您只有少量这些,则可以手动分配值。例如ask turtle 0 [ set diskon 25 ]。如果您有许多值,那么您应该考虑使用文件导入功能(请参阅模型库,代码部分中的示例)。

同样,您可以通过... [ diskon ] of turtle 0来回忆特定座席的价值。

请注意,这依赖于who数字,这通常是一件非常糟糕的事情,因为它们会按照创建海龟(代理)的顺序自动分配,因此如果您以后创建更多代码,代码将会中断代码中较早的代理。如果您只有几个代理并且永远不会改变,那也没关系,但您可能想要添加另一个变量来标记不同的代理。