Use a "Startup" function to gather the inputs prior to solving. Startup functions are procedure functions declared in the Options menu. Anything in the Startup function is only processed once. There is also a "Terminate" function that works only after the solution is complete but I don't think that would be useful here.
In answer to your second question, the best approach would be to write a little VB wizard that repeatedly launches the Optimizer with a new set of inputs. See Appendix E of the online user guide for details on communicating between TK and VB.
Contact
support@uts.us.com for additional help in building the VB routine if needed.