fredag 4 juli 2008

Optimal segling

Givet konstant vind, ett polardiagram och en önskad kurs, hur ska man segla för att komma fram fortast? Denna eviga fråga tål att funderas på - speciellt för båtar med spetsiga polardiagram som t ex trimaraner.

Jag började ställa upp problemet och har lite funderingar på hur man ska angripa det. Började med att ställa upp det som ett analytiskt optimeringsproblem med två kurser, sedan med en kontinuerlig viktfunktion (oändligt många kurser). Det blev ganska långa uttryck, så jag angrep istället problemet numeriskt. Med ett ändligt antal kurser (diskretisering av problemet) och villkor som att man inte kan tillbringa negativ tid på en kurs blir problemet direkt ett linjärt program på standardform. Med lite data från Seacart 30 och octave fick jag fram den optimala lösningen. (jag provade först med data från farr 40 one design men det var inte lika intressant, jag är ju trots allt trimaranseglare). Efter att ha experimenterat med lite olika kurser och vindstyrkor känns det som att jag börjat få kläm på problemet:

Alla möjliga kombinationer av segling enligt polardiagrammet bildar det
"konvexa höljet" (eng. convex hull) av polardiagrammet. Man kan tänka såhär: man spenderar en viss tid på varje kurs, en faktor som är större än noll. Summan av alla faktorer för alla kurser är ett. Detta är definitionen på en konvex kombination, och följaktligen är konvexa höljet det som går att få ur - det går inte att segla fortare än konvexa höljet!
Med denna insikt så kan problemet med optimal segling reduceras till att man gör såhär:
  1. hitta konvexa höljet för polardiagrammet (trivialt, görs enkelt med penna och linjal, se streckade linjen i figuren)
  2. för den önskade kursen, sök skärningen med konvexa höljet (punkt C på bilden)
  3. Optimala kombinationen av kurser är de kurser där konvexa höljet möter polardiagrammet. (punkt A och B på bilden)
Detta kanske låter komplicerat men det är vad seglare vetat länge, när man ska mot vinden måste man kryssa! Det är dock framförallt medvind och vid val mellan olika stora segel (t ex vid punkt E på bilden) man behöver fundera lite mer över detta.

Några mycket intressanta slutsatser kan dras
  • det är INTE är vmg mot målet som ska maximeras i varje enskilt tillfälle - det gör alltså inget att vmg är lågt eller negativt sålänge man seglar enligt receptet ovan, man hämtar hem det i genomsnitt. Att få negativt VMG kan hända om skärningsvinkeln är större än 45 grader från/mot vinden, något som ofta händer snabba båtar i svag vind.
  • så länge målet ligger i ett område innanför optimala skärningsvinklarna t ex på medvind eller kryss gäller det att alltid skära på de optimala vinklarna. På bilden gäller detta i området F-G (kryss) och A-B (medvind) samt vid E.
För båtar med olika segel, t ex screacher och gennaker kan det vara lönsamt att hålla lite lägre kurs med ett större segel och sedan hämta hem höjden med mindre segel. Detta ges av om polardiagrammet är konvext (polardiagrammet sammanfaller med konvexa höljet) för den önskade kursen!

3 kommentarer:

Anonym sa...

Beror avdriften på val av segel och vindstyrka? Då blir det ganska stor lösningsrymd :-) /j

Anonym sa...

Hmm...

Jag har litet svårt att förstå detta med att VMG inte skulle maximeras?

Fast det gäller väl att vara försiktig med akronymerna. Jag tolkar i kryss/läns-fallet VMG som fart mot/med vinden (inte mot en viss punkt) och då måste det väl vara maximering som gäller?

Med påverkan av sjö så bleve det ju naturligtvis en mer komplex modell.

/Anders J

Paul Dreik sa...

@j:
Avdriften är redan inkluderad i polardiagrammet, det är netto. Detta gäller även segelval, det är maxfarten med alla segel (ibland markerar man med flera kurvor, en per segelsättning, men för användning såhär maximerar man för varje vinkel)
Vindstyrkan antas vara konstant, annars blir problemet enormt komplext som du antyder.

@anders j:
något som verkar förvilla folk är att vinkeln till målet ändras medan man seglar på en bog. Man kan tänka sig att man slår/gippar oändligt många gånger, då närmar sig målet i samma bäring hela tiden. Detta behövs inte för att det är optimalt att segla enligt konvexa höljet - det gör det bara lättare att förstå. En något mer teoretiskt välklingande förklaring är att man ska maximera väntevärdet av hastighetens projektion på den önskade kursen.

hoppas jag lyckades förklara mig!