What do you mean by optimization engine? Did you write a solver yourself, or did you use something off-the-shelf? In either case, what are the algorithms involved?

I'm using Optaplanner as the engine under the covers, which is open source and off the shelf.

https://www.optaplanner.org/