Зробіть кілька бухгалтерій про вже прийняті дзвінки та обчисліть їх розподіл по n рядках. Це дає вам n відсоткових значень (ваш уже досягнутий розподіл), які можна порівняти з п відсотками, які ви хочете досягти. Кожного разу, коли надходить новий виклик, призначте цей виклик лінії, яка має найвище відхилення від цільового значення (зауважте, що поки ви точно не потрапили на даний розподіл, завжди є лінія, на якій поки що занадто мало дзвінків, у порівнянні з цільовим розподілом).
Наприклад: після призначення першого дзвінка до рядка 1:
total calls line1 total calls line2 perc.line 1 perc. line 2
1 0 100% 0%
*above 60% *below 40% <- next call to 2
1 1 50% 50%
* below 60%: *above40% next to line1
2 1 66% 33%
*above 60% *below 40% <- next to line 2
2 2 50% 50%
* below 60%: *above40% next to line1
3 2 60% 40%
* both hit the mark: next call arbitrary
4 2 66% 33%
*above 60% *below 40% <- next to line 2
4 3 57.1% 42.85%
*below 60% *above 40% <- next to line 1
...
EDIT: Цей підхід можна вдосконалити, не використовуючи абсолютну різницю, а вибираючи лінію, яка мінімізує суму квадратів усіх відхилень. Це також дасть кращий результат, якщо ви точно досягнете цільових значень.