optimized charging algorithms