Task: Solving Orienteering Problem (OP) via stochastic solution sampling following "heuristics". OP is an optimization problem where the goal is to find the most rewarding route, starting from a depot, visiting a subset of nodes with associated prizes, and returning to the depot within a specified travel distance.

I have 2 functions for this task.
The first function and the corresponding code are:
<function description>: {alg_desc1}
<Code>: {alg_code1}
The second function and the corresponding code are:
<function description>: {alg_desc2}
<Code>: {alg_code2}

Please help me create a new function that is motivated by the given functions. Please provide a brief description of the new function and its corresponding code. The code function must be named 'heuristics'. Suppose `n` represents the number of nodes in the problem, with the depot being the first node. The `heuristics` function takes as input a `prize` array of shape (n,), a `distance` matrix of shape (n,n), and a `max_len` float which is the constraint to total travel distance, and it returns `heuristics` of shape (n, n), where `heuristics[i][j]` indicates the promise of including the edge from node #i to node #j in the solution. The function should NOT involve actually visiting each node.

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.