Open Side Menu Go to the Top

07-22-2015 , 04:57 AM
Suppose Bob has a quota for which he needs to translate x number of papers from English to Arabic on a given day. To accomplish this task, he has a pool of 250 translators to choose from. Out of this pool, he will pick 10 translators to help him (must be exactly 10), and has a $1200 budget.

He has the following information about these translators:
  • Avg. number of papers they translate per day
  • Their prices (per day), which are linear functions of their avg. # of papers/day (ex. Translator A averages 6 papers/day and charges $90, Translator B averages 9 papers/day and charges $135, etc.)
  • The distribution of each translator's historical output...e.g. Translator C and Translator D may both average 10 papers/day, but Translator C's output history is very consistent: 10, 9, 9, 11...etc. while Translator D's output looks like: 7, 6, 19, 8...etc.

Since Bob has a specific quota, he's not interested in hiring the 10 translators with the highest average output, but rather the 10 translators with the highest probability of meeting or exceeding the quota x threshold.

If I had all the aforementioned data about the translators, how would I go about solving this?

Last edited by pewpewpew; 07-22-2015 at 05:07 AM.
Optimization Problem Quote
Optimization Problem
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
Optimization Problem
07-22-2015 , 04:48 PM
Here are my first thoughts.

I assume you seek an approach that is applicable for any X. I assume you can treat the historical output data as the sample from which each translator's future output is drawn.
I assume that computing resources are limited or else you can try every possible set of 10 translators and choose the set which is feasible (within budget) and maximizes the chance of meeting the quota. I assume that the historical and future outputs of the translators are independent across translators.

Step 1: Calculate the minimum output and the minimum output per dollar for each translator. This becomes your first loading order. Choose a feasible set to start with (e.g., the 10 cheapest translators). Then step through your loading order one translator at a time and try to replace each of the 10 in the set with the new candidate translator and recalculate the minimum (guaranteed) output from the new set. Of course, you only replace one in the set so that your set always has 10 members. Make sure new set remains feasible. Continue in this manner through all remaining translators. Quit once you find a feasible set that is guaranteed to meet the quota.

If Step 1 does not find a feasible set that is guaranteed to meet the quota, go on to Step 2.

Step 2: Similar to Step 1 except now the entire distribution of possible outputs for each translator are included. Key metric is now the probability that the set of translators will meet the quota.

Depending upon computing resources, heuristic probability densities may need to be crafted for each of the translators historical output data. There are known techniques to do this. For what follows, suppose that each translator's possible future outputs can be condensed down to 10 possible output values (these values may be individual specific) with associated discrete probabilities. Then for each set, there are 10^10 possible output-tuples that need to be considered (standard tree software is available). 10^10 is well within the computing capabilities of modern computers and software.

Then proceed in a similar manner as in Step 1. Start with a feasible set of 10 translators. Calculate the probability of meeting the quota with this set. Then step through each of the remaining translators one at a time, each time replacing one of the existing set members to maximize the probability of meeting the quota while remaining feasible. I think you can keep cycling through the translators, in future "loops" I suggest loading in random orders, to try to continue to increase the probability of meeting the quota.

I hope there are some ideas here that may help.
Optimization Problem Quote
07-23-2015 , 04:33 AM
To solve this kind of problems, you need to define an objective function that gives you the "reward" you obtain depending on the performance of your chosen team. The missing information are some of the following:

- say that you choose a team worth 900$. Saved money has any value?
- what penalty you have to pay if your team translate 0 papers? And if they translate x-1 papers?

Details of the solution might depend on the above.

Now, let's suppose that saved money doesn't have value and you pay the same penalty regardless how far from the goal you went. From what you stated, the expected number of papers translated depends only on the total cost of the team. Let's call this number E[C]. Given these assumptions, you always need to arrange a team worth 1200$. Now, if your goal x is lower than E[1200], you should seek to (generally speaking) lower the variance of your team. This is achieved by choosing the most "reliable" translators. On the other hand, if x > E[1200], you select the translators with the higher variance, just to give you a chance that some of them might have an exceptional performance.

Things are different if your objective function is not so sharp and/or the money saved has value. In this case, you need to quantify your penalty exactly in each scenario.

I don't think that solving this problem is any simple. I'd give a try on the following procedure, based on the "single policy update". You are not assured to find the "optimal" solution, but maybe something close to it.

- start with a random team and then evaluate the average value of the objective function on that team (you might need a Monte Carlo simulation for doing it)
- now remove a translator with another one and re-evaluate the average of the OF. If that's higher, keep the new translator
- reiterate the previous step until you cannot enhance the average of the OF.
Optimization Problem Quote
07-23-2015 , 02:06 PM
I echo what nickthegreek says above that we need quantifiable rewards and penalties before we can "optimize".

Having said that, I would start by assigning a standard deviation to each translator from their historical output. Since they all have an equal output-per-$, we would attempt to hire the most consistent translators. This is because they have a higher "lower-bound", which will allow us to achieve our acceptable rate of failure for the least cost. Then it's a matter of mixing and matching until you find 10 translators who's combined lower-bound meets the quota at the lowest possible cost.
Optimization Problem Quote
07-23-2015 , 03:39 PM
No, as Nick says, a High quota would mean that you seek out "high variance" translators and a Low quota would mean that you seek out "low variance" translators.

And standard deviations are not useful in this case as the discrete outcome profiles are critical.
Optimization Problem Quote
07-23-2015 , 04:38 PM
Until the original problem with the 250 professionals and their averages and standard deviations (and in fact any higher moment too helps to see how the Central Limit Theorem converges eg look at https://en.wikipedia.org/wiki/Berry%...Esseen_theorem ) we cant produce a proper strategy that fits all cases.

I mean the basic approach for reasonable near normal or at least kind of bell shaped or not very wild, with majority of action at center near the average, type of distributions for the professionals is to order them according to average and according to declining standard deviation (for a given average). An even better approach is to find a more appropriate ordering metric that uses both the average and the sd.

After you do that you find the first 10 sequence that first meets your budget coming down from top. That right there is probably a great first estimate. Then you fine tune the result by trying to look for improvements. You want to improve f= (x-T)/s as defined above (eg http://forumserver.twoplustwo.com/sh...postcount=8496) if the budget is such that it buys a sum with more expected pages than the target project. (otherwise follow the reverse case in prior link and minimize the absolute value of above f)

But you realize that one can play with the data and create all kinds of wild situations or cases they are all so close that telling easily the best group 10 is hard. I mean if you have a target 95 and the avg of the group is 10 (hence 100 for all 10) and one choice (say the last member) was (9.4,3) how can you tell it its better than eg substituting it with (9.2,2). You would try to see how the SD of the sum (CLT) is impacted vs the change in average sum. Since the difference is the more important thing (from the target) one would imagine the reduction in SD is not as important and you would keep the (9.4,3) unless the other 9 had like sd near 1-1.5 each lol. You see it can get real close and there is no easy way to do it because the change in overall performance for the sum distribution is affected by all members and requires a thorough examination that changes easily from one decision to another if things are close enough.

As always i assume this is a real life problem and in real life we do not have professionals that have ridiculous distributions so to speak so you know what i mean (if one wants to be nitty the problem is unsolvable in the general case, unless one has reliable distributions for all 250 and then it becomes a brute force effort even with some intelligent selection algorithms to minimize effort). Obviously how fast the CLT converges to the normal depends on many details but in typical situations it would be already very cool at n=10 level.

Last edited by masque de Z; 07-23-2015 at 04:45 PM.
Optimization Problem Quote
07-23-2015 , 05:52 PM
Quote:
Originally Posted by whosnext
No, as Nick says, a High quota would mean that you seek out "high variance" translators and a Low quota would mean that you seek out "low variance" translators.

And standard deviations are not useful in this case as the discrete outcome profiles are critical.
When you say "high quota", do you mean a quota so high that we have difficulty finding 10 affordable translators that can consistently achieve it? As I understand it, if the cost per paper is less than $4.80 then we will reach quota >50% of the time (assuming we can exhaust our budget on translators). In this case we want low variance. If the cost is more than $4.80 then our expected output is under the quota, therefore we prefer high variance to sometimes (<50%) reach it. Is this what you were getting at?

Regarding standard deviations, can't we still calculate it and use that information to create a bell curve of discrete outcomes with their frequencies?
Optimization Problem Quote
07-23-2015 , 06:03 PM
For example a correction of the above first 10 members guess might be to find someone so good that he has the average of 2 others added up found lower. If that guy now has an SD that is smaller than the SD enhancement to the sum the other 2 provide, it makes sense to replace the other 2 with that one guy and improve the team that way and still have room for 1 more or leave it at 9 (depends how it looks below). One can even take 3 out and replace with 2 higher ones etc.

Alternatively one might simply forget about selecting 10 and select the first group that fills your budget no matter how expensive they are coming down from top. Then consider ways to improve that group by adding more members if it makes sense to do it (i assume the "find 10" is not a strict restriction, its a suggestion that can be relaxed if your objective is to maximize probability for a given budget).

You realize what i mean. If we have one at (15,2) and 2 others at (7,3) (8,3) the first guy is better choice. Why would it matter to have exactly 10? (Other issues aside like eg one not coming up that day because of sickness/accident etc lol).

If it has to be 10 we can keep fine tuning it until we have 10 again. We might go for a combo (12,2) and (3,1) that is better than (7,3) and (8,3). (same average but smaller SD contribution for first group to the sum of 10).

These examples illustrate the complexity in principle that can be discovered if the data allows it.

For most distributions of real life professionals, central limit theorem will secure the sum converges fast to near normal and you then simply demand the probability to land above the target to be as high as possible for the group you selected that defines the avg and the sd of that CLT's normal distribution. (hence the (x-T)/s maximization when your budget allows to have sum of all averages =x > T=target)
Optimization Problem Quote
Optimization Problem
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
Optimization Problem

      
m