Anylogic系统动力学教程.doc

上传人:牧羊曲112 文档编号:4219434 上传时间:2023-04-10 格式:DOC 页数:50 大小:683KB
返回 下载 相关 举报
Anylogic系统动力学教程.doc_第1页
第1页 / 共50页
Anylogic系统动力学教程.doc_第2页
第2页 / 共50页
Anylogic系统动力学教程.doc_第3页
第3页 / 共50页
Anylogic系统动力学教程.doc_第4页
第4页 / 共50页
Anylogic系统动力学教程.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《Anylogic系统动力学教程.doc》由会员分享,可在线阅读,更多相关《Anylogic系统动力学教程.doc(50页珍藏版)》请在三一办公上搜索。

1、系统动力学教程 1992-2005 XJ Technologies Company Ltd.xjtek.所有 1992-2005 XJ Technologies。保留所有权利。 XJ Technologies Company LtdAnyLogicxjtek.xjtek./products/anylogicContents目录关于此教程11. 产品生命周期模型21.1 创建一个新工程21.2 分析此模型31.3 将客户和潜在客户建模为存储体(stock)41.4 将购买建模为一个流61.5 定义购买流对人群的影响61.6 加入常数81.7 定义存储体(stock)的初始值101.8 加入从属动

2、作(auxiliary)111.9 定义购买率公式111.10 查看因果依赖性121.11 配置仿真131.12 运行模型141.13 查看变量的值151.14 用图表显示变量的变化151.14.1 查看客户和潜在客户数目动态信息151.14.2 查看购买率171.14.3 查看不同购买源的贡献171.15 创建一个显示台(show-bench)181.15.1 创建动画图181.15.2 创建动态的存储体(stock)和流图191.15.3 加入控件232. 扩展产品生命周期模型272.1 加入替代性购买逻辑272.1.1 建模产品丢弃率272.1.2 修改动画292.2 建模需求循环312

3、.2.1 向我们的模型中加入实验数据312.2.2 用公式表示购买比例332.3 建模一个推广战略352.3.1 建模广告支出352.3.2 建模一个推广计划372.4 优化产品的市场进入战略392.4.1 查看市场饱和度402.4.2 配置优化412.4.3 运行优化433. 总结45关于此教程AnyLogicTM支持多种不同的建模技术。本教程介绍了其中的系统动力学(System Dynamics,简称为SD)建模方法。系统动力学仿真技术可以成功应用于多种领域其应用领域包括商业,城市,社会,生态学等系统。AnyLogicTM允许你使用标准的系统动力学图形符号创建复杂的动态模型。这一教程将向你

4、简要介绍使用AnyLogicTM创建一个仿真模型的过程。此教程的目的在于向你介绍AnyLogicTM的界面及其许多主要特性。我们将创建一个简单的演示例产品生命周期模型,此模型用于预测新产品的销售情况。在第一章中我们将创建经典的Bass扩散模型。然后我们将通过考虑一些细节信息和向你介绍一些AnyLogicTM的高级特性,来对我们的模型进行扩展。请注意我们为这两个模型提供了一些参考文件,这些文件对应于编辑模型过程中的一些关键步骤的结果。如果你在创建模型时遇到任何问题,或你希望将你的模型与我们提供的模型对比,你可以使用这些参考文件。你可以使用Start Page(开始页)打开这些示例文件。在关闭你正

5、在编辑的模型之后,Start Page(开始页)将自动出现。 1. 产品生命周期模型我们将创建产品生命周期模型。这一模型描述了一个产品的扩散过程。产品的潜在客户会受到广告和现有客户(那些已经购买了这种新产品的人)的口碑影响而购买产品。通过口碑影响而购买新产品与疾病传染类似。潜在的客户通过社会关系与现有客户发生联系。这些联系中的一部分将引起购买新产品。广告在每个时期都会引起潜在客户中固定比例的一部分购买新产品。1.1 创建一个新工程首先,我们将为你的模型创建一个新工程。 创建一个新工程1. 点击New Project(新建工程)工具条按钮。此时即出现New Project(新建工程)对话框。2.

6、 点击Choose Location(选择存放位置)按钮,然后浏览找到你希望保存你的工程文件的文件夹。3. 指定工程名称。在Project name(工程名称)编辑框中,输入Product Life Cycle(产品生命周期)4. 点击OK。此时即创建了一个新工程。你可以看到structure diagram(结构图)显示于工作区的中心,Project(工程)窗口显示于左侧面板,Properties(属性)窗口显示于右侧面板。 当在一个工程中进行工作之后,请不要忘记点击Save(保存)按钮以保存此工程。 1.2 分析此模型现在我们需要分析此模型以决定如何使用系统动力学术语对其进行描述仿真的步骤

7、:分析现实问题建立模型仿真分析。我们应区分模型中的关键变量和他们的影响模式,然后再创建模型的存储体(stock)和流图。在创建存储体(stock)和流图时,我们应注意何种变量应使用存储体(stock),流,或从属动作(auxiliary)进行建模。存储体(stock)(也称为水平(level),累积(accumulation),或状态变量)的值随时间连续改变。流,也称为率,可以改变存储体(stock)的值。反过来,系统中的存储体(stock)也决定流的值。它们之间的部分称之为从属动作(auxiliary),其值可以发生突变。当创建一个存储体(stock)和流图时,首先考虑何种变量将在一个时间段

8、累积其值。在我们的模型中,客户和潜在客户人数是存储体(stock),而对新产品的购买率是一个流。模型的系统动力学表述显示于如下图中。存储体(stock)用方框表示,流用阀门表述,从属动作(auxiliary)用圆圈表示。箭头表示模型中的因果关系。在AnyLogicTM中,你可以使用结构图定义存储体(stock)和流图。在结构图中你可以使用图形方法定义存储体(stock),流,和从属动作(auxiliary)。在Project(工程)窗口中,双击工作区输中的Main项目,即打开结构图。1.3 将客户和潜在客户建模为存储体(stock)首先,我们加入两个存储体(stock)以建模客户和潜在客户人群

9、。在AnyLogicTM中,一个存储体(stock)用一个变量表示。 加入一个存储体(stock)以建模潜在客户人群1. 点击Variable(变量)工具条按钮。2. 在图中点击你希望放置此存储体(stock)的地方。此时图中即出现一个新变量,显示为蓝色圆圈。3. 一旦你将一个元素放置到结构图中之后,此元素即显示为选定状态,且其属性同时显示于Properties(属性)窗口中。你可以根据你的模型需求,调整元素属性。若需在稍后某时刻再调整属性,首先在图中点击选取此元素,然后根据需要修改其属性。4. 更改此存储体(stock)的名称。在Properties(属性)窗口中,在Name(名称)编辑框中

10、输入Potential Customers。5. 在Equation段,从Form下拉选单中选择Integral or Stock。此时你可以看到图中的存储体(stock)形状变为方形,以符合系统动力学符号标准。 加入一个存储体(stock)以建模客户人群1. 按同样方法加入此存储体(stock)。将它命名为Customers。到此为止,前面加入的两个存储体(stock)并没有适当地定义。稍后我们将为存储体(stock)定义积分函数(integral function),并指定其初始值。但我们首先需要创建购买流(adoption flow)。1.4 将购买建模为一个流现在我们将建模购买流(ad

11、option flow),此流将增加客户数目,从而减少潜在客户数目。在AnyLogicTM中,流用一个变量表示。流的值根据指定的公式计算得出。 创建Adoption_Rate(购买率)流1. 点击Variable(变量)工具条按钮。2. 在图中点击你希望放置流的地方。3. 更改此流的名称。在Properties(属性)窗口中,在Name(名称)编辑框中输入Adoption_Rate。4. 将Equation Form(等式形式)改为Formula(公式)。我们将稍后再定义流的公式。1.5 定义购买流对人群的影响现在我们将建模流对存储体(stock)值的影响。存储体(stock)的值根据你所指定

12、的积分函数计算得出。此函数应定义为如下形式: + - - 向此存储体(stock)的当前值加入流入流(inflow,即增加存储体(stock)值的流)的值,并从此存储体(stock)的当前值中减去流出流(outflow,即减少存储体(stock)值的流)的值。 定义由于购买而从潜在客户群中流出的流(outflow)1. 在结构图中点击Potential_Customers变量。2. 在Properties(属性)窗口中,定义此函数:Adoption_Rate。使用函数向导(function wizard)以省却输入等式表达式中的变量和函数的完整名称。为打开函数向导,在d(Potential_C

13、ustomers)/dt编辑框中点击所需的位置,然后点击按钮或按Ctrl+Space。此向导中将列出所有的模型变量和预定义的函数。拖动滚动条找到你希望加入的名称,或输入该名称的开头第一个或若干个字母直到此名称出现于列表中。双击此名称,以将其插入到等式表达式中。 定义由于购买而向客户群中流入的流1. 按与上述相同的方法操作。输入Adoption_Rate公式。 1.6 加入常数现在我们将定义我们模型中的常数。在AnyLogicTM中,你可以通过创建一个参数(parameter)来定义一个常数。 定义代表总人数的常数1. 在Project(工程)窗口中,双击Main 类项目。2. 在Propert

14、ies(属性)窗口,点击New Parameter(新建参数)按钮。在打开的Parameter(参数)对话框中,设置参数属性。3. 更改此常数的名称。在Name(名称)编辑框中输入Total_Population。4. 在Default value(默认值)编辑框中,输入100000。这一值将作为我们模型中的总人数。5. 你可以在Description(描述)编辑框中输入对此参数的简短描述。输入在向对此模型不熟悉的人解释此常数时有帮助的文字。 你可以看到新参数即被加入到Parameters(参数)表格中。 在这一模型中,广告量以及潜在客户由于受到给定量广告的影响而可能购买的概率在每个时期中都被

15、假定为常数。所以,我们需要加入一个常数以建模广告有效性由于广告而引起的购买人群的比率。 定义代表广告有效性的常数1. 以同样方法定义一个常数。将此常数命名为Advertising_Effectiveness。2. 设置其值为0.011。潜在客户与已有客户之间进行联系的频率被假定为是常数。因此我们需要定义一个常数以代表联系频率。 定义常数Contact_Rate1. 按同样方法定义此常数。输入其名称:Contact_Rate.。2. 假定联系频率为每年每人100次。在Default value(默认值)中,输入100。再定义一个常数以指定购买比例所发生的联系中其说服力强得足以使得潜在客户购买此产

16、品的那部分的比例。 定义常数Adoption_Fraction1. 将此常数命名为Adoption_Fraction。2. 设置其值为0.015。1.7 定义存储体(stock)的初始值现在我们准备好了指定存储体(stock)的初始值。 定义客户的初始数目1. 在结构图中,点击Customers 存储体(stock)。2. 产品客户的初始数目为0。在Properties(属性)窗口中,在Initial value(初始值)编辑框中输入0。 定义潜在客户的初始数目1. 在结构图中,点击Potential_Customers 存储体(stock)。2. 在此存储体(stock)的Initial v

17、alue(初始值)属性中输入Total_Population(你可以使用函数向导)。此时即完成了定义新的存储体(stock)。1.8 加入从属动作(auxiliary)我们需要加入两个从属动作(auxiliary)以代表由于口碑影响而引起的购买和由于广告影响而引起的购买。 创建Adoption_From_Advertising 从属动作(auxiliary)1. 点击Variable(变量)工具条按钮。2. 在图中点击你希望创建从属动作(auxiliary)变量的位置。3. 在Properties(属性)窗口中,将Name(名称)改为Adoption_From_Advertising。4. 将

18、Equation type(等式类型)改为Formula(公式)。5. 定义此公式的表达式:Advertising_Effectiveness*Potential_Customers 创建Adoption_From_Word_Of_Mouth 从属动作(auxiliary)1. 按照与上述相同的方法进行操作,但将名称改为Adoption_From_Word_Of_Mouth,然后指定如下公式:Contact_Rate*Adoption_Fraction*Potential_Customers*Customers/ Total_Population1.9 定义购买率公式现在我们需要用公式表示购买

19、率。两种引起购买的原因被假定为是互相独立的。因此,总的购买率就是由于已有客户口碑影响引起的购买率和由于广告影响引起的购买率之和。 定义购买率的公式1. 在结构图中点击Adoption_Rate变量。2. 在Properties(属性)窗口中,指定公式表达式:Adoption_From_Advertising+Adoption_From_Word_Of_Mouth现在我们就完成了定义我们的模型。1.10 查看因果依赖性你可以检验你的模型中的存储体(stock),流和从属动作(auxiliary)之间的因果依赖性。与标准SD符号相同,这些依赖性用箭头表示。一个从流指向存储体(stock)的箭头表示

20、这一流作为此存储体(stock)的入流。一个从存储体(stock)指向流的箭头表示这一流是一个出流。一个从变量A指向变量B的细箭头表示A引起B的改变。 查看模型中的因果关系1. 点击Show/Hide Variable Dependencies(显示/隐藏变量依赖关系)工具条按钮。你可以看到表示因果依赖性的箭头即显示出来。你可以看到我们的模型有一个平衡反馈环和一个增强反馈环。平衡反馈环影响由于广告引起的购买率。此购买率减小潜在客户的数目,而潜在客户数目减少接着又会降低购买率。增强反馈环影响由于口碑效应而引起的购买率。购买率增加客户人数,引起口碑上升,从而又增长了购买率。你可以检查你所输入的整个

21、等式系统。 打开等式系统视图1. 在Project(工程)窗口,展开Main项目,然后双击Main子树中的Code项目。2. 你的模型的等式系统即显示于所出现窗口的Equation部分。在这里你可以编辑现有的等式和加入新的等式。1.11 配置仿真模型仿真有一系列特定的设置。可以创建多个替代性的模型设置。一组模型设置称为一个实验(experiment),实验显示于模型树中Experiments项目之下。默认将创建一个实验,并将其命名为Simulation。这一实验是一个仿真实验(simulation experiment),它允许使用自定义的参数值进行模型仿真,并在仿真时显示动画。实验也有其他类

22、型(优化(optimization),风险评估(risk assessment),参数变化(parameter variation)实验),当模型参数起重要作用,并且你需要分析它们如何影响模型行为,或当你希望找到你的模型的最优参数时,你可以使用这些实验。如果我们此时开始运行此模型,它将无限期地运行。由于我们只希望观察在购买过程发生时模型如何表现,因此我们需要在系统达到平衡状态时停止模型运行。这个模型中的购买过程持续了大约超过8年。 将模型设置为在时间为8时停止1. 在Project(工程)窗口中,点击实验Simulation。2. 在Properties(属性)窗口的Additional(附加

23、)选项卡中,选中Stop at time选框。在右边的编辑框中,输入8。这一模型将在8个单位模型时间之后停止运行。你可以设置求解微分方程系统的方法。如果你不指定一个特定的求解器,就会保留Automatic(自动),AnyLogicTM即根据系统行为,在运行时自动选择一个数值解法。 设置数值积分RK4方法1. 在仿真实验的Additional(附加)属性页中,从Differential equations(微分方程)组合框中选择RK4方法。1.12 运行模型点击Build(构建)工具条按钮以构建你的工程。如果你的工程中存在错误,则构建操作失败,同时出现Output(输出)窗口,在其中列出你的工程

24、中找到的所有错误。双击列表中的一个错误,打开此错误的位置并将其改正。在工程成功构建之后,你就可以开始运行模型。点击Run(运行)以开始运行模型。至此为止,你都是在使用AnyLogicTM的编辑器(editor)模式。模型开始运行之后,即切换到查看器(viewer)模式。在查看器模式中,你可以控制模型执行,检查模型变量,查看图表,动态更改参数等等。1.13 查看变量的值有多种方法在AnyLogicTM中查看变量的值。首先,变量值显示在Model Viewer(模型查看器)中。 查看模型中变量的值1. 点击Run(运行)以开始运行模型。2. 点击Model Root Object(模型根对象)工具

25、条按钮。Model Viewer(模型查看器)窗口即打开。你可以看到变量的真实值显示于模型树中。你可以点击Pause(暂停)按钮以暂停模型,然后根据需要改变任意变量的值,具体操作为右键点击模型树中的变量项目,从弹出菜单中选择Modify(修改),然后在打开的对话框中指定新值。这里对应的参考模型可以在如下位置找到:ExamplesSystem Dynamics Tutorial ModelsProduct Life Cycle-1-Creating the model.alp。1.14 用图表显示变量的变化在仿真过程中,你也可以通过图表观察变量值如何变化。1.14.1 查看客户和潜在客户数目动态

26、信息 创建客户和潜在客户图表1. 点击Step(单步运行)工具条按钮以准备运行模型。2. 点击New Chart(新建图表)工具条按钮。此时即出现一个图表窗口。3. 选择要在图表中显示的变量。点击图表窗口,然后从弹出菜单中选择Chart Setup(图表设置)此时即出现Chart Setup(图表设置)对话框。4. 在Variables, parameters, and datasets(变量,参数和数据集)列表中双击root.Custommers变量以将其加入到图表中。5. 双击root.Potential_Customers变量以将其加入到同一个图表中。6. 点击OK。 配置此图表1. 点

27、击Step(单步运行)工具条按钮以准备运行模型。2. 右键点击图表窗口,然后从弹出菜单中选择Chart Setup(图标设置)在打开的对话框中设置此图表的数值围。现在点击Restart Model(重新开始模型)按钮,然后点击Run(运行)按钮,以重新开始运行模型。此图表显示了Potential_Customers和Customers变量在仿真过程中如何变化。你可以看到经典的S形扩散曲线。1.14.2 查看购买率现在我们将创建一个图表以显示我们的模型中购买率是如何变化的。 为Adoption_Rate创建一个图表1. 创建一个新图表,方法与前一节中相同。向此图表显示的容加入Adoption_R

28、ate变量。 点击Restart Model(重新开始模型)按钮,然后点击Run(运行)按钮,以重新开始运行你的模型。你可以看到经典的铃形曲线。1.14.3 查看不同购买源的贡献我们希望查看何时口碑效应开始超过广告效应的影响。因此,我们需要创建一个图表以显示这些变量,并找到其对应曲线的交点。 创建一个图表,显示由于广告引起的购买和由于口碑引起的购买1. 创建一个新图表,显示Adoption_From_Advertising和Adoption_From_Word_Of_Mouth变量。点击Restart Model(重新开始模型)按钮,然后点击Run(运行)按钮,以重新启动模型。现在我们可以很容

29、易地看到,当一项新产品进入市场,且用户数目为0时,唯一引起购买的源泉就是广告。广告效应在扩散过程的开始阶段最大,随着潜在客户群逐渐缩小直至被耗尽,广告效应呈一直减小趋势。这一图表将自动改变其尺度大小以容纳绘出的曲线。这一图表显示了从仿真开始到仿真结束的变量变化过程,但是我们只需要考察特定时间段的情况。 设置图表只显示特定时间窗口的变量变化。1. 右键点击图表,然后从弹出菜单中选择Chart Options (图表选项)此时即出现Chart Options(图表选项)对话框。在Axes页面的Window size编辑框中指定时间段的长度。输入1然后点击OK。现在此图表只显示最后一个时间单元的曲线

30、。2. 点击Restart Model(重新开始模型)按钮,然后点击Run(运行)按钮,以重新启动模型。滚动图表,以查看仿真的开始部分。现在你可以看到曲线相交于(0.46,11000)附近。这里对应的参考模型可以在如下位置找到:ExamplesSystem Dynamics Tutorial ModelsProduct Life Cycle-2-Charts.alp。1.15 创建一个显示台(show-bench)在这一部分我们将创建一个显示台(show-bench),以用于通过改变常数(广告有效性,联系频率,和总人数)的值来控制模型和观察这些改变如何影响模型。这些改变将通过图表和动态的存储体

31、(stock)和流图显示出来。1.15.1 创建动画图为创建一个显示台,你需要使用动画图来绘制它。 创建一个动画1. 点击New Animation(新建动画)工具条按钮。在打开的对话框中,给模型动画指定一个名称。 编辑动画画框1. 通过移动动画画框形体,设置其坐标为(0,0)。点击动画画框的矩形,然后拖动它,使得它的左上角与坐标轴交叉处即图坐标的原点重合。通过拖动手柄改变动画画框的大小为(600, 350)(鼠标光标的坐标显示在状态栏中)。用同样的方法,你可以移动或改变图中其他所有形体的大小。 加入显示台的标题1. 点击Text(文字)工具条按钮。2. 点击图中(25, 20)附近的位置,以

32、放置此文字。3. 定义要在所创建的文本框中显示的文字。在Properties(属性)窗口的Text(文字)页面中,在Text编辑框中输入Product Life Cycle4. 改变文字字体。在Font(字体)段,点击Choose(选择)按钮,在打开的对话框中设置字体为Arial,加粗,12号。1.15.2 创建动态的存储体(stock)和流图现在我们将创建动态存储体(stock)和流图,如下图所示。首先,我们将使用几何形体(线段,矩形等)绘制存储体(stock)和流图,然后我们将通过加入标记(图表,柱状图和圆弧标记)使存储体(stock)图和流图动起来。最后,我们将加入控件,以改变模型常数的

33、值。 加入存储体(stock)和流图的边界1. 点击Rectangle(矩形)工具条按钮。2. 在图中点击(230,100)附近,然后拖动到(590, 340)。现在我们将利用柱状图标记使我们模型中定义的存储体(stock)动起来。柱状图标记显示了在当前时刻,存储体(stock)如何相对于指定的边界被填充。 为Potential_Customer 存储体(stock)加入一个柱状图标记1. 点击Bar Indicator(柱状图标记)工具条按钮。2. 点击图中(270,120)附近的位置,以放置此柱状图标记。3. 调整此标记形体的大小为(60, 40)。4. 在Properties(属性)窗口

34、的Bar Indicator(柱状图标记)页面,在Value to indicate(所标记的值)组合框中选择Potential_Customers。5. 设置最大值。在Max value(最大值)编辑框中输入Total_Population。6. 清除Show scale(显示刻度)选框。7. 将Orientation(朝向)改为Horizontal(水平)。 为Customer 存储体(stock)加入一个柱状图标记1. 右键点击所创建的存储体(stock)形体,然后从弹出菜单中选择Copy(复制)。2. 右键点击此图,然后从弹出菜单中选择Paste(粘贴)。新的标记形体即显示于图中。将它

35、放置于potential customers 存储体(stock)右侧220点位置处。3. 将Value to indicate(所标记的值)设置为Customers变量,其他变量均保留为默认值。 现在我们将绘制一箭头以表明图中的流。 加入一个箭头表示购买流1. 点击Line(线段)工具条按钮。2. 在图中点击potential customers 存储体(stock)形体的右边界以放置此线段的起始点。 3. 点击customers 存储体(stock)形体的左边界以放置此线段的结束点。4. 在Properties(属性)窗口的Graphics(图形)页面中,设置线段宽度:2。5. 在Prop

36、erties(属性)窗口的Line(线段)页面中,选择Arrow(箭头)作为End point style(终点类型)。现在我们将以动画显示购买流。流的最佳表达方式是弧线标记(arc indicator)。弧线标记可以在指定的围显示与流相关的变量。 加入一个弧线标记以显示购买率值1. 点击Arc Indicator(弧线标记)工具条按钮。2. 点击箭头的中心,以在其上放置弧线标记。3. 设置此弧线标记显示购买率。在Properties(属性)窗口的Arc Indicator(弧线标记)页面,在Value to indicate(所标记的值)组合框中选择Adoption_Rate。4. 清除Sh

37、ow scale(显示刻度)选框。5. 设置最大值:40000。 为所创建的标记加入文字标签1. 加入一个新的标签用于显示Potential Customers文字,并将其放置于potential customers标记下方。2. 加入Customers文字标签,将其放置于customers标记形体下方。3. 加入Adoption Rate标签,并将其放置于adoption rate标记下方。向动画中加入图表,以显示Adoption_From_Advertising和Adoption_From_Word_Of_Mouth变量如何随仿真进行而变化。 为Adoption_From_Advertis

38、ing 从属动作(auxiliary)创建一个图表1. 点击Chart Indicator(图表标记)工具条按钮。2. 在图中点击(310, 240)附近,以放置一个图表。3. 在Properties(属性)窗口的Chart Indicator(柱状图标记)页面,在Value to indicate(所标记的值)组合框中选择Adoption_from_Advertising。4. 设置Window size(时间窗口大小)为8(这样此图表就会显示仿真运行的完整过程)。 5. 改变Max value(最大值)为1500。 为Adoption_From_Word_Of_Mouth 从属动作(aux

39、iliary)创建一个图表1. 用同样的方法向动画中加入一个图表。将此图表放置于(460, 240)附近。2. 选择Adoption_From_Word_Of_Mouth为Value to indicate(所标记的值)。3. 设置Window size(时间窗口大小)为8。4. 改变Max value(最大值)为400000。现在我们将绘制箭头以指示你的模型中的因果关系。 创建箭头以表示因果关系1. 绘制一个从Potential Customers标记指向Adoption from Advertising标记的箭头。将End point style(终点类型)改为Arrow(箭头),其他属性

40、均保留为默认。2. 绘制一个从Adoption from Advertising指向Adoption Rate的箭头。3. 绘制一个从Adoption from Word of Mouth指向Adoption Rate的箭头。4. 绘制一个从Customers指向Adoption from Word of Mouth的箭头。现在我们就完整地定义了动画存储体(stock)图和流图。在运行模型之前,我们将设置实时模式以控制运行速度以及动画速度。在实时模式下,模型执行时要考虑真实时间。 设置实时运行模式1. 在Project(工程)窗口中,点击当前的仿真实验项目。2. 在Properties(属性)

41、窗口的General(常规)页面,选择Simulation speed(仿真速度)为Real time mode(实时模式)。3. 指定模型执行速度,即,一秒钟执行多少个单位模型时间。在Model time units per second(每秒的模型时间单位数)编辑框中,输入2。点击Run(运行)以开始运行模型。运行模型之后,你将看到动画窗口。为在运行时获得更好的视觉效果,你可以设置抗锯齿(anti-aliasing)。 设置抗锯齿模式1. 点击Animation settings(动画设置)工具条按钮。在打开的对话框中,设置Enable anti-aliasing(打开抗锯齿模式)选项。为

42、调整执行速度,使用Decrease model speed(降低模型速度)和Increase model speed(提高模型速度)工具条按钮。这里对应的参考模型可以在如下位置找到:ExamplesSystem Dynamics Tutorial ModelsProduct Life Cycle-3-Animated stock and flow diagram.alp。1.15.3 加入控件你可以向你的动画中加入控件,以在仿真过程中控制变量值。我们将为总人数、联系频率、和广告有效性加入滑块。 加入文字标签以标记总人数1. 加入一个文字标签。设置文字为:Total Population。2.

43、在右边加入一个文字标签,以在运行时显示Total_Population变量的值。在Text(文字)属性页面的Text(文字)编辑框下方的组合框中选择Total Population。 加入一个滑块以改变总人数值1. 点击Slider(滑块)工具条按钮。2. 在图中的单击上述创建的标签下方。3. 调整此滑块形体的大小为(180, 20)。4. 在Properties(属性)窗口的General(常规)页面,在Visible(可见性)编辑框中输入:getTime()=0.0这一条件设定将在模型运行时隐藏滑块。因此只有在运行模型之前你才可以改变总人数。5. 在Properties(属性)窗口的Sli

44、der(滑块)页面,选择此滑块要控制的变量名称为: Total_Population。6. 设置Min value(最小值)为100,000。7. 设置Max value(最大值)为10,000,000。8. 指定Event handling code(事件处理代码):Potential_Customers = Total_Population;这一代码将在你用滑块改变总人数时重新初始化潜在用户的数目。 加入文字标签以显示滑块围在此滑块的左侧加入文字标签100,000。在此滑块的右侧加入文字标签10,000,000。对这两个标签,在Properties(属性)窗口的General(常规)页面,

45、在Visible(可见性)编辑框中输入:getTime()=0.0这一条件设定将在模型运行时隐藏标签。 创建同样的控件组,以改变联系频率你可以复制已经创建的控件组(按下shift,点击已创建的滑块和标签以将其选取)。选择Contact_Rate作为滑块的变量。设置Min value(最小值)为30,Max value(最大值)为300。设置文字标签以分别显示Contact rate:文字和Contact_Rate变量的值。设置滑块围标签分别显示为30和300。 为广告有效性创建控件组1. 设置Advertising_Effectiveness为滑块变量。设置Min value(最小值)为0,M

46、ax value(最大值)为.05。2. 设置文字标签以分别显示Advertising Effectiveness:文字和Advertising_Effectiveness变量的值。3. 设置滑块围标签分别显示为0和0.05。现在你可以测试控件如何工作。 使用滑块1. 在仿真开始时点击Step(单步执行)工具条按钮以对你的模型进行设置。2. 使用此滑块改变参数值。3. 点击Run(运行)以开始运行模型,并观察模型行为如何变化。这里对应的参考模型可以在如下位置找到:ExamplesSystem Dynamics Tutorial ModelsProduct Life Cycle-4-Controls.alp。这一模型演示了在AnyLogicTM中创建系统动力学模型的基本操作。现在我们已经为创建更高级的模型做好了准备。 2. 扩展产品生命周期模型在这一章中我们将通过考虑一些细节和向你介绍一些在创建系统动力学模型时有用的AnyLogicTM高级特性来扩展我们的模型。扩展后的模型可以帮助你更好地计划市场进入战略,定位正确的客户,和预测需求以制定有效和高效的推广战略。2.1 加入替代性购买逻辑我们目前创建的模型并没有考虑到产品被消费,被丢弃,或被升级的情况,所有这些情况都将引起再次购买该产品。我们假定客户在其第一个产品单元被丢弃或消费掉之后即重新回到潜在客户群中,并以此为根据建模重复购买行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号