While there have been many things suggested there is one that I find a real hassle. While they may not be able to do anything about the speed that the program opens, or about the time that it takes to generate a report, they could do something about the number of time that a report must be generated.
When you are in Publish and working in a report there is no need for the report to be regenerated with every increment change of a parameter.
Example: When you are working on a report, every time you click to increase the number of generations the report regenerates so when you click to 2 it regenerates, to 3 it regenerates, etc.
Why can the program not be change so that you could adjust all of the parameters then click generate to create the report. This would significantly reduce the time it takes to create a report, as you may generate the report a couple of times instead of a dozen times with each increment in a parameter.