Campus Option for Universities

Started by satellite2, November 22, 2018, 01:13:33 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Liviu Lalescu

#15
I did something which seems to work. Please download from: https://lalescu.ro/liviu/fet/download/custom/satellite2/

There is a small example there, in the examples directory.

It is not perfectly optimized, but I think in practice it won't be noticeable (instead of comparing integers I compare and parse QString-s, in a small for-loop).

Please let me know.

satellite2

Quote from: Liviu Lalescu on November 22, 2018, 07:27:24 PM
I did something which seems to work. Please download from: https://lalescu.ro/liviu/fet/download/custom/satellite2/

There is a small example there, in the examples directory.

It is not perfectly optimized, but I think in practice it won't be noticeable (instead of comparing integers I compare and parse QString-s, in a small for-loop).

Please let me know.

Thank you very much Liviu, I will try it tomorrow and let you know.

satellite2

Quote from: Liviu Lalescu on November 22, 2018, 07:27:24 PM
I did something which seems to work. Please download from: https://lalescu.ro/liviu/fet/download/custom/satellite2/

There is a small example there, in the examples directory.

It is not perfectly optimized, but I think in practice it won't be noticeable (instead of comparing integers I compare and parse QString-s, in a small for-loop).

Please let me know.

I tried it several times with the sample data and it seems perfect. So I need to write the exact phrase "campus" to each building for this to work right?

Liviu Lalescu

Quote from: satellite2 on November 23, 2018, 11:04:38 AM
I tried it several times with the sample data and it seems perfect. So I need to write the exact phrase "campus" to each building for this to work right?

Yes, write "Campus", followed by something different for each campus.

I think I will modify a bit and put soon a new version (a minor thing, I made "Campus" check case insensitive, but I think it should be case sensitive).

satellite2

#19
Quote from: Liviu Lalescu on November 23, 2018, 11:45:12 AM
Quote from: satellite2 on November 23, 2018, 11:04:38 AM
I tried it several times with the sample data and it seems perfect. So I need to write the exact phrase "campus" to each building for this to work right?

Yes, write "Campus", followed by something different for each campus.

I think I will modify a bit and put soon a new version (a minor thing, I made "Campus" check case insensitive, but I think it should be case sensitive).

I see, thanks. In the sample data, I added two more activities to each campus (with respective rooms and subjects) and also applied min gaps between buildings to 1. I also lowered the hours of day to 6, so for two days there are 12 available slots for 10 activities and it works like a charm. I am really excited about what will happen with the actual data. This setting will help me a lot!

So since I am still in the planning phase, I am trying to figure out how to limit the distribution of activities to the certain campuses. So there are 3 campuses far away from each other. One of the campuses have two distinct areas (North area and South area) and there is a highway between them. A single period gap would be enough in order to pass from one area to the other area so I will treat these two areas as a single campus. However, the departments in these Northern and Southern areas mostly prefer to stay in their own areas unless there are any room problems.

Let's say that Southern area have more rooms available than Northern area and I want some of the activities in the Northern area to be held in Southern area in case of room problems in the Northern area. So normally I would apply 100% weight constraint to the Northern area buildings for Northern area activities, but this time I have to apply 99% or lower in case of room problems in the North. If I apply 99% or lower for the rooms in the Northern buildings, what should I apply for these activities for the Southern part in case of room problems? Should I apply another 100% weight for the whole rooms in the campus buildings? (every room in the North and South)


I also want to get clarified about room constraints in general. This clarification can make things easier in a campus environment. For instance, can we do something like below?

Activity1, Activity2 and Activity3 have to be held in the rooms of the buildings A, B or C with 100% and cannot be held int the rooms of the buildings D or E.

Activity1 preferably needs to be held in building A (Activity2 in building B and Activity3 in building C respectively) with 99% possibility.

* Assign 100% weight constraint to all 3 activities to be held in the rooms of the buildings A, B and C.
* Assign 0% weight constraint to all 3 activities to be held in the rooms of the buildings D, E.
* Assign 99% weight constraint to Activity1 to be held in the rooms of building A (Activity2 in building B and Activity3 in building C respectively)



Liviu Lalescu

I added the new version, with this minor thing (capitalization matters).

I will read your new post in a short time.

Liviu Lalescu

For your previous post, you are right, with a single exception: there is no need for the 0% weight constraint for the buildings D and E. And maybe you need lower weights than 99% (this can be found by trial-and-error).

And for North and South: you might want to consider the buildings in North in "Campus N", the buildings in South in "Campus S" and, if a solution cannot be found, modify both "Campus N" and "Campus S" to "Campus NS" (so you have very little work to do this).

satellite2

Quote from: Liviu Lalescu on November 23, 2018, 02:04:36 PM
For your previous post, you are right, with a single exception: there is no need for the 0% weight constraint for the buildings D and E. And maybe you need lower weights than 99% (this can be found by trial-and-error).

That's perfect.

Quote from: Liviu Lalescu on November 23, 2018, 02:04:36 PM
And for North and South: you might want to consider the buildings in North in "Campus N", the buildings in South in "Campus S" and, if a solution cannot be found, modify both "Campus N" and "Campus S" to "Campus NS" (so you have very little work to do this).

That sounds like a great idea, thanks.

satellite2

I am also planning the structure of student sets. I know that a student year normally represents students in the same year of their schooling but I want to use this for a whole department in a faculty in order to have a single timetable for the whole department in the years_days html files. I think there won't be any problems to use a structure like below?

Instead of this:

- Faculty A - Department X - Grade 1 (as Year)
----- Section A (as Group)
----- Section B (as Group)
- Faculty A - Department X - Grade 2 (as Year)
----- Section A (as Group)
----- Section B (as Group)


I want to use this:

- Faculty A - Department X (as Year)
----- Grade 1A (as Group)
----- Grade 1B (as Group)
----- Grade 2A (as Group)
----- Grade 2B (as Group)


Liviu Lalescu

Years/groups/subgroups is just a convention. The important part for FET internals is the subgroups - these must be not overlapping. Yes, I think your structure should be OK.

But do you know that you have the timetable of all activities in the HTML results?

satellite2

Quote from: Liviu Lalescu on November 23, 2018, 03:29:36 PM
But do you know that you have the timetable of all activities in the HTML results?

Yes, I think we can see all the activities in a single table but that would be very difficult for people to find their respective classes.

Liviu Lalescu

Quote from: satellite2 on November 23, 2018, 06:10:17 PM
Quote from: Liviu Lalescu on November 23, 2018, 03:29:36 PM
But do you know that you have the timetable of all activities in the HTML results?

Yes, I think we can see all the activities in a single table but that would be very difficult for people to find their respective classes.

Oh, indeed, you will have more FET years.