Borgroom / token-prioritizer

https://roamresearch.com/#/app/capabul/page/5oxgola9b
0 stars 1 forks source link

Write parallel scheduling algorithm #4

Open danfinlay opened 3 years ago

danfinlay commented 3 years ago

At the heart of this project lies an algorithm that can propose optimal sequences of work for teams that have large collections of weighted, interdependent work of varying sizes and a finite degree of parallelization.

I've now added tests for some of the basic requirements of such a scheduler. These are not all of the requirements, but these initial tests serve as a guideline for what such an algorithm would do. Additional tests may be added by the implementer or the reviewer to ensure correctness.

The solution should be defined in proposeOrderFor.ts, which is in TypeScript and has its interface types defined already to help clarify the intentions of the function. It is possible that a solution would only change that file, and would make the tests pass (unless the tests are wrong).

I suspect there is an algorithm off the shelf that can be applied to this problem, but I'm not aware of what it is, which is why I've documented my issue like this, inviting outside contribution from people who may be better versed in algorithms.

danfinlay commented 3 years ago

Consider path-finding with Dijkstra's algorithm?