I need an algorithm to schedule projects based on a specific criteria.
The projects are translation jobs defined by the following data:
Reference - A Text reference whice identify de job
DoneWords - Number of words already translated
TotalWords - Total words to translate in the project
DeadLine - Project's deadline
Aside, in the application will be used the following variables configured by the user, which must be kept in mind to develop the algorithm:
WordsPerDay - The number of words the user wishes to translate (work on) each day.
MinBlock - The minimum number of words the user wants to work on (i.e. if the project has 1000 words to be delivered in 10 days, one easy solution would be to translate 100 words/day, but if the user choose a MinBlock=500, the project shall be scheduled in 2 blocks of 500 words, or any other configuration of blocks not smaller than MinBlock). Aside, if the total number of words can't be divided into entire MinBlocks, the residue shall me added to the last block (i.e. Project with 1050 words and MinBlock = 250 words -> 3 Blocks formed by 250 and a last block formed by 300 words)
The different projects must be scheduled by blocks in time units = 1 day trying to keep the WordsPerDay limit each day (and passing it if there's no other solution.
Now I need 2 different algorithms:
Algorithm A) Should schedule the projects in order to work the less amount of words per day arriving in time to the deadline and trying not to exceed the WordsPerDay limit.
Algorithm B) Should schedule the projects in order to finish the projects as soon as possible and keeping the deadline, (not exceeding the WordsPerDay Limit)
Both algorithms shall be delivered in pseudocode with enough detail (loops, conditional forms, etc)
8 freelancers are bidding on average $60 for this job
Definitely i can do it. But, i want a bit explination. Question should be a bit crystal clear. Dont use the words like 'u' etc.. Check the spelling mistakes also.