I am new to C++. I learned the language on my own by reading tutorials online and on this site. I have created a program but with limited knowledge I am finding it difficult to improve what the software does. Allow me to explain.
I work in a manufacturing environment where there are a certain number of jobs and an equal amount of workers to fill in those jobs. The issue is that not all workers know all of the jobs. If all the workers knew the jobs, it would be easy to rotate them through all of the jobs. We have 30 jobs and 30 workers. The goal is to try to provide them a fair job rotation so they will see all 30 jobs basically the same amount of times, and they should be rotated in such a way that they should not see the same jobs most of the time, and some very little off.
Basically my software places you on a job that you know, and it keeps track of how many times you've done that particular job. It takes a look at the amount of times you've done that job and all of your other jobs, and it sorts them out. So when it tries to place you on a job it will try to place you on the job you've seen the least of. If someone else was already placed on it, it will try to place you on the 2nd least, and so forth.
The issue I'm experiencing is that since not all workers know all of the jobs, some only know 5, others only know 10, and a few know them all, but the issue is that some people see a handful of jobs, and very little of others despite the fact that it tries to balance it out.
I've also tried to change up who gets to be placed on the rob list first. The software alters the order in which the workers get placed on the job list, but still it does not offer a good job rotation.
Does anyone have any ideas on how I can improve the software? I would put the source code up but its 5000 lines long. If anyone is able to offer any input, ideas, suggestions I'm all ears. Again, I'm a total newb so my coding is very basic, but it works. If anyone wants to see the source, let me know. Thank you.
Oh and this is not an assignment, and I'm not gaining anything from the use of the program I made. I created it to provide a fair and equal job rotation at work to improve ergonomics, and prevent repetitive strain injuries. Thank you.
It sounds like this is a worker training problem. For the workers who only know how to do a small number of jobs, you will need to train them how to do other ones. Once most of your workers know how to do most of the jobs, I believe your program will distribute the jobs more evenly.