Pair Programming Logs - SeanSpires/Project1-306-Team-Stonks GitHub Wiki
File I/O
Date | Achieved | Driver/Navigator | Problems | Notes |
---|---|---|---|---|
06/08 | Set up basic file read and write Set up pseudocode for reading the node file |
Ryan/Tyger | Need to wait for algorithm implementation to figure out how to handle output | |
08/08 | Reads from node file and creates Task objects | Ryan/Tyger | Processor class deleted and is now a field in Task | |
Changed how the file is processed | Tyger/Ryan | Now splits file input into two lists, one for nodes and one for transitions | ||
10/08 | Combined file processing with the algorithm | Tyger/Josh | ||
11/08 | Added in parameters to run from command line | Mario/Tyger | Changed the input argument array into a list and checked that the list contains certain parameters Changed writeFile() to be able to have custom names if specified |
|
25/08 | Correctly error checks input parameters | Mario/Tyger |
Basic Algorithm
Date | Achieved | Driver/Navigator | Problems | Notes |
---|---|---|---|---|
06/08 | Pseudo code and basic object structure | Sean/Josh | Figuring out ways to store multiple schedules | |
08/08 | Basic implementation of topological sort | Josh/Sean | Doing the sort in an efficient manner. Using the right data structures | |
12/08 | Discussions and basic pesudo code written for A* and branch and bound algorithms | Sean/Josh |
Visualisation
Date | Achieved | Driver/Navigator | Problems | Notes |
---|---|---|---|---|
21/08 | Added binary tree implementation Set up pseudocode for reading the node file |
Mario/Tyger | Need to change binary tree to non-binary | |
Added and attempted implementation for JGraphX library | Tyger/Ryan | Doesn’t zoom or pan Errors when using swingNode()
|
||
22/08 | Changed from using tree to Gantt chart for visualisation | Ryan/Sean/Tyger | Added component files from stack overflow | |
Changed FXML to work with Gantt | Mario/Ryan | |||
23/08 | Displays a Schedule on Gantt chart Tool tips added to display task information when hovered |
Tyger/Ryan/Josh | Josh helped with the transition/connection from the back-end to the front-end | |
Gantt now updates as Schedule gets updated | Ryan/Tyger | Done as a proof of concept. Need to change where update is called once algorithm implementation is finished |
Branch-and-Bound
Date | Achieved | Driver/Navigator | Problems | Notes |
---|---|---|---|---|
23/08 | Fixed the Start Time method to accurately calculate the appropriate start times of specific tasks with considerations of previously scheduled tasks and parental dependencies | Sean/Tyger | ||
Improving algorithm efficiency by eliminating duplicate schedules | Josh/Sean | Java object memory problem | The schedules are not altered appropriately, most likely due to Java is "pass by value". | |
24/08 | Continued with advanced algorithm optimisation. And fixing the Java object passing issue | Sean/Josh | ||
Started the parallelisation of the scheduling algorithm | Sean/Josh | Algorithm is not scheduling optimally. | The issue may stem from the upper bound calculation method | |
25/08 | Performed some code refactoring and further improvements of the sequential/parallel scheduling algorithm | Sean/Tyger/Ryan | ||
Implemented a test suite to tentatively test the sequential and parallelised algorithm against the provided graphs | Ryan/Josh |
Branch-and-Bound A*
Date | Achieved | Driver/Navigator | Problems | Notes |
---|---|---|---|---|
25/08 | Implemented A* like heuristics to aid in the traversal of the search space. This included changing conditions on which nodes to explore, functions to compute heuristics and storing these in objects. Also made a slight change to paralleised algorithm to speed it up, this was mainly based on how the thread end condition. | Sean/Mario | Much faster than branch and bound as described by MM Raham, bottom level computation algo taken from Oliver's paper |