Invariant Adaptive Dynamic Programming for Discrete-Time Optimal Control