Answers.Body: <p>It sounds like you're looking at the Partition Problem. <a href="https://en.wikipedia.org/wiki/Partition_problem" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Partition_problem</a></p>
  
  <p>The task of slicing one set into N sets so that each set is equal or as close to equal as possible.</p>
  
  <p>Obtaining an exact solution is NP-hard (you can't do much better than trying all combinations), however you can get an approximate answer in polynomial time.</p>
  
  <p><strong><em>Greedy approach:</em></strong></p>
  
  <ol>
  <li>Create N sets, each initially empty</li>
  <li>Sort all items in descending order (by their complexity score)</li>
  <li>for each item add it to the set with the lowest sum</li>
  </ol>
  
  <p>If N is large, you may want to put the sets into a min heap/priority queue.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2018-02-13T21:55:23.507Z
Answers.LastActivityDate: 2018-02-13T22:36:35.810Z
Answers.LastEditDate: 2018-02-13T22:36:35.810Z
Answers.UserDisplayName: thayne
Body: <p>In working with a social services agency that provides a continuum of programs across the behavioral health and child welfare spectrum the need to adequately manage individual worker and total program caseloads has become increasingly difficult due to burgeoning demand.</p>
  
  <p>Each program has already developed a profile for ranking the complexity of a client based a select number of factors (i.e. diagnosis, previous encounters, results of assessment instruments, etc.). </p>
  
  <p>What we are trying to develop now is an approach to act as a load balancer for new cases to ensure that individual workers' caseloads are balanced with the complexity of cases. We can do this manually to some degree but if there was a way to automate and take the human bias out of it, that is the goal. </p>
  
  <p>Are there are any algorithms or adaptable approaches that have been used to do such a task (even in other sectors)? </p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-08-29T23:01:42.270Z
Comments.Text: I think this is a very good, high-level question on approaches.  (Hopefully it will garner an answer that can point you in the right direction for deep exploration on one of the related AI stacks, such as Data Science.)  Welcome to AI!
Comments.UserDisplayName: DukeZhou
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2018-02-14T13:50:57.713Z
Comments.Text: Just to clarify, you are asking for an algorithm that takes in a new case, estimates it’s caseload on the average worker, and assigns it to a worker such that no one is over burdened? Is caseload measured in difficulty or in estimates time to complete?
Comments.UserDisplayName: Jaden Travnik
Tags: <algorithm><problem-solving><efficiency>
Title: Are there any load balancing approaches for employee cases based on complexity score?
UserDisplayName: patrick
ThreadText: # Are there any load balancing approaches for employee cases based on complexity score?
  
  (Asked by: username_0 on 2017-08-29)
  
  In working with a social services agency that provides a continuum of programs across the behavioral health and child welfare spectrum the need to adequately manage individual worker and total program caseloads has become increasingly difficult due to burgeoning demand.
  
  Each program has already developed a profile for ranking the complexity of a client based a select number of factors (i.e. diagnosis, previous encounters, results of assessment instruments, etc.).
  
  What we are trying to develop now is an approach to act as a load balancer for new cases to ensure that individual workers' caseloads are balanced with the complexity of cases. We can do this manually to some degree but if there was a way to automate and take the human bias out of it, that is the goal.
  
  Are there are any algorithms or adaptable approaches that have been used to do such a task (even in other sectors)?
  
  **Tags:** algorithm, problem-solving, efficiency
  
  > **Comments:**
  > **username_1**: I think this is a very good, high-level question on approaches.  (Hopefully it will garner an answer that can point you in the right direction for deep exploration on one of the related AI stacks, such as Data Science.)  Welcome to AI!  
  > **username_2**: Just to clarify, you are asking for an algorithm that takes in a new case, estimates it’s caseload on the average worker, and assigns it to a worker such that no one is over burdened? Is caseload measured in difficulty or in estimates time to complete?  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2018-02-13. Score: 1
  
  It sounds like you're looking at the Partition Problem. <https://en.wikipedia.org/wiki/Partition_problem>
  
  The task of slicing one set into N sets so that each set is equal or as close to equal as possible.
  
  Obtaining an exact solution is NP-hard (you can't do much better than trying all combinations), however you can get an approximate answer in polynomial time.
  
  ***Greedy approach:***
  
  1. Create N sets, each initially empty
  2. Sort all items in descending order (by their complexity score)
  3. for each item add it to the set with the lowest sum
  
  If N is large, you may want to put the sets into a min heap/priority queue.
  
  
  ---
  
  