_{1}

Reducing the operation and maintenance (O & 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 & 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.

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 [

Because of harsh environments of offshore wind farms and spread of offshore wind turbine installations, the O & M costs can be estimated to 5 to 10 times more expensive than that of onshore wind farms [

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öntag developed the simulation program CONTOFAX [

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. [

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 [

The remaining sections of this article are organized as follows. Mathematical model of RSOMF is retrieved from a literature [

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 [

The mathematical model is retrieved from the literature [

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.

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.

Z = Z − ∪ Z + .

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.

V: the set of service vessels.

T: the set of days in the planning period; T = { 1 , 2 , ⋯ } represents the length of the period.

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.

C v i j : the traveling cost of vessel v from node i to j.

T v i j : the time (hours) for vessel v traversing arc ( i , j ) .

T i M : the time needed for performing the maintenance task on turbine i; T 0 M = T 2 n + 1 M = 0 .

L i : the weight of spare parts and equipment for maintenance on turbine i.

P i : the required personnel number for maintenance on turbine i.

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.

L v M A X : the load capacity of vessel v.

P v M A X : the personnel capacity of vessel v.

T i L A T E : the latest day to perform the maintenance task on turbine i without incurring a penalty.

x v i j d = { 1 , vessel v travelsfromnode i tonode j onmaintenanceday d 0 , otherwise

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.

t v i d : the time at which vessel v visits turbine i on maintenance day d.

k v i d : the total load weight on vessel v just after it leaves node i on maintenance day d.

q v i d : the total personnel number on vessel v just after it leaves node i on maintenance day d.

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)

Constraints:

∑ j ∈ N ∑ v ∈ V ∑ d ∈ T x v i j d = 1 , ∀ i ∈ Z , (2)

∑ i ∈ N x v 0 i d = 1 , ∀ v ∈ V , d ∈ T , (3)

∑ j ∈ N x v j i d = ∑ j ∈ N x v i j d , ∀ v ∈ V , d ∈ T , i ∈ N , (4)

∑ i ∈ N x v i ( 2 n + 1 ) d = 1 , ∀ v ∈ V , d ∈ T , (5)

∑ j ∈ N x v j i d = ∑ j ∈ N x v ( n + i ) j d , ∀ v ∈ V , d ∈ T , i ∈ Z − , (6)

∑ v ∈ V ∑ d ∈ T x v i ( i + n ) d = 1 , ∀ i ∈ Z V , (7)

t v ( n + i ) d − t v i d ≥ T i M , ∀ i ∈ Z − , v ∈ V , d ∈ T , (8)

∑ j ∈ N ∑ v ∈ V ∑ d ∈ T ( d ⋅ x v i j d − y i ) ≤ T j L A T E , ∀ i ∈ Z − , (9)

( 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)

∑ i ∈ Z − ∑ j ∈ N L i x i j v d ≤ L v M A X , ∀ v ∈ V , d ∈ T , (11)

( 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)

( k v i d − k v j d ) x v i j d = 0 , ∀ i ∈ N \ Z − , j ∈ N , v ∈ V , d ∈ T , (13)

( 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)

( 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)

0 ≤ k v i d ≤ L v M A X , ∀ i ∈ N , v ∈ V , d ∈ T , (16)

0 ≤ q v i d ≤ P v M A X , ∀ i ∈ N , v ∈ V , d ∈ T , (17)

t v ( 2 n + 1 ) ≤ T v d M A X , ∀ v ∈ V , d ∈ T , (18)

t v 0 d = 0 , ∀ v ∈ V , d ∈ T , (19)

y i ≥ 0 , ∀ i ∈ Z − (20)

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 [

1) Equation (2) ensures that each OWT is visited only once for delivery and once for pick up.

2) Equations (3) and (5) ensure that each vessel leaves and returns the harbor only once every day.

3) Equations (4) and (6) ensure flow conservation at each node.

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.

5) Equation (8) is precedence constraints which force the pickup is not done before completing the maintenance operation on the same OWT.

6) Equation (9) is soft constraints, which require that the maintenance task is performed within the preferred time.

7) Equation (10) keeps the travelling time compatibility of each vessel.

8) Equation (11) ensures the service vessels are not overloaded.

9) Equation (12) expresses the compatibility requirements between routes and vessel loads.

10) Equation (13) ensures that no extra load added when the vessels pick up from OWTs.

11) Equations (14) and (15) describe the compatibility requirements between routes and personnel number on the vessels.

12) Equations (16) and (17) guarantee that neither of load or personnel number exceeding the vessel limitations.

13) Equation (18) imposes a maximal working time of the service vessels on each day.

14) Equation (19) means the time is counted from the vessels leaving the harbor.

15) Equation (20) set the delayed maintenance day to be non-negative.

Ant colonies can accomplish complex tasks that far exceed the individual capabilities of a single ant [

p i j k = [ τ i j ] α [ η i j ] β ∑ l ∈ N i k [ τ i j ] α [ η i j ] β ′ , if j ∈ N i k (21)

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 [

The pheromone trails are updated after tours constructing by evaporating at a constant rate and accumulating with new deposits:

τ i j ← ( 1 − ρ ) τ i j + ∑ k = 1 m Δ τ i j k , ∀ ( i , k ) ∈ L (22)

where 0 < ρ ≤ 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:

Δ τ i j k = { 1 / C k if a r c ( i , j ) belongstoT k 0 otherwise (23)

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.

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.

The idea of Multi-ACO is evolved from classical ACO. The procedure of classical ACO Algorithm solving TSP problem can be written as

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.

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.

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 [

Vessels | Cruising Speed (km/h) | Load Capacity (kg) | Personal Capacity | Cost (?h) |
---|---|---|---|---|

SWATH | 33 | 1500 | 12 | 225 |

Smit Bronco | 20 | 26,000 | 12 | 300 |

8 OWTs are selected from illustration in

The process of the program can be seen in

The results of maintenance scheduling and routing with 8 offshore turbines are shown in

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

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

Turbines | Task type | Time window (day) | Penalty cost (euro/day) | Load requirement (kg) | Personnel requirement | Task duration (hours) |
---|---|---|---|---|---|---|

T3 | Replacement | 3 | 2000 | 800 | 3 | 3 |

T13 | Replacement | 2 | 2500 | 500 | 3 | 2 |

T14 | Repair | 6 | 500 | 50 | 2 | 2 |

T16 | Repair | 5 | 1000 | 300 | 3 | 2 |

T27 | Replacement | 2 | 2500 | 500 | 2 | 3 |

T49 | Replacement | 1 | 3000 | 800 | 4 | 3 |

T54 | Repair | 5 | 1000 | 50 | 1 | 1 |

T61 | Repair | 7 | 1000 | 300 | 2 | 3 |

Date | Maximum Working Hours | ||
---|---|---|---|

SWATH | Smit Bronco | ||

Day 1 | 6 | 7 | |

Day 2 | 6 | 8 | |

Day 3 | 6 | 8 | |

Day 4 | 7 | 11 |

Vessels | Date | Routing | Working Hours for Each Day | Objective Value |
---|---|---|---|---|

SWATH | Day 1 | Harbor-T49(D)-T61(D)-T54(D)-T16(D + P)- T54(P)-T49(P)- T61(P)-Harbor | 5.4249 | 2436.0 |

Day 2 | Harbor-T3(D)-T13(D)-T14(D)-T27(D)- T13(P)-T14(P)-T3(P)- T27(P)-Harbor | 5.3017 | ||

Smit Bronco | - | - | - |

Vessels | Date | Routing | Working Hours for Each Day | Objective Value |
---|---|---|---|---|

SWATH | Day 1 | Harbor-T7(D)-T6(D)-T14(D)-T22(D)-T21(D + P)- T22(P)-T14(P)-T7(P)-T6(P)-Harbor | 5.0581 | 11391.89 |

Day 2 | Harbor-T1(D)-T10(D)-T19(D)-T26(D)-T27(D)- T26(P)-T1(P)-T10(P)-T19(P)-T27(P)-Harbor | 5.2515 | ||

Day 3 | Harbor-T30(D)-T13(D)-T12(D)-T4(D)-T5(D)- T30(P)-T13(P)-T12(P)-T4(P)-T5(P)-Harbor | 5.2674 | ||

Day 4 | Harbor-T3(D)-T16(D)-T61(D)-T60(D)- T3(P)-T16(P)-T61(P)- T60(P)-Harbor | 6.6055 | ||

Smit Bronco | Day 1 | Harbor-T36(D)-T37(D)-T45(D)-T46(D)-T47(D)- T37(P)-T36(P)-T45(P)-T46(P)-T47(P)-Harbor | 6.9796 | |

Day 2 | 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 | 7.1976 | ||

Day 3 | 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 | 7.1590 |

# | Vessels | Xpress | Multi-ACO | ||
---|---|---|---|---|---|

Routing | Object Value | Routing | Object Value | ||

1 | Smit Bronco | Day 1: 0-T30-T33-T33-T43- T43-T30-0 | 4252.55 | Day 1: 0-T33-T9-T10-T12-T30- T54-T9-T10-T12-T30-T53-T33 | 3393.9 |

SWATH | Day 1: 0-T9-T9-0 Day 2: 0-T54-T62-T62-T54-0 Day 3: 0-T10-T10-T12-T12-0 | Day 1: 0-T43-T62-T43-T62-0 | |||

2 | Smit Bronco | Day 1: 0-T10-T35-T53-T53- T51-T10-T61-T61-T51-T35-0 Day 2: 0-T41-T6-T6-T41-0 | 6712.56 | - | 2232.3 |

SWATH | Day 2: 0-T7-T7-0 | Day 1: 0-T1-T35-T51-T35-T10- T51-0 Day 2: 0-T41-T61-T53-T7-T6- T53-T7-T41-T61-T6-0 | |||
---|---|---|---|---|---|

3 | Smit Bronco | Day 1: 0-T1-T18-T34-T25-T25- T34- T18-T1-0 | 4161.47 | Day 1: 0-T1-T11-T4-T6-T11-T4- T6-T1-0 | 3211.3 |

SWATH | Day 1: 0-T11-T11-0 Day 2: 0-T4-T4-0 Day 3: 0-T56-T56-T6-T6-0 | Day 1: 0-T56-T34-T25-T18-T56- T34-T25-T18-0 | |||

4 | Smit Bronco | Day 1: 0-T33-T64-T33-T8-T58- T58-T64-T8-0 Day 2: 0-T2-T55-T29-T29-T55- T2-0 | 5243.69 | Day 1: 0-T60-T58-T33-T26-T2- T29-T58-T2-T60-T26-T29-T33 | 3724.6 |

SWATH | Day 3: 0-T26-T26-0 | Day 1: 0-T8-T55-T8-T55-0 | |||

5 | Smit Bronco | 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 | 5564.83 | Day 1: 0-T20-T60-T15-T6-T2- T15-T6-T2-T20-T60-0 | 3397.9 |

SWATH | - | Day 2: 0-T37-T50-T43-T43- T37-T50-0 | |||

6 | Smit Bronco | Day 1:0-T29-T39-T44-T44-T29- T7-T39-T7-0 Day 2: 0-T12-T14-T14-T12-0 | 6573.63 | Day 1: 0-T32-T39-T44-T12- T20-T29-T39-T44-T32-T12-T20-T29 | 3380.9 |

SWATH | Day 3: 0-T32-T32-T20-T20-0 | Day 1: 0-T7-T14-T7-T14-0 | |||

7 | Smit Bronco | Day 1: 0-T28-T26-T33-T33-T26-T28-0 Day 2: 0-T19-T47-T47-T14-T14-T19-0 | 5690.93 | Day 1: 0-T33-T26-T19-T28- T45-T47-T19-T45-T28-T47-T26-T33 | 5539.6 |

SWATH | Day 3: 0-T8-T8-T45-T45-0 | Day 1: 0-T8-T14-T8-T14-0 | |||

8 | Smit Bronco | Day 1:0-T9-T43-T49-T49-T43- T26-T26-T9-0 Day 2: 0-T39-T14-T14-T39-0 | 4587.17 | - | 4508.7 |

SWATH | Day 3: 0-T36-T36-T27-T27-0 | 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 | |||

9 | Smit Bronco | Day 1:0-T4-T6-T6-T53-T21-T21- T53-T4-0 Day 2:0-T46-T51-T26-T26-T58- T58-T46-T51-0 | 4375.04 | Day 1: 0-T6-T21-T51-T26-T21- T51-T6-0 | 3143.0 |

SWATH | - | Day 2: 0-T4-T46-T53-T58-T53- T4-T46-T58-0 | |||

10 | Smit Bronco | Day 1: 0-T29-T18-T33-T33-T18- T29-0 Day 2: 0-T5-T5-T1-T1-0 | 5084.91 | Day 1: 0-T1-T17-T33-T29-T1- T29-T17-T33-0 | 4833.8 |

SWATH | Day 1: 0-T63-T63-0 Day 3: 0-T17-T17-T51-T51-0 | Day 1: 0-T18-T63-T18-T63-0 Day 2: 0-T51-T5-T51-T5-0 |

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.

This section compares the proposed algorithm with existing commercial software Xpress® Optimization. Xpress® 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) [

For simplicity, “0” in

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 & 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.

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 & 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.

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.

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.

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.

The author declares no conflicts of interest regarding the publication of this paper.

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