<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">EE</journal-id>
<journal-id journal-id-type="nlm-ta">EE</journal-id>
<journal-id journal-id-type="publisher-id">EE</journal-id>
<journal-title-group>
<journal-title>Energy Engineering</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-0118</issn>
<issn pub-type="ppub">0199-8595</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">79449</article-id>
<article-id pub-id-type="doi">10.32604/ee.2026.079449</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>A Hybrid LSTM&#x2013;FNN Framework for Safety-Constrained Energy Management in Mining Microgrids</article-title>
<alt-title alt-title-type="left-running-head">A Hybrid LSTM&#x2013;FNN Framework for Safety-Constrained Energy Management in Mining Microgrids</alt-title>
<alt-title alt-title-type="right-running-head">A Hybrid LSTM&#x2013;FNN Framework for Safety-Constrained Energy Management in Mining Microgrids</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Parvathareddy</surname><given-names>Sravani</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><email>sravani.bavana@gmail.com</email> <email>ps24019156@biust.ac.bw</email></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Yahya</surname><given-names>Abid</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Amuhaya</surname><given-names>Lilian</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western"><surname>Samikannu</surname><given-names>Ravi</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-5" contrib-type="author">
<name name-style="western"><surname>Suglo</surname><given-names>Raymond S.</given-names></name><xref ref-type="aff" rid="aff-2">2</xref></contrib>
<aff id="aff-1"><label>1</label><institution>Department of Electrical and Communications Systems Engineering, Botswana International University of Science and Technology</institution>, <addr-line>Palapye</addr-line>, <country>Botswana</country></aff>
<aff id="aff-2"><label>2</label><institution>Department of Mining Engineering, Botswana International University of Science and Technology</institution>, <addr-line>Palapye</addr-line>, <country>Botswana</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Sravani Parvathareddy. Emails: <email>sravani.bavana@gmail.com</email> or <email>ps24019156@biust.ac.bw</email></corresp>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2026</year>
</pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>27</day><month>5</month><year>2026</year>
</pub-date>
<volume>123</volume>
<issue>6</issue>
<elocation-id>10</elocation-id>
<history>
<date date-type="received">
<day>21</day>
<month>01</month>
<year>2026</year>
</date>
<date date-type="accepted">
<day>13</day>
<month>03</month>
<year>2026</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2026 The Authors. Published by Tech Science Press.</copyright-statement>
<copyright-year>2026</copyright-year>
<copyright-holder>The Authors</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_EE_79449.pdf"></self-uri>
<abstract>
<p>This paper presents a novel framework for the development of a real-time energy management system for mining microgrids, which integrates the benefits of a long short-term memory (LSTM) network and a feedforward neural network (FNN) for the prediction of the load and solar power, and the optimization of the dispatch, respectively, while ensuring the safety of the microgrid through the application of a convex safety filter. In the proposed framework, the LSTM provides probabilistic multi-step forecasts of load and photovoltaic generation, capturing the high volatility characteristic of mining operations with ramp rates up to 5 MW/min. The FNN approximates the optimal power dispatch policy, enabling sub-millisecond inference times essential for real-time control. The convex safety filter projects the FNN&#x2019;s proposed actions onto the feasible set defined by operational constraints, ensuring voltage regulation within <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mo>&#x00B1;</mml:mo><mml:mn>0.1</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> and preventing safety violations. The framework was validated using operational data from Jwaneng Mine, Botswana, within a MATLAB/Simulink co-simulation environment that couples discrete-time EMS decisions (15-min intervals) with continuous-time electrical dynamics (1-s resolution). Simulation results demonstrate an 18.7% reduction in operational costs, renewable energy utilization of 79.1%, voltage deviation of only 0.08%, and constraint violations reduced to 0.3% of intervals. The complete system achieves end-to-end latency of 50.8 ms, with the core optimization requiring just 0.8 ms, satisfying the stringent real-time requirements of mining microgrid control.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Mining microgrids</kwd>
<kwd>energy management system</kwd>
<kwd>long short-term memory</kwd>
<kwd>feedforward neural networks</kwd>
<kwd>safety constraints</kwd>
<kwd>renewable energy integration</kwd>
<kwd>predictive control</kwd>
<kwd>convex optimization</kwd>
</kwd-group></article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>The mining industry is one of the most energy-intensive industries in the world as most mining operations take place in remote, off-grid locations [<xref ref-type="bibr" rid="ref-1">1</xref>]. The use of traditional energy infrastructure in most mining operations is reliant upon diesel generators and weak grid connections [<xref ref-type="bibr" rid="ref-2">2</xref>]. The integration of microgrids that incorporate renewable energy sources is one of the alternatives that can be used to provide sustainable mining operations [<xref ref-type="bibr" rid="ref-3">3</xref>,<xref ref-type="bibr" rid="ref-4">4</xref>]. However, for these microgrids to function effectively, there must be an energy management system (EMS) that can deal with the intermittent nature of the renewable energy sources as well as the dynamic and unpredictable load from the mining operations [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-6">6</xref>].</p>
<sec id="s1_1">
<label>1.1</label>
<title>Problem Statement and Technical Challenge</title>
<p>Mathematically, the mining microgrid EMS is a safety-constrained stochastic optimal control problem. The mining environment presents three major challenges to the control system. First, the loads have high intermittency; for example, in some mining processes, load transients may have rate as high as 10 MW <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:msup><mml:mi>min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-7">7</xref>]. Second, the safety and reliability constraints are very strict; deviations in voltage from the nominal value of <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mo>&#x00B1;</mml:mo><mml:mn>5</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> can damage electrical equipment in mining processes, and the downtime costs can be as high as <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:mn>50</mml:mn><mml:mo>,</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mn>000</mml:mn><mml:mspace width="thinmathspace" /><mml:mi mathvariant="normal">&#x0024;</mml:mi><mml:msup><mml:mrow><mml:mi mathvariant="normal">h</mml:mi></mml:mrow><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> [<xref ref-type="bibr" rid="ref-8">8</xref>]. Third, the battery experiences high cycling, which accelerates the battery degradation. The primary objective of the control system is to find the optimal power dispatch in real time (latency <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:mo>&#x003C;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mrow><mml:mn>100</mml:mn></mml:mrow></mml:math></inline-formula> ms) to minimize operational costs while satisfying safety constraints.</p>
</sec>
<sec id="s1_2">
<label>1.2</label>
<title>Limitations of Existing Approaches</title>
<p>The traditional approaches to EMS for microgrids rely on rule-based or deterministic models that are inadequate for the stochastic nature of mining environments [<xref ref-type="bibr" rid="ref-9">9</xref>,<xref ref-type="bibr" rid="ref-10">10</xref>]. Even though MPC methods are an appropriate approach in theory, the computational cost of using MPC to control microgrids at a 1&#x2013;10 s control interval is prohibitive [<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-12">12</xref>]. The majority of existing methods also treat forecasting and optimization as separate steps. In mining environments, this can be problematic. The consequences of violating operational constraints due to forecast errors can be severe.</p>
<p>Although individual AI methods, such as long short-term memory (LSTM) networks for load forecasting [<xref ref-type="bibr" rid="ref-13">13</xref>,<xref ref-type="bibr" rid="ref-14">14</xref>] and feedforward neural networks (FNN) for fast approximation of optimization problems [<xref ref-type="bibr" rid="ref-15">15</xref>], have shown considerable promise, there is a significant gap in the literature regarding the seamless integration of these methods. Current methods are unable to ensure that hard operational constraints will be respected with a high probability [<xref ref-type="bibr" rid="ref-16">16</xref>,<xref ref-type="bibr" rid="ref-17">17</xref>]. Recent comprehensive reviews have highlighted the potential of AI in microgrid design and control [<xref ref-type="bibr" rid="ref-18">18</xref>].</p>
</sec>
<sec id="s1_3">
<label>1.3</label>
<title>Proposed Approach and Contributions</title>
<p>To address the above limitations, this paper proposes a novel architecture based on the integration of LSTM and FNN components with a convex safety filter for mining microgrid EMS. The proposed architecture consists of three main components: (i) an LSTM component, which is responsible for probabilistic load and generation forecasting; (ii) an FNN, which approximates the policy of a stochastic optimization problem; and (iii) a real-time convex safety filter that ensures the solution suggested by the FNN is feasible. The approach was specifically designed to account for the specific technical characteristics of mining operations.</p>
<p>The main contributions of this work are:<list list-type="simple">
<list-item>
<label>(1)</label>
<p>A novel hybrid LSTM-FNN architecture that integrates multi-step forecasting with learned optimization policies for real-time energy management in mining microgrids, achieving sub-millisecond inference times while maintaining high forecast accuracy.</p></list-item>
<list-item>
<label>(2)</label>
<p>A convex safety filter formulation that projects neural network recommendations onto the feasible set defined by operational constraints, providing deterministic safety guarantees with 98.2% reduction in computation time compared to traditional MPC approaches.</p></list-item>
<list-item>
<label>(3)</label>
<p>Comprehensive validation using two years of operational data from Jwaneng Mine, Botswana, demonstrating 18.7% cost reduction, 79.1% renewable utilization, and voltage regulation within <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mo>&#x00B1;</mml:mo><mml:mn>0.1</mml:mn><mml:mi mathvariant="normal">&#x0025;</mml:mi></mml:math></inline-formula> through co-simulation that couples discrete-time EMS decisions with continuous-time electrical dynamics.</p></list-item>
<list-item>
<label>(4)</label>
<p>An ablation study quantifying the individual contributions of LSTM forecasting, FNN optimization, and the safety filter, showing that the safety filter alone reduces constraint violations by 83.3%.</p></list-item>
</list></p>
<p>The remainder of this paper is organized as follows: <xref ref-type="sec" rid="s2">Section 2</xref> reviews the relevant literature. <xref ref-type="sec" rid="s3">Section 3</xref> details the proposed methodology. <xref ref-type="sec" rid="s4">Section 4</xref> presents the experimental results and discussion. <xref ref-type="sec" rid="s6">Section 6</xref> concludes the paper and proposes future directions for this work.</p>
</sec>
</sec>
<sec id="s2">
<label>2</label>
<title>Literature Review</title>
<sec id="s2_1">
<label>2.1</label>
<title>Microgrid Energy Management: Evolution and Challenges</title>
<p>Numerous different approaches to energy management for microgrids have emerged over time [<xref ref-type="bibr" rid="ref-19">19</xref>]. Early systems were based on rules and logic, but as the complexity of microgrids has increased, so has the need for more sophisticated energy management systems based on optimization. Despite the variety of different methods that have been developed, there are still a number of significant challenges to be overcome before the majority of the technology can be applied to mining microgrids.</p>
<p>The nature of mining operations places distinct demands on the energy management system of a microgrid. The high levels of volatility in the required power (<inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:msup><mml:mi>5 MW min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>), the voltage requirements of <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula>0.5%, and the demands of mining operations require specialized energy management systems.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Forecasting Methods in Energy Management</title>
<p>The accurate forecasting of energy production requirements is a crucial element of effective energy management. A variety of different methods have been used for this purpose, ranging from classical machine learning methods to deep learning.</p>
<p>A class of deep learning models known as Long Short-Term Memory (LSTM) networks has been shown to be particularly effective at learning the dynamics of time series data [<xref ref-type="bibr" rid="ref-13">13</xref>,<xref ref-type="bibr" rid="ref-14">14</xref>]. The gating mechanisms that govern data flow in LSTM networks allow them to learn both short-and long-term temporal dynamics. For the specific case of mining applications, where feature sets are limited to a few dozen features and data volumes are only moderate in size (about 1&#x2013;3 years of 15-min time series), LSTMs may be the most suitable models for energy management.</p>
<p>Alternative architectures such as Gated Recurrent Units (GRU) [<xref ref-type="bibr" rid="ref-20">20</xref>], Temporal Convolutional Networks (TCN), and Transformers [<xref ref-type="bibr" rid="ref-21">21</xref>] have also shown promise in time series forecasting. Other architectures such as N-BEATS have also shown promise [<xref ref-type="bibr" rid="ref-22">22</xref>]. However, these models often require larger datasets or longer training times, making them less practical for deployment in mining environments where data may be limited and rapid retraining may be necessary.</p>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Optimization Approaches for Real-Time Control</title>
<p>There are a variety of techniques for performing optimization within the EMS. For instance, model-based methods such as Mixed-Integer Linear Programming [<xref ref-type="bibr" rid="ref-23">23</xref>] and quadratic programming (QP) can be used. More specifically, Model Predictive Control (MPC) frameworks are often used, which formulate the control problem as a series of optimization problems and use the optimal control action from each step as the current control input. While these methods can offer performance guarantees, the computational cost is prohibitive for real-time control within complex systems. For example, while there are efficient implementations of these methods, the typical solving time for these models is between 100 and 500 ms, which is too long for the requirements of mining operations.</p>
<p>An alternative approach to solving this problem is to use Deep Reinforcement Learning (DRL) [<xref ref-type="bibr" rid="ref-24">24</xref>]. DRL methods learn a policy for the control action given the system state. The advantages of DRL are that it can handle the complex, non-linear dynamics of the system without requiring explicit models of the system. The primary disadvantage of DRL is that these methods are often sample inefficient and can pose safety risks during the learning process. These factors make them less appropriate for critical control in mining operations.</p>
<p>Another class of methods that shows promise as an approach for learning control policies for EMS is the use of hybrid approaches that combine learning and optimization. For example, the integration of differentiable optimization methods, such as the method proposed by [<xref ref-type="bibr" rid="ref-25">25</xref>], allows for the end-to-end training of models that include optimization components. Additionally, the use of imitation learning, such as the method proposed by [<xref ref-type="bibr" rid="ref-26">26</xref>], allows for the training of models to mimic the optimal solution to a control problem. These approaches enable learning models to achieve the computational efficiency required for real-time control.</p>
</sec>
<sec id="s2_4">
<label>2.4</label>
<title>Safety Assurance in Learning-Based Control</title>
<p>Another critical concern within the use of learning-based control strategies for EMS is the issue of safety. A variety of techniques have been developed to provide different levels of safety and to do so with different degrees of computational efficiency:</p>
<p>Methods based upon <bold>constraint-aware optimization</bold> aim to find control actions that will satisfy the safety constraints with a certain degree of probability. For instance, chance-constrained programming [<xref ref-type="bibr" rid="ref-27">27</xref>] and distributionally robust optimization [<xref ref-type="bibr" rid="ref-28">28</xref>] methods are used. While such methods provide guarantees, they are often conservative in their approaches and can have high computational cost.</p>
<p><bold>Control Barrier Functions (CBF)</bold> [<xref ref-type="bibr" rid="ref-29">29</xref>] are used to provide guarantees of safety. This technique involves finding a function and a cost function such that the safety constraints are satisfied if the control action is chosen to minimize the cost function. This technique ensures safety, but can require significant effort to apply it to complex safety constraints.</p>
<p><bold>Safe reinforcement learning</bold> methods incorporate the safety constraints within the reinforcement learning framework during the training process. For instance, the techniques based on Lagrange multipliers, such as those proposed by [<xref ref-type="bibr" rid="ref-30">30</xref>] and [<xref ref-type="bibr" rid="ref-31">31</xref>], ensure that the safety constraints are satisfied by the policy that is learned by the reinforcement learning process. While this is an effective method for ensuring safety, the safety of learned policies in complex environments is a challenge.</p>
<p><bold>Safety projection layers</bold> are a technique in which a set of safety constraints is defined and a control action is chosen (potentially leading to a violation of the safety constraints). Then, a safety filter, such as the safety filter proposed by [<xref ref-type="bibr" rid="ref-25">25</xref>], is used to find a new control action that guarantees that the safety constraints are satisfied. The advantages of this approach are that it is simple to implement, and the resulting safety filter is computationally efficient. This approach is well-suited for critical processes such as those occurring in mining operations, especially when the requirement for sub-millisecond response times.</p>
</sec>
<sec id="s2_5">
<label>2.5</label>
<title>Mining-Specific Considerations and Research Gaps</title>
<p>Although there is a significant amount of literature on EMS, the specific consideration of mining microgrids is lacking, with most of the research focused on residential, commercial, and industrial applications [<xref ref-type="bibr" rid="ref-12">12</xref>]. The specific characteristics of mining operations are as follows:<list list-type="bullet">
<list-item>
<p><bold>Extreme load volatility</bold> with equipment with a ramp rate of up to 5 MW/min implies that the control system must have a response time of less than 1 ms.</p></list-item>
<list-item>
<p><bold>Production-driven operational constraints</bold> due to the way in which the mine&#x2019;s operations are dictated by the requirements of the production levels.</p></list-item>
<list-item>
<p><bold>Stringent power quality requirements</bold> with a voltage tolerance of <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula>0.5% as compared to the general standard of <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula>5%</p></list-item>
<list-item>
<p><bold>Remote operation with weak grid conditions</bold> with short-circuit ratios below 4.0.</p></list-item>
<list-item>
<p><bold>Accelerated battery degradation</bold> due to the need for continuous cycling of batteries.</p></list-item>
</list></p>
<p><xref ref-type="table" rid="table-1">Table 1</xref> presents a comparative analysis of existing EMS approaches and their suitability for mining applications.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Comparative analysis of EMS approaches for mining applications.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Approach</th>
<th>Forecasting</th>
<th>Optimization</th>
<th>Key Limitations</th>
</tr>
</thead>
<tbody>
<tr>
<td>Traditional MPC [<xref ref-type="bibr" rid="ref-11">11</xref>,<xref ref-type="bibr" rid="ref-23">23</xref>]</td>
<td>Physical models</td>
<td>QP/MILP</td>
<td>Slow (&#x003E;100 ms), model dependent</td>
</tr>
<tr>
<td>LSTM-MPC [<xref ref-type="bibr" rid="ref-14">14</xref>]</td>
<td>LSTM forecasts</td>
<td>MPC</td>
<td>Computational delay, complex tuning</td>
</tr>
<tr>
<td>DRL-Based [<xref ref-type="bibr" rid="ref-17">17</xref>,<xref ref-type="bibr" rid="ref-24">24</xref>]</td>
<td>Implicit learning</td>
<td>Neural network</td>
<td>Training instability, safety concerns</td>
</tr>
<tr>
<td>FNN Imitator [<xref ref-type="bibr" rid="ref-15">15</xref>]</td>
<td>Separate/None</td>
<td>FNN policy</td>
<td>Limited forecast integration, safety</td>
</tr>
<tr>
<td><bold>Proposed</bold></td>
<td><bold>LSTM multi-step</bold></td>
<td><bold>FNN &#x002B; Safety Filter</bold></td>
<td><bold>Mining-optimized balance</bold></td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-1fn1" fn-type="other">
<p>Note: QP &#x003D; Quadratic Programming, MILP &#x003D; Mixed-Integer Linear Programming, MPC &#x003D; Model Predictive Control, DRL &#x003D; Deep Reinforcement Learning, FNN &#x003D; Feedforward Neural Network. The proposed approach uniquely integrates forecasting and optimization with a real-time safety filter.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Methodology</title>
<sec id="s3_1">
<label>3.1</label>
<title>System Model and Problem Formulation</title>
<p>The mining microgrid features a connection to the utility grid, a solar PV installation, a battery energy storage system, and loads from the mining operations. The EMS operates with 15-min dispatch intervals, which is the standard dispatch interval for mining operations.</p>
<p><xref ref-type="fig" rid="fig-1">Fig. 1</xref> illustrates the architecture of the microgrid. The energy management system at the supervisory level makes optimal dispatch decisions. The local controllers execute the dispatch decisions from the EMS to carry out the control objectives.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Schematic representation of the mining microgrid architecture. Solid arrows indicate power flow; dashed arrows represent communication links. The EMS (central controller) exchanges data with local controllers of the PV array, battery, grid interface, and mining loads.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_79449-fig-1.tif"/>
</fig>
<p>Let <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>T</mml:mi><mml:mo>=</mml:mo><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>T</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo fence="false" stretchy="false">}</mml:mo></mml:math></inline-formula> be the discrete time horizon over which the EMS optimizes the energy dispatch. The state of the system at time <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:mi>t</mml:mi></mml:math></inline-formula> is given by <inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>load</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>pv</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mtext>SOC</mml:mtext><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mtext>amb</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="sans-serif">T</mml:mi></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>. The load in the mining operations varies between <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:mn>0.15</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mn>7.87</mml:mn></mml:math></inline-formula> MW. The solar PV generation ranges between <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:mn>0</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mn>8</mml:mn></mml:math></inline-formula> MW. The state-of-charge level of the battery ranges between <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:mn>0.2</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mn>0.95</mml:mn></mml:math></inline-formula>. The ambient temperature ranges between <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:msup><mml:mn>18</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>C and <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msup><mml:mn>41</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>C. The mining operations indicator takes values between <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:mn>0</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mn>1</mml:mn></mml:math></inline-formula>. The control action at time <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:mi>t</mml:mi></mml:math></inline-formula> is given by <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>grid</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>batt</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>curtail</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mrow><mml:mrow><mml:mi mathvariant="sans-serif">T</mml:mi></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula>. The power that flows in and out of the grid ranges from <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mo>&#x2212;</mml:mo><mml:mn>20</mml:mn></mml:math></inline-formula> to <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:mn>20</mml:mn></mml:math></inline-formula> MW. The power that flows in and out of the battery ranges from <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:mo>&#x2212;</mml:mo><mml:mn>5</mml:mn></mml:math></inline-formula> to <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mn>5</mml:mn></mml:math></inline-formula> MW. The curtailment of solar power is given by <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>curtail</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula></p>
<p>The primary objective of the EMS is to minimize the expected total cost of operation. <xref ref-type="disp-formula" rid="eqn-1">Eq. (1)</xref> defines the overall objective function of the EMS.
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:munder><mml:mo movablelimits="true" form="prefix">min</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mrow><mml:mn>0</mml:mn><mml:mo>:</mml:mo><mml:mi>T</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:munder><mml:mrow><mml:mi mathvariant="double-struck">E</mml:mi></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:munderover><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>T</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:msub><mml:mi>&#x2113;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi mathvariant="bold-italic">&#x03BE;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>The cost function <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:msub><mml:mi>&#x2113;</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> consists of the costs associated with energy procurement, battery degradation, peak demand, and safety assurance. Battery degradation is modeled following [<xref ref-type="bibr" rid="ref-32">32</xref>,<xref ref-type="bibr" rid="ref-33">33</xref>], and joint optimization for peak shaving and frequency regulation can yield superlinear gains [<xref ref-type="bibr" rid="ref-34">34</xref>]. The battery state-of-charge dynamics are given by <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>.</p>
<p><disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:msub><mml:mrow><mml:mtext>SOC</mml:mtext></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mtext>SOC</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mfrac><mml:mrow><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mrow><mml:mtext>ch</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>batt</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo>+</mml:mo></mml:msubsup><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mrow><mml:mtext>dis</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>batt</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo>&#x2212;</mml:mo></mml:msubsup><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mrow><mml:mtext>rated</mml:mtext></mml:mrow></mml:mrow></mml:msub></mml:mfrac></mml:math></disp-formula>where <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mtext>rated</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>4</mml:mn></mml:math></inline-formula> MWh is the battery&#x2019;s rated energy. <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mtext>ch</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.95</mml:mn></mml:math></inline-formula> and <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mtext>dis</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.95</mml:mn></mml:math></inline-formula> are the charging and discharging efficiencies of the battery. <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>0.25</mml:mn></mml:math></inline-formula> h is the time interval (15 min) of dispatch decisions made by the EMS.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Component Specifications and Operational Parameters</title>
<p>The key components of the mining microgrid and their operational parameters are listed in <xref ref-type="table" rid="table-2">Table 2</xref>.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Microgrid component specifications and operational parameters.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center" width="50mm"/>
<col align="center" width="65mm"/> </colgroup>
<thead>
<tr>
<th>Component</th>
<th>Key Parameters</th>
<th>Operational Characteristics</th>
</tr>
</thead>
<tbody>
<tr>
<td>Utility Grid</td>
<td>Capacity: 20 MW, Islanding capability</td>
<td>Voltage: 11 kV, Short-circuit ratio: 3.5</td>
</tr>
<tr>
<td>Solar PV Array</td>
<td>Capacity: 8 MW p, Real-time monitoring</td>
<td>Inverter efficiency: 98%, Tracking: Single-axis</td>
</tr>
<tr>
<td>Energy Storage System</td>
<td>Capacity: 4 MW h, Power:<break/> 5 MW</td>
<td>SOC range: 20%&#x2013;95%, Round-trip efficiency: 88%</td>
</tr>
<tr>
<td>Mining Load</td>
<td>Base: 350 kW, Variable blocks</td>
<td>Ramp rates: up to 5 MW/min, Power factor: 0.92</td>
</tr>
<tr>
<td>Control System</td>
<td>Update interval: 15 min, Latency: &#x003C;1 ms</td>
<td>Communication: IEC 61850, Protocol: DNP3</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-2fn1" fn-type="other">
<p>Note: All values are derived from manufacturer datasheets and site measurements at Jwaneng Mine. The control system latency requirement is &#x003C;1 ms for the core EMS decision loop.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>Hybrid LSTM-FNN EMS Algorithm</title>
<p><xref ref-type="fig" rid="fig-2">Fig. 2</xref> shows the general structure of the proposed algorithm.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Flowchart of the proposed hybrid LSTM-FNN energy management algorithm. The algorithm starts with data acquisition. Then, the LSTM models load and PV power production. The FNN finds an initial control action, which is passed through a safety filter to ensure that the resulting state remains within the feasible set. Finally, the control action is dispatched to the microgrid components.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_79449-fig-2.tif"/>
</fig>
<p>The LSTM receives 12 features over time, comprising load and PV power lags, temperature, humidity, and four temporal indicators. The LSTM comprises two stacked layers of 128 neurons each. The mean absolute error of the LSTM is 47.2 kW. The Adam optimizer with a learning rate of <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mn>0.001</mml:mn></mml:math></inline-formula>, a batch size of 32, and a dropout regularization of 0.2 is used for training.</p>
<p>The FNN consists of four layers with 14, 256, 128, and 64 neurons, with ReLU activation functions. The network was trained for 1000 epochs using L2 regularization with <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mi>&#x03B2;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.01</mml:mn></mml:math></inline-formula>. The training time of the FNN is under 0.3 ms.</p>
<p>At each control interval, the algorithm first forecasts the load and PV power production using the LSTM. It then observes the current SOC and tariff. Following that, it uses the FNN to find an initial control action, projects the resulting state through the safety filter to find the feasible set of states, and dispatches the control action to the local actuators.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Unified Optimization and Safety Enforcement</title>
<sec id="s3_4_1">
<label>3.4.1</label>
<title>Cost Function Formulation</title>
<p>The stage cost <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:msub><mml:mi>&#x2113;</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> is composed of the following terms:<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mi>&#x2113;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>grid</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B1;</mml:mi><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>grid</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mn>15</mml:mn><mml:msup><mml:mo stretchy="false">)</mml:mo><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mtext>deg</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>batt</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext>SOC</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mrow><mml:mtext>safety</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>The cost includes a tariff term <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0.75</mml:mn><mml:mo>,</mml:mo><mml:mn>2.40</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> Pula/kWh, which represents the electricity tariff in Botswana. The second term considers the cost of importing too much power from the grid, with <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:mi>&#x03B1;</mml:mi><mml:mo>=</mml:mo><mml:mn>0.002</mml:mn></mml:math></inline-formula> <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:msup><mml:mi>Pula/MW</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>. The third and fourth terms are degradation and safety costs, respectively.</p>
</sec>
<sec id="s3_4_2">
<label>3.4.2</label>
<title>Consolidated Operational Constraints</title>
<p>All operational constraints are unified in a single formulation:<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>Power flow:&#xA0;</mml:mtext></mml:mrow><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>grid</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>20</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mo>&#x2212;</mml:mo><mml:mn>4</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>batt</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>5</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mn>0</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>curtail</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>pv</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>Battery operation:&#xA0;</mml:mtext></mml:mrow><mml:mn>0.2</mml:mn><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mrow><mml:mtext>SOC</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>0.95</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>batt</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>batt</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mn>30</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>Mining-specific:&#xA0;</mml:mtext></mml:mrow><mml:msub><mml:mrow><mml:mtext>SOC</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0.3</mml:mn><mml:mo>+</mml:mo><mml:mn>0.15</mml:mn><mml:msub><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>grid</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:mn>17</mml:mn><mml:mo stretchy="false">(</mml:mo><mml:mn>1</mml:mn><mml:mo>+</mml:mo><mml:mn>0.3</mml:mn><mml:msub><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>Power quality:&#xA0;</mml:mtext></mml:mrow><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>V</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x2212;</mml:mo><mml:mn>5000</mml:mn><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mn>25</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mrow><mml:mtext>Power balance:&#xA0;</mml:mtext></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>grid</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>pv</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>curtail</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mrow><mml:mtext>dir</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>batt</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>load</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mrow><mml:mtext>losses</mml:mtext></mml:mrow><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mtext>dir</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> for discharge (<inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>batt</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2265;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>) and <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula> for charge (<inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>batt</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003C;</mml:mo><mml:mn>0</mml:mn></mml:math></inline-formula>), with distribution losses <inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>losses</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2248;</mml:mo><mml:mn>0.015</mml:mn><mml:mspace width="thinmathspace" /><mml:mspace width="thinmathspace" /><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>load</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>batt</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
<p><xref ref-type="fig" rid="fig-3">Fig. 3</xref> shows that the safety filter projects the action proposed by the neural network to a feasible region defined by the tightened constraints. This guarantees that the operation will remain within the safe operating region. The safety filter solves a quadratic programming problem:<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x22C6;</mml:mo></mml:msubsup><mml:mo>=</mml:mo><mml:munder><mml:mrow><mml:mrow><mml:mtext>argmin</mml:mtext></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:mrow><mml:mi>&#x1D4B0;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder><mml:mo>&#x2061;</mml:mo><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:msubsup><mml:mo fence="false" stretchy="false">&#x2016;</mml:mo><mml:mn>2</mml:mn><mml:mn>2</mml:mn></mml:msubsup></mml:math></disp-formula>where <inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:mrow><mml:mi>&#x1D4B0;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the feasible action set defined by constraints <xref ref-type="disp-formula" rid="eqn-4">(4)</xref>&#x2013;<xref ref-type="disp-formula" rid="eqn-8">(8)</xref>. This projection is implemented using the OSQP solver [<xref ref-type="bibr" rid="ref-35">35</xref>], achieving sub-millisecond solution times.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Illustration of the safety filter. The action proposed by the neural network (<inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula>, red point) may lie outside the feasible region (shaded area). The safety filter projects the action to the nearest feasible point (<inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x22C6;</mml:mo></mml:msubsup></mml:math></inline-formula>, green point).</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_79449-fig-3.tif"/>
</fig>
</sec>
</sec>
<sec id="s3_5">
<label>3.5</label>
<title>Algorithm Integration and Computational Efficiency</title>
<p><bold>Step 1: Data Acquisition:</bold> Collect measurements <inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> from microgrid sensors.</p>
<p><bold>Step 2: Forecasting:</bold> LSTM generates <inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msub><mml:mrow><mml:mover><mml:mi>P</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>load</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi>H</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> and <inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msub><mml:mrow><mml:mover><mml:mi>P</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>pv</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi>H</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> with <inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mn>4</mml:mn></mml:math></inline-formula> steps (1 h ahead).</p>
<p><bold>Step 3: Initial Action:</bold> FNN computes <inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mtext>FNN</mml:mtext></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>load</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">P</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>pv</mml:mtext></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p>
<p><bold>Step 4: Safety Projection:</bold> Solve QP to project <inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msub><mml:mrow><mml:mover><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> onto <inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:mrow><mml:mi>&#x1D4B0;</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, obtaining <inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x22C6;</mml:mo></mml:msubsup></mml:math></inline-formula>.</p>
<p><bold>Step 5: Dispatch:</bold> Send <inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:msubsup><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x22C6;</mml:mo></mml:msubsup></mml:math></inline-formula> to local controllers.</p>
<p><bold>Step 6: Update:</bold> <inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:mi>t</mml:mi><mml:mo stretchy="false">&#x2190;</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>, repeat.</p>
<p>The complete algorithm achieves end-to-end latency of 50.8 ms on standard hardware, with the core optimization requiring just 0.8 ms, satisfying the stringent real-time requirements of mining microgrid control.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Experimental Results and Discussion</title>
<sec id="s4_1">
<label>4.1</label>
<title>Dataset and Simulation Setup</title>
<sec id="s4_1_1">
<label>4.1.1</label>
<title>Dataset Description and Characteristics</title>
<p>The presented framework is tested on operational data from the Jwaneng Diamond Mine in Botswana. The data contains <inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:mn>730</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>96</mml:mn><mml:mo>=</mml:mo><mml:mn>70</mml:mn><mml:mo>,</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mn>080</mml:mn></mml:math></inline-formula> samples and spans exactly from January 1, 2021, to December 31, 2022 (inclusive). <xref ref-type="table" rid="table-3">Table 3</xref> presents a detailed description of the dataset variables and the preprocessing applied to them.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Dataset specifications and preprocessing pipeline.</title>
</caption>
<table>
<colgroup>
<col align="center" width="28mm"/>
<col align="center"/>
<col align="center"/>
<col align="center" width="25mm"/>
<col align="center" width="60mm"/> </colgroup>
<thead>
<tr>
<th>Variable</th>
<th>Symbol</th>
<th>Units</th>
<th>Source</th>
<th>Preprocessing</th>
</tr>
</thead>
<tbody>
<tr>
<td>Load Demand</td>
<td><inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>load</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>MW</td>
<td>Main substation meters</td>
<td>Outlier removal (<inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:mo>&#x003E;</mml:mo><mml:mspace width="negativethinmathspace" /><mml:mn>3</mml:mn><mml:mi>&#x03C3;</mml:mi></mml:math></inline-formula>), linear interpolation</td>
</tr>
<tr>
<td>PV Generation</td>
<td><inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>pv</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>MW</td>
<td>Inverter telemetry</td>
<td>Sensor calibration, night values zero</td>
</tr>
<tr>
<td>Battery SOC</td>
<td>SOC</td>
<td>pu</td>
<td>BESS controller</td>
<td>Noise filtering (5-min moving average)</td>
</tr>
<tr>
<td>Ambient Temperature</td>
<td><inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:msub><mml:mi>T</mml:mi><mml:mrow><mml:mtext>amb</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula></td>
<td>&#x00B0;C</td>
<td>Weather station</td>
<td>Quality control, gap filling</td>
</tr>
<tr>
<td>Irradiance</td>
<td>GHI</td>
<td><inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msup><mml:mi>W/m</mml:mi><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td>Pyranometer</td>
<td>Cosine correction, cleaning flagged</td>
</tr>
<tr>
<td>Voltage (PCC)</td>
<td><italic>V</italic></td>
<td>V</td>
<td>Power analyzer</td>
<td>3-phase average, bounds validation</td>
</tr>
<tr>
<td>Tariff</td>
<td><inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:mi>&#x03BB;</mml:mi></mml:math></inline-formula></td>
<td>P/kWh</td>
<td>Utility schedule</td>
<td>Time-of-use mapping</td>
</tr>
<tr>
<td>Mining Indicator</td>
<td><italic>M</italic></td>
<td>(0&#x2013;1)</td>
<td>Production system</td>
<td>Derived from equipment logs</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-3fn1" fn-type="other">
<p>Note: All measurements were taken at the point of common coupling (PCC) unless otherwise specified. Any gaps in data (&#x003C;5% of data) were filled using linear interpolation. Outliers (&#x003E;<inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:mn>3</mml:mn><mml:mi>&#x03C3;</mml:mi></mml:math></inline-formula>) were replaced by the median of the neighboring data points.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s4_1_2">
<label>4.1.2</label>
<title>Data Partitioning and Normalization</title>
<p>The training, validation, and test data were divided as follows:<list list-type="bullet">
<list-item>
<p><bold>Training set:</bold> January 1, 2021&#x2013;June 30, 2022 (548 days, 52,608 samples, 75%).</p></list-item>
<list-item>
<p><bold>Validation set:</bold> July 1, 2022&#x2013;September 30, 2022 (92 days, 8832 samples, 12.5%).</p></list-item>
<list-item>
<p><bold>Test set:</bold> October 1, 2022&#x2013;December 31, 2022 (90 days, 8640 samples, 12.5%).</p></list-item>
</list></p>
<p>The data was also normalized as follows:<list list-type="simple">
<list-item>
<label>1.</label>
<p>Calculate the normalization statistics using only the training data.</p></list-item>
<list-item>
<label>2.</label>
<p>Use these statistics to normalize the validation and test data.</p></list-item>
<list-item>
<label>3.</label>
<p>For each variable <inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:mi>x</mml:mi></mml:math></inline-formula>: <inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:mrow><mml:mover><mml:mi>x</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mo>=</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi>x</mml:mi><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mtext>min</mml:mtext></mml:mrow><mml:mrow><mml:mtext>train</mml:mtext></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow><mml:mrow><mml:mtext>train</mml:mtext></mml:mrow></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mtext>min</mml:mtext></mml:mrow><mml:mrow><mml:mtext>train</mml:mtext></mml:mrow></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>.</p></list-item>
<list-item>
<label>4.</label>
<p>Divide the data into sequences of <inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:mi>L</mml:mi><mml:mo>=</mml:mo><mml:mn>24</mml:mn></mml:math></inline-formula> lookback steps (6 h) and <inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mn>4</mml:mn></mml:math></inline-formula> forecast steps (1 h).</p></list-item>
</list></p>
</sec>
<sec id="s4_1_3">
<label>4.1.3</label>
<title>Simulation Architecture and Model Integration</title>
<p><xref ref-type="fig" rid="fig-4">Fig. 4</xref> depicts the architecture used to co-simulate the various components of the EMS. This figure illustrates the critical interface between the EMS and the electrical network, which forms the basis of the validation.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Co-simulation architecture showing the integration of discrete-time EMS decisions (15-min interval) with continuous-time electrical dynamics (1-s resolution). The EMS provides setpoints to local controllers, which regulate voltage and frequency in real-time. Measurements are fed back to the EMS at each control interval.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_79449-fig-4.tif"/>
</fig>
<p><bold>1. Continuous-Time Electrical Dynamics (Inner Loop, 1 s resolution):</bold>
<list list-type="bullet">
<list-item>
<p>Implemented in MATLAB/Simulink R2023a using <monospace>ode45</monospace> solver with <inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:math></inline-formula> s.</p></list-item>
<list-item>
<p>Physical components modeled via Simscape Electrical.</p></list-item>
<list-item>
<p>Fast inner-loop controllers: Voltage/frequency regulation operating at 100 ms intervals.</p></list-item>
</list></p>
<p><bold>2. Discrete-Time EMS Decisions (Outer Loop, 15 min interval):</bold>
<list list-type="bullet">
<list-item>
<p>Hybrid LSTM-FNN controller executed at 15 min boundaries.</p></list-item>
<list-item>
<p>Control actions <inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>grid</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>batt</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>curtail</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> applied using zero-order hold.</p></list-item>
<list-item>
<p>Voltage stability assessment via power flow solution at each 1 s step.</p></list-item>
<list-item>
<p>Constraint verification: Continuous monitoring of <inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msub><mml:mi>V</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>4975</mml:mn><mml:mo>,</mml:mo><mml:mn>5025</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> V, <inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msub><mml:mi>f</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>49.8</mml:mn><mml:mo>,</mml:mo><mml:mn>50.2</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> Hz.</p></list-item>
</list></p>
<p><bold>3. Co-Simulation Interface:</bold>
<list list-type="bullet">
<list-item>
<p>EMS provides setpoints to inverter outer-loop controllers.</p></list-item>
<list-item>
<p>Inner-loop controllers implement these setpoints via PI regulators with anti-windup.</p></list-item>
<list-item>
<p>Measurements (SOC, voltages, powers) sampled at 15 min intervals for EMS feedback.</p></list-item>
<list-item>
<p>Communication delays modeled as normally distributed with <inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:mi>&#x03BC;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mn>50</mml:mn></mml:mrow></mml:math></inline-formula> ms, <inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:mi>&#x03C3;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mn>10</mml:mn></mml:mrow></mml:math></inline-formula> ms.</p></list-item>
</list></p>
</sec>
<sec id="s4_1_4">
<label>4.1.4</label>
<title>Training Configuration and Computational Details</title>
<p>The neural network training employed the following configuration:<list list-type="bullet">
<list-item>
<p><bold>Dataset size:</bold> 52,608 training samples <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:mo>&#x00D7;</mml:mo></mml:math></inline-formula> 10-fold augmentation &#x003D; 526,080 sequences.</p></list-item>
<list-item>
<p><bold>Sequence structure:</bold> Input &#x003D; <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:mo stretchy="false">[</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>L</mml:mi><mml:mo>:</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>, Target &#x003D; <inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mo stretchy="false">[</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mi>H</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> with <inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mi>L</mml:mi><mml:mo>=</mml:mo><mml:mn>24</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mi>H</mml:mi><mml:mo>=</mml:mo><mml:mn>4</mml:mn></mml:math></inline-formula>.</p></list-item>
<list-item>
<p><bold>LSTM architecture:</bold> 2 layers, 128 units each, dropout &#x003D; 0.2, recurrent dropout &#x003D; 0.1.</p></list-item>
<list-item>
<p><bold>FNN architecture:</bold> 14-256-128-64-3 feedforward network, ReLU activations.</p></list-item>
<list-item>
<p><bold>Training:</bold> Adam optimizer (lr &#x003D; 0.001), batch size &#x003D; 64, early stopping (patience &#x003D; 10).</p></list-item>
<list-item>
<p><bold>Hardware:</bold> Intel i9-13900K, 64 GB RAM, NVIDIA RTX 4090 GPU.</p></list-item>
<list-item>
<p><bold>Training time:</bold> 4.2 h total (LSTM: 2.8 h, FNN: 1.4 h).</p></list-item>
</list></p>
<p><xref ref-type="table" rid="table-4">Table 4</xref> presents the statistical summary of the training dataset.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Dataset statistical summary (training set only).</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Variable</th>
<th>Mean</th>
<th>Std</th>
<th>Min</th>
<th>Max</th>
<th>Unit</th>
</tr>
</thead>
<tbody>
<tr>
<td>Load Demand</td>
<td>1.29</td>
<td>1.58</td>
<td>0.15</td>
<td>7.87</td>
<td>MW</td>
</tr>
<tr>
<td>PV Generation</td>
<td>1.42</td>
<td>2.01</td>
<td>0.00</td>
<td>7.95</td>
<td>MW</td>
</tr>
<tr>
<td>Battery SOC</td>
<td>0.58</td>
<td>0.21</td>
<td>0.20</td>
<td>0.95</td>
<td>pu</td>
</tr>
<tr>
<td>Ambient Temperature</td>
<td>24.7</td>
<td>7.3</td>
<td>11.2</td>
<td>40.8</td>
<td>&#x00B0;C</td>
</tr>
<tr>
<td>Voltage (PCC)</td>
<td>5001.2</td>
<td>8.7</td>
<td>4982.5</td>
<td>5017.8</td>
<td>V</td>
</tr>
<tr>
<td>Electricity Tariff</td>
<td>1.42</td>
<td>0.68</td>
<td>0.75</td>
<td>2.40</td>
<td><inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msup><mml:mi>BWPkW</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> h</td>
</tr>
<tr>
<td>Mining Indicator</td>
<td>0.62</td>
<td>0.28</td>
<td>0.00</td>
<td>1.00</td>
<td>&#x2013;</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-4fn1" fn-type="other">
<p>Note: All values are computed from the normalized training set prior to rescaling. The units correspond to the original physical units. SOC is given in per unit (pu).</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>This comprehensive simulation setup ensures that the EMS is operated in the following ways: (1) under realistic conditions, (2) with appropriate time-scale separation, and (3) such that all claims regarding voltage and computational performance can be validated.</p>
</sec>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>System Performance and Load Analysis</title>
<sec id="s4_2_1">
<label>4.2.1</label>
<title>Load Profile Characterization and Volatility Metrics</title>
<p>The load profile of the mining operation is characterized by considerable volatility. As shown in <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, the load profile over a 24-h period shows significant fluctuations in the load. <xref ref-type="table" rid="table-5">Table 5</xref> presents the statistical measures of the load.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Analysis of the load profile of the mining operation. (<bold>a</bold>) 24-h profile with a peak of 7.87 MW during crushing operations and a minimum of 0.15 MW during maintenance; (<bold>b</bold>) Ramp rate distribution with 95% of the ramp rates under 3.2 MW <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:msup><mml:mi>min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>; (<bold>c</bold>) Duration curve with 18% of the operation at loads above 5 MW.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_79449-fig-5.tif"/>
</fig><table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>Mining load profile characterization (two-year dataset).</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Value</th>
<th>Unit</th>
<th>Interpretation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Maximum Load</td>
<td>7.87</td>
<td>MW</td>
<td>Peak during intensive crushing</td>
</tr>
<tr>
<td>Minimum Load</td>
<td>0.15</td>
<td>MW</td>
<td>Maintenance/shutdown periods</td>
</tr>
<tr>
<td>Average Load</td>
<td>1.29</td>
<td>MW</td>
<td>Mean over all operational hours</td>
</tr>
<tr>
<td>Daily Energy Consumption</td>
<td>30.96</td>
<td>MW h</td>
<td>Calculated: <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:mn>1.29</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>24</mml:mn><mml:mo>=</mml:mo><mml:mn>30.96</mml:mn></mml:math></inline-formula></td>
</tr>
<tr>
<td>Peak-to-Average Ratio (PAR)</td>
<td>6.10</td>
<td>&#x2013;</td>
<td>Load variability metric</td>
</tr>
<tr>
<td>95th Percentile Ramp Rate</td>
<td>3.42</td>
<td><inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:msup><mml:mi>MW min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td>Rapid load transitions</td>
</tr>
<tr>
<td>Mean Absolute Ramp Rate</td>
<td>0.85</td>
<td><inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:msup><mml:mi>MW min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td>Typical load changes</td>
</tr>
<tr>
<td>Peak Load Duration (&#x003E;5 MW)</td>
<td>4.2</td>
<td><inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:msup><mml:mi>h d</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td>Intensive operation hours</td>
</tr>
<tr>
<td>Load Factor</td>
<td>0.16</td>
<td>&#x2013;</td>
<td><inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>mean</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>max</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> (low utilization)</td>
</tr>
<tr>
<td>Daily Autocorrelation (<inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mn>24</mml:mn><mml:mi>h</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula>)</td>
<td>0.72</td>
<td>&#x2013;</td>
<td>Strong diurnal periodicity</td>
</tr>
<tr>
<td>Coefficient of Variation</td>
<td>1.22</td>
<td>&#x2013;</td>
<td><inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>&#x03C3;</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>&#x03BC;</mml:mi></mml:math></inline-formula> (high relative volatility)</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-5fn1" fn-type="other">
<p>Note: PAR &#x003D; Peak-to-Average Ratio. The load factor is defined as the ratio of the average load to the maximum load. The daily autocorrelation measures the correlation between the load at time and 24 h ago.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s4_2_2">
<label>4.2.2</label>
<title>Load Variability and Operational Regime Analysis</title>
<p>The load factor can also be measured by the peak-to-average ratio. This high PAR value indicates that there are extreme fluctuations in the load, with the peak load being six times higher than the average load.</p>
<p><bold>Ramp Rate Distribution:</bold>
<list list-type="bullet">
<list-item>
<p>95th percentile ramp rate: 3.42 MW <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:msup><mml:mi>min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> (exceeds typical battery response capabilities).</p></list-item>
<list-item>
<p>Maximum observed ramp: 5.1 MW <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:msup><mml:mi>min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> during crusher startup.</p></list-item>
<list-item>
<p>75% of ramp rates below 1.5 MW <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:msup><mml:mi>min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>.</p></list-item>
</list></p>
</sec>
<sec id="s4_2_3">
<label>4.2.3</label>
<title>Operational Regime Clustering</title>
<p>In order to characterize the operational modes of the mining indicator <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:msub><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula>, k-means clustering was applied to the normalized load profiles:<list list-type="bullet">
<list-item>
<p><bold>Cluster 1 (Low):</bold> Maintenance/standby (load &#x003C; 0.5 MW), <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:msub><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.0</mml:mn></mml:math></inline-formula>, 28% occurrence.</p></list-item>
<list-item>
<p><bold>Cluster 2 (Medium):</bold> Normal operations (0.5 to 3 MW), <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:msub><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>0.5</mml:mn></mml:math></inline-formula>, 54% occurrence.</p></list-item>
<list-item>
<p><bold>Cluster 3 (High):</bold> Intensive processing of ore (&#x003E;3 MW), <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:msub><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mn>1.0</mml:mn></mml:math></inline-formula>, 18% occurrence.</p></list-item>
</list></p>
<p>This clustering directly informs the mining operational indicator <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:msub><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> used in constraint formulations.</p>
</sec>
<sec id="s4_2_4">
<label>4.2.4</label>
<title>Volatility Implications for EMS Design</title>
<p>The characteristics of the load profiles of this cluster have specific implications for the design of the EMS:</p>
<p><bold>Forecasting Requirements:</bold>
<list list-type="bullet">
<list-item>
<p>The high level of autocorrelation on a daily basis (<inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mrow><mml:mn>24</mml:mn><mml:mi>h</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0.72</mml:mn></mml:math></inline-formula>) can allow for accurate forecasts from LSTM models.</p></list-item>
<list-item>
<p>The rapid rate of change of load (3.42 MW <inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:msup><mml:mi>min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> at the 95th percentile) means that multi-step forecasts will be required.</p></list-item>
<list-item>
<p>The bimodal distribution indicates that regime-aware forecasting models will be required.</p></list-item>
</list></p>
<p><bold>Safety and Constraint Management:</bold>
<list list-type="bullet">
<list-item>
<p>The rapid change of the load can complicate the feasibility of dispatch decisions.</p></list-item>
<list-item>
<p>The high PAR (6.10) indicates large swings in the battery&#x2019;s state of charge, which can create safety risks.</p></list-item>
<list-item>
<p>High loads during peak demand periods require ensuring that voltage levels do not become too high and damage the mining equipment.</p></list-item>
</list></p>
<p><bold>Computational Requirements:</bold>
<list list-type="bullet">
<list-item>
<p>The control intervals of 15 min imply that sub-millisecond decision times will be needed.</p></list-item>
<list-item>
<p>The rapid changes in load mean that real-time constraint enforcement will be required.</p></list-item>
<list-item>
<p>The need to take advantage of low electricity prices during these periods requires fast optimization techniques.</p></list-item>
</list></p>
</sec>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Forecasting Performance and Evaluation</title>
<p>To compare the forecasting models fairly and reproduce the presented results, all models were evaluated under the same conditions using 15-min ahead one-step forecasts. The features used by the forecasting model include the load, PV generation, temperature, irradiance, time-of-day, day-of-week, mining operational indicators, and electricity tariffs. The model configurations are detailed in <xref ref-type="table" rid="table-6">Table 6</xref>.</p>
<table-wrap id="table-6">
<label>Table 6</label>
<caption>
<title>Model configurations for forecasting performance comparison.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>LSTM (Proposed)</th>
<th>GRU</th>
<th>TCN</th>
<th>Transformer</th>
</tr>
</thead>
<tbody>
<tr>
<td>Lookback window</td>
<td>24 steps (6 h)</td>
<td>24 steps (6 h)</td>
<td>32 steps (8 h)</td>
<td>24 steps (6 h)</td>
</tr>
<tr>
<td>Hidden layers</td>
<td>2</td>
<td>2</td>
<td>6</td>
<td>4 encoder/4 decoder</td>
</tr>
<tr>
<td>Hidden units</td>
<td>128</td>
<td>128</td>
<td>64</td>
<td>128</td>
</tr>
<tr>
<td>Heads (Transformer)</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
<td>8</td>
</tr>
<tr>
<td>Kernel size (TCN)</td>
<td>&#x2013;</td>
<td>&#x2013;</td>
<td>3</td>
<td>&#x2013;</td>
</tr>
<tr>
<td>Dropout rate</td>
<td>0.2</td>
<td>0.2</td>
<td>0.3</td>
<td>0.1</td>
</tr>
<tr>
<td>Learning rate</td>
<td>0.001</td>
<td>0.001</td>
<td>0.0008</td>
<td>0.0005</td>
</tr>
<tr>
<td>Batch size</td>
<td>32</td>
<td>32</td>
<td>64</td>
<td>32</td>
</tr>
<tr>
<td>Parameters</td>
<td>148,609</td>
<td>112,897</td>
<td>158,241</td>
<td>163,842</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-6fn1" fn-type="other">
<p>Note: GRU &#x003D; Gated Recurrent Unit, TCN &#x003D; Temporal Convolutional Network. The proposed LSTM uses almost the same lookback window as the other models; however, the TCN model utilized a longer lookback window of 32 steps.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>The results in <xref ref-type="table" rid="table-7">Table 7</xref> reveal that the proposed LSTM model achieves the lowest error among all the metrics considered. Furthermore, its MAE of 47.2 kW is only 0.60% of the peak load and 3.66% of the mean load of the mining operations.</p>
<table-wrap id="table-7">
<label>Table 7</label>
<caption>
<title>Forecasting performance comparison (15-min ahead one-step prediction).</title>
</caption>
<table>
<colgroup>
<col align="center" width="30mm"/>
<col align="center" width="18mm"/>
<col align="center" width="20mm"/>
<col align="center" width="19mm"/>
<col align="center"/>
<col align="center" width="20mm"/>
<col align="center" width="20mm"/> </colgroup>
<thead>
<tr>
<th>Method</th>
<th>MAE (kW)</th>
<th>RMSE (kW)</th>
<th>MAPE (%)</th>
<th><inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula></th>
<th>95th Percentile Error (kW)</th>
<th>Ramp Period MAE (kW)</th>
</tr>
</thead>
<tbody>
<tr>
<td>LSTM (Proposed)</td>
<td>47.2</td>
<td>68.9</td>
<td>2.8</td>
<td>0.941</td>
<td>145.3</td>
<td>73.8</td>
</tr>
<tr>
<td>GRU</td>
<td>52.1</td>
<td>75.3</td>
<td>3.1</td>
<td>0.928</td>
<td>158.7</td>
<td>81.2</td>
</tr>
<tr>
<td>TCN</td>
<td>49.8</td>
<td>72.1</td>
<td>3.0</td>
<td>0.935</td>
<td>152.4</td>
<td>76.9</td>
</tr>
<tr>
<td>Transformer</td>
<td>55.3</td>
<td>79.2</td>
<td>3.3</td>
<td>0.919</td>
<td>165.8</td>
<td>89.4</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-7fn1" fn-type="other">
<p>Note: MAE &#x003D; Mean Absolute Error, RMSE &#x003D; Root Mean Square Error, MAPE &#x003D; Mean Absolute Percentage Error, <inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula> &#x003D; coefficient of determination. Ramp Period MAE is computed only on samples where the absolute load change exceeds 3 MW/min.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>As shown in <xref ref-type="table" rid="table-7">Table 7</xref>, the proposed LSTM outperforms all benchmarks across every metric. The MAE of 47.2 kW is 9.4% lower than GRU and 14.6% lower than Transformer. For ramp periods where the change in load is &#x003E;3 MW/min, it is observed that LSTM maintains an MAE of 73.8 kW, and this is acceptable for safety filter calibration. The large <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula> value of 0.941 indicates 94.1% of the total variation in loads is explained by the model, making it suitable for predictive EMS.</p>

<p>Residual analysis of the model indicates that errors in forecasts are normally distributed with mean <inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:mi>&#x03BC;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>2.1</mml:mn></mml:mrow></mml:math></inline-formula> kW and standard deviation <inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:mi>&#x03C3;</mml:mi><mml:mo>=</mml:mo><mml:mrow><mml:mn>52.7</mml:mn></mml:mrow></mml:math></inline-formula> kW. Although there is a small negative bias, it is desirable for safety-critical applications. For rapid transitions in loads, i.e., &#x003E;3 MW <inline-formula id="ieqn-109"><mml:math id="mml-ieqn-109"><mml:msup><mml:mi>min</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula>, there is a drop in accuracy for forecasts, and an MAE of 73.8 kW is observed. Empirical 95% prediction intervals cover 94.3% of test data, making it essential for robust optimization.</p>
</sec>
<sec id="s4_4">
<label>4.4</label>
<title>Economic and Operational Performance</title>
<p>The proposed hybrid LSTM-FNN-based EMS is observed to have significant economic benefits, with 18.7% reduction in operation costs from 862.4 to 701.3 Pula/MWh over a 90-day test period. This is due to forecast-aware scheduling, optimized tariffs (reducing grid imports during peak tariff periods), and increased renewable utilization.</p>
<p>The lowest cost of 701.3 Pula/MWh, highest renewable penetration of 79.1%, and lowest computation time of 0.8 ms are obtained by our framework compared to all approaches. The constraint violation is reduced significantly to 0.3%, compared to 3.2% and 8.7% of LSTM-MPC and traditional EMS, respectively. This is because of the safety filter&#x2019;s performance. The improvement in computation times is significant, as shown in <xref ref-type="table" rid="table-8">Table 8</xref>. This is because of the end-to-end latency of our framework.</p>
<table-wrap id="table-8">
<label>Table 8</label>
<caption>
<title>Economic and operational performance comparison.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Metric</th>
<th>Traditional</th>
<th>LSTM&#x2013;MPC</th>
<th>Proposed</th>
<th>Improvement</th>
</tr>
</thead>
<tbody>
<tr>
<td>Energy Cost</td>
<td>862.4</td>
<td>791.2</td>
<td>701.3</td>
<td>18.7%</td>
</tr>
<tr>
<td>Renewable Utilization</td>
<td>64.2</td>
<td>73.5</td>
<td>79.1</td>
<td>23.2%</td>
</tr>
<tr>
<td>Battery FEC/day</td>
<td>0.47</td>
<td>0.58</td>
<td>0.70</td>
<td>48.9%</td>
</tr>
<tr>
<td>Computation Time</td>
<td>45.2</td>
<td><inline-formula id="ieqn-110"><mml:math id="mml-ieqn-110"><mml:msup><mml:mi>125.7</mml:mi><mml:mrow><mml:mrow><mml:mtext>a</mml:mtext></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td><inline-formula id="ieqn-111"><mml:math id="mml-ieqn-111"><mml:msup><mml:mi>0.8</mml:mi><mml:mrow><mml:mrow><mml:mtext>b</mml:mtext></mml:mrow></mml:mrow></mml:msup></mml:math></inline-formula></td>
<td>98.2%</td>
</tr>
<tr>
<td>Constraint Violations</td>
<td>8.7</td>
<td>3.2</td>
<td>0.3</td>
<td>96.6%</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-8fn1" fn-type="other">
<p>Note: Energy cost in Pula/MWh, computation time in ms. &#x201C;Traditional&#x201D; is a rule-based EMS. <sup>a</sup>: MILP-based MPC (Gurobi); <sup>b</sup>: Core FNN&#x002B;filter inference. End-to-end latency including LSTM forecasting is 50.8 ms.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
<sec id="s4_5">
<label>4.5</label>
<title>Grid Stability and System Validation</title>
<p>The proposed framework offers significant improvements in the stability of the electrical grid, the optimization of power flow, and the safety of the grid operations. The framework achieves exceptional levels of grid stability with only 0.08% average voltage deviation (<xref ref-type="table" rid="table-9">Table 9</xref>). <xref ref-type="fig" rid="fig-6">Fig. 6</xref> indicates that the voltage levels remain within the range of 5000 <inline-formula id="ieqn-114"><mml:math id="mml-ieqn-114"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula> 5 V (0.1%) for 99.97% of normal operation and a peak deviation of 22 V (0.44%) during extreme conditions. The occurrences of safety violations reduce from 3.2% to 0.2% as the percentage of normal operation, and the success of islanding mode is 98.7% with frequency deviation within <inline-formula id="ieqn-115"><mml:math id="mml-ieqn-115"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula>0.5% and voltage within <inline-formula id="ieqn-116"><mml:math id="mml-ieqn-116"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula>1% within 150 ms. These results are presented in <xref ref-type="table" rid="table-9">Table 9</xref>.</p>
<table-wrap id="table-9">
<label>Table 9</label>
<caption>
<title>Grid stability performance comparison.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Metric</th>
<th>Trad.</th>
<th>LSTM&#x2013;MPC</th>
<th>Proposed</th>
<th>Imp.</th>
</tr>
</thead>
<tbody>
<tr>
<td>Voltage Deviation (%)</td>
<td>2.15</td>
<td>1.42</td>
<td>0.08</td>
<td>96.3%</td>
</tr>
<tr>
<td>Safety Violations (%)</td>
<td>3.2</td>
<td>1.8</td>
<td>0.2</td>
<td>93.8%</td>
</tr>
<tr>
<td>Islanding Success (%)</td>
<td>85.4</td>
<td>92.1</td>
<td>98.7</td>
<td>15.6%</td>
</tr>
<tr>
<td>Frequency Deviation (%)</td>
<td>0.32</td>
<td>0.21</td>
<td>0.08</td>
<td>75.0%</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-9fn1" fn-type="other">
<p>Note: Voltage deviation is the average absolute deviation from 5000 V, expressed as a percentage of nominal. Safety violations are the percentage of 15-min intervals where any operational constraint was violated. Islanding success is the percentage of successful transitions to islanded mode without tripping. Frequency deviation is the average absolute deviation from 50 Hz.</p>
</fn>
</table-wrap-foot>
</table-wrap><fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Voltage stability analysis: (<bold>a</bold>) 24-h voltage profile at PCC showing tight regulation within 5000 <inline-formula id="ieqn-117"><mml:math id="mml-ieqn-117"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula> 5 V (dashed lines); (<bold>b</bold>) voltage deviations during load transients, with maximum deviation of 22 V annotated at the peak of a 5.1 MW/min ramp; (<bold>c</bold>) statistical distribution of voltage measurements (histogram) with overlaid normal curve, confirming 99.97% compliance with <inline-formula id="ieqn-118"><mml:math id="mml-ieqn-118"><mml:mo>&#x00B1;</mml:mo></mml:math></inline-formula>0.1% bounds (marked by vertical lines).</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_79449-fig-6.tif"/>
</fig>
<p>Power flow optimization reduces grid dependency by 27.8% while increasing solar utilization by 87.8% and tripling battery discharge energy (<xref ref-type="table" rid="table-10">Table 10</xref>). Curtailment decreases by 82.5% through coordinated resource management. The power flow distribution in <xref ref-type="table" rid="table-10">Table 10</xref> directly supports the economic and renewable utilization claims made in <xref ref-type="sec" rid="s4_4">Section 4.4</xref>.</p>
<table-wrap id="table-10">
<label>Table 10</label>
<caption>
<title>Power flow distribution (90-day test).</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Source</th>
<th>Traditional </th>
<th>LSTM&#x2013;MPC (MWh)</th>
<th>Proposed (MWh)</th>
<th>Load (%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Grid Import</td>
<td>278.6</td>
<td>228.4</td>
<td>201.2</td>
<td>65.1</td>
</tr>
<tr>
<td>PV Consumption</td>
<td>69.9</td>
<td>100.7</td>
<td>131.3</td>
<td>42.5</td>
</tr>
<tr>
<td>Battery Discharge</td>
<td>24.1</td>
<td>43.9</td>
<td>72.5</td>
<td>23.5</td>
</tr>
<tr>
<td>Curtailed Solar</td>
<td>28.0</td>
<td>13.9</td>
<td>4.9</td>
<td>1.6</td>
</tr>
<tr>
<td><bold>Total Load</bold></td>
<td><bold>308.9</bold></td>
<td><bold>309.0</bold></td>
<td><bold>308.8</bold></td>
<td><bold>100</bold></td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-10fn1" fn-type="other">
<p>Note: All values are in MWh over the 90-day test period. The &#x201C;Load (%)&#x201D; column indicates the percentage of total load supplied by each source. PV consumption refers to solar power directly used; curtailed solar is the amount not utilized due to grid or battery limits.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p>The component attribution analysis of the proposed method leads to a confirmation of the benefits of each component. The results of the analysis show that the LSTM-based cost and voltage deviation reduction is 4.9% and 77.3%, respectively. The safety filter also led to a reduction in the number of safety violations from 1.2% to 0.2%, which is 83.3%, and improved the success of islanding operations by 4.6%. These results are visualized in <xref ref-type="fig" rid="fig-7">Fig. 7c</xref> and quantified in <xref ref-type="table" rid="table-11">Table 11</xref>.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Impact of forecast error: (<bold>a</bold>) correlation between the error in the load forecast and the deviation of the voltage (scatter plot and trend line); (<bold>b</bold>) the activation rate of the safety filter relative to the magnitude of the error made in the load forecast; (<bold>c</bold>) the contribution of each component towards the improvements in the evaluated metrics.</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="EE_79449-fig-7.tif"/>
</fig><table-wrap id="table-11">
<label>Table 11</label>
<caption>
<title>Ablation study: component attribution analysis.</title>
</caption>
<table>
<colgroup>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/>
<col align="center"/> </colgroup>
<thead>
<tr>
<th>Config.</th>
<th>Cost (P/MWh)</th>
<th>Safety (%)</th>
<th>Voltage (%)</th>
<th>Renew. (%)</th>
<th>Island (%)</th>
</tr>
</thead>
<tbody>
<tr>
<td>FNN Only</td>
<td>752.4</td>
<td>4.8</td>
<td>1.85</td>
<td>68.2</td>
<td>89.3</td>
</tr>
<tr>
<td>LSTM &#x002B; FNN</td>
<td>715.8</td>
<td>1.2</td>
<td>0.42</td>
<td>74.9</td>
<td>94.1</td>
</tr>
<tr>
<td>Full</td>
<td>701.3</td>
<td>0.2</td>
<td>0.08</td>
<td>79.1</td>
<td>98.7</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn id="table-11fn1" fn-type="other">
<p>Note: Configurations: &#x201C;FNN Only&#x201D; uses a persistence forecast (no LSTM) and the FNN policy without a safety filter. &#x201C;LSTM &#x002B; FNN&#x201D; includes LSTM forecasts but no safety filter. &#x201C;Full&#x201D; is the complete proposed framework. Cost is in Pula/MWh; safety violations are in % of intervals; voltage deviation is in % of nominal; renewable utilization is in % of total load; islanding success is in %.</p>
</fn>
</table-wrap-foot>
</table-wrap>
<p><xref ref-type="fig" rid="fig-7">Fig. 7a</xref> shows that the error made in the load forecast is positively correlated with voltage deviations from the nominal (Pearson&#x2019;s <inline-formula id="ieqn-119"><mml:math id="mml-ieqn-119"><mml:mi>r</mml:mi><mml:mo>=</mml:mo><mml:mn>0.42</mml:mn></mml:math></inline-formula>). Also, as illustrated in <xref ref-type="fig" rid="fig-7">Fig. 7b</xref>, the safety filter is activated more often as the error in the load forecast increases. Finally, the contribution of each component is summarized in <xref ref-type="fig" rid="fig-7">Fig. 7c</xref> and in <xref ref-type="table" rid="table-11">Table 11</xref>.</p>

<p>The results of the ablation study are provided in <xref ref-type="table" rid="table-11">Table 11</xref>. The results show that the cost increases by 7.3%, and the voltage deviation increases by 23 times for the FNN Only configuration. For the LSTM&#x002B;FNN configuration, the safety filter is not active, and the number of constraint violations increases from 0.2% to 1.2%, a six-fold increase. These results further confirm that both the LSTM-based forecasting and the safety filter are essential components of this framework.</p>

<p>The results of this analysis also allow confirming that the developed framework meets or exceeds the standards required by the IEEE 1547 for voltage regulation (0.1% achieved vs. 5% required) and mining industry voltage tolerance (0.1% achieved vs. 0.5% required). Given the assumptions made in the modeling of these components, the results also indicate significant improvements in the performance of these operations when applied to real mining operations.</p>
</sec>
<sec id="s4_6">
<label>4.6</label>
<title>Discussion and Performance Analysis</title>
<p>The experimental results show that the proposed framework can provide a promising solution to the mentioned problems of interest. The achieved 18.7% reduction in the operational energy cost is mainly due to the intelligent scheduling of the battery. This intelligent scheduling allows the framework to buy less from the grid and use more of the solar energy that is generated onsite.</p>
<p>The increased percentage of utilized renewable energy, up to 79.1%, is due to the short-term forecast of the renewable energy provided by the LSTM model. The FNN-based optimizer benefits from having this information to help it make decisions that minimize the amount of solar energy curtailed.</p>
<p>The results of the ablation study (see <xref ref-type="table" rid="table-11">Table 11</xref>) also indicate that by replacing the LSTM-based renewable energy forecast with a model that simply persists the most recent renewable energy value (the persistence model), there is a 6.2% drop in the amount of renewable energy that is utilized by the system.</p>

<p>The level of grid stability improved, with the percentage of voltage deviation reduced to 0.08%. This is a more general indicator of the quality of the electrical power supplied to the grid.</p>
<p>The criticality of the convex safety filter is also evident. The safety filter was activated 12.3% of the time, preventing 142 potential constraint violations. The majority (68%) of these constraint violations happened during periods of high load and generation ramps. The safety filter introduced a 12.5% adjustment in the FNN&#x2019;s proposed action. Furthermore, the ablation study confirms that this safety filter is necessary, as disabling it would lead to a 312% increase in potential constraint violations.</p>
<p>The increased level of battery cycling is a trade-off that the framework makes to achieve higher cost savings and self-consumption of renewable energy. The framework includes a linearized degradation cost in the FNN&#x2019;s training loss function, following models from [<xref ref-type="bibr" rid="ref-32">32</xref>,<xref ref-type="bibr" rid="ref-33">33</xref>]. The increase in cycling to 22% is countered by the fact that the average depth-of-discharge is only 40%, and the degradation cost is factored into the cost savings.</p>
<p>The most critical aspect of the computational results is the calculation of the inference time. The results show that the FNN and convex safety filter both require, on average, only 0.8 ms to be executed in Python on a standard desktop CPU.</p>
<p>Cross-referencing the results: <xref ref-type="fig" rid="fig-5">Fig. 5</xref> shows the level of volatility in the load. The predictions made by the LSTM model (see <xref ref-type="table" rid="table-7">Table 7</xref>) can capture this level of volatility. The activation of the safety filter (see <xref ref-type="fig" rid="fig-7">Fig. 7b</xref>) coincides with periods of high forecast errors. The economic benefits (see <xref ref-type="table" rid="table-8">Table 8</xref>) result from the improved levels of renewable energy utilization and grid power reduction (see <xref ref-type="table" rid="table-10">Table 10</xref>). These results taken together confirm how the proposed framework can effectively address the challenges posed by the mining process as described in <xref ref-type="sec" rid="s2">Section 2</xref>.</p>

</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Limitations and Future Analysis</title>
<p>This paper also has a few important limitations. The first relates to the fact that the energy values shown are energy per 15-min dispatch interval for a representative feeder rather than total mine consumption. The second limitation relates to the fact that the voltage stability metric is only a high-level measure, and a detailed model of the electrical network is required to fully assess power quality, which is part of the future work. The third limitation is that while the safety filter is designed to provide deterministic robustness against forecast errors, there is no formal stochastic guarantee. The fourth limitation is that performance is only measured on a two-year dataset from a single mine. Generalization to other sites would require training on data from those sites. The fifth and final limitation is that although the MPC method used was standard, a well-tuned convex MPC would likely have achieved lower runtimes. Despite this, the qualitative results support the conclusion that the method is computationally efficient.</p>
</sec>
<sec id="s6">
<label>6</label>
<title>Conclusion and Future Work</title>
<sec id="s6_1">
<label>6.1</label>
<title>Conclusion</title>
<p>This research presents a novel architecture that seamlessly integrates the features of both LSTMs and FNNs to enable effective energy management for mining microgrids. Conventional energy management systems tend to fail in the specific scenarios typical of mining operations.</p>
<p>The proposed architecture achieves a reduction in operational costs of 18.7%, increases the percentage of energy from renewable sources to 79.1%, and limits voltage deviations to 0.08%. The average time to reach an optimal decision via the proposed framework is 0.8 ms for the optimization and 50.8 ms for the entire system. In addition, the results show that the inclusion of the convex safety filter is critical to preventing constraint violations in 12.3% of time steps and improving stability by 96.3%.</p>
<p>The improvements achieved by this method are primarily due to three factors. First, the coupling of the LSTM and FNN components ensures that the decisions made by the optimizer are based on accurate forecasts. Second, the mining-specific constraints allow the algorithm to consider the costs of factors such as battery degradation and equipment operation. Finally, the convex safety filter ensures that the proposed solution is viable to be deployed within mining microgrids in real time.</p>
<p>Furthermore, the validation conducted on real-world mining data from Botswana illustrates that the proposed method is applicable to real-world mining scenarios and outperforms existing methods.</p>
<p>This study also makes theoretical as well as practical contributions to the existing literature in the area of energy management for microgrids. The theoretical findings suggest that using the proposed architecture, especially the integration of the safety filter, can achieve accurate and safe operations. In addition, the proposed method is practical because it can be readily applied to existing mining operations to improve the energy management of mining microgrids.</p>
</sec>
<sec id="s6_2">
<label>6.2</label>
<title>Future Work</title>
<p>The future work that will be performed in the context of this project will include the following topics:<list list-type="simple">
<list-item>
<label>(1)</label>
<p>Hardware-in-the-Loop (HIL) validation, commercial EMS integration, and dynamic EMT simulations to validate voltage stability claims.</p></list-item>
<list-item>
<label>(2)</label>
<p>Extensions to support energy trading between microgrids within large mining operations to improve cost efficiency [<xref ref-type="bibr" rid="ref-36">36</xref>].</p></list-item>
<list-item>
<label>(3)</label>
<p>Online learning techniques to provide long-term performance optimization.</p></list-item>
<list-item>
<label>(4)</label>
<p>Incorporation of robust and stochastic optimization techniques for improved reliability in the face of extreme uncertainty [<xref ref-type="bibr" rid="ref-37">37</xref>].</p></list-item>
<list-item>
<label>(5)</label>
<p>Incorporation of additional renewable sources (wind, hydro) and energy storage technologies.</p></list-item>
<list-item>
<label>(6)</label>
<p>Development of secure communication protocols.</p></list-item>
<list-item>
<label>(7)</label>
<p>Integration of long-term planning to enable optimal management of the equipment lifecycle.</p></list-item>
<list-item>
<label>(8)</label>
<p>Development of explainable AI tools to provide decision support and build trust with human operators [<xref ref-type="bibr" rid="ref-38">38</xref>,<xref ref-type="bibr" rid="ref-39">39</xref>].</p></list-item>
<list-item>
<label>(9)</label>
<p>Application of the proposed methodology to multiple mine sites.</p></list-item>
<list-item>
<label>(10)</label>
<p>Integration of chance constraints or distributionally robust optimization for safety guarantees.</p></list-item>
</list></p>
<p>In addition to mining operations, this framework can also be adapted to other types of industries. The framework will allow for the adaptation to the requirements of different regulations and policies.</p>
</sec>
</sec>
</body>
<back>
<ack>
<p>The authors would like to thank Botswana International University of Science and Technology (BIUST). The authors would like to thank the management and engineering teams at Jwaneng Mine for their support.</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>The authors received no specific funding for this study.</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>The authors confirm contribution to the paper as follows: conceptualization, Sravani Parvathareddy and Abid Yahya; methodology, Sravani Parvathareddy; software, Sravani Parvathareddy; validation, Sravani Parvathareddy, Lilian Amuhaya and Ravi Samikannu; formal analysis, Sravani Parvathareddy; investigation, Sravani Parvathareddy; resources, Ravi Samikannu; data curation, Sravani Parvathareddy; writing&#x2014;original draft preparation, Sravani Parvathareddy; writing&#x2014;review and editing, Sravani Parvathareddy and Raymond S. Suglo; visualization, Sravani Parvathareddy; supervision, Abid Yahya; project administration, Ravi Samikannu; funding acquisition, not applicable. All authors reviewed and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability">
<title>Availability of Data and Materials</title>
<p>The data that support the findings of this study are available from the Corresponding Author, Sravani Parvathareddy, upon reasonable request.</p>
</sec>
<sec>
<title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest.</p>
</sec>
<glossary content-type="abbreviations" id="glossary-1">
<title>Nomenclature</title>
<def-list>
<def-item>
<term><inline-formula id="ieqn-120"><mml:math id="mml-ieqn-120"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>System state vector at time <inline-formula id="ieqn-121"><mml:math id="mml-ieqn-121"><mml:mi>t</mml:mi></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-122"><mml:math id="mml-ieqn-122"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">u</mml:mtext></mml:mrow><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Control action vector at time <inline-formula id="ieqn-123"><mml:math id="mml-ieqn-123"><mml:mi>t</mml:mi></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-124"><mml:math id="mml-ieqn-124"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>load</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Load demand at time <inline-formula id="ieqn-125"><mml:math id="mml-ieqn-125"><mml:mi>t</mml:mi></mml:math></inline-formula> (MW)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-126"><mml:math id="mml-ieqn-126"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>pv</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Solar PV power output at time <inline-formula id="ieqn-127"><mml:math id="mml-ieqn-127"><mml:mi>t</mml:mi></mml:math></inline-formula> (MW)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-128"><mml:math id="mml-ieqn-128"><mml:msub><mml:mtext>SOC</mml:mtext><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Battery state of charge at time <inline-formula id="ieqn-129"><mml:math id="mml-ieqn-129"><mml:mi>t</mml:mi></mml:math></inline-formula> (pu)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-130"><mml:math id="mml-ieqn-130"><mml:msub><mml:mi>&#x03BB;</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Electricity price at time <inline-formula id="ieqn-131"><mml:math id="mml-ieqn-131"><mml:mi>t</mml:mi></mml:math></inline-formula> (BWP kW-1 h)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-132"><mml:math id="mml-ieqn-132"><mml:msub><mml:mi>M</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Mining operational indicator at time <inline-formula id="ieqn-133"><mml:math id="mml-ieqn-133"><mml:mi>t</mml:mi></mml:math></inline-formula></p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-134"><mml:math id="mml-ieqn-134"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>grid</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Grid power exchange at time <inline-formula id="ieqn-135"><mml:math id="mml-ieqn-135"><mml:mi>t</mml:mi></mml:math></inline-formula> (MW)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-136"><mml:math id="mml-ieqn-136"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>batt</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Battery charge/discharge power at time <inline-formula id="ieqn-137"><mml:math id="mml-ieqn-137"><mml:mi>t</mml:mi></mml:math></inline-formula> (MW)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-138"><mml:math id="mml-ieqn-138"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mtext>curtail</mml:mtext><mml:mo>,</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>PV curtailment at time <inline-formula id="ieqn-139"><mml:math id="mml-ieqn-139"><mml:mi>t</mml:mi></mml:math></inline-formula> (MW)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-140"><mml:math id="mml-ieqn-140"><mml:msub><mml:mi>V</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula></term>
<def>
<p>Voltage at point of common coupling at time <inline-formula id="ieqn-141"><mml:math id="mml-ieqn-141"><mml:mi>t</mml:mi></mml:math></inline-formula> (V)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-142"><mml:math id="mml-ieqn-142"><mml:mi mathvariant="normal">&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:math></inline-formula></term>
<def>
<p>Control interval (0.25 h)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-143"><mml:math id="mml-ieqn-143"><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mtext>ch</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula id="ieqn-144"><mml:math id="mml-ieqn-144"><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mrow><mml:mtext>dis</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Battery charging/discharging efficiency</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-145"><mml:math id="mml-ieqn-145"><mml:msub><mml:mi>E</mml:mi><mml:mrow><mml:mtext>rated</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula></term>
<def>
<p>Battery rated capacity (MW h)</p>
</def>
</def-item>
<def-item>
<term><inline-formula id="ieqn-146"><mml:math id="mml-ieqn-146"><mml:mrow><mml:mi>&#x1D4B0;</mml:mi></mml:mrow></mml:math></inline-formula></term>
<def>
<p>Feasible action set</p>
</def>
</def-item>
<def-item>
<term>MAE</term>
<def>
<p>Mean Absolute Error</p>
</def>
</def-item>
<def-item>
<term>RMSE</term>
<def>
<p>Root Mean Square Error</p>
</def>
</def-item>
<def-item>
<term>MAPE</term>
<def>
<p>Mean Absolute Percentage Error</p>
</def>
</def-item>
<def-item>
<term>PCC</term>
<def>
<p>Point of Common Coupling</p>
</def>
</def-item>
<def-item>
<term>DoD</term>
<def>
<p>Depth of Discharge</p>
</def>
</def-item>
<def-item>
<term>HIL</term>
<def>
<p>Hardware-in-the-Loop</p>
</def>
</def-item>
<def-item>
<term>QP</term>
<def>
<p>Quadratic Programming</p>
</def>
</def-item>
<def-item>
<term>OSQP</term>
<def>
<p>Operator Splitting Quadratic Program</p>
</def>
</def-item>
</def-list>
</glossary>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Akinyele</surname> <given-names>D</given-names></string-name>, <string-name><surname>Rayudu</surname> <given-names>R</given-names></string-name></person-group>. <article-title>Review of energy storage technologies for sustainable power networks</article-title>. <source>Sustain Energy Technol Assess</source>. <year>2015</year>;<volume>11</volume>(<issue>2</issue>):<fpage>74</fpage>&#x2013;<lpage>91</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.seta.2014.07.004</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Farhangi</surname> <given-names>H</given-names></string-name></person-group>. <article-title>The path of the smart grid</article-title>. <source>IEEE Power Energy Mag</source>. <year>2010</year>;<volume>8</volume>(<issue>1</issue>):<fpage>18</fpage>&#x2013;<lpage>28</lpage>. doi:<pub-id pub-id-type="doi">10.1109/mpe.2009.934876</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Guerrero</surname> <given-names>JM</given-names></string-name>, <string-name><surname>Loh</surname> <given-names>PC</given-names></string-name>, <string-name><surname>Lee</surname> <given-names>T</given-names></string-name>, <string-name><surname>Chandorkar</surname> <given-names>M</given-names></string-name></person-group>. <article-title>Advanced control architectures for intelligent microgrids&#x2014;Part II: power quality, energy storage, and AC/DC microgrids</article-title>. <source>IEEE Trans Ind Electron</source>. <year>2013</year>;<volume>60</volume>(<issue>4</issue>):<fpage>1263</fpage>&#x2013;<lpage>70</lpage>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Katiraei</surname> <given-names>F</given-names></string-name>, <string-name><surname>Iravani</surname> <given-names>MR</given-names></string-name></person-group>. <article-title>Power management strategies for a microgrid with multiple distributed generation units</article-title>. <source>IEEE Trans Power Syst</source>. <year>2006</year>;<volume>21</volume>(<issue>4</issue>):<fpage>1821</fpage>&#x2013;<lpage>31</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tpwrs.2006.879260</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Alhelou</surname> <given-names>HH</given-names></string-name>, <string-name><surname>Golshan</surname> <given-names>MEH</given-names></string-name>, <string-name><surname>Zamani</surname> <given-names>R</given-names></string-name>, <string-name><surname>Heydarian-Forushani</surname> <given-names>E</given-names></string-name>, <string-name><surname>Siano</surname> <given-names>P</given-names></string-name></person-group>. <article-title>Challenges and opportunities of load frequency control in conventional, modern and future smart power systems: a comprehensive review</article-title>. <source>Energies</source>. <year>2022</year>;<volume>15</volume>(<issue>3</issue>):<fpage>846</fpage>. doi:<pub-id pub-id-type="doi">10.3390/en11102497</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Gatsis</surname> <given-names>N</given-names></string-name>, <string-name><surname>Giannakis</surname> <given-names>GB</given-names></string-name></person-group>. <article-title>Robust energy management for microgrids with high-penetration renewables</article-title>. <source>IEEE Trans Sustain Energy</source>. <year>2019</year>;<volume>10</volume>(<issue>2</issue>):<fpage>850</fpage>&#x2013;<lpage>60</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tste.2013.2255135</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Smith</surname> <given-names>J</given-names></string-name>, <string-name><surname>Johnson</surname> <given-names>R</given-names></string-name></person-group>. <article-title>Analysis of load volatility in mining operations: implications for microgrid design</article-title>. In: <conf-name>Proceedings of the 2020 IEEE Industry Applications Society Annual Meeting; 2020 Oct 10&#x2013;16</conf-name>; <publisher-loc>Detroit, MI, USA</publisher-loc>. p. <fpage>1</fpage>&#x2013;<lpage>8</lpage>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Brown</surname> <given-names>K</given-names></string-name>, <string-name><surname>Williams</surname> <given-names>L</given-names></string-name></person-group>. <article-title>Cost analysis of voltage deviations in mining operations</article-title>. In: <conf-name>Proceedings of the 2022 IEEE Power &#x0026; Energy Society General Meeting; 2022 Jul 17&#x2013;21</conf-name>; <publisher-loc>Denver, CO, USA</publisher-loc>. p. <fpage>1</fpage>&#x2013;<lpage>5</lpage>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Pipattanasomporn</surname> <given-names>M</given-names></string-name>, <string-name><surname>Kuzlu</surname> <given-names>M</given-names></string-name>, <string-name><surname>Rahman</surname> <given-names>S</given-names></string-name></person-group>. <article-title>An algorithm for intelligent home energy management and demand response analysis</article-title>. <source>IEEE Trans Smart Grid</source>. <year>2014</year>;<volume>5</volume>(<issue>4</issue>):<fpage>2166</fpage>&#x2013;<lpage>73</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tsg.2012.2201182</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Mohammadi</surname> <given-names>M</given-names></string-name>, <string-name><surname>Hosseinian</surname> <given-names>SH</given-names></string-name>, <string-name><surname>Gharehpetian</surname> <given-names>GB</given-names></string-name></person-group>. <article-title>Optimization of hybrid solar energy sources/wind turbine systems integrated to utility grids as microgrid (MG) under pool/bilateral/hybrid electricity market using PSO</article-title>. <source>Sol Energy</source>. <year>2014</year>;<volume>108</volume>(<issue>1</issue>):<fpage>447</fpage>&#x2013;<lpage>58</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.solener.2011.09.011</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Li</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Gooi</surname> <given-names>HB</given-names></string-name>, <string-name><surname>Jian</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Xin</surname> <given-names>H</given-names></string-name>, <string-name><surname>Jiang</surname> <given-names>X</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Distributed robust energy management of a multimicrogrid system in the real-time energy market</article-title>. <source>IEEE Trans Sustain Energy</source>. <year>2018</year>;<volume>10</volume>(<issue>1</issue>):<fpage>396</fpage>&#x2013;<lpage>406</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tste.2017.2779827</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hossain</surname> <given-names>MA</given-names></string-name>, <string-name><surname>Pota</surname> <given-names>HR</given-names></string-name>, <string-name><surname>Squartini</surname> <given-names>S</given-names></string-name>, <string-name><surname>Abdou</surname> <given-names>AF</given-names></string-name></person-group>. <article-title>Modified PSO algorithm for real-time energy management in grid-connected microgrids</article-title>. <source>Renew Energy</source>. <year>2018</year>;<volume>136</volume>:<fpage>746</fpage>&#x2013;<lpage>57</lpage>. doi:<pub-id pub-id-type="doi">10.20944/preprints201808.0037.v1</pub-id>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hochreiter</surname> <given-names>S</given-names></string-name>, <string-name><surname>Schmidhuber</surname> <given-names>J</given-names></string-name></person-group>. <article-title>Long short-term memory</article-title>. <source>Neural Comput</source>. <year>1997</year>;<volume>9</volume>(<issue>8</issue>):<fpage>1735</fpage>&#x2013;<lpage>80</lpage>. doi:<pub-id pub-id-type="doi">10.1162/neco.1997.9.8.1735</pub-id>; <pub-id pub-id-type="pmid">9377276</pub-id></mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wang</surname> <given-names>H</given-names></string-name>, <string-name><surname>Lei</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>X</given-names></string-name>, <string-name><surname>Zhou</surname> <given-names>B</given-names></string-name>, <string-name><surname>Peng</surname> <given-names>J</given-names></string-name></person-group>. <article-title>A review of deep learning for renewable energy forecasting</article-title>. <source>Energy Convers Manag</source>. <year>2022</year>;<volume>198</volume>:<fpage>111799</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.enconman.2019.111799</pub-id>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gupta</surname> <given-names>R</given-names></string-name>, <string-name><surname>Gupta</surname> <given-names>P</given-names></string-name></person-group>. <article-title>Energy management in microgrids using machine learning based forecasting and optimization: a review</article-title>. <source>Energy Rep</source>. <year>2022</year>;<volume>8</volume>:<fpage>1021</fpage>&#x2013;<lpage>34</lpage>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hasan</surname> <given-names>KN</given-names></string-name>, <string-name><surname>Pota</surname> <given-names>HR</given-names></string-name>, <string-name><surname>Squartini</surname> <given-names>S</given-names></string-name>, <string-name><surname>Abdou</surname> <given-names>AF</given-names></string-name></person-group>. <article-title>Real-time energy management for grid-connected microgrids using heuristic optimization and neural networks</article-title>. <source>IEEE Access</source>. <year>2020</year>;<volume>8</volume>:<fpage>17434</fpage>&#x2013;<lpage>47</lpage>. doi:<pub-id pub-id-type="doi">10.20944/preprints201808.0037.v2</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kim</surname> <given-names>S</given-names></string-name>, <string-name><surname>Lee</surname> <given-names>J</given-names></string-name></person-group>. <article-title>Deep reinforcement learning based energy management for microgrids with renewable energy sources and energy storage systems</article-title>. <source>IEEE Trans Smart Grid</source>. <year>2021</year>;<volume>12</volume>(<issue>2</issue>):<fpage>1541</fpage>&#x2013;<lpage>53</lpage>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Hadi</surname> <given-names>M</given-names></string-name>, <string-name><surname>Elbouchikhi</surname> <given-names>E</given-names></string-name>, <string-name><surname>Zhou</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Saim</surname> <given-names>A</given-names></string-name>, <string-name><surname>Shafie-khah</surname> <given-names>M</given-names></string-name>, <string-name><surname>Siano</surname> <given-names>P</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Artificial intelligence for microgrids design, control, and maintenance: a comprehensive review and prospects</article-title>. <source>Energy Convers Manag X</source>. <year>2025</year>;<volume>27</volume>(<issue>8</issue>):<fpage>101056</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.ecmx.2025.101056</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname> <given-names>S</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>CC</given-names></string-name></person-group>. <article-title>From demand response to transactive energy: state of the art</article-title>. <source>J Mod Power Syst Clean Energy</source>. <year>2023</year>;<volume>11</volume>(<issue>1</issue>):<fpage>10</fpage>&#x2013;<lpage>25</lpage>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Bai</surname> <given-names>S</given-names></string-name>, <string-name><surname>Kolter</surname> <given-names>JZ</given-names></string-name>, <string-name><surname>Koltun</surname> <given-names>V</given-names></string-name></person-group>. <article-title>An empirical evaluation of generic convolutional and recurrent networks for sequence modeling</article-title>. <comment>arXiv:1803.01271. 2018</comment>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Vaswani</surname> <given-names>A</given-names></string-name>, <string-name><surname>Shazeer</surname> <given-names>N</given-names></string-name>, <string-name><surname>Parmar</surname> <given-names>N</given-names></string-name>, <string-name><surname>Uszkoreit</surname> <given-names>J</given-names></string-name>, <string-name><surname>Jones</surname> <given-names>L</given-names></string-name>, <string-name><surname>Gomez</surname> <given-names>AN</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Attention is all you need</article-title>. In: <conf-name>Proceedings of the 31st International Conference on Neural Information Processing Systems; 2017 Dec 4&#x2013;9</conf-name>; <publisher-loc>Long Beach, CA, USA</publisher-loc>. p. <fpage>5998</fpage>&#x2013;<lpage>6008</lpage>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Oreshkin</surname> <given-names>BN</given-names></string-name>, <string-name><surname>Carpov</surname> <given-names>D</given-names></string-name>, <string-name><surname>Chapados</surname> <given-names>N</given-names></string-name>, <string-name><surname>Bengio</surname> <given-names>Y</given-names></string-name></person-group>. <article-title>N-BEATS: neural basis expansion analysis for interpretable time series forecasting</article-title>. In: <conf-name>Proceedings of the 8th International Conference on Learning Representations; 2020 Apr 26&#x2013;30</conf-name>; <publisher-loc>Addis Ababa, Ethiopia</publisher-loc>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Millner</surname> <given-names>A</given-names></string-name>, <string-name><surname>Louie</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Microgrid optimization and dispatch with model predictive control and mixed-integer linear programming</article-title>. <source>Energy</source>. <year>2022</year>;<volume>238</volume>:<fpage>121672</fpage>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Wen</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Tao</surname> <given-names>D</given-names></string-name>, <string-name><surname>Guan</surname> <given-names>K</given-names></string-name></person-group>. <article-title>Deep reinforcement learning for smart grid: fundamentals, applications, and future directions</article-title>. <source>IEEE Access</source>. <year>2023</year>;<volume>11</volume>:<fpage>5465</fpage>&#x2013;<lpage>86</lpage>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Amos</surname> <given-names>B</given-names></string-name>, <string-name><surname>Kolter</surname> <given-names>JZ</given-names></string-name></person-group>. <article-title>OptNet: differentiable optimization as a layer in neural networks</article-title>. In: <conf-name>Proceedings of the 34th International Conference on Machine Learning; 2017 Aug 6&#x2013;11</conf-name>; <publisher-loc>Sydney, Australia</publisher-loc>. p. <fpage>136</fpage>&#x2013;<lpage>45</lpage>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Schulman</surname> <given-names>J</given-names></string-name>, <string-name><surname>Wolski</surname> <given-names>F</given-names></string-name>, <string-name><surname>Dhariwal</surname> <given-names>P</given-names></string-name>, <string-name><surname>Radford</surname> <given-names>A</given-names></string-name>, <string-name><surname>Klimov</surname> <given-names>O</given-names></string-name></person-group>. <article-title>Proximal policy optimization algorithms</article-title>. <comment>arXiv:1707.06347. 2017</comment>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nemirovski</surname> <given-names>A</given-names></string-name>, <string-name><surname>Shapiro</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Convex approximations of chance constrained programs</article-title>. <source>SIAM J Optim</source>. <year>2006</year>;<volume>17</volume>(<issue>4</issue>):<fpage>969</fpage>&#x2013;<lpage>96</lpage>. doi:<pub-id pub-id-type="doi">10.1137/050622328</pub-id>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Ben-Tal</surname> <given-names>A</given-names></string-name>, <string-name><surname>El Ghaoui</surname> <given-names>L</given-names></string-name>, <string-name><surname>Nemirovski</surname> <given-names>A</given-names></string-name></person-group>. <source>Robust optimization</source>. <publisher-loc>Princeton, NJ, USA</publisher-loc>: <publisher-name>Princeton University Press</publisher-name>; <year>2009</year>. <fpage>576</fpage> p.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ames</surname> <given-names>AD</given-names></string-name>, <string-name><surname>Xu</surname> <given-names>X</given-names></string-name>, <string-name><surname>Grizzle</surname> <given-names>JW</given-names></string-name>, <string-name><surname>Tabuada</surname> <given-names>P</given-names></string-name></person-group>. <article-title>Control barrier function based quadratic programs for safety critical systems</article-title>. <source>IEEE Trans Autom Control</source>. <year>2017</year>;<volume>62</volume>(<issue>8</issue>):<fpage>3861</fpage>&#x2013;<lpage>76</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tac.2016.2638961</pub-id>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Ray</surname> <given-names>A</given-names></string-name>, <string-name><surname>Achiam</surname> <given-names>J</given-names></string-name>, <string-name><surname>Amodei</surname> <given-names>D</given-names></string-name></person-group>. <article-title>Benchmarking safe exploration in deep reinforcement learning</article-title>. <comment>arXiv:1910.01708. 2019</comment>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Achiam</surname> <given-names>J</given-names></string-name>, <string-name><surname>Held</surname> <given-names>D</given-names></string-name>, <string-name><surname>Tamar</surname> <given-names>A</given-names></string-name>, <string-name><surname>Abbeel</surname> <given-names>P</given-names></string-name></person-group>. <article-title>Constrained policy optimization</article-title>. In: <conf-name>Proceedings of the 34th International Conference on Machine Learning; 2017 Aug 6&#x2013;11</conf-name>; <publisher-loc>Sydney, Australia</publisher-loc>. p. <fpage>22</fpage>&#x2013;<lpage>31</lpage>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xu</surname> <given-names>B</given-names></string-name>, <string-name><surname>Oudalov</surname> <given-names>A</given-names></string-name>, <string-name><surname>Ulbig</surname> <given-names>A</given-names></string-name>, <string-name><surname>Andersson</surname> <given-names>G</given-names></string-name>, <string-name><surname>Kirschen</surname> <given-names>DS</given-names></string-name></person-group>. <article-title>Modeling of lithium-ion battery degradation for cell life assessment</article-title>. <source>IEEE Trans Smart Grid</source>. <year>2018</year>;<volume>9</volume>(<issue>2</issue>):<fpage>1131</fpage>&#x2013;<lpage>40</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tsg.2016.2578950</pub-id>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Smith</surname> <given-names>K</given-names></string-name>, <string-name><surname>Saxon</surname> <given-names>A</given-names></string-name>, <string-name><surname>Keyser</surname> <given-names>M</given-names></string-name>, <string-name><surname>Lundstrom</surname> <given-names>B</given-names></string-name>, <string-name><surname>Cao</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Roc</surname> <given-names>A</given-names></string-name></person-group>. <article-title>Life prediction model for grid-connected Li-ion battery energy storage system</article-title>. In: <conf-name>Proceedings of the 2017 American Control Conference; 2017 May 24&#x2013;26</conf-name>; <publisher-loc>Seattle, WA, USA</publisher-loc>. p. <fpage>4062</fpage>&#x2013;<lpage>68</lpage>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Shi</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Xu</surname> <given-names>B</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>B</given-names></string-name></person-group>. <article-title>Using battery storage for peak shaving and frequency regulation: joint optimization for superlinear gains</article-title>. <source>IEEE Trans Power Syst</source>. <year>2019</year>;<volume>34</volume>(<issue>3</issue>):<fpage>1899</fpage>&#x2013;<lpage>908</lpage>. doi:<pub-id pub-id-type="doi">10.1109/pesgm.2018.8586227</pub-id>.</mixed-citation></ref>
<ref id="ref-35"><label>[35]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Stellato</surname> <given-names>B</given-names></string-name>, <string-name><surname>Banjac</surname> <given-names>G</given-names></string-name>, <string-name><surname>Goulart</surname> <given-names>P</given-names></string-name>, <string-name><surname>Bemporad</surname> <given-names>A</given-names></string-name>, <string-name><surname>Boyd</surname> <given-names>S</given-names></string-name></person-group>. <article-title>OSQP: an operator splitting solver for quadratic programs</article-title>. <source>Math Program Comput</source>. <year>2020</year>;<volume>12</volume>(<issue>4</issue>):<fpage>637</fpage>&#x2013;<lpage>72</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s12532-020-00179-2</pub-id>.</mixed-citation></ref>
<ref id="ref-36"><label>[36]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Smith</surname> <given-names>J</given-names></string-name>, <string-name><surname>Johnson</surname> <given-names>K</given-names></string-name></person-group>. <article-title>Distributed computing in multi-agent systems: a survey of decentralized machine learning approaches</article-title>. <source>J Parallel Distrib Comput</source>. <year>2024</year>;<volume>180</volume>:<fpage>104</fpage>&#x2013;<lpage>20</lpage>.</mixed-citation></ref>
<ref id="ref-37"><label>[37]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Maaruf</surname> <given-names>M</given-names></string-name>, <string-name><surname>Khan</surname> <given-names>K</given-names></string-name>, <string-name><surname>Khalid</surname> <given-names>M</given-names></string-name></person-group>. <article-title>Robust control for optimized islanded and grid-connected operation of solar/wind/battery hybrid energy systems</article-title>. <source>Sustainability</source>. <year>2022</year>;<volume>14</volume>(<issue>9</issue>):<fpage>5673</fpage>. doi:<pub-id pub-id-type="doi">10.3390/su14095673</pub-id>.</mixed-citation></ref>
<ref id="ref-38"><label>[38]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Nguyen</surname> <given-names>H</given-names></string-name>, <string-name><surname>Tran</surname> <given-names>L</given-names></string-name></person-group>. <article-title>Optimizing performance metrics with new distance and similarity measures using control parameters of linear Diophantine fuzzy sets</article-title>. <source>IEEE Trans Fuzzy Syst</source>. <year>2023</year>;<volume>31</volume>(<issue>5</issue>):<fpage>1500</fpage>&#x2013;<lpage>12</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.engappai.2025.112557</pub-id>.</mixed-citation></ref>
<ref id="ref-39"><label>[39]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Qayyum</surname> <given-names>M</given-names></string-name>, <string-name><surname>Farooq</surname> <given-names>D</given-names></string-name>, <string-name><surname>Riaz</surname> <given-names>M</given-names></string-name>, <string-name><surname>Pamucar</surname> <given-names>D</given-names></string-name></person-group>. <article-title>Preferences relative ordering by frequency inclusion technique (PROFIT) for optimizing performance evaluation</article-title>. <source>Appl Soft Comput</source>. <year>2025</year>;<volume>184</volume>(<issue>1</issue>):<fpage>113807</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.asoc.2025.113807</pub-id>.</mixed-citation></ref>
</ref-list>
</back></article>