A multi-level Demand-Side Management algorithm for offgrid multi-source systems. (15th January 2020)