donnell74 / CSC-450-Scheduler

MIT License
1 stars 1 forks source link

Revert "RUN button now recreates and runs the algorithm again." #25

Closed kylenovak closed 9 years ago

kylenovak commented 9 years ago

Reverts donnell74/CSC-450-Scheduler#23

hana9235 commented 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 " buttons.

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.

CameronHKIng commented 9 years ago

Daniel, can you make a change to ensure that bad schedules are not displayed by the GUI?

prichey commented 9 years ago

When re-running, the schedule generation seems to take way longer than on the initial run. Does anybody else get that?

hana9235 commented 9 years ago

I do. Are you getting the invalid schedules/no valid schedules issue as well?

prichey commented 9 years ago

Actually both times I ran it I got 5 schedules that all seemed to be valid. I'll try running again

prichey commented 9 years ago

When running with one 'low' and one 'high' constraint, I got 4 valid schedules both times, both with a min fitness of 50.

CameronHKIng commented 9 years ago

I think it's re-adding the constraints each run, which doubles the time spent checking each schedule's fitness score.

dhebrink commented 9 years ago

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?

CameronHKIng commented 9 years ago

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.

dhebrink commented 9 years ago

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?

CameronHKIng commented 9 years ago

If that fixes the problem, you are free to make that change. Make sure the user constraints are not duplicated as well.

CameronHKIng commented 9 years ago

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. 1

Once time runs out, we drop our schedules again and create 15 more. This effectively undoes everything and starts over. 3

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.

CameronHKIng commented 9 years ago

We have the other branch merged in now; closing this request