Closed kylenovak closed 9 years ago
(In response to Cameron's comment on the old thread) Yes, the schedules are labeled invalid in the terminal. I presume that part is fine, since the terminal should display both valid and invalid schedules. I thought that if they were invalid, they wouldn't display in the GUI, but they do.
To be detailed, it runs until it hits max tries, then says "Exporting 0 schedules." The GUI still receives a bad schedule, though the View Screen has no "Schedule
It's just weird to me that it suddenly had so much trouble making even one valid week during the entire run. I never added any constraints, just hit run. I haven't seen the algorithm do so badly the entire semester, so even if it's not something directly related to the clear button feature, it should be addressed.
Daniel, can you make a change to ensure that bad schedules are not displayed by the GUI?
When re-running, the schedule generation seems to take way longer than on the initial run. Does anybody else get that?
I do. Are you getting the invalid schedules/no valid schedules issue as well?
Actually both times I ran it I got 5 schedules that all seemed to be valid. I'll try running again
When running with one 'low' and one 'high' constraint, I got 4 valid schedules both times, both with a min fitness of 50.
I think it's re-adding the constraints each run, which doubles the time spent checking each schedule's fitness score.
I'm confused... It seemed to work when I ran it. @CameronHKIng I thought the logic to not display bad schedules has been there for a while now... What exactly do you need me to do?
The first thing is that, when no valid schedules are found by the end, the GUI does not have buttons for valid schedules (which is great), but it still displays an invalid schedule. This should not happen. This is not related to your changes, but it should be changed for clarity.
The second thing is that the constraints should not be re-added each run. In any particular run, the list of constraints should be all the mandatory constraints plus all the constraints in the constraints list (in the constraints view). This is related to your changes. Without this change, the time to find fitness scores is doubled along with the values of fitness scores.
Shouldn't the mandatory constraints by added somewhere other than the GUI anyway? Why not add them when you instantiate the scheduler object in globs?
If that fixes the problem, you are free to make that change. Make sure the user constraints are not duplicated as well.
I ran from develop, which has these changes (this pull request is actually to revert the committed changes).
The way it currently is, we generate 15 schedules, drop them, then generate 15 more. This should not happen.
Once time runs out, we drop our schedules again and create 15 more. This effectively undoes everything and starts over.
The good news is that, in the second run, it doesn't look like user constraints are getting re-added.
I think we should merge this pull (revert) request, get the changes in so starting population isn't generated so much and mandatory constraints aren't re-added, then create a new pull request for those changes.
We have the other branch merged in now; closing this request
Reverts donnell74/CSC-450-Scheduler#23