TWest
TWest

Reputation: 824

How to make the agent pick the highest value between two values?

guys. I created this procedure in NetLogo for my agents (farmers):

to calculate-deforestation

 ask farmers [
  set net-family-labor ( family-labor - ( ag-size * cell-labor-ag-keep ) ) 
  set net-family-money ( family-money - ( ag-size * cell-cost-ag-keep ) )
  ifelse  net-family-labor < 0 or net-family-money < 0
    [ set n-aband-cell-labor ( family-labor / cell-labor-ag-keep )
      set n-aband-cell-money ( family-money / cell-cost-ag-keep ) 

      set n-aband with-max [ n-aband-cell-labor n-aband-cell-money ]

      ]      

    [ set n-def-cell-labor ( net-family-labor / cell-labor-deforest )
      set n-def-cell-money ( net-family-money / cell-cost-deforest ) 

      set n-def with-min [ n-def-cell-labor n-def-cell-money ]

      ]
]
end

For the "n-aband", I would like to get the max value between "n-aband-cell-labor" and "n-aband-cell-money" (either one or the other; the same goes for "n-def"). I know a limited number of NetLogo primitives but the ones I was able to find do not work for my case, for instance, "with-max", "max-n-of", "max-one-of". I am sure there must be one that would work but I am having trouble finding it in the NetLogo dictionary. I wonder if anyone could suggest me one that could work for my case. Thank you in advance.

Upvotes: 1

Views: 270

Answers (1)

Arthur Hjorth
Arthur Hjorth

Reputation: 889

If you want to get the max value of a list, simply use max. So,

set n-aband max (list n-aband-cell-labor n-aband-cell-money )

will set n-aband to the highest of the two values.

Upvotes: 3

Related Questions