1. Introduction
The dynamic positioning system (DPS) is the unit that automatically keeps the position of offshore platforms by controlling actuators to encounter environmental forces. Currently, dynamic positioning systems are installed on many vessels that are used in offshore operations, such as drilling, production, and exploration. They directly manage operational safety by keeping positions and preventing unexpected drift. Dynamic positioning systems involve safety related units, such as sensors, power management system, generator, and control actuators. DP units are usually the heaviest fuel consumer and second most expensive unit in the offshore-platform CAPEX (capital expenditure) [
1]. According to the offshore-industry statistics, the fuel consumption occupies 62% of the total expenditure and dynamic positioning system consumes the largest amount of fuel, which results in the largest gas pollution, equal to 48%, among various offshore operations [
2]. Thus, for the reduction of offshore platform’s fuel consumption and gas emission, the development of an efficient DP system and control is crucial. Even 5% fuel consumption improvement in a dynamic positioning system can save about 9 million dollars in 20 years, including carbon dioxide handling cost. This economic merit can be increased in the future because environmental regulations for gas emission are continuously becoming tightened up.
Thrust-allocation research for minimal total thrust have been conducted actively since 1960 [
3]. In Johansen [
3], the state-of-the-art thrust-allocation methods were reviewed and summarized. In this article, linear and nonlinear, constrained and unconstrained quadratic programming and other optimization applications to marine industry, were explained. Generally, DP vessels have over-actuated control systems that have more actuators than the required number of degrees of freedom. Therefore, thrust allocation can be solved by using optimization algorithms. The pseudo-inverse method has been widely used in the industrial application (e.g., Johansen [
3]; Ryu [
4]) because of its simplicity, which is beneficial for the online computation that requires real time computing, mostly within one second. However, there are disadvantages involved in using the pseudo-inverse method. It cannot give elaborate thruster-allocation values when the required force exceeds physical limitations of thrusters, such as thruster capacity and rate constraints. For dealing with this drawback, the quadratic programming was proposed as an alternative optimization strategy for total-thrust-power minimization. Quadratic programming is the suitable optimization strategy when it has a quadratic object function and linear thruster constraints. The industrial quadratic programing for DP system was modeled, for example, in Johansen [
5]. In Wit [
6], the pseudo-inverse method and the quadratic-programming method were compared. According to the reference, the quadratic programming gave more elaborate solutions than the pseudo-inverse method under thruster saturation and failure condition. In Rindaroy [
7], by using quadratic programming, he solved thrust-allocation problems to minimize fuel consumption and power load.
On the other hand, In Zhao [
8], the hybrid method that combines genetic algorithm (e.g., Caponetto et al. [
9]) and sequential quadratic programming was employed to solve the thrust-allocation problem for a semisubmersible drilling rig. Regarding the thrust allocation as the process of decision making, the fuzzy control and neural network could be employed (e.g., Saddat [
10], Vrkalovic [
11], and Malecki [
12]). The suggested thrust-allocation method achieved 2% power reduction compared to the pseudo-inverse method. The optimized thrust-allocation command should be done within a second, which is crucial for the real-time industrial DP controller. If thrust-allocation time takes longer than that, the solution is not feasible due to the time lag for the control. In this regard, the genetic algorithm is not directly applicable at this point. In the present study, an alternative optimization scheme called penalty programming is newly applied considering that it can be applied to real-time control and deal with any types of constraints and objective functions.
Most of previous DP-related studies have been limited to the vessel-only case without including mooring lines. Another unique feature of the present paper is the fully-coupled dynamic simulation among hull, mooring, riser, and DP system in time domain. Using the developed fully coupled time-domain simulation program, the accumulated fuel consumption for given platform, environment, and duration can be obtained.
This research formulated the fuel-optimal thrust-allocation algorithm by using penalty programming optimization frame. Also, it was implemented in the thrust-allocation module and coupled time-domain simulation. The developed algorithm was then applied to a turret moored FPSO in storm conditions to demonstrate its efficiency compared to other existing thruster-allocation methods, such as pseudo-inverse and quadratic-programming methods. To draw more general conclusions, several different scenarios were considered.
In the following, the DP mechanism and thrust-allocation problem are explained in
Section 2. In
Section 3, the formulation of optimization in allocating thrust for minimal fuel consumption is presented. In
Section 4, the implementation of the optimization algorithm is described. Then, the coupled time-domain-simulation method is stated in
Section 5.
Section 6 and
Section 7 present the comparisons between the proposed penalty method and existing methods by using the time- domain simulations of DP-assisted FPSO-equipped six azimuth thrusters, which are followed by concluding remarks.
2. Conventional DP-Control Conceptual Diagram
The conventional DP-control algorithm consists of three modules: estimation, control, and thrust allocation.
Figure 1 presents the conceptual diagram of a conventional DP algorithm.
Generally, the Kalman filter (or the extended Kalman filter (EKF)) is applied to the estimation module that estimates states from weighted mathematical estimations and sensor measurements. The estimation module produces state estimations that are generally the position, velocity, and acceleration of offshore platform. Also, the estimation module filters out high-frequency motions because they are hard to control and cause the wear-and-tear problems of actuators. The control module of dynamic positioning controller calculates required forces and moments to keep a position counteracting the environmental forces. Conventional DPS adopts the Proportional–Integral–Derivative (PID) controllers that set the relationship between control forces and state errors by applying appropriate gain control to state error. By design, the PID controller sets the gain matrix
K as in Equation (1):
where error matrix
,
is thruster-command matrix,
is a state estimation matrix, and
is a target state matrix.
The role of thrust allocation is to distribute required forces and moments to control actuators, such as tunnel thrusters, azimuth thrusters, propellers, and rudders. Basically, the control actuator system is an over-actuated system, for which the number of control actuators is larger than the number of degrees of freedom for control. Therefore, the thruster-allocation problem can be modeled as an optimization problem. The thruster-allocation problem can be expressed by Equation (2).
where
B is the thruster configuration matrix,
is the 3 degrees of freedom control force in horizontal plane, and
is the input control matrix of the actuator.
Typically, the pseudo-inverse method finds a local optimum for minimizing the total thrust input square based on the Lagrange multiplier optimization theory as explained in Johansen [
3]. The pseudo-inverse matrix is calculated by the pseudo-inversed thruster configuration matrix, as in Equation (3):
where
B is the thruster-configuration matrix and
C is the pseudo-inverse matrix of the configuration matrix. Then, the thrust matrix
u can be solved as in Equation (4).
The pseudo-inverse matrix method has the advantages of simplicity and practicality. If the thruster configuration matrix does not have any singularity, then it can be calculated by the direct simple matrix calculation. Thus, the computational burden of the pseudo-inverse method is light. This is the reason why the pseudo-inverse method has been used widely in industrial DP controllers with real-time control. However, the pseudo-inverse method has two serious disadvantages. The first one is that it cannot produce an elaborate solution when environmental forces are higher than thruster capacity. The second problem is that it cannot consider the constraints of the thruster, so its performance is degraded [
3]. The pseudo-inverse method is employed here as a representative conventional DP thrust-allocation method for comparison with the newly-developed thrust-allocation algorithm called penalty method. For compensating the pseudo-inverse method’s disadvantage, the quadratic programming was proposed as an alternative thruster-allocation optimization method by Wit [
6] and Rindaroy [
7]. Quadratic programming is appropriate when solving the quadratic-form objective and linear-constrained optimization.
3. Optimization Formulation for Thruster Allocation Based on Penalty Programming
The thrust allocation of a dynamic positioning system is the optimization problem which has nonlinear object function and constraints. Rindaroy [
7] linearized the constraints of the thrust allocation and applied quadratic programming, which is an adequate optimization method for nonlinear object function and linear constraint. In this study, penalty programming, which is the suitable method for both linear and nonlinear object functions and constraints, is applied to directly solve the optimal thrust allocation. The representative optimization methods were categorized depending on the forms of object functions and constraints [
13], as in
Table 1.
The procedure of optimization consists of three stages: optimization variable design (object functions and constraints modeling), optimization problem formulation, and numerical approach. It is necessary to design optimization variables so that those variables reflect real-world problems well, which makes the optimization more credible. The optimization formulation is the stage that defines object functions and constraints according to the optimization strategy. The numerical approach is the step that implements the mathematical form into computer program. The following section states which parameters are important in the thruster allocation, and how those can be derived in mathematical forms.
3.1. Object-Function Modeling: Fuel Consumption
This research focuses on the design of thrust-allocation optimization that can achieve the minimal fuel consumption. Therefore, the fuel consumption is to be the most important parameter here. It is then essential to model a relationship between the thrust and fuel consumption because the object function should be parameterized by the design variables. The fuel consumption of the marine diesel engine can be expressed by the power series of thrust. According to Rindaroy [
7], the power consumption and thrust have the following relationship:
where:
.
The fuel consumption and power relation are based on the marine diesel engine. The fuel consumption could be modeled as Equation (6) as a quadratic form. The total thrust of previous time step was used for the modeling of current time step.
where
and
where
K is an
n by n coefficient matrix which presents the fuel consumption in quadratic form,
u is thrust input,
n is the number of thrusters, and
is the angle of thruster.
3.2. Thruster Mehcanical Constraints
Two physical-constraint groups of thrusters are considered for the fuel-optimal thrust-allocation problem. The first constraint group is the thrust and thruster-angle constraints, as in Equation (7).
where
is the thrust of
i-th thruster (
i = 0, …,
n),
is the azimuth angle of
i-th thruster,
is the maximum thruster capacity of
i-th thruster.
Another constraint group is the thrust-variation rate that can be considered as the movable range of thrust per unit time, as in Equation (8).
where
is the current time-step thrust of
i-th thruster (
i = 0,…,1),
is the current azimuth angle of
i-th thruster,
is the previous time-step’s thrust of
i-th thruster (
i = 0,…,1),
is the azimuth angle of previous time-step of
i-th thruster,
is the maximum thrust rate per unit time of
i-th thruster, and
is the maximum thrust rate per unit time of
i-th thruster.
3.3. Required Force and Moment Constraints
The required forces and moments can be defined by the multiplication of PD gain and error matrix. The required forces and moments are the equality constraints, which should be satisfied by the thrust-allocation optimization problem. The key function of PD-controller design is to define the gain control. PD-controller design assumes offshore platform as linear time-invariant system. The corresponding system of equations of motions follows the form (e.g., Ryu [
4]):
where dot (∙) denotes time derivative. Each vector written in bold-type can be described by the following set of definitions: State
Control Input
Measurement
Measurement-Noise
, where
,
,
,
,
,
is the mass of the floating structure,
is the moment of inertia with respect to z-axis, and
are the added masses at zero frequency, and
is the state estimation vector.
For calculating PD gains, the linear quadratic regulator (LQR) theory was applied. The LQR is conventionally used for finding an optimal control gain matrix K that can minimize state error and thruster usage together, as Equation (10):
where
.
The prior research only analyzed the fuel optimal thrust allocation in the static domain, whereas the time-accumulated fuel consumption, which includes dynamic effects like the present paper, is a more meaningful measure for fuel consumption performance analysis. Moreover, the static-domain approach cannot directly evaluate whether the computational speed of thruster-allocation algorithm is feasible for real-time DP control or not.
The thrust allocation produces thruster commands with required force and moment constraints to keep the position of offshore platform by counteracting against environmental forces. In this research, the target object motion is the motion range in horizontal plane. Therefore, 3DOF force and moment constraints can be formulated, as in Equation (11). In this study, the example FPSO has six azimuth thrusters, so the index “
n” becomes six:
where,
X,
Y,
N are surge and sway forces, and yaw moment, respectively.
is the total thrust of
i-th thruster,
are the distances of
i-th thrusters from center of gravity.
3.4. Optimization Problem Formulation
The thrust allocation can be formulated as the general form of optimization problem that uses optimization design variables as modeled in the previous section. It has a fuel-consumption object function, mechanical constraints, and required force constraints. It can be formulated as follows:
The penalty programming replaces a constrained optimization problem by the combination of unconstrained problems whose solution ideally converges to that of the original constrained problem. The advantage of the penalty programming is that there is no limitation as to how to construct the object function and constraint. Therefore, this can be used for the fuel-minimal thrust allocation with nonlinearity. The penalty problem can be formulated as Equation (13):
For solving the penalty problem, the penalty programming technique is necessary. At first, the penalty programming is modeled by including the object function and constraints like Equation (14):
where
is the object function,
is the constraints function,
is penalty parameter.
According to the penalty convergence theorem [
14], the following is valid:
If f(u), p(u) are continuous functions, then let “u” be the solution of the penalty programming. When penalty parameter “c” increases to infinity, the limit value of “u” exists. Then “u” is the optimum solution of penalty programming.
Therefore, when the penalty parameter “c” goes to infinity, the optimum solution will be found, mathematically. The numerical implementation will be stated in the following section.
4. Numerical Approach: Penalty-Programming Implementation
For the numerical implementation of penalty programming, the optimization simulation code was constructed and included in the thrust-allocation module.
Figure 2 summarizes the flow chart of the penalty programming. For finding current-step thruster command, at first, the initial values were found by the pseudo-inverse method. Then, the penalty programming initializes the penalty parameter “
C” as one. Then, the numerical approach finds the solution of the penalty program by using Gauss elimination with partial pivoting. Then, make
C double the previous step’s
C. Then, check that the solution is converged. The proposed algorithm converged well, compared to the quadratic programming and genetic algorithm.
For the given system, the solution’s existence and stability are evaluated, which is essential to provide the validity of the penalty programming.
4.1. Solution Existence
If the solution has convex area, then the solution of the penalty programming exists. In the case of a given thrust allocation, the area of thruster commands is convex, which is limited by the constraints. Therefore, the solution of penalty programming exists.
4.2. Solution Stability
Numerically, the probability of solution finding depends on the stability of system. The stability of a system could be defined as the condition number of system matrix. If system matrix is positive definite and the condition number defined as Equation (15) is converged, the system is stable.
Under the system of linear equation which has “
n” number of thrusters,
where
Then, matrix B is positive definite. The eigenvalues of B matrix are
Then, the eigenvalues of matrix A are
5. Time-Domain-Coupled Analysis
The above DP algorithms are implemented in the vessel–riser–mooring-coupled dynamic simulation program in time domain. Traditionally, a simplified approach is used in calculating vessel motions without coupling with risers and mooring lines.
As water depth increases, the mass/damping of the mooring lines and risers becomes larger, and their dynamic coupling with vessel should be considered for accurate vessel-motion simulations. Ryu [
4] addressed the fact that the time domain coupled analysis is the most adequate for the hull–leg interaction because mooring lines and risers can significantly influence hull responses. The flowcharts of the simplified approach and the fully coupled analysis including DP control are compared in
Figure 3 and
Figure 4 (e.g., Ryu [
4]).
Not to have thruster wear and tear, it is better not to counteract the Wave Frequency (WF) motion. Only the slowly varying motions are filtered for the platform control. For this purpose, a Kalman filter was adopted. The time-domain-coupled analysis is physically reasonable for the numerical simulations of thruster-assisted moored platforms, since the required thrust should be calculated in every time step with other external forces.
6. Comparison with Reproduced Quadratic-Programming-Based Thrust Allocation
For the validation of the developed thrust-allocation method, reference cases in Rindaroy [
7] were simulated using the quadratic-programming method for the cases of power minimization and fuel consumption minimization. Those problems are to distribute required surge and sway forces (Surge Force: 100 KN, Sway Force: 200 KN) to the forward tunnel thruster, the forward azimuth thruster, the aft port azimuth thruster, and the aft starboard azimuth thruster. The offshore support vessel bourbon UT 745E was used for the target vessel. The principal dimension of the bourbon UT745E is presented in
Figure 5 and
Table 2.
Figure 6 and
Figure 7 represent thrust-allocation validation results.
Figure 6 shows the bar chart of the reference [
7] and the present validation case for the thruster usage (%) according to forward and aft thrusters. The present thrust-allocation results based on the quadratic programing for thruster minimization and fuel optimization agree well with those of Rindaroy [
7].
Figure 7 similarly compares the results of fuel consumption depending on different optimization object functions. Consistently, the fuel consumption results of the present validation cases show very close coherence with the reference cases. Analyzing those two figures, although the thruster usage was larger in the fuel-minimization case than the thrust-minimization case, the fuel consumption was smaller in the fuel-optimal case than that of the thrust optimal case. This discrepancy was caused by different object functions. In all cases, the present and Rindaroy’s results [
7] have very good agreement, within 1% error. In the following section, three different thrust-allocation methods for minimal fuel consumption, pseudo-inverse, quadratic programming, and penalty methods, will be systematically compared for a turret-moored, DP-assisted FPSO for several different scenarios through dynamic simulations.
8. Conclusions
In this research, a new thrust-allocation algorithm, penalty programming, is proposed for optimal DP operation, with minimal fuel consumption while maintaining good performance in vessel position-keeping. Its performance was compared with other existing thruster-allocation methods, such as pseudo-inverse or quadratic-programming methods. To demonstrate the performance of the respective thruster-allocation methods, a DP-controlled turret-moored FPSO was considered. The thrust-allocation methods were implemented in the time-domain hull–mooring–riser-coupled simulation program with DP control. The time-domain simulation tool was validated by comparison with reference cases.
By the time-domain simulations, the effects of environmental conditions and thruster arrangements for the respective methods were analyzed. The developed penalty programming shows the best performance in the fuel-consumption reduction compared to the conventional pseudo-inverse or quadratic-programming methods in all the cases considered. In the case of genetic algorithm, despite high performance in saving fuel, it is not feasible to apply to real-time DP controller because computation time per thrust allocation is typically longer than one minute, while other methods can be done within one second. In the case of thruster arrangement, the group-thruster configuration shows better performance compared to the single-alignment configuration.
The penalty-programming-based thrust allocation can save about 7% (or 6%) accumulated fuel consumption compared to the pseudo-inverse (or quadratic-programming) method in GOM 100-year storm condition. The penalty programming can similarly reduce the accumulated fuel consumption when compared to pseudo-inverse (or quadratic-programming) method for GOM 1-year storm condition. Moreover, this improvement of thrust allocation based on the penalty programming is valid in both single alignment and group configuration of thrusters. Moreover, the fuel saving directly contributes to less gas emissions. The developed technology can generally be applied to other offshore vessels and platforms with DP system.