min() does not always return a single value. If you provide two output positions, then min() returns the minimum values in the first position, and returns the indices of the minimum values in the second position.
In the context of an assignment, ~ indicates that an output is expected in that position but that the output is to be thrown away.
would then mean "output the minimums to the first position and the indices of the minimums to the second position. Throw away the results in the first position because of the ~ and assign the results in the second position to the variable named "best".
In other words the code wants to know where the minimum is but does not need to know what the value of the minimum is.