在 AnyLogic 中计算司机工资
calculating drivers salary in AnyLogic
在 Anylogic 中,我试图根据模型 run-time 期间收集的一些统计数据来计算平均 driver 工资。我已经弄清楚如何收集所需的统计信息。
但是我想知道如何创建一个函数,在模拟结束时给出以下等式的输出。
薪资方程为:(距离系数)(距离)+(接机系数)(接机次数)+(离职系数)*(离职人数)
收集有关代理人数的统计数据
我假设您在变量中的每个代理中为每个 driver 代理收集三个值:
在 documentation 之后,您可能在 driver 的群体中创建了三个统计元素:
计算函数
最后是你的问题,一个简单的函数调用统计元素来检索值并将其与因子组合。这些因素在 Main 中定义为静态常量变量,以及函数:
double averageDistance = drivers.distance();
double averageNumberOfPickups = drivers.numberOfPickups();
double averageNumberOfDropoffs = drivers.numberOfDropoffs();
double salary = distanceCoefficient * averageDistance
+ pickupCoefficient * averageNumberOfPickups
+ dropoffCoefficient * averageNumberOfDropoffs;
return salary;
可以通过Main的On destroy代码触发函数,或者通过定时事件等方式执行。您可以使用 traceln(calculateAverageSalary)
打印到控制台或导出为 CSV,Excel 或在您的模型中显示。
在 Anylogic 中,我试图根据模型 run-time 期间收集的一些统计数据来计算平均 driver 工资。我已经弄清楚如何收集所需的统计信息。
但是我想知道如何创建一个函数,在模拟结束时给出以下等式的输出。
薪资方程为:(距离系数)(距离)+(接机系数)(接机次数)+(离职系数)*(离职人数)
收集有关代理人数的统计数据
我假设您在变量中的每个代理中为每个 driver 代理收集三个值:
在 documentation 之后,您可能在 driver 的群体中创建了三个统计元素:
计算函数
最后是你的问题,一个简单的函数调用统计元素来检索值并将其与因子组合。这些因素在 Main 中定义为静态常量变量,以及函数:
double averageDistance = drivers.distance();
double averageNumberOfPickups = drivers.numberOfPickups();
double averageNumberOfDropoffs = drivers.numberOfDropoffs();
double salary = distanceCoefficient * averageDistance
+ pickupCoefficient * averageNumberOfPickups
+ dropoffCoefficient * averageNumberOfDropoffs;
return salary;
可以通过Main的On destroy代码触发函数,或者通过定时事件等方式执行。您可以使用 traceln(calculateAverageSalary)
打印到控制台或导出为 CSV,Excel 或在您的模型中显示。