Primary Constraints are powerful tools that control the scheduling of activities within a project. These constraints help users model the project schedule accurately, considering various project constraints and requirements. Each constraint has its use case, depending on the project's specific needs and constraints. There are two types of constraint categories in ALICE: Mandatory and Soft Restrictions.
Soft Restrictions
As Late As Possible

Task/milestone ideally starts on the last day of the project, given other constraints. A task that has an ALAP constraint is started as late as possible, given that it does not cause delays to any other task.
Start On
 The task/milestone ideally starts on a given date. It cannot start before this date, but it can start later. If it starts later, it starts generating penalties to push it back to its correct finish date.
Start On or After
 Task/milestone does not have an ideal start. It cannot start before this date. It can start anywhere from the starting date to infinity. In this case, all tasks/milestones connected to this task/milestone are also pushed to the future.
Start On or Before
 Task/milestone has an ideal latest start date. If it starts later than that, it starts generating penalties, which motivates the solver to avoid starting it later.
Finish On
 The task/milestone ideally finishes on a given date. It can finish after this date, but it cannot finish earlier. If it finishes later, it starts generating penalties to push it back to its correct finish date.
Finish On or After
 The task/milestone does not have an ideal finish. It cannot finish before this date, but it can finish anywhere from the finish date to infinity.
Finish On or Before
 The Task/milestone has an ideal latest finish time. If it finishes after this date, it starts generating penalties, which motivates the solver to avoid finishing it later.
Mandatory Restrictions
Mandatory Start
 The task/milestone must start on a given day. If not, the critical path and longest path are affected, breaking the logic. This means infeasibility.
Mandatory Finish
 The Task/milestone must finish on a given day. If not possible, the critical path and longest path are affected, breaking the logic. This means infeasibility.