Scenario Overview: Imagine a future scenario where humanity has established a colony on Mars. A fleet of rovers is being used for exploration, collecting crucial data about the planet's surface, resources, and potential habitability. One such rover, named Pathfinder-1, has been assigned the task of surveying a specific region for valuable resources. The rover's mission is to collect samples from designated sites while optimizing its path to conserve energy and time.
The designated sites and the distances between them in miles are given in Table 1.
Base Site1 Site2 Site3 Site4 Site5 Site6
Base - 1430 2907 735 2101 1890 1593
Site1 1430 - 5202 2060 3105 845 2825
Site2 2907 5202 - 3406 1815 5584 2081
Site3 735 2060 3406 - 1176 1730 2439
Site4 2101 3105 1815 1176 - 2736 1556
Site5 1890 845 5584 1730 2736 - 3111
Site6 1593 2825 2081 2439 1556 3111 -
Problem Statement: Pathfinder-1 needs to plan its route efficiently to visit a set of targeted locations and return to its base, all while considering the energy constraints and maximizing the collection of samples. The challenge is to devise an algorithm using deterministic dynamic programming that minimizes the total distance traveled by the rover while ensuring it visits each specified site exactly once before returning to the starting point.
Project Tasks:
1. Model Development: Formulate the problem as a travelling salesperson problem (TSP) with the specified locations as the sites to be visited by the rover.
2. Dynamic Programming Implementation: Develop a deterministic dynamic programming algorithm tailored to the problem, considering the constraints of the rover's energy and the requirement to visit each location only once.
3. Optimization Strategy: Implement strategies to optimize the rover's route further, considering factors such as minimizing energy consumption, maximizing the collection of samples, and adhering to time constraints.
4. Simulation and Analysis: Simulate the proposed algorithm and analyze the performance metrics, including the total distance covered, energy consumption, time taken, and the number of samples collected. You should use a software such as Python, Matlab, Java, and etc.