ExtendSim仿真实例.ppt

上传人:xt****7 文档编号:1838839 上传时间:2019-11-08 格式:PPT 页数:22 大小:1.27MB
返回 下载 相关 举报
ExtendSim仿真实例.ppt_第1页
第1页 / 共22页
ExtendSim仿真实例.ppt_第2页
第2页 / 共22页
ExtendSim仿真实例.ppt_第3页
第3页 / 共22页
点击查看更多>>
资源描述
ExtendSim7 优化案例,一.优化概述,仿真优化即最优化(Optimization),是指寻找最佳的参数值,以使得目标性能最优。ExtendSim 使用的是Optimization模块(Value库)进行优化操作,该模块嵌套的是遗传算法。 对于ExtendSim来说搜寻最优解需要重复运行模型多次,运行的时间越长,找到最优解的概率越大。,ExtendSim7 优化案例,二.背景介绍,我们今天探讨的案例是一种果汁在某一区域的配送、运输、销售的例子。我们给定模型这样一个背景条件:在公园的某个报亭销售桶装的果汁,订单必须在前一天晚上下达,公司将按订单要求的时间每次一桶进行配送。如果报亭老板下单间隔过小、每次订量大公司在第二次配送时将取回第一次送过来的桶,未售完的果汁将浪费掉,如果下单间隔太大、每次订量小,将会出现缺货情况,造成缺货损失。试分析,最佳的订货时间间隔和订货量是多少?,ExtendSim7 优化案例,离散建模,连续建模,该选什么建模类型呢?,ExtendSim7 优化案例,两种主要的建模方法是连续的和离散事件建模。连续建模(过程建模)被用于描述一组数值。离散事件模型描述的是一组离散的数据。 在连续模型中,时间间隔从仿真开始时确定,并且以等长增加,值随着时间的改变而改变。在此类模型中值反应了各个时间点系统的状态。 在离散事件模型中,当且仅当有事件发生时,系统的状态才会改变。时间的改变不一定会使模型发生变化。它与连续模型不同的是仿真时间是随着事件的变化而变化,而不是相同的时间间隔。,ExtendSim7 优化案例,离散和连续建模的简单对比:,ExtendSim7 优化案例,四、模型构建,要通过仿真模拟哪些过程呢?,1.顾客到达购买果汁 2.送货车按时间表进行配货 3.缺货发生的损失 4.记录总销量,便于计算利润,先有模型, 再想问题 仿真之大忌,ExtendSim7 优化案例,三、约束条件概述:, 饮料使用饮料桶进行分配,其容量范围是1000-8000 (在案例模型中,1000是饮 料桶的最初容量设置) 一辆卡车在一天开始时运送饮料桶并在一天中按照一定周期交换(模型最初设 置为在240分钟后运送第二个饮料桶) 卡车用相同容量的饮料桶交换。饮料运送的成本为1000 $ ,饮料的成本是 1 $/ drink 假定饮料公司知道一天中何时运送饮料桶以及运送的容量,饮料桶的容量和运 送周期在一天中开始就要安排好,ExtendSim7 优化案例, 顾客购买饮料服从一个随机分布;饮料单位售价为$2.50 如果饮料桶在交换之前空的话,由于已经在排队等待的顾客会去其他地方购买以及新来的顾客也会流失导致每分钟大约损失$ 100 如果你交换饮料桶过于频繁的话,由于旧桶中的饮料会和桶一起运回而损失。 模型省略了其他开支成本,例如人力成本 模型大约运行仿真时间480分钟 (8小时),ExtendSim7 优化案例,案例模型:,ExtendSim7 优化案例,1.建立原始模型,简单模拟顾客到达和购买的过程,ExtendSim7 优化案例,模型说明: 1.设定Create模块按时间表产生实体,模拟货车按时间的送货过程。 2.用Batch模块捆绑顾客和饮料模拟顾客的购买过程。,运行模型,观察发现有以下问题: 饮料售完,缺货时顾客仍不停的到达 等待队列过长,不符合实际情况,ExtendSim7 优化案例,完成以上改善后的模型,ExtendSim7 优化案例,模型优化,使用ExtendSim进行优化,需要为我们所要求解的决策变量提供一个初始参数:运送周期为240分钟,容量为1000 drinks。,优化步骤 确定目标函数:报亭老板追求的是利润最大化。 利润=总收入总成本 收入=2.5*sold 成本:运输成本、果汁成本、时间损失成本 运输成本=1000 果汁成本=1*Size 时间成本=100*EmptyTime 利润=2.5*sold运送次数*(1000+1*Size)100*EmptyTime Num,ExtendSim7 优化案例,模型优化,MaxProfit = $2.50*#sold - #deliveries*($1000 + #drinks*$1.00) - time empty * $100-Num,两种方法: 手动试参数 利用ExtendSim的Optimizer模块实现自动寻优 在Optimizer中添加参数: 目标函数的构成是输入Optimizer模块对话框中成本方程的基础。 为Optimizer模块添加参数的一个便捷途径是使用Clone Layer工具将对话框参数 拖到该模块的图标上。这个操作又被称作clonedropping,将有关参数的信息添加 到参数表格。这个操作也可以使Optimizer模块远程阅读并改变模型中参数的数 值,这样就可以研究可行解。,ExtendSim7 优化案例,模型优化,一天中总的销售收入是通过模型计算出来的一个输出参数;它可以通过一个模块 对话框直接得到。 打开标签为“Total sales”的Exit模块 使用Clone Layer工具,拖动Total exited参数数值(不是其标签)到关闭的 Optimizer模块 当Optimizer模块的图标突出显示时,松开鼠标这将参数放置在Optimizer的参数表格中的第一行 关闭Exit模块的对话框 其他参数采取同样的方法拖取,ExtendSim7 优化案例,模型优化,特别说明: #deliveries与本例中其他决策变量不同, 运送的数目不是作为一个对话框选项直接可以得到。然而,该数值可以使用运送的频率计算出来。,设置参数的范围 现在Optimizer中已经有了必须的参数,你需要为这些参数中的一些输入范围,这样Optimizer模块才知道需要进行改变的对象(没有范围的参数将被认为是仿真的输出结果,Optimizer将不会改变它们)。对于数据表,你需要定义方程中所使用的单元。,MaxProfit = 2.50*numSold - #deliveries*(1000.0+delTankSize*1.00) -emptyTime*100-Num;,ExtendSim7 优化案例,模型优化,这个方程中唯一没有定义的参数是#deliveries,它可以通过deliveryTimes参数计算出来。 将deliveryTimes参数转化为#deliveries的方程是: #deliveries = int(endTime-1)/deliveryTimes + 1),完成后将注释方程和转换后的目标方程输入Optimizer模块。,ExtendSim7 优化案例,模型优化,运行最优化 打开Optimizer模块的对话框 选择Run Parameters 分页。由于模型中有随机因素,点击Random model部分的Quicker Defaults 按钮。这将快速设置一个随机模型中所有参数所需的多重样本,但是在默认情况下约束了样本的数量,所以可以快速得到结果。 通过点击Optimizer模块对话框中的New Run,或者点击工具栏中的Run Optimization工具,或者通过Run Run Optimization命令来运行最优化过程。当最优化过程在运行时,可以看到在Results分页表格的第一行的MaxProfit数值的变化。同时也可以看到MaxProfit和收敛数值的增加 当运行结束的时候,Optimizer模块自动打开并显示Results分页。,ExtendSim7 优化案例,拓展思考,研究问题实际化 运货时间固定,基于批量的优化策略 运货批量固定,基于时间的优化策略 有竞争的情况下该如何处理,ExtendSim7 优化案例,时间策略模型,ExtendSim7 优化案例,批量策略模型,ExtendSim7 优化案例,竞争情况,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!