Closed 130s closed 7 months ago
I'm seeing issues: (moved to OP)
Now one issue is resolved in https://github.com/kinu-garage/nton_matching/issues/6#issuecomment-1938855631 then got a new one.
[ ] Some, not all, persons that just got assigned in a previous round of an iteration for a date get emptied.
- [ ] Some, not all, persons that just got assigned in a previous round of an iteration for a date get emptied.
This was caused by a temporary debug code, which is removed now so no issue.
- [ ] All 4 days the same persons are assigned.
Every person is put into free_workers
stack and no one in the other stacks is absolutely wrong. There must be a bug.
INFO:n_to_n_matching.matcher:151 free_workers [guardian-name1, guardian-name2, guardian-name3, guardian-name4, guardian-name5, guardian-name6, guardian-name7, guardian-name8, guardian-name9, guardian-name10]
fullybookd_workers []
overlybooked_workers []
[ ] Error in the custom branch of the upstream matching
module. TypeError: cannot convert dictionary update sequence element #0 to a sequence
[ ] Overbook number keeps soaring beyond the limit of overbook threshold.
[ ] Among persons with the same role, the diff of #assigned dated should be 1 at most (where the largest #assigned dates must be withing the #overbook threshhold). But I see the diff to be 2.
[ ] mvp-9: Same person assigned on the same day.
[ ] mvp-10: Interval is falsely taken as #day, not #week
[ ] mvp-11: Unassigned roles although there's a room for many ppl to be assigned to that role more.
Get the tool working for just one input.
CoS
[x] Some, not all, persons that just got assigned in a previous round of an iteration for a date get emptied.
Example. You see leaders in 04-01 got assigned then later emptied. In fact looks like it happens even before the date iteration moves to the next date.
``` INFO:n_to_n_matching.matcher:Debug: 116 Memory addr of date.assignees_leader: 139920641240384: Date=2024-04-01 assignees stored. Leader: [guardian-name1], Committee: [guardian-name2, guardian-name3], Non-commitee: [guardian-name6, guardian-name7, guardian-name8] INFO:n_to_n_matching.matcher:Debug: 116 Memory addr of date.assignees_leader: 139920641240384: Date=2024-04-08 assignees stored. Leader: [], Committee: [], Non-commitee: [] INFO:n_to_n_matching.matcher:Debug: 116 Memory addr of date.assignees_leader: 139920641240384: Date=2024-04-15 assignees stored. Leader: [], Committee: [], Non-commitee: [] INFO:n_to_n_matching.matcher:Debug: 116 Memory addr of date.assignees_leader: 139920641240384: Date=2024-04-22 assignees stored. Leader: [], Committee: [], Non-commitee: [] INFO:n_to_n_matching.matcher:AFTER assigning a day: Date=2024-04-01 assignees stored. Leader: [], Committee: [guardian-name2, guardian-name3], Non-commitee: [guardian-name6, guardian-name7, guardian-name8] INFO:n_to_n_matching.matcher:AFTER assigning a day: All dates_need_attention=[free_workers
stack and no one in the other stacks is absolutely wrong. There must be a bug.max_occurence
is ignored. In the cases above, it's 2 for all three roles but number goes up to 4.[x] Error in the custom branch of the upstream
matching
module.TypeError: cannot convert dictionary update sequence element #0 to a sequence
log
``` INFO:n_to_n_matching.matcher: Date=2024-04-01 assignees stored. Leader: [guardian-name1], Committee: [guardian-name2, guardian-name3], Non-commitee: [guardian-name6, guardian-name7, guardian-name8] INFO:n_to_n_matching.matcher: Date=2024-04-08 assignees stored. Leader: [guardian-name1], Committee: [guardian-name2, guardian-name3, guardian-name5], Non-commitee: [guardian-name6, guardian-name7, guardian-name8, guardian-name9] INFO:n_to_n_matching.matcher: Date=2024-04-15 assignees stored. Leader: [guardian-name4], Committee: [guardian-name2, guardian-name3], Non-commitee: [guardian-name9, guardian-name10, guardian-name6] INFO:n_to_n_matching.matcher: Date=2024-04-22 assignees stored. Leader: [guardian-name4], Committee: [guardian-name5, guardian-name2], Non-commitee: [guardian-name10, guardian-name7, guardian-name8] INFO:n_to_n_matching.matcher:AFTER assigning a day: Date=2024-04-22 assignees stored. Leader: [guardian-name4], Committee: [guardian-name5, guardian-name2], Non-commitee: [guardian-name10, guardian-name7, guardian-name8] INFO:n_to_n_matching.matcher:AFTER assigning a day: All dates_need_attention=[[x] mvp-6. Overbook number keeps soaring beyond the limit of overbook threshold.
Log
``` 2024-04-01 Leader: [guardian-name1] Commitee assignee: [guardian-name2, guardian-name3] General assignee: [guardian-name6, guardian-name7, guardian-name8] 2024-04-08 Leader: [guardian-name1] Commitee assignee: [guardian-name2, guardian-name3, guardian-name5] General assignee: [guardian-name6, guardian-name7, guardian-name8, guardian-name9] 2024-04-15 Leader: [guardian-name1] Commitee assignee: [guardian-name2, guardian-name3] General assignee: [guardian-name6, guardian-name7, guardian-name8] 2024-04-22 Leader: [guardian-name1] Commitee assignee: [guardian-name2, guardian-name3] General assignee: [guardian-name6, guardian-name7, guardian-name8] 2024-04-29 Leader: [guardian-name4] Commitee assignee: [guardian-name2, guardian-name3] General assignee: [guardian-name6, guardian-name7, guardian-name8] 2024-05-06 Leader: [guardian-name4] Commitee assignee: [guardian-name5, guardian-name2] General assignee: [guardian-name9, guardian-name10, guardian-name6] 2024-05-13 Leader: [guardian-name4] Commitee assignee: [guardian-name5, guardian-name3] General assignee: [guardian-name9, guardian-name10, guardian-name7] 2024-05-20 Leader: [guardian-name4] Commitee assignee: [guardian-name5] General assignee: [guardian-name9, guardian-name10, guardian-name8] ```[x] mvp-7. Among persons with the same role, the diff of #assigned dated should be 1 at most (where the largest #assigned dates must be withing the #overbook threshhold). But I see the diff to be 2.
See ppl with role 2 in the following result.
*****************Result***************** Max allowance: {[ ] mvp-9: Same person assigned on the same day. --> Cont'd https://github.com/kinu-garage/nton_matching/issues/8
log
``` *****************Result***************** Max allowance: {[x] mvp-10: Interval is falsely taken as #day, not #week
log
``` WARNING:n_to_n_matching.match_game:Overbooking is triggered.:=^20 WARNING:n_to_n_matching.match_game:person.last_assigned_date=datetime.date(2024, 4, 1), date_wd.date=datetime.date(2024, 5, 20), req_space_days=5, days_interval=49 WARNING:n_to_n_matching.match_game:Can't assign this person (ID=3) on 2024-05-20 as there must be 5 days since the last assignment i.e. 2024-04-01. WARNING:n_to_n_matching.match_game:person.last_assigned_date=datetime.date(2024, 4, 15), date_wd.date=datetime.date(2024, 5, 20), req_space_days=4, days_interval=35 WARNING:n_to_n_matching.match_game:Can't assign this person (ID=1) on 2024-05-20 as there must be 4 days since the last assignment i.e. 2024-04-15. WARNING:n_to_n_matching.match_game:person.last_assigned_date=datetime.date(2024, 4, 22), date_wd.date=datetime.date(2024, 5, 20), req_space_days=5, days_interval=28 WARNING:n_to_n_matching.match_game:Can't assign this person (ID=3) on 2024-05-20 as there must be 5 days since the last assignment i.e. 2024-04-22. ```[ ] mvp-11: Unassigned roles although there's a room for many ppl to be assigned to that role more. --> Cont'd https://github.com/kinu-garage/nton_matching/issues/9
log
``` P-ID 5, role: 2, #assigned date: 2 P-ID 6, role: 3, #assigned date: 2 P-ID 7, role: 3, #assigned date: 1 P-ID 8, role: 3, #assigned date: 1 P-ID 9, role: 3, #assigned date: 1 P-ID 10, role: 3, #assigned date: 1 P-ID 11, role: 1, #assigned date: 2 P-ID 12, role: 3, #assigned date: 2 P-ID 13, role: 2, #assigned date: 1 P-ID 14, role: 3, #assigned date: 1 P-ID 15, role: 3, #assigned date: 1 P-ID 16, role: 1, #assigned date: 2 P-ID 17, role: 3, #assigned date: 1 P-ID 18, role: 2, #assigned date: 2 P-ID 19, role: 3, #assigned date: 2 P-ID 20, role: 3, #assigned date: 2 P-ID 21, role: 3, #assigned date: 1 P-ID 22, role: 3, #assigned date: 1 P-ID 23, role: 2, #assigned date: 1 P-ID 24, role: 3, #assigned date: 1 P-ID 25, role: 3, #assigned date: 1 P-ID 26, role: 3, #assigned date: 1 P-ID 27, role: 3, #assigned date: 2 P-ID 28, role: 2, #assigned date: 2 P-ID 29, role: 3, #assigned date: 1 P-ID 30, role: 3, #assigned date: 1 P-ID 31, role: 2, #assigned date: 2 P-ID 32, role: 3, #assigned date: 1 P-ID 33, role: 2, #assigned date: 2 P-ID 34, role: 3, #assigned date: 1 P-ID 35, role: 3, #assigned date: 1 2024-04-01 Leader: [guardian-name11] Commitee assignee: [guardian-name13, guardian-name23] General assignee: [guardian-name10, guardian-name15, guardian-name25] 2024-04-08 Leader: [guardian-name11] Commitee assignee: [guardian-name3, guardian-name5, guardian-name2] General assignee: [guardian-name34, guardian-name30, guardian-name24, guardian-name26] 2024-04-15 Leader: [guardian-name4] Commitee assignee: [guardian-name31, guardian-name28] General assignee: [guardian-name32, guardian-name9, guardian-name35] 2024-04-22 Leader: [guardian-name4] Commitee assignee: [guardian-name18, guardian-name33] General assignee: [guardian-name6, guardian-name19, guardian-name12] 2024-04-29 Leader: [guardian-name16] Commitee assignee: [guardian-name2, guardian-name33] General assignee: [guardian-name22, guardian-name20, guardian-name27] 2024-05-06 Leader: [guardian-name1] Commitee assignee: [guardian-name5, guardian-name18] General assignee: [guardian-name14, guardian-name7, guardian-name21] 2024-05-13 Leader: [guardian-name16] Commitee assignee: [guardian-name28, guardian-name31] General assignee: [guardian-name29, guardian-name17, guardian-name8] 2024-05-20 Leader: [guardian-name1] Commitee assignee: [] General assignee: [guardian-name6, guardian-name19, guardian-name27, guardian-name12, guardian-name20] ```