Let’s Challenge SPIDER

E
Evgeny Z. 👤 Member for 18 years 4 months

Vladimir,

Spider has ton of features. I must say it is not that reasy to learn, to put it mildly

I think absence or proper video instructions in English really holds it from taking over the world.

My series of Spider Project. Cool features  is really intended to show only remarkable features, not to be a comprehensive step by step guide (I don't have that knowledge yet)

Profile picture for Marcus Possi
Marcus Possi 👤 Member for 16 years 3 months

Vladimir - excelent idea. 

video - theme - language - duration

 

 

 

 

Videos ... Yes there is. (in Portuguese)

 

Every course we have here, due to our methodology, the online tutor creates a short video to make some comments about students exercises.

So, we have some playlists for our classes, and others for "corrections"

 

 

Here some of them.

 

(1) About Spider Project WEB-PI Spider Project WEB.PI

(2) Abou exercises SpU - revisão 2019

(3) About a private Spider Projectcourse  Spider Project CONAGP

(4) About a complete Spider Course 2017 - without risk analysis Spider SpP - 2017

(5) About a complete Spider Course 2010/2012 - without risk analysis Spider SpP - Curso Original - 2010/2013

(6) About a complete Spider Course 2017HD SpU - em alta resolução 2017

(7) About Spider Project Cost course Spider Project - Custos

(8) About Spider Project Cost Composition Course Spider Project -Composição de Custos

(9) About Spider Project Course CPM only Spider Project - CPM

(10) About Spider Project Support Assessoria Spider Project

(11) About 150h Spider Project Course Project Management Risk Analisys MC and 3 Scenarios  (just support) -here

 

 

Being elaborated for 2020.

(12) Mont Carlo for Project Management

(12) 3 Scenario for Project Management

 

 

 

 

by the way,

 

 

this year is completing 10 years of our "Spider Project - Top of Mind" effort.

Here in Brazil if you question a PM about PM tools, they will certain remind Spider Project, not only the popular application MSProject, to solve problems.  

V
Vladimir Liberzon 👤 Member for 25 years 4 months
E
Evgeny Z. 👤 Member for 18 years 4 months

Dear all,

I finally found some time for what I wanted to do long ago - to put some videos on youtube about Spider Project. Nowdays people search most of the information is vedeo format. I myself struggle to understand things if I can't find information on yourtube

so, I created a channel, called Spider Project. Cool features 

At the moment it has only 2 videos, but I am planning to start slowly putting more vedeos there

 
V
Vladimir Liberzon 👤 Member for 25 years 4 months

Safwan,

it depends on how initial model was created.

If at the planning stage it was not assumed that Subcontractor 2 may replace Subcontractor 1 at point C, it will be necessary to replace resource assignments.

If such possibility was considered then it makes sense to assign Skills that include resources of both Subcontractor 1 and Subcontractor 2 and give resources of Subcontractor 1 higher priority. If Subcontractor 2 will be selected for doing this job it is sufficient to change resource priorities.

One more solution is creating conditional network. Spider Project has special activities that have zero duration and two states Yes or No. This activity precedes to two network branches. If condition of Switch is Yes one branch will be selected (and other ignored), if No then another. States of the Switch activity may be selected manually or basing on some user defined rule.

In your case it is reasonable to create Switch activity that precedes to start of point C execution and create two branches – one if the job will be done by Subcontractor 1 and second if point C will be done by Subcontractor 2. These branches may include different activities. Then you may set the rule like If the forecast of completing point B by Subcontractor 1 is later than certain date Switch will automatically select the state that means that point C will be done by Subcontractor 2.

It looks like using Switch activity is the best method in your case.

S
Safwan H. 👤 Member for 10 years 10 months

"Defining project resources specify if they belong to special subcontractors or can be used by many of them. Spider Project will optimize project schedule taking this into account."

Expanding on my question;
Subcontractor 1 has been scoped with A, B and C, Subcontractor 2 with D, E, F.
Consider both have 'special resources' assigned to these activities/scope, and initially all is ok. At some point 'B' is delayed which opens up an opportunity for Subcontractor 2 to complete 'C' as well his scoped 'D, E, F' without affecting himself.

Would Spider maintain levelling with 'special subcontractor resource' or consider breaking this if the opportunity arises as per the above example?

"In this case Spider Project will select who will do the work basing on resource availability, user defined priorities and user defined criteria"

Or is my answer in the above quote and I'm just missing it..

V
Vladimir Liberzon 👤 Member for 25 years 4 months

Defining project resources specify if they belong to special subcontractors or can be used by many of them. Spider Project will optimize project schedule taking this into account.

Another case: when subcontractors use the same resource but it does not make sense to move it from one subcontractor to another until certain work was done (due to the distance or other reasons). This is modeled using spatial resources. In particular case when two or more subcontractors work in the one place they can share common space and resource will be used by all of them in the optimized schedule.

Skill means that resources belonging ti Skill can do the same work though with different productivity. You may create skill that includes resources of different subcontractors. In this case Spider Project will select who will do the work basing on resource availability, user defined priorities and user defined criteria (minimal cost, largest productivity or something else).

Let me know if your question was answered.

S
Safwan H. 👤 Member for 10 years 10 months

Apologies if reviving this thread upsets a few people but I figured it's the best place to ask.

I don't know too much about Spider other than postings from Rafael and Vladimir - bear this in mind when reading the question below.

I take it that Spider can resource level based on the selected scope a subcontractor is given throughout a project and can adhere to this rule throughout the project if modelled so. Can Spider show some optimization by the use of transferring resource from one subcontractor resource to another? (I understand that some will say humans should do this, but I'm curious if Spider could flag this)

I'm guessing the answer may be in skills (?)

V
Vladimir Liberzon 👤 Member for 25 years 4 months

George,

I tried those sample projects earlier. Spider Project j301_1 instance default duration is 43 days (optimal).

I will look at your method and we will discuss this matter further (not in this forum). There are certain requirements to any algorithms that we use for project, program, portfolio scheduling. These requirements include:

- Multiple dependencies between the same activities that link any point of preceding activity with any point of succeding activity with lags that can be positive and negative and measured in time of quantity units,

- Resources, activities, lags may have own unique calendars,

- If skills are assigned the scheduling engine shall select and assign the resources that have necessary skills basing on their availabilities and user defined criteria,

- Activity durations may be calculated basing on quantities of work to be done and assigned resource productivities, if skills were assigned the duration is not known before project scheduling,

- Resource assignments may be partial and variable (when resource workloads or quantities may change during activity execution),

- Not only renewable but also consumable resources shall be considered,

- Project financing shall be considered as one of many schedule constraints,

- Etc. (there are many other requirements that need to be followed).

Sample projects in both production and project sets are too simple in structure though hard for finding optimal solution. The scheduling algorithm shall take into consideration all possible constraints and conditions.

Production scheduling may have different requirements like taking into account set-up durations.

In any case a lot of work is ahead to make an algorithm practical.

Best Regards,

Vladimir

G
George Mejtsky 👤 Member for 15 years

Vladimir,

First, I must apologize for my misunderstanding of your answer. I do not have a deep knowledge of project scheduling, and mainly, I do not know how professional PM software like Spider works. By now I think I understand your answer. Anyway, thanks for your detailed response to my question.

For a change, I have one resource-constrained project scheduling benchmark problem for Spider. I took it from the PROJECT SCHEDULING PROBLEM LIBRARY (http://129.187.106.231/psplib/). It is the j301_1 instance with the optimal makespan 43. It is small (30 activities) and not too complex (single mode). You can download the j301_1 pdf file from http://www.4shared.com/document/zSX59zRv/j301_1_project_sched_benchmark.html

Vladimir, can you take a look at my software. I developed an optimization method called sweep algorithm. The method is based on discrete event simulation, and it can solve resource-constrained project scheduling problems. I tested the method by developing software, called Sweeper, and solving the job shop scheduling benchmarks with very good results. Sweeper can match the Spider’s results within 1-2 seconds, and as its calculation continues, it finds shorter and shorter schedules.

You can evaluate the method and software, and if you like it we can develop software, based on the method, which would solve your real-world project scheduling problems. Such software can be included in Spider. It would be a good complement to Spider’s other optimization software. As Rafael said (6-13-2011): “If there are other algorithms that should be added because they are better under certain circumstances, why not adding these options. I have no problem with having many algorithm options, prioritization is what confuses me.”

You can download a read_me text file from http://www.4shared.com/document/A5fBzFKS/read_me_Sweeper_exe.html

The read_me file has instructions for downloading, installing, and running Sweeper.exe. It also has links to my conference papers about the method and benchmark testing.

You can download a white paper about the method from http://www.4shared.com/document/mlba3MpK/Sweeper_explained.html

 

Rafael,

Can you take a look at Sweeper also? I am interested in your thoughts. Perhaps, you will even revamp Sweeper to your specs as local mechanics in San Juan fixed the Obama’s vehicle.

Best Regards,

George

V
Vladimir Liberzon 👤 Member for 25 years 4 months

Thank you, George.

Yes, I have read your post and answered.

Spider Project shall produce certain schedules with the same sets of initial data and the same methods chosen. It is project management requirement. If the Contractor submits some schedule to the Client both shall be sure that if anybody will run the scheduling again the result will be the same. So we could not afford anything uncertain (like time of the scheduling and the number of iterations). There are other reasons like the need for project trend analysis.

So we can create additional steps for resource constrained scheduling (now there are Standard, Advanced, Optimization, Optimization Plus levels) but cannot afford any uncertainty in the way the schedule is calculated. We already slightly improved Optimization Plus in yesterday release.

And as I wrote earlier the sample projects in the set were specially created to be hard and they are especially hard for Spider because our approach to iterative improvement uses WBS, the points where paths are merged. Your examples remind the portfolio scheduling but for this task optimization does not mean the shortest duration.

For really large projects with complex resource assignments (skills, partial assignments, conditions on continious work, resource production and consumption, etc.) Spider scheduling may take hours. So algorithms that find the best result for the benchmark schedules taking minutes of calculation could not be used at all in the real life.

I will try other samples later or will ask somebody in our office to do it. For me it is not easy to find the time for entering data.

Best Regards,

Vladimir

G
George Mejtsky 👤 Member for 15 years

Vladimir,

As I said before (6-15-2011): For optimum (or the best found) makespans/schedules of the benchmarks, see for example my conference paper

http://www.informs-sim.org/wsc08papers/088.pdf, Table 1 and 2, column OPT.

The optimum or the best found makespan/schedule for ABZ7 is 656 (time units).

Spider schedule: 756 days, +15% (756x100/656 - 100).

P6 Default schedule: 1071 days, +63%.

P6 Best schedule (Late start): 797 days, +21%.

Vladimir, did you read my post from 6-14-2011? In the part for you, I suggested to allow the users to select calculation time for Spider. Rafael is willing to wait for a Spider schedule up to an hour. What do you think of the suggestion? Is it practical or useful?

Can you try ABZ8 and ABZ9? They are as difficult as ABZ7.

Best Regards,

George

V
Vladimir Liberzon 👤 Member for 25 years 4 months

George,

I did not find the optimal duration for abz7.

Spider schedule lasts 12 hours and 36 minutes:

Photobucket

The schedules created by Spider shall be stable. If somebody will calculate project schedule with the same initial data and the same options the results shall be the same also. Don't forget that the schedules may live several years and recalculated at least each week. That is why we cannot afford anything random. But our testing was very useful and we will strengthen Optimization Plus option. As I wrote earlier the samples are not usual for projects and Spider did not use its full potential for schedule optimization but they were still very useful and showed some ways for future improvements.

I transfered minutes to days and calculated the schedule both in Spider and P6.

Spider schedule: 756 days,

P6 Default schedule: 1071 days,

P6 Best schedule (Late start): 797 days,

Optimal schedule: ???

Best Regards,

Vladimir

R
Rafael Davila 👤 Member for 22 years 3 months

George,

Again calculations at the blink of the eye. Not all of our jobs are made up of thousands of activities. My jobs are usually around 600 activities.

Our scenarios usually are such that a single dominant chain makes up the critical path and the other parallel chains do have enough float as to even allow us to reduce the availability of resources as to reduce idle time, then as there is progress the job starts to lag we increase the availability of resources up to a practical limit, here the resource leveling algorithm becomes very relevant. In our jobs parallel process that share many resources usually have the same resource demand sequence such as it would be the case of 10 independent buildings on a housing complex, we usually offset them in a way resources move smoothly on a controlled way.

Our job are different but some improvement will always be welcomed.

You can download la16 from the following link.

http://www.mediafire.com/?ottbgt5q7gqxv99

Got la16 with a duration of 17.21 hrs (17:13) or 9% (17.21/15.75-1) over best known solution by applying individual activity priorities.

Photobucket

Best regards,

Rafael

G
George Mejtsky 👤 Member for 15 years

Rafael,

I love the Obama’s revamped vehicle. But that gold inside is a bit too much, right?

How long did Spider calculate the schedules? Is it again “The calculation time is always at a blink of the eye, as soon as resource leveling icon is clicked” as you said?

The optimum makespan for LA01 is 666. So Spider’s 715 (11.55 hours, 11x60+55=715) is +7%, or 690 (11.30 hours, 11x60+30=690) is +4%.

The optimum makespan for LA16 is 945. So Spider’s 1047 (17 hours 27 minutes, 17x60+27=1047) is +11%.

For optimum (or the best found) makespans of the benchmarks, see for example

http://www.informs-sim.org/wsc08papers/088.pdf, Table 1 and 2, column OPT.

There is enough space for improvement in the schedules for these very small and easy problems. Perhaps, the calculation time of several more blinks of the eye will do it.

Rafael, did you notice that as the problem size (number of activities) grows, the difference between Spider’s schedule and the optimum grows even for easy problems?  

Let’s not forget that Spider’s competitors need much more improvements just to catch up with Spider.

Regards,

George

R
Rafael Davila 👤 Member for 22 years 3 months

There was no rain today, the next photo is just after his arrival. Photobucket The Next photo just before his departure, he parked his vehicle in the wrong spot and lost the wheels.

Photobucket

But local mechanics fixed it and even revamped it to his specs as follows, he left very happy.

http://www.youtube.com/watch?v=Vf-ZiAC5mIs

LA01 duration out of the box 11.55 hours, got 11.30 hours if after optimization the advanced option is applied with super float as main prioritization rule.

Photobucket

For LA16 I got 17hours and 27minutes, out of the box.

Regards,

Rafael

G
George Mejtsky 👤 Member for 15 years

Rafael,

Did Barack Obama get wet? And what about the Mavericks on Sunday? Barea is goooood!

Can you try to solve LA01 and LA16 by Spider? These are very easy to solve (easy to get the optimal schedules). Vladimir says: “Easy problems are not attractive.” So he will not solve easy problems. I think they could be important for us. If Spider finds the optimal schedules, or very close to the optimum (< 2% like FT06) then it is fine. However, if it is 3% or more then we have a small problem - to improve the schedule.

Vladimir,

I think Spider could be allowed to calculate schedules for FT10 or LA29 longer and find much better schedule. Why only 1, 2 seconds? As far as I know, the iterative heuristics, metaheuristics, work like this: they find the first schedule fast, in less than one second or so. They save the schedule, and continue in search for a better one. They search hundreds of schedules, until they find a better one, and save it, etc. In this way, they search and keep finding better and better schedules. They keep searching until a stopping criterion is reached. The stopping criterion can be the number of iterations, calculation time, or something else.

Vladimir, why not to allow users to select the calculation time as a stopping criterion? Rafael said: “About resource leveling time I am willing to wait up to an hour if need be, …” In this way on Resource Constrained Scheduling Options form, I could select 10 minutes or 30 minutes calculation time, and let Spider calculate for that time. I should get a much shorter schedule than with only 1, 2 seconds of calculation time. And we know the significant benefits for the company from this much shorter schedule.

In my job shop scheduling software, I do not have the calculation time criterion. I let the scheduling program run and run and search for a better and better schedule. I watch how fast the schedules keep improving. When I see that the rate of improving is slowing down too much, or I get tired waiting, I kill/stop the search for better schedules.

Regards,

George

R
Rafael Davila 👤 Member for 22 years 3 months

George,

Because of the rain, bikinis are temporarily out of service. Last year average rain was 40% over yearly average, 12 months of rain my friend, this year seems like another 12 months of even more rain, this is an Island so floodings are not big, water goes to sea very fast.  Tomorrow Barack Obama is coming to Puerto Rico, most probably he will get wet.

About resource leveling time I am willing to wait up to an hour if need be, so there is time to run a few schedule leveling on a day. We are talking about applications for the industry, on special occasions might be willing to wait more time. When we have a job in trouble many times the only way to compress the schedule is not by squeezing the resource leveling algorithm but by changing technology-logic and or preferential-logic, increasing resource availability, adding shifts and the like. Still no doubt efficient resource leveling algorithms are handy, ideally the optimal as they can make a substantial difference. As Vladimir said they can improve the quality of our schedules, with the use of these we can reduce idle time of planned resources.

Spider creates resource dependencies, perhaps this can be used to temporarily lock the schedule so schedule runs for logic without resource leveling can be performed fast, then after all logic modifications the resource dependencies can be released as to run true resource leveling without artificial links that might interfere. This functionality, perhaps unique of Spider, you might be interested to look at.

Agree resource leveling shall be developed by testing, I cannot see other way, in order for the testing not taking much time I believe relatively few activities schedules that create enough confusion to the algorithms shall be enough. Algorithms for our project type schedules as well as algorithms for production type schedules shall be developed and available on a single scheduling software as there is no such thing as the Universal Algorithm that works best for all schedules, to make it harder sometimes schedules combine both types of process. For the moment no such thing exists and even finding best prioritization strategy differs among the different software and even among different schedules within same software.

I am just a regular user that can use the tool as developed by the mathematical minds, I believe resource leveling algorithms can be improved, though not a simple task. I recognize sometimes by random I got some improvements, this is why I am asking for some way to record my settings and results as to make it easier to make some search by some kind of educated trial and error.

I believe Spider schedules and any software shall be compared to the other software, not against itself.

Sorry for not going any further but optimization methods is not my specialty, give me the tools and I will use them, by testing the tool and comparing to other software we will know how good it is.

Regards,

Rafael

G
George Mejtsky 👤 Member for 15 years

Rafael,

Thanks for “CANDIDATE RULES FOR MINIMIZING THE PROJECT DURATION” paper. I will read it soon. I just spent 10 minutes reading the beginning of it. I read many papers. If you have an interesting one, send it to me ([email protected]). I am interested in production/project scheduling, resource allocation, simulation,  optimization, and bikinis.

I have a question about your “I would say computing time in these jobs should not be much of an issue, not even on a laptop.”  In what timeframe would you expect to get your solution/schedule? How long are you/others willing to wait? 2-3 hours? More? The longer you wait the better the schedule can be found.

As for your “If there are other algorithms that should be added because they are better under certain circumstances, why not adding these options.”  How do you want to find a better algorithm? By testing, right? We are now doing some testing of Spider. What tests would you recommend?

I think Spider is better than most project scheduling software in many, if not all, circumstances. Do you know a situation where Spider would be worse? If an optimization software is better than others in one situation, it is probably as well better in most other situations.  Spider is even better than most production scheduling software, I believe. It is the iterative heuristic of Spider that is significantly better than priority/heuristic rules of the others.

I would bet that the schedule found by a priority/heuristic rule is very close, if not worse, to a randomly picked schedule. That’s why, I proposed to include in Spider the random/average priority. Not for use by the users of Spider, only for internal Spider’s referential use to calculate an “average” schedule in order to see how far from the “average” schedule the normal/optimized schedule is. I would like to compare the “average” schedule with the schedules of competitors.

Regards,

George

V
Vladimir Liberzon 👤 Member for 25 years 4 months

George,

LA29 scheduling took a second or two.

The schedules we tried are not typical for projects and it makes Spider optimization less effective. In projects we always have converging paths and Spider iterative scheduling looks for these points (intermediate results) trying to achieve these results faster. In production scheduling benchmarks paths are independent. There are features that are necessary for production scheduling (like planning set-ups) and not for project planning, there are project management requirements that are not critical in production scheduling (many different calendars, part time assignments, complex dependencies, data uncertainties, etc.). But Previous Version Support is useful for both. It not only minimizes recalculation time. When new schedule is quite different than the one that was earlier approved the problems of resource reassignments, creating different supply schedule, etc. make the changes too expensive to be implemented.

If you will look at PP discussions you will find that few planners are trying to optimize project schedules, most do not load resources in their schedules at all. So project planning culture is even worse than in manufacturing. Spider is very popular in Russia and some other East Europe countries but when I speak about schedule optimization abroad very few people understand what I am talking about.

I will try most difficult benchmarks on return from my current business trip. We are involved in many projects and I am travelling a lot. Easy problems are not attractive.

Best Regards,

Vladimir

G
George Mejtsky 👤 Member for 15 years

Vladimir,

I like the idea of “Previous Version Support” to save time. I must remember it and use it in my software one day. I am a software developer of production scheduling systems with a similar optimization algorithm like Spider. My production scheduling system uses discrete event simulation for modeling and an iterative heuristic for optimization. I use a different name for iterative heuristics - metaheuristics.

How long did Spider calculate LA29?

You said: “I expected that the demand for good scheduling engine in manufacturing is much more urgent.” Well, I thought the opposite is true. As I know, manufacturing people want, in average, any fast schedule with no worry about the quality of the schedules.

As for your: “Genetic and similar algorithms are too slow for using in large project models but could be used in production scheduling where the number of activities is measured in hundreds, not thousands like in projects.” I thought that Spider is in the group of genetic and similar algorithms – iterative heuristics, metaheuristics. Why should other iterative heuristics be too slow for using in large project models? They can decrease the number of iterations too, like Spider. Even my iterative heuristic can do it and can be very fast with good schedules. Am I missing something?

I would say that an average production facility does not have thousands of activities; however, an average semiconductor wafer fabrication facility has hundreds of machines, thousands of orders/batches and thousands of activities all the time. But such facility is an extreme, very large and very complex. I worked for Japanese Sharp corporation developing scheduling software for their wafer fabrication facility in Japan. I used a parallel computer for faster scheduling.

Vladimir, there are more difficult benchmark problems than LA29. Other researchers are claiming that the most difficult benchmarks are ABZ7, ABZ8, and ABZ9. From my own testing, I must agree. In fact, I hate them because I tried very hard, and still I cannot get better results. You just want to improve your ugly schedules a bit, just a bit, but no mercy. Very, very frustrating.  Try those suckers, but I warn you do not get discouraged by the schedules.

Next time, let’s try some very easy problems like LA8-LA15.

Regards,

George

R
Rafael Davila 👤 Member for 22 years 3 months

George,

Might be of your interest;

CANDIDATE RULES FOR MINIMIZING THE PROJECT DURATION

http://dde.teilar.gr/attachments/581/trautmann%5B2010a%5D.pdf

Unfortunately Spider is not included and the resource leveling capabilities under these sample jobs cannot test how these algoritms perform under other real life modeling needs like variable partial assignments or other type of links. I understand only FS no lag relationship is used on these samples jobs, not even different calendars with different non-work days are considered. 

Real life is quite complicated.

As you can see in this report, bad performance by P6 is not as bad among the even worst performance of the others. I agree with the conclusion, among the tested software, none is good.

Vladimir,

Just in case you did not noticed, George said, "I must correct the optimum makespan for LA29. The optimum makespan is not known yet. Only the best known solution found so far is available, and it is 1130, if it is not an error."

I understand for different schedules the "best" algorithm might differ, precisely this is what I like about Spider, it provides several options that allow for prioritization and others that look for optimal. Because my jobs are usually on the range of 500 to 700 activities and US$20,000,000.00 not big jobs but very frequent in our construction market, I would say computing time in these jobs should not be much of an issue, not even on a laptop.

If there are other algorithms that should be added because they are better under certain circumstances, why not adding these options. I have no problem with having many algorithm options, prioritization is what confuses me.

I would welcome a table, to select several algorithms and prioritization options of their own, and the computer, while I am having a coffee, will run them all and output on the table the durations obtained under each option. Maybe even some suggested prioritization order can be displayed in parenthesis as an assistance for us to select these. If I can checkmark on the table the algorithms to be run then I can un-mark some and continue with only a few until I decide not to go further, but I will have a summary of my options and their results. Of course the idea about the table can be further developed, a table similar to other tables in Spider, where even directly parameters can be changed directly, where line would be loaded or recalled from the resource leveling dialog box, even un-statusing and sequential runs can be scheduled, and so on ..., just a practical table, nothing really new.

Best regards,

Rafael

V
Vladimir Liberzon 👤 Member for 25 years 4 months

George,

we use an approach that is similar to your proposal:

Standard option is traditional when the user selects resource allocation priorities,

Advanced is the first level, Optimization is the second level, Optimization Plus is the third level of optimization that do more and more iterations. When the standard or advanced option produce satisfactory schedules people can use them because the scheduling is faster.

We also added Previous Version Support to save time for further calculations and to make the schedules stable. When this option is selected the order of activity execution is kept like in selected previous version of the same project. Optimizing once you can use this option until the initial data changes become large saving time in project schedule calculation.

I entered initial information in days instead of minutes to be able to compare the schedules with the other PM softwares that do not schedule in minutes. The 5 days/week calendar is used.

Spider default schedule for 20 projects problem lasts 1337 work days, 15.5% longer than optimal:

Photobucket

Applying priorities the schedule can be improved. Next slide shows Project Resource Structure where activities belong to the same phase if they shall be done by the same resource. Applying phase priorities we can get better schedule like the next one with 1313 days duration:

Photobucket

P6 default schedule lasts 1707 days, 47.5% longer:

Photobucket

The best schedule of P6 achieved with Late Start priority lasts 1469 days that is 23% longer than optimal:

Photobucket

Spider file can be downloaded from http://www.mediafire.com/?77aq2txhyk35ci3

We could add further optimization if our users will demand it. But usually initial information in project management is much more uncertain than in manufacturing. The schedule shall be close to optimal and will be adjusted many times when additional information will become available. I expected that the demand for good scheduling engine in manufacturing is much more urgent. Genetic and similar algorithms are too slow for using in large project models but could be used in production scheduling where the number of activities is measured in hundreds, not thousands like in projects.

Best Regards,

Vladimir

G
George Mejtsky 👤 Member for 15 years

Vladimir,

About your “I am curious about the results produced for the same schedules by production scheduling programs.” As far as I know, the quality of production schedules is similar like in project scheduling because of similar algorithms (heuristic rules) dominate the field.

About your “Comparing Spider schedules with optimal we can find the ways for further improvements.” Spider’s optimization algorithm “is rather complex iterative heuristics”, you said. Iterative heuristics, such as tabu search, genetic algorithm, ant colony optimization, or bee colony optimization, have several parameters to tune the algorithm. The number of iteration can be one such parameter. The higher the number of iteration the shorter the schedule; however, at the expense of calculation time.

In Spider, this parameter might be set too low in order to produce schedules fast at the expense of the quality of the schedules. This might be even necessary for very large schedules. For smaller schedules, however, we (user or Spider) could set the parameter higher to get much better schedules yielding big project savings. Dynamic tuning the parameters of Spider’s optimization algorithm: What do you think about this simple Spider’s improvement? If it is possible to dynamically tune Spider then I have some more ideas for improvements.

Sorry guys,

I must correct the optimum makespan for LA29. The optimum makespan is not known yet. Only the best known solution found so far is available, and it is 1130, if it is not an error. I have some papers reporting 1130 (like http://docsdrive.com/pdfs/ansinet/itj/2007/222-226.pdf, Table 1 and Table 2, column Optimum, or www.soc.napier.ac.uk/~benp/dream/dreampaper13.pdf , Table 1, column Optimum), some 1132, 1134, and some 1137. As far as FT06 and FT10, the optimum makespans are 55 and 930, respectively. Amen.

Regards,

George

G
George Mejtsky 👤 Member for 15 years

Rafael,

For minimum makespans of the benchmarks, see, for example,

http://www2.research.att.com/~mgcr/doc/hgajss.pdf, Table 3, column BKS (3rd) or

http://faculty.bus.olemiss.edu/crego/papers/FF-JSSP.pdf, Table 1, column BKS (best known solution) and Table 2, column Opt.

I like your humor: “PS 54% off by P6 out of the box is not bad, I had worst expectations.” And people pay for it? Can you imagine their project savings if Spider was used? Is P6 an average software or there are some much worse? I think that is why we need comparisons, Olympic Games. We could have a simple-and-small-size set of PM problems, more-complex-and-average-size set of PM problems, and very-complex-and-big-size set of PM problems. And some medals for all competitors. No, I am not Spider’s salesman.

I got your FT10 file, thanks. And where is your youtube video of bikinis on the beach? I cannot find it in your post.

Regards,

George

R
Rafael Davila 👤 Member for 22 years 3 months

From a previous posting.

Spider Demo is limited to 40 activities but if you want to explore the 10x10 schedule maybe using the Free Spider viewer you can explore the files. You can download the file from the following link.

http://www.mediafire.com/?65yqw27jtx48ys4

Just download and open to explore the file.

About NBA basketball my team is the Boston Celtics, they did not make it into the finals so I am following Dallas Maverick because a local plays with them, JJ Barea, is not a regular player but still a good bench player.

http://www.youtube.com/watch?v=lV9z8czMTLg

Good things in life are not expensive, going to the movies is not, a hamburger on the BBQ is not, watching a game on TV is not, even watching bikinis on the beach is not, here it is a 12 month a year pastime.

Regards,

Rafael

G
George Mejtsky 👤 Member for 15 years

Rafael,

I downloaded the Viewer, and I cannot find FT10 or FT06 projects. There are 10 demo projects there. I never used this software. Can you help me?

You got it. it is LA29. Just 200 activities. Is it a small project? I guess so, if large projects have hundreds of thousands activities.

The minimum makespan for LA29 is 1157.

Are Dallas Mavericks as good as…..   let’s say…..    Spider?

Regards,

George

R
Rafael Davila 👤 Member for 22 years 3 months

George,

You can download the viewer from the following link.

http://www.mediafire.com/?g7jc418oz91498c

I downloaded it from the Spider users access, it is allowed to distribute unlimited number of viewers. It is intended mainly for distribution by registered users of Spider. They provide the Demo at their website but not the Viewer, perhaps to avoid too much traffic or maybe because Demo and Viewer should not be installed on the same computer.

You will be able to check my file and let me know if there is any error, even when I compared my results with Vladimir model there is always a possibility of error, a good excuse for you to explore the software.

I have never used the viewer as I jumped from Demo to full version within two weeks. 

I will try LA-29 but on Monday, tomorrow Sunday is for family time, will go to the movies and latter will watch the Dallas Mavericks NBA Finals game on TV. Will keep in touch.

instance la29

 +++++++++++++++++++++++++++++

Lawrence 20x10 instance (Table 8, instance 4); also called (setc4) or (C4)

20 10

8 14 2 38 7 44 0 76 5 97 3 12 4 75 6 66 9 12 1 29

0 43 2 85 3 82 5 38 4 58 9 89 8 92 6 87 7 69 1 80

3 41 7  7 9  5 0 43 2 14 4  8 5 61 1 84 8 66 6 48

2 42 3 74 4 59 6 41 1  8 9 73 8 43 0 96 5 19 7 97

7 23 8 42 4 37 6 55 0  7 5  5 2 70 9 38 3 75 1 48

8  9 6 43 7 31 4 25 5 73 3 95 0 79 2 72 9 60 1 56

1  7 5 21 8 53 6 16 4 94 0 97 3 78 2 64 7 86 9 31

2 65 6 59 7 85 1 33 4 30 8 44 0 61 3 86 9 63 5 32

6 45 2 44 5 61 8 93 1 30 7 90 9 84 4 11 3 16 0 60

4 47 7 36 8 31 1 49 3 20 2 28 6 52 9 35 5 11 0 32

2 77 4 10 9 68 5 17 0 85 1 84 8 20 6 49 7 74 3 34

0 17 5  7 1 85 3 29 2 17 4 76 6 59 8 71 9 13 7 48

6 87 4 39 8 43 7 11 2 15 3 32 5 64 0 19 1 39 9 16

5 33 3 99 6 32 4 91 8 82 2 92 9 99 7 57 1 83 0  8

3 91 5 39 2 69 8 27 7  7 6 21 1 38 9 62 4 88 0 48

2 67 7 80 3 24 0 88 4 18 1 44 8 45 9 64 5 80 6 38

9 59 3 72 6 47 4 40 7 21 5 43 0 51 8 52 1 24 2 15

3 70 2 31 6 20 8 76 1 40 7 43 0 32 5 88 9  5 4 77

4 47 5 64 9 85 3 49 7 58 1 26 0 32 8 80 2 14 6 94

5 59 2 96 0  5 7 79 8 34 4 75 3 26 6  9 9 23 1 11

+++++++++++++++++++++++++++++

Best regards,

Rafael

G
George Mejtsky 👤 Member for 15 years

Rafael,

You said: “I would dare to say on real life jobs Spider will be between 6% and 0% of optimal with an average of 3%, with a distribution close to 3%.” I wish we know how good our real life schedules are. I am afraid that your numbers are optimistic.

Consider this: there are more difficult benchmark problems to solve, like LA29 with 20 projects and 10 resources. I guess Spider’s schedule might be off by 20-30% in the LA29 case.

It seems to me that when the problem size is small, like FT06, a schedule of good software, like Spider, is very close to the optimum schedule. As the size and complexity of the problem grows, the schedules are further and further from the optimum, even for Spider. And the difference between Spider’s schedules and other software schedules grows and grows, as you said: “The bigger the schedule the more you will notice the difference between Spider and the rest.” I just like your analyses, so I read your posts very carefully.

Can you try LA29? Thanks.

Regards,

George

G
George Mejtsky 👤 Member for 15 years

Rafael,

What length was your schedule of FT10, what makespan? 16:37, (997, +7%)? Can you squeeze out a shorter schedule than Vladimir’s 16:36 (996, +7%) schedule?

I looked at your youtube videos of FT06 and FT10. It is a very fast calculation indeed. I downloaded 101.002.sprj file from MediaFire, but I do not know how to open the file, by which program?

I hope you did not make errors while inputing FT10 definition data. Compare it with the FT10 definition in the jobshop1.txt file (http://www.eis.uva.es/elena/Elena%20Perez%20Vazquez_archivos/files_optimaJSSP/jobshop1.txt)

Regards,

George

V
Vladimir Liberzon 👤 Member for 25 years 4 months

Rafael,

the best schedule is 930 minutes (not 926).

Spider best is 16:36=996 minutes, 7% more than the best schedule.

In P6 I tried individual priorities but did not try combinations of priority rules. The number of combinations is too large and potential improvement is small. 

R
Rafael Davila 👤 Member for 22 years 3 months

Vladimir,

Lets see if I understood:

If Spider is 9% off the best known solution then, Best Known Solution = 1010/1.09 = 926 min

Spider solution out of the box...= 1010/926 =>> 1.09 or 9% off

Rafael trial .........= 16.6167x60 = 997/926  =>> 1.07 or 7% off

Vladimir trial.........= 16.36x60...= 981/926  =>> 1.06 or 6% off

P6 out of the box....................= 1427/926 =>> 1.54 or 54% off

p6 best...................................= 1134/926 =>> 1.22 or 22% off

I understand you can improve on the 6% as you have not tried individual activity prioritization something I doubt P6 can handle. I also understand you tried all prioritization options that make sense in P6.

Best regards,

Rafael

PS 54% off by P6 out of the box is not bad, I had worst expectations.

V
Vladimir Liberzon 👤 Member for 25 years 4 months

1427.

But it can be improved by selecting other leveling priority. The best is 1134 days (minutes) with Late Finish priority.

P6 does not schedule in minutes. So I entered durations in days.

Best Regards,

Vladimir

V
Vladimir Liberzon 👤 Member for 25 years 4 months

Rafael,

it is interesting that the sequence Optimization and then Advanced Super Float saves 1 more minute:

Photobucket

Thank you and Best Regards,

Vladimir

R
Rafael Davila 👤 Member for 22 years 3 months

George,

Sequential application of Optimization Plus and then Advanced using Super Float as Priority will yield better results, and this is without using activity priority. Don't ask me, trial and error, brute force, took me less than 2 minutes though.

http://www.youtube.com/watch?v=KqPzTLX_Gb0

What stands out is that even a schedule known to be difficult to optimize is not that far from optimum with Spider Project Optimization Plus out of the box. I would dare to say on real life jobs Spider will be between 6% and 0% of optimal with an average of 3%, with a distribution close to 3%.

No way you can consistently get there using preferential links as to mimic true resource leveling.

Believe me I have seen software that can go as far as 40% over Spider, say 43% over optimal, and this is unacceptable.

In schedules where partial assignments are allowed Spider stands out as it can even allocate for variable partial assignment. Partial assignments is the order of the day in construction schedules as well as in architectural design schedules where you have some crews or individual resources assigned to work on several long duration activities the same day.

Variable assignment is a refinement over fixed partial assignment that will make a huge difference when allowed.

Spider Demo is limited to 40 activities but if you want to explore the 10x10 schedule maybe using the Free Spider viewer you can explore the files. You can download the file from the following link.

http://www.mediafire.com/?65yqw27jtx48ys4

Regards,

Rafael

PS. The calculation time is always at a blink of the eye, as soon as resource leveling icon is clicked as seen on the video clip.

V
Vladimir Liberzon 👤 Member for 25 years 4 months

George,

when I wrote about applying priorities I meant priorities of certain activities or projects. When the scheduler receives automatic scheduling result he/she can try to improve it applying user defined activity/phase priorities (just numbers).

Spider does not have random scheduling and does not apply different priorities selecting the best result. Our algorithms were created for scheduling of very large projects (with hundreds of thousands activities) and shall be very fast to be practical. Both sample schedules that you proposed were calculated in less than one second time.

Applying random heuristics can produce good schedules but is not ptactical in project management. Project life cycle can be measured by years and the schedule is revised at least each week. It is necessary to be able to get the same or similar schedule after minor changes. Random priorities are hard to repeat.

Thank you for the benchmark reference. Comparing Spider schedules with optimal we can find the ways for further improvements.

I am curious about the results produced for the same schedules by production scheduling programs. I know PM software market but did not work with MES systems.

Best Regards,

Vladimir

G
George Mejtsky 👤 Member for 15 years

Vladimir,

Great! Thank you for your time and effort. How long was the calculation time? It looks like the second gold medal for Spider. When you have time, can you try to improve this schedule by applying priorities? Can you describe the process of applying priorities? As I understand, you select a priority or set of priorities and calculate the schedule, and then you select a different priority (rule, heuristic) and calculate a new schedule, etc. You repeatedly calculate schedules with different priorities, and then you select the best schedule found. Is this process the same in Spider?

In Spider, do you have some random priority (random heuristic) which would select randomly? I would like to know the length of the random schedule or an average schedule. If we know the average/random schedule then we could compare our best found schedule with the random schedule. We might find that our schedules based on priorities might not be better than the random schedule. I hope it is not the case.

The first production problem (6 projects and 6 resources, 6x6) is the smallest and one of the easiest instances found in the standard job shop scheduling benchmark set. This problem is called FT06 and has optimum makespan 55. Spider found the schedule with makespan 56 which is only 2% longer than the optimal schedule. Frankly, it is not very far from the optimum indeed.

The second production problem (10x10) is probably the most famous job shop scheduling problem, called FT10.  FT10 has optimum makespan 930 which is very difficult to find. Spider found the schedule with makespan 1016 (16 x 60 + 56) which is 9% longer than the optimal schedule. So there is enough space for improvement here. How much can you improve it? I think it is a very good schedule for the default "out of the box" solution. Can anybody find a better default "out of the box" schedule with a different software? I doubt.

I hope I made no errors in defining FT06 and FT10. You can find all the benchmarks defined in http://www.eis.uva.es/elena/Elena%20Perez%20Vazquez_archivos/files_optimaJSSP/jobshop1.txt. An additional information about the benchmarks is in http://www.eis.uva.es/elena/JSSP/index.htm.

In real world projects (large and complex), the optimum schedule is not reachable. Therefore, we do not know how far our schedule is from the optimum schedule. However, if we can get a random/average schedule then we can compare our schedule with it to make sure that our schedule is better than the random one, hopefully. That’s why, I propose to include the random priority rule in Spider, if it is missing.

Best Regards,

George

V
Vladimir Liberzon 👤 Member for 25 years 4 months

George,

Spider default schedule for this project lasts 16 hours and 56 minutes

  Photobucket

Resources are used as follows

Photobucket It looks like this schedule could be improved by applying priorities but I showed the default "out of the box" result.

Best Regards,

Vladimir

G
George Mejtsky 👤 Member for 15 years

Vladimir,

Thanks for trying backward scheduling. I kind of agree with Rafael that “The bigger the schedule the more you will notice the difference between Spider and the rest.” So here is a bigger production problem with 10 projects and 10 resources to show a bigger difference, I hope.

----------------------

Problem (10 projects, 10 resources):

P1: 10/29, 1/78, 2/9, 3/36, 4/49, 5/11, 6/62, 7/56, 8/44, 9/21.

 P2: 10/43, 2/90, 4/75, 9/11, 3/69, 1/28, 6/46, 5/46, 7/72, 8/30.

 P3: 1/91, 10/85, 3/39, 2/74, 8/90, 5/10, 7/12, 6/89, 9/45, 4/33.

 P4: 1/81, 2/95, 10/71, 4/99, 6/9, 8/52, 7/85, 3/98, 9/22, 5/43.

 P5: 2/14, 10/6, 1/22, 5/61, 3/26, 4/69, 8/21, 7/49, 9/72, 6/53.

 P6: 2/84, 1/2, 5/52, 3/95, 8/48, 9/72, 10/47, 6/65, 4/6, 7/25.

 P7: 1/46, 10/37, 3/61, 2/13, 6/32, 5/21, 9/32, 8/89, 7/30, 4/55.

 P8: 2/31, 10/86, 1/46, 5/74, 4/32, 6/88, 8/19, 9/48, 7/36, 3/79.

 P9: 10/76, 1/69, 3/76, 5/51, 2/85, 9/11, 6/40, 7/89, 4/26, 8/74.

 P10: 1/85, 10/13, 2/61, 6/7, 8/64, 9/76, 5/47, 3/52, 4/90, 7/45.

----------------------

For understanding how to read this notation, see my previous problem.

Best Regards,

George

V
Vladimir Liberzon 👤 Member for 25 years 4 months

George,

we do not make our optimization algorithms public. It is rather complex iterative heuristics. We did not compare Spider schedules with Preactor's. This information we got from our customers in Brazil.

I tried backward scheduling but the result was not improved. It is possible to try options applying user defined priorities but it is time consuming and hard when the schedules consist of many thousands activities. We tried to make the default schedule as close to optimal as possible with very limited number of iterations. Resource scheduling shall be very fast to provide good schedules at the start of each shift and the schedules where Spider is used are usually large.

Best Regards,

Vladimir

M
Mike Testro 👤 Member for 20 years 5 months

Hi George

I would love to help but I am heavily involved in an arbitration.

You can download a 30 day trial version of Asta PowerProject v 11.04 at

www.astadev.com

Best regards

Mike T.

 

G
George Mejtsky 👤 Member for 15 years

Vladimir,

Thanks for your information about activity duration in project scheduling. I am still learning and learning. Raf selected Optimization Plus method on the Resource Constrained Scheduling Options form. How does the method optimize the schedule? Raf mentioned that perhaps the method searches some prioritization rules under several layers (iterative heuristics?). By the way, why Spider schedules are much shorter than Preactor schedules?

Rafael,

Can you run my problem (6x6) again and this time with Backward Direction (instead of Forward) set on the Resource Constrained Scheduling Options form? You might find a shorter schedule with 55 minutes total duration, I hope.

It would be very useful if somebody would solve Vladimir and my problems by other project management software, like Mike with Asta. So we could compare them by quality of resource allocating.

Best Regards,

George

V
Vladimir Liberzon 👤 Member for 25 years 4 months

Rafael,

thank you for your help.

George,

usually initial information for such projects is not activity durations, but volumes (quantities) of work to be done on activities and productivities of assigned resources. Activity duration is calculated as the ratio of volume of work and total productivity of all assigned resources.

You can also assign skills necessary for doing the job. If resources that have necessary skill are known Spider will select resources to be assigned basing on default or user defined priorities and resource availabilities. In this case activity durations are not known before scheduling because different resources have different productivities and durations are calculated in the process of project scheduling when assignments are selected.

Best Regards,

Vladimir

R
Rafael Davila 👤 Member for 22 years 3 months

George,

It takes fractions of a second, perhaps faster than the time it takes your sight to follow the cursor. The software is designed to work with thousands of activities per job and a few jobs opened at the same time.

Look at the following video screen capture.

http://www.youtube.com/watch?v=HRTlsExVCGo

It was done selecting the Optimization algorithm, is 100% automatic. The others not necessarily will provide you with a shorter schedule, no matter which prioritization rules you use. The bigger the schedule the more you will notice the difference between Spider and the rest.

At times it is better to use the other methods as to have some control, especially when using "Apply activity prioritieas" and "Apply phase priorities" in addition to other selected on the Priority selection box. Then when in trouble go to full optimization, here the Priority selection box will be dimmed and the software will look for full optimization without regard to a pre-defined priority, perhaps in Optimization modes it searches some prioritization rules under several layers, if this makes sense.

The following screen will show you the resource leveling options screen.

Photobucket

You can download the Spider File for your use with the demo so you can explore it yourself and find out if there is any error.

http://www.mediafire.com/?a1iw802b74gema2

If you do not work multiple jobs linked together or sharing resources, each job thousands of activities Vladimir might help you select the best option for your needs, it is a scalable product.

Best regards,

Rafael

G
George Mejtsky 👤 Member for 15 years

Rafael,

Wonderful! Congratulations! It is a very good schedule. It looks like the gold medal will go to the Spider team. If the Asta PowerProject team, or another team, does not find a shorter schedule, gold will go to Rafael for the Spider team.

Rafael, did you produce the great schedule out of the box (without applying user defined priorities)? How long was the calculation time?  

Anyway, I must thank you for your time and effort.

Cheers,

George

G
George Mejtsky 👤 Member for 15 years

Hi Vladimir,

Thank you for your detailed response and your time with the problem (4 projects and 3 resources). Why Spider schedules are much shorter than Preactor schedules? I am trying to find software which is better than others, producing shorter schedules than competitors can produce. I do not care about optimal schedules, I only care about just better schedules than others can produce. How do iterative heuristics of Spider find a good solution in this problem of yours?

Mike, thanks for participation in this discussion. Is your schedule shorter than 51 minutes?

Vladimir, can you try another problem with 6 projects and 6 resources? No tool change time (set-up time) is included, and each resource has capacity 1 (quantity 1).  To describe the problem, I will use a short notation: resource number/duration. For example, 2/1 means the operation needs resource number 2 for 1 minute.

 --------

Problem (6 projects, 6 resources):

P1: 2/1,  6/3,  1/6,  3/7,  5/3,  4/6.

 P2: 1/8,  2/5,  4/10,  5/10,  6/10,  3/4.

 P3: 2/5,  3/4,  5/8,  6/9,  1/1,  4/7.

 P4: 1/5,  6/5,  2/5,  3/3,  4/8,  5/9.

 P5: 2/9,  1/3,  4/5,  5/4,  6/3,  3/1.

 P6: 1/3,  3/3,  5/9,  6/10,  4/4,  2/1.

---------

Read the first line like this: Project P1: the first operation needs resource R2 for 1 minute, the second operation needs resource R6 for 3 minutes, then operation 3 needs resource R1 for 6 minutes, etc. Notice that each project uses each resource but in a different sequence. In the Vladimir problem, all 4 projects have the same sequence of resources (R1, R2, R3).

Mike, can Asta PowerProject find a shorter schedule than Spider Project?

It sounds like the Olympic Games in Project Management software.

Cheers,

George

[email protected]

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