ylogic基于主体建模教程

上传人:sux****ang 文档编号:182230996 上传时间:2021-05-09 格式:DOCX 页数:47 大小:526.50KB
返回 下载 相关 举报
ylogic基于主体建模教程_第1页
第1页 / 共47页
ylogic基于主体建模教程_第2页
第2页 / 共47页
ylogic基于主体建模教程_第3页
第3页 / 共47页
ylogic基于主体建模教程_第4页
第4页 / 共47页
ylogic基于主体建模教程_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《ylogic基于主体建模教程》由会员分享,可在线阅读,更多相关《ylogic基于主体建模教程(47页珍藏版)》请在金锄头文库上搜索。

1、 Revised as of 23 November 2020ylogic基于主体建模教程基于主体建模教程 1992-2005 XJ Technologies Company Ltd.版权所有 1992-2005 XJ Technologies。保留所有权利。 XJ Technologies Company Ltd 目录关于此教程41. 产品生命周期模型5 创建一个新工程5 创建主体6 定义主体特性7 定义主体行为11 计数产品用户数14 配置模型17 运行模型18 研究此过程18 考虑口碑的影响21 加入产品消耗逻辑24 创建空间模型26 创建动画292. 扩展的产品生命周期模型37 广告活

2、动37 多产品扩散40 人群移动44 人群迁移473. 总结51关于此教程AnyLogicTM支持多种不同的建模技术。本教程覆盖了基于主体(agent-based)建模的步骤,基于主体的建模已经成功地应用于包括生态学,社会学,经济学,交通模拟等等许多领域在内的广泛范围。基于主体的建模用于对市场(主体作为潜在客户),竞争和供应链(主体作为公司),人口(主体作为家庭,个人,或选举人)等进行建模。基于主体的建模允许在假定系统各个基本成员行为的情况下对系统的一般行为进行观察,而不需要关于此系统的任何全局知识。AnyLogicTM是唯一允许使用主体创建柔性模型,并且主体在其环境中可以相互交互的仿真工具。

3、AnyLogicTM 支持所有现有的指定主体行为的方法状态图(statechart),同步和异步事件规划。这一教程将简要向你介绍使用AnyLogicTM创建一个仿真模型的过程。其目的是向你介绍AnyLogicTM的用户界面和其他许多主要特性。我们将创建一个简单的示范实例产品生命周期模型,此模型用于预测新产品的销售情况。在第一节我们将创建经典的Bass扩散模型。然后我们通过考虑一些细节信息和向你介绍一些AnyLogicTM的高级特性来将此模型扩展。请注意在如下文件夹中有一些文件供参考:Examples Agent Based Modeling Tutorial Models,这些文件中包括了本文

4、所述编辑过程中的一些重要记录。如果你在创建模型过程中遇到任何困难,或你希望将你的模型与参考文件相比较,你可以使用这些参考文件。你可以使用Start Page以打开这些示例。在你关闭你正在编辑的模型之后,Start Page将自动出现。1. 产品生命周期模型在这一教程中我们将创建产品生命周期模型。这一模型描述了产品的扩散过程。产品的潜在客户会受到广告和客户(那些已经购买了这种新产品的人)的口碑影响而购买产品。 创建一个新工程首先,我们将为你的模型创建一个新工程。创建一个新工程1. 点击New Project 工具条按钮。此时即出现New Project对话框。2. 点击Choose Locati

5、on按钮,然后浏览找到你希望保存你的工程文件的文件夹。3. 指定工程名称。在Project name编辑框中,输入Product Life Cycle。4. 点击OK。此时即创建了一个新工程。你可以看到结构图(structure diagram)显示于AnlyLogicTM工作区中,Project窗口显示于左侧面板中,Properties窗口显示于右侧面板中。当在一个工程中进行工作之后,不要忘记点击Save 以保存此工程。 创建主体在创建基于主体的模型时,你要做的第一件事情就是创建主体。主体是基于主体的模型的基本构建模块。基于主体的模型包括多个主体以及它们的环境。根据一个主体与哪些其他主体发生

6、交互,每个主体都被给予一系列规则;这些交互将产生整个系统的总体行为。在这一模型中,主体是人。为了在AnyLogicTM中创建主体,你需要使用活动对象类(active object class)定义主体的内部结构,然后创建所需数量的类实例,每一实例即代表一个主体。创建一个主体1. 点击New Active Object Class 工具条按钮。2. 在打开的对话框中,指定新类的名称(Name of the new class):Person。 Person类图即自动打开。 这样你就成功创建了一个类,此类将定义主体的内部结构。现在向模型中加入主体。为将主体放置于模型环境中,你需要将建模主体(人)的

7、对象封装到建模环境的类(Main)中去。将主体放置于环境中1. 在Project窗口中双击Main项目,打开Main类图。2. 将Person类从Project窗口中拖动到Main类的结构图中。3. 在Properties窗口的General页面中,输入对象的名称(Name):people。4. 指定你希望放置于模型中的主体数量。在Properties窗口的Replication页面中,输入对象的数量(Number of objects):1000。此时将自动创建所指定数量的类实例,每个实例代表一个主体。这样我们就创建了所需数量的主体。现在我们需要使用类参数(parameters)和状态图(s

8、tatechart)来定义主体属性和行为。 定义主体特性你可以使用类参数(parameter)定义主体属性。由于所有主体都是同一个活动对象类(active object class)的实例,因此对每个主体,其基本的内部结构是相同的。类参数允许为每个主体分别定义其属性。定义个人的广告建议性1. 在Project窗口中,点击Person项目。2. 在Properties窗口,点击New Parameter按钮。在打开的Parameter对话框中,设定参数属性。3. 改变参数名称。在Name编辑框中输入Ad_Effectiveness。4. 定义参数数值。在Default value编辑框中,输入。

9、5. 你可以在Description编辑框中输入对此参数的简短描述。输入文本用于帮助向不熟悉此模型的人进行解释。你可以看到在Parameters表格中加入了新的参数。定义每人每年联系的数目1. 以同样方法创建参数。输入名称:Contact_Rate。2. 假定每人每年的联系频率为100。在Default value编辑框中,输入100。1.指定此人的说服力,即其与别人的联系中多大比例可以说服其熟人来购买此产品。定义个人的所说服力1. 将参数命名为Adoption_Fraction。2. 设定参数值为。创建附加参数1. 在Project窗口中双击Person项目,打开Person类图。2. 点击

10、New Variable 工具条按钮,然后点击类图。此时图中即出现一个变量,显示为蓝色圆圈。一旦你将元素放置于结构图中之后,它即被选定,同时其属性将显示于Properties窗口中。你可以根据你的模型需求,调整元素属性。请注意Properties窗口是上下文相关的根据你所选择的元素类型不同,它将显示不同的选项。如果稍后调整属性,你应首先在Project窗口中点击一元素以将其选定,或在结构图中选定它。3. 改变参数名称。在Properties窗口中,在Name编辑框中输入model。4. 定义变量类型(Type):Main。这里Main是环境对象类。5. 指定参数的起始值。我们需要此变量以简化主

11、体对环境的访问。6. 创建变量isAdopter,并且此变量有如下属性:这一变量将帮助我们了解此个人是现有客户还是潜在客户。 定义主体行为主体行为通过状态图(statechart)定义。创建状态图1. 在Project窗口中双击Person项目,打开Person类图。2. 首先,点击Statechart 工具条按钮,然后点击类图。此时图中即显示状态图图标。3. 双击此图标。即打开显示如下状态图的图表。4. 在Properties窗口中,改变此状态图名称为adoption。5. 在状态图中,点击此状态,然后按F2键,将其重命名为PotentialAdopter。由于起始状态指针指向此状态,因此它

12、为起始状态。直到此状态变为活跃,这个人将一直保持为潜在客户。6. 绘制如下的状态图。 7. 点击State 工具条按钮,以加入更多状态,然后点击PotentialAdopter状态之下的状态图标。将此状态命名为Adopter。这样在这一状态变为活跃时,这个人即变为客户。 8. 加入一个从PotentialAdopter状态到Adopter状态的转变。点击Transition 工具条按钮,然后点击上方状态的边缘,然后再点击下方状态的边缘。 9. 在Properties窗口中,从Fire下拉选单中选择After timeout,然后指定Timeout数值。 此转变模拟了此人购买产品的过程。决定购买

13、产品的决策时间与此人的广告建议性成指数关系。 exponential()函数是标准AnyLogicTM随机数发生器。AnyLogicTM也提供了其他随机数分布,如正态分布,均匀分布,三角分布等。请参考用户手册(Users Manual)以了解所有这些随机数发生器的细节描述。在AnyLogicTM的类参考手册(Class Reference)中你可以查到发生函数及其参数信息。为打开AnyLogicTM用户手册或类参考手册,请从Help菜单中选择对应菜单项。 计数产品客户模型的主要目的是研究新产品如何被接受,因此我们希望能够知道在任一时刻有多少人已经购买了我们的产品。我们创建两个变量以计数产品的现有客户和潜在客户。 创建变量1. 在Project窗口中双击Main项目,打开Main类图。 2. 创建变量potential_adopters。 3. 创建变量adopters。 修改状态图1. 在Project窗口中双击adoption项目,打开adoption状态图。 2. 点击PotentialAdopter状态。在Properties窗口中,指定该状态的进入行为(Entry action)和离开行为(Exit action)。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号