主要内容

优化批量生产过程中的共享资源

概述

这个例子展示了如何建模和优化系统中使用共享资源,识别资源不足,提高容量规划。的例子是基于批量生产过程中,生产订单在哪里处理只根据批量反应堆的可用性。在这个例子中,SimEvents®实体表示的生产订单生产过程,和批处理反应堆需要处理它们。后来在这个例子中,我们会发现系统的最优资源能力通过应用遗传算法解决全球MATLAB优化工具箱。

modelname =“seBatchProduction”;open_system (modelname);范围= find_system (modelname,“LookUnderMasks”,“上”,“BlockType”,“范围”);cellfun (@ (x) close_system (x)范围);set_param (modelname“SimulationCommand”,“更新”);

结构的模型

在顶层的模型中,实体发电机模拟生产订单的生成和待办事项列表通过生成实体,代表生产订单。当一个新生成的实体,获得反应堆块请求一批反应堆来处理订单。化学过程配方子系统执行完成后订单根据指定的化学过程配方,块标记释放反应堆释放批量反应堆回池的资源,现在用于处理一个新秩序。数据分析子系统分析相关数据完成生产订单。

共享资源在生产过程

执行化学过程配方子系统模拟化学过程产生溶胶(一种胶体)。一个六在溶胶生产配方模型的主要业务。执行这些步骤需要不同的资源。一批反应堆提供了内置的功能来执行步骤添加颜色,添加粒子和搅拌。因此这些步骤所需的资源不需要分别建模。另一方面,步骤添加水,加热和排水需要额外的资源。这些资源是由所有批处理反应堆和共享由生产系统的容量是有限的。

open_system ([modelname' /执行化学过程配方的]);

例如,当用水量达到满负荷,水压太低了一批反应堆来访问。在这种情况下,生产反应堆停顿,直到供水恢复可用。在执行化学过程配方子系统,示例模型这样一个资源共享的过程,一个队列阻塞标签等待水供应和一个实体服务器阻塞标签加水在添加水子系统。的能力参数实体服务器的块模型水供应的能力。在仿真过程中,队列的实体块显示批量反应堆等待水的数量。实体的数量在服务器块代表批量反应堆访问水的数量。

open_system ([modelname/执行化学过程配方加水的]);

建模的批量生产过程能产生两种类型的批次:A型和b型虽然生产所需的主要步骤或者批处理是相同的,化学过程配方是不同的。例如,配方生产B型需要更多的水,所以一步加水需要更多的时间来完成。

并显示结果

在仿真过程中,数据分析子系统显示几个结果显示生产过程的性能。

最直观的结果就是第一个,平均数量的订单积压代表等待时间为订单系统努力跟上流入。

sim (modelname);open_system ([modelname/数据分析/订单的]);

其他系统包括下列的结果和数据分析子系统中可以看到:

  • 平均数量的批次等待水

  • 平均数量的批次等热

  • 平均数量的批次等排水

  • 利用批量反应堆

  • 利用供水

  • 利用供热

  • 利用排水设施

  • 一批类型的吞吐量

  • 吞吐量B型批

open_system ([modelname数据分析/等待水的]);open_system ([modelname“/数据分析/等待热”]);open_system ([modelname数据分析/等待枯竭]);open_system ([modelname/数据分析利用反应堆的]);open_system ([modelname/数据分析利用水的]);open_system ([modelname/数据分析利用加热器的]);open_system ([modelname/数据分析利用下水道的]);open_system ([modelname“数据分析/ ThroughputA”]);open_system ([modelname“数据分析/ ThroughputB”]);

优化资源的能力

现在我们将应用MATLAB的遗传算法求解全局优化工具箱SimEvents模型找到最佳的资源能力的系统。遗传算法解决优化问题,反复修改人口的个人观点。由于它的随机特性,遗传算法改进的机会找到一个全球性的解决方案。它不需要函数可微的或连续的。

这种优化的决策变量:

  • 批处理的核反应堆数量

  • 数量的水箱

  • 数量的加热器

  • 数量的下水道

遗传算法运行设置这些变量,因为它通过变量ResourceCapacity多个模型的模拟。资源能力的起始值如下所示:

cellfun (@ (x) close_system (x)范围);disp (之前的ResourceCapacity优化= ');disp (ResourceCapacity);close_system ([modelname/数据分析/订单的]);ResourceCapacity = seRunOptimizationForBatchProductionProcess ();disp (优化后ResourceCapacity = ');disp (ResourceCapacity);
ResourceCapacity之前优化= 2 2 2 2开始平行池(parpool)使用“本地”概要文件……连接到平行池(工人数量:6)。优化终止:点球健身价值低于平均变化的选择。FunctionTolerance和约束违反小于options.ConstraintTolerance。运行时间是112.822855秒。平行池使用当地的概要文件被关闭。优化后ResourceCapacity = 13 2 4 2

应用优化结果

我们现在可以resimulate后应用优化过程回模型的结果,这大大减少了订单。

sim (modelname);open_system ([modelname/数据分析/订单的]);

%的清理bdclose (modelname);清晰的模型作用域

另请参阅

|||||

相关的话题