My interest in a solution to this problem was stimulated by my recent hiring at a company. I learned that my benefits rep handled people whose last name starts with A, B, and L. And of course, I thought, "why those letters?" And the answer is obvious: they have N benefits managers who have to deal with Z people who are binned into groups based on the initial of their last name. In order to have each benefit manager deal with as near to Z/N people, they ran some sort of optimization search to come up with the ideal assignments of letter sets to benefits managers. And hence my problem spec below. Any solution (partial or otherwise), welcome.

Problem Spec

let's say a number is associated with each letter of the alphabet, representing the number of students enrolled with that letter of the first of their last name. let's say we have a list of account managers, the number of which is less than or equal to 20. the goal of the program is to figure out the letters to assign to each account manager such that the sum of students dealt with by each manager is as close as possible to the amount dealt with by all others. example, just using 5 letters and 3 acct managers:
A - 5 B - 1 C - 2 D - 5 E - 4 acct mgr 1 => A, (5) acct mgr 2 => D,B (6) acct mgr 3 => E,C (5)

In reply to Constraint Satisfaction Problem by princepawn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.