Skip to main content

Schedule Calculation (CPM)

Applies to: Pro · Enterprise Last updated: 27-Feb-2026

Overview

Kazinex includes a full Critical Path Method (CPM) engine that calculates early and late dates, total and free float, the critical path, and the longest path. The engine runs a 15-step pipeline covering topological sorting, forward pass, backward pass, constraint handling, LOE calculation, and summary roll-ups. Results display in the Schedule Results Panel with statistics and warnings.

Prerequisites

  • Active Pro or Enterprise subscription
  • Editor Mode enabled
  • At least one project with activities and relationships

Running the Calculation

MethodDescription
Editor Toolbar → Run CPM buttonClick the schedule button in the editor toolbar
KeyboardPress F9
Schedule Options dialogClick "Schedule (F9)" at the bottom of the dialog

A progress indicator shows completion from 0% to 100% during calculation.

The 15-Step Pipeline

The CPM engine processes your schedule in the following order:

StepProgressOperation
15%Build activity calculation states
210%Topological sort (Kahn's algorithm)
315%Pre-process in-progress activities
425%Forward pass — calculate early start and early finish dates
540%Determine project finish date
650%Backward pass — calculate late start and late finish dates
765%ALAP (As Late As Possible) adjustment
870%LOE (Level of Effort) calculation
975%WBS summary calculation
1080%Post-process in-progress activities
1185%Calculate total float and free float
1288%Detect constraint conflicts
1390%Determine critical path
1495%Longest path calculation (optional)
1598%Build final result

Forward Pass

The forward pass iterates through activities in topological order, calculating the earliest possible start and finish for each activity. It considers:

  • All four relationship types (FS, SS, FF, SF) with lag
  • Primary and secondary constraints
  • Calendar working hours
  • The driving predecessor for each activity

Backward Pass

The backward pass iterates in reverse topological order, calculating the latest allowable start and finish without delaying the project. It considers:

  • Successor constraints
  • The driving successor for each activity
  • Open-ended finish handling

Constraint Types

The engine handles all nine P6 constraint types:

CodeNameBehaviour
CS_MSOMust Start OnHard — forces exact start date
CS_MANDSTARTMandatory StartHard — forces exact start date
CS_SNETStart No Earlier ThanSoft — sets minimum start date
CS_FNETFinish No Earlier ThanSoft — sets minimum finish date
CS_MFOMust Finish OnHard — forces exact finish date
CS_MANDFINMandatory FinishHard — forces exact finish date
CS_SNLTStart No Later ThanSoft — sets maximum start date
CS_FNLTFinish No Later ThanSoft — sets maximum finish date
CS_ALAPAs Late As PossibleSpecial — adjusted in post-pass

Calculated Fields

For each activity, the engine produces:

FieldDescription
Early Start / Early FinishEarliest possible dates
Late Start / Late FinishLatest allowable dates
Total FloatSlack before delaying the project (in hours and days)
Free FloatSlack before delaying a successor
Is CriticalWhether the activity is on the critical path
Is Longest PathWhether the activity is on the longest path
Driving PredecessorThe predecessor that determines the early start
Driving SuccessorThe successor that determines the late finish

Near-Critical Threshold

Activities with total float below the near-critical threshold (default: 10 working days / 80 hours) are flagged as near-critical. You can adjust this threshold in the Schedule Options dialog.

Schedule Results Panel

After calculation, the Results Panel displays:

Statistics Row

StatisticColourDescription
TotalTotal number of activities
ScheduledActivities with calculated dates
CriticalRedActivities on the critical path
Near-CriticalYellowActivities within the near-critical threshold
CompletedGreenActivities already finished
Longest PathPurpleActivities on the longest path (if enabled)

Open Ends

Open-start and open-finish counts are shown as tags. Activities without predecessors (open start) or without successors (open finish) may indicate missing logic.

Warnings

Expandable warning list with severity icons, code tags, and descriptive messages:

Warning CodeDescription
Circular DependencyLogic loop detected (includes the cycle path)
Missing CalendarActivity references a calendar that does not exist
Missing PredecessorRelationship references a non-existent activity
Open End — StartActivity has no predecessor relationships
Open End — FinishActivity has no successor relationships
Negative FloatActivity has negative total float
Constraint ConflictConstraint produces impossible dates
LOE No ConnectionsLevel of Effort activity has no driving relationships
Milestone Has DurationMilestone activity has a non-zero duration
Zero DurationNon-milestone activity has zero duration

Calculation Time

The panel footer shows execution time in milliseconds.

Tips & Best Practices

  • Run F9 after every batch of edits to keep dates current
  • Fix circular dependency warnings immediately — they prevent accurate scheduling
  • Review open-end warnings to ensure complete logic networks
  • Enable Longest Path in Schedule Options for complex networks with multiple calendars
  • Use Retained Logic (default) for most projects; switch to Progress Override only when needed