In reply to DigvijayS:
Using solave a before … applies only the constraints to a first.
If you want to randomize a variable with constraints before the other variables you should do this in a task which is called prior to the body task. Reasonable tasks are pre_body or pre_do.