A method of operating a hybrid power system, comprising: obtaining a load forecast for the hybrid power system; obtaining power availability data and energy cost data for each power asset in each power asset group of a plurality of power asset groups, said hybrid power system comprising the said plurality of power asset groups; determining active power commands for each power asset by performing at least one optimization, such that the determined active power commands optimize a total operating cost of the hybrid power system, wherein: the at least one optimization is based on at least one cost function that accounts for asset degradation, asset maintenance cost, asset operation efficiency cost, and the energy cost data; and the at least one optimization is constrained by a plurality of constraints based on the load data, the power availability data, and characteristics of the power assets; and operating each power asset based on the determined active power commands; the method being characterised in: wherein the plurality of power asset groups includes a genset group, and one or more of an energy storage system group, a photovoltaic group, or a power grid connection; wherein the operation efficiency cost includes a start/stop frequency cost for each genset in the genset group; and wherein the asset maintenance cost for each genset in the genset group is based on an operation time of the genset. obtaining a load forecast for the hybrid power system; obtaining power availability data and energy cost data for each power asset in each power asset group of a plurality of power asset groups, said hybrid power system comprising the said plurality of power asset groups; determining active power commands for each power asset by performing at least one optimization, such that the determined active power commands optimize a total operating cost of the hybrid power system, wherein: the at least one optimization is based on at least one cost function that accounts for asset degradation, asset maintenance cost, asset operation efficiency cost, and the energy cost data; and the at least one optimization is constrained by a plurality of constraints based on the load data, the power availability data, and characteristics of the power assets; and the at least one optimization is based on at least one cost function that accounts for asset degradation, asset maintenance cost, asset operation efficiency cost, and the energy cost data; and the at least one optimization is constrained by a plurality of constraints based on the load data, the power availability data, and characteristics of the power assets; and operating each power asset based on the determined active power commands; the method being characterised in: wherein the plurality of power asset groups includes a genset group, and one or more of an energy storage system group, a photovoltaic group, or a power grid connection; wherein the operation efficiency cost includes a start/stop frequency cost for each genset in the genset group; and wherein the asset maintenance cost for each genset in the genset group is based on an operation time of the genset. wherein the plurality of power asset groups includes a genset group, and one or more of an energy storage system group, a photovoltaic group, or a power grid connection; wherein the operation efficiency cost includes a start/stop frequency cost for each genset in the genset group; and wherein the asset maintenance cost for each genset in the genset group is based on an operation time of the genset.