Dear all,
I am just wondering, is it possible in Spider to put a condition, that a successor activity shall start within certain time after finish of predecessor?
One can think of plenty technological limitations, when one activity does not necessarily start immediately after the 1st one, but must start within certain period.
Regards.
Evgeny
Duplicated
Vladimir,
Even if limited to only one outgoing/incoming maximal strict links I suspect you will have to program all ProJack Manager checks as if multiple links are allowed, of course I believe a single link will keep incompatibles under control. To me it looks not as easy as other functionalities like Start Flex you developed on a single day and came out the same day with a bonus, Finish Flex.
BTW I found out with a simple formula using Star Flex I can model an elastic activity that expands duration with competing start and finish links.
I was also exploring the use of formulas to model "ladder activities" that expand to satisfy longest rung, or shorthen/expand to follow a specific rung. It worked manually, the formula I was using was a nested IF statement I had some issues with. The trick is simple and just a couple of traps to take care, not difficult to figure traps. So thanks again for the bonus Finish Flex.
Best Regards,
Rafael
Rafael,
I hope that our users understand that strict or maximal links may be incompatible. In new version network analysis will provide reports on links that are impossible to satisfy and the users will be warned.
This feature is something that is nice to have but only if possible. And we will restrict the usage of such links.
Minimal links are usual, only maximal links will be retricted like not more than one incoming or outcoming maximal dependency per activity. And still it is not sufficient for avoiding incompatible situations.
Vladimir,
I was thinking on implementing Strict Links only as a special case of max/min lag limited to a single such link per activity, this will not allow the occurrence of three or more activities linked by strict links. I do not believe such limited definition would yield impossible situations, maybe a warning on resource availability in rare cases.
About maximal/minimal lag I wonder what will happen during a Monte Carlo Run unless limited to a single maximal/strict link per activity.
An activity shall not have a strict and a maximal link if we want to rule out the possibility of incompatible links as the strict link might compete with maximal links on incompatible ways.
If the above is correct then at least there would be no surprises, always working as expected.
Both would be needed as a strict link modeled as a combination of a maximal and minimal lag would break the rule for only one such link per activity.
I also believe that all functionalities shall be compatible with resource leveling and use of other constraints such starting with date constraints, financial constraints and any other. This means than when any such constraint can invalidate strict link or maximal links, the software shall warn and reject the link. I just want to express my concerns about maximal lags.
I advocate for new functionalities but never at the expense of unexpected results.
About Reference Books I believe they are so well implemented that probably not a single code line will be needed as to prevent the transfer of incompatible links. Just a report of what was not transferred as well as of duplicates is needed, if not available already.
Best regards,
Rafael
Yes, we plan to limit them but still it is impossible to avoid contradictions.
Of course ALAP works properly. Now we are making some improvements that will take a couple of weeks.
Try setting Activity 1 to ALAP and use regular link instead of strict?
I believe strict links might be modeled as a special case of maximal/minimal lags and should be limited to a single such link per activity.
Such approach if possible might be a practical application of maximal/minimal lag mathematics without adding too much complication to the model as verification of schedule logic under complex maximal/minimal lag can be quite a difficult task.
Thank you, I assigned resource in wrong order.
Regards,
Vladimir
Vladimir,
I just re-created it
https://docs.google.com/file/d/0B1FBt_G3gCVqQmdrMl8xZDEyRWM/edit
Regards.
Evgeny,
I cannot repeat your case where Spider creates unoptimal schedule when the link is strict.
For the same project ny schedule is fine.
Can you upload your model?
Regards,
Vladimir
I would say a strict link represents a minimal lag and a maximal lag relationship combination with lag values equal and that when not enforced, when not driving, it shall be identified as a broken link. I see them as a special case of scheduled out-of-sequence.
I understand when enforceable they will delay preceding activity as to keep the fixed distance. Resource constraining complicates things but must be addressed as well. If resource leveling overrides the strict link it shall be identified as a resource broken link.
Yes, the same problem with strict links. That is why we suggest our users to use them rarely and avoid more than one link to activity that have strict predecessor.
At the moment we reconsider strict links algorithms, so be patient and check them again in a couple of weeks.
In any case in some situations they will be broken.
With NLT links the situation might be even worse.
It is easy to learn if strict link is violated - in this case it is not driving.
Vladimir,
as I understand, Strict Links have pretty much the same restrictions, so in this respect this maximum-type relation does not change too much.
That is why, as I understand, in Spider the Strict Links are defined as the links, which only resource-constraind schedule considers as a restriction. The normal Scheduling does not even give a warning, if the strict link is violated
Regards.
Evgeny
Alexandros,
Evgeny asked about using dependency restrictions like next activity shall start no later than 10 days after predecessor finish.
At the moment all dependencies in most softwares are of No Earlier Than type.
If to add No Later Than types of dependencies we will meet contradictory requirements.
Imagine that activity A follows both activities B and C (FS) with start no later than 5 days after predecessor finish.
Now imagine that activity C with 10 days duration also follows activity B (FS). In this case no later than restriction cannot be satisfied.
This is the problem with such dependencies. It is easy to create the network with NLT dependencies that just cannot be properly scheduled.
1. Correct if I am wrong, but "slack" isn't the same with Free Float (Which every scheduling program has)?
2. Can't we just solve the above mentioned problem in Spider Project just by selecting the Excavation (Activity 1) to start ALAP (As Late As Possible)?
[[wysiwyg_imageupload:1688:]]
I have been testing some models using ProJack. In the following example Task 2 is a maxSF(3d) predecessor of Task 1 while at the same time Task 1 is maxFF(3d) predecessor of Task 2. This means Task 2 shall start at least 3 days before finish of Task 1 while it cannot finish 3 days over Task 1 finish. It is a circular reference, that has a mathematical solution traditional CPM software cannot deal with. I added Task 3 as a minFS(0d) predecessor of Task 2 and tested the model by changing the duration of Task 3, the model worked as expected.
It looks like with the use of maximal/minimal links some things can be done you cannot dream of if using traditional CPM links alone.
While exploring other circular references the software consistently crashed and I had to recur to the Task Manager to close the application.
There is also a Combination of Relationship link that might be of interest.
http://www.projackmanager.com/?q=node/179
ProJack Manager brings many interesting functionality but it's unreliability and tendency to crash on the smallest of jobs is too much for me.
I tried Evgeny sample job with ProJack Manager and got the same non optimal result on a simple job that optimal can be determined manually. Spider Project users know that optimal algorithm not always yield absolute optimal but equal or better than most other algorithms. As a matter of fact at times I refer to optimal as "optimal or near optimal" as to make a distinction to absolute optimal that in many cases is not known.
On large, complex schedules the results by Spider are better than what most schedulers can figure it out manually. When I asked about how good ProJack manager resource leveling algorithm I knew about this, I was wondering about it being equal or better or at least close to Spider. I was also wondering if the additional constraints imposed by max/min lags would make it harder, same as strict relationships I believe shall make it harder. My request for maximal links to be inactivated/re-activated among other reasons is to compare results, if not too far then manual resource leveling attempts on complex jobs make no sense at all.
Best Regards,
Rafael
Vladimir,
I just looked at the strict links feature (I didn’t know it before). Yes, I agree, that it provides solution for most of the examples I put below.
The only thing which the maximum-type relation would add – is to give a resource leveling algorithm more flexibility in selecting the most optimal time (from overall schedule point of view) to perform certain job within allocated time window. (e.g. vaccination of a baby must happen within certain time frame, but resource-leveling algorithm has a flexibility to move it around within this time-frame to make sure, that parents can do other important tasks).
However I noticed, that at the moment when Strict links are used, even Optimization Plus algorithm does not produce an optimal result even for very simple schedule.
E.g. in the example below Activity 1 and Activity 2 have a strict link between them. You can see that Spider did not resource leveled the schedule optimally
https://docs.google.com/file/d/0B1FBt_G3gCVqQmdrMl8xZDEyRWM/edit
This is what I would consider the optimal schedule (I have done manual resorce-leveling here)
Conclusion (the way I see it at the moment and may be I miss something):
Evgeny,
Spider includes strict dependnencies that cover some of your examples. I will think about implementing maximal links but still think that they may create a lot of confusions. Strict links also do not work in all times and Spider warns if they shall be broken.
Mike,
You said - In Asta PowerProject there is a constraint that says "must start between" for a fixed period.
This is a Date Constraint not a linkage maximal, two very different things as Vladimir warned before. So different that as soon as I realized of what Evgeny was talking about I had to edit my postings.
What Evgeny is asking is for a more advanced functionality. I believe same as Spider Development team decided not to implement there is a possibility Asta Development team and P6 also decided not to implement.
That they decided not to implement the functionality it does not means you shall not have a strategy, Evgeny question is very relevant.
Although never before I had to work on such a strategy and came out with my own on the run any improvement on the strategy is welcomed. I might need in the future to resort to such strategy, never say never. It is a strategy that might be adapted to/from other software.
Maximal links can be of the type SSmax, SFmax, FFmax or FSmax. As soon as a few are added the model becomes very complicated. In the following example we have SSmin=0, SSmax=3, FFmin=0 and FFmax=5. If Activity 3 duration is reduced to 2 days or if deleted no maximal will be broken.
Comparing against the link "slack" shall be substantially easier.
Even when in agreement with Vladimir that this functionality might create confusion I wonder if implementing it with the option to toggle it on/off might be a good idea. "Off" to make existing maximal links not to be considered in scheduling and the creation of new maximal links unavailable. "On" to enable creation of new maximal links and to activate maximal links.
I am starting to believe that the strategy to solve manually the issue might be more confusing than using this functionality. Delaying the activity will usually solve it when resources are unlimited but limited resource availability can make it very hard to solve manually.
https://lirias.kuleuven.be/bitstream/123456789/220858/1/OR_9804.pdf
Best Regards,
Rafael
Hi Evgeny
This has been a fascinating exchange but there is no place for such maxima linkage in construction.
Other spheres such as pharmaceuticals really do have such a need and software providers should provide it.
I have already said that Asta PowerProject do have such a set of constraints but they are not providing solely for construction.
Best regards
Mike Testro
With the use of a user defined field to identify Over Maximal Hammocks and the condition of duration not equal to 0 you can filter out broken maximal. Use of signals is another option. Delaying the activity will usually solve it but very frequently it might be desirable to use other alternatives.
Vladimir,
I was thinking about this. The real world around in full of such restrictions:
Maximal-Type relations are all over the place and we all take them into account in real life, without formally realizing, that we are working with advanced scheduling features.
So, I wonder now: how in real life on big schedule such restrictions are being checked without having the feature being formally available in the software?
Regards.
Evgeny.
Evgeny,
with this feature it is too easy to create contradictory dependencies.
We try to add to Spider anything that may be useful in practice but this feature will certainly create a lot of confusions.
Best Regards,
Vladimir
Rafael,
as always, you come with very interesting links.
Apparently what I have asked for is called "Maximal-Type Relationship" and in accordance to the link, you provided
<<
This kind of logical dependency can occur in numerous cases. Earlier these could not be used because the products already on the market are not able to manage these relationships. In 1959 G. B. Roy, French scientist, described the maximal-type relationships in the network technique invented by him. This technique is considered to be the base of the Precedence Diagramming (MPM) used today. At the end of the 60s Alan Battersby described this type of relationship that affects the predecessor pulling it closer to the successor.
>>
Vladimir,
some time ago you started the "Let’s Challenge SPIDER" thread.
As Spider is positioned (and I believe quite rightly) as the "best scheduling engine out there", this is a challenge to the core competence of Spider, which Projackmanager allegedly brings, isn't it? (By the way it also comes from Eastern Europe)
Regards.
Evgeny
Suppose you have Activity C shall start 5 to 10 days after finish of A and also 20 to 30 days after finish of B. If activities A and B finish at the same time when will Activity C be scheduled? If activities A and be do not finish at the same time then it might be there are some possible solution sets.
There are a few software that tackles the maximal lag such as ProJack Manager.
http://www.projackmanager.com/?q=pj
I would assume that it looks for the earliest as well as latest possible solutions and if not enforceable then it will ignore the requred maximal lag which is a constraint on the link.
I wonder how good the algorithm is at identifying the best solution set as selecting some values for lag will affect the availability of following selections even on the simple models. The resource leveling algorithm shall also consider these constraints and might increase the possibilities for no solution sets that meets the time lag constraints imposed on the links.
I also wonder if ProJack Manager can deal with the issue of multiple incoming maximal links into a single activity.
Mike,
date range may be set assigning both Start No Earlier Than and Finish No Later Than constraints.
Evgeny asked about No Later Than dependencies.
Best Regards,
Vladimir
Having a range of values for a link might result in an impossible schedule. Just imagine several activities connected in tandem by such links.
Hi Evgeny
In Asta PowerProject there is a contraint that says "must start between" for a fixed period - though why you would ever nead it in a construction programme is a puzzle.
Unless it gets right down to "must spread the plaster before it sets".
Best regards
Mike Testro
No, like in most other softwares Spider uses No Earlier Than types of dependnecies.
But there are also strict dependencies that define that the following activity shall start on certain time that depends on start or finish time of preceding activity. This dependency is much harder to model and sometimes it cannot be satisfied. We suggest to use them rarely and Spider delays succeeding activity if the solution cannot be found.