whigg / vrptw Goto Github PK
View Code? Open in Web Editor NEWThis project forked from xkrishnam/vrptw
Vehicle routing problem solution with greedy +tabu search algo Python Impl
This project forked from xkrishnam/vrptw
Vehicle routing problem solution with greedy +tabu search algo Python Impl
Files- greedy_tabu_search.py - this is source code vrptw_test.txt, vrptw_test_4_nodes.txt - This is Input file - first line contains distance matrix - second line contains early/latest service time - third line contains pickup/delivery times - fourth line will be single number = number of vehicles - fifth line will be max number of iterations for tabu search will be used in stoping criteria for tabu - Sixth line tell the mangnitude of improvement of cost for aspiration criteria Terms : - soln(solution or routes) : is as list of routes - route : is a list of customers - src : source customer - dest : destination customer Source file Functions and global variables : tabu_list : tabu list used in tabu search algo get_heuristic : function to return cost from heuristic used during greedy generate__initial_solution : function implementing greedy heuristic Dijkstra like algorithm to find initial solution to be used in tabu search is_servisable : Utility function to find if customer can be serviced with current route or not i.e. no delay get_delay : utility function to find delay which will happen by current route get_exchange_neighbour : function to get neighbours of solution using exchange operator get_relocate_neighbour : function to get neighbours of solution using relocate operator get_neighbours : function wrapping above 2 functions get_solution_cost : function to calculate cost for any solution tabu_search : function for tabu search get_distance : function to get input distance b/t src and dest get_pickup_time : function to get input pickup time at customer get_delivery_time : function to get input delivery time at customer get_earliest_service_time : function to get input earliest service time at customer get_latest_service_time : function to get input latest service time at customer get_service_start_time : function to get input delivery time at customer is_empty_route : function to check if route is empty i.e. having only start depot and end depot contains : function to check existence with filtering read_input_file : function to read input from file parse_line_to_list : helper for input reading set_input : function for setting input from file is_move_allowed : function to chk the current move against tabu_list iteration_update_tabu_list : functions used to update tabu_list per iteration Class : TabuListClass : class representing one entry in tabu list -function checked use to decrement tabu move iteration count per iteration i.e. for how many more iterations move will be considered tabu -function find is used to find if current move is tabu of not
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.