Please enable JavaScript to view this site.

Vensim Help

The task is completed when the work is done for that task.  In a more complete model, we would want to allow a task to be done at some fraction of task size for the purposes of determining prerequisite readiness.  

A logical IF THEN ELSE function checks the relational operator >= (greater than or equal to).  It returns a YES result when the operator is true, switching to the THEN part of the equation, or NO when the operator is false, switching to the ELSE part of the equation.

 

ØClick on task is done.  Enter the equation below:
task is done[task]=
IF THEN ELSE( Work Done[task] >= task size[task], 1, 0)

Units: Dmnl

 

The last two equations use more complicated logical functions.  The values for is a prerequisite[task], task has started[task] and task is done[task] are binary (0 or 1).  The IF THEN ELSE logic will return a value of YES if the variable in question has a nonzero value (and move to THEN), and a NO if the variable has a value of zero==F_2} (moving to ELSE).  Using variables in IF THEN ELSE expressions like we are doing here makes sense when the variables are formulated to take on 0 or 1 as values.  Using an equation that began IF THEN ELSE(morale,... would not be a sensible formulation.

The first equation describes whether the task is active or not, and uses the logical operators :AND: and :NOT:  If the task has started AND the task is NOT done, then the task is active (value = 1), else the task is not active (value = 0).

 

ØClick on task is active, write the equation as below, then click OK.
task is active[task]=
IF THEN ELSE(task has started[task] :AND: 
       :NOT: task is done[task], 1, 0)

Units: Dmnl