Guild of Project Controls: Compendium | Roles | Assessment | Certifications | Membership

Tips on using this forum..

(1) Explain your problem, don't simply post "This isn't working". What were you doing when you faced the problem? What have you tried to resolve - did you look for a solution using "Search" ? Has it happened just once or several times?

(2) It's also good to get feedback when a solution is found, return to the original post to explain how it was resolved so that more people can also use the results.

Priority, Relative Priority

36 replies [Last post]
Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Hello Vladimir,

For some time I have seen you added a new field called Priority Relative.

From what I have read in the manual Spider considers priorities as follows:
a). Phase priority is the highest priority and if a phase has a priority then the activitiy priorities in the phase will be ignored;
b). Activity priority will be respected in the Standard and Advance scheduling but it may be ignored in the Optimization and Optimization+ algorithms (if the resulting schedule is shorter).

Also from the manual (Russian manual) Priority Relative is am absolute priority that will be respected using any algorithm (from what I could understand). Here are my questions:

01. Is Priority Relative an absolute priority, no matter the algorithm?
02. Also how does Relative Priority behave if you compare it to Priority (see points 01. and 02.)?
03. Does the user have to check the Apply activity priorities and/or Phase priorities?
04. What happens if there is a conflict between Priority and Priority Relative?
05. How does Relative Priority enforce strick links? (Sometimes algorithms may break strict links - even Standard. Not very desirable; I understand that Spider searches for the shortes schedule, but there are scenarios when the strict link should be always enforced since it represents a technological dependecy; but this is another topic.)

Could you please explain in more detail how Priority Relative is different from Priority?

Best regards,
Bogdan

Replies

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

Agree.

Thank you for your sharing of knowledge, not only learned a few things I did not know about prioritization but also about strict links now I find valuable.  Perhaps the software shall not allow more than one outgoing/incoming strict links as it can create difficult/impossible scenarios.

BTW I am not completely against delaying some activities because of resource availability; at times I create a milestone with some logical predecessors and use activity resource production instead of a fixed date. The idea makes much sense to me; it is a matter of how much delay.

Best Regards, Rafael

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Regarding,

"It looks like strict links work as long as they do not delay the schedule, perhaps an option to allow strict links to delay the schedule could be worked out."

I have been trying to convince Vladimir about an option to always "Respect/Enforce  strict links" (this option would be a checkbox that would be available to activate only for the Standard and Advance algorithms since the optimization and optimization+ will always choose the shortest shedule).

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

Bodgan,

I still do not get the idea on such strategy; it is not just about the details.  At home we would never artificially delay concreting to the point of sequestering almost all float just because the concrete sub-contractor is a prima donna.  A General Contractor that puts at risk a job in such way because of his Subcontractor would be required to re-submit the schedule or risk being disqualified as our specifications prohibit such sequestering of float.  Delaying the start of some activities as to reduce the number of mobilizations while leaving some float can be acceptable but delaying all concrete activities is a no-no.  To make it worse all activities after concreting are critical, adding a huge/monumental delay to the project of ~30%.

Image-013

It looks like strict links work as long as they do not delay the schedule, perhaps an option to allow strict links to delay the schedule could be worked out.

Best Regards, Rafael

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Rafael,

Since the resources allocated to the concrete and cutting are from a subcontractor I did not bother to detail them. The conundrum was based on a real life situation, where the contractor executed the works with a 4 man crew for pouring and 2 for cutting. Yes they could work at the same time on different platforms but all 4 locations make 1 large platform; Also there are other considerations for your statement, regarding the capacity of the Concrete Station, number of vehicles to deliver the concrete, etc.

My query was about grouping a certain set of activities done by the subcontractor and scheduling the best order of execution and maybe using priorities because one location may be in the back of the site...and it would be unwise to start at the front.

For this question I did not bother with further restrictions since it would have complicated things. I was interested only how to model such a situation.

Hope things are a bit more clear now.

Best regards,
Bogdan

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

But the crew required for pouring is not the same crew required for saw-cutting; both can work at the same time on different platforms.

Best Regards, Rafael

Rafael,

I interpreted resource Concrete worker as subcontractor that will be invited to do all concreting.

This is what Bogdan explained.

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

Image-009

Image-010

Vladimir and Bodgan,

The image is from Vladimir file version 4, I just added the diagrams. How is it possible for "real-life" concrete worker to work one day close to 20 hours and next day 24 hours? 30 consecutive hours for activity 53!

In any case why not use more people to cut the concrete within a shorter window of time?  Why not use a machine that allows you to start earlier? Why not use several work shifts?

Soff-Cut® saws and blades for green concrete joints | Husqvarna Construction Products (husqvarnacp.com)

Best Regards, Rafael

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Vladmir,

If you link all other activities to the Finish milestone which is ASAP. Understood and agree, but if you link activities to F1,F2,F3,F4 then the result shall be like my image. Basically you have to "isolate" all concreating activities from ASAP succesors with a ASAP milestone.

Thank you for the solution to my problem and all the explanations!

Best regards,
Bogdan

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

You mean the file I uploaded (version 5) in which I linke all PVC Foil activities to the Dummy activity is wrong? or you mean the whole ideea is wrong - the ideea to group concreting activities? Please be more specific.

Bogdan,

in my schedule there are start and finish milestones for Concreting works.

Other activities shall follow concreting finish milestone and nothing will be changed.

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

I use spatial resource modeling everyday as Elevated slab forms are used in most of my jobs.

But there is no need to delay the job, one day earlier and work by concrete crew without interruptions is still better than a solution that delays the job and schedule the crew for the same number of days.

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Rafael,

I cannot see the whole schedule. I presented a simple schedule for better tracking if you mulpity the quantities by 10 or you have more complex scenario then the results might be different.

Also this is not about saving pennies by the day. This is about a waterfall of nodes like this that may arrise in a project that add up to a lot of days and also may result in wrong work, subcontractor or own workforce being stopped to wait for another.

This is about finding a reasonable solution not the best (optimum) solution.

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Rafael,

From my experience from time to time (more ofthen now than before) companies have to use a mix between company resources and external resources (subcontractors) thus the problem...even if I can schedule some activities earlier, in reality I cannot because some subcontractors will not work if the company gives them truncated work (work 1 week, pause 2 weeks, etc.). The superintenent of the project (part of that project) shall organize subcontractors depending on the schedule.

Also if the company uses a General Contractor way of working, the schedule shall level subcontractors (since 1 subcontractor, with the same manpower may be skilled of doing 2-3 types of jobs). Now imagine applying this to Project Portfolios. The subcontractors do not have the big picture and they work according to the superintendent which gets the schedule (the best/close to best) schedule from the office.

Maybe this topic should be have it's own thread. Will think about it.

Best regads,
Bogdan

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

It can be done without delaying the job within the same number of work days (7) for the concrete crew.  Still I do not believe it is a good idea to make all such activities critical. Saving a couple of days for such a crew is penny wise dollar fool. 

Image-008

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Vladimir,

Yes I agree with you, but what happens if you have other activities after this "node" of activities? If the successor activities are ASAP you solution will not work, forcing you to link all PVC Foil to the dummy milestone. Would you suggest to schedule all activities after whis node as ALAP?

In the file I posted and Image I forgot to erase priorities, I was just playing with them to see the results and if the scheduled can be controlled.

Please see picture:

Untitled

How would you solve this?

PS: I also checked my solution (the one you tested) to this model and ideed something goes wrong.

Bogdan,

in my scenario concreting started before PVC Foil was finished on all platforms.

Start of concreting prefers starts of concreting on all platforms and is ALAP activity. It does not have predecessors.

Second solution is more elegant but testing it I met the problem that we will solve in the near future.

You can create WBS where all dummy activities will be excluded.

You assigned priorities to platform concreting. I did not do this. Priorities do not change overall duration.

 

Rafael,

there was a condition: to do concreting without interruptions because concreting crew is invited.

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

Why the urge to sequester all concrete pouring float and delay the job?

Image-006

https://www.mediafire.com/file/7rxoo9irahgyxr6/Platforms.011.sprj/file

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Thank you for the suggestion!

I expanded the schedule in order to finish my real life situation and added other activities after the concreting ones to be leveld.

Also I do not understand why you placed so many link between the Dummy Location supply and the rest of the milesones and corecting activities. I tested by deleting all and did the following: Created links between PVC Foil and the Dummy (since the crew can come only once all preceding activities must be done before the concreting can start - it has to be continous) then eliminated all other links because if you create location supply consumption, all activities will be grouped between the supply and consumption.

Have I missed something, is there a scenario in which eliminating all the links could fail?

Here is the file:

https://www.mediafire.com/file/l17fbvsdlymykai/Platforms.005.sprj/file

Here is the image with final result.

Untitled

All works great and as expected.

One final question regarding this solution:

Isn't this the most elegant solution? Using profiles, thus avoiding multiple dummy milestones?

Screenshot-2021-03-08-185134

I created an unrelated schedule and tested it (seems to work). Don't know if it will fail unde more complex scenarios.

Best regards,
Bogdan

Look at https://www.mediafire.com/file/g0v6x7s0ut84osj/Platforms.004.sprj/file

I created dummy material called Location restriction.

One unit of this material is produced at concreting Start, then it is consumed at the start of work on each platform. At the end of work on each platform this material is produced and so the work on another platform can start.

Project was leveled taking into account material "Location restriction" constraints.

I noticed wrong values of resource constrained floats on one of platforms. We will study this problem.

Platforms

Your last question is good for the "Let's Challenge Spider" thread.

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Rafael,

from what I was able to understand regardin Priority Relative it doesn't matter if you assign the value 1 or 100 because eather values will force a split in an interruptable activity. If you assign different values for the Priority Relative field these will be taken into consideration only for those activities with Priority Relative.

Vladimir, please correct me if I am wrong.

PS: Spider may produce the best schedules in terms of optimization, but it is utmost important that the user shall understand all the constraints/options to place into the project model in order to obtain feasible results, not just an optimized schedule.

Here is a conundrum I have...is there a way to obtain the desired schedule withou changing the number of activities or adding link to the following schedule?

Hypothesis:

01. I have 1 location that is divided into 4 smaller locations, all linked between them (imagine a 7500m2 platform divided into 4 parts as shown in the schedule).
02. All works (each location) besides the concreting works can be done in any order;
03. But the concreting and expansion joint cutting can only be done one location after another (resource constraint, the crew is outsourced and can be called and schedule to come only once in order to do the works for all 4 platforms)
04. The expansion joint cutting should start after 6 hours, maximum 8 hours afther the concrete is poured (Time lag, 6 hours, STRICT LINK).

Problem:

01. Under any schedule options I have tested so far I cannot get a feasible schedule...a seqential concreting and cutting for each platform.

Question:

01. Is there a way to do so without:
a. grouping all quantities into 2 activities for all platforms (1 concreting, 1 cutting)
b. addink preferential logic between platforms (cut1, concrete2, cut2,concrete3,etc)

Please see the picture and file:

https://ibb.co/bPQNxdp

https://www.mediafire.com/file/34zb149xhmzm79v/Platforms.001.sprj/file

Concrete-Platforms

Best regards,
Bogdan

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Rafael,

from what I was able to understand regardin Priority Relative it doesn't matter if you assign the value 1 or 100 because eather values will force a split in an interruptable activity. If you assign different values for the Priority Relative field these will be taken into consideration only for those activities with Priority Relative.

Vladimir, please correct me if I am wrong.

PS: Spider may produce the best schedules in terms of optimization, but it is utmost important that the user shall understand all the constraints/options to place into the project model in order to obtain feasible results, not just an optimized schedule.

Here is a conundrum I have...is there a way to obtain the desired schedule withou changing the number of activities or adding link to the following schedule?

Hypothesis:

01. I have 1 location that is divided into 4 smaller locations, all linked between them (imagine a 7500m2 platform divided into 4 parts as shown in the schedule).
02. All works (each location) besides the concreting works can be done in any order;
03. But the concreting and expansion joint cutting can only be done one location after another (resource constraint, the crew is outsourced and can be called and schedule to come only once in order to do the works for all 4 platforms)
04. The expansion joint cutting should start after 6 hours, maximum 8 hours afther the concrete is poured (Time lag, 6 hours, STRICT LINK).

Problem:

01. Under any schedule options I have tested so far I cannot get a feasible schedule...a seqential concreting and cutting for each platform.

Question:

01. Is there a way to do so without:
a. grouping all quantities into 2 activities for all platforms (1 concreting, 1 cutting)
b. addink preferential logic between platforms (cut1, concrete2, cut2,concrete3,etc)

Please see the picture and file:

https://ibb.co/bPQNxdp

https://www.mediafire.com/file/34zb149xhmzm79v/Platforms.001.sprj/file

Concrete-Platforms

Best regards,
Bogdan

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

Vladimir,

Got it, I hope. as there is no good and complete reference in English on how to use it.

Two thumbs up for Bodgan search for a white paper sumarizing prioritization, activity as well as relative. Because of him my understanding has improved a lot, simple and concise.

Best Regards, Rafael

Rafael, let's consider the simple scenario:

You have certain time windows for work at the certain place. Otherwise the same resources will be used different ways.

It is necessary to move resources to different work at certain times.

Relative priorities is the simple way to model this case.

Relative priorities are used rarely in cases when there is a need to assign highest priority to certain activities without changing the way the project is scheduled.

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

Vladimir, I am finding it as unreliable as strict links, even if a single resource is used.  

What happens to interruptable activities resource loaded with multiple resources say A,B,C,D&E and same/subset of these resources are used by hundred other activities, how do you set your relative priorities? What happens if one of these activities is missing the relative priority value or if set to be the same as it might happen when dealing with hundreds of activities competing for same resources?

Rafael,

relative priorities are used when it is necessary to interrupt competing interruptable activities temporarily moving resources to an activity with higher relative priority or just moving some resources when resource assignments are variable.

One of the applications is to model time windows when the work shall stay.

As Bogdan wrote it is fine tuning tool.

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

Image-003

Image-004

https://www.mediafire.com/file/60t76h9ne5rjcug/Activities-21.001.sprj/file

It seems like at times it is better to keep all relative priority the same. So what is the logic into selecting good enough relative priorities?

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

Image-001

Image-002

From my point of view as a general rule schedulers are not that good as computer algorithms such as optimization and this is why Spider stands ahead of the competition.  As things change it might be better to change the priority values. I understand optimization algorithms are so good that they can ignore priorities if need be.  My question is if optimizations do not needs some priority rules why relative prioritization cannot be set in a similar way?  In this way the schedule will not be delayed as it happens when relative priorities are the same.

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Rafael,

Would it make sense to create an option to assign relative priorites similar to activity priorites under Resource leveling options? 

I do not understand, Priority Relative is taken into consideration only when using Resource leveling. Do you mean something like "Disable Priority Relative" similar to the option "Disable interruptions"?

And what about a warning box when it makes sense to use relative priorities? A warning that can be toggled on/off.

How would Spider know when to use relative priorities?

From my point of view this option allows the user to better control the outcome of the Resource leveling and to be able to fine tune the leveled schedule.

Best regards,
Bogdan

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Daniel,

everything works as intended. The pictures depict a very simple schedule model. I think that Priority Relative has many applications but it helped me solve this type of problem. It helps me model a scenario in which the main activity (Road) is interruped in order to allow other activities to be scheduled, thus, representing real life scenarios. In road&bridge works you will built the bridge when you get to it not after the road works, not before. If Priority Relative did not exist I would have had to split the road activity in many more activities in order to simulate this interruption (splitting is the correct way to do it); but if you built a schedule for tenders (for example) or just want to run a fast simulation or if you have a project with 40 roads then it can be reasonable enough to create a very simple model to simulate different scenarios (since it calcultes faster and is easyer to track).

In my model Priority defines the order of the roads, and Priority Relative just tell the Road task to split when the bridge activity has to start.

Best regards,
Bogdan

daniel morais
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 2 May 2018
Posts: 64

Hi Bogdan,

It seems that on figure 2 the priority relative doesn't work no, because all set "1"? The type of priority this figure is phase priority?

Regards,

Daniel

Rafael Davila
User offline. Last seen 2 days 19 hours ago. Offline
Joined: 1 Mar 2004
Posts: 5230

Would it make sense to create an option to assign relative priorites similar to activity priorites under Resource leveling options? 

An option might be manual another option is using some field.

And what about a warning box when it makes sense to use relative priorities? A warning that can be toggled on/off.

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

 

 

 

Vladimir,

Thank you for the sample file. Now all is clear. This functionality helps me solve an issue I had with a modeling problem I call Road-Bridge-Bridge-.... Please see below the image/link a very basic model

7660
screenshot_2021-03-04_081234.png

 https://ibb.co/VqgpyRY

Basically without the Priority relative for this scenario I would have to create a link between another activity (not Road) and setup lags, sometimes it would be a dummy milestone. This was a difficult workaround.

With Priority Relative the model becomes much simpler!
https://ibb.co/FVx7kd7

7661
screenshot_2021-03-04_083647.png

Thank you for the explanations, they really help!

Best regards,
Bogdan

Bogdan,

Relative priority does not work as usual activity priority. It is used only when there are parallel activities competing for the same resources. An example was uploaded to https://www.mediafire.com/file/uzwtib674ct9y0v/Relative.001.sprj/file.  Interruptible activity will be interrupted only if an activity with higher priority requires the resource that was assigned to interruptible activity. But if interruptible activity precedes this activity then their priorities are the same and interruption will not happen. In this case relative priority helps. Relative priority does not apply to preceding activities.  Try the project that is attached. Assign relative priority to activity 3 and reschedule this project. Usual activity priority will not help.
Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Vladimir,

Thank you for the clarification regarding Phase Priority and Activity Priority.

Now regarding Priority Relative; from what I understood from the manual and your explanation is that Priority Relative is an "absolute" priority that will be respected even by the Optimization and Optimization+; is this correct?

How does Priority Relative influence phase and activity priorities, are Phases considered first and then Activities inside of Phases, similar to Priority?

Also how is Priority Relative compared to Strict Links? is Priority Relative above a Strict Link? Combining a Strict Link with Priority Relative will always enforce the Strict Link?

Best Regards,
Bogdan

Bogdan Leonte
User offline. Last seen 9 weeks 5 days ago. Offline
Joined: 18 Aug 2012
Posts: 285

Vladimir,

Thank you for the clarification regarding Phase Priority and Activity Priority.

Now regarding Priority Relative; from what I understood from the manual and your explanation is that Priority Relative is an "absolute" priority that will be respected even by the Optimization and Optimization+; is this correct?

How does Priority Relative influence phase and activity priorities, are Phases considered first and then Activities inside of Phases, similar to Priority?

Also how is Priority Relative compared to Strict Links? is Priority Relative above a Strict Link? Combining a Strict Link with Priority Relative will always enforce the Strict Link?

Best Regards,
Bogdan

Hi Bogdan,

there are some errors in your description of Spider priorities.

When the project or portfolio is leveled then:

- phase (and project) priorities are taken into account first,

- if activities belong to the phases with the same priorities then activity priorities are considered.

If you set priority to some activity then the same priority is assigned to all preceding activities. So activity priority is the highest of all priorities that were assigned.

But in some cases it is useful to assign higher activity priority without changing priorities of preceding activities. This is relative priority.

Relative priority is used for managing resource assignments on parallel activities.

Yes, activity and phase priorities can be ignored if optimization finds the shorter schedule.