第16讲目录§7.3二次分配模型CH8物流仿真软件Flexsim入门§7.3二次分配问题的模型与算法二次分配模型(QuadraticAssignmentProblem,简称QAP)计算总成本例算法:(1)枚举法(2)启发式方法PairwiseExchangePairwiseExchangePairwiseExchangePairwiseExchange枚举法盲目搜索(或愚蠢和无遗漏的搜索)以Pentium3为例,n=6,数秒;n=9,2小时;n15,花一年.广度优先的搜索策略启发式方法陡削下降成对互换(SteepestDescentPairwiseInterchange,简称SDPI)算法要点:从一分配方案出发,取一对设施系统进行相互交换各自场址。将原分配方案与所有新分配方案总成本进行比较,选取总成本小者;继续迭代,直到成对互换不再产生有改进的结果,程序停止,达到了局部优化。本课程学习内容CH1绪论CH2物流与供应链基础CH3设施选址CH4设施布置设计CH5物料搬运系统设计CH6仓储、库存及其系统CH7设施布置问题的模型、算法与量化技术CH8物流仿真软件Flexsim入门CH8物流仿真软件Flexsim入门§8.1物流系统仿真概述§8.2Flexsim简介§8.3Flexsim基本概念及开发步骤§8.4实例介绍§8.5高级开发简介§8.1物流系统仿真概述8.1.1系统仿真的概念8.1.2仿真的作用8.1.3离散事件系统仿真的步骤8.1.4常见的物流(制造)系统仿真软件§8.1物流系统仿真概述8.1.1系统仿真的概念针对真实系统建立模型,然后在模型上进行试验,用模型代替真实系统,从而研究系统性能的方法称为系统仿真。Simulationistheimitationofadynamicsystemusingacomputermodelinordertoevaluateandimprovesystemperformance.§8.1物流系统仿真概述8.1.1系统仿真的概念系统仿真的方法应用于各领域:如工程类系统(机械、化工、电力、电子等),非工程类系统(交通、管理、经济、政治等)。早期的系统仿真多是物理模型,如:用于军事训练的沙盘、古代工匠建造房屋的模型、飞机风洞实验等。近年来更多借助于计算机仿真对模型进行运行与实验。§8.1物流系统仿真概述8.1.1系统仿真的概念根据所研究系统的不同,系统仿真可分为连续系统仿真和离散系统仿真。前者是指系统状态随时间连续变化的情况,多数工程系统,如机电、化工、电力等;后者是指系统状态变化是离散的,多数非工程系统,如管理、交通、经济等。物流系统仿真是离散事件系统仿真§8.1物流系统仿真概述8.1.2仿真的作用评价(Evaluation)比较(Comparison)预测(Prediction)优化(Optimization)灵敏度分析(Sensitivityanalysis)瓶颈分析(Bottleneckanalysis)§8.1物流系统仿真概述8.1.3离散事件系统仿真的步骤调研系统建立系统模型确定仿真算法建立仿真模型仿真结果分析仿真结果输出修改系统参数系统方案比较确定系统方案仿真结束运行仿真模型§8.1物流系统仿真概述8.1.4常见的物流(制造)系统仿真软件FlexsimAutomodPromodelArenaWitnessQuestExtend设施布置软件:FactoryCAD、FactoryFlow、FactoryPlAN、FactoryOPTSLMAnimation、Stream、RaLC……§8.2Flexsim简介8.2.1Flexsim基本情况8.2.2Flexsim安装8.2.3Flexsim应用案例8.2.4Flexsim功能§8.2Flexsim简介8.2.1Flexsim基本情况Flexsim是面向对象的离散事件系统仿真软件Flexsim是一个强有力的分析工具,可帮助工程师和设计人员在系统设计和运作中做出智能决策。采用Flexsim,可以建立一个真实系统的3D计算机模型,然后用比在真实系统上更短的时间或者更低的成本来研究系统。世界500强企业中约有一半为Flexsim的客户,包括一些著名企业,如DHL、FedEx、Nasa…8.2.2Flexsim软件的安装步骤(单机版)•单机版–根据电脑操作系统打上相应的补丁–安装VisualC++.net–安装Flexsim–安装HASPDriver–插入软件加密狗–输入客户序列号•开始菜单/Flexsim3/FlexsimLicenseActivationFlexsim软件的安装步骤(网络版)•网络版–服务器上安装:•加密狗•hdd32.exe(加密狗驱动)(HASPdevicedriver)•aksmon32.exe(服务器监控程序)•lmsetup.exe(服务器序列号管理器)***上面三个文件在网络版安装光盘的目录下可以找到–客户机上安装:•VisualC++.net•Flexsim软件•hdd32.exe(加密狗驱动)•在Flexsim安装目录生成一个network.txt文件§8.2Flexsim简介8.2.3Flexsim应用案例配送中心拣选仿真仓储系统入/出库仿真产品库分拣仿真高速公路仿真供应链仿真集装箱码头仿真生产物流仿真机场仿真医院仿真城市应急系统仿真…§8.2Flexsim简介8.2.4Flexsim功能Flexsim能解决的问题可归纳为以下四方面:服务问题:要求以最高满意度和最低可能成本来处理用户及其需求制造问题:要求以最低可能成本在适当的时间制造适当产品物流问题:要求以最低可能成本在适当的时间,适当的地点,获得适当的产品其它系统仿真的对象有三大类型:排队系统、库存系统、网络系统;凡是归属于这三类的,都可以通过建模、仿真来分析。§8.2Flexsim简介8.2.4Flexsim功能Flexsim在系统生命周期各阶段的应用:(1)系统建立和实施前:对规划设计方案进行评价、修正(2)系统建立后:评价(3)系统改造和功能扩展:用模型进行可行性分析§8.2Flexsim简介8.2.4Flexsim功能Flexsim可以达到以下效果:提高资源利用率减小等待时间和排队长度有效分配资源提高设备的利用率减小等待时间和排队长度有效分配资源消除缺货问题把故障的负面影响减至最低§8.2Flexsim简介8.2.4Flexsim功能把废弃物的负面影响减至最低研究可替换的投资概念决定零件经过的时间研究降低成本计划建立最优批量和工件排序解决物料发送问题研究设备预置时间和改换工具的影响优化货物和服务的优先次序与分派逻辑在系统全部行为和相关作业中训练操作人员展示新的工具设计和性能管理日常运作决策…§8.3Flexsim基本概念及开发步骤•8.3.1Flexsim建模的基本概念–Flexsim软件主窗口布局–Flexsim仿真模型的基本组成•8.3.2Flexsim软件的使用步骤8.3.1Flexsim建模的基本概念Flexsim软件主窗口布局Flexsim软件主窗口由下面五部分构成菜单工具栏对象库模型视图仿真控制栏工具栏•工具栏中常用到的按钮包括–ToolBox:编辑全局表格/变量–Commands:Flexsim命令帮助–Tree:打开模型树–Ortho:打开模型正投影视图–Persp:打开模型透视图8.3.1Flexsim建模的基本概念Flexsim仿真模型的基本组成对象(Objects)Flexsim采用对象对实际过程中的各元素建模连接(Connections)Flexsim中通过对象之间的连接定义模型的流程方法(Methods)对象中的方法定义了模型中各对象所需要完成的作业对象与继承•Flexsim采用面向对象的技术•大部分Flexsim对象都是FixedResource或TaskExecutor对象的子对象–子对象拥有其父对象所有的接口和相应的功能–用户相对比较容易很快掌握子对象的使用Flexsim家族树Flexsim的对象库对象分类•资源类(FixedResources)–Source,Queue,Processor,Sink,Combiner,Separator,MultiProcessor,Conveyor,MergeSort,FlowNode,Rack,andReservoir•执行类(TaskExecuter)–Dispatcher,Operator,Transporter,Elevator,Robot,Crane,ASRSvehicle•网络类(Node)–NetworkNode,TrafficControl•图示类(VisualObject)–VisualTool,Recorder资源类对象•FixedResource类对象一般是仿真模型中的主干对象•此类对象决定了模型的流程执行类对象•TaskExecuter对象可从FixedResource对象中获取并执行任务,如物料搬运或生产操作等。•一个TaskExecuter对象可以向其他TaskExecutor对象指派任务,或者管理模型中所有的TaskExecuters对象。•TaskExecuters对象不参与模型中的流程指派。网络类对象•NetworkNode对象一般用来设定TaskExecutor对象的行动路线图示类对象•图示类对象可用在仿真模型中显示各种信息、标识、图片或图表等•VisualTool和Recorder对象可用来提高仿真模型的直观感,同时可用来实时显示和搜集模型的输出数据迁移实体(Flowitem)•迁移实体指模型中存在迁移的对象•迁移实体可用来表示生产或服务中的原料、产品或产品集,如零件、部件、托盘、容器等;也可以是任务执行者•迁移实体可点击工具栏按钮Flowitem定义•可对每个迁移实体定义对象类别(Itemtype)•Flexsim建模的基本概念–Flexsim软件主窗口布局–Flexsim仿真模型的基本组成•对象(Objects)•连接(Connections)•方法(Methods)连接与端口•Flexsim模型中的对象之间是通过端口来连接的•三种类型的端口–输入端口(inputports)•FixedResource之间的连接–输出端口(outputports)•FixedResource之间的连接–中心端口(centerports)•连接TaskExecuter和FixedResource“s”连接•按下“s”键的同时用鼠标从一个对象拖拉到另一个对象上以连接二者•“s”连接仅用于中心端口之间的连接(即连接TaskExecuter和FixedResource)•“s”连接用“w”取消(按下“w”键的同时用鼠标从一个对象拖拉到另一个对象上以连接二者)“a”连接•按下“a”键的同时用鼠标从一个对象拖拉到另一个对象上以连接二者•“a”连接用于除中心端口之外的所有其他的连接•“a”连接用“q”取消•Flexsim建模的基本概念–Flexsim软件主窗口布局–Flexsim仿真模型的基本组成•对象(Objects)•连接(Connections)•方法(Methods)方法(Method)•方法是用来完成一项任务的一系列规则集•好的方法应是可以重复使用的•Flexsim采用一系列方法集来完成所建模型的作业Flexsim建模方法集•ArrivalMethod–DetermineshowandwhenFlowItemsEnterthemodel•TriggerMethod–Determineswhat,where,andwhentoassigninformationtoFlowItems•FlowMethod–Determineshow,where,andwhentomoveFlowItemsthroughthemodel•NavigationMethod–Modelnavigation,andflythrough•FlowItemBinMethod–DefinestheFlowItemCharacteristics•TaskE