What can be done to provide students with their own version (containing global variables throughout the assignment) is combine functionality of adaptive assignments with a maple respository.
In the example attached, the first 'question' of the adaptive assignment is used to trigger the transfer of the student to a branch of the assignment that he or she will remain in for the rest of the assignment. In this example, students are randomly assigned to a branch through customised adaptive policies. Within this branch the parameters are made identical by refering to a maple repository that contains all sets, but only uses one set per branch.
Another option is of course the declare each set by hand in the algorithm, but that is more work in case of multiple parameters.
Attached you find a manual to create a Maple repository and use it in MapleTA