作为我论文工作的一部分,我将研究资本主义制度的资本模型循环。对于冗长的解释/多个问题,我深表歉意,但我的教授只能在这里帮助我理论,而不是编码。基本上,目标是创建一个基于代理的模型,其中每个回合都会发生以下情况:
- 代理人分为资本家和工人
- 资本家有一笔钱,他们购买机器(以他们能找到的最低成本)并雇用工人
- 他们生产产出并进行销售
- 买家试图以最低价格购买
- 资本家竞争,试图增加产出(通过变得更加技术化,即增加机器与工人的比例)。
现在,我将研究一个简化版本。由于我是新程序员,因此在启动和运行它时遇到了一些问题。我擅长对其他代码进行逆向工程,但没有现有的代码以我正在寻找的方式处理这个问题。我现在的具体问题是:
- 让资本家雇用工人的最好方法是什么?截至目前,工人将他们的"雇员ID"设置为资本家的ID,循环程序n次,其中n是他们对工人的需求。有没有更节省资源的方法可以做到这一点。
- 让买家(资本家或工人)找到最低价格的最节省资源的方法是什么?在这种情况下,还有什么比"最小一"更有效的吗?在模型的未来版本中,我希望买家找到价格最低的资本家和[库存>0],如果价格最低的公司售罄,则转向价格第二低的公司。理想情况下,我想在代码中对此敞开大门。
- 截至目前,补丁代表单个行业或经济部门(例如机器产品行业与食品行业)。在模型的未来版本中,我希望单个资本家能够拥有一家工厂,工人生产机器产品,但也扩展到不同地区的食品行业,雇用不同的工人。解决这个问题的好方法是什么?
非常感谢您的帮助, 丹尼尔
这是一个部分答案,它比答案更部分的评论,但作为评论太长了。堆栈溢出是为了帮助您修复代码错误,如果您有一段代码部分实现并且无法弄清楚如何使其工作,我们可能会提供帮助。但是您的大多数问题都是关于要使用的算法的问题,而不是如何在NetLogo中编写算法的问题,并且算法选择是主观的,需要对主题有深刻的理解。有些则更直截了当。
1/通过 ID,我假设你的意思是who
数字。一般经验法则,不要使用who
数字。变量可以存储,例如let myfriend one-of turtles
。如果您使用who
数字,则需要不断在who
和之间进行转换,而不仅仅是直接指代。
对于资本家来说,拥有10名员工的最简单方法是要求资本家随机选择10名工人(查找n-of
)。没有必要循环。然后,您可以按照您的建议进行操作 - 使用工人的变量来标识雇主,用雇主的变量来标识工作人员的代理集。另一种常见的方法是构建链接。
2/min-one-of
是使用指定变量的最小值标识的正确基元。请注意,您不必对整套海龟应用min-one-of
,要求min-one-of turtles with [inventory > 0][price]
没有问题,它只会搜索符合条件的海龟以寻找价格最低的海龟。
3/真的太依赖问题了,无法回答