为了优化工作流模型,涉及运行多个模拟,你可以创建一个使用模拟测试万博1manbetxSimulink.SimulationInput
对象。
杂货店顾客排队等候,如果没有足够的购物车。然而,有太多的未使用的购物车被认为是一种浪费。这个例子的目的是调查客户平均等待时间不同数量的商店提供的购物车。为了计算客户平均等待时间,多个模拟通过使用运行SIM卡
命令。对于每一个模拟,使用单个提供的购物金额。有关更多信息,SIM卡
命令,见运行多个模拟(万博1manbetx模型)和平行模拟(万博1manbetxSIMULINK)。
在模拟中,可用的购物车值范围为20
至50
在每次模拟中,它都会增加1
。据推测,在运行时间,客户到达从指数分布中抽取随机速率商店和他们的购物时间是从均匀分布绘制。
在实体发电机块,设置实体类型名称至客户
和时间源至MATLAB行动
。然后,输入此代码。
一贯rngInit;如果的isEmpty(rngInit)种子= 12345;RNG(种子);rngInit = TRUE;结束模式:指数分布μ= 1;日志(1-rand dt =μ* ());
客户到达之间的时间是从均值的指数分布绘制1
分钟。
在资源池块,指定资源名称如ShoppingCart
。设置资源的数量至20
。
提供购物车的初值为20
。
在资源收购方块,设置ShoppingCart
作为选资源,并设置等待实体的最大数量至正
。
该示例假设客户谁可以等待一个购物车的无限数量。
在实体服务器块,设置容量至正
。
该示例假设谁就能在店里购物的顾客的无限数量。
在实体服务器块,设置服务时间源至MATLAB行动
并输入下面的代码。
一贯rngInit;如果的isEmpty(rngInit)种子= 123456;RNG(种子);rngInit = TRUE;结束%图样:均匀分布% m:最小值,m:最大值m = 20;M = 40;dt = m + (mm) *兰特;
客户花费在商店中的时间是从上之间的间隔均匀分布中抽取20
分40
分钟。
连接平均等待w从统计资源收购方块到一个为了工作区块,并设置其变量名至AverageCustomerWait
。
将模拟时间设置为600
。
一次模拟的持续时间为10
操作的小时,这是600
分钟。
保存模型。
在这个例子中,该模型被保存的名称GroceryStore_ShoppingCartExample
。
打开一个新的MATLAB®脚本并运行多个模拟这个MATLAB代码。
初始化每个模拟的模型和购物车的可用数量,这决定了模拟的数量。
%初始化杂货店模型%随机代际时间和服务时间价值MDL =“GroceryStore_ShoppingCartExample”;isModelOpen = bdIsLoaded (mdl);open_system (mdl);购物车数量的%范围即在每个模拟中使用%ShoppingCartNumber_Sweep =(20:1:50);NumSims =长度(ShoppingCartNumber_Sweep);
在每个模拟中,可用购物车的数量增加1
。
使用相应的可用购物车值运行每个模拟,并输出结果。
%运行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(在);
收集和可视化结果。
计算的最大平均等待时间%客户为每个模拟MaximumWait =零(1,NumSims);对于i=1:NumSims MaximumWait(i) = max(out(1, i).AverageCustomerWait.Data);结束%可视情节图(ShoppingCartNumber_Sweep,MaximumWait,“波”);格在包含(“可使用的购物车数量”)ylabel (“最长等待时间”)
观察显示了可用购物车的最大平均等待时间的图表。
情节展示了拥有和拥有之间的权衡46
供零等待时间与购物推车33
购物车2
- 分为客户等待时间。
实体发电机|实体队列|实体服务器|实体终结者|资源收购方|资源池|资源释放器