Addition of user_data:

- If required you can setup excess data to the objective function through the context (ctx) by setting ctx->user_data = &YOUR_DATA and in the objective function YOUR_DATA_TYPE *YOUR_DATA = (YOUR_DATA_TYPE*)ctx->user_data;