Plan Completion Status in Refinery Production Planning
double completionRatio = actualVolume / plannedVolume;
PlanCompletionStatus status =
PlanCompletionStatus.from(completionRatio);
The returned status can then be used to simplify simulation logic.
switch (status) {
case PLAN_NOT_COMPLETED:
// Continue production
break;
case PLAN_COMPLETED:
// Mark plan as completed
break;
case PLAN_OVERCOMPLETED:
// Handle overplanning
break;
default:
break;
}