<?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">JPEE</journal-id><journal-title-group><journal-title>Journal of Power and Energy Engineering</journal-title></journal-title-group><issn pub-type="epub">2327-588X</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jpee.2018.610002</article-id><article-id pub-id-type="publisher-id">JPEE-87923</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Engineering</subject></subj-group></article-categories><title-group><article-title>
 
 
  Multi-ACO Application in Routing and Scheduling Optimization of Maintenance Fleet (RSOMF) Based on Conditions for Offshore Wind Farms
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Zhenyou</surname><given-names>Zhang</given-names></name><xref ref-type="aff" rid="aff1"><sub>1</sub></xref></contrib></contrib-group><aff id="aff1"><label>1</label><addr-line>Renewables &amp;amp; Utilities, Kongsberg Digital AS, Trondheim, Norway</addr-line></aff><pub-date pub-type="epub"><day>19</day><month>10</month><year>2018</year></pub-date><volume>06</volume><issue>10</issue><fpage>20</fpage><lpage>40</lpage><history><date date-type="received"><day>25,</day>	<month>July</month>	<year>2018</year></date><date date-type="rev-recd"><day>20,</day>	<month>October</month>	<year>2018</year>	</date><date date-type="accepted"><day>23,</day>	<month>October</month>	<year>2018</year></date></history><permissions><copyright-statement>&#169; 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><p>
 
 
  Reducing the operation and maintenance (O &amp; M) cost is one of the potential actions that could reduce the cost of energy produced by offshore wind farms. This article attempts to reduce O &amp; M cost by improving the utilization of the maintenance resources, specifically the efficient scheduling and routing of the maintenance fleet. Scheduling and routing of maintenance fleet is a non-linear optimization problem with high complexity and a number of constraints. A heuristic algorithm, Ant Colony Optimization (ACO), was modified as Multi-ACO to be used to find the optimal scheduling and routing of maintenance fleet. The numerical studies showed that the proposed methodology was effective and robust enough to find the optimal solution even if the number of offshore wind turbine increases. The suggested approaches are helpful to avoid a time-consuming process of manually planning the scheduling and routing with a presumably suboptimal outcome.
 
</p></abstract><kwd-group><kwd>Multi-Ant Colony Optimization</kwd><kwd> Offshore Wind Farm</kwd><kwd> Fleeting Scheduling and Routing</kwd><kwd> Operation and Maintenance</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The demand for energy in general and renewable energy in particular is growing, and one important source is wind energy with 486.749 GW installed capacity at the end of 2016 [<xref ref-type="bibr" rid="scirp.87923-ref1">1</xref>] . It has overtaken hydro energy in 2015 as the third largest source of power generation in the EU with a 15.6% share of total power capacity which has been increased remarkably from just tiny 2.4% in 2000 [<xref ref-type="bibr" rid="scirp.87923-ref2">2</xref>] . The European Wind Energy Association (EWEA) estimated that by 2020, 230 GW of wind capacity will be installed in Europe and 735 GW will be installed by 2050 [<xref ref-type="bibr" rid="scirp.87923-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref4">4</xref>] . If the trend remains, it is no doubt that the target of 20% wind energy share of energy production in Europe will be met in 2020 [<xref ref-type="bibr" rid="scirp.87923-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref6">6</xref>] . However, the target of these installation capacities cannot be reached without a large-scale offshore wind development in increasingly remote and hostile locations. Today, large wind turbines (2 - 10 MW) for both onshore and offshore from some wind equipment OEMs, such as Siemens and Vestas, are designed, tested and manufactured as economically viable alternatives to traditional fossil-fueled power generation and other renewable resources. Nevertheless, in the environments of offshore, installation is more difficult and expensive, and access to the wind farms for maintenance is also limited, and thus the Operations and Maintenance (O &amp; M) cost can be very high which has been estimated at up to 20% - 30% of overall lifetime costs for energy [<xref ref-type="bibr" rid="scirp.87923-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref8">8</xref>] . It is really making sense to reduce the O &amp; M cost by optimizing scheduling and scheduling of maintenance fleet for offshore wind farms.</p><p>Because of harsh environments of offshore wind farms and spread of offshore wind turbine installations, the O &amp; M costs can be estimated to 5 to 10 times more expensive than that of onshore wind farms [<xref ref-type="bibr" rid="scirp.87923-ref9">9</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref10">10</xref>] . In addition, the conditions for each offshore wind turbine may be very different based on SCADA system or other condition monitoring system for offshore wind farms. Since the difference of individual offshore wind turbine conditions, the maintenance actions to these turbines should be also different, such as inspection, repairing, replacement, or no service demand. Considering the condition of turbines, the weather windows, the availability of vessels and all other relevant factors, the maintenance scheduling and plan becomes very difficult and time-consuming. It is very practical and profitable for wind farm owner and other related organizations to develop automatic techniques for offshore wind turbines maintenance scheduling with multi vessels.</p><p>The importance of effective utilization of the support resources is being recognized, but there are few relevant works and a comprehensive solution has been found. Van Bussel and Sch&#246;ntag developed the simulation program CONTOFAX [<xref ref-type="bibr" rid="scirp.87923-ref11">11</xref>] for determining the availability of a specific offshore wind farm. The program uses a Monte Carlo approach to simulate random weather windows and random failures of offshore wind turbines (OWTs). One type of service vessel needs to be specified in the program with travel time to OWTs, as well as the number of personnel and shifts. The program can evaluate the influence of different service vessels on the availability of the offshore wind farm and the O &amp; M cost [<xref ref-type="bibr" rid="scirp.87923-ref12">12</xref>] . However, the detailed deployments of the service vessels and personnel, and assignment of OWTs and routing decisions, are not enabled. Gundegjerde and Halvorsen [<xref ref-type="bibr" rid="scirp.87923-ref13">13</xref>] applied operations research to the optimization problem of fleet size and mix for an offshore wind farm, supporting the decision making on when and how many service vessels to acquire or rent in order to meet a given maintenance schedule. Besnard, et al. [<xref ref-type="bibr" rid="scirp.87923-ref14">14</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref15">15</xref>] presented opportunistic maintenance planning for offshore wind farms. Opportunity maintenance is a form of preventive maintenance based upon “convenient” replacement of equipment items or components by taking the advantage of the unplanned or planned shutdown of a system where have suitable maintenance resources already on location. However, none of them considered the routing optimization of vessel fleet. The fleet size and mix problem is a strategic decision which should be made early in the design phase of a project. In comparison, the current article aims to investigate an operational decision problem that is, scheduling and routing of a maintenance fleet for offshore wind farms. For the available service vessels determined by the strategic decision, optimal routes need to be found to transport the personnel and spare parts/equipment from shore to the offshore wind turbines that are in need of service. After the maintenance service, the personnel and equipment should be brought back to shore.</p><p>Comparable studies for the RSOMF problem can be found in routing problems of supply vessels for offshore installations. In the offshore oil and gas industry, a set of installations regularly requires supplies from an onshore supply depot and returns used material/equipment. Aas et al. [<xref ref-type="bibr" rid="scirp.87923-ref16">16</xref>] explore such a routing problem and provide a mathematical formulation of this routing problem as a mixed integer programming model. Gribkovskaia et al. [<xref ref-type="bibr" rid="scirp.87923-ref17">17</xref>] continue the previous work and develop several construction heuristics, as well as a tabu search algorithm for the routing problem. The routing problem investigated in these 2 articles only considers 1 single supply vessel. For small size offshore wind farms [<xref ref-type="bibr" rid="scirp.87923-ref18">18</xref>] , 1 vessel could be enough to provide enough maintenance service. However, for maintenance in big size offshore wind farms, usually more vessels are involved.</p><p>This paper aims to investigate the maintenance optimization problem, i.e. RSOMF based on wind turbine conditions for offshore wind farms that can be used to avoid a time-consuming process of manually planning the scheduling and routing. The problem is NP-hard problem and thus exact methods are difficult to solve for more than 20 - 50 OWTs. Heuristic algorithms generally can be used to solve NP-hard problem [<xref ref-type="bibr" rid="scirp.87923-ref19">19</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref20">20</xref>] . There are several algorithms, such as Dijkstra’s Algorithm and Genetic Algorithm (GA), could be possible to solve the NP-hard problem. However, Dijkstra’s Algorithm does blind search, and thus, wastes lot of time while processing, and in addition, it leads to acyclic graphs and most often cannot obtain the right shortest path (optimal solution) [<xref ref-type="bibr" rid="scirp.87923-ref21">21</xref>] . GA is a stochastic and parallel search method, which can be used as an optimization technique for obtaining near-global optimum solutions of given problem [<xref ref-type="bibr" rid="scirp.87923-ref22">22</xref>] . Generally, fitness evaluations by GA are often very expensive or highly time-consuming, especially for engineering optimization problems [<xref ref-type="bibr" rid="scirp.87923-ref23">23</xref>] and lack capability to explain why a particular solution was arrived [<xref ref-type="bibr" rid="scirp.87923-ref24">24</xref>] . ACO is a swarm intelligence technology, which is very suitable to solve the routing problem, such as the travelling salesman problem (TSP) problem [<xref ref-type="bibr" rid="scirp.87923-ref25">25</xref>] . ACO has already successfully applied in several applications, such as multi-UAV minimum time search with uncertain domains [<xref ref-type="bibr" rid="scirp.87923-ref26">26</xref>] , irrigation scheduling [<xref ref-type="bibr" rid="scirp.87923-ref27">27</xref>] , water alternating gas injection process [<xref ref-type="bibr" rid="scirp.87923-ref28">28</xref>] , bridge inspection routing [<xref ref-type="bibr" rid="scirp.87923-ref29">29</xref>] and so on. All these problems were routing or scheduling related. RSOMF is a kind of routing problem with more complexity and more constraints. Therefore, Ant Colony Optimization (ACO) is modified as Multi-ACO to be applied to solve this problem.</p><p>The remaining sections of this article are organized as follows. Mathematical model of RSOMF is retrieved from a literature [<xref ref-type="bibr" rid="scirp.87923-ref30">30</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref31">31</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref32">32</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref33">33</xref>] in Section 2. Section 3 proposes the algorithms of ACO and its modification Multi-ACO to solve the RSOMF problem, while some numerical studies are presented in Section 4. Finally, the conclusion is given in Section 5.</p></sec><sec id="s2"><title>2. Mathematical Model of RSOMF</title><p>Essentially, the objective of the RSOMF problem is to achieve the cheapest maintenance operation in the defined time interval, which involves the costs on service vessels and production loss. All the vessels may have a fixed and a variable cost, similar to [<xref ref-type="bibr" rid="scirp.87923-ref13">13</xref>] for the vessel fleet size and mix optimization problem. The fixed cost stems from purchasing or renting the vessels. The variable cost depends on the operational expenditures, such as fuel. For routing and scheduling of the available vessels, the fixed cost is irrelevant for optimization. Therefore, only the variable costs are considered in the mathematical model.</p><p>The mathematical model is retrieved from the literature [<xref ref-type="bibr" rid="scirp.87923-ref30">30</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref31">31</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref32">32</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref33">33</xref>] . There are n OWTs with the index of i. Therefore, the index is i in delivery process while the index is n + i when the vessels pick up the personnel and return to harbor. All vessels start from harbor (index 0) and finally return to harbor (index 2n + 1) as well every day. The definitions of relevant variables and description of mathematical model are given as following:</p><sec id="s2_1"><title>2.1. Sets</title><p>Z − : the set of delivery nodes, Z − = { 1 , 2 , 3 , ⋯ , n } . All nodes here represent the turbines, which need kinds of maintenance based on the results of condition monitoring.</p><p>Z + : the set of pick up nodes, Z + = { n + 1 , n + 2 , ⋯ , 2 n } , which is the same nodes as Z − but is in return process.</p><p>Z = Z − ∪ Z + .</p><p>N: the set of all the nodes; N = Z ∪ [ 0 , 2 n + 1 ] , in which 0 is the harbor in delivery process while 2 n + 1 is the harbor in pickup process.</p><p>V: the set of service vessels.</p><p>T: the set of days in the planning period; T = { 1 , 2 , ⋯ } represents the length of the period.</p></sec><sec id="s2_2"><title>2.2. Constants</title><p>C i P E : the penalty cost per day for the delaying maintenance task on turbine i, which is related the difference between preventive maintenance and corrective maintenance cost, and additional production loss due to delayed maintenance.</p><p>C v i j : the traveling cost of vessel v from node i to j.</p><p>T v i j : the time (hours) for vessel v traversing arc ( i , j ) .</p><p>T i M : the time needed for performing the maintenance task on turbine i; T 0 M = T 2 n + 1 M = 0 .</p><p>L i : the weight of spare parts and equipment for maintenance on turbine i.</p><p>P i : the required personnel number for maintenance on turbine i.</p><p>T v d M A X : the maximum working hours on day d for vessel v, which is used as the weather limitation for different vessels.</p><p>L v M A X : the load capacity of vessel v.</p><p>P v M A X : the personnel capacity of vessel v.</p><p>T i L A T E : the latest day to perform the maintenance task on turbine i without incurring a penalty.</p></sec><sec id="s2_3"><title>2.3. Decision Variables</title><p>x v i j d = { 1 ,         vessel v travelsfromnode i tonode j onmaintenanceday d 0 ,           otherwise</p><p>y i : the number of delayed days for maintenance task on turbine i. y i = 0 if the preventive maintenance action is carried out before the turbine is down.</p><p>t v i d : the time at which vessel v visits turbine i on maintenance day d.</p><p>k v i d : the total load weight on vessel v just after it leaves node i on maintenance day d.</p><p>q v i d : the total personnel number on vessel v just after it leaves node i on maintenance day d.</p></sec><sec id="s2_4"><title>2.4. Mathematical Model</title><p>min { ∑ v ∈ V ∑ i ∈ N ∑ j ∈ N ∑ d ∈ T C v i j x v i j d + ∑ i ∈ Z − C i P E y i } (1)</p><p>Constraints:</p><p>∑ j ∈ N ∑ v ∈ V ∑ d ∈ T x v i j d = 1 ,       ∀ i ∈ Z , (2)</p><p>∑ i ∈ N x v 0 i d = 1 ,       ∀ v ∈ V , d ∈ T , (3)</p><p>∑ j ∈ N x v j i d = ∑ j ∈ N x v i j d ,       ∀ v ∈ V , d ∈ T , i ∈ N , (4)</p><p>∑ i ∈ N x v i ( 2 n + 1 ) d = 1 ,       ∀ v ∈ V , d ∈ T , (5)</p><p>∑ j ∈ N x v j i d = ∑ j ∈ N x v ( n + i ) j d ,       ∀ v ∈ V , d ∈ T , i ∈ Z − , (6)</p><p>∑ v ∈ V ∑ d ∈ T x v i ( i + n ) d = 1 ,       ∀ i ∈ Z V , (7)</p><p>t v ( n + i ) d − t v i d ≥ T i M ,       ∀ i ∈ Z − , v ∈ V , d ∈ T , (8)</p><p>∑ j ∈ N ∑ v ∈ V ∑ d ∈ T ( d ⋅ x v i j d − y i ) ≤ T j L A T E ,       ∀ i ∈ Z − , (9)</p><p>( t v i d + T i j − t v j d ) x v i j d ≤ 0 ,       ∀ i , j ∈ N , v ∈ V , d ∈ T , (10)</p><p>∑ i ∈ Z − ∑ j ∈ N L i x i j v d ≤ L v M A X ,       ∀ v ∈ V , d ∈ T , (11)</p><p>( k v i d − L j − k v j d ) x v i j d = 0 ,       ∀ i ∈ Z − , j ∈ N , v ∈ V , d ∈ T , (12)</p><p>( k v i d − k v j d ) x v i j d = 0 ,       ∀ i ∈ N \ Z − , j ∈ N , v ∈ V , d ∈ T , (13)</p><p>( q v i d − P j − q v j d ) x v i j d = 0 ,       ∀ i ∈ Z − , j ∈ N , v ∈ V , d ∈ T , (14)</p><p>( q v i d + P j − q v j d ) x v i j d = 0 ,       ∀ i ∈ Z + , j ∈ N , v ∈ V , d ∈ T , (15)</p><p>0 ≤ k v i d ≤ L v M A X ,       ∀ i ∈ N , v ∈ V , d ∈ T , (16)</p><p>0 ≤ q v i d ≤ P v M A X ,       ∀ i ∈ N , v ∈ V , d ∈ T , (17)</p><p>t v ( 2 n + 1 ) ≤ T v d M A X ,       ∀ v ∈ V , d ∈ T , (18)</p><p>t v 0 d = 0 ,       ∀ v ∈ V , d ∈ T , (19)</p><p>y i ≥ 0 ,       ∀ i ∈ Z − (20)</p><p>The objective function Equation (1) minimizes the sum of the sailing cost and the penalty cost associated with not performing maintenance within time window. Other fixed costs, such as personnel cost, are not presented in this function since they will happen anyway and the costs are fixed which would not affect the optimizing process and result. The means of the constraints are listed as follows [<xref ref-type="bibr" rid="scirp.87923-ref33">33</xref>] :</p><p>1) Equation (2) ensures that each OWT is visited only once for delivery and once for pick up.</p><p>2) Equations (3) and (5) ensure that each vessel leaves and returns the harbor only once every day.</p><p>3) Equations (4) and (6) ensure flow conservation at each node.</p><p>4) Equation (7) means that if the vessel needs to present during the maintenance operation on 1 OWT, it will only leave the OWT when the operation is completed.</p><p>5) Equation (8) is precedence constraints which force the pickup is not done before completing the maintenance operation on the same OWT.</p><p>6) Equation (9) is soft constraints, which require that the maintenance task is performed within the preferred time.</p><p>7) Equation (10) keeps the travelling time compatibility of each vessel.</p><p>8) Equation (11) ensures the service vessels are not overloaded.</p><p>9) Equation (12) expresses the compatibility requirements between routes and vessel loads.</p><p>10) Equation (13) ensures that no extra load added when the vessels pick up from OWTs.</p><p>11) Equations (14) and (15) describe the compatibility requirements between routes and personnel number on the vessels.</p><p>12) Equations (16) and (17) guarantee that neither of load or personnel number exceeding the vessel limitations.</p><p>13) Equation (18) imposes a maximal working time of the service vessels on each day.</p><p>14) Equation (19) means the time is counted from the vessels leaving the harbor.</p><p>15) Equation (20) set the delayed maintenance day to be non-negative.</p></sec></sec><sec id="s3"><title>3. Application of Multi-ACO in RSOM Problem</title><sec id="s3_1"><title>3.1. Ant Colony Optimization (ACO)</title><p>Ant colonies can accomplish complex tasks that far exceed the individual capabilities of a single ant [<xref ref-type="bibr" rid="scirp.87923-ref34">34</xref>] . ACO is a meta-heuristic technique which is inspired by the foraging behavior of the ant species [<xref ref-type="bibr" rid="scirp.87923-ref35">35</xref>] . The ACO model was applied firstly to solve the Travelling Salesman Problem (TSP). The 2 main phases of the algorithm constitute the solution construction and the pheromone update. For TSP, m ants concurrently build a tour and select cities randomly at the beginning of the tour construction. At each construction step, ant k decides which city to visit next according to a random proportional rule. The probability with which ant k, currently at city i, chooses to go to city j is [<xref ref-type="bibr" rid="scirp.87923-ref34">34</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref36">36</xref>] :</p><p>p i j k = [ τ i j ] α [ η i j ] β ∑ l ∈ N i k [ τ i j ] α [ η i j ] β ′ ,       if   j ∈ N i k (21)</p><p>where τ i j is the pheromone deposited on a r c ( i , j ) , η i j = 1 / d i j , which represents the visibility of city j towards city i which is inversely proportional to the distance d i j , α and β are 2 parameters which determine the relative influence of the pheromone trail and the heuristic information, and N i k is the set of cities that ant k has not visited yet [<xref ref-type="bibr" rid="scirp.87923-ref34">34</xref>] .</p><p>The pheromone trails are updated after tours constructing by evaporating at a constant rate and accumulating with new deposits:</p><p>τ i j ← ( 1 − ρ ) τ i j + ∑ k = 1 m Δ τ i j k ,       ∀ ( i , k ) ∈ L (22)</p><p>where 0 &lt; ρ ≤ 1 is the pheromone evaporation rate and Δ τ i j k is the amount of pheromone that ant k deposits on the arcs it has visited, defined as follows:</p><p>Δ τ i j k = { 1 / C k         if a r c ( i , j ) belongstoT k 0                         otherwise (23)</p><p>where C k is the length of the tour T k built by ant k. By using this rule, the probability increases that forthcoming ants will use this arc.</p></sec><sec id="s3_2"><title>3.2. Multi-ACO</title><p>ACO is a meta-heuristic technique which is a very good algorithm for solving optimization problem typically Travelling Salesman Problem (TSP) as mentioned above. In classical TSP problem, there are many cities and only 1 salesman. If there are 2 or more salesmen to travel all these cities and each city can and only can be traveled once, how to solve this Multi-TSP problem? The RSOMF problem may have 2 or more vessels which is very similar with Multi-TSP problem. This section describes the principle of Multi-ACO which is a modification from basic ACO as described in Section 3.1.</p><p>The idea of Multi-ACO is evolved from classical ACO. The procedure of classical ACO Algorithm solving TSP problem can be written as <xref ref-type="fig" rid="fig1">Figure 1</xref>. Multi-ACO has 2 or more groups with the same number of ants and each group has its own pheromone (group 1, group 2 … and pheromone1, pheromone 2 … accordingly). The procedure of the algorithm can be written as <xref ref-type="fig" rid="fig2">Figure 2</xref> assuming that there are n salesmen, i.e. n groups of ants.</p><p>The relevant functions used in ACO and Multi-ACO algorithms have been described in section 3.1. In each iteration of Multi-ACO, the ants with same index (k) in different groups visit nodes (cities) according to their own probabilities using roulette wheel selection principle. After all nodes are visited by ants with same index (k) for all groups, the pheromones are updated for all the groups, and then move to next index ( k + 1 ). After all nodes are visited by ants of all groups, the iteration number increases by 1 until maximum iterations or other termination criterion. Then the best routes of n groups with the same index are recorded as the best route.</p></sec></sec><sec id="s4"><title>4. Numerical Studies</title><p>In this section, we present the computational results obtained from solving the mathematical model presented in section 2.4 using the Multi-ACO algorithm presented in section 3.2. <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the illustration of the OWTs’ locations in an offshore wind farm. Of course that the turbines can be in different wind farms. However, for simplifying, only turbines in 1 offshore wind farm are considered. Based on condition monitoring or performance monitoring of wind turbine, the turbine conditions may be very different which lead to different maintenance requirements: replacement, repair, or no service demand (inspection). Accordingly, the requirements of personnel, load of spare parts, maintenance time are different for different OWTs.</p><p>For offshore wind farms, the maintenance fleet can consist of different vessels with different speeds and costs. Each vessel has a limitation with respect to the vehicle capacity such as load capacity of spare parts, and number of personnel the vehicle can take. 2 type of service vessels for offshore wind farms are extracted from [<xref ref-type="bibr" rid="scirp.87923-ref37">37</xref>] which are listed in <xref ref-type="table" rid="table1">Table 1</xref>. In the following 2 subsections, 2 cases will be presented based on the locations presented in <xref ref-type="fig" rid="fig3">Figure 3</xref> and the parameters of service vessels presented in <xref ref-type="table" rid="table1">Table 1</xref>. Comparison studies are also presented in the final subsection to show the advantages of proposed algorithm comparing to commercial software.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Reference values for 2 type service vessels</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Vessels</th><th align="center" valign="middle" >Cruising Speed (km/h)</th><th align="center" valign="middle" >Load Capacity (kg)</th><th align="center" valign="middle" >Personal Capacity</th><th align="center" valign="middle" >Cost (?h)</th></tr></thead><tr><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >33</td><td align="center" valign="middle" >1500</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >225</td></tr><tr><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >20</td><td align="center" valign="middle" >26,000</td><td align="center" valign="middle" >12</td><td align="center" valign="middle" >300</td></tr></tbody></table></table-wrap><sec id="s4_1"><title>4.1. Computational Study with 8 Offshore Wind Turbines</title><p>8 OWTs are selected from illustration in <xref ref-type="fig" rid="fig3">Figure 3</xref> randomly as the first case. The parameters of these turbines are shown in <xref ref-type="table" rid="table2">Table 2</xref>. Time window in the table means that the maintenance action must be taken before the number of days passed or the penalty cost will be applied due to do the corrective maintenance instead of predictive maintenance. Penalty cost per hour may be varied but using fixed number for simplifying. Load and personnel requirements are weight of spare parts and the number of employees needed to carry out the maintenance action. Task duration means that the number of hours needed to fix the problem of the offshore wind turbines. <xref ref-type="table" rid="table3">Table 3</xref> shows the maximum hours the service vessels can work mainly based on the weather forecasting and condition of vessels. The maximum working hours may be different or same for different service vessels. For distinguishing, we assume that the maximum working hours for each day are different.</p><p>The process of the program can be seen in <xref ref-type="fig" rid="fig2">Figure 2</xref>. There are 2 groups of ants and each of them represents a vessel. The routing of each group of ants represents the routing and scheduling of maintenance for 1 vessel. Based on the relevant research [<xref ref-type="bibr" rid="scirp.87923-ref38">38</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref39">39</xref>] about the tuning of ACO and several trials, the number of ants in each group should be approximately the number of nodes the ants be visited which are the number of offshore turbines in this case. Therefore, the parameters of Multi-ACO are set as: number of ants of each group is 10, the maximum iteration is 200, important coefficient of pheromone α and β are set as 1 and 5 respectively, and the pheromone evaporation coefficient is 0.1.</p><p>The results of maintenance scheduling and routing with 8 offshore turbines are shown in <xref ref-type="table" rid="table4">Table 4</xref>. It is clear that only vessel of SWATH is used for maintenance service for the 8 turbines due to that it is cheaper and faster than Vessel Smit Bronco. In this table, D means delivery process while P means pick up (return) process. The final objective value is 2436.0 and its changing with the iteration is shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>.</p><p><xref ref-type="fig" rid="fig5">Figure 5</xref> shows the illustration of scheduling and routing for 8 offshore wind turbines. At first glance, the routing seems not the optimal one for pick up processes in <xref ref-type="fig" rid="fig5">Figure 5</xref>(b) and <xref ref-type="fig" rid="fig5">Figure 5</xref>(d). However, if we consider that T61 in <xref ref-type="fig" rid="fig5">Figure 5</xref>(b) will be the last one to be completed the maintenance action and thus the personnel in this turbine should be the last ones to be picked up, and the same apply to T27 in <xref ref-type="fig" rid="fig5">Figure 5</xref>(d).</p></sec><sec id="s4_2"><title>4.2. Computational Study with 36 Offshore Wind Turbines</title><p>In order to examine the Multi-ACO performance for a large number turbines’ wind farm, a new offshore wind farm with 36 turbines that are selected from illustration in <xref ref-type="fig" rid="fig3">Figure 3</xref> which are all turbines with kinds of service requirements. The information of 2 vessels is the same as shown in <xref ref-type="table" rid="table1">Table 1</xref> and the maximum working hours for each day is the same as <xref ref-type="table" rid="table3">Table 3</xref>. The conditions and parameters of 36 turbines are not presented because of too much data. This would not influence the target of the case, which is to test the performance the Multi-ACO performance for large number of turbines.</p><p>The parameters of Multi-ACO changes because of the increasing the number of wind turbine. The number of ants of each group is set as the same number of wind turbines, i.e. 36, and the maximum iteration is set as 300. The results are shown in <xref ref-type="table" rid="table5">Table 5</xref> and <xref ref-type="fig" rid="fig6">Figure 6</xref>. The vessel SWATH and vessel Smit Bronco visit and repair, replacement 19 turbines and 17 turbines respectively. Vessel SWATH need 4 days to visit and maintain all these 19 turbines, and it needs 5.0581, 5.2515, 5.2674, and 6.6055 hours for each day which are less than that of the maximum working hours of this vessel in <xref ref-type="table" rid="table3">Table 3</xref>. Vessel Smit Bronco need 3 days to visit and maintain 17 turbines, and it needs 6.9796, 7.1976 and 7.1590 hours for each day which are also less than that of maximum working hours of this vessel in <xref ref-type="table" rid="table3">Table 3</xref>. The objective value of fitness function of Equation (1) is 11,391.89. <xref ref-type="fig" rid="fig7">Figure 7</xref> and <xref ref-type="fig" rid="fig8">Figure 8</xref> show the details illustration of the routing and scheduling of these 2 vessels.</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Parameters of 8 Turbines</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Turbines</th><th align="center" valign="middle" >Task type</th><th align="center" valign="middle" >Time window (day)</th><th align="center" valign="middle" >Penalty cost (euro/day)</th><th align="center" valign="middle" >Load requirement (kg)</th><th align="center" valign="middle" >Personnel requirement</th><th align="center" valign="middle" >Task duration (hours)</th></tr></thead><tr><td align="center" valign="middle" >T3</td><td align="center" valign="middle" >Replacement</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >2000</td><td align="center" valign="middle" >800</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >T13</td><td align="center" valign="middle" >Replacement</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2500</td><td align="center" valign="middle" >500</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >2</td></tr><tr><td align="center" valign="middle" >T14</td><td align="center" valign="middle" >Repair</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >500</td><td align="center" valign="middle" >50</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2</td></tr><tr><td align="center" valign="middle" >T16</td><td align="center" valign="middle" >Repair</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >300</td><td align="center" valign="middle" >3</td><td align="center" valign="middle" >2</td></tr><tr><td align="center" valign="middle" >T27</td><td align="center" valign="middle" >Replacement</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >2500</td><td align="center" valign="middle" >500</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >T49</td><td align="center" valign="middle" >Replacement</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >3000</td><td align="center" valign="middle" >800</td><td align="center" valign="middle" >4</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >T54</td><td align="center" valign="middle" >Repair</td><td align="center" valign="middle" >5</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >50</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >T61</td><td align="center" valign="middle" >Repair</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >1000</td><td align="center" valign="middle" >300</td><td align="center" valign="middle" >2</td><td align="center" valign="middle" >3</td></tr></tbody></table></table-wrap><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Maximum working hours for each day</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >Date</th><th align="center" valign="middle"  colspan="2"  >Maximum Working Hours</th><th align="center" valign="middle" ></th></tr></thead><tr><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle"  colspan="2"  >Smit Bronco</td></tr><tr><td align="center" valign="middle" >Day 1</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Day 2</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Day 3</td><td align="center" valign="middle" >6</td><td align="center" valign="middle" >8</td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >Day 4</td><td align="center" valign="middle" >7</td><td align="center" valign="middle" >11</td><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> Results of scheduling and routing with 8 turbines</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Vessels</th><th align="center" valign="middle" >Date</th><th align="center" valign="middle" >Routing</th><th align="center" valign="middle" >Working Hours for Each Day</th><th align="center" valign="middle" >Objective Value</th></tr></thead><tr><td align="center" valign="middle"  rowspan="2"  >SWATH</td><td align="center" valign="middle" >Day 1</td><td align="center" valign="middle" >Harbor-T49(D)-T61(D)-T54(D)-T16(D + P)- T54(P)-T49(P)- T61(P)-Harbor</td><td align="center" valign="middle" >5.4249</td><td align="center" valign="middle"  rowspan="3"  >2436.0</td></tr><tr><td align="center" valign="middle" >Day 2</td><td align="center" valign="middle" >Harbor-T3(D)-T13(D)-T14(D)-T27(D)- T13(P)-T14(P)-T3(P)- T27(P)-Harbor</td><td align="center" valign="middle" >5.3017</td></tr><tr><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >-</td></tr></tbody></table></table-wrap><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Results of maintenance routing with 36 turbines</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Vessels</th><th align="center" valign="middle" >Date</th><th align="center" valign="middle" >Routing</th><th align="center" valign="middle" >Working Hours for Each Day</th><th align="center" valign="middle" >Objective Value</th></tr></thead><tr><td align="center" valign="middle"  rowspan="4"  >SWATH</td><td align="center" valign="middle" >Day 1</td><td align="center" valign="middle" >Harbor-T7(D)-T6(D)-T14(D)-T22(D)-T21(D + P)- T22(P)-T14(P)-T7(P)-T6(P)-Harbor</td><td align="center" valign="middle" >5.0581</td><td align="center" valign="middle"  rowspan="7"  >11391.89</td></tr><tr><td align="center" valign="middle" >Day 2</td><td align="center" valign="middle" >Harbor-T1(D)-T10(D)-T19(D)-T26(D)-T27(D)- T26(P)-T1(P)-T10(P)-T19(P)-T27(P)-Harbor</td><td align="center" valign="middle" >5.2515</td></tr><tr><td align="center" valign="middle" >Day 3</td><td align="center" valign="middle" >Harbor-T30(D)-T13(D)-T12(D)-T4(D)-T5(D)- T30(P)-T13(P)-T12(P)-T4(P)-T5(P)-Harbor</td><td align="center" valign="middle" >5.2674</td></tr><tr><td align="center" valign="middle" >Day 4</td><td align="center" valign="middle" >Harbor-T3(D)-T16(D)-T61(D)-T60(D)- T3(P)-T16(P)-T61(P)- T60(P)-Harbor</td><td align="center" valign="middle" >6.6055</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >Smit Bronco</td><td align="center" valign="middle" >Day 1</td><td align="center" valign="middle" >Harbor-T36(D)-T37(D)-T45(D)-T46(D)-T47(D)- T37(P)-T36(P)-T45(P)-T46(P)-T47(P)-Harbor</td><td align="center" valign="middle" >6.9796</td></tr><tr><td align="center" valign="middle" >Day 2</td><td align="center" valign="middle" >Harbor-T64(D)-T55(D)-T54(D)- T39(D)-T40(D)-T24(D)-T54(P)- T64(P)-T55(P)-T39(P)-T40(P)-T24(P)-Harbor</td><td align="center" valign="middle" >7.1976</td></tr><tr><td align="center" valign="middle" >Day 3</td><td align="center" valign="middle" >Harbor-T33(D)-T42(D)-T49(D)-T57(D)-T51(D)- T52-T42(P)-T33(P)-T49(P)-T57(P)-T51(P)-T52(P)- Harbor</td><td align="center" valign="middle" >7.1590</td></tr></tbody></table></table-wrap><table-wrap-group id="6"><label><xref ref-type="table" rid="table6">Table 6</xref></label><caption><title> Results comparison between xpress and multi ACO</title></caption><table-wrap id="6_1"><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >#</th><th align="center" valign="middle"  rowspan="2"  >Vessels</th><th align="center" valign="middle"  colspan="2"  >Xpress</th><th align="center" valign="middle"  colspan="2"  >Multi-ACO</th></tr></thead><tr><td align="center" valign="middle" >Routing</td><td align="center" valign="middle" >Object Value</td><td align="center" valign="middle" >Routing</td><td align="center" valign="middle" >Object Value</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1: 0-T30-T33-T33-T43- T43-T30-0</td><td align="center" valign="middle"  rowspan="2"  >4252.55</td><td align="center" valign="middle" >Day 1: 0-T33-T9-T10-T12-T30- T54-T9-T10-T12-T30-T53-T33</td><td align="center" valign="middle"  rowspan="2"  >3393.9</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >Day 1: 0-T9-T9-0 Day 2: 0-T54-T62-T62-T54-0 Day 3: 0-T10-T10-T12-T12-0</td><td align="center" valign="middle" >Day 1: 0-T43-T62-T43-T62-0</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1: 0-T10-T35-T53-T53- T51-T10-T61-T61-T51-T35-0 Day 2: 0-T41-T6-T6-T41-0</td><td align="center" valign="middle" >6712.56</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >2232.3</td></tr></tbody></table></table-wrap><table-wrap id="6_2"><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >SWATH</th><th align="center" valign="middle" >Day 2: 0-T7-T7-0</th><th align="center" valign="middle" ></th><th align="center" valign="middle" >Day 1: 0-T1-T35-T51-T35-T10- T51-0 Day 2: 0-T41-T61-T53-T7-T6- T53-T7-T41-T61-T6-0</th><th align="center" valign="middle" ></th></tr></thead><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1: 0-T1-T18-T34-T25-T25- T34- T18-T1-0</td><td align="center" valign="middle"  rowspan="2"  >4161.47</td><td align="center" valign="middle" >Day 1: 0-T1-T11-T4-T6-T11-T4- T6-T1-0</td><td align="center" valign="middle"  rowspan="2"  >3211.3</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >Day 1: 0-T11-T11-0 Day 2: 0-T4-T4-0 Day 3: 0-T56-T56-T6-T6-0</td><td align="center" valign="middle" >Day 1: 0-T56-T34-T25-T18-T56- T34-T25-T18-0</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1: 0-T33-T64-T33-T8-T58- T58-T64-T8-0 Day 2: 0-T2-T55-T29-T29-T55- T2-0</td><td align="center" valign="middle"  rowspan="2"  >5243.69</td><td align="center" valign="middle" >Day 1: 0-T60-T58-T33-T26-T2- T29-T58-T2-T60-T26-T29-T33</td><td align="center" valign="middle"  rowspan="2"  >3724.6</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >Day 3: 0-T26-T26-0</td><td align="center" valign="middle" >Day 1: 0-T8-T55-T8-T55-0</td></tr><tr><td align="center" valign="middle" >5</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1: 0-T2-T6-T37-T6-T37- T20-T20-T2-0 Day 2: 0-T15-T43-T43-T15-0 Day 3: 0-T50-T50-T60-T60-0</td><td align="center" valign="middle"  rowspan="2"  >5564.83</td><td align="center" valign="middle" >Day 1: 0-T20-T60-T15-T6-T2- T15-T6-T2-T20-T60-0</td><td align="center" valign="middle"  rowspan="2"  >3397.9</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >Day 2: 0-T37-T50-T43-T43- T37-T50-0</td></tr><tr><td align="center" valign="middle" >6</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1:0-T29-T39-T44-T44-T29- T7-T39-T7-0 Day 2: 0-T12-T14-T14-T12-0</td><td align="center" valign="middle"  rowspan="2"  >6573.63</td><td align="center" valign="middle" >Day 1: 0-T32-T39-T44-T12- T20-T29-T39-T44-T32-T12-T20-T29</td><td align="center" valign="middle"  rowspan="2"  >3380.9</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >Day 3: 0-T32-T32-T20-T20-0</td><td align="center" valign="middle" >Day 1: 0-T7-T14-T7-T14-0</td></tr><tr><td align="center" valign="middle" >7</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1: 0-T28-T26-T33-T33-T26-T28-0 Day 2: 0-T19-T47-T47-T14-T14-T19-0</td><td align="center" valign="middle"  rowspan="2"  >5690.93</td><td align="center" valign="middle" >Day 1: 0-T33-T26-T19-T28- T45-T47-T19-T45-T28-T47-T26-T33</td><td align="center" valign="middle"  rowspan="2"  >5539.6</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >Day 3: 0-T8-T8-T45-T45-0</td><td align="center" valign="middle" >Day 1: 0-T8-T14-T8-T14-0</td></tr><tr><td align="center" valign="middle" >8</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1:0-T9-T43-T49-T49-T43- T26-T26-T9-0 Day 2: 0-T39-T14-T14-T39-0</td><td align="center" valign="middle"  rowspan="2"  >4587.17</td><td align="center" valign="middle" >-</td><td align="center" valign="middle"  rowspan="2"  >4508.7</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >Day 3: 0-T36-T36-T27-T27-0</td><td align="center" valign="middle" >Day 1: 0-T9-T9-0 Day 2: 0-T36-T27-T36-T27-0 Day 3: 0-T14-T39-T43-T26- T49-T43-T14-T49-T26-T39-0</td></tr><tr><td align="center" valign="middle" >9</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1:0-T4-T6-T6-T53-T21-T21- T53-T4-0 Day 2:0-T46-T51-T26-T26-T58- T58-T46-T51-0</td><td align="center" valign="middle"  rowspan="2"  >4375.04</td><td align="center" valign="middle" >Day 1: 0-T6-T21-T51-T26-T21- T51-T6-0</td><td align="center" valign="middle"  rowspan="2"  >3143.0</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >-</td><td align="center" valign="middle" >Day 2: 0-T4-T46-T53-T58-T53- T4-T46-T58-0</td></tr><tr><td align="center" valign="middle" >10</td><td align="center" valign="middle" >Smit Bronco</td><td align="center" valign="middle" >Day 1: 0-T29-T18-T33-T33-T18- T29-0 Day 2: 0-T5-T5-T1-T1-0</td><td align="center" valign="middle"  rowspan="2"  >5084.91</td><td align="center" valign="middle" >Day 1: 0-T1-T17-T33-T29-T1- T29-T17-T33-0</td><td align="center" valign="middle"  rowspan="2"  >4833.8</td></tr><tr><td align="center" valign="middle" ></td><td align="center" valign="middle" >SWATH</td><td align="center" valign="middle" >Day 1: 0-T63-T63-0 Day 3: 0-T17-T17-T51-T51-0</td><td align="center" valign="middle" >Day 1: 0-T18-T63-T18-T63-0 Day 2: 0-T51-T5-T51-T5-0</td></tr></tbody></table></table-wrap></table-wrap-group><p>It is easy to see that vessel SWATH visit more turbines than vessel Smit Bronco even using longer time (1 more day). The reason is that the more turbines visited by vessel SWATH, the better (lower cost) of the routing and scheduling as long as the turbines can be visited (for repairing and replacement) within the time windows. It is common to get this type solution by Multi-ACO, which is one of the benefits comparing to scheduling and routing manually.</p></sec><sec id="s4_3"><title>4.3. Comparison with Xpress<sup>&#174;</sup></title><p>This section compares the proposed algorithm with existing commercial software Xpress&#174; Optimization. Xpress&#174; Optimization is a commercial optimization solver developed by FICO for linear programming (LP), mixed integer linear programming (MILP), convex quadratic programming (QP), convex quadratically constrained quadratic programming (QCQP), second-order cone programming (SOCP) and their mixed integer counterparts. Xpress includes a general purpose non-linear solver, Xpress NonLinear, including a successive linear programming algorithm (SLP, first-order method), and Artelys Knitro (second-order methods) [<xref ref-type="bibr" rid="scirp.87923-ref40">40</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref41">41</xref>] . The software uses branch-and-bound algorithm to solve the NP-hard problem [<xref ref-type="bibr" rid="scirp.87923-ref33">33</xref>] [<xref ref-type="bibr" rid="scirp.87923-ref42">42</xref>] . Same cases are used as in [<xref ref-type="bibr" rid="scirp.87923-ref33">33</xref>] and the results between Xpress&#174; and Multi-ACO are compared in <xref ref-type="table" rid="table6">Table 6</xref>.</p><p>For simplicity, “0” in <xref ref-type="table" rid="table6">Table 6</xref> represents the node “Harbor”, the first time the turbine number presents means the vessel delivery the personnel to this turbine, and the second time of the same number means the vessel come again to pick up the personnel to harbor. We can see from <xref ref-type="table" rid="table6">Table 6</xref> that both methods can solve the problem effectively. However, almost all the results of Multi-ACO are better than existing commercial software, which shows the advantage of proposed algorithm.</p></sec></sec><sec id="s5"><title>5. Conclusions</title><p>This article proposes Multi-ACO algorithm to solve the scheduling and routing problems of maintenance fleet for offshore wind farms. The mathematical model of the RSOMF is retrieved from the existing literature. The aim of this article is to reduce the O &amp; M cost for offshore wind farms by improving utilization of maintenance resources. The model involves an objective function and a number of constraints and thus is a combinational optimization problem with high complexity, which is very difficult to be solved by deterministic methods, and thus a heuristic algorithm, i.e. ACO, is modified as Multi-ACO to be used to solve this problem.</p><p>The numerical studies show that Multi-ACO is suitable to solve the RSOMF problem with multi vessels and multi wind farms with a number of constraints. It can find relative optimal scheduling and routing of maintenance flee to reduce the O &amp; M cost and the production loss and ensure the safety and reliability of offshore wind turbines at the same time. Even with big number of offshore wind turbines, Multi-ACO also shows its effectiveness and robust to find the optimal solution.</p><p>With the increasing of the number of offshore wind turbines, the time of Multi-ACO to find the optimal solution also increases. However, the time to find the solution is not very sensitive, because that comparing with the long-time maintenance scheduling and routing (days), some minutes or hours the time to be used is acceptable.</p><p>One issue of the heuristic algorithm is that no one can guarantee the solution is the best globally. What we can say is that the solution got by heuristic algorithm is relatively optimal. Multi-ACO has the same problem, which means that the scheduling and routing solution may be not the best but a relatively optimal solution. One way to improve the solution is that to run the program many times and choose the best one.</p><p>Even though this article has already achieved good solution, there are still some directions that can be extended. Even though the methodology can be used for many vessels, the case studies in this paper only consider two vessels. More vessels should be considered for future work. Weather constraints on the vessels are simplified as static feasible working hours. In further research, more accurate weather forecasts can be used. For example, some wind farms in north part of Norway are only accessible in summer time which is different from the case in this paper. The maintenance tasks modeled in this paper are limited to “light” tasks, excluding replacement of big sized components which requires special vessels, such as crane ships. These “heavy” tasks should be considered in the future work.</p></sec><sec id="s6"><title>Conflicts of Interest</title><p>The author declares no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s7"><title>Cite this paper</title><p>Zhang, Z.Y. (2018) Multi-ACO Application in Routing and Scheduling Optimization of Maintenance Fleet (RSOMF) Based on Conditions for Offshore Wind Farms. Journal of Power and Energy Engineering, 6, 20-40. https://doi.org/10.4236/jpee.2018.610002</p></sec></body><back><ref-list><title>References</title><ref id="scirp.87923-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">GWEC (2017) Global Wind Statistics 2016.</mixed-citation></ref><ref id="scirp.87923-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">EWEA (2016) Wind in Power—2015 European Statistics.</mixed-citation></ref><ref id="scirp.87923-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Tavner, P.J., Zappal, D., Sheng, S. and Crabtree, C.J. (2014) Side-Band Algorithm for Automatic Wind Turbine Gearbox Fault Detection and Diagnosis. IET Renewable Power Generation, 8, 380-389. https://doi.org/10.1049/iet-rpg.2013.0177</mixed-citation></ref><ref id="scirp.87923-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">GWEC (2013) Global Wind Report—Annual Market Update 2013.</mixed-citation></ref><ref id="scirp.87923-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Blanco, M.I. (2009) The Economics of Wind Energy. Renewable &amp; Sustainable Energy Reviews, 13, 1372-1382. https://doi.org/10.1016/j.rser.2008.09.004</mixed-citation></ref><ref id="scirp.87923-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">EWEA (2014) Wind Energy Scenarios for 2020.</mixed-citation></ref><ref id="scirp.87923-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Carroll, J., McDonald, A. and McMillan, D. (2016) Failure Rate, Repair Time and Unscheduled O &amp; M Cost Analysis of Offshore Wind Turbines. Wind Energy, 19, 1107-1119. https://doi.org/10.1002/we.1887</mixed-citation></ref><ref id="scirp.87923-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Dinwoodie, I., McMillan, D., Revie, M., et al. (2013) Development of a Combined Operational and Strategic Decision Support Model for Offshore Wind. Energy Procedia, 35, 157-166. https://doi.org/10.1016/j.egypro.2013.07.169</mixed-citation></ref><ref id="scirp.87923-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Markard, J. and Petersen, R. (2009) The Offshore Trend: Structural Changes in the Wind Power Sector. Energy Policy, 37, 3545-3556.  
https://doi.org/10.1016/j.enpol.2009.04.015</mixed-citation></ref><ref id="scirp.87923-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Van Bussel, G.J.W. and Zaaijer, M.B. (2001) Reliability, Availability and Maintenance Aspects of Large-Scale Offshore Wind Farms, a Concepts Study. Marine Renewable Energies Conference, Newcastle, 27 March 2001, 119-126.</mixed-citation></ref><ref id="scirp.87923-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Van Bussel, G.J.W. and Sch&amp;ouml;ntag, C. (1997) Operation and Maintenance Aspects of Large Offshore Windfarms. Proceedings of the 1997 European Wind Energy Conference, Dublin, 6-9 October 1997, 272-275.</mixed-citation></ref><ref id="scirp.87923-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Van Bussel, G.J.W. and Bierbooms, W.A.A.M. (2003) Analysis of Different Means of Transport in the Operation and Maintenance Strategy for the Reference DOWEC Offshore Wind Farm. Proceedings of the European Seminar on Offshore Wind Energy in Mediterranean and Other European Seas, Naples, 10-12 April 2003, 1-12.</mixed-citation></ref><ref id="scirp.87923-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Gundegjerde, C. and Halvorsen, I.B. (2012) Vessel Fleet Size and Mix for Maintenance of Offshore Wind Farms: A Stochastic Approach. Christian, Gundegjerde.</mixed-citation></ref><ref id="scirp.87923-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Besnard, F., Patriksson, M., Stromberg, A., et al. (2011) A Stochastic Model for Opportunistic Maintenance Planning of Offshore Wind Farms. IEEE Trondheim PowerTech, Trondheim, 19-23 June 2011, 1-8.</mixed-citation></ref><ref id="scirp.87923-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Besnard, F., Patriksson, M., Str, A., et al. (2009) An Optimization Framework for Opportunistic Maintenance of Offshore Wind Power System. Bucharest, 28 June-2 July 2009, 1-7.</mixed-citation></ref><ref id="scirp.87923-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Aas, B., Gribkovskaia, I., Sr, &amp;Oslash;.H. and Shlopak, A. (2007) Routing of Supply Vessels to Petroleum Installations. International Journal of Physical Distribution &amp; Logistics Management, 37, 164-179. https://doi.org/10.1108/09600030710734866</mixed-citation></ref><ref id="scirp.87923-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Gribkovskaia, I., Laporte, G. and Shlopak, A. (2008) Atabu Search Heuristic for a Routing Problem Arising in Servicing of Offshore Oil and Gas Platforms. Journal of the Operational Research Society, 59, 1449-1459.  
https://doi.org/10.1057/palgrave.jors.2602469</mixed-citation></ref><ref id="scirp.87923-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Fera, M., Iannone, R., Macchiaroli, R., et al. (2014) Project Appraisal for Small and Medium Size Wind Energy Installation: The Italian wind Energy Policy Effects. Energy Policy, 74, 621-631. https://doi.org/10.1016/j.enpol.2014.07.012</mixed-citation></ref><ref id="scirp.87923-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Christensen, T.V. (2007) Heuristic Algorithms for NP-Complete Problems. Technical University of Denmark, Lyngby.</mixed-citation></ref><ref id="scirp.87923-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Porumbel, D.C. (2009) Heuristic Algorithms and Learning Techniques: Applications to the Graph Coloring Problem. Université d’Angers, Angers.</mixed-citation></ref><ref id="scirp.87923-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Agrawal, K. and Bagoria, R. (2014) Ant Colony Optimization: Efficient Way to Find Shortest Path. International Journal of Advanced Technology and Engineering Research, 4, 18-21.</mixed-citation></ref><ref id="scirp.87923-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Parashar, A. and Swankar, K.K. (2013) A Genetic Algorithm Approach to Solve Unit Commitment Problem. IOSR Journal of Electrical and Electronics Engineering, 7, 60-64. https://doi.org/10.9790/1676-0736064</mixed-citation></ref><ref id="scirp.87923-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Han, X., Liang, Y., Li, Z., et al. (2015) An Efficient Genetic Algorithm for Optimization Problems with Time-Consuming Fitness Evaluation. International Journal of Computational Methods, 12, Article ID: 1350106.  
https://doi.org/10.1142/S0219876213501065</mixed-citation></ref><ref id="scirp.87923-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Kumar, P. (2013) Simulating the Potential Effects of Genetic Behaviour in Yield Management. Kurukshetra University, Haryana.</mixed-citation></ref><ref id="scirp.87923-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Mukhairez, H.H.A. and Maghari, A.Y.A. (2015) Performance Comparison of Simulated Annealing, GA and ACO Applied to TSP. International Journal of Intelligent Computing Research, 6, 647-654. https://doi.org/10.20533/ijicr.2042.4655.2015.0080</mixed-citation></ref><ref id="scirp.87923-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Perez-Carabaza, S., Besada-Portas, E., Lopez-Orozco, J.A. and de la Cruz, J.M. (2018) Ant Colony Optimization for Multi-UAV Minimum Time Search in Uncertain Domains. Applied Soft Computing, 62, 789-806.  
https://doi.org/10.1016/j.asoc.2017.09.009</mixed-citation></ref><ref id="scirp.87923-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Nguyen, D.C.H., Ascough, J.C., Maier, H.R., et al. (2017) Optimization of Irrigation Scheduling Using Ant Colony Algorithms and an Advanced Cropping System Model. Environmental Modelling &amp; Software, 97, 32-45.  
https://doi.org/10.1016/j.envsoft.2017.07.002</mixed-citation></ref><ref id="scirp.87923-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Nait Amar, M., Zeraibi, N. and Redouane, K. (2018) Optimization of WAG Process Using Dynamic Proxy, Genetic Algorithm and Ant Colony Optimization. Arabian Journal for Science and Engineering, 43, 6399-6412.  
https://doi.org/10.1007/s13369-018-3173-7</mixed-citation></ref><ref id="scirp.87923-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Huang, S.-H., Huang, Y.-H., Blazquez, C.A. and Paredes-Belmar, G. (2018) Application of the Ant Colony Optimization in the Resolution of the Bridge Inspection Routing Problem. Applied Soft Computing, 65, 443-461.  
https://doi.org/10.1016/j.asoc.2018.01.034</mixed-citation></ref><ref id="scirp.87923-ref30"><label>30</label><mixed-citation publication-type="other" xlink:type="simple">Dai, L. (2014) Safe and Efficient Operation and Maintenance of Offshore Wind Farms. Norwegian University of Science and Technology.</mixed-citation></ref><ref id="scirp.87923-ref31"><label>31</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, Z. (2014) Data Mining Approaches for Intelligent Condition-Based Maintenance—A Framework of Intelligent Fault Diagnosis and Prognosis System (IFDPS). Norwegian University of Science and Technology.</mixed-citation></ref><ref id="scirp.87923-ref32"><label>32</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, Z. (2014) Scheduling and Routing Optimization of Maintenance Fleet for Offshore Wind Farms Using Duo-ACO. Advanced Materials Research, 1039, 294-301. https://doi.org/10.4028/www.scientific.net/AMR.1039.294</mixed-citation></ref><ref id="scirp.87923-ref33"><label>33</label><mixed-citation publication-type="other" xlink:type="simple">Dai, L., St&amp;aring;lhane, M. and Utne, I. (2015) Routing and Scheduling of Maintenance Fleet for Offshore Wind Farms. Wind Engineering, 39, 15-30.  
https://doi.org/10.1260/0309-524X.39.1.15</mixed-citation></ref><ref id="scirp.87923-ref34"><label>34</label><mixed-citation publication-type="other" xlink:type="simple">Dorigo, M. and Stützle, T. (2004) Ant Colony Optimization. MIT Press, Cambridge.</mixed-citation></ref><ref id="scirp.87923-ref35"><label>35</label><mixed-citation publication-type="other" xlink:type="simple">Dorigo, M., Birattari, M. and Stutzle, T. (2006) Ant Colony Optimization. IEEE Computational Intelligence Magazine, 1, 28-39.  
https://doi.org/10.1109/MCI.2006.329691</mixed-citation></ref><ref id="scirp.87923-ref36"><label>36</label><mixed-citation publication-type="other" xlink:type="simple">Manfrin, M. (2004) Ant Colony Optimization for the Vehicle Routing Problem. Universit’e Libre de Bruxelles, Bruxelles.</mixed-citation></ref><ref id="scirp.87923-ref37"><label>37</label><mixed-citation publication-type="other" xlink:type="simple">Salzman, D. (2010) Ampelmann, Development of the Access System for Offshore Wind Turbines. Technische Universiteit Delft, Delft.</mixed-citation></ref><ref id="scirp.87923-ref38"><label>38</label><mixed-citation publication-type="other" xlink:type="simple">Gaertner, D. and Clark, K. (2005) On Optimal Parameters for Ant Colony Optimization Algorithm. In: Proceedings of the International Conference on Artificial Intelligence, CSREA Press, 83-89.</mixed-citation></ref><ref id="scirp.87923-ref39"><label>39</label><mixed-citation publication-type="other" xlink:type="simple">Ridge, E. (2007) Design of Experiments for the Tuning of Optimisation Algorithms. The University of York, York.</mixed-citation></ref><ref id="scirp.87923-ref40"><label>40</label><mixed-citation publication-type="other" xlink:type="simple">FICO Xpress. https://en.wikipedia.org/wiki/FICO_Xpress</mixed-citation></ref><ref id="scirp.87923-ref41"><label>41</label><mixed-citation publication-type="other" xlink:type="simple">FICO Xpress Optimization.  
https://www.fico.com/en/products/fico-xpress-optimization</mixed-citation></ref><ref id="scirp.87923-ref42"><label>42</label><mixed-citation publication-type="other" xlink:type="simple">St&amp;aring;lhane, M., Hvattum, L.M. and Skaar, V. (2015) Optimization of Routing and Scheduling of Vessels to Perform Maintenance at Offshore Wind Farms. Energy Procedia, 80, 92-99. https://doi.org/10.1016/j.egypro.2015.11.411</mixed-citation></ref></ref-list></back></article>