Stochastic Optimization of IACC Yacht Performance
In recent years, the use of deterministic race modelling programs (RMP) has become more and more popular among racing yacht skippers to help with their route planning decisions. They are very common now in round the word races and long oceanic regattas. In coastal regattas, however, they are not that common.
In parallel, this kind of methodologies has started to be applied in the design phase of some high end projects such as America’s Cup yachts. The first use of these tools in an America’s Cup design was reported in 1987 by Stars & Stripes.
However, the planning of routes for sailing vessels is subject to uncertainty from the weather. This is particularly important in yacht racing where the accuracy of a weather prediction can determine the outcome of a race. With a perfect weather forecast it is possible to use the polar tables of a given yacht to compute a route that minimizes its arrival time at its destination.
If we focus on the design phase, the uncertainty of weather becomes a new variable of the problem, making the stochastic analysis of the routing problem a crucial point if we intend to optimize the design.
The traditional approach to the optimization of sailboats was based on the educated analysis of the polar curves of the vessel. Before the dawning of velocity prediction programs (VPP), this approach was even more limited in the sense that it involved the optimization of ship resistance and not of ship speed (i.e. the searching for an optimum form coefficient for a given velocity). The interaction between the ship resistance, the stability and the aerodynamic forces is neglected. A further improvement of this model came with the introduction of the VPP.
The VPP calculates the speed of the boat for each angle of sailing and for each wind speed. Now the designer is capable of considering the trade off between performance with low winds vs performance with high winds, or off-wind vs up-wind. The connection between the performance of the boat and the weather is still made by estimation of a weight function of the speed in different points of sailing; or, even, by a simple visual examination of the shape of the polar curves. The approach proposed in this paper involves a closer connection between the weather and the yacht performance.
The common approach of the RMP for design application usually uses the output from a VPP along with historical weather data to assess different yacht designs, by racing candidate designs over a range of weather scenarios.
This work presents a new approach to the stochastic analysis and numerical simulation for high performance yacht design. We consider the problem of finding the best ship, that which maximizes the probability to win a race under stochastic weather conditions.
It seems logical to treat the weather as a stochastic process. Thus, the conditions in which the boat sails can be expressed as a random variable. This random variable has an occurrence probability associated. Therefore, the best boat under that random sailing condition has a better chance of winning the regatta.
This paper is laid out as follows. First the statement of the problem is presented, in terms of the necessary discretización of the racing area for the numerical simulation of the process. Afterwards, the methodology for yacht performance and race modeling is shown. Then the route optimization algorithm developed to calculate best route to goal and the stochastic methodology used are presented.
Finally, as an example, the analysis of different alternative designs to one real IACC ship is included.
This section shows the numerical discretisation of the racing simulation and the resulting statement of the problem.
Let be Γ the 2D domain, representing the racing area and R an overlapping Cartesian partition of Γ in square elements with index i ranging from 1 to the number of elements n (see Figure 1).
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): R=\overset{n}{\underset{i=1}{\cup }}G_i\mbox{ } |
where
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): G_i=\left\{\left(x,y\right)\in R\vert \begin{array}{c} x_{i-1}\leq x<x_i\\ y_{i-1}\leq y<y_i \end{array}\right\} |
and being
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \Gamma \subseteq R=\left[x_0,x_n\right]\times \left[y_0,y_n\right] |
|
(3) |
Weather conditions are defined by a vector of environment factors Wi, linked to one element of the racing area Gi. The environment factors are assumed to be piecewise constant and therefore discontinuous between elements.
Figure 1. Discretización of the racing area. |
The route of the ship through the discrete racing area is represented by a chain of linear paths L = { Li }.
Every path Li is included in the element Gi, and therefore may be defined by an initial point xiini and a course angle through the element.
Possible paths through every element can vary continuously and therefore an infinite number of possible routes are considered.
This chapter presents a brief overview of the yacht behaviour modelling, necessary in order to carry out the performance optimization exercise.
The speed of a yacht is determined by many factors, including wind strength, true wind angle, current, waves, and sail settings. These can be broken down into environmental factors, such as wind speed and direction, sea-state, and current, and controllable factors, such as sail choice and trim. It is assumed that, for any given environmental conditions, the controllable factors will be set such that they maximize the speed of the yacht. Given this assumption, the speed at which a yacht sails is dependent upon the wind strength and the boat’s heading relative to the wind.
For the purpose of this work, the maximum speed at which a yacht can sail for a given true wind angle and true wind speed is obtained by a numerical velocity prediction program (VPP).
The VPP gives as one of its outputs a matrix of boat speed values as function of course angle in relation to the wind and the strength of this. The usual VPP would give values up angles in the realm of 30º to the wind, angles smaller than that are not usually sail at (either for a physical impossibility or for bad performance). These smaller angles are not an output of the usual VPP. To run our simulation we intended to make the boat sail as fast as possible to weather and off the wind. To accomplish that in a systematic way the typical polar plots of speed had to be modified.
The way the polar plots are modified uses the concept of Velocity Made Good (VMG). The VMG is the projection of the velocity vector in the direction of the wind. Thus, it gives the speed at which we would be travelling straight into the wind or off it. But, the boat does not travel straight into the wind, it is just a way of calculating the time that it would take it to get there without the need to simulate the tacking.
This approach might be improved by including the effect of the time lost in tracking in the above mentioned modification of the VPP. This fact was not considered in this work.
The boat, however, would not always travel above the minimum angle of a polar plot or straight into the wind but in a combination of both. Thus, we modified the curves so they always give the speed of travel in the direction we need to calculate as a function of the angle to the wind. When the angle to the wind is smaller than the angle at which the VMG is produced the speed is calculated as if the boat would make as many tacks as needed to travel in that direction as fast as possible. The same approach is used to modify the velocity if the boat is sailing deeper than its VMG angle off the wind. In this case the boat is assumed to gibe as needed.
After this process we obtain a matrix that gives the effective speed of the boat as a function of angle to the wind (continuous from 0 to 180 degrees) and the strength of it. The data on this matrix is interpolated using a cubic spline. Figure 2 shows a typical plot of a single polar before and after modification.
Figure 2. Polar plot of speed for 6 knots of wind modified and original. |
In this approach, the output from the VPP is used in conjunction with historical weather data in a race modelling program (RMP) designed specially for this work. The route from initial point to goal is represented by a union of linear paths through every element (see Figure 3).
For every element, the ship path may be determined by given an initial point xiini and a course angle, since the course angle and the local weather condition determine the ship speed through the VPP. Once ship speed is determined, and being constant within a quadrant, it is trivial to follow the ship’s path to reach the limit of the element. Thus the required time is calculated.
In this section we consider the problem of sailing between two marks in the minimum time. The parameters that define the problem are the coordinates of the start and finish locations xini = (xini, yini) ∈ Gini and xend = (xend, yend) ∈ Gend, the Cartesian discretization R of the racing area, and the wind and water current distribution.
The scheme implemented to calculate the route that requires the minimum time t to be covered, is based in three steps:
, from a initial point xiini.
The graph describing the racing area structure is built from the connectivity matrix of the elements Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {G}_{j}} . From this information, it is possible to obtain all the possible routes through the racing area, from Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {G}_{ini}\,}
to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {G}_{end}}
. This is carried out by using a standard recursive Depth-First Search algorithm [7]. Result of this algorithm is a list of all the possible sets of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \boldsymbol{G}=} Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \left\{ {G}_{i}\right\}
starting from Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {G}_{ini}} to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {G}_{end}}
and complaining with the connectivity of the mesh (see Figure 3)
Figure 3. Example of route G8-G9-G6-G3-G2 from graph structure |
The local optimization algorithm is based on a brute-force rough global search. The search proceeds trough n different courses from the entrance point of the current element xiini to the next element (see Figure 4). A refinement of the obtained solution based on a standard gradient descent is then carried out.
Figure 4. Global search for the different courses in the current element. |
Finally, the global optimization algorithm is an iterative algorithm based on perturbation of the current route and a sensibility minimization scheme based on gradient descent.
For the purpose of this work, sensibility s is defined as:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): s={\left[\frac{dt}{d\alpha }\right]}_{L_i} |
|
(4) |
Where α is the course angle, and Li the current path.
The basic idea of the global optimization algorithm is to perform a loop on the elements Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {G}_{i}}
of the current set and evaluate the sensibility of the time required to arrive to the goal, from the current point.
If a negative sensibility is found for the current route, then an optimization of the course, based on gradient descent is done. The rest of the course to the finish location xend is performed by successive application of the local optimization algorithm presented above.
The external loop on the set of elements is repeated until no more negative sensibilities are found.
Once the optimum route is calculated, we can evaluate the sensibility of the optimum route, defined by,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): s_{route}=\underset{L_i}{max}\left[\frac{dt}{d\alpha }\right] |
|
(5) |
A basic diagram of the presented algorithm is shown in Figure 5.
Figure 5. Basic diagram of the optimization algorithm. |
The algorithm discussed above has been programmed in C++ using an object oriented structure.
Note that the algorithm presented in this section can be executed sequentially to analyse regattas based on one or more downwind and upwind legs.
This section shows the stochastic statement of the problem. Result of the next analysis will be the definition of the best design as that most likely to win the race.
Let Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {\lbrace {W}_{i}\rbrace }_{i=1,n}}
be the set of random variables associated with the triple (α,ν,τ) of every element Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {G}_{i}\,} of the racing area.
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} W_i :{\Omega }_i \underset{}{\rightarrow } \left[0,1\right] \\ \begin{array}{cc} & \left(\alpha ,v,\tau \right)\rightarrow p_{\alpha vc} \end{array} \\ {\Omega }_i =\left\{\left(\alpha ,v,\tau \right)\in \left[-\pi ,\pi \right]\times \left[0,\infty \right]\right\} \end{array} |
|
(6) |
where α is the wind angle, ν the wind speed and τ the water current intensity of one element Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {G}_{j}}
.
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {W}_{i}} are discrete random variables and therefore may take a discrete number and additionally finite range of values.
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} \#{\Omega }_i =q_i <\infty \begin{array}{cc} & {\Omega }_i= \overset{q_i}{\underset{j=1}{\cup }} \left\{w_j^i\right\} \end{array} \\ w_j^i =\left({\alpha }_j^i,v_j^i,{\tau }_j^i\right)\in {\Omega }_i \mbox{ }\forall j=1\div q_i \\ \sum_{j=1}^{q_i} P\left(W_i=w_j^i\right) =1\mbox{ }\forall i=1\div n \end{array} |
|
(7) |
At this point it is necessary to find the combined probability associated to the appearance of one weather condition in the racing area.
Let us notate as Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle R\, =\, ({W}_{1},...,\, {W}_{n})}
the random vector associated to the weather conditions of the racing area.
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} R:{\Omega }_1 \times \cdots \times {\Omega }_n \rightarrow \left[0,1\right] \\ \begin{array}{cc} & \left(w_{j_1}^1,\ldots ,w_{j_n}^n\right) \end{array}\rightarrow p_{j_1,\ldots ,j_n} \\ w_{{}_{j_i}}^i \in {\Omega }_i ,\forall i=1\div n,\forall j_i =1\div q_i \end{array} |
|
(8) |
Let us assume that the weather information of the cells has been obtained by statistical analysis of the variation of conditions for a long period of time. This way, the weather information of one element takes into account in a natural way the influence of the surrounding quadrants. Therefore, under these assumptions, it is possible to accept the stochastic independence of the random variables and then we can write:
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} P\left(R=\left(w_{i_1}^1,\ldots ,w_{i_n}^n\right)\right)= \\ \begin{array}{cc} & \end{array}=P\left(\left(W_1,\ldots ,W_n\right)=\left(w_{i_1}^1,\ldots ,w_{i_n}^n\right)\right) \\ P\left(R=\left(w_{i_1}^1,\ldots ,w_{i_n}^n\right)\right)\underset{indep}{=} \\ \begin{array}{cc} & \end{array}= \prod_{k=1}^n P\left(W_k=w_{i_k}^k\right) \begin{array}{cc} & \forall \end{array}i_k =1\div q_i \end{array} |
|
(9) |
For the purpose of this work, we will assume that every yacht cover the race in the minimum possible time. Then, Let Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {T}_{i}}
be the random variable defining the time required by a ship in finishing the race.
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} T_i :{\Delta }_i \rightarrow \left[0,1\right] \\ {\begin{array}{cc} & t \end{array}}_j^i \rightarrow p_{ij} \\ {\Delta }_i =\left\{t_j^i\in R^+\right\} \end{array} |
|
(10) |
Where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {t}_{j}^{i}\,}
is the minimum of the times required for the ship in covering any of the infinite number of possible routes through the regatta field. For the calculation of this value, the optimisation algorithm presented in the previous section is used.
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {T}_{i}} may take any of m possible values. Being m the number of different weather conditions considered for the analyses.
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle m=\prod_{i=1}^nq_i}
Using above definitions, it is possible to assign to every ship design Bione value of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {T}_{i}}
for every weather condition of the racing area.
Being Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle R}
one specific weather configuration of the racing field,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \begin{array}{c} R=\left(w_{i_1}^1,\ldots ,w_{i_n}^n\right) \\ w_{j_i}^i =\left({\alpha }_{j_i}^i,v_{j_i}^i,{\tau }_{j_i}^i\right) \\ i=1\div n,j_i =1\div q_i \end{array} }
|
(11) |
we can define the one-to-one correspon-dence between the weather condition of the racing field and the arrival time of the ship at its destination. And then we can write,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} P\left(T_i=t\right)=P\left(R=\left(w_{i_1}^1,\ldots ,w_{i_n}^n\right)\right)= \\ = \prod_{j=1}^n P\left(W_j=w_{i_j}^j\right) = \\ = \prod_{j=1}^n P\left(W_j=\left({\alpha }_{i_j}^j,v_{i_j}^j,{\tau }_{i_j}^j\right)\right) = \prod_{j=1}^n p_{i_j}^j \end{array} |
(12)
From eq. it is possible to calculate the probability of a yacht to win a race. Let us define event Mi as follows,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} P\left(M_i\right)=P(B_i \mbox{ win}) \\ \left\{T_1,\ldots ,\overset{\mbox{ˆ}}{T_i},\ldots ,T_n\right\}=\left\{T_1,\ldots ,T_{i-1},T_{i+1}\ldots ,T_n\right\} \\ P\left(M_i\right)=P\left(T_i<min\left(T_1,\ldots ,\overset{\mbox{ˆ}}{T_i},\ldots ,T_n\right)\right) \\ P\left(M_i\right)=P\left(T_i<T_1,\ldots ,T_{i-1},T_{i+1}\ldots ,T_n\right) \end{array} |
|
(13) |
At this point, it is possible to introduce the associate events Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle A}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {D}_{i}}
,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} {\Omega }^n ={\Omega }^1 \times \cdots \times {\Omega }^n \\ \#{\Omega }^n = \prod_{j=1}^n q_j \\ {\Omega }^n = \overset{m}{\underset{k=1}{\cup }} \left\{R=\left(w_{k_1}^1,\ldots ,w_{k_n}^n\right)\right\}\mbox{ }k_j =1\div q_j \\ A=\left\{T_i<T_1,\ldots ,T_{i-1},T_{i+1}\ldots ,T_n\right\} \\ D_k =\left\{R=\left(w_{k_1}^1,\ldots ,w_{k_n}^n\right)\right\} \\ {\Omega }^n = \overset{m}{\underset{k=1}{\cup }} D_k\begin{array}{cc} & D_i\cap D_j=\left\{\varnothing \right\}\mbox{ }i\not =j \end{array} \\ \end{array} |
|
(14) |
and therefore,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} P\left(A\right)=P\left(A\cap {\Omega }^n\right)=P\left(A\cap \overset{m}{\underset{k=1}{\cup }} D_k \right)= \\ =P\left( \overset{m}{\underset{k=1}{\cup }} \left\{D_k\cap A\right\} \right)= \sum_{k=1}^m P\left(D_k\cap A\right)= \\ = \sum_{k=1}^m P\left(\frac{A}{D_k}\right)P\left(D_k\right)\underset{\ast}{=} \\ = \sum_{j=1}^r P\left(D_j\right)\begin{array}{cc} & \begin{array}{c} D_j \mbox{: }B_i \mbox{ wins the race} \\ r=\#\left\{\mbox{races won by }B_i\right\} \end{array} \end{array} \\ \\ P_{} \left(\frac{A}{D_k}\right)=\lbrace \begin{array}{cc} 1 & B_i\mbox{ wins race }D_k \\ 0 & \mbox{in other case} \end{array} \end{array} |
|
(15) |
But, since the probability of an event Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle {D}_{j}}
is known and determined by the distribution of the regatta weather field condition, we can associate to every yacht the new random variable Mi. This variable, defined by the probability of a ship to win the race has a Bernoulli probability distribution of parameter λ [11],
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): {\textstyle \lambda = \sum_{j=1}^p P(D_j) }
|
(16) |
and therefore,
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://test.scipedia.com:8081/localhost/v1/":): \begin{array}{c} M_i \mbox{: }Ber\left( \sum_{j=1}^r P(D_j) \right)\begin{array}{cc} & \forall i=1\div p \end{array} \\ M_i =\lbrace \begin{array}{cc} 1 & B_i\mbox{ wins} \\ 0 & B_i\mbox{ loses} \end{array} \\ P\left(M_i=1\right)= \sum_{j=1}^r P(D_j) \mbox{ } \\ P\left(M_i=0\right)=1- \sum_{j=1}^r P(D_j) \end{array} |
|
(17) |
It is noticeable that the yacht with more probability to win one race is also the best ship for a regatta consisting on several races.
The application example presented in this section consists of the simulation of different IACC designs in a race composed of an upwind leg and downwind leg.
The reliability of the approach is directly proportional to the quality of the weather data. If the random variable describes accurately the weather field, the resulting probability distribution would be accurate. This weather data may be hard to obtain because a special discretization of the statistical data is needed. Climatological data is available in form of pilot charts for an oceanic race. This is not usually the case for a regatta in sheltered waters. In our case, we processed data from the last America’s Cup venue, New Zealand. The weather data was obtained of the analysis of available historical data of several weather stations. Since currents data were not available, their effect will be neglected for this analysis.
The fleet analysed consist on several IACC designs, including the ship geometry of the Spanish America’s Cup boat Rioja de España, participant in the races of 1995. The geometry of the boat and some towing test data were published in [5].
For this application, the racing field was discreticed in a 3x3 elements, resulting in the analysis of more than 19000 weather conditions.
The importance of the application of a stochastic approach is exemplified in Figure 6 and Figure 7. These figures represent the probability of winning and the number of victories that a boat would have if it competed versus all the others. The key point here is that if we were to look just at the number of victories as our criteria to choose the best boat we would be inclined to select yacht C. In reality, the highest possibility of winning is that of yacht E.
Error creating thumbnail: File missing
|
Figure 6. Victory Probability. |
The explanation for this becomes obvious once we consider that the description of the race field that we have made. Since this description is stochastic the weather is a random variable with different probabilities of occurrence. Thus, it is possible that a boat that wins many regattas but in the less likely conditions would have a worse chance at winning that one that wins fewer regattas but wins the ones that are most likely to occur.
Error creating thumbnail: File missing
|
Figure 7. Number of Victories. |
It is for those reasons that we consider that the stochastic connection between the characteristics of the boat and its performance around a given course gives a better definition of the best boat.
The methodology presented is applicable across every stage in the design process.
Firstly, in the preliminary design phase, it may serve as a tool to discriminate certain parts of the parametric design space. We would be looking for a zone in that space that maximizes the probability of winning. This is not as straight forward as it may seem. The set of test cases has to cover the design space adequately. Thus, if we have a set of cases to study just certain variables, the variables that are left out should be kept as constant as possible. In Figure 8, we can observe a surface formed by the probability of winning of eight different designs. The surface is elevated over a plane defined by the values of prismatic coefficient and L/B ratio.
Figure 8. Probability in a Cp-(L/B) plane |
In a more qualitative sense, any trade off usually identified in ship design can be analyzed from the perspective of this method. It is possible for example to study the probabilistic behaviour of the boat on the windward leg compared to the leeward leg. In other words, it is possible to study the influence of performance off-the-wind versus performance into-the-wind in the total probability. (see figures 9, 10 and 11)
Error creating thumbnail: File missing
| |
Figure 9. Victory Probability. Upwind Leg. | |
Error creating thumbnail: File missing
| |
Figure 10. Victory Probability. Downwind Leg. |
Error creating thumbnail: File missing
|
Figure 11. Victory Probability Upwind Leg. |
The way the analysis is carried out; there is another piece of information that may result useful. This refers to course sensibility. This sensibility can be thought of as a measure of the boat’s ability to stay in a narrow band of times for a course other than the optimum (figure of sensibilities). Obviously, a boat with a smaller sensibility is a better boat (probability of winning being the same). Thus, it is possible to qualitatively account for strategic mistakes or other perturbations of the course. There are two different uses of this data.
Error creating thumbnail: File missing
|
Figure 12. Number of Victories. Upwind and Downwind with Perturbation for Yacht E. |
For one, we can perturbate the route of all boats under consideration by the same amount and check what the effect is on the general probability distribution. It may be the case that a boat that had a high probability before is too course-dependent and would have to be sailed perfectly in the tactical sense.
It is also possible to vary the course of just one boat keeping the others constant. This way, we could see how the boat handles courses other than the optimum when sailed against boats that follow that perfect route (see Figure 13).
Error creating thumbnail: File missing
|
Figure 13. Victory Probability. Upwind and Downwind with Perturbation for Yacht E. |
Later on the design cycle, once we have a couple of candidates, the simulation may be used to study the probability of victory of one design over the other. It is also possible to consider variations in configuration so that we could cover strong spots of the opponent. This would be reflected as a higher probability of winning and would give a measure of up to what point to give up big advantages in certain conditions to gain in others.
Error creating thumbnail: File missing
|
Figure 14. Victory Probability. Upwind and Downwind Yacht C VS Yacht E. |
As an example, we simulate a match-race between yacht C and yacht E that seemed the most promising (see Figure 14). After this, while the probability of winning of yacht E stays practically the same, the probability of yacht C increasing notably. Therefore, yacht C losses lots of races to the other design but pretty much a fixed number to design E.
Finally, once we know our opponent it could be feasible to study our probability of beating them. This could be study from the perspective of the statistical whether data or a more concrete description of the expected weather. A good tool to use in this sense is an ensemble weather forecast. This would give us a probabilistic prediction of the wind field based on the probabilities of different weather scenarios. We could then simulate the race based on this new and more concrete stochastic data.
The purpose of this paper was to present a different approach to the design of a high performance racing sailboat. It may be somehow simplistic in certain aspects, but none the less we believe that it gives a good perspective of what can be done. One of the possible improvements would be to simulate the effects of tacking and currents. Another possible direction of work would be to introduce the effects of another boat or a fleet of them in the route chosen to sail the race course.
The weakest link in this kind of analysis though resides in the weather data. An accurate stochastic description of the race field is needed to get an accurate probabilistic response of the boats. Recent improvements in weather analysis methods and the wealth of new data continuously made available from weather analysts looks poised to solve this problem.
The authors want to thank Mr. Manuel López for their technical assistance in the preparation of this work.
Accepted on 26/09/17
Submitted on 18/09/17
Licence: Other