Home Assignment Python
Home Assignment Python
2. Zero Tolerance towards Plagrism. Plag Check will be done internally and any positive result will
straightaway lead to rejection of candidature.
3.Based on your assignment result, you will be called for personal interview to Gtropy office.
ASSIGNMENT
Problem statement
You have to design the selection strategy of the best Load Carrier Available at a Location to maximize a
courier company profit.
There is a courier company. It has lots of load carrier and at any given moment if there is an assignment
request for a location from a to b, the algorithm needs to find the best available Load carrier, so that the
Courier Company maximizes the profit.
Let me first explain in detail and then later after the complete problem statement, I will tell how to
maximize the profit.
There are total n Truck or Load Carrier in a city, each Truck /Load Carrier can be in any of the three
status
Load Status
1. Its in middle of road and taking assignment from a location lets say a to b.
or
2. Its waiting at location b and its completely empty and waiting for its next assignment ...
or
3. It has already reached at location b, and doing unloading... We don't know how much time its going to
take for unloading.
1. Type of Vehicle, e.g there are 5 varieties of Load Carrier e.g V1,V2,V3,V4,V5
2. Each L Load carrier per KM rate is different . e.g L1 runs at 30INR/KM, L2 runs at 20 INR/KM etc.
3. Each L Load carrier has its own monthly cycle. e.g lets say L1 cycle is (8th March to 7th April), L2 has
cycle from (15th March to 14th April) etc.
4. Each L Load carrier has its own minimum KM Guranteee run. Its the minimum cost that the courier
company has to bear for each Load Carrier irrespective of whether
e.g L1 minimum KM run is 4000 KM , which means its rate is 30 x 4000 = 120,000 INR for time period
(8th March to 7th April),
similarly L2 minimum KM run is 3800 KM and its rate should be like 20 x 3800 = 76,000 INR for (15th
March to 14th April).
After each minimum KM run , each load carrier rate increases by 20%
e.g.
i) After 4000 KM for L1 ( between time period 8th to 7th its price ) the price per KM is 36 INR per KM.
During period (8th March to 7th April) lets say by 4th April,
L1 has already run 4000 KM and now on 4th April there is an assignment request of Load where it has to
cover 600 KM which means by 7th April the L1 price ideally will be 4000 * 30 + 600 * 36 = 141,600 INR
ii) L2 (period 15th March to 14th April) , its doing unloading at a location and we dont know how much
time its going to unload , so that we can assign it the next assignment. It has run 2700KM so far Ideally if
it gets picked the price will be 76,000 . This is Low but it has still 10 days left in its cycle. Should you pick
or not ?
iii) Now if we have any other Load Carrier available on a location L5 whose minimum KM run is 3600KM,
per KM rate is 22 KM , its cycle is (6th March to 5th April), but it has run 3100 KM so far , ideally this
should be picked. why because
total KM run 3100 + 600 = 3700 KM price is 3600 * 22 = 77,000 + extra KM (100 * (22 + 20%22) ) =
81,840 and its cycle is getting ended next day, so utilize it.
The strategy is to utilize each Load Carrier to its minimum km run during its cycle