Page 1 of 1

Work in progress: simulated annealing optimiser

PostPosted: Thu Jul 02, 2015 8:52 pm
by haze
Hi all

In my own time I've written a scripted graph node that uses a parametric optimiser to try to optimise some quantity in the node graph. I'd like some feedback... Particularly, is there a parameter (or set of parameters) in Octane that you would like to optimise, bearing in mind that there must be a measurable outcome?

Some background - the simulated annealing optimiser is a n-dimensional trajectory-based optimiser which moves a single particle (or candidate solution) around in n-dimensional space. New solutions are accepted with a certain probability.

At the moment, it tries to optimise the focal length of the camera to maximise rendering performance. Obviously it's going to pick a focal length that simplifies the scene, so I'm looking for a more interesting use of this.

When you use the script, connect a rendertarget to it, and reload it. It will render the scene for 1 second, each time it sets a different focal length. It will appear very random, but the best solution is being kept track of in the background, and will be set at the end of the optimisation run. A fairly big problem is that 1 second per trial is excessive, because the SA only really works well when it has thousands of trial runs.

But that's why this is work in progress ;-)

Let me know your thoughts. Potentially useful, or pointless?