Multi-objective dynamic programming for constrained optimization of non-separable objective functions with application in energy storage | IEEE Conference Publication | IEEE Xplore