Assuming that the user can't change the minimum and maximum values then a spinner control with the limits set to the bounds and the initial value set to the optimal value would seem to be the ideal solution.
This would only take up the space of one numeric input box:

(Image from UXMagic)
The exact design will depend on your toolkit and application. The only thing this "standard" design doesn't do is give any indication of what the limits are, which is a potential drawback. Adding the values directly to the UI takes up space (which I assume is at a premium), so assuming that's a non starter, tooltips or an information icon would be the next best solutions to displaying this information. Greying out the arrows when the limits are reached is another useful visual cue.
Jon W has pointed out that for this design you'd potentially need to be quite accurate with the cursor to hit the up and down arrows. As well as thinking about different designs, you could make sure that the spinner accepted the up and down arrow keys (say) as input to increment or decrement the value. Of course, the user should be able to type a value directly into the content area.
(Obviously you need to remember the value the user last selected.)