模拟问题Java

时间:2011-08-30 02:17:30

标签: java simulation

我是模拟的新手,我只是想找出解决我遇到的某个问题的最佳方法。

我有一个“世界”,其中有不同的地点(不同的城市)。在每个城市,都有一定数量的随机工作人员。每个工作人员都有一个名称,声誉级别,一定数量的金钱以及它控制的业务量。这些业务中的每一个都以不同的方式进行控制,例如银行可能需要大量的安全性,这需要花费在这个部门,而酒店将需要更多的钱用于业务的翻新/结构升级要成功。每个企业每周都会向船员带来一定数量的资金。如果业务易受攻击,船员通常会尝试在同一城市内接管另一个船员的业务。如果企业缺乏安全等重要部门,企业就会变得脆弱。(因企业而异)。

我需要以某种方式实施这种模式的船员获取业务,维护/保护他们,同时在机会出现时攻击其他船员,但我完全迷失了从哪里开始。如果场景我可以创建一大堆随机的东西,但我知道必须有更好的方法。感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:5)

开始考虑您的高级实体,更重要的是,考虑这些实体之间的关系。

以下是一些名词(模拟中存在的实体):

  • 世界
  • 城市
  • 克鲁斯
  • 企业
  • 货币

以下是一些动词(你的名词之间存在的关系):

  • 攻击/保护企业
  • 收购企业
  • 业务需求检测/检查(安全,资金等......)
  • Vunerability检查
  • 赚钱
  • 跟踪资金
  • 城市边界检查(船员攻击同一城市的船员)
  • 机会计算(船员攻击)

我确信可能会有更多。关键是你需要评估哪些关键任务需要存在才能使模拟变得有用。

根据您不是数学家的某种合理安全的假设,对脆弱性和机会的计算必须有些武断。确定您认为在工作人员经历的决策过程中更重要的内容。

名词非常直接。您只需要仔细考虑您的数据结构,以便容纳不同的实体。考虑您打算如何使用这些对象并利用最大化性能的数据结构,以及在开发过程后期发生更改时灵活变通的能力。

关系类通常存在争议,因为很难准确描述一个过程正在做什么。尝试遵循SRP(单一责任原则 - 一个对象应该只有一个责任,并且该责任应该由该类完全封装)。也就是说,也不要成为狂热者。有时它会产生更多,因为两个密切相关的过程应该集中在一起。

GL