Number of permutations attempted

Started by daveverdo, March 23, 2018, 05:51:05 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

daveverdo

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

Volker Dirr

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.

Liviu Lalescu

#2
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.

daveverdo

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.

Liviu Lalescu

#4
Oh, I see :)

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

Let us know if you are successful using FET.