Anylogic基于主体建模——以产品生命周期模型为例产品生命周期模型产品生命周期模型描述了产品的扩散过程。产品的潜在客户会受到广告和客户(那些已经购买了这种新产品的人)的口碑影响而购买产品。创建主体主体(agent)是基于主体的模型的基本构建模块。基于主体的模型包括多个主体以及它们的环境。每个主体都被给予一系列规则,主体间的交互将产生整个系统的总体行为。在这一模型中,主体是人。创建主体:创建类将主体放置于环境中:在main类中创建类实例。创建主体点击NewActiveObjectClass工具条按钮。在打开的对话框中,指定新类的名称(Nameofthenewclass):Person。将主体放置于环境中在Project窗口中双击Main项目,打开Main类图。将Person类从Project窗口中拖动到Main类的结构图中。在Properties窗口的General页面中,输入对象的名称(Name):people。指定你希望放置于模型中的主体数量。在Properties窗口的Replication页面中,输入对象的数量(Numberofobjects)。定义主体特性使用类参数(parameter)定义主体属性。本例中的主体特性:广告建议性:主体受广告影响的程度。联系性:主体与他人的交流频率。个人说服力:主体影响他人决策的能力。可在主体上创建附加参数(如是否为潜在客户)以方便状态的表示与转移及数据的统计。定义主体特性在Project窗口中,点击Person项目。在Properties窗口,点击NewParameter…按钮。在打开的Parameter对话框中,设定参数名称、类型与数值。定义主体行为主体行为通过状态图(statechart)定义。本例中,主体的状态包括潜在的客户与客户两种,主体可以受到广告或他人建议的影响从潜在的客户转变为客户。主体开始时均为潜在客户。成为客户所需时间为exp(广告建议性)。若其他客户建议他使用该产品,则其成为客户所需时间为exp(联系频率*个人说服力)。两事件有任一事件发生则其成为客户。定义主体行为在Project窗口中双击Person项目,打开Person类图。首先,点击Statechart工具条按钮,然后点击类图。此时图中即显示状态图图标。双击此图标即打开此状态图。对此状态图进行编辑,完成对状态与状态转化的编辑。定义主体行为若只考虑广告,则如图所示,状态图只有两个状态和一个转移,即潜在客户受广告的影响成为客户。计数与统计我们希望能够知道在任一时刻有多少人已经购买了我们的产品,故需要创建两个变量以计数产品的现有客户和潜在客户。在main类中创建两个变量表示潜在客户与客户的数量,开始时均为0。通过定义每个状态的进入行为与离开行为,我们可以实现对客户数量的统计。计数与统计模型的配置与运行模型仿真有一系列特定的设定。一组模型的设定称之为一个实验(experiment)。实验显示于模型树中的Experiments项目之下。默认情况下已创建一个实验并命名为simulation。这是一个简单实验(simpleexperiment),提供了过程可视化的工具。在模型参数起重要作用,并且需要分析这些参数如何影响模型行为或找到模型的最优参数时,你也可以使用多种其他类型的实验,如优化、风险评估、变化测试等。模型的配置与运行由于我们只想观察在用户接受产品过程发生时模型行为是怎样的,我们需要在系统达到平衡状态时停止此模型。一般需手动设置模拟次数。在Project窗口中,点击Simulation实验项目。在Properties窗口的Additional选项卡中,选中Stopattime选框。在右侧的编辑框中,输入8。这一模型将在8个单位模型时间后停止。点击运行即可观察最后结果。过程研究我们可以通过图表(chart)以对所考察过程的动态行为进行研究。点击Step工具栏按钮以准备运行模型。点击NewChart工具条按钮。此时即出现一个图表窗口。选择需要在图表中显示的变量。右键点击图表窗口,从弹出菜单中选择ChartSetup此时即出现ChartSetup对话框。向下滚动Variable,parameters,anddatasets列表,然后双击root.potential_adopters与root.adopters变量,以将其加入到图表中。右键点击图表窗口,从弹出菜单中选择ChartOptions…在出现的对话框中设定图表的时间范围。过程研究过程研究考虑口碑的影响在当前模型中,人们购买产品的原因只是由于受到广告的影响。实际上,广告效应只有在该产品刚刚投放到市场时才起主要作用。随时间推移,人们购买产品的原因更多是由于受到已经购买此产品的熟人的影响。为考虑口碑的影响,我们应略微修改我们的模型。考虑口碑的影响考虑口碑的影响加入产品消耗逻辑加入产品消耗逻辑创建空间模型在Project窗口中双击Person项目,打开Person类图。创建实数类型(real)的变量x和y。为这两个参数设置相同的起始值。使用均匀分布函数uniform(),我们将人放置在坐标为0到300之间的随机位置。创建空间模型在Project窗口,右键点击Person项目,然后从弹出菜单中选择NewMathematicalFunction…在打开的对话框中,设定函数名称:distance。在Properties窗口中,将函数类型(Functiontype)设置为real。定义参数,以将另一个人的位置坐标传递给此函数。指定函数表达式(Expression)。创建空间模型在Project窗口中双击adoption项目,打开adoption状态图。点击Adopter状态的内部转变,然后改变此转变的行为(action)。现在人们将只与其邻居发生联系。创建动画扩展的产品生命周期模型区域性的促销活动多产品扩散人群移动