Identify Optimal Resource Quantity in Resource Constrained Schedule without using Variable Quantity

Dear all,

My project have activities including:

+ Productivity Type

+ Volume of Work

+ "estimated" Resource Quantity for each activity (refer to historical data, estimation)

+ minimal Resource Quantity

+ Limitation of each resource (Quantity in Resource View of SP)

So SP can easily establish "estimated" activity durations

 

The question is: Can SP identify "optimal" Resource Quantity in Resource Constrained Schedule without using Variable Quantity? (also identify optimal activity duration)

 

Thank you,

Tuan

B
Bogdan Leonte 👤 Member for 13 years 9 months

Vladimir,

thank you for fixing the bug. I still have some follow-up questions:

[[wysiwyg_imageupload:2068:]]

In this scenario no activities are critical and both seem to have Total Float. When assigning only to Activity 2 the ALAP property nothing changes, but when assigning the ALAP property to Activity 1, then activity 1 becomes critical. Assigning both activities the ALAP property results in activity 1 becoming critical.

[[wysiwyg_imageupload:2069:]]

Also by comparing the first and second scenario it seems that the ALAP schedule shown in the first scenario is not respected (or is shown wrong in the first scenario).

Is the behavior correct, am I missing somethig or it is a bug?

The file: http://speedy.sh/vZxjy/VarQ-WL.001.sprj

Best Regards,

Bogdan

B
Bogdan Leonte 👤 Member for 13 years 9 months

Vladimir,

I am still trying to understand how the Variable Quantity and Workload works with productivity type activities under different scenarios when I got stuck on the following:

[[wysiwyg_imageupload:2060:]]

According to the schedule activity 2 can start 2 hours later. When setting the Asap/Alap option on activity 2 to ALAP I get the following:

[[wysiwyg_imageupload:2061:]]

The link between activity 2 and 3 is critical but it is not respected and the Finish[Latest] in this case and in my opinion isn't calculated correctly or something else is not done as expected, I don't know what to make of this. This also happens if the links between all 3 activities are S-S.

The File: http://speedy.sh/PQMav/P-VQ-W.001.sprj

Best Regards,

Bogdan

R
Rafael Davila 👤 Member for 22 years 3 months

Bodgan,

Sorry, I understood you were asking for performing all 3 activities in parallel. To my understanding there is no sure way to do this other than using a single activity that will drive the others as hammocks, strict links are unreliable, sometimes work, sometimes are not respected.

Best Regards,

Rafael

B
Bogdan Leonte 👤 Member for 13 years 9 months

Rafael,

I don't fully follow/your workaround, I was asking if there is a way to configure an algorithm to consider other priorities then those built in the algorithm, if my assumptions are wright about the way the algorithms works.

Regrads,

Bogdan

R
Rafael Davila 👤 Member for 22 years 3 months
Bodgan,
  • is there a way to set up an algorithm that would perform all 3 activities in parallel if only 3 resources were available?

If resources must work together then they belong to same team, and this you model within a single team on a single activity.  I represent the sibling activities using hammocks that will invariably move as the main activity is moved by the schedule calculations, in this way I can cost load the activities as per Payment Breakdown WBS. 

You can use a Duration type or a Productivity Type activity as it fits your needs.

In the following figure I used same resource assigned 3 times, but frequently I use different multi-resources assigned to the same team, same activity. This is how I keep electircal and plumbing teams assigned at same time other resources working on an elevated slab. I use partial assigments as the electrical teams and plumbing teams work a fraction of the time on other activities on same day.

 photo resourcesatsametime_zpsb30e0e3c.jpg

Rafael

B
Bogdan Leonte 👤 Member for 13 years 9 months

Greetings Vladimir,

for a couple of weeks or so I have been trying to get a better grasp on how Spider handels Variable Quantiy and Workloads.

Initialy I though that there might be a bug when using this option and wrote to the team, but now I'm having second thoughts... .

From what I can understand  Spider does the following:

1. If Quantity = 1 to all assignments and workload is variable then the workload will be varied according to the minimal workload of each assignment.

Figure 1:

[[wysiwyg_imageupload:1956:]]

2. If Quantity > 1 then Spider will attempt to assign a value close to the maximal quantity for each assignments, while assigning as many resource as possible to the rest of the activities. Also workload isn't varied in this scenario, it is constant and equal to the defined Workload Column.

Figure 2:

[[wysiwyg_imageupload:1957:]]

In this example the amount of available resource is 8.

Even though the all activities could be started in parallel Spider tries to maximize the use of the 8 available resource. At least that's how I see it.

 

I'm certain there are some priorities and more rules the ones mentioned, I would like to know if  1. and 2. represent the general ideea. If so, is there a way to configure the scheduling algorithm to consider as priority the start of all activities in at the same time regardless of the optimal use of resources?

If there are only 3 resources available all activities are delayed, in order to assign the maximum number of available resources to each assignment:

[[wysiwyg_imageupload:1958:]]

Considering my example, is there a way to set up an algorithm that would perform all 3 activities in parallel if only 3 resources were available? Or if 8 resource available not to consider a priority assigning the maximum number of resource to each activity?

Here is the file: http://speedy.sh/JVzNC/VariableQuantity2.001.sprj

 

OR, what am I missing?

Regards,

Bogdan

R
Rafael Davila 👤 Member for 22 years 3 months

Usually unused assigments are hidden but at times it is convenient to see them all at the Activity Gantt instead of searching activity by activity.  Select Gantt-Options and make sure Hide-Idle Assigments is unmarked, when finish if desired mark it again.

T
Tong Cong Tuan 👤 Member for 15 years 3 months

Mr Vladimir,

Agree that shall take along time to do a huge of loops. Assumes have 5 resource quantity values of each activity, and have 2000 actitivities, so the number of loops is 5^2000 = cannot count.....

I read again Mr Rafael's post slowly and realise that it's a good enough solution in this case!

Thank All!

V
Vladimir Liberzon 👤 Member for 25 years 4 months

Tuan,

what is optimize in this case? To find minimal crews that still may finish the schedule on time?

Imagine that we use three different crews that use different resources and it is possible to achieve required finish by adding one resource unit to any of these crews. But we don't know all factors that may determine an optimal decision. Resource A may be more expensive but available, resource B is cheaper but less reliable, we want to use resource C because want to keep workers that have certain skill. A lot of soft factors may determine the decision.

Besides, Rafael suggested certain way for solving this task: create potential crews as multi-resources, create skills that include potential crews (multi-resources) and assign these skills. Spider will look for the crew that is available at the time of assignment.

But it does not optimize assignments. Better result could be achieved if to reconsider previous assignments making some resource available for future assignments, but it means a lot of loops in the resource leveling algorithms. As the result the leveling may become too slow and we cannot afford this.

Regards,

Vladimir

T
Tong Cong Tuan 👤 Member for 15 years 3 months

Dear Mr Rafael, and Mr Vladimir,

Sorry for not clearly, the question is not about selection of which kind of crews (define the number of different resources in assigned crew). Assumes that it's already determined well enough. The question is also about quantity of crew assignments.

"Spider Project does not :optimize" resource assignments because it is not possible to consider "soft" factors that define which resource quantity can be increased or decreased and which not."

Still not understand, I have:

+ the maximal Crew Quantity for each activity

+ the minimal Crew Quantity for each activity

+ total quantities of available resource for whole project (resource restriction)

When I turn on "Variable Resource Quantity", SP can define the various value of Resource Quantity (in Crew) during its activity durations for resource constrained purpose.

So why it cannot define when I turn off "Variable Resource" option? I image that can do a script (in Visual Basic code, or Spider Project code) that make brute forces for Crew Quantity in each activities run from minimum to maximum in turn, with the criteria for stop the loop code is resource constrained purpose.

Some activities are good when using Variable Resource, SP do it better other softwares, IMHO. But some activities I need not to use Variable Resource, when the Crew Quantity are unchanged during its activity durations, like "fixed" teams for special tasks which dont know how many team for optimization of resource constrained schedule.

R
Rafael Davila 👤 Member for 22 years 3 months

As an alternative you can model several crew compositions as a multi-resource, each with fixed resource amount and its own productivity and define each as a skill. Instead of assigning individual resources or a single fixed resources crew assign the skill. 

Say Sill 1 members = multi-resource 1, multi-resource 2, multi-resource 3

Multi-resource 1 = 3 masons, 3 mason helpers, 1 mortar mixer   Productivity 30 sy plaster/hr

Multi-resource 2 = 2 masons, 4 mason helpers, 1 mortar mixer  Productivity 25 sy plaster/hr

Multi-resource 3 = 6 masons, 6 mason helpers, 1 mortar mixer  Productivity 50 sy plaster/hr

..... 

  • Note that crew productivity will not necessarily be linear with amount of resources, a common real life scenario. 
  • Note that crew composition is not limited to a single resource type and this shall be addressed.

Depending on availability the software will select best multi-resource option among those you defined and will assign the fixed resources of the selected multi-resource.

You can also combine the approach for some activities using variable quantities, and for some activities using a set of fixed quantities alternatives and the software will look for best selection.

But there is also the issue on cost and optimizing both at the same time might be impossible as the units for cost are not the same as the units for duration.

If a single activity job then for duration optimization Multi-resource 3 is the solution while for cost optimization Multi-resource 2 might be the best option subject to the relative costs of each resource.

We usually find it easier to follow Vladimir suggestion but the above is an alternative you might want to explore. The above methodology we use for other issues such as possible changes in whole crews when work moves from one season to another, at times because of seasonal weather, at times because of availability of some individual resource. 

Still the most efficient way to reduce cost of idle time is by making use of variable resource quantities and workloads. Any Project Manager will look for cost reduction and will make use of variable quantities whenever possible [more often than not] no matter what the dumb schedule says. 

V
Vladimir Liberzon 👤 Member for 25 years 4 months

Tuan,

please clarify.

Volume of work is activity property. If an activity is of productivity type then its duration is defined by activity volume of work and total productivity of assigned resources. If assignments do not include resource skills or variable assignments, activity duration does not depend on the project schedule.

When resources are assigned then you shall define the number of different resources in assigned crew. For variable assignments you may define minimal and maximal number of assigned resources.

In Spider Project materials (non-renewable resources) are assigned separately and different way (fixed, per volume unit, per hour of activity execution and/or resource work).

When resources are assigned and total quantities of available resources are defined Spider Project calculates the shortest possible resource constrained schedule.

Spider Project does not :optimize" resource assignments because it is not possible to consider "soft" factors that define which resource quantity can be increased or decreased and which not.

It is easy to play "what if" scenarios changing assigned crews and comparing results. For this we suggest to create and to assign predefined crews (multi-resources). When multi-resources are assigned it is easy to change resources that belong to multi-resources (or their quantities) and these changes will happen at all activities where specific nulti-resource is assigned.

So we suggest to optimize resource pool and resource assignments manually because people know better which resource quantity is flexible. For each option you will get optimized schedule for defined resource pool and resource crews.

Forum Sponsor

Top Posters

Julian Pegg
1 posts
Peter Nagy
2 posts
Raymund de Laza
17 posts
Syed_Asad
0 posts
Tony Greyvenstein
0 posts
Ahmed Al-Jubouri
13 posts
Umar Alvi
3 posts
Sibusiso Mahlalela
0 posts
Michael Samanyayi
3 posts
Simon Gumede
0 posts