Performance optimisation for two classes of combined regenerative Brayton and inverse Brayton cycles