Electronic Assessment / Submission for questions where each student should have a different correct answer
There is WebAssign, started at North Carolina State many years ago and now an independent company )http://webassign.com/corporate/about-us/), which provided 
versions of problems from standard textbooks in physics and other fields with random inputs so that each student would have individual numerical inputs
(I had some experience with these in the early days -- the inputs were generated from Perl scripts with input constrained to be physically reasonable).

I have not been involved with courses that used these for ten years or so, but one issue that arose then was the appearance of spreadsheets that had the algorithms for solving the problems coded into the spreadsheet, so that students could simply plug their numbers into the spreadsheet and come up with the answers.

Your question suggests that you are using more complicated problems than those in elementary science courses, but perhaps you could use scripts (using Python, Perl or whatever) to generate unique inputs for each student.