Optimal Dispatch of a Multi-energy Residential Microgrid With Flexible Multi-energy Loads