I lack the math foundation to solve this problem so please help!
An engineer has 3 robot workers. He must pick 2 out of 3 robots and set up their parameters for the task below.
The task:
The Warehouse is the starting point, one robot will go to Farm A and one robot will go to Farm B to collect potato and return to the Warehouse.
Each robot has different parameters, Work Speed and Movement Speed the Engineer need to set the numbers himself and Work Cycle (robot's battery) is fixed.
- Robot 1: 75 to 80 Work Speed; 2.5 to 3 Movement Speed; 35 Work Cycles
- Robot 2: 85 to 100 Work Speed; 3 to 3.5 Movement Speed; 23 Work Cycles
- Robot 3: 115 to 120 Work Speed; 5 to 5.5 Movement Speed; 15 Work Cycles
- Farm A Work Load: 200
- Farm B Work Load: 150
Time taken to finish collect potato is calculated as such:
Work Load/robot's Work Speed = Tick(s) (Round up to the nearest whole numbers)
1 Tick = 600 seconds
E.g.:
200 Work Load/ 85 Work Speed = 2.352 = 3 Ticks = 600*3 = 1800 seconds
200 Work Load/ 120 Work Speed = 1.667 = 2 Ticks = 1200 seconds
- Warehouse to Farm A = 346 distance
- Warehouse to Farm B = 1826 distance
Total travel time is calculated as such:
Distance*2/robot's Movement Speed (in seconds)
Total amount of time taken to finish a Work Cycle = Time to collect potato + Travel time
Edit
Thanks saulspatz for pointing out my mistake.
There is 1 more parameter that I forgot to mention. Robot's battery. Each robot can only work for a fixed amount of time before it needs to recharge for 30 mins.
1 Work Cycle = Warehouse to Farm to Warehouse
How should the Engineer pick the robot and set up the parameter to reach the maximum amount of Work Cycle per day?
To expand the question further, I'm trying to come up with a general solution (like a formula/algorithm?) for this scenario and beyond. What if there are x number of farms at different distance and y number of robots with different parameters?
Thank you!
You should start by computing the time each robot will take to do each job. Your computation assumes that the robot can carry all the potatoes in one trip, so it goes to the farm, picks the potatoes, and returns. I don't think you have the work cycles restriction right, because as you define it each robot only does one work cycle and there is no need to worry about recharging the battery.
You have nothing in the problem that would make us use lower speeds than the maximum. That would probably come from some relation that working slower will allow more work to be done on one battery charge. You might choose a slower working speed to reduce the number of battery charges.
As stated, you should just compute the time taken by each robot to take care of each farm. For example, robot 1 working on farm A takes $\frac {2\cdot 346}{3}+600\cdot \lceil \frac {200}{80}\rceil=128\frac 23+1800=1928\frac 23$ seconds. Once you make a table with the times, you want to find the assignment that gets the second farm picked as quickly as possible. The faster movement of robot 3 makes it likely that you want to assign 3 to B because farm B is far away. The faster work of robot 2 will make it pick A in $1200$ seconds compared to $1800$ seconds for robot 1, which I think will overcome the faster movement of 1, but I haven't done the computation.
Once you get the correct way to incorporate the battery charging the equation for time taken will be longer, but the idea will be the same.