FET Forum

FET Support (English) => General Stuff => Topic started by: daveverdo on March 23, 2018, 05:51:05 PM

Title: Number of permutations attempted
Post by: daveverdo on March 23, 2018, 05:51:05 PM
Hi All,

I couldn't find in the documentation if there is a way to see how many iterations or permutations were actually attempted before a solution was found.  It could be right in front of me and I don't see it so please excuse me if is should be obvious.

David
Title: Re: Number of permutations attempted
Post by: Volker Dirr on March 23, 2018, 06:03:27 PM
it isn't visible. only the current search time. i am not sure if such a number is useful, since it will be very high.
Title: Re: Number of permutations attempted
Post by: Liviu Lalescu on March 23, 2018, 06:15:04 PM
Hello, David,

Absolutely no problem if you ask an already asked question! There are many such duplicate questions, because it is difficult to find the correct answer in this big forum.

Actually, I think this problem was not asked until now.

There is no implementation of a counting of the number of iterations of the algorithm, because I did not think of it as relevant. FET uses partial placing of the activities, in order; after the first say 100 activities were placed, it will only permute these 100+1 (the next one) activities. And it will not permute all of them, but rather some chains of conflicting activities.

If needed, we could add, maybe in a custom version, some kinds of counting.

Maybe a counting could be add at the beginning of the function Generate::randomSwap in generate.cpp (currently at line 3496, in FET-5.35.5).

There is a counting implemented, but in another manner. See the variable ncallsrandomswap in generate.cpp, and limitcallsrandomswap. This is a floor to the number of times FET will try to place a new activity at level 0, recursively. But ncallsrandomswap can be less, if the chain replacement is successful or if the branching is very low.

You need to add these numbers (ncallsrandomswap) continuously when the generation starts until the end.

When ncallsrandomswap reaches limitcallsrandomswap, the recursion is stopped, the activity is placed at level 0, displacing one or more already placed activities, and these will be placed starting from level 0.
Title: Re: Number of permutations attempted
Post by: daveverdo on March 24, 2018, 06:06:23 AM
It isn't a big deal.  I was just curious. 

My administration wants to change our scheduling format for next year and are afraid that a complex schedule will be hard to implement.

I have been running models using this year's enrollment numbers and I thought I could go back to the administration and say something like "this program is trying over xxxx permutations in yyy minutes compared to you sitting there with chalk and a blackboard for 2 weeks and still not getting an solution"

Thanks for your response.
Title: Re: Number of permutations attempted
Post by: Liviu Lalescu on March 24, 2018, 06:22:13 AM
Oh, I see :)

I wish you success and we are waiting for possible further questions.

Let us know if you are successful using FET.