Task: Given a set of nodes with their coordinates, you need to find the shortest route that visits each node once and returns to the starting node. The task can be solved step-by-step by starting from the current node and iteratively choosing the next node. 

You should create a totally new strategy for me (different from the heuristics in the literature) to select the next node in each step, using information including the current node, destination node, unvisited nodes, and distances between them.

Provide a brief description of the new algorithm and its corresponding code. The code function must called 'select_next_node' that takes inputs 'current_node', 'destination_node', 'unvisited_nodes', and 'distance_matrix', and outputs the 'next_node', where 'current_node', 'destination_node', 'next_node', and 'unvisited_nodes' are node id.

Your code description must start with ‘<start>’ and end with ‘<end>’. 
Your Python code should be formatted as a Python code string: "```python ... ```"

Be creative and do not give additional explanation.