plan blueprint

Allocating Consultants to Customer Projects

Workforce scheduling has a defining role in the prosperity of a business. Hence, automating and optimizing this process is crucial to staying competitive. This method may be utilized in businesses such as the food industry and retail where daily or weekly plans are generated. Nevertheless, if we consider a wider timeframe, a great use case can be the stuffing of employees of a consulting company.

A Munich-based consulting company was staffing their employees on a two-week recurring manual planning. High-level management would meet and discuss how to allocate employees according to demand, role and availability. The question arose if there could be an automated and reliable way to plan the employees while reducing their idle non-billable working hours.


Increase the consultants' ratio of billable working time by optimizing their project allocation.


The workload ratio for the consultants increased. As an example, before the automatic scheduling, only 22% of the consultants did have a workload of over 80%. After the automatic scheduling, it increased to 45%. A reduction of almost 21.6% in the total workforce was achieved through automated scheduling. The total overtime was reduced by 7%.

Developing the Strategy

The company's scheduling manager and I sat down to define the allocation requirements. After four sessions we managed to set a concrete goal to increase employee workload whilst taking into consideration overtime.

linear programming example

Determining the parameters

In the consulting sector, consultants are assigned to sub-projects of a project. The time frame to complete a project may vary from a few weeks to a few months or years.

Moreover, the duration of the sub-projects within the same project may be different. This adds the case of needing more consultants at the beginning of a project compared to the end of it.

Further, for each of the sub-projects, different roles may be demanded. Also, the experience level of a consultant needs to get considered too.

Discovering the Constraints

The workload in the consulting business is unique and flexible. Hence, fulfilling the demand for a given sub-project may not be fully satisfied during all weeks. Such an event implies that a consultant’s workload does not remain constant throughout a sub-project. This case appears quite often since consultants are engaged in multiple projects simultaneously. Although such behavior is inevitable, it shall get penalized since it should not be the norm.

In theory, a consultant has a 100% capacity within a week. This capacity gets reduced if the consultant is already assigned to a sub-project. Overtime is allowed if the regular capacity is exhausted, but will be penalized. Moreover, an upper limit to the overtime will be set depending on the consultant’s experience.

Although a consultant’s working style is flexible and empowers him of working with different clients simultaneously, it is physically impossible to be in different locations at the same time. Hence, an upper limit is set to the various locations a consult may attend within a week.

Similarly, an upper limit has to be set for the number of sub-projects a consultant is managing within a week. Although the upper bound might be different depending on a consultant’s experience, it should ultimately not exceed four sub-projects within the same week.

Technical Implementation

After considering the optimization goal and the constraints, a mathematical model was developed. Linear programming was the technique used in this case to solve this model in combination with Gurobi. Gurobi is one of the fastest commercial problem solvers in the market. The data hat to get retrieved from an Excel file and transformed to a useable format. The solution was exported back to the Excel file as requested from the customer. The coding language I chose for this task was Python.

Want to work with me?


Contact me:
© 2023 Salonikidis Software Development