netlogo

时间:2017-05-19 10:07:15

标签: list netlogo

我不确定如何标题这个问题,如果有人知道更具体的标题,我很乐意改变它

我正试图在netlogo中为我的论文开发一个模型,其中海龟从18口不同的水井买水。每只海龟都与存储在品种自身变量adist_w_1,adist_w_2等中的各个井的距离。

我想做的是通过首先计算水价(常数+ x * adist_w_y)对商业机构的消费决策进行建模,然后计算出这个价格需求是多少,并从中减去需求较低的井的需求特别好。

价格= 0.75 +0.15 *距离;

individual_demand_at_well_x = f(price_at_well) - requirements_at_cheaper_wells

到目前为止,我所做的就是这样:

    to calc-price-at-well


set earlier-demands 0 


ask commercials [

let price_w_1 ((adist_w_1 / 1000) * 0.15 + 0.75 )
let price_w_2 ((adist_w_2 / 1000) * 0.15 + 0.75 )
let price_w_3 ((adist_w_3 / 1000) * 0.15 + 0.75 )
let price_w_4 ((adist_w_4 / 1000) * 0.15 + 0.75 )
let price_w_5 ((adist_w_5 / 1000) * 0.15 + 0.75 )
let price_w_6 ((adist_w_6 / 1000) * 0.15 + 0.75 )
let price_w_7 ((adist_w_7 / 1000) * 0.15 + 0.75 )
let price_w_8 ((adist_w_8 / 1000) * 0.15 + 0.75 )
let price_w_9 ((adist_w_9 / 1000) * 0.15 + 0.75 )
let price_w_10 ((adist_w_10 / 1000) * 0.15 + 0.75 )
let price_w_11 ((adist_w_11 / 1000) * 0.15 + 0.75 )
let price_w_12 ((adist_w_12 / 1000) * 0.15 + 0.75 )
let price_w_13 ((adist_w_13 / 1000) * 0.15 + 0.75 )
let price_w_14 ((adist_w_14 / 1000) * 0.15 + 0.75 )
let price_w_15 ((adist_w_15 / 1000) * 0.15 + 0.75 )
let price_w_16 ((adist_w_16 / 1000) * 0.15 + 0.75 )
let price_w_17 ((adist_w_17 / 1000) * 0.15 + 0.75 )
let price_w_18 ((adist_w_18 / 1000) * 0.15 + 0.75 )


let demand_w_1  5 * price_w_1 ;DUMMY! include demand function of price
let demand_w_2  5 * price_w_2
let demand_w_3  5 * price_w_3
let demand_w_4  5 * price_w_4
let demand_w_5  5 * price_w_5
let demand_w_6  5 * price_w_6
let demand_w_7  5 * price_w_7
let demand_w_8  5 * price_w_8
let demand_w_9  5 * price_w_9
let demand_w_10  5 * price_w_10
let demand_w_11  5 * price_w_11
let demand_w_12  5 * price_w_12
let demand_w_13  5 * price_w_13
let demand_w_14  5 * price_w_14
let demand_w_15  5 * price_w_15
let demand_w_16  5 * price_w_16
let demand_w_17  5 * price_w_17
let demand_w_18  5 * price_w_18

let demand-list (list demand_w_1 demand_w_2 demand_w_3 demand_w_4 demand_w_5 demand_w_6 demand_w_7 demand_w_8 demand_w_9 demand_w_10 demand_w_11 demand_w_12 demand_w_13 demand_w_14 demand_w_15 demand_w_16 demand_w_17 demand_w_18)

foreach sort demand-list
 [
  let cheapest-well item 0 demand-list
  set final_t_dem (cheapest-well - earlier-demands)
  set earlier-demands (earlier-demands + cheapest-well)
  set demand-list remove cheapest-well demand-list
  ]
]

*而早期的需求是全球性的,final_t_dem是商业广告的

这有望产生最便宜的井,并重申直到所有井都被“处理”。但是现在我对如何提取能够从各个海龟获得哪些需求的信息一无所知,这就是目标,总结它们。 最后,我想能够说商业xy对井1有个人x需求,所有商业广告都需要y。 我很乐意得到建议,因为我是netlogo的新手还有一个想法,如果这是一个关于模型效率的聪明方法。非常感谢!

0 个答案:

没有答案