©TheAnyLogicCompany|标准培训计划的一部分©TheAnyLogicCompany|建模解决方案问题模型模型层次上的解决方案真实世界模型的世界零风险空间©TheAnyLogicCompany|电子表格心智模型物质模型©TheAnyLogicCompany|最流行的建模工具是:MSExcel输入X1X2X3X4输出Y1Y2Y3Y4Y=f(X)解析解(公式和脚本)©TheAnyLogicCompany|但是…?•你能够找到解析解,如果:•参数数量可控•行为是线性的•有明确的依赖性,容易建立心智模型•但是如果:•参数过多•非线性,非明显影响•时间和因果依赖•反常的行为•不确定性(随机系统)©TheAnyLogicCompany|示例:银行•你将花费几秒钟找到解析解:bbw12平均等待时间*,其中b-到达率-平均服务时间•一个简单的案例:•平均每小时10位客户•柜台只有一名柜员•平均服务时间为5分钟•我们想找出:•排队平均等待时间•[可以从此推导出的其他指标]*这只适用于泊松流客户(以恒定速率独立到达)和指数分布的服务时间。©TheAnyLogicCompany|银行.分析方法设想服务时间概率平均•于是网络搜索将提出另一个公式:)1(2)1(22bCbwb,其中bC-服务时间的变化系数•这些假设意味着什么?•客户独立到达–这应是适合于银行的假设•指数分布的服务时间:服务时间概率平均支票兑现,存款更复杂的交易这是远离现实的。分布更可能是这种形状:©TheAnyLogicCompany|银行.如果不是简单的案例?1KPbwKb0)1(!PKKPK1100!)1(!KiiKiKKKP,其中-系统利用率,-所有出纳员都忙碌的概率-“银行里没有客户”的概率,其中*但是,这只适用于泊松流客户和指数分布的服务时间。•有几个(K)出纳员•这就是所谓的“多服务排队模型”。解析解*:•如果服务时间有不同的分布?̶即使对于这样一个简单系统,也没有解析解。©TheAnyLogicCompany|银行案例.总结•在真正的银行,过程复杂得多:̶只有一些特定的员工可以做一些交易̶客户可能被引导给其他员工̶出纳员可能共享资源,如打印机或复印机̶不用的员工可能有不同的技术和能力̶等等…•解析解不存在几乎是肯定的̶如果解析解存在,谁将为你找到他?̶几乎过程中的任何变化都使得原有的解析解无效•对于这种系统,有可预见的复杂性和保证结果的唯一分析方法是:仿真建模©TheAnyLogicCompany|仿真模型•这是一个“可执行”模型̶一套规则使我们从目前的状态获得系统在时间上的下一个状态•模型生成系统在时间上的轨迹̶当我们前进时,输出被“观察到输入X1X2X3X4Y1Y2Y3Y4仿真模型©TheAnyLogicCompany|仿真模型的更多优势:•你可以在任何时间测量任何事物̶当然,你所测量的不能低于你抽象的级别•你可以直观地观察你所建模系统的动态̶仿真仿真模型实际上是一个具有图形用户界面的互动游戏,有时甚至是三维的̶在这个意义上,仿真模型的说服力远高于任何分析模型,例如:一个Excel文档©TheAnyLogicCompany|应用领域聚合、全局反馈回路、影响、趋势…制造行人动态保健交通运输市场和竞争社会系统供应链项目和产品管理健康经济学物理控制系统生态系统服务系统仓储物流计算机硬件资产管理能源供应网络人力资源动态业务流程战场,指挥和控制单独对象、确切的大小、速度、距离、时间…高抽象层次[最小细节宏观层次战略层次]中抽象层次[中等细节中观层次战术层次]低抽象层次[最大细节微观层次操作层次]©TheAnyLogicCompany|仿真建模方法离散事件(基于过程)建模系统动力学基于智能体建模聚合、全局反馈回路、影响、趋势…单独对象、确切的大小、速度、距离、时间…高抽象层次[最小细节宏观层次战略层次]中抽象层次[中等细节中观层次战术层次]低抽象层次[最大细节微观层次操作层次]©TheAnyLogicCompany|年代•存量,流量̶相互作用的反馈回路潜在客户客户销售广告销售+口碑销售+广告效果++B采纳比例联系率++++BR巴斯扩散模型©TheAnyLogicCompany|年代Потен-циальныеклиентыКлиентыПродажиПродажииз-зарекламыПродажииз-заустнойрекламыВсёнаселениеЭффективностьустнойрекламыЧастотаконтактовЭффективностьрекламы++++-++++BBR•存量,流量̶相互作用的反馈回路巴斯扩散模型等效数学模型:d(潜在客户)/dt=-销售d(客户)/dt=销售销售=广告销售+口碑销售广告销售=潜在客户*广告效果口碑销售=客户*联系率*(潜在客户/(潜在客户+客户))*采纳比例©TheAnyLogicCompany|年代•实体和资源.流程图̶排队和延迟银行[资源][排队+服务][实体][源][决策]yesno[终][决策]yesno[排队][延迟]©TheAnyLogicCompany|基于智能体建模•我们专注于单个对象,并描述它们的局部行为,局部规则̶有时——也专注环境的动态环境智能体的行为儿童青少年成年人老年人©TheAnyLogicCompany|…MATLABVisSimLabViewEasy5…[学术工具:]SwarmRePastNetLogoASCAPEVenSimPowerSimiThink仿真建模软件•传统的工具旨在支持一种特定的建模方法系统动力学离散事件建模基于智能体建模动力系统©TheAnyLogicCompany|–多方法仿真工具系统动力学离散事件(基于过程)建模基于智能体建模动力系统•容易选择和调整抽象层次•可以在不同方法间转换•可以在一个模型中混合方法•现代和灵活的面向对象平台©TheAnyLogicCompany|©TheAnyLogicCompany|标准培训计划的一部分©TheAnyLogicCompany|工作空间布局©TheAnyLogicCompany|图形用户界面菜单和工具栏。大多数命令的快捷方式项目视图。快捷导航当前选中项的属性图形化编辑器图问题视图。显示并有助于定位到错误双击单击面板视图。模型项目依模板分组©TheAnyLogicCompany|菜单和工具栏•大部分命令的快捷方式•自动适应当前视图文件菜单(新建模型,打开模型,保存模型,保存所有模型。)模型菜单(构建模型,构建所有模型,调试,运行)编辑菜单(撤销,重复,剪切,复制,粘贴,删除)绘图菜单(缩放到100%,放大,缩放,缩小,视图区域,显示/隐藏网格,…)©TheAnyLogicCompany|模型结构–所有元素组成树未保存更改的模型标有星号所有模型项目分层次组织双击打开编辑器和/或元素的属性右键单击Right-Click(MacOS:Ctrl+单击)关联菜单在树内使用复制/剪切和粘贴来复制©TheAnyLogicCompany|控制板•默认显示在左侧•没有更多的选项卡,在垂直的导航栏上只有图标(界面)•为面板元素提供更大空间•可折叠内置项(如:Data,Charts)折叠/展开:̶单击该项选项卡̶使用下列菜单:全部折叠,全部展开,折叠其他©TheAnyLogicCompany|将会看到带有控制板名称的下拉列表。从列表中选择控制板的名称。©TheAnyLogicCompany|双击控制板中的元素3B:在多点线上单击每个点3C:双击以完成多点对象的创建常见方式矩形对象(状态,矩形,椭圆形,圆角矩形)多点对象(折线,曲线,变迁,连接器)1.2.3.2A:双击控制板中的元素2B:拖拽以创建新的矩形对象2C:释放鼠标按钮完成1A:从控制板拖拽元素…1B:…放到图中所需要的地方©TheAnyLogicCompany|最大化/恢复图形编辑器图形编辑器–选择并复制编辑器窗口间切换拖矩形以选择多个对象Shift+单击对象以添加到选择中右键-拖以在窗口中移动画布Ctrl+拖(MacOS:Cmd+拖)以在同一窗口复制选中的对象缩放控制©TheAnyLogicCompany|属性•垂直̶默认停靠到右边•单页(没有其他选项卡)•可折叠项静态值动态评估表达式小三角形表示可在设计时间(静态的)和运行时间(动态的)之间进行转换。图例:©TheAnyLogicCompany|属性视图单击对象以显示其属性拖拽边框以改变属性视图大小打开属性视图单击项目标题以将其打开©TheAnyLogicCompany|单击该按钮以运行模型,并切换到主类视图2.选择要运行的实验3.你将看到演示窗口,显示为该实验设计的演示©TheAnyLogicCompany|演示窗口动画流程图检查模型元素二维动画统计图表三维动画右键-拖以在窗口中移动画布控制©TheAnyLogicCompany|主要工具栏命令•可以自定义工具栏和状态栏从当前状态运行:暂停:执行一步:终止执行:•执行控制同时只显示一个,取决于模型状态设置真实时间模式在默认比例:降低执行速度:选择执行速度因子:提高执行速度:切换真实/虚拟时间模式:仅真实时间模式•时间比例©TheAnyLogicCompany|帮助帮助系统支持搜索机制帮助也包括:•自学教程,•常见问题,,•AnyLogic库参考指南(标准库,行人库,轨道库)•AnyLogic所有类和函数的Java文档©TheAnyLogicCompany|支持•使用内置的获得支持功能这是建模支持——不只是技术支持。你可以问“我该如何建模”,提高你的建模知识,而不仅是调试问题。©TheAnyLogicCompany|