Validate Saudi ID is a PHP class that can be used to validate Saudi resident identifier numbers. It takes a resident identifier number and calculates a checksum to verify whether it may be a valid number. It returns either 1 (for Saudis), 2 (for non-Saudis), or FALSE (for invalid numbers).
TSPSG is intended to generate and solve "travelling salesman problem" (TSP) tasks. It uses the Branch and Bound method for solving. Its input is a number of cities and a matrix of city-to-city travel costs. The matrix can be populated with random values in a given range (which is useful for generating tasks). The result is an optimal route, its price, step-by-step matrices of solving, and a solving graph. The task can be saved in an internal binary format and opened later. The result can be printed or saved as PDF, HTML, or ODF. TSPSG may be useful for teachers to generate test tasks or just for regular users to solve TSPs. Also, it may be used as an example of using the Branch and Bound method to solve a particular task.
PHP Clarke and Wright Algorithm is a class that can solve a truck routing problem with the Clarke and Wright algorithm. It attempts to solve the problem of determining the routes by which a given number of trucks with different weight and volume capacity will be dispatching deliveries to a certain number of clients distributed geographically within certain time windows. The class takes as parameters the nodes of positions of each client, the demands of each client, a matrix of distance between nodes, and the capacity of each truck. It computes the route for each truck, as well the time and distance to drive to each customer and the volume and weight to transport.