Optimising Yacht Routes under Uncertainty - CiteSeerX

11 downloads 0 Views 502KB Size Report
in yacht racing where the accuracy of a weather prediction .... Note that the speed drops to zero as the boat heads closer ... literature (Bertsekas, 1995).
Optimising Yacht Routes under Uncertainty Andy Philpott, Yacht Research Unit,University of Auckland, New Zealand Andrew Mason, Department of Engineering Science, University of Auckland, New Zealand

ABSTRACT

INTRODUCTION

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 minimises its arrival time at its destination. Software that does this for racing yachts is now a standard part of most commercial instrumentation packages. With uncertain weather information the routing problem becomes more difficult. We review two models for optimising yacht routes under uncertainty about the weather. The first of these is suitable for short course racing. It treats the wind as a Markov process, and based on observations of the wind ditrection, it computes tacking and heading decisions at each point of the course so as to minimise the expected arrival time at the next mark. The second model, which is intended for ocean races, models the weather using ensemble forecasts rather than a Markov process. In both models it is possible to represent risk-averse and risk-seeking behaviour.

In this paper we consider the problem of finding a route that minimises the time to sail between two points on the ocean under uncertain weather conditions. Many racing yacht skippers currently use deterministic yacht routing software packages to help with their route planning decisions. This software performs what we refer to as deterministic weather routing in that it only considers one possibility for the weather and produces an optimal route based on the assumption that the predicted weather will occur exactly as forecast. However, it is a difficult problem to predict the wind with any accuracy, so an approach based on a single prediction can yield solutions that perform badly when implemented under real weather conditions. In this work, we consider the possibility of different weather conditions evolving in the future, and produce routes that perform well under all of them. This requires solving a stochastic weather routing problem.

NOTATION x distance across course y distance up the course x (x,y) location on course x start Location of start

x finish W ( x, t ) θ ( x, t ) τ c n(i,j,k)

Location of finish True wind speed at location x at time t True wind direction at location x at time t Loss of time in a tack Time to sail from ( x(i ), y (n)) to

( x( j ), y (n + 1)) ) on tack k

f n*

(i, k )

minimum time to sail to the finish departing from the location ( x(i ), y (n)) on tack k.

Γ(x)

set of locations preceding location x .

We discuss two models that are applicable in different situations. The first model is appropriate for short course racing, in which a course is set with respect to an expected wind direction that fluctuates randomly over the period of the race. In this model, tacking incurs a speed loss and because of this the major factor of interest is the observed future wind direction. The second model we examine focuses on long, offshore yacht races, such as the BT Challenge or the Volvo “Round The World” race. Here the variation in weather conditions over the course of a race is greater, and short-term random fluctuations in wind direction are less important than large-scale meteorological effects. In both models we need to be able to compute the velocity of the yacht at any point of sail. 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 so as to maximise 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. The maximum speed at which a yacht can sail for a given true wind angle and true wind speed is generated by numerical velocity prediction programs (VPPs) and on-the-water measurements and takes the form of a discrete set of triples giving true wind angle, true wind speed, and boat speed. Interpolating between known values gives predicted maximum speeds for any true wind angle and true wind speed. Figure 1 is a typical ‘polar plot’ showing these data. 2 15 1 2 20 10 40 10 1 30

90

80

100

70

110

60

120

50

130 140 150

20

160

10

170

0

5 14

12

10

8

6

4

2

2

10 4

6

15

20

8

10

The basic dynamic programming recursion in our models uses the time c(x, y ) to sail from location x to location y under the forces of wind and current. The minimum time f*( x ) taken to sail to the destination location (denoted x finish ) from any location x is computed using various versions of the following recursion: otherwise.

is the time taken for the optimal sequence of decisions from the location x to the final location x finish . The optimal decision at each point can be determined by recording the point y optimising f ∗ (x ) at each stage. The quantity being minimised at each location x is the time to reach the finish node, x finish . The particular form of the dynamic programming recursion (1) depends on the models adopted for the parameters, and the discretisation adopted for the region of water in which the boat will sail. We shall derive two forms of this recursion for short course and ocean racing respectively. Each will depend on the representation of the weather, and so we shall discuss each case independently. In the next section we present the weather model we use for short course routing and derive a recursion for this case. In section 3 we give some results from applying this methodology to a single upwind leg of an America’s Cup race. In section 4 we present the weather model we use for ocean racing and derive a recursion for this case. In section 5 we illustrate this model with a simple example.

14

The models we develop for computing optimal routes under uncertainty use stochastic dynamic programming, an approach that is well known in the operations research literature (Bertsekas, 1995). The essential feature of dynamic programming is that it divides a problem into a set of linked stages, each of which depends on decisions made in the previous stages. The effect of all previous decisions is encapsulated into a set of state variables that are used to determine the optimal decision at the current stage. The determination of the optimal decision for each possible set of state variables is made recursively, typically starting with the optimal decision at the last stage of the problem.

x = xfinish

can sail to from location x in one time step, and f ∗ (x )

180 12

Fig 1. Velocity prediction polar plot for true wind angles from 0º to 180º and true wind speeds from 0 to 20 knots. Note that the speed drops to zero as the boat heads closer to the wind. This plot was produced using the Kiwitech analysis software (KiwiTech 2000).

0,  f * (x ) =  [c(x, y ) + f * (y)], ymin ∈Γ ( x )

In this expression, Γ(x) is the set of locations that one

(1)

SHORT COURSE ROUTING 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 x start and x finish , the start time t start , and and current wind w(x, t ) = (W (x, t ),θ (x, t )) d(x, t ) = (V (x, t ), ϕ (x, t )) , where (W ( x, t ),θ ( x, t )) gives the wind speed and direction, and (V ( x, t ), ϕ ( x, t )) gives the current speed and direction at each location x and time t. It is relatively easy to get very accurate forecasts for currents, and so we assume that full deterministic current information is available. By combining wind and current information, we can determine the true velocity of the yacht at any point and time for any chosen heading. In short course routing, we assume that there is little systematic spatial variation in the wind speed and direction. However the variation of wind speed and direction with time contains a random component. A model that seems to fit well to observed data is one where the wind speed W (t ) and direction θ (t ) observed on a boat are discrete independent mean-reverting processes with W (t ) reverting to a constant mean wind strength W , and θ (t ) having a hidden Markov chain structure (see Philpott, Henderson and Teirney, 2000). In the latter model the mean to which the wind direction reverts is assumed to follow a discrete-state Markov process. Formally this gives:

W(t) = W + : W W W ) + W W  =

(t ) + W W  (t)) + W

(2) (3)

Here θ (t ) follows a Markov chain with a transition matrix denoted by P , the parameters α and β denote

fixed constants, and W and δ(t) are normally distributed errors with zero mean. The states of this Markov chain are a set of discrete angles, and every time step the mean wind direction performs a transition from one of these states to a neighbouring state according to P . For computational purposes we discretise W and θ in (2) and (3) which results in two discrete Markov chains for W and θ respectively. Throughout the analysis we assume that the interval ∆t between successive time instants is a small constant. For a given ∆t one can estimate the parameters of the above processes from data that are logged on the race course. Care must be taken here as the speed at which weather observations occur on a moving yacht is a function of the velocity of the yacht. For example a yacht sailing upwind sees changes in wind speed and direction occurring more frequently than the same vessel sailing downwind. In practice we separate the course into legs and treat each separately. In this way we can distinguish between upwind and downwind legs, and have a different ∆t for each. Henceforth we shall restrict attention without loss of generality to a single upwind leg. The principles for downwind and reaching legs are the same albeit with different data. We develop the full dynamic programming recursion by first deriving a deterministic version and then making this stochastic. The first step in describing our algorithm involves a discretisation of the upwind leg into a rectangular grid with N x − 1 increments ∆x across the course and N y − 1 increments ∆y in the direction of the course. In our discretisation we choose ∆y to be approximately the distance made good towards the top mark that would be sailed in the time interval ∆t , and ∆x is chosen to give a reasonable discrete approximation of the width of the course.

Nx Ny

The rectangular discretisation defines a set of nodes indexed by ( i , n ), i = 1,2, K N x ,

n = 1,2, K N y , with coordinates x = ( x(i ), y (n)) , with the property that any route will visit the nodes in order of increasing n, so we can treat n as a stage of the dynamic program, while the x coordinate becomes a state variable. This approach depends on the assumption that the route we follow will travel approximately ∆y in the direction of the course in every time step

∆t . The model then gives a

transition in wind speed and direction after each step of ∆y in the direction of the course. One can think of this process as defining a set of parallel lines of wind vectors (3) across the course. In each stage the wind vectors across the course are identical, but they make a random transition before we move from nodes on one line to nodes on the successor line. In short course racing time is lost when a boat is tacked, either going upwind or downwind. We denote this loss in time due to tacking by τ . If in computing the minimum time to sail to the next mark we stay on the same tack then we may use the recursion above. On the other hand if we tack then some time is lost. We can choose the optimum tacking decision at each stage by adding a new state k that is set to 1 if we are on starboard tack and 0 if we are on port. For any n let c n(i,j,k) be the time taken to sail from ( x(i ), y (n)) to ( x( j ), y (n + 1)) on tack k. This results in the following version of the recursion (1): f n* (nfinish , k ) = 0,   min [cn (i, j, k ) + fn*+1( j, k )]  j∈Γ(i,n,k ) * fn (i, k ) = min * τ + min [cn (i, j,1 − k ) + fn+1( j,1 − k )] ∈ Γ ( , , ) j i n k  

In this expression, Γ(i, n, k ) is the set of locations (j,n) such that ( x(i ), y (n + 1)) at stage n+1 that can be reached from ( x(i ), y (n)) sailing on tack k, and f n* (i, k ) is the minimum time to sail to the finish departing from the location ( x(i ), y (n)) on tack k. We now incorporate the stochastic wind process into the recursion. To do this we need to augment the state space with the pair (Wn , θ n ) , representing the current observation of wind speed and direction at node (i,n). We assume that the vessel on arriving at node (i,n) (located at x = ( x(i ), y (n)) ) under wind realisation (Wn , θ n ) , observes a random transition from Wn to Wn +1 , and θ n

to θ n +1 and then (possibly after tacking) sails an optimal

course to the next node, which has location ( x, y (n + 1)) for some x. This gives the recursion

f n * (i, k , Wn ,θ n ) =   min [c (i, j, k, W ,θ ) + E [ f * ( j, k, W,θ ) W ,θ ]] n n W,θ n +1 n n j∈Γ(i, n, k) n min * τ + min [cn (i, j,1− k, Wn ,θn ) + EW,θ [ fn+1 ( j,1− k, W,θ ) Wn ,θn ]]  j∈Γ(i, n, k) 

|

(4)

|

where the conditional expectation is taken over all

possible realisations of (W n +1 , θ n +1 ) . Thus the route taken by the boat optimises with perfect knowledge of the time taken to reach the next stage, but adds to this an expectation of the time to go from there to the destination node. The use of the expectation operator in these formulae is open to some debate. The objective function of expected return is risk neutral and is applicable usually only in models when the decisions are made repeatedly. It follows from the Law of Large Numbers that, in the long run, the decision maker is better off following a risk-neutral strategy than if they had adopted a more risk averse or riskseeking strategy.

The state-space for the underlying shortest path in this dynamic program includes an explicit time dimension as illustrated in Fig 2 (2,0,6) (2,0,5) (2,0,3) xfinish = (2,0)

(1,1,4)

(1,1)

(0,1,3)

(0,1)

(-1,1,2)

(−1,1)

time

(0,0,1)

In yacht racing, however, the crew’s attitude to risk alters throughout the regatta, and indeed throughout each leg of a race. Crews leading a race tend to be risk-averse, by for example moderating their optimal route to the destination so as to cover the opposition. Yachts that happen to be coming at the end of the fleet tend to seek risk, in the hope that this will turn events in their favour. In all circumstances the efforts are directed at maximising the probability of winning or placing highly in a race as compared with minimising the arrival time. Risk-averse and risk-seeking attitudes are typically modelled using utility functions (see e.g. White, 1987). In the context of minimising the time T to sail a given course, a risk averse decision maker would minimise u(T) where u(.) is a convex (disutility) function, and a risk-seeking decision maker would minimise v(T) where v(.) is a concave function. The former function u(.) accentuates large T values and so discourages them disproportionately, whereas a concave function v(.) discounts large values of T and so weights them by less than their proportion of an expected time. In dynamic programming nonlinear utility functions can be modelled with the addition of another state variable (see White, 1987). In our context this is t, the time of arrival at a node. The alteration to the standard model in the case of u(.) is as follows: u*(i, k,Wn ,θn , t)   min u*( j, k,W,θ , t + c(i, j, k,Wn ,θn )) j∈Γ(i, n,k) = EW,θ [min Wn ,θn ]. * τ + min u ( j,1− k,W,θ, t + c(i, j,1− k,Wn ,θn )) j ( i , n , k ) ∈ Γ  

|

Here u * (i, k , W ,θ , t ) represents the minimum expected disutility that could be attained by sailing an optimal course starting from node i on tack k starting at time t with wind realisation (W ,θ ) . In order to sail an optimal course we look up the optimal choice of j that yields the best expected disutility starting from node i at time t.

x

y

xstart

Fig 2: A visualisation of the underlying deterministic dynamic program with time shown as an explicit state. The triples at each location give (i, n, t).

RESULTS FOR SHORT COURSE ROUTING The stochastic dynamic programming algorithm above has been coded in Visual C++ to form Short Course Optimal Routing Engine (SCORE). In this implementation N x = 80 and N y = 50 and we assume that the wind speed is constant at 16 knots, but has direction that follows a Markov process with 19 states, θ = −45°,−40°, K ,−5°,0°,5°, K ,45°. In each step of the recursion (4) we compute f n +1* ( j, k ,16, θ n +1 ) at the 81 locations at stage n+1, and then interpolate these values using a cubic spline to yield an expected time to go for any x location at stage n+1. The recursion (4) then uses these interpolated values to determine the optimal heading as well as the expected time to go for all 81 locations at stage n. In this section we give some results from applying SCORE to an IACC design on the last 1000 metres of an upwind leg of an America’s Cup course. This has a transition matrix estimated from sampling wind directions at 5 second durations on the Hauraki Gulf near Auckland. To verify the output of SCORE a Matlab program that simulated the optimal routing decisions was devised. This produces trajectories of the yacht for different starting locations and different realisations of the wind direction that are sampled using the matrix of transition probabilities. These trajectories are shown for four examples below:

Mark y

0

Mark

0 y

-200

-200

-400

-400

-600

-600 -800

-800 -1000 -1000 -800

-600

-400

-200 0 200 400 x (distance from the centre)

600

800

1000

-1000 -1000

-800

-600

-400

-200 0 200 400 x distance from the centre

600

800

1000

Example 3 Stochastically varying wind direction with mean 0 degrees

Example 1 Constant wind direction of 0 degrees This example shows the trajectories sailed by SCORE from different x positions at 1000m below the top mark to the top mark, shown at the top of the plot. The optimal strategy with a constant wind from 0 degrees is to sail to the layline defined by the maximum VMG then tack, and sail along the layline.

This example shows 1000 sampled trajectories sailed by SCORE from 1000m below the top mark to the top mark in a stochastic wind with mean direction 0 degrees. Observe that the trajectories concentrate around the centre of the course and in many realisations the optimal course tacks inside the laylines.

Mark Mark

0

0

y -200

y

-200

-400

-400 -600

-600 -800

-800 -1000 -1000 -800

-600

-400

-200 0 200 400 x distance from the centre

600

800

1000

-1000 -1000 -800

-600

-400

-200

0

200

400

600

800

1000

x distance from the centre

Example 2 Wind direction varying from 0 degrees to – 34.4 degrees at the top mark This example shows the trajectories sailed by SCORE from different x positions at 1000m below the top mark to the top mark in left-hand shifting wind. The wind in this example is deterministic. The optimal strategy is to sail almost to the left-hand layline, and then tack. The optimal trajectory to the top mark is curved, as the backing wind lifts the boat into the mark.

Example 4 Stochastically varying wind direction from 0 degrees to –34.4 degrees at the top mark This example shows 1000 sampled trajectories sailed by SCORE from 1000m below the top mark on the left-hand layline to the top mark in a stochastic wind with mean direction varying up the course from 0 degrees to 34.4 degrees. Observe that the trajectories are slightly curved as in the deterministic case.

LONG COURSE ROUTING In this section we develop a stochastic routing model for ocean races. Here time is measured in days rather than minutes, and routes are planned over many miles of ocean. For this reason the loss in time from tacking is negligible compared with the duration of a leg. If tacking is free then the vessel can travel into the wind (and straight downwind) at its optimum velocity made good for the wind speed. This is easily modeled by replacing the polar diagram shown in Figure 1 by its convex hull.

In long course routing some changes are necessary in the modeling of wind. In section 2, we assumed that the wind speed and direction follows a stochastic process with known parameters. In ocean racing the short time scale of such a process is less important than the major weather effects that influence strategic decisions. In these circumstances navigators rely on weather forecasts. Even if the forecast is correct, it will usually only be provided for some specified locations and for some specified times. To optimise the route, the wind speed and direction must be known over the whole course and for every time that we might arrive at a given location. Therefore some degree of interpolation in space and time is necessary to produce a workable model. While such interpolation models for wind fields should respect principles of meteorology, they must be able to be computed efficiently to enable a solution to be obtained in a reasonable amount of time. We currently use linear interpolation; more accurate models are a subject of ongoing research.

attention (for simplicity) to the risk-neutral case (Utility functions can be incorporated along the same lines as discussed in section 2.) A branch in the scenario tree structure represents the arrival of new information and a node the actual information. A possible representation of weather using this structure is shown in Figure 3. The node at time t1 represents the current weather situation. The two nodes at time t2 represent two possible outcomes for the wind direction and/or strength at that time; which of these possibilities eventuates is assumed to be revealed at time t2 according to some known set of probabilities. At some later time t3 each t2 weather outcome itself splits into two different weather outcomes, again with known associated probabilities. So called ensemble forecasts of this type are now becoming available from a variety of sources. 1

Like the short-course model we assume that the wind direction and speed vary with time t. In contrast to the former model the variation of wind speed and direction with location x is also important, so we model (W ,θ ) as a

vector field w (x, t ) . This is consistent with the wind barbs view (Dey, 1998) that navigators typically use when viewing wind fields. A typical weather forecast gives a set of discrete wind fields at evenly spaced time intervals. In a traditional deterministic forecast, there is only one wind field forecast provided for each time. To calculate predicted yacht speeds, the discrete wind fields are interpolated in time and space and then fed as input to a lookup function that gives the yacht velocity for any heading. To accommodate uncertainty in the weather, we need a model that describes how this uncertainty behaves. The mean reverting equations used in the short-course model do not fit particularly well to large scale weather patterns, in which the wind direction in particular follows the meteorology of depressions and anticyclones rather than reverting to some mean direction. An even simpler approach is to treat the wind speed and direction at a point as a random variable with a known distribution. This climatology model can be used for determining routes in the absence of any weather forecast, for example, when planning the course for the final stages of a long ocean leg well before the yacht is near the finish. Observe, however, that a climatology model will overestimate the expected sailing times by assuming that the wind is not serially correlated, because future weather patterns are less able to be anticipated in route planning. An alternative approach to modeling the uncertainty is to use weather scenarios, which are self contained forecasts that unfold according to an underlying scenario tree. We proceed to describe these here, restricting

Bundle

2 Scenarios

Branch

3

4 t

t1

t2

t3

Fig 3: Scenario structure for evolving wind fields We note that at time t1 there is only one possibility for the wind, that is all four scenarios are indistinguishable. We say that all 4 scenarios belong to the same bundle {1, 2, 3, 4}. At time t2 this bundle of four scenarios branches into two bundles of two scenarios each and at time t3 all four scenarios are distinguishable. We define B(t ) to be the set of bundles at time t. In the example above,

B ( t ) = {{1, 2 ,3, 4}}

B(t ) = {{1,2}, {3,4}}

for

for

t1 ≤ t < t 2 ,

t 2 ≤ t < t3 ,

and

B(t ) = {{1}, {2}, {3}, {4}} for t ≥ t 3 . We also define B(s,t) to be the bundle to which scenario s belongs at a certain time t. In the example above, B(1,t)={1,2} for t1 ≤ t < t 2 . An important feature of stochastic solutions is that they must be non-anticipative in the sense that the route up to some time ti must not depend upon scenario information that becomes available after time ti. One approach, known as progressive hedging (Rockafellar and Wets, 1991), is to initially relax this requirement and build an optimal path for each scenario, and then modify

n finish = 7

6

4

5

3

time

latitude

longitude

2

n start = 1

Fig 4 All possible arcs and node-time-scenario triples for an example with four scenarios where p B ( s,t ) = p s′ is the probability of the bundle

Σ

s′∈B ( s ,t )

these paths iteratively so that they satisfy the nonanticipative requirements. We take an alternative approach in which stochastic dynamic programming is used to solve the problem. In order to accommodate the uncertainty, it is necessary to know, in addition to the position and time, the location in the scenario tree. This requires the addition of another state variable that identifies the branches that have been taken. It is convenient to identify the branch history by specifying a scenario. This is depicted in Figure 4, where the tree at each node shows discretised time periods within the scenario tree of Figure 3. For this problem, we use the actual scenario, and not the scenario bundle, as the state variable; this allows correct interpolation of the weather between successive wind fields. [Note that this allows for the weather to vary (thereby affecting the boat speed) before its variation becomes apparent to the decision maker as the realisation of a scenario.] From the node-time-scenario triple (i, t , s ) we know that the only scenarios that can possibly eventuate are those in the same bundle as s at time t, that is s ′ ∈ B( s, t ) , where B(s,t) is the bundle of scenarios that contains scenario s at time t. Thus, we want to choose the successor to node i, j * (i, t , s ) , that gives the least expected time to the destination, where the (conditional) expectation is taken over the scenarios s ′ ∈ B( s, t ) . Let t * (i, j , t , s ) be the expected optimal time to the destination from node i, at time t, in scenario s, when passing through node j next, given by: t * (i , j , t , s ) =

Σ

s ′∈B ( s ,t )

p s′ p B ( s ,t )

(5) [c(i , j , t , s ’) + f * ( j , t + c (i, j , t , s ’), s ’)]

containing scenario

s at time t and

p s′ is the p B ( s ,t )

conditional probability of scenari s’ at time t given that it is known that one of the scenarios in the bundle containing scenario s will eventuate. Modifying (5) to choose the successor j* to node i that minimises the expected optimal time to the destination gives the stochastic forward-looking recursion: f

*

i = n finish 0,  (i, t , s ) =  otherwise [ t * ( i , j , t , s )], min  j ∈ Γ ( i )

(6) .

This recursion forms the heart of the dynamic program we use to obtain our stochastic routes. For routing software to be used on board during ocean races, it is important that solution times are kept to a minimum. This is particularly difficult for a dynamic program such as ours which has a large number of states and stages. There are a number of techniques we use to reduce running times. Firstly, we sort the successors of each node by distance from that node and use bounding to achieve speed-ups of approximately 60%. We also exclude successors based on angle spacing and distance respectively. Using these together achieves speed-ups of approximately 90%. We also use an adaptation of a Pijavskii-Shubert algorithm (Pijavskii, 1972; Shubert, 1972) for global optimisation to achieve a small further speed-up. RESULTS To demonstrate our results, we compare the optimal solutions produced by the deterministic and stochastic solution methods under uncertain weather conditions. Consider the example of uncertain weather shown in Figure 5. Here the initial wind is a uniform 8 knot northerly. The weather then branches into two scenarios,

(d) (b)

(a)

(c)

(e)

Fig 5 Example of the evolution of the weather over time in two scenarios. Scenario 1 proceeds (a) to (b) to (d) while scenario 2 proceeds (a) to (c) to (e). From (a), the weather evolves to (b) (scenario 1) with probability 0.75 and to (d) (scenario 2) with

one in which the wind is stronger towards the north and the other in which it is stronger toward the south. The probabilities of the two scenarios are 0.75 and 0.25, respectively. In both cases the wind direction remains from the north. If we knew which of these two scenarios was going to eventuate, we could use a deterministic routing algorithm to obtain a minimal time route. However, such a route will perform badly if the other scenario eventuates. Figure 6 shows four routes for these weather conditions. The top-most and bottom-most routes are the deterministic minimal time solutions for scenarios 1 and 2, respectively. The splitting central routes are the stochastic solution. Note that they coincide at first and then diverge once it is known which scenario will eventuate. The routes shown here are intuitive; the deterministic routes head towards the strongest wind, that is the assuming scenario 1 takes a northerly course and that assuming scenario 2 takes a southerly course. The stochastic solution heads slightly north of the straight-line minimal distance route initially. When it becomes apparent which scenario

Fig 6 Deterministic (top-most and bottom-most), and stochastic (central splitting) solutions.

Description Deterministic scenario 1 (upper-most route) Deterministic scenario 2 (bottom-most route) Stochastic (splitting route)

Optimal route time under scenario 1 4days 04:59:13

Optimal route time under scenario 2 4days 18:21:04

Expected optimal route time 4days 08:19:41

4days 15:38:23

4days 03:17:20

4days 12:33:07

4days 05:42:42

4days 07:06:27

4days 06:03:38

Table 1 Optimal route times for the routes shown in Fig 6. is eventuating, the route is in a position to take advantage of either scenario. The position is better for scenario 1 because this scenario is more likely to eventuate than scenario 2. The expected travel time for each of these routes is shown in Table 1. The expected optimal route time shown in this table is simply the expectation of the optimal route times under each individual scenario. We can see that the stochastic solution has the best expected time, at just over two hours less than the next best, the deterministic solution assuming scenario 1. The expected time for the deterministic solution assuming scenario 2 is another four hours behind this. The reason the deterministic solution assuming scenario 1 does so much better than that assuming scenario 2 is that scenario 1 is more likely to occur than scenario 2, and therefore has more influence on the expected time.

CONCLUSIONS We have developed a technique for computing minimal expected time routes under uncertain weather conditions. To accomplish this we have discretised both the area of ocean and the time over which we consider sailing and applied a stochastic dynamic programming algorithm. For short course racing the windspeed and direction are modelled as a Markov chain. For ocean racing, we have modelled the uncertainty in the weather by a branching scenario tree in order to capture the serial correlation that exists due to the way weather evolves over time. Careful attention to implementation details has reduced running times to about 5-10 minutes, making these systems suitable for practical application.

REFERENCES Allsopp, T. (1998), Stochastic Weather Routing For Sailing Vessels, A thesis submitted in partial fulfilment of the requirements for the degree of Master of Engineering, Department of Engineering Science, The University of Auckland, New Zealand Bijlsma, S. J. (1975) On Minimal-Time Ship Routing. Koninklijk Nederlands Meteorologisch Instituut, Mededelingen en verhandelingen, No. 94 Bertsekas, D. P., (1995) Dynamic Programming and Optimal Control Volumes 1 and 2, Athena Scientific, Belmont, Mass. Carryer, M. (1995) Optimal yacht routing strategies using progressive hedging. Fourth Year Project, Department of Engineering Science, University of Auckland, New Zealand Dey, C. H. (1998) NCEP Office Note 388 – GRIB (Edition 1) [online]. Avaliable: ftp://nic.fb4.noaa.gov/pub/nws/nmc/docs/gribed1/ (August 24, 1998) Faulkner, F. D. (1963) Numerical methods for determining optimum ship routes. Journal of The Institute of Navigation, 10(4), 351-367 Haltiner, G. J., Hamilton, H. D., and Árnason, G. (1962) Minimal-time ship routing. Journal of Applied Meteorology, 1, 1-7 Hanssen, G. L. & James, R. W. (1960) Optimum ship routing. Journal of the Institute of Navigation, 10(3), 253272

ACKNOWLEDGEMENTS

KiwiTech (2000), now Raytheon Marine Ltd; see http://www.raymarine.com/

The authors would like to acknowledge the contributions of Toby Allsopp, Kalman Bekesi, and Tina Heynen to this paper.

Papadakis, N. A., & Perakis, A. N, (1990) Deterministic minimal time vessel routing. Operations Research, 38(3), 426-438 Pijavskii, S. A. (1972) An algorithm for finding the absolute extremum of a function. USSR Computational Mathematics and Physics, 12, 57-67

Rockafellar, R. T., Wets, R. J.-B. (1991), ‘Scenarios and policy aggregation in optimization under uncertainty’, Mathematics of Operations Research 16(1), 1-29. Shubert, B. O. (1972) A sequential method seeking the global maximum of a function. SIAM Journal of Numerical Analysis, 9, 379-388 Philpott A.B, Henderson, S. and Teirney, D. (2000) A Simulation Model for Yacht Match Races. University of Auckland School of Engineering Report. White D.J. (1987) Utility, probabilistic constraints, mean and variance of discounted rewards in Markov decision processes. OR Spektrum 9, 13-22. Zoppoli, R. (1972) Minimum-time routing as an N-stage decision process. Journal of Applied Meteorology, 11, 429435