I’ve setup an application where users can perform edits to existing schedules via the Dynamic Scheduling application.
https://www.palantir.com/docs/foundry/dynamic-scheduling/scheduling-overview/
However, I would like to automatize part of this work, or even all of it.
How can I provide suggestions of better schedules ? Can I provide an optimal schedule from there ? What are the strategies to apply ? Is there something I can use in the tooling available ?
Hi @VincentF !
Sorry for the late reply.
High-level, automatically assigning your schedule would require some “rule set” (i.e. an algorithm or an optimization model) to determine what is the best place to assign x and at what time. You would pass your “things” to assign into this “rule set”, and have the rule set edit the “things” with their assigned time/place.
Generally, this could be:
- An algorithm - greedy or a simple if/else. You could have this algorithm be defined in Typescript functions and call it in Workshop via an Action. Or, you could have this algorithm be defined in a pipeline and manipulate the data that populates the object(s).
- An optimization model - this could be a linear model like OR-tools, for example. You could build this model outside (or inside Foundry…like in Foundry VS Code!) and import as a docker container to Compute Modules. The model’s endpoints can be used in Typescript functions to call your model and interact with Ontology. You can then call your model in Workshop via an Action backed by one of those functions.
What sort of scheduling are you doing? Do you mind describing what type of assignment you’d like to achieve? Is this people to shifts, for example?
Best,
Molly