use different random seed for each invocation by default

The current code uses the same default random seed for each invocation of `optimizing`, and for each invocation of `sampling`, within a given process. It makes more sense to do a different random seed on each invocation (when not explicitly passed).