Loading pdg-cooperation-simulator.nlogo +20 −12 Original line number Diff line number Diff line Loading @@ -580,10 +580,10 @@ to go ask turtles [ set wage-change-tmp 0 if wage-change > 0 [ set wage-change-tmp ( wage-change / own-peroformance ) / max-wage-change set wage-change-tmp ( wage-change / own-performance ) / max-wage-change ] if wage-change < 0 [ set wage-change-tmp ( -1 * wage-change / own-peroformance ) / min-wage-change set wage-change-tmp ( -1 * wage-change / own-performance ) / min-wage-change ] ] ] Loading Loading @@ -625,12 +625,20 @@ to go if (ticks mod boss-reaction-time) = 0 and ticks != 0 and not fixed-performance and effort-change [ ask turtles [ ; total amount of work done by an employee (own and requested from others) let workload (own-performance * (1 - cooperation-part) * boss-reaction-time) + cooperation-part * own-performance * number-of-cooperation + 1 ; + 1 should be removed (div0 error) let workload (own-performance * (1 - cooperation-part) * boss-reaction-time) + cooperation-part * own-performance * number-of-cooperation ; amount of money received compared to amount of work done let wage-to-work-coef (own-performance / budget-new) / workload ; plus value means better coef for an employee let wage-to-work-coef 0 if workload != 0 [ set wage-to-work-coef (budget-new / own-performance ) / workload ] ; above zero values mean that an employee has increased their money-to-work-done ratio (good for him) let coef-diff wage-to-work-coef - old-wage-to-work-coef let diff initial-effort * abs wage-change let diff wage-change-tmp * initial-effort * 0.1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; magical constant WARNING ; this part describes a matrix of 4 possible situations when an employee evaluates their money-to-work-done ratio and the overall salary ; the salary may decrease but subjectively it may be okay if the employee has positive coef-diff ; diligence is taken into account, too if ticks > boss-reaction-time [ ; W: in case that salary was decreased Loading Loading @@ -1408,7 +1416,7 @@ initial-cooperation initial-cooperation 0 1 0.0 0.8 0.01 1 NIL Loading Loading @@ -1453,7 +1461,7 @@ cooperation-part cooperation-part 0 1 0.0 0.2 0.01 1 NIL Loading Loading @@ -1494,7 +1502,7 @@ std-deviation-productivity std-deviation-productivity 0.05 0.5 0.0 0.2 0.01 1 NIL Loading Loading @@ -1554,7 +1562,7 @@ stress-regen stress-regen 0.01 1 0.988 0.02 0.001 1 NIL Loading Loading @@ -1985,7 +1993,7 @@ budget-change budget-change 0 0.1 0.005 0.001 0.001 1 NIL Loading Loading @@ -2180,7 +2188,7 @@ fixed-budget-change fixed-budget-change 0 0.25 0.04 0.001 0.001 1 NIL Loading Loading
pdg-cooperation-simulator.nlogo +20 −12 Original line number Diff line number Diff line Loading @@ -580,10 +580,10 @@ to go ask turtles [ set wage-change-tmp 0 if wage-change > 0 [ set wage-change-tmp ( wage-change / own-peroformance ) / max-wage-change set wage-change-tmp ( wage-change / own-performance ) / max-wage-change ] if wage-change < 0 [ set wage-change-tmp ( -1 * wage-change / own-peroformance ) / min-wage-change set wage-change-tmp ( -1 * wage-change / own-performance ) / min-wage-change ] ] ] Loading Loading @@ -625,12 +625,20 @@ to go if (ticks mod boss-reaction-time) = 0 and ticks != 0 and not fixed-performance and effort-change [ ask turtles [ ; total amount of work done by an employee (own and requested from others) let workload (own-performance * (1 - cooperation-part) * boss-reaction-time) + cooperation-part * own-performance * number-of-cooperation + 1 ; + 1 should be removed (div0 error) let workload (own-performance * (1 - cooperation-part) * boss-reaction-time) + cooperation-part * own-performance * number-of-cooperation ; amount of money received compared to amount of work done let wage-to-work-coef (own-performance / budget-new) / workload ; plus value means better coef for an employee let wage-to-work-coef 0 if workload != 0 [ set wage-to-work-coef (budget-new / own-performance ) / workload ] ; above zero values mean that an employee has increased their money-to-work-done ratio (good for him) let coef-diff wage-to-work-coef - old-wage-to-work-coef let diff initial-effort * abs wage-change let diff wage-change-tmp * initial-effort * 0.1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; magical constant WARNING ; this part describes a matrix of 4 possible situations when an employee evaluates their money-to-work-done ratio and the overall salary ; the salary may decrease but subjectively it may be okay if the employee has positive coef-diff ; diligence is taken into account, too if ticks > boss-reaction-time [ ; W: in case that salary was decreased Loading Loading @@ -1408,7 +1416,7 @@ initial-cooperation initial-cooperation 0 1 0.0 0.8 0.01 1 NIL Loading Loading @@ -1453,7 +1461,7 @@ cooperation-part cooperation-part 0 1 0.0 0.2 0.01 1 NIL Loading Loading @@ -1494,7 +1502,7 @@ std-deviation-productivity std-deviation-productivity 0.05 0.5 0.0 0.2 0.01 1 NIL Loading Loading @@ -1554,7 +1562,7 @@ stress-regen stress-regen 0.01 1 0.988 0.02 0.001 1 NIL Loading Loading @@ -1985,7 +1993,7 @@ budget-change budget-change 0 0.1 0.005 0.001 0.001 1 NIL Loading Loading @@ -2180,7 +2188,7 @@ fixed-budget-change fixed-budget-change 0 0.25 0.04 0.001 0.001 1 NIL Loading