with consideration of buffers required to guarantee deadlines are not missed
by placing them in the free time that is associated with the lowest procrastination rate
observing importance levels and prioritizing necessities
grouping together tasks of similar activity to minimize context switching
grouping tasks of similar place to minimize travel
adjusting autoplans in real time as the user moves around plans manually
account for automatic breaks during longer work sessions
promote oscillation (taking frequent movement breaks rather than bulk exercise)
... we need a scoring/search algorithm that considers all the needs to be met, in what order, and then places them somewhere on the timeline, with the ability to shift already-placed items to optimize for the bigger picture.
Here are the best two problem solving libraries I've found in Elm so far:
https://github.com/the-sett/ai-search
...this one has most of the same algorithms yet includes iterative deepening - I can stop and resume the search at any time, rather than being stuck with no results till the end. Hmmm. Also some of these algos might be better...
Supports
Beam Search [https://en.wikipedia.org/wiki/Beam_search]
To figure out the best times to do things
... we need a scoring/search algorithm that considers all the needs to be met, in what order, and then places them somewhere on the timeline, with the ability to shift already-placed items to optimize for the bigger picture.
Here are the best two problem solving libraries I've found in Elm so far:
https://package.elm-lang.org/packages/davidpomerenke/elm-problem-solving/latest/ Lets you visualize the progress! In a bunch of ways. Supports Depth-first search, breadth-first search, uniform-cost search (Dijkstra's algorithm), greedy search, and best-first (A*) search. Seems ideal but
https://github.com/the-sett/ai-search ...this one has most of the same algorithms yet includes iterative deepening - I can stop and resume the search at any time, rather than being stuck with no results till the end. Hmmm. Also some of these algos might be better... Supports Beam Search [https://en.wikipedia.org/wiki/Beam_search]
B [https://en.wikipedia.org/wiki/B]
SMA [https://en.wikipedia.org/wiki/SMA]
Fringe Search