Tipo de puesto
PYTHON DEVELOPER – PROJECT / HOME OFFICE / FREELANCE
Python script for an optimization use case:
The example would be a city where there are multiple pizza restaurants from the same chain. The objective is to set up a delivery service that covers the most customers possible (goal: maximize customers covered). There are restrictions, as there are some customers that are too far that can't be served by a restaurant. Also, one set of customers (postcode) can only be assigned to one restaurant, but the restaurant can have many postcodes. There is also a minimum of customers than the restaurant can have, as if there is too few, it is not worth having the delivery service and the customers should be allocated to other store. On the other extreme, a customer cannot have too many customers as it does not have the capacity to make unlimited pizzas. Each origin has a defined capacity.
The script should build a set of combinations of (1) origin --> destination(s) across all that meet the initial requirement (distance of postcode < that pre-set maximum (e.g. 20km)) The model is a set of combinations of one origin with one or more destinations where the destination can only be allocated to one origin at the time. The model is checked against the requirement of maximum customers and if one origin exceeds the capacity, the postcode of the maximum distance is removed and re-allocated to the 2nd best origin. This is done until all the origins meet the criteria of maximum customers. The same is done for the minimum allocation and the origin(s) that do not meet the criteria are eliminated and the destinations that were previously assigned to them, are re-allocated to the remaining origins. This is done until the model meets the requirements. This model is saved as solution(0) with the number of customers and the sum of distances. As there are many possible combinations, the cycle is run n times where there are solutions(n). The best solution is the one with the max customers and min distance. Information provided for this script Distance matrix of Origin - Destination in a table of columns: origin, destination, distance Customers per destination Maximum customers per origin Minimum customers per origin
If you are interested in solving this issue please send resume here or apply.
Contract will be only for project, Freelance offer / home office
Payment will be for hour/project when finished.