This tutorial introduces the concept of Time-varying Optimal Control and introduces the Linear Quadratic Regulator (LQR). The basic approach is to poise the control problem in an optimization framework. The motivation is that optimization methods provide a convenient method to select the placement of closed loop poles using intuitive trade-offs between state error and control effort. Also, the method works very well with both SISO and MIMO systems.
Links to examples in a Bitbucket repository are here: intro_lqr
Tutorial_Optimal_Control_LQR_102923
Closing
The LQR method is very accessible in MATLAB or Python. It provides a means of calculating the optimal control gain which is designed to penalize system states as chosen by the designer. The approach works well with both MIMO and SISO systems. The only requirements are the system must be LTI and (A, B) must be stabilizable.