优化SimEvents通过运行多个模拟来建模

为了优化工作流模型,涉及运行多个模拟,你可以创建一个使用模拟测试万博1manbetxSimulink.SimulationInput对象。

杂货店型号

杂货店示例使用多个仿真方法来优化,以防止长的顾客等待线所需的购物车的数量。

在本例中,实体发电机块代表客户进入商店。顾客排队等候,如果有必要,并通过获得的购物车资源收购方块。该资源池块代表在店里提供的购物车。该实体服务器块表示每个客户在商店中花费的时间。顾客通过收银台退回购物车资源释放器块,而实体终结者块代表从商店顾客离去。平均等待,W从资源收购块统计被保存到从的Simulink库到工作区块的工作区。万博1manbetx

构建模型

杂货店顾客排队等候,如果没有足够的购物车。然而,有太多的未使用的购物车被认为是一种浪费。这个例子的目的是调查客户平均等待时间不同数量的商店提供的购物车。为了计算客户平均等待时间,多个模拟通过使用运行SIM卡命令。对于每一个模拟,使用单个提供的购物金额。有关更多信息,SIM卡命令,见运行多个模拟(万博1manbetx模型)和平行模拟(万博1manbetxSIMULINK)。

在模拟中,可用的购物车值范围为2050在每次模拟中,它都会增加1。据推测,在运行时间,客户到达从指数分布中抽取随机速率商店和他们的购物时间是从均匀分布绘制。

  1. 实体发电机块,设置实体类型名称客户时间源MATLAB行动。然后,输入此代码。

    一贯rngInit;如果的isEmpty(rngInit)种子= 12345;RNG(种子);rngInit = TRUE;结束模式:指数分布μ= 1;日志(1-rand dt =μ* ());

    客户到达之间的时间是从均值的指数分布绘制1分钟。

  2. 资源池块,指定资源名称ShoppingCart。设置资源的数量20

    提供购物车的初值为20

  3. 资源收购方块,设置ShoppingCart作为选资源,并设置等待实体的最大数量

    该示例假设客户谁可以等待一个购物车的无限数量。

  4. 实体服务器块,设置容量

    该示例假设谁就能在店里购物的顾客的无限数量。

  5. 实体服务器块,设置服务时间源MATLAB行动并输入下面的代码。

    一贯rngInit;如果的isEmpty(rngInit)种子= 123456;RNG(种子);rngInit = TRUE;结束%图样:均匀分布% m:最小值,m:最大值m = 20;M = 40;dt = m + (mm) *兰特;

    客户花费在商店中的时间是从上之间的间隔均匀分布中抽取2040分钟。

  6. 连接平均等待w从统计资源收购方块到一个为了工作区块,并设置其变量名AverageCustomerWait

  7. 将模拟时间设置为600

    一次模拟的持续时间为10操作的小时,这是600分钟。

  8. 保存模型。

    在这个例子中,该模型被保存的名称GroceryStore_ShoppingCartExample

运行多个模拟,优化资源

  1. 打开一个新的MATLAB®脚本并运行多个模拟这个MATLAB代码。

    1. 初始化每个模拟的模型和购物车的可用数量,这决定了模拟的数量。

      %初始化杂货店模型%随机代际时间和服务时间价值MDL =“GroceryStore_ShoppingCartExample”;isModelOpen = bdIsLoaded (mdl);open_system (mdl);购物车数量的%范围即在每个模拟中使用%ShoppingCartNumber_Sweep =(20:1:50);NumSims =长度(ShoppingCartNumber_Sweep);

      在每个模拟中,可用购物车的数量增加1

    2. 使用相应的可用购物车值运行每个模拟,并输出结果。

      %运行NumSims模拟次数NumSims NumCustomer = 0 (1);对于I = 1:1:NumSims第(i)= Sim万博1manbetxulink.SimulationInput(MDL);每次迭代%用一个ShoppingCartNumber_sweep值在步骤(i)= setBlockParameter(在(i)中,[MDL“/资源池”),...'ResourceAmount'num2str (ShoppingCartNumber_Sweep(我)));结束%输出每个模拟的结果OUT = SIM(在);
    3. 收集和可视化结果。

      计算的最大平均等待时间%客户为每个模拟MaximumWait =零(1,NumSims);对于i=1:NumSims MaximumWait(i) = max(out(1, i).AverageCustomerWait.Data);结束%可视情节图(ShoppingCartNumber_Sweep,MaximumWait,“波”);格包含(“可使用的购物车数量”)ylabel (“最长等待时间”
  2. 观察显示了可用购物车的最大平均等待时间的图表。

    情节展示了拥有和拥有之间的权衡46供零等待时间与购物推车33购物车2- 分为客户等待时间。

也可以看看

||||||

相关的例子

更多关于