Skip to main content

Global Constraints overview

Updated over 2 weeks ago

S-070-V3-EN

Global Constraints are a very important tool to control the optimization result as well as how your schedule is analyzed. They are constraints representing a specific relation on a number of variables, taken altogether. In this article, you will learn how to use this preference.

These constraints do not define what a legal duty is or how duties will look, but which of the legal duties will be chosen for the result.

Factors that can be controlled include the total number of duties, the total number of duties from each group, and average paid time.


Setting up Global Constraints

  1. Open Preferences.

  2. Search for Global Constraints.

  3. Click Load Global Constraint.

  4. Go to Optibus tab. you can see the large number of global constraints that can be applied.

    image.png

Tip: Global constraints should not be used to aim for zero duties of a certain type, this should be done using the duty characteristics preferences (e.g. duty types) so that the duty candidates are completely removed from the graph. Trying to use the global constraint for this purpose will keep the duty candidates in the optimization duty pool and will keep the problem bigger than it should be and will likely result in the optimization time being much longer and not converging.

Working with global constraints

When entering the global constraints preference, you will see a list of all active and paused global constraints in tabular form, where each row represents a different constraint. This table provides details about each constraint such as the lower and upper bounds, the type of restriction if the constraint serves as a hard restriction or a soft rule, and the penalty for its violation.

To view more details about each global constraint, as well as edit it, simply click on the relevant constraint.

image.png


Global constraint examples

Total Duty Count

This constraint allows you to define the minimum and the maximum number of duties that will be created. You can also set global constraints for the duties of a certain type or a certain preference group.

  • Minimum and Maximum duty count - The minimal and maximal number of duties that you want to allow in your schedule.

  • Penalty - the default penalty for any global constraint is 10,000. You can change the penalty as you see fit.

  • Restricted - Set the preference to be a hard or soft constraint. A soft constraint means that the system can violate a global constraint in case a solution for optimization cannot be found. Additionally, a soft constraint can be used to merely quantify the algorithmic cost of violating a certain global constraint.

image.png


Split percentage

Use this template to restrict the share of split duties out of the total number of duties in your schedule.

  • Maximum and Minimum percentage - Set the upper and lower bound of the percentage of split duties (a number between 0 to 100) that you allow in your schedule.

  • Penalty and Restricted same as above

image.png

Total Deadhead Distance

Use this template to restrict the total deadhead distance in your schedule.

  • Maximum and Minimum Deadhead Distance - Set the Maximum and Minimum distance of deadhead trips that you want to get.

  • Penalty and Restricted same as above.

Note: this constraint is only valid for operations where you are allowed to change the vehicle schedule according to the duty schedule.

image.png

Did this answer your question?