<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article">
 <front>
  <journal-meta>
   <journal-id journal-id-type="publisher-id">
    ojapps
   </journal-id>
   <journal-title-group>
    <journal-title>
     Open Journal of Applied Sciences
    </journal-title>
   </journal-title-group>
   <issn pub-type="epub">
    2165-3917
   </issn>
   <issn publication-format="print">
    2165-3925
   </issn>
   <publisher>
    <publisher-name>
     Scientific Research Publishing
    </publisher-name>
   </publisher>
  </journal-meta>
  <article-meta>
   <article-id pub-id-type="doi">
    10.4236/ojapps.2025.1511242
   </article-id>
   <article-id pub-id-type="publisher-id">
    ojapps-147381
   </article-id>
   <article-categories>
    <subj-group subj-group-type="heading">
     <subject>
      Articles
     </subject>
    </subj-group>
    <subj-group subj-group-type="Discipline-v2">
     <subject>
      Biomedical 
     </subject>
     <subject>
       Life Sciences, Chemistry 
     </subject>
     <subject>
       Materials Science, Computer Science 
     </subject>
     <subject>
       Communications, Engineering, Physics 
     </subject>
     <subject>
       Mathematics
     </subject>
    </subj-group>
   </article-categories>
   <title-group>
    Optimizing Pulsatile Energy Consumption in Blood Pumps with PSO
   </title-group>
   <contrib-group>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Binfeng
      </surname>
      <given-names>
       Shi
      </given-names>
     </name>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Zhe
      </surname>
      <given-names>
       Gou
      </given-names>
     </name>
    </contrib>
    <contrib contrib-type="author" xlink:type="simple">
     <name name-style="western">
      <surname>
       Jianping
      </surname>
      <given-names>
       Tan
      </given-names>
     </name>
    </contrib>
   </contrib-group> 
   <aff id="affnull">
    <addr-line>
     aThe College of Mechanical and Electrical Engineering, Central South University, Changsha, China
    </addr-line> 
   </aff> 
   <pub-date pub-type="epub">
    <day>
     31
    </day> 
    <month>
     10
    </month>
    <year>
     2025
    </year>
   </pub-date> 
   <volume>
    15
   </volume> 
   <issue>
    11
   </issue>
   <fpage>
    3730
   </fpage>
   <lpage>
    3743
   </lpage>
   <history>
    <date date-type="received">
     <day>
      10,
     </day>
     <month>
      November
     </month>
     <year>
      2025
     </year>
    </date>
    <date date-type="published">
     <day>
      18,
     </day>
     <month>
      November
     </month>
     <year>
      2025
     </year> 
    </date> 
    <date date-type="accepted">
     <day>
      18,
     </day>
     <month>
      November
     </month>
     <year>
      2025
     </year> 
    </date>
   </history>
   <permissions>
    <copyright-statement>
     © Copyright 2014 by authors and Scientific Research Publishing Inc. 
    </copyright-statement>
    <copyright-year>
     2014
    </copyright-year>
    <license>
     <license-p>
      This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/
     </license-p>
    </license>
   </permissions>
   <abstract>
    Blood pump is a vital therapy for heart failure. Acting as the core device, it partially or fully supports the heart’s pumping function, providing crucial support for patients with end-stage heart failure. Nevertheless, achieving efficient pulsatile output from blood pumps presents a significant challenge in terms of energy consumption. Pulsatile operation necessitates frequent acceleration and deceleration of the drive motor, a process that incurs substantial energy expenditure. High energy consumption directly shortens battery life and impedes device miniaturization and portability, constituting a key bottleneck hindering clinical application that urgently requires resolution. This study applies the Particle Swarm Optimization (PSO) algorithm for the global optimization design of pulsatile speed control curves for blood pumps. An energy consumption model quantified by average power and a blood pump-cardiovascular coupling model based on the hydraulic characteristics of the pump is constructed, incorporating the constraints that must be satisfied during pulsation. Combined with the PSO algorithm, key speed points of the speed curve are automatically iterated and optimized. This systematic approach aims to explore and identify the optimal speed control curve that minimizes energy consumption while complying with normal human physiological indicators. It helps to provide a novel optimization design methodology for speed control curves, facilitating the development of a new generation of low-power, highly intelligent portable pulsatile blood pumps, holding significant theoretical value and promising clinical application prospects.
   </abstract>
   <kwd-group> 
    <kwd>
     Blood Pump
    </kwd> 
    <kwd>
      Pulsatile Energy Consumption Optimization
    </kwd> 
    <kwd>
      Particle Swarm Optimization Algorithm
    </kwd>
   </kwd-group>
  </article-meta>
 </front>
 <body>
  <sec id="s1">
   <title>1. Introduction</title>
   <p>
    <xref ref-type="bibr" rid="scirp.147381-"></xref>Currently, over 64.3 million people worldwide suffer from heart failure <xref ref-type="bibr" rid="scirp.147381-1">
     [1]
    </xref>. As one of the leading causes of mortality globally, end-stage heart failure faces a critical shortage of donor hearts for transplantation, making ventricular assist devices (blood pump) a vital therapy for sustaining life <xref ref-type="bibr" rid="scirp.147381-2">
     [2]
    </xref>. Acting as the core device, the blood pump partially or fully assumes the heart’s pumping function, providing crucial support for patients with end-stage heart failure <xref ref-type="bibr" rid="scirp.147381-2">
     [2]
    </xref>. Most blood pumps operate in continuous-flow mode; however, their non-physiological flow patterns can lead to complications such as gastrointestinal bleeding and the loss of arterial pulsatility <xref ref-type="bibr" rid="scirp.147381-3">
     [3]
    </xref> <xref ref-type="bibr" rid="scirp.147381-4">
     [4]
    </xref>. To address this, researchers are dedicated to developing pulsatile flow control strategies for blood pumps. By periodically modulating the impeller speed to mimic physiological pulsatile blood flow, the aim is to improve perfusion of end organs and enhance patient clinical outcomes <xref ref-type="bibr" rid="scirp.147381-5">
     [5]
    </xref>.</p>
   <p>Nevertheless, achieving efficient pulsatile output from blood pumps presents a significant challenge in terms of energy consumption. Pulsatile operation necessitates frequent acceleration and deceleration of the drive motor, a process that incurs substantial energy expenditure. High energy consumption directly shortens battery life and impedes device miniaturization and portability, constituting a key bottleneck hindering clinical application that urgently requires resolution.</p>
   <p>Research focused on optimizing the energy consumption of blood pumps remains limited. Liu employed a variable current control method to optimize energy use during the pump startup phase <xref ref-type="bibr" rid="scirp.147381-6">
     [6]
    </xref>. Based on a sine wave, Zhao established a multi-objective optimization model to sing the NSGA-II algorithm targeting left ventricular stroke work, flow pulsatility, and hydraulic power. This optimized the sine wave, reducing the pump’s hydraulic power while maintaining normal physiological indicators <xref ref-type="bibr" rid="scirp.147381-7">
     [7]
    </xref>. In other fields such as electric vehicles, rail transportation, and robotic arms, intelligent algorithms are commonly utilized to seek energy-optimal speed or trajectory profiles, achieving operational goals while minimizing energy consumption. In the electric vehicle industry, Huang et al. established an energy consumption model for the motor and combined it with a genetic algorithm for long-term speed planning in scenarios involving consecutive intersection crossings, demonstrating effective energy reduction through simulation <xref ref-type="bibr" rid="scirp.147381-8">
     [8]
    </xref>. In rail transport, Wang et al. designed an automatic train operation speed profile optimization procedure leveraging the global search capability of genetic algorithms. Combined with specific train parameters and routes, they verified that this approach meets requirements for speed protection, comfort, and energy saving <xref ref-type="bibr" rid="scirp.147381-9">
     [9]
    </xref>. Li et al. applied an improved Glowworm Swarm Optimization Algorithm (GSOANR) to optimize train speed curves, demonstrating through case studies that the improved algorithm yields better energy savings than the traditional version <xref ref-type="bibr" rid="scirp.147381-10">
     [10]
    </xref>. Regarding medical device applications, Mu et al. proposed an energy optimization method for the linear motor of a multi-leaf collimator based on speed planning. By establishing energy consumption and switching time models and optimizing them using the NSGA-II algorithm, they experimentally verified that this speed planning method reduces energy consumption while ensuring switching times <xref ref-type="bibr" rid="scirp.147381-11">
     [11]
    </xref>. In robot control, Han utilized a Particle Swarm Optimization (PSO) algorithm with a dynamic learning factor to solve for the optimal time-optimal trajectory of a robot <xref ref-type="bibr" rid="scirp.147381-12">
     [12]
    </xref>.</p>
   <p>Based on previous research, it is evident that studies on pulsatile speed control curves for blood pumps have primarily focused on enhancing blood pulsatility and achieving normal physiological perfusion <xref ref-type="bibr" rid="scirp.147381-13">
     [13]
    </xref>-<xref ref-type="bibr" rid="scirp.147381-16">
     [16]
    </xref>, with limited attention given to the associated energy consumption. Within the scarce research concerning pulsation-induced energy consumption <xref ref-type="bibr" rid="scirp.147381-7">
     [7]
    </xref>, although hydraulic power during pulsation was considered and optimized, this optimization was confined to fine-tuning parameters of a fixed-form speed curve (the sine wave). This approach heavily relies on empirical trial-and-error by researchers, making it difficult to adopt a global perspective and identify the globally optimal solution within the complex, multi-dimensional parameter space of speed curves—one that simultaneously satisfies human physiological perfusion requirements and minimizes total cycle energy consumption.</p>
   <p>To address the aforementioned issues, this study proposes the application of the Particle Swarm Optimization (PSO) algorithm for the global optimization design of pulsatile speed control curves for blood pumps. As an efficient stochastic optimization technique based on swarm intelligence, the PSO algorithm possesses powerful global search capabilities particularly suited for solving such complex, nonlinear, multi-modal optimization problems. The rest of this paper is arranged as follows. First an energy consumption model and a blood pump-cardiovascular coupling model are constructed, incorporating the constraints that must be satisfied during pulsation. Then the PSO algorithm is applied to find the optimized speed curve that minimizes energy consumption while complying with normal human physiological indicators. The efficacy of this speed curve is evaluated and compared with other typical speed curves numerically. Finally, a brief discussion is given, and the conclusion is drawn.</p>
  </sec><sec id="s2">
   <title>2. Modeling the Coupled Blood Pump-Cardiovascular System</title>
   <p>The blood pump-cardiovascular coupling model serves as the foundation for hemodynamic research on pulsatile blood pumps. In this study, such a model is established based on prior research.</p>
   <sec id="s2_1">
    <title>2.1. Hydraulic Model of the Blood Pump</title>
    <p>The expression for the hydraulic characteristic model of the blood pump is as follows:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         H 
       </mi> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
       <mi>
         q 
       </mi> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mfrac> 
        <mrow> 
         <mtext>
           d 
         </mtext> 
         <mi>
           q 
         </mi> 
        </mrow> 
        <mrow> 
         <mtext>
           d 
         </mtext> 
         <mi>
           t 
         </mi> 
        </mrow> 
       </mfrac> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
       <msup> 
        <mi>
          ω 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
      </mrow> 
     </math> (1)</p>
    <p>where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        H 
      </mi> 
     </math> represents the pressure difference across the blood pump (unit: mmHg), 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        q 
      </mi> 
     </math> denotes the flow rate generated by the pump (unit: mL/s), and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        ω 
      </mi> 
     </math> indicates the rotational speed of the pump (unit: r/min). The terms 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
      </mrow> 
     </math> to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math> are constant coefficients of the hydraulic characteristic model.</p>
    <p>As reference <xref ref-type="bibr" rid="scirp.147381-17">
      [17]
     </xref> mentioned, the blood pump was operated in a sine wave, square wave and triangle wave mode, during which data on the pressure difference across the pump and the flow rate were recorded over time. The relevant constant coefficients in Equation (1) were determined through numerical fitting using the least squares method, thus establishing the hydraulic characteristic model of the blood pump. The resulting constant coefficients of the model are presented below <xref ref-type="bibr" rid="scirp.147381-17">
      [17]
     </xref>:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mo>
         − 
       </mo> 
       <mn>
         0.582 
       </mn> 
       <mo>
         , 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mo>
         − 
       </mo> 
       <mn>
         0.06 
       </mn> 
       <mo>
         , 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mn>
         2.841 
       </mn> 
       <mo>
         × 
       </mo> 
       <msup> 
        <mrow> 
         <mn>
           10 
         </mn> 
        </mrow> 
        <mrow> 
         <mo>
           − 
         </mo> 
         <mn>
           6 
         </mn> 
        </mrow> 
       </msup> 
      </mrow> 
     </math></p>
   </sec>
   <sec id="s2_2">
    <title>2.2. Blood Pump-Cardiovascular System Model</title>
    <p>In this study, the left ventricular component of the model is developed based on reference <xref ref-type="bibr" rid="scirp.147381-17">
      [17]
     </xref> <xref ref-type="bibr" rid="scirp.147381-18">
      [18]
     </xref>. The schematic diagram of the lumped-parameter cardiovascular model with the blood pump is shown in <xref ref-type="fig" rid="fig1">
      Figure 1
     </xref>.</p>
    <fig id="fig1" position="float">
     <label>Figure 1</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.147381-"></xref>Figure 1. Blood pump-cardiovascular lumped parameter model.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/2313509-rId27.jpeg?20251121112222" />
    </fig>
    <p>The state equations of the blood pump‑cardiovascular coupling model are derived in accordance with Kirchhoff’s laws, and are expressed as:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.147381-"></xref> 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mover accent="true"> 
        <mi>
          x 
        </mi> 
        <mo>
          ˙ 
        </mo> 
       </mover> 
       <mo>
         = 
       </mo> 
       <mi>
         A 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mi>
         x 
       </mi> 
       <mo>
         + 
       </mo> 
       <mi>
         K 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mi>
         p 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         + 
       </mo> 
       <mi>
         c 
       </mi> 
       <msup> 
        <mi>
          ω 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
      </mrow> 
     </math>, where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        ω 
      </mi> 
     </math> represents the rotational speed of the blood pump in rpm. The expressions for 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         A 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         K 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>, and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         p 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> are:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         A 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <mtable> 
          <mtr> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mrow> 
               <mover accent="true"> 
                <mi>
                  C 
                </mi> 
                <mo>
                  ˙ 
                </mo> 
               </mover> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  t 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
              <mrow> 
               <mi>
                 C 
               </mi> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  t 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <mi>
                 C 
               </mi> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  t 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  R 
                </mi> 
                <mi>
                  s 
                </mi> 
               </msub> 
               <msub> 
                <mi>
                  C 
                </mi> 
                <mi>
                  R 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  R 
                </mi> 
                <mi>
                  s 
                </mi> 
               </msub> 
               <msub> 
                <mi>
                  C 
                </mi> 
                <mi>
                  R 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  R 
                </mi> 
                <mi>
                  s 
                </mi> 
               </msub> 
               <msub> 
                <mi>
                  C 
                </mi> 
                <mi>
                  s 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  R 
                </mi> 
                <mi>
                  s 
                </mi> 
               </msub> 
               <msub> 
                <mi>
                  C 
                </mi> 
                <mi>
                  s 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  C 
                </mi> 
                <mi>
                  s 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  C 
                </mi> 
                <mi>
                  A 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  C 
                </mi> 
                <mi>
                  A 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  L 
                </mi> 
                <mi>
                  S 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  L 
                </mi> 
                <mi>
                  S 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mrow> 
               <msub> 
                <mi>
                  R 
                </mi> 
                <mi>
                  C 
                </mi> 
               </msub> 
              </mrow> 
              <mrow> 
               <msub> 
                <mi>
                  L 
                </mi> 
                <mi>
                  S 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mi>
                L 
              </mi> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mi>
                L 
              </mi> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mi>
                R 
              </mi> 
              <mi>
                L 
              </mi> 
             </mfrac> 
            </mrow> 
           </mtd> 
          </mtr> 
         </mtable> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
      </mrow> 
     </math></p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         K 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <mtable> 
          <mtr> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <mi>
                 C 
               </mi> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  t 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <mi>
                 C 
               </mi> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mi>
                  t 
                </mi> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  C 
                </mi> 
                <mi>
                  R 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mn>
                1 
              </mn> 
              <mrow> 
               <msub> 
                <mi>
                  C 
                </mi> 
                <mi>
                  A 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
         </mtable> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
      </mrow> 
     </math></p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         p 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          x 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <mtable> 
          <mtr> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mrow> 
               <mi>
                 r 
               </mi> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mrow> 
                 <msub> 
                  <mi>
                    x 
                  </mi> 
                  <mn>
                    2 
                  </mn> 
                 </msub> 
                 <mo>
                   − 
                 </mo> 
                 <msub> 
                  <mi>
                    x 
                  </mi> 
                  <mn>
                    1 
                  </mn> 
                 </msub> 
                </mrow> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
              <mrow> 
               <msub> 
                <mi>
                  R 
                </mi> 
                <mi>
                  M 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mrow> 
             <mfrac> 
              <mrow> 
               <mi>
                 r 
               </mi> 
               <mrow> 
                <mo>
                  ( 
                </mo> 
                <mrow> 
                 <msub> 
                  <mi>
                    x 
                  </mi> 
                  <mn>
                    1 
                  </mn> 
                 </msub> 
                 <mo>
                   − 
                 </mo> 
                 <msub> 
                  <mi>
                    x 
                  </mi> 
                  <mn>
                    4 
                  </mn> 
                 </msub> 
                </mrow> 
                <mo>
                  ) 
                </mo> 
               </mrow> 
              </mrow> 
              <mrow> 
               <msub> 
                <mi>
                  R 
                </mi> 
                <mi>
                  A 
                </mi> 
               </msub> 
              </mrow> 
             </mfrac> 
            </mrow> 
           </mtd> 
          </mtr> 
         </mtable> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
       <mo>
         , 
       </mo> 
       <mi>
         r 
       </mi> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          ε 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          { 
        </mo> 
        <mtable columnalign="left"> 
         <mtr> 
          <mtd> 
           <mi>
             ε 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             ε 
           </mi> 
           <mo>
             &gt; 
           </mo> 
           <mn>
             0 
           </mn> 
          </mtd> 
         </mtr> 
         <mtr> 
          <mtd> 
           <mn>
             0 
           </mn> 
           <mo>
             , 
           </mo> 
           <mi>
             ε 
           </mi> 
           <mo>
             ≤ 
           </mo> 
           <mn>
             0 
           </mn> 
          </mtd> 
         </mtr> 
        </mtable> 
       </mrow> 
      </mrow> 
     </math></p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         c 
       </mi> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          [ 
        </mo> 
        <mrow> 
         <mtable> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mn>
              0 
            </mn> 
           </mtd> 
          </mtr> 
          <mtr> 
           <mtd> 
            <mrow> 
             <mo>
               − 
             </mo> 
             <mfrac> 
              <mrow> 
               <msub> 
                <mi>
                  β 
                </mi> 
                <mn>
                  2 
                </mn> 
               </msub> 
              </mrow> 
              <mi>
                L 
              </mi> 
             </mfrac> 
            </mrow> 
           </mtd> 
          </mtr> 
         </mtable> 
        </mrow> 
        <mo>
          ] 
        </mo> 
       </mrow> 
      </mrow> 
     </math></p>
    <p>where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         R 
       </mi> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          R 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          R 
        </mi> 
        <mi>
          o 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          0 
        </mn> 
       </msub> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         L 
       </mi> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          L 
        </mi> 
        <mi>
          i 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          L 
        </mi> 
        <mi>
          o 
        </mi> 
       </msub> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          β 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math>, the relevant parameters of the model are listed in <xref ref-type="table" rid="table1">
      Table 1
     </xref> below:</p>
    <p>
     <xref ref-type="bibr" rid="scirp.147381-"></xref></p>
    <table-wrap id="table1">
     <label>
      <xref ref-type="table" rid="table1">
       Table 1
      </xref></label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.147381-"></xref>Table 1. Parameters for the blood pump-cardiovascular model.</title>
     </caption>
     <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
      <tr> 
       <td class="custom-bottom-td acenter" width="17.58%"><p style="text-align:center"></p></td> 
       <td class="custom-bottom-td acenter" width="12.38%"><p style="text-align:center">Parameter</p></td> 
       <td class="custom-bottom-td acenter" width="29.95%"><p style="text-align:center">Value</p></td> 
       <td class="custom-bottom-td acenter" width="35.73%"><p style="text-align:center">Corresponding physiological </p><p style="text-align:center">significance</p></td> 
      </tr> 
      <tr> 
       <td rowspan="6" class="custom-top-td acenter" width="17.58%"><p style="text-align:center">Resistance</p><p style="text-align:center">(mmHg*s/ml)</p></td> 
       <td class="custom-top-td acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              R 
            </mi> 
            <mi>
              M 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="custom-top-td acenter" width="29.95%"><p style="text-align:center">0.0050</p></td> 
       <td class="custom-top-td acenter" width="35.73%"><p style="text-align:center">Mitral Valve Resistance</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              R 
            </mi> 
            <mi>
              s 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="acenter" width="29.95%"><p style="text-align:center">1.0000</p></td> 
       <td class="acenter" width="35.73%"><p style="text-align:center">Systemic Vascular Resistance</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              R 
            </mi> 
            <mi>
              A 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="acenter" width="29.95%"><p style="text-align:center">0.0010</p></td> 
       <td class="acenter" width="35.73%"><p style="text-align:center">Aortic Valve Resistance</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              R 
            </mi> 
            <mi>
              C 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="acenter" width="29.95%"><p style="text-align:center">0.0398</p></td> 
       <td class="acenter" width="35.73%"><p style="text-align:center">Characteristic Impedance</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              R 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="acenter" width="29.95%"><p style="text-align:center">0.0676</p></td> 
       <td class="acenter" width="35.73%"><p style="text-align:center">Blood Pump Inlet Resistance</p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              R 
            </mi> 
            <mi>
              o 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="custom-bottom-td acenter" width="29.95%"><p style="text-align:center">0.0676</p></td> 
       <td class="custom-bottom-td acenter" width="35.73%"><p style="text-align:center">Blood Pump Outlet Resistance</p></td> 
      </tr> 
      <tr> 
       <td rowspan="4" class="custom-top-td acenter" width="17.58%"><p style="text-align:center">Capacitance</p><p style="text-align:center">(ml/mmHg)</p></td> 
       <td class="custom-top-td acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              C 
            </mi> 
            <mi>
              R 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="custom-top-td acenter" width="29.95%"><p style="text-align:center">4.4000</p></td> 
       <td class="custom-top-td acenter" width="35.73%"><p style="text-align:center">Left Atrial Compliance</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              C 
            </mi> 
            <mi>
              S 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="acenter" width="29.95%"><p style="text-align:center">1.3300</p></td> 
       <td class="acenter" width="35.73%"><p style="text-align:center">Systemic Compliance</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              C 
            </mi> 
            <mi>
              A 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="acenter" width="29.95%"><p style="text-align:center">0.0800</p></td> 
       <td class="acenter" width="35.73%"><p style="text-align:center">Aortic Compliance</p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <mi>
             C 
           </mi> 
           <mrow> 
            <mo>
              ( 
            </mo> 
            <mi>
              t 
            </mi> 
            <mo>
              ) 
            </mo> 
           </mrow> 
          </mrow> 
         </math></p></td> 
       <td class="custom-bottom-td acenter" width="29.95%"><p style="text-align:center">Time-Varying Parameters</p></td> 
       <td class="custom-bottom-td acenter" width="35.73%"><p style="text-align:center">Left Ventricular Compliance</p></td> 
      </tr> 
      <tr> 
       <td rowspan="2" class="custom-top-td acenter" width="17.58%"><p style="text-align:center">Valve</p></td> 
       <td class="custom-top-td acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              D 
            </mi> 
            <mi>
              M 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="custom-top-td acenter" width="29.95%"><p style="text-align:center">0 or 1</p></td> 
       <td class="custom-top-td acenter" width="35.73%"><p style="text-align:center">Mitral Valve</p></td> 
      </tr> 
      <tr> 
       <td class="custom-bottom-td acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              D 
            </mi> 
            <mi>
              A 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="custom-bottom-td acenter" width="29.95%"><p style="text-align:center">0 or 1</p></td> 
       <td class="custom-bottom-td acenter" width="35.73%"><p style="text-align:center">Aortic Valve</p></td> 
      </tr> 
      <tr> 
       <td rowspan="3" class="custom-top-td acenter" width="17.58%"><p style="text-align:center">Inductance</p><p style="text-align:center">(mmHg*s<sup>2</sup>/ml)</p></td> 
       <td class="custom-top-td acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              L 
            </mi> 
            <mi>
              S 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="custom-top-td acenter" width="29.95%"><p style="text-align:center">0.0005</p></td> 
       <td class="custom-top-td acenter" width="35.73%"><p style="text-align:center">Aortic Vascular Inductance</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              L 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="acenter" width="29.95%"><p style="text-align:center">0.0127</p></td> 
       <td class="acenter" width="35.73%"><p style="text-align:center">Blood Pump Inlet Inductance</p></td> 
      </tr> 
      <tr> 
       <td class="acenter" width="12.38%"><p style="text-align:center"> 
         <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
           <msub> 
            <mi>
              L 
            </mi> 
            <mi>
              i 
            </mi> 
           </msub> 
          </mrow> 
         </math></p></td> 
       <td class="acenter" width="29.95%"><p style="text-align:center">0.0127</p></td> 
       <td class="acenter" width="35.73%"><p style="text-align:center">Blood Pump Outlet Inductance</p></td> 
      </tr> 
     </table>
    </table-wrap>
   </sec>
  </sec><sec id="s3">
   <title>3. Design of the Particle Swarm Optimization Algorithm</title>
   <p>During pulsatile speed control, the blood pump undergoes frequent acceleration and deceleration. Conventional square-wave and triangular-wave drive profiles exhibit abrupt changes in acceleration, which can lead to additional energy losses. While sine wave ensures continuous acceleration, its fixed pattern is unlikely to achieve optimal energy efficiency. To effectively enhance the energy performance of the speed control process, this study employs a PSO algorithm to derive a pulsatile speed profile that minimizes energy consumption while maintaining physiologically normal performance indicators.</p>
   <sec id="s3_1">
    <title>3.1. Theoretical Foundations of PSO</title>
    <p>In PSO, each potential solution to the optimization problem is represented as a “particle” within a D-dimensional search space. The entire population, through communication and collaboration among individual particles, follows the current best-performing particles to explore and exploit the solution space, ultimately guiding the swarm toward the global optimum or a satisfactory solution.</p>
    <p>Consider a swarm consisting of N particles collaboratively searching for the optimal solution in a D-dimensional search space. The state of the i-th particle at iteration t is defined by two vectors:</p>
    <p>Position Vector 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          X 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           d 
         </mi> 
        </mrow> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mn>
             2 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             D 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>: This represents the particle’s location in the search space and corresponds to a candidate solution for the optimization problem.</p>
    <p>Velocity Vector 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          V 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           d 
         </mi> 
        </mrow> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            v 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            v 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mn>
             2 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            v 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             D 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>: This indicates the direction and step size of the particle’s movement in the next iteration.</p>
    <p>Additionally, each particle retains the best position it has personally encountered, referred to as the personal best position 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          P 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           d 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           p 
         </mi> 
         <mi>
           b 
         </mi> 
         <mi>
           e 
         </mi> 
         <mi>
           s 
         </mi> 
         <mi>
           t 
         </mi> 
        </mrow> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mn>
             1 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mn>
             2 
           </mn> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             D 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>. The best position discovered by any particle in the entire swarm is known as the global best position 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          P 
        </mi> 
        <mrow> 
         <mi>
           d 
         </mi> 
         <mo>
           , 
         </mo> 
         <mi>
           g 
         </mi> 
         <mi>
           b 
         </mi> 
         <mi>
           e 
         </mi> 
         <mi>
           s 
         </mi> 
         <mi>
           t 
         </mi> 
        </mrow> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <mn>
             1 
           </mn> 
           <mo>
             , 
           </mo> 
           <mi>
             g 
           </mi> 
           <mi>
             b 
           </mi> 
           <mi>
             e 
           </mi> 
           <mi>
             s 
           </mi> 
           <mi>
             t 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <mn>
             2 
           </mn> 
           <mo>
             , 
           </mo> 
           <mi>
             g 
           </mi> 
           <mi>
             b 
           </mi> 
           <mi>
             e 
           </mi> 
           <mi>
             s 
           </mi> 
           <mi>
             t 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           , 
         </mo> 
         <mo>
           ⋯ 
         </mo> 
         <mo>
           , 
         </mo> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <mi>
             D 
           </mi> 
           <mo>
             , 
           </mo> 
           <mi>
             g 
           </mi> 
           <mi>
             b 
           </mi> 
           <mi>
             e 
           </mi> 
           <mi>
             s 
           </mi> 
           <mi>
             t 
           </mi> 
          </mrow> 
         </msub> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math>.</p>
    <p>During each iteration, particles update their velocity and position by tracking these two best solutions according to the following equations:</p>
    <p>Velocity update equation:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          v 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           d 
         </mi> 
        </mrow> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           t 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <mi>
         ω 
       </mi> 
       <mo>
         ⋅ 
       </mo> 
       <msub> 
        <mi>
          v 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           d 
         </mi> 
        </mrow> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          c 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <msub> 
        <mi>
          r 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
       <mo>
         ⋅ 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            p 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             d 
           </mi> 
          </mrow> 
         </msub> 
         <mo>
           − 
         </mo> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             d 
           </mi> 
          </mrow> 
         </msub> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            t 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          c 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
       <msub> 
        <mi>
          r 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
       <mo>
         ⋅ 
       </mo> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <msub> 
          <mi>
            g 
          </mi> 
          <mi>
            d 
          </mi> 
         </msub> 
         <mo>
           − 
         </mo> 
         <msub> 
          <mi>
            x 
          </mi> 
          <mrow> 
           <mi>
             i 
           </mi> 
           <mi>
             d 
           </mi> 
          </mrow> 
         </msub> 
         <mrow> 
          <mo>
            ( 
          </mo> 
          <mi>
            t 
          </mi> 
          <mo>
            ) 
          </mo> 
         </mrow> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> (2)</p>
    <p>Position update equation:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          x 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           d 
         </mi> 
        </mrow> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           t 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         = 
       </mo> 
       <msub> 
        <mi>
          x 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           d 
         </mi> 
        </mrow> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mi>
          t 
        </mi> 
        <mo>
          ) 
        </mo> 
       </mrow> 
       <mo>
         + 
       </mo> 
       <msub> 
        <mi>
          v 
        </mi> 
        <mrow> 
         <mi>
           i 
         </mi> 
         <mi>
           d 
         </mi> 
        </mrow> 
       </msub> 
       <mrow> 
        <mo>
          ( 
        </mo> 
        <mrow> 
         <mi>
           t 
         </mi> 
         <mo>
           + 
         </mo> 
         <mn>
           1 
         </mn> 
        </mrow> 
        <mo>
          ) 
        </mo> 
       </mrow> 
      </mrow> 
     </math> (3)</p>
    <p>where:</p>
    <p>
     <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         d 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1 
       </mn> 
       <mo>
         , 
       </mo> 
       <mn>
         2 
       </mn> 
       <mo>
         , 
       </mo> 
       <mo>
         ⋯ 
       </mo> 
       <mo>
         , 
       </mo> 
       <mi>
         D 
       </mi> 
      </mrow> 
     </math> denotes the dimension.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        w 
      </mi> 
     </math> is the inertia weight, which balances the global exploration and local exploitation capabilities of the algorithm. A larger 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        w 
      </mi> 
     </math> promotes global exploration, while a smaller 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        w 
      </mi> 
     </math> facilitates local refinement.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          c 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          c 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math> are acceleration coefficients (learning factors), typically set as positive constants. Specifically, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          c 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> is the “cognitive” coefficient, reflecting the particle’s reliance on its own experience, and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          c 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math> is the “social” coefficient, indicating the particle’s tendency to trust collective information.</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          r 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          r 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math> are random numbers uniformly distributed in [0, 1], introducing stochasticity into the search process and helping to maintain population diversity.</p>
   </sec>
   <sec id="s3_2">
    <title>3.2. Definition of the Fitness Function</title>
    <p>The objective of this study is to minimize energy consumption during the pulsatile speed control of the blood pump. Therefore, the optimization target is defined as the pump’s energy consumption, quantified by its average shaft power over a specified operational duration from 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          t 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> to 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          t 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math>, with the unit in watts (W).</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         P 
       </mi> 
       <mo>
         = 
       </mo> 
       <mfrac> 
        <mrow> 
         <mstyle displaystyle="true"> 
          <mrow> 
           <msubsup> 
            <mo>
              ∫ 
            </mo> 
            <mrow> 
             <msub> 
              <mi>
                t 
              </mi> 
              <mn>
                1 
              </mn> 
             </msub> 
            </mrow> 
            <mrow> 
             <msub> 
              <mi>
                t 
              </mi> 
              <mn>
                2 
              </mn> 
             </msub> 
            </mrow> 
           </msubsup> 
           <mrow> 
            <msub> 
             <mi>
               T 
             </mi> 
             <mi>
               e 
             </mi> 
            </msub> 
            <mo>
              ∗ 
            </mo> 
            <mi>
              ω 
            </mi> 
            <mtext>
              d 
            </mtext> 
            <mi>
              t 
            </mi> 
           </mrow> 
          </mrow> 
         </mstyle> 
        </mrow> 
        <mrow> 
         <msub> 
          <mi>
            t 
          </mi> 
          <mn>
            2 
          </mn> 
         </msub> 
         <mo>
           − 
         </mo> 
         <msub> 
          <mi>
            t 
          </mi> 
          <mn>
            1 
          </mn> 
         </msub> 
        </mrow> 
       </mfrac> 
      </mrow> 
     </math> (4)</p>
    <p>where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          e 
        </mi> 
       </msub> 
      </mrow> 
     </math> is the electromagnetic torque of the blood pump motor in N·m, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        ω 
      </mi> 
     </math> is the rotational speed of the blood pump in rad/s. The electromagnetic torque can be derived from the rotor dynamics model of the blood pump as follows：</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          e 
        </mi> 
       </msub> 
       <mo>
         − 
       </mo> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          L 
        </mi> 
       </msub> 
       <mo>
         − 
       </mo> 
       <mi>
         B 
       </mi> 
       <mo>
         ∗ 
       </mo> 
       <mi>
         ω 
       </mi> 
       <mo>
         = 
       </mo> 
       <mi>
         J 
       </mi> 
       <mo>
         ∗ 
       </mo> 
       <mi>
         α 
       </mi> 
      </mrow> 
     </math> (5)</p>
    <p>where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          L 
        </mi> 
       </msub> 
      </mrow> 
     </math> is the load torque (N·m) during pulsation. 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        B 
      </mi> 
     </math> is the rotor damping coefficient (N·m·s/rad). In this study, its effect is neglected and its value is set to 0. 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        α 
      </mi> 
     </math> is the motor angular acceleration (rad/s). 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        J 
      </mi> 
     </math> is the rotor inertia (kg·m<sup>2</sup>)，and its value is 10<sup>−</sup><sup>6</sup> kg·m<sup>2</sup>.</p>
    <p>The load torque 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          L 
        </mi> 
       </msub> 
      </mrow> 
     </math> was characterized via experimental fitting. The specific load torque model utilized in the present paper is:</p>
    <p>
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          T 
        </mi> 
        <mi>
          L 
        </mi> 
       </msub> 
       <mo>
         = 
       </mo> 
       <mi>
         a 
       </mi> 
       <mo>
         ∗ 
       </mo> 
       <msup> 
        <mi>
          ω 
        </mi> 
        <mn>
          2 
        </mn> 
       </msup> 
       <mo>
         + 
       </mo> 
       <mi>
         b 
       </mi> 
       <mo>
         ∗ 
       </mo> 
       <mi>
         ω 
       </mi> 
       <mo>
         + 
       </mo> 
       <mi>
         c 
       </mi> 
      </mrow> 
     </math> (6)</p>
    <p>where 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         a 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         1.825 
       </mn> 
       <msup> 
        <mtext>
          e 
        </mtext> 
        <mrow> 
         <mo>
           − 
         </mo> 
         <mn>
           5 
         </mn> 
        </mrow> 
       </msup> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         b 
       </mi> 
       <mo>
         = 
       </mo> 
       <mo>
         − 
       </mo> 
       <mn>
         0.002277 
       </mn> 
      </mrow> 
     </math>, 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <mi>
         c 
       </mi> 
       <mo>
         = 
       </mo> 
       <mn>
         0.3291 
       </mn> 
      </mrow> 
     </math>.</p>
   </sec>
   <sec id="s3_3">
    <title>3.3. Selection of Optimization Variables</title>
    <p>In prior research on blood pump speed modulation, the rotational speed—being the primary control variable—directly governs the acceleration magnitude via the shape of its profile. Consequently, defining the rotational speed as the optimization variable enables the pursuit of an optimal speed profile that balances energy efficiency with pulsatile performance.</p>
    <p>The number of control points, which defines the search space dimension D, is a critical parameter. In this study, it is set to 5. Setting D = 5 was determined through a trade-off analysis. A lower number would overly constrain the profile shape, potentially failing to capture essential hemodynamic features. Conversely, a higher number would exponentially increase the computational cost of the Particle Swarm Optimization (PSO) without guaranteeing a commensurate improvement in physiological performance. Therefore, D = 5 was selected as it provides a flexible yet computationally tractable parameterization for constructing effective speed profiles.</p>
   </sec>
   <sec id="s3_4">
    <title>3.4. Definition of Constraints</title>
    <p>1) Rotational Speed Constraints</p>
    <p>It is imperative to impose constraints on the rotational speed of the blood pump to ensure its normal operation and prevent adverse flow phenomena such as suction and regurgitation. Hemodynamic analysis identified that at 4000 rpm, regurgitation occurred, manifested as negative flow through the pump. At 10,000 rpm, suction was induced by suboptimal left ventricular pressure. Accordingly, the permissible operating speed for the blood pump is defined within the bounds of 4000 rpm and 10,000 rpm.</p>
    <p>2) Acceleration Constraints</p>
    <p>To minimize the energy consumption of the blood pump during operation, the acceleration was constrained within the range of −10,000 rpm/s to 10,000 rpm/s. This range is defined with reference to a 1 Hz sine wave, which has a baseline speed of 7000 rpm, a pulsatility amplitude of 2500 rpm, and a corresponding mean absolute acceleration of 10,000 rpm/s.</p>
    <p>The purpose of imposing hemodynamic constraints is to ensure that the pulsatile modulation, driven by the PSO-optimized speed profile, restores key physiological parameters to within healthy ranges. The recovery of physiological health is evaluated based on aortic pressure and aortic flow, which must be maintained within specified physiological ranges.</p>
    <p>1) Aortic Pressure Constraints</p>
    <p>Hemodynamic performance was assessed against established normal ranges. The mean aortic pressure is defined as 85 - 100 mmHg, while the aortic pulse pressure (the difference between systolic and diastolic pressure) falls within 20 - 60 mmHg.</p>
    <p>2) Aortic Flow Constraints</p>
    <p>According to widely accepted medical standards, the mean aortic flow rate in healthy individuals is 80 - 100 ml/s.</p>
   </sec>
   <sec id="s3_5">
    <title>3.5. Algorithm Workflow</title>
    <p>The Particle Swarm Optimization (PSO) algorithm is a metaheuristic that mimics the collective behavior of bird flocks or fish schools. It operates by having a population of particles explore the solution space through iterative updates based on both individual and collective best-known positions, thereby efficiently converging to an optimal solution for minimizing the energy consumption of pulsatile blood pumps.</p>
    <p>The workflow for optimizing the pulsatile energy consumption of the blood pump based on the Particle Swarm Optimization algorithm is illustrated in <xref ref-type="fig" rid="fig2">
      Figure 2
     </xref>. The process begins with the initialization of the PSO parameters, including the number of optimization variables, inertia weight ( 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        w 
      </mi> 
     </math>), learning factors ( 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          c 
        </mi> 
        <mn>
          1 
        </mn> 
       </msub> 
      </mrow> 
     </math> and 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
       <msub> 
        <mi>
          c 
        </mi> 
        <mn>
          2 
        </mn> 
       </msub> 
      </mrow> 
     </math>), and population size ( 
     <math xmlns="http://www.w3.org/1998/Math/MathML"> <mi>
        m 
      </mi> 
     </math>). Subsequently, the position and velocity of each particle are randomly initialized. The position values of the particles are then assigned to the Simulink model for simulation. Following this, the position and velocity of each particle are updated. The fitness value for each particle is calculated, leading to the update of the personal best fitness value and position for the current iteration, as well as the global best fitness value and position. If the termination criteria are met, the global best fitness value and position are output. Otherwise, the Simulink model is executed again to proceed with the next iteration.</p>
    <fig id="fig2" position="float">
     <label>Figure 2</label>
     <caption>
      <title>
       <xref ref-type="bibr" rid="scirp.147381-"></xref>Figure 2. Workflow diagram of PSO.</title>
     </caption>
     <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/2313509-rId146.jpeg?20251121112225" />
    </fig>
   </sec>
  </sec><sec id="s4">
   <title>4. Simulation and Analysis</title>
   <p>The parameters for the PSO algorithm were configured as follows: search space dimension 
    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <mi>
        D 
      </mi> 
      <mo>
        = 
      </mo> 
      <mn>
        5 
      </mn> 
     </mrow> 
    </math>, inertia weight linearly decreasing from 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         w 
       </mi> 
       <mrow> 
        <mi>
          max 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mn>
        0.9 
      </mn> 
     </mrow> 
    </math> to</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         w 
       </mi> 
       <mrow> 
        <mi>
          min 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mn>
        0.4 
      </mn> 
     </mrow> 
    </math>, cognitive and social learning factors decreasing from</p>
   <p>
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         c 
       </mi> 
       <mrow> 
        <mn>
          1 
        </mn> 
        <mi>
          max 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <msub> 
       <mi>
         c 
       </mi> 
       <mrow> 
        <mn>
          2 
        </mn> 
        <mi>
          max 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mn>
        2.5 
      </mn> 
     </mrow> 
    </math> to 
    <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> 
      <msub> 
       <mi>
         c 
       </mi> 
       <mrow> 
        <mn>
          1 
        </mn> 
        <mi>
          min 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <msub> 
       <mi>
         c 
       </mi> 
       <mrow> 
        <mn>
          2 
        </mn> 
        <mi>
          min 
        </mi> 
       </mrow> 
      </msub> 
      <mo>
        = 
      </mo> 
      <mn>
        1.0 
      </mn> 
     </mrow> 
    </math>, population size of 500, and the max iteration is 100. The optimal particle position obtained from the optimization represents the interpolation points for the blood pump speed profile. A polynomial interpolation method was employed to construct the complete speed modulation curve over one cardiac cycle from these points. Using the aforementioned parameters, the PSO algorithm was independently executed 5 times, and the optimization results obtained are as <xref ref-type="table" rid="table2">
     Table 2
    </xref>:</p>
   <p>
    <xref ref-type="bibr" rid="scirp.147381-"></xref></p>
   <table-wrap id="table2">
    <label>
     <xref ref-type="table" rid="table2">
      Table 2
     </xref></label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.147381-"></xref>Table 2. Optimization results</title>
    </caption>
    <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
      <td class="custom-bottom-td acenter" width="7.36%"><p style="text-align:center">No.</p></td> 
      <td class="custom-bottom-td acenter" width="23.27%"><p style="text-align:center">Mean aortic </p><p style="text-align:center">pressure (mmHg)</p></td> 
      <td class="custom-bottom-td acenter" width="22.17%"><p style="text-align:center">Mean aortic flow </p><p style="text-align:center">rate (ml/s)</p></td> 
      <td class="custom-bottom-td acenter" width="23.27%"><p style="text-align:center">Aortic pulse </p><p style="text-align:center">pressure (mmHg)</p></td> 
      <td class="custom-bottom-td acenter" width="24.60%"><p style="text-align:center">Average power (W)</p></td> 
     </tr> 
     <tr> 
      <td class="custom-top-td acenter" width="7.36%"><p style="text-align:center">1</p></td> 
      <td class="custom-top-td acenter" width="23.27%"><p style="text-align:center">90.96</p></td> 
      <td class="custom-top-td acenter" width="22.17%"><p style="text-align:center">80.00</p></td> 
      <td class="custom-top-td acenter" width="23.27%"><p style="text-align:center">21.55</p></td> 
      <td class="custom-top-td acenter" width="24.60%"><p style="text-align:center">5.24</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="7.36%"><p style="text-align:center">2</p></td> 
      <td class="acenter" width="23.27%"><p style="text-align:center">90.99</p></td> 
      <td class="acenter" width="22.17%"><p style="text-align:center">80.00</p></td> 
      <td class="acenter" width="23.27%"><p style="text-align:center">22.28</p></td> 
      <td class="acenter" width="24.60%"><p style="text-align:center">5.28</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="7.36%"><p style="text-align:center">3</p></td> 
      <td class="acenter" width="23.27%"><p style="text-align:center">90.85</p></td> 
      <td class="acenter" width="22.17%"><p style="text-align:center">80.00</p></td> 
      <td class="acenter" width="23.27%"><p style="text-align:center">20.60</p></td> 
      <td class="acenter" width="24.60%"><p style="text-align:center">5.13</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="7.36%"><p style="text-align:center">4</p></td> 
      <td class="acenter" width="23.27%"><p style="text-align:center">90.88</p></td> 
      <td class="acenter" width="22.17%"><p style="text-align:center">80.00</p></td> 
      <td class="acenter" width="23.27%"><p style="text-align:center">20.33</p></td> 
      <td class="acenter" width="24.60%"><p style="text-align:center">5.15</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="7.36%"><p style="text-align:center">5</p></td> 
      <td class="acenter" width="23.27%"><p style="text-align:center">90.75</p></td> 
      <td class="acenter" width="22.17%"><p style="text-align:center">80.00</p></td> 
      <td class="acenter" width="23.27%"><p style="text-align:center">21.02</p></td> 
      <td class="acenter" width="24.60%"><p style="text-align:center">5.14</p></td> 
     </tr> 
    </table>
   </table-wrap>
   <p>Based on a comprehensive evaluation of the energy consumption performance and physiological indicators corresponding to the five sets of results, the 5th set was selected for simulation comparison with sine wave, triangle wave, and constant wave profiles, as it achieved a relatively higher aortic pressure differential while maintaining lower energy consumption. The speed curves used in all simulations are presented in <xref ref-type="fig" rid="fig3">
     Figure 3
    </xref>.</p>
   <fig id="fig3" position="float">
    <label>Figure 3</label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.147381-"></xref>Figure 3. Curves Used in the Simulation. The constant wave speed is 6600 rpm. The PSO wave is generated by the optimization algorithm. The sine and triangle waves share a common central speed of 6600 rpm, with speed amplitudes of 1200 rpm and 1600 rpm, respectively.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/2313509-rId157.jpeg?20251121112226" />
   </fig>
   <p>With the simulation parameters set to Emax = 1, Emin = 0.05, and Tc = 1 s, the resulting hemodynamic characteristics and power profiles during pulsation for the different speed control curves are presented in <xref ref-type="fig" rid="figFigures 4-6">
     Figures 4-6
    </xref>, respectively.</p>
   <fig id="fig4" position="float">
    <label>Figure 4</label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.147381-"></xref>Figure 4. Simulation result of aortic pressure when the pump is driven by constant wave, PSO wave, sine wave and triangle wave.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/2313509-rId158.jpeg?20251121112226" />
   </fig>
   <fig id="fig5" position="float">
    <label>Figure 5</label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.147381-"></xref>Figure 5. Simulation result of aortic flowrate when the pump is driven by constant wave, PSO wave, sine wave and triangle wave.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/2313509-rId159.jpeg?20251121112226" />
   </fig>
   <fig id="fig6" position="float">
    <label>Figure 6</label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.147381-"></xref>Figure 6. Simulation result of power when the pump is driven by constant wave, PSO wave, sine wave and triangle wave.</title>
    </caption>
    <graphic mimetype="image" position="float" xlink:type="simple" xlink:href="https://html.scirp.org/file/2313509-rId160.jpeg?20251121112226" />
   </fig>
   <p>
    <xref ref-type="bibr" rid="scirp.147381-"></xref>The performance of the various speed modulation curves with respect to physiological parameters and energy consumption is summarized in <xref ref-type="table" rid="table3">
     Table 3
    </xref>:</p>
   <table-wrap id="table3">
    <label>
     <xref ref-type="table" rid="table3">
      Table 3
     </xref></label>
    <caption>
     <title>
      <xref ref-type="bibr" rid="scirp.147381-"></xref>Table 3. Comparison of physiological indices and energy consumption under different waves.</title>
    </caption>
    <table class="MsoTableGrid custom-table" border="0" cellspacing="0" cellpadding="0"> 
     <tr> 
      <td class="custom-bottom-td acenter" width="16.75%"><p style="text-align:center"></p></td> 
      <td class="custom-bottom-td acenter" width="20.35%"><p style="text-align:center">Mean aortic </p><p style="text-align:center">pressure (mmHg)</p></td> 
      <td class="custom-bottom-td acenter" width="17.59%"><p style="text-align:center">Mean aortic </p><p style="text-align:center">flow rate (ml/s)</p></td> 
      <td class="custom-bottom-td acenter" width="20.35%"><p style="text-align:center">Aortic pulse </p><p style="text-align:center">pressure (mmHg)</p></td> 
      <td class="custom-bottom-td acenter" width="11.92%"><p style="text-align:center">Average </p><p style="text-align:center">power (W)</p></td> 
     </tr> 
     <tr> 
      <td class="custom-top-td acenter" width="16.75%"><p style="text-align:center">PSO wave</p></td> 
      <td class="custom-top-td acenter" width="20.35%"><p style="text-align:center">90.75</p></td> 
      <td class="custom-top-td acenter" width="17.59%"><p style="text-align:center">80.00</p></td> 
      <td class="custom-top-td acenter" width="20.35%"><p style="text-align:center">21.02</p></td> 
      <td class="custom-top-td acenter" width="11.92%"><p style="text-align:center">5.14</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="16.75%"><p style="text-align:center">Sine wave</p></td> 
      <td class="acenter" width="20.35%"><p style="text-align:center">92.65</p></td> 
      <td class="acenter" width="17.59%"><p style="text-align:center">81.71</p></td> 
      <td class="acenter" width="20.35%"><p style="text-align:center">22.16</p></td> 
      <td class="acenter" width="11.92%"><p style="text-align:center">5.44</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="16.75%"><p style="text-align:center">Triangle wave</p></td> 
      <td class="acenter" width="20.35%"><p style="text-align:center">92.80</p></td> 
      <td class="acenter" width="17.59%"><p style="text-align:center">81.86</p></td> 
      <td class="acenter" width="20.35%"><p style="text-align:center">22.88</p></td> 
      <td class="acenter" width="11.92%"><p style="text-align:center">5.50</p></td> 
     </tr> 
     <tr> 
      <td class="acenter" width="16.75%"><p style="text-align:center">Constant wave</p></td> 
      <td class="acenter" width="20.35%"><p style="text-align:center">91.58</p></td> 
      <td class="acenter" width="17.59%"><p style="text-align:center">80.61</p></td> 
      <td class="acenter" width="20.35%"><p style="text-align:center">10.21</p></td> 
      <td class="acenter" width="11.92%"><p style="text-align:center">5.17</p></td> 
     </tr> 
    </table>
   </table-wrap>
   <p>As evidenced by the results, the PSO wave demonstrates superior performance compared to conventional profiles. Specifically, relative to the Sine wave, it achieves comparable hemodynamic performance with only a 2% difference in mean aortic pressure and a 2% difference in mean flow rate, while reducing the average power consumption by 5.8%. In comparison to the Triangle wave, it exhibits a 2.2% difference in mean aortic pressure and a 2.3% difference in mean flow rate, along with a 6.5% reduction in average power. Moreover, the aortic pulse pressure reaches 21.02 mmHg, indicating significantly enhanced blood pulsatility compared to Constant wave. Therefore, the proposed PSO-based pulsatile speed control strategy not only fulfills essential physiological requirements but also effectively reduces energy consumption during pulsatile operation. This approach holds considerable theoretical significance and promising clinical application prospects for developing next-generation portable pulsatile blood pumps with low power consumption, compact size, and advanced intelligence.</p>
  </sec><sec id="s5">
   <title>5. Conclusions</title>
   <p>This study proposes a speed profile optimization method to minimize pulsatile energy consumption in blood pumps. By integrating pump motor dynamics and hemodynamic principles, we developed an energy consumption model quantified by average power and a blood pump-cardiovascular coupling model based on the pump’s hydraulic characteristics. The particle swarm optimization (PSO) algorithm was employed to automatically iterate and optimize key speed points in the rotational speed profile, with polynomial interpolation applied to ensure smooth speed transitions. This framework systematically identifies an energy-minimizing speed curve that satisfies physiological requirements. Simulation results demonstrate that the proposed method effectively reduces pulsatile energy consumption while maintaining normal perfusion levels, showing significant theoretical value and promising clinical potential for developing low-power, compact, and intelligent portable pulsatile blood pumps.</p>
   <p>Finally, it should be acknowledged that this study employs a lumped-parameter cardiovascular model, which inherently simplifies the distributed nature of the actual circulatory system; nevertheless, this approach provides sufficient fidelity for evaluating the control strategies and hemodynamic responses of interest while maintaining computational tractability.</p>
  </sec><sec id="s6">
   <title>Funding</title>
   <p>This work was supported by National Natural Science Foundation of China (No. 52175263).</p>
  </sec>
 </body><back>
  <ref-list>
   <title>References</title>
   <ref id="scirp.147381-ref1">
    <label>1</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Groenewegen, A., Rutten, F.H., Mosterd, A. and Hoes, A.W. (2020) Epidemiology of Heart Failure. European Journal of Heart Failure, 22, 1342-1356. &gt;https://doi.org/10.1002/ejhf.1858
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref2">
    <label>2</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zhou, J.M. and Wang, Q.F. (2020) Advances in Device-Based Therapy for Chronic Heart Failure. Internal Medicine Theory and Practice, 15, 65-70. (IN Chinese)
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref3">
    <label>3</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cheng, L., Tan, J., Yun, Z., Wang, S. and Yu, Z. (2020) Analysis of Flow Field and Hemolysis Index in Axial Flow Blood Pump by Computational Fluid Dynamics–Discrete Element Method. The International Journal of Artificial Organs, 44, 46-54. &gt;https://doi.org/10.1177/0391398820917145 
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref4">
    <label>4</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Wu, K., Tan, J. and Wang, S. (2020) Research on Synchronisation Control Method of Frequency and Phase of Pulsating Blood Pump. The Journal of Engineering, 2020, 950-953. &gt;https://doi.org/10.1049/joe.2020.0050 
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref5">
    <label>5</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zavareh, S.M.A. and Lak, M. (2018) The Effect of Pulsatile Blood Flow during Proximal Graft on Liver Function in Coronary Artery Bypass Graft Surgery. Journal of Cellular and Molecular Anesthesia, 3, e149550.
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref6">
    <label>6</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Liu, Y.L. (2013) Rotational Speed Control Strategy of Permanent Axial Blood Pump in Large Gap. Central South University. (In Chinese)
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref7">
    <label>7</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Zhao, W.H. (2023) Research on Hemodynamics and Physiological Control of the Pulsatile Flow Left Ventricular Assist Device. Harbin University of Science and Technology. (In Chinese)
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref8">
    <label>8</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Huang, A.B., Pan, C.F., Liang, J., et al. (2023) Eco-Cruising Speed Planning and Control Method Design for Battery Electric Vehicles. Journal of Chongqing University of Technology (Natural Science), 37, 38-49. (In Chinese)
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref9">
    <label>9</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Wang, G., Xiao, S., Chen, X. and Li, X. (2018) Application of Genetic Algorithm in Automatic Train Operation. Wireless Personal Communications, 102, 1695-1704. &gt;https://doi.org/10.1007/s11277-017-5228-6
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref10">
    <label>10</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Li, Z., Chen, L., Roberts, C. and Zhao, N. (2018) Dynamic Trajectory Optimization Design for Railway Driver Advisory System. IEEE Intelligent Transportation Systems Magazine, 10, 121-132. &gt;https://doi.org/10.1109/mits.2017.2776134
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref11">
    <label>11</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Mu, X.F., Li, B.R., Hao, Q.T., et al. (2025) An Energy Consumption Optimization Method for Multi-Leaf Collimator Linear Motors Based on Speed Planning. Tsinghua University (Science &amp; Technology), 65, 891-900. (In Chinese)
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref12">
    <label>12</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Han, S., Shan, X., Fu, J., Xu, W. and Mi, H. (2021) Industrial Robot Trajectory Planning Based on Improved Pso Algorithm. Journal of Physics: Conference Series, 1820, Article 012185. &gt;https://doi.org/10.1088/1742-6596/1820/1/012185
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref13">
    <label>13</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Patel, K. (2012) Design and Development of a Pulsatile Axial Flow Blood Pump as a Left Ventricular Assist Device. Brunel University London. 
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref14">
    <label>14</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Cheng, A., Williamitis, C.A. and Slaughter, M.S. (2014) Comparison of Continuous Flow and Pulsatile-Flow Left Ventricular Assist Devices: Is There an Advantage to Pulsatility? Annals of Cardiothoracic Surgery, 3, 573-581. 
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref15">
    <label>15</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Ising, M., Warren, S., Sobieski, M.A., Slaughter, M.S., Koenig, S.C. and Giridharan, G.A. (2011) Flow Modulation Algorithms for Continuous Flow Left Ventricular Assist Devices to Increase Vascular Pulsatility: A Computer Simulation Study. Cardiovascular Engineering and Technology, 2, 90-100. &gt;https://doi.org/10.1007/s13239-011-0042-x
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref16">
    <label>16</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Deepankaew, R., Plianchaisuk, A. and Naiyanetr, P. (2015) Numerical Simulation of a Biventricular Assist Device with Pulsatile Control Operation for Bridge to Recovery. International Journal of Applied Biomedical Engineering, 8, 10-16.
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref17">
    <label>17</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Wu, K. (2020) Design and Research of Synchronous Control System for Pulsating Flow of Artificial Blood Pump. Central South University. (In Chinese)
    </mixed-citation>
   </ref>
   <ref id="scirp.147381-ref18">
    <label>18</label>
    <mixed-citation publication-type="other" xlink:type="simple">
     Suga, H., Sagawa, K. and Shoukas, A.A. (1973) Load Independence of the Instantaneous Pressure-Volume Ratio of the Canine Left Ventricle and Effects of Epinephrine and Heart Rate on the Ratio. Circulation Research, 32, 314-322. &gt;https://doi.org/10.1161/01.res.32.3.314
    </mixed-citation>
   </ref>
  </ref-list>
 </back>
</article>