Showing posts with label Resource Scheduling. Show all posts
Showing posts with label Resource Scheduling. Show all posts

Limitation of the Heuristic Method for resource allocation

The inherent limitation of the heuristic models is their being heuristic in nature. These models base the analysis on a certain set of simplified rules and assumptions, and are put to use only to avoid the complexity associated with the real detailed models.

Hence we have to compromise on the precision of the solution in terms of its optimality and settle for a near-optimal solution, which might even be the optimal solution in certain cases.

There has been a revival of interest in integer linear programming formulations of the multi-resource constrained project scheduling problem as more efficient computer codes for solving such problems are being developed. Still, relatively small (generally upto 15 activities and 3 resource types) can be handled by this approach.

Resource Allocation – Weist’s Procedure

Suppose, however, that only 10 men are available for the project on any one day. To obtain a heuristic solution, the following heuristics can be applied.
1.
Allocate resources serially in time. That is, start on the first day and schedule all jobs possible, then do the same on the second day, and so on.
2. When several jobs compete for the same resources, give preference to the jobs with the least slack.
3. Reschedule non-critical jobs, if possible, to free resources for scheduling critical or non-slack jobs.

Hence, the project duration has been extended to 14 days but it keeps the manpower requirement under the tab of 10. This obtained solution might not be the optimal solution to the problem, but is a decent approximation for practical use.

Weist’s Trigger Level Setting Heuristic Algorithm


Designed originally to smoothen manpower requirements in naval shipyards, since shop crew sizes generally must be sufficient to meet maximum manpower requirements, a schedule which reduces peak loads by increasing usage during slack periods would allow smaller shop sizes and hence reduce labour expense.

This model [1] tries to do this by scheduling all jobs at their earliest start times and then shifting some of them that occur at peak periods to later slack periods.

First, an early start schedule, along with the total slack values for all the jobs, is calculated by regular network procedures. A manpower loading chart is then generated. The program then sets the ‘trigger levels’, or resource limits, one unit below the peak requirement in each of the shops, and it attempts to reschedule the jobs so that peak requirements do not exceed trigger levels.

Jobs are then reloaded, or rescheduled, one at a time, until the trigger level is exceeded in some shop. All jobs active in that shop on the peak day are examined, and those which lack sufficient slack to be shifted beyond the peak period are discarded from consideration. Of those which remain, one is chosen at random and rescheduled to start at some point beyond the peak day.

Such a move may effect the early start dates and total slack of jobs following the one moved. These are recalculated and the loading is continued until all jobs are loaded or until the trigger level is again exceeded and another job is shifted. If the trigger levels of each shop are met, then all of them are reduced one unit again, and the process of loading and shifting repeated.

The trigger-level can be looked upon as a ceiling pressing down on the manpower requirements. Peaks are reduced by pushing them to the right. The ideal schedule would result in a rectangle as shown in the figure, but because of fixed sequencing of jobs, variations in crew sizes on different jobs, and the interactions of trigger levels in various shops, the ideal is improbable. It is possible that reducing a peak on one day by shifting a job to the right may result in a second, and perhaps worse, peak later, in the same shop or a different one.

Resource Scheduling

After the objective of a project has been explicitly specified, one of the important constraints to be considered is the means or resource by which it is to be attained. A resource is a physical variable, such as labour, finance, equipment and space, which will impose a limitation on time for the project. When the resources are limited and conflicting demands are made for the same type of resource, a systematic method for the allocation of resources becomes essential. Resource scheduling usually incurs a compromise and the choice of this compromise depends on the judgment of managers.
There are basically two approaches in solving such a problem, resource leveling and resource allocation. In resource leveling, the total project duration is maintained to the minimum level, but the activities having floats are shifted so that a uniform demand on the resources is achieved. In other words, the constraint in the case of resource leveling operation would be the project duration time. In resource allocation, the main constraint would be on the resources. If the maximum demand on any resource is not to exceed a certain limit, the activities will then have to be rescheduled so that the total demand on the resource at any time will be within the limit. The project duration time consequently is exceeded.

Complexity of Network Scheduling with Limited Resources
Problems of resource scheduling vary in kind and severity, depending upon the project and the organizational setting. The problem of scheduling activities so that none of the resource availabilities are exceeded and none of the precedence relationships are violated is an exceedingly difficult task. Scheduling projects with limited resources is a large combinatorial problem. That is, there are a very large number of combinations of activity start times – each combination representing a different schedule - too large to enumerate even with a computer.
Heuristic Programs
In recent years a good deal of work has been done in the development of heuristic programs for solving large combinatorial problems. Heuristic programs for resource scheduling may take one of the following two forms:
i. Resource Leveling Programs. These attempt to reduce peak resource requirements and smooth out period-to-period assignments, within a constraint on project duration.
ii. Resource Allocation Programs: These allocate available resources to project activities in an attempt to find the shortest project schedule consistent with fixed resource limits.