> For the complete documentation index, see [llms.txt](https://docs.urani.trade/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.urani.trade/urani-protocol/technical-considerations/raking-the-agents-solution.md).

# Raking the Agents' Solution

## The Quality of a Solution

In the first version of the protocol, the quality `Q(s)` of an order price solution `s` can be defined by:

$$
Q(s) = f\_{\texttt{surplus}}(s) + f\_{\texttt{speed}}(s)
$$

The agent's goal is to maximize a utility function defined as:

$$
\Omega = \max \left({Q(s)}\right) - \min(f\_{\texttt{costs}}(s))
$$

At the conclusion of the auction, solutions are ranked in descending order, and the agent with the highest score (*i.e.,* the largest utility function) wins the round.

{% hint style="info" %}
In future versions of the protocol, the quality of a solution will include more features.

Based on this function, the agent's reward will then be computed as a [**multidimensional agent reward**](/urani-protocol/technical-considerations/multidimensional-market.md).

Additionally, each solution's score will contribute to the agent's overall reputation score in the [**Arena**](/urani-arena/urani-arena-overview.md).
{% endhint %}
