Marina Mooring Optimization 15066j System Optimization and Analysis Summer 2003 Professor Stephen C. Graves Team Members: Brian Siefering Amber Mazooji Kevin McKenney Paul Mingardi Vikram Sahney Kaz Maruyama Introduction Each summer, boat owners flock to marinas to sign up for a mooring spot to tie up their boats. A mooring is a buoy that is anchored to the ocean floor for the purpose of securing a boat for storage. A picture of a mooring is shown in Figure 1. Figure 2 is a diagram of a mooring buoy and anchor line. A typical marina is shown in Figure 3, where moorings are positioned in a grid like pattern. (Photo removed for publication.) Figure 1. Picture of Boat on a Mooring. Mooring Buoy Mooring Line Line Secured to Bedrock Figure 2. Diagram of Mooring Buoy and Anchor Line. (Photo removed for publication.) Figure 3. Typical Marina Mooring Layout. Each summer, many marina customers are put on waiting lists because the mooring supply cannot always meet the demand. Whether or not a customer gets a mooring and where the mooring is located is based strictly on seniority. As customers with optimal mooring locations leave the marina, their moorings are handed down to the customers who have been with the marina the longest. Mooring that are freed up are then released to customers on the waiting list. 2 Additionally, the same moorings are placed in the same grid locations from year to year. Boats are then assigned on a first come first serve basis as previously described without taking into account variables which distinguish between boats. This propagates the sub-optimal usage of the marina water space. By instead taking into account variables such as boat length, hull depth, and mooring location, a marina can optimize their revenues while maximizing the number of satisfied customers. Problem Description The goal of this optimization program is to maximize revenue for the assignment of boat moorings at a marina. The model was based on the marina shown in Figure 4. The marina is modeled as a rectangular harbor as shown in Figure 5 with a manifest of boats of different lengths and hull depths. The black dots represent the boat locations while the dotted circles represent the circle that the boat swings through under varying tide and wind conditions. The depth of the water in the marina increases as y increases from the dock to the channel. The costs of mooring positions in the harbor are based on the vicinity to both the dock and to the ocean channel. In other words, customers desire their boats to be close to the dock so that it takes less time to row out to their boat. Additionally, if the boat is closer to the marina exit, it will take less time for the customer to exit the harbor. Mooring costs are dependent on the swing radius that the boat occupies as well as the depth of the water the boat requires. Dock Channel Figure 4. Green Pond Harbor. 3 Marina Top View Exit Cross Section 8’ Channel Depth, z y (xi,yi) x Dock (0,0) 4’ Figure 5. Marina Model. 4 Notation The following is a summary of the variables and notation used in the model calculations and discussion. i xi = Index distinguishing between boats in model = x location of boat i [ft] yi = y location of boat i [ft] Dmin = Minimum depth of marina at low tide[ft] Dmax = Maximum depth of marina at low tide[ft] Xmin = Minimum X coordinate for marina [ft] Xmax = Maximum X coordinate for marina [ft] Ymin = Minimum Y coordinate for marina [ft] Ymax T B = Maximum Y coordinate for marina [ft] = Tide change for marina [ft] = Minimum buffer distance between adjacent boats [ft] Index distinguishing between boat length categories, (j=1: 15-20', = j=2L 20-30', j=3: 30-40') = Length of boat i [ft] = Integer variable, 1 if boat i is in length range j, 0 otherwise j Li Li,j Di Hull Depth of boat I [ft] Di,k = Integer variable, 1 if boat I is in hull depth range k, 0 otherwise θ1 = Angle of mooring line to vertical during high tide (fixed) θ2,i = Angle of mooring line to vertical during low tide for boat i hi = Mooring line length for boat i [ft] r1,i = Mooring sweep radius at low tide for boat i [ft] r2,i = Total boat sweep radius at low tide for boat i [ft] zi = Harbor depth at low tide for boat i location [ft] Pk = Price for boats in hull depth range k[$] Pj = Price for boats in length range j [$] PD = Variable Price associated with location in vicinity of the dock [$] PC = PD,max Variable Price associated with location in vicinity of the channel entrance [$] = Maximum Price for Dock Proximity PC,max = Maximum Price for Harbor Channel Entrance Proximity PD,min = Minimum Price for Dock Proximity PC,min = Minimum Price for Harbor Channel Entrance Proximity DT = Diagonal Distance (Greatest Distance) in Harbor 5 Assumptions 1) The bottom of the marina is linear, sloping down in the +y direction. This relationship was chosen in order to impose a realistic constraint on the mooring placement problem. Harbor bottoms are generally non-uniform and, in addition, may be non-linear. The problem can quite easily be adapted to any new harbor ocean floor equation. 2) Moorings can be precisely placed. Mooring anchors are placed by divers and may not be placed exactly in the desired location. This model contains a buffer term which will be introduced later and which will accommodate for some uncertainty. For the most part, however, this model ignores such variability. 3) Mooring lines are weightless. In reality, mooring cables have a mass which cause the line to sag in the water, decreasing the overall distance from the anchor to the mooring. The model assumes that the cables can be stretched out straight, which accommodates for the longest cable length and as a result, the worst case scenario. 4) Moorings can and will be moved every year. This is a reasonable assumption for moorings in the northeast as they are removed each winter to protect them from the elements. In a tropical environment, this assumption may not be valid because the moorings are left in the water year in and year out. 5) Tide change is 2 feet or less. This is based on actual data for the harbor chosen, however this constraint can vary quite significantly between geographic locations and even between nearby harbors. 6) At high tide, the mooring line angle is 30o. When a boat is attached to a mooring and subjected to a horizontal force (either wind or tide), the mooring will be pulled to one side causing the mooring line to settle at some angle from vertical. If the line is too short, the buoy will be pulled under water and the line will be subjected to unnecessarily high tension. This can be alleviated by providing slack in the line. We have assumed in this model that an angle of 300 from the vertical is sufficient for uninhibited mooring operation. 7) Boats are between 15’ and 40’ in length. These boats were then bundled into three groups: 15’-20’, 20’-30’, and 30’-40’. This is a reasonable assumption because boats under 15’ do not usually require moorings. Boats that are greater than 40’ generally are docked at the more expensive slips. 8) The minimum separation needed between boat sweeps is five feet. This is essentially a buffer space. In other words, in the worst case scenario, when adjacent boats swing in opposite directions, they will come no closer than a distance of five feet. 9) Boats will be able to leave moorings without specified lanes designated in a marina. This is a reasonable assumption to a certain degree. Because boats will tend to drift in the same direction due to the wind and tide directions, as shown in Figure 3, there will be a natural gap between moored boats though which moving boats may maneuver. There may however be governmental regulations on the spacing that we have not accounted for. 10) Boats are classified into two categories based on their hull depth: boats with hull depths less than 4’ and boats with hull depths between 4’ and 8’. Sailboats and 6 long boats tend to have larger hull depth (draft), but typically not greater than 8’ for the given boat length assumed in the model. 11) The bow line length is negligible. The bow line connects the boat to the mooring. The distance is typically on the order of 2-6 feet, however it does not connect to the tip of the boat. As a result, boats tips tend to hang directly over the mooring, simplifying the calculation. 7 Input Matrix The model will allow the user to input up to eighteen different boats as well as several marina characteristics. The number of boats allowed is limited by the number of constraints that can be handled by Excel’s premium solver (250 non-linear constraints). An add-on module would increase this number significantly. The boat and marina inputs are as follows: 1. Boat Length – length of boat from bow to stern in feet. 2. Boat Hull Depth – the amount of water the boat needs to operate. 3. Hull depth categories – shallow (<4 ft) or deep draft (4-8 ft). 4. Hull depth cost – amount the marina will charge for each hull depth category. 5. Length categories – short (15-20 ft), medium (20-30 ft), or long (30-40 ft). 6. Length cost – amount the marina will charge for each boat length category. 7. Theta high – minimum angle to vertical seen by mooring line at high tide. 8. Tide change – difference between high and low tide in feet. 9. Harbor boundary – Minimum and maximum X and Y coordinates (in feet) indicating the harbor boundary. 10. Buffer – minimum distance between adjacent boats at worst case sweeps. Table 1. List of Input Parameters. Boat Characteristics Di,k=1 = 4 ft Di,k=2 = 8 ft Li,j=1 = 20 ft Li,j=2 = 30 ft Li,j=3 = 40 ft Price Characteristics Pj=1 = $30 Pj=2 = $80 Pj=3 = $150 PD,min = $20 PD,max = $500 PC,min = $20 PC,max = $200 Marina Characteristics Dmin = 4 ft Dmax = 12 ft Xmin = 0 ft Xmax = 550 ft Ymin = 0 ft Ymax = 550 ft Anchoring Characteristics θ1 = 0.524 T = 2 ft B = 2.5 ft 8 Decision Variables For each boat entered into the optimization, the decision variables will be the X and Y coordinates relative to the marina boundaries which position the designated mooring. These variables are listed below. D.V . = ( xi , yi ) ∀i (1) A sample boat input matrix is listed below. The decision variables are shaded. The integer variables categorize the boats in terms of length and hull depth. Table 2. Sample Boat Input Matrix Boat i xi Decision Variables yi Li,1 Li,2 Boat L Characteristic i,3 Di,1 Di,2 1 513 118 1 0 0 1 0 2 501 319 0 1 0 0 1 9 3 371 84 0 1 0 1 0 4 399 329 0 0 1 0 1 5 279 51 0 0 1 1 0 Constraints & Calculations Harbor Depth The first calculation incorporated in this model involves the assignment of water depth to a given location in the harbor. Because it has been assumed that the harbor water depth increases linearly as y increases, the depth (zi ) for each boat i is given by the following equation, ⎡ (D − Dmin )⎤ zi = Dmin + ⎢ max ⎥ yi y max ⎦ ⎣ for y min < yi < y max (2) Boat Sweep Radius The next calculation relates the boat sweep radius (r2,i ) to the harbor depth, the tide variation (T ) , the minimum mooring line angle (θ1 ) , the length of the boat (L ) , and the buffer length (B ) as shown in the following equation which is based on the variables illustrated in Figure 6, hi = zi + T cos θ1 (3) r1,i = zi tan θ 2 (4) ⎡ ⎛ z ⎞⎤ r2,i = zi tan ⎢arccos⎜ ⎟⎥ + Li + B ⎝ h ⎠⎦ ⎣ (5) Swing Radius, r2 Buoy r1 Boat Length, L Buffer, B Sea level with high tide Tide, T Sea level with low tide Depth, z θ1 h θ2 h Figure 6. Mooring Line Swing Radius Diagram. 10 Boat Hull Depth Interference The minimum water depth necessary to prevent the boat hull from colliding with the harbor sea floor must be maintained through the boat’s entire swing radius. In other words, at the shallowest point of the boats swing radius, there must be enough water for the boat to float. This constraint is shown in the equation below, ⎛ D − Dmin ⎞ ⎟⎟( yi − r2,i ) − Di > 0 Dmin + ⎜⎜ max Y max ⎠ ⎝ Mooring Location Boundary In order to ensure that all boats are placed in a region within the marina, all xi and yi must be bounded by the maximum and minimum X and Y coordinates as shown in the following equations, xi + r2,i < X max ∀i (6) xi − r2,i < X min ∀i (7) yi + r2,i < Ymax ∀i (8) yi − r2,i < Ymin ∀i (9) Mooring Sweep Radius Interference Prevention The following constraint prevents each boat from colliding with any other boat in the marina by insisting that the distance between mooring locations accommodates for the boat sweep radius for each boat. This is accomplished using the following equation, (xi − xk )2 + ( yi − y k )2 > r2,i + rk ∀i , k ≠ i ( 10 ) Implementing this set of constraints will result in a triangular matrix because of the redundancy associated with testing for interference between boats one and two and between two and one. Dock and Harbor Channel Proximity Price The desirability of mooring location is a function of the proximity to the dock as well as to the harbor channel exit. It is desirable for the mooring to be located near the dock because customers will have less distance to row from the dock to their respective boats. Additionally, it is desirable for the mooring to be located near the harbor channel exit because customers will have less distance to travel at no wake speed to exit the harbor. In essence, this is a convenience charge. The model takes this into account by assigning a linear cost function associated with distance from the dock and distance from the harbor channel exit. The model takes the minimum and maximum prices charged for both harbor and exit proximity and calculates a price rate. These price rate calculations are shown below: 11 PD = PC = PD ,max − PD ,min ( 11 ) DT PC ,max − PC ,min DT ( 12 ) where, DT = ( X max − X min )2 + (Ymax − Ymin )2 ( 13 ) Channel Proximity Pricing Entrance Channel (Xmax,Ymax) PC,max Decreasing Price Gradient Iso-Price Lines y x (Xmin,Ymin) Dock Figure 8. As the mooring placement moves farther from the dock, the desirability to the customer decrease as well as the proximity fee associated with this location. Likewise, as the mooring placement moves farther from the harbor channel exit, the desirability to the customer will decrease as well as the proximity fee associated with this location. The iso-pricing lines are circular lines representing regions of constant mooring proximity price. Figure 9 shows the combined proximity pricing for both dock and harbor channel exit. The optimal region for the customer as well as the highest fee generation region is along a straight line connecting the dock and the harbor channel exit. 12 Dock Proximity Pricing Entrance Channel (Xmax,Ymax) Iso-Price Lines y Decreasing Price Gradient x (Xmin,Ymin) Dock Figure 7. Dock Proximity Pricing. Channel Proximity Pricing Entrance Channel (Xmax,Ymax) PC,max Decreasing Price Gradient Iso-Price Lines y x (Xmin,Ymin) Dock Figure 8. Channel Proximity Pricing. 13 PD,max Combined Proximity Pricing Entrance Channel (Xmax,Ymax) Optimal Price Region y x (Xmin,Ymin) Dock Figure 9. Combined Proximity Pricing. 14 Objective Function The objective function for this model is based on optimizing the marina revenue from mooring fees. These fees are based on three criteria as follows: 1. Length of Boat. There is a flat fee for boats in each of the three length categories. LF = Length Fee = ∑∑ Pj Li, j j ( 14 ) i 2. Depth of Boat. There is a fee for boats requiring eight feet of water depth. DF = Depth Fee = ∑ PH 1 Di + PH 2 (1 − Di ) ( 15 ) i 3. Proximity to Dock and Channel Exit. There is a variable fee that is a function of how close the mooring location is to the dock. DPF = Dock Pr oximity Fee = ∑ PD ,max − PD ( X max − xi )2 + (Ymin − yi )2 ( 16 ) i 4. Proximity to Harbor Channel Exit. There is a variable fee that is a function of how close the mooring location is to the harbor channel exit. CPF = Channel Pr oximity Fee = ∑ PC ,max − PC (Ymax − yi )2 + ( X min − xi )2 ( 17 ) i The objective function is to maximize the sum of these individual fees: Mooring Fee = LF + DF + DPF + CPF ( 18 ) Model The model was set up in Excel as a non-linear program. The maximum number of boats that could be solved for using Excel’s premium solver was 18 due to the high number of constraints. The problem was solved using the multi-start option. Additionally, it was run several times with many different seeds in order to ensure convergence on a more global optimum. As a realistic check on the model, several test runs were performed using only a fraction of the constraints. Some of these trial runs are described below and are consistent with engineering intuition. 15 Test Run 1 – Constant Harbor Depth and No Channel Exit Fee In the first test run, the harbor depth was fixed at 12 feet. This would provide no location preference for large or small boats. Additionally, the mooring swing radius (r1 ) would be a constant and the boat swing radius (r2 ) would only be a function of boat length (Li ) . This would provide a fairly uniform spacing between mooring. Additionally, the price associated with the harbor channel exit fee (PC ) was excluded. This would cause the boats to accumulate in the vicinity of the dock. Figure 10 plots the results of running the optimization for this test model. As expected, the optimization has clustered the moorings near the dock. The total revenue due to mooring fees recognized by the marina was maximized to $7,337.73. Test 1 - Fixed water depth, no harbor exit fee 500 Y Coordinate 424, 417 303, 405 400 209, 336 489, 320 373, 312 300 281, 257 188, 231 358, 217 200 277, 149 383, 134 162, 128 509, 225 434, 210 489, 130 100 327, 55 231, 46 423, 46 509, 36 0 0 100 200 300 400 500 X Coordinate Figure 10. Test 1 - Fixed Water Depth, No Harbor Exit Fee. 16 Test Run 2 – Constant Harbor Depth and No Dock Fee In the second test run, the harbor depth was again fixed at 12 feet, providing no location preference for large or small boats and the boat swing radius (r2 ) would only be a function of boat length (Li ) , providing a fairly uniform spacing between mooring. This time, the price associated with the dock proximity fee (PD ) was excluded. This would cause the boats to accumulate in the vicinity of the harbor channel exit. Figure 11 plots the results of running the optimization for this test model. As expected, the optimization has clustered the moorings near the harbor channel exit. The total revenue due to mooring fees recognized by the marina was maximized to $7,323.70. Because test two replaces one constraint with another very similar constraint, this revenue of the two tests are roughly equivalent. Test 2 - Fixed water depth, no dock fee 41, 509 500 252, 489 135, 489 369, 488 41, 433 400 108, 396 310, 399 204, 383 408, 357 Y Coordinate 43, 356 125, 311 300 308, 303 215, 277 51, 249 200 396, 241 287, 198 144, 197 216, 119 100 0 0 100 200 300 400 500 X Coordinate Figure 11. Test 2 - Fixed Water Depth, No Dock Fee. 17 Test Run 3 – Fixed Harbor Depth, Equal Proximity Pricing In the third test run, the harbor depth was again fixed at 12 feet, providing no location preference for large or small boats and the boat swing radius (r2 ) would only be a function of boat length (Li ) , providing a fairly uniform spacing between mooring. This time, the price associated with the dock proximity fee (PD ) and harbor exit proximity fee were weighted equally. This would cause the boats to accumulate along the line connecting the two locations. Figure 12 plots the results of running the optimization for this test model. As expected, the optimization has clustered the moorings in a football shaped line connecting the dock with the harbor exit. The mooring locations are fairly symmetric about this line. The total revenue due to mooring fees recognized by the marina was maximized to $7,057.58. This is slightly smaller than test runs 1 and 2 because we have added an additional constraint. Test 3 - Fixed water depth, equal dock and harbor channel exit fee 500 51, 499 144, 474 259, 439 76, 406 400 Y Coordinate 169, 381 98, 301 300 351, 367 269, 316 194, 298 428, 280 332, 272 263, 239 173, 203 200 366, 193 471, 171 272, 143 100 392, 99 489, 56 0 0 100 200 300 400 500 X Coordinate Figure 12. Test 3 - Fixed Water Depth, Equal Proximity Pricing. 18 Test Run 4 – Variable water depth In the fourth test run, the harbor depth was assigned a very gradual slope, providing only a small section of the harbor near the channel in which the deep hulled boat could be placed. Additionally, the price associated with the harbor exit proximity fee (PC ) was eliminated. Figure 13 plots the results of running the optimization for this test model. As expected, the optimization has clustered the short boats near the dock and placed the deep boats out near the channel where the water is deep enough to accommodate them. The total revenue due to mooring fees recognized by the marina was maximized to $6,902.05. Because such a strict constraint was placed on the deep hulled boats the revenue was much less than test runs 1 and 2. Test 4 - Variable water depth, no exit proximity fee 600 307, 565 410, 552 196, 542 500 125, 454 329, 454 227, 444 441, 454 Y Coordinate 400 300 392, 274 296, 217 200 375, 207 462, 274 453, 196 290, 139 376, 118 100 292, 51 378, 31 464, 118 454, 41 0 0 100 200 300 400 500 X Coordinate Figure 13. Test 4 – Slightly Variable Harbor Floor, no harbor exit fee. 19 Results and Analysis In order to evaluate the mooring optimization results, a baseline model of a typical marina mooring layout was created. The mooring placement is such that all the moorings take into account the worst case scenario so that any boat can be placed in any mooring location. The moorings are laid out in a grid as shown in Figure 14. Although very simple to implement, this layout is extremely inefficient. Only 16 of the 18 boats could be placed in the harbor under these constraints and the marina revenue was only $5,523.56. Typical Marina with Grid Moorings 500 Y Coordinate 400 300 139, 411 256, 411 373, 411 489, 411 139, 294 256, 294 373, 294 489, 294 139, 177 256, 177 373, 177 489, 177 139, 61 256, 61 373, 61 489, 61 200 100 0 0 100 200 300 400 500 X Coordinate Figure 14. Typical Marina with Grid Moorings. After confirming the validity of the model using the intuition gained from the test results, the overall system parameters were input and the model optimization was solved. The results are shown in Figure 15. The main differences between this model and the test models are that this model accounts for a realistic variable representing water depth and contains a proximity fee weighted more heavily towards the dock. The latter assumption is based on the fact that if customers were given the choice, they would rather have less distance to row out to their boat and sacrifice being closer to the harbor exit. 20 Marina Mooring Optimization with 18 Boats 500 343, 427 470, 417 Y Coordinate 400 174, 329 287, 329 399, 329 501, 319 300 469, 244 330, 237 255, 206 200 512, 188 410, 176 311, 149 513, 118 100 371, 84 449, 96 279, 51 504, 41 428, 31 0 0 100 200 300 400 500 X Coordinate Figure 15. Marian Mooring Optimization with 18 Boats. As expected, the optimization has placed the boats in the vicinity of the dock with a slight bias towards deeper water so as to accommodate the deeper hulled boats. It can also be seen from the figure that the swing radii nearest the dock are shorter than those farther out towards the channel. This is due to two factors. The first is that the mooring line length is shorter in shallower water. As the tide goes out, this results in a shorter swing radius variation than for moorings in deeper water. Additionally, the optimization has made an effort to place the shorter length boats near the dock because the more it can squeeze in, the higher the revenue will be. From strictly a revenue standpoint, this is a good strategy, however, in reality, owners of larger and longer boats tend to have the deepest pockets and overwhelming desires for convenience and superiority. In a future version of the model, it is recommended that there be separate proximity price schemes for each of the boat length categories. In other words, in order to satisfy the customers and to allow the larger boats spots near the dock, the associated proximity fees should be appropriately penalized. The results of the optimization are quite impressive. The revenue of $6,703.93 is 21.4% greater than the revenue recognized with the standard marina mooring layout. Additionally, the optimization has only used a fraction of the harbor area to place the 18 boats, freeing up space to accommodate additional boats which would only increase revenues. Unfortunately, under the constraint limitations of the Excel Premium Solver the model was unable to add more boats in order to assign a value to the true revenue increases. Add on modules that would increase the number of allowable constraints that are available. As a last recommendation for the implementation of this mooring placement optimization, it would be convenient to have a boat adding algorithm that attempted to 21 include the next boat on the waiting list before settling on an optimum. In other words, after solving for 18 boats, the model would then attempt to include a nineteenth boat and so on until no more boats would fit into the harbor. In this fashion, the model could potentially optimize not only the marina revenue, but also the number of boats in the harbor, and the number of satisfied customers. 22