挑战
作者:Mohammad Dehghanimohammadabadi 和 Thomas K. Keyser(西新英格兰大学)
在 2015 年冬季仿真会议上发表
仿真建模正越来越多地用于解决多个学科中的各种问题,包括但不限于医疗保健、制造、服务和供应链系统。作为一种关键的决策工具,仿真可确定有吸引力的配置和替代方案,为说服管理者采取改进措施提供充分理由。然而,在现实世界的系统中,有些活动是模拟软件包无法适当解决的。这类活动主要是为了提高系统性能而开发的决策工具箱。例如,在制造系统中,调度技术被广泛用于提供车间活动的最优调度。因此,为了通过仿真对系统进行长期战略规划,将这些决策活动引入仿真模型至关重要。这种功能使仿真更智能、更准确,因为它提供了更真实的系统视角,以及系统中发生的真实情况。
将这种特殊的逻辑嵌入仿真模型是一项相当具有挑战性的工作;不过,随着 SIMIO 等当前仿真软件包的发展,这项工作是可以实现的。SIMIO 的众多优势之一是其 "应用程序员接口"(API)功能,允许用户定制或适当扩展所需的模型。扩展可以是添加新的步骤、元素和规则,导入和导出数据,利用外部算法加强实验,或与外部程序对接。通过利用应用程序接口(API)功能,本研究提出了一个新的用户自定义步骤实例,将 MATLAB 作为 SIMIO 的一个组成部分。该步骤名为 "CallMatlab",需要 MATLAB 文件所在的文件夹地址和 MATLAB 函数名称。与 SIMIO 中现有的步骤实例类似,用户可以在构建流程时轻松拖放 CallMatlab。
解决方案
应用
建议的 "CallMatlab "步骤的应用之一是在仿真运行中调用优化。在文献中,这种类型的仿真被称为基于迭代优化的仿真(IOS),即在仿真代理中嵌入优化管理器。这一步骤能够通过模拟中发生的预定义事件触发优化器。无论是哪种优化类型,都可以利用 MATLAB 运行用户定制的优化算法,或通过 MATLAB 调用 CPLEX 等商业优化器。由于仿真的目的是反映现实世界的活动,因此用户可以在现实世界的任何情况下应用这一步骤进行例行优化。例如,在制造系统中,计划人员会定期(如每班开始时)或在紧急(如机器故障、维修或新工作到达)情况下使用优化来安排工作。因此,根据系统中使用优化的频率,在模拟执行过程中会调用所提供的步骤来触发 MATLAB 中的优化器。该步骤实例在仿真建模中的一些应用如下。
在医疗保健系统中的应用
调度病人、护士或医生是大多数医院和急诊室的常见任务。CallMatlab 步骤可用于模拟医院的日常调度操作,在这种情况下可能会发生计划外事件,需要进行优化。这类事件的例子包括:两名医生生病、宣布公交车事故导致急诊室人满为患、关键备件延迟到达等。一般来说,这些事件需要立即采取补偿措施,而补偿措施可通过仿真模型进行评估(Espinoza 等人,2014 年)。基于仿真的决策模型由系统状态的最新信息初始化,可用于短期评估多个备选解决方案或备选运营策略(Espinoza 等人,2014 年)。不过,对于长期规划而言,建议的步骤可以帮助从业人员运行 IOS 来描绘他们的系统,同时在面对现实医疗系统中可能存在的任何挑战时进行多次优化。
在制造系统中的应用
在制造系统的模拟运行过程中,只要系统状态发生变化,需要重新安排,就会调用优化。MATLAB 中的优化管理器会解决一个分析问题,并将结果发送回仿真,以便在可用机器之间重新分配未处理的作业。制造系统中的一些触发事件可能是:机器故障、预防性维护、需求模式变化、计划作业或轮班开始时间意外延迟。一旦发生上述事件,模拟管理器就会启动优化,并根据新的最佳解决方案重新安排所有未处理的工作。
在供应链管理(SCM)系统中的应用
仿真模型可以在更现实的假设条件下,包含具有非线性、复杂关系的各种供应链管理模型。客户的需求和供应商的能力在种类和价格范围上都在不断变化。我们可以在供应链模型中利用 IOS 模型,而系统中的任何变化都可以被视为触发点。例如,如果客户的需求发生变化,供应商的能力发生变化,选择了新的供应商,可用运输工具的数量发生波动,甚至价格发生变化,模拟就会自动暂停,并根据新的供应链管理条件对系统进行优化。应用所提出的 IOS 方法,企业就有机会设计自己的供应链,不仅可以优化内部运营,还可以检查和改进整个供应链的长期绩效。
商业影响
结论
建议的 SIMIO 步骤将模拟软件与计算代理集成在一起,以执行优化等高计算操作。本文介绍了几个应用,以说明拟议的 CallMatlab 步骤实例在实施 IOS 建模方面的潜力。不过,该步骤并不局限于执行优化,还可用于执行用户希望执行的任何类型的计算。我们相信,这一新增功能将为仿真建模方法增添一个新的维度。这将使专家们在享受模拟建模的同时,还能在模拟运行中执行自己的逻辑和决策工具。

