How should I make this algorithm / What algorithms are avaiable for scheduling tasks

As part of a school assessment task, I am required to create a solution which incorporates a complex algorithm.

I have an idea for the algorithm and it goes as followed; A complex algorithm which takes tasks that are required to be completed for the week, and slots them into time slots for the week, considering their critical status, when it is due, duration of the tasks etc. It should also have an alarm system, reminders and also a progress tracker.

So I want to know how I could make an algorithm which decides where to slot tasks to be completed at a certain time.

Would be appreciated if you could help.

Thanks

Assign resources that each have a certain amount of work they can provide to tasks that require a certain amount of work

I’m attempting to do a hobby automation project and have come to a roadblock. I have a certain problem I need to solve, but can’t think of the solution nor what the name for the problem would be.

Say we have n tasks where each task requires $ x_i$ amount of work to be done and m resources where each resource can provide $ y_j$ work. The total amount of work required will equal the the total amount of work the resources can provide, i.e. $ \sum_{i=1}^{n} y_i = \sum_{j=1}^{m}x_j$ . For all j from 1 to m, $ y_j \in \left \{1, 2, 6, 12, 24\right \}$ and each $ x_i = a*1 +b *2 + c*6+d*12+e*24$ . I was looking at task assignment problems, but those seemed to be a bit overkill since they were concerned with optimization where I’m just simply trying to slot the correct blocks in the right place so that I don’t have tasks that are given too few or too many resources.

My current guess is that you can iterate over each task, and give it the largest resource available that doesn’t go over the amount of work that is left for the task to be completed. It’s almost analagous to filling a jar with different sized rocks; the best way is to start with the largest rocks and then go down in size from there, so that the smaller rocks fill in the space between the larger ones. Am I not taking something into consideration that complicates this problem further? I’m sorry if this is an obvious one, but I’m a hobbyist programmer and couldn’t think of the name of the problem or of a good set of keywords to google. The closest I could find is task assignment so far.

NPC Defense Tasks

So I’ve recently run across an inconsistancy that I am trying to reconcile with the rules. There is a wide variety of modifications for creatures for defense, including but not limited to:

  • Defends as Level X (Due to size and speed among other reasons)
  • Speed Defense as Level X (Due to size and speed, among other reasons)
  • Might Defense as Level X
  • Intellect Defense as Level X
  • Mental Defense as Level X
  • Defense against Fire as Level X

Descriptions of various defense actions are under the Action: Defend heading, which specifically states that these rules are for PCs, as NPCs are treated differently.

My main question is when a player chooses a might as the pool for a melee action, is that a might defense action for the NPC? Or do the PC rules for defense work for NPCs the same way? Is Speed defense as level X essentially saying physical attacks? Why the inconsistency between Intellect defense and mental defense?

This leads to some very interesting questions, like why does a Caffa adult have the modification: In tight spaces, defends as level 3 due to their ability to maneuver and dodge in unexpected ways.

Why does it get a blanket Defense boost instead of just a speed defense boost?

If a might based glaive is indeed making might attacks, then for large high level monsters that player is at a great disadvantage. for example RUMBLING DASIPELT level 7, but speed defence as level 3! That’s essentially a 4 level easment for speed defense tasks, and if a might based glaive is making might defense attacks then they are really losing out.

algorithm for scheduling tasks based on constraints and feedback loop if possible

I have a list of recurring tasks (1k+ tasks) and I am trying to find a optimal scheduling given a shared constrained resource.

In other respects the tasks are independent of each other

Each task is configured to run recurrently at a given interval (i.e “cron” job). For instance a particular task could have been configured to run at 10 minute intervals while another task could be configured at 20 minutes etc.

The duration of tasks varies (disregarding the shared resource)

Tasks have priorities (importance).

The task interval is in respects to the completion time of the previous run.

Task interval is “soft” and can be offset to accommodate for higher priority jobs.

I can estimate based on historical evidence how many “shares” of the shared resource each task requires

+-----------+-------------+----------+--------------------+-------------------------+ | Task name |  Interval   | Priority | Estimated duration | Estimated resource      | +-----------+-------------+----------+--------------------+-------------------------+ | task1     | 30 minutes  |        1 | 10 minutes         | 10                      | | task2     | 10 minutes  |        3 | 25 minutes         | 90                      | | task3     | 60 minutes  |        4 | 5 minutes          | 25                      | | ...       |             |          |                    |                         | | task 1000 | 180 minutes |        2 | 75 minutes         | 100                     | +-----------+-------------+----------+--------------------+-------------------------+ 

conceptually the architecture should be:

                                                                              +------------+   task list                                                                   |            | +-------------+                                                               | Task x     | |             |                       +-----------+                           |            | |    Task1    |                       |           |      running  tasks------>+            +----------+      +-----------------+ |    Task2    |    choose tasks       |           |               |           |            |          |      |                 | |    Task3    +----------------------->  Scheduler+---------------+           |            |          |      |                 | |    ....     |                       |           |               |           +------------+          |      |                 | |    Task_N   |                       |           |               |               .                   +----->+                 | |             |                       |           |               |               .                          | constrained resource |             |                       +-----------+               |               Many tasks                 |                 | |             |                                                   |               .                   +------>                 | +-------------+                                                   |               .                   |      |                 |                                                                   |           +------------+          |      |                 |                                                                   |           |            |          |      |                 |                                                                   |           | Task z     |          |      +-----------------+                                                                   +----------->            +----------+                                                                               |            |                                                                               |            |                                                                               |            |                                                                               +------------+ 

Criteria based estimation of a task’s due date

Basically we have a ticket system, each day we get multiple tickets with different categorization (Question,Change,Error) and importance (High,Mid,Low) for different customers (A,B,C). My job is to create some kind of a system determining the due date of these “tasks” based on

  • The state of the previous ones, completed or not.
  • The availability of the developers.
  • A criteria of the previously mentioned attributes (categorization,importance and customer type).

How can one achieve that?

Powershell script to get workflow tasks for each list item

I have a lot of number of webs (sub-sites) within a site collection that have lists that have list items with Approval workflows running on them.

How would I get all tasks for each list item in powershell? I see that the “tasks” list has the ‘Related Content’ column which has the title of the list item. How to I do a union between the two lists (the task list and the item list) in powershell?

Thanks for your help!

Powershell script to get workflow tasks for each list item

I have a lot of number of webs (sub-sites) within a site collection that have lists that have list items with Approval workflows running on them.

How would I get all tasks for each list item in powershell? I see that the “tasks” list has the ‘Related Content’ column which has the title of the list item. How to I do a union between the two lists (the task list and the item list) in powershell?

Thanks for your help!

SharePoint workflow tasks list migration to SharePoint online

In our SharePoint 2013 on-premise environment, we have Approval workflows. Using SSRS reports, we display a report, who approved those tasks in a Grid view.

Now we are migrating our complete on-premise environment to SharePoint online, and two things i understood.

1) SharePoint online doesnt have SSRS reports. 2) When migrating content, Workflow history list, being a hidden list, will not be migrated.

I am hoping if there is any way at least to migrate the complete approval task list to SharePoint online list, we can use it a source to build reports from another system list power bi or tableau or is there any better solution?

This is only for existing data for reference purpose, no new records will be added to the workflow task list.

SharePoint workflow tasks list migration to SharePoint online

In our SharePoint 2013 on-premise environment, we have Approval workflows. Using SSRS reports, we display a report, who approved those tasks in a Grid view.

Now we are migrating our complete on-premise environment to SharePoint online, and two things i understood.

1) SharePoint online doesnt have SSRS reports. 2) When migrating content, Workflow history list, being a hidden list, will not be migrated.

I am hoping if there is any way at least to migrate the complete approval task list to SharePoint online list, we can use it a source to build reports from another system list power bi or tableau or is there any better solution?

This is only for existing data for reference purpose, no new records will be added to the workflow task list.