Domnívám se, že odpověď je malá, ale vyčíslitelná, ano , existuje konfigurace ne ploché silnice, která by vedla k lepšímu dojezdu plynu mezi dvěma body ve stejné výšce. Číselně jsem vyřešil takovou optimální cestu. Věřím, že mohu pěkně vysvětlit, proč tomu tak je, ale bude to vyžadovat nějakou práci, takže mějte se mnou. Samozřejmě můžete očekávat, že ušetříte asi 0,01 USD na pohonných hmotách takovou optimální cestou, víceméně nezávislou na vzdálenosti, kterou musíte ujet.
tl; dr: Tady je optimální rychlost jízdy, aby se minimalizovala spotřeba paliva na pevnou vzdálenost. Pokud se dále zeptáme, jaká je optimální dráha mezi dvěma pevnými body za předpokladu, že začínáme a končíme nulovou rychlostí, odpověď zní zhruba: zrychlit na optimální rychlost poměrně rychle, udržovat tuto rychlost po většinu vzdálenosti, pak zpomalit na konec. Pokud povolíme kopce, nejlepší cesta bude mít svah směrem dolů, aby nám pomohl dostat se do rychlosti, a svah nahoru na konci, aby nám pomohl zpomalit. To umožňuje lepší účinnost paliva.
Považoval jsem tuto otázku za velmi zajímavou, i když náročnou. Doufám, že vás v následujícím provedu mým myšlenkovým procesem a snad představím některé chytré techniky a výsledky.
Jako celkovou strategii jsem si myslel, že původní otázka je příliš tvrdá. Takže ve velké tradici vědy jsem začal problém rozkládat na jednodušší. Pokus o určení optimální dráhy byl příliš obtížný, protože se zdálo, že nejprve budu potřebovat znát optimální rychlostní profil. Takže jsem se pokusil zjistit optimální rychlostní profil pro rovnou cestu. To samo o sobě bylo obtížné, a tak jsem místo toho začal zjišťovat optimální rychlost pro auto cestující konstantní rychlostí na pevnou vzdálenost. Od toho začneme.
Optimální pevná rychlost pro pevnou vzdálenost
Všichni jsme slyšeli, že k dosažení maximální účinnosti paliva je třeba jet optimální rychlostí. Ale proč je to tak? Nakonec musí existovat nějaký druh kompromisu, kdy platíme pokutu za příliš pomalý pohyb a pokutu za příliš rychlý pohyb, takže optimum může být někde mezi tím. Je snadné pochopit, proč jít rychle je špatné, čím rychleji jedeme, tím více ztrácíme odpor vzduchu. Na druhé straně, pokud jedeme velmi pomalu, je to také neefektivní, protože bude trvat velmi dlouho, než dosáhneme svého cíle. Jak jsem prozkoumal ve své odpovědi na otázku Jak efektivní je překročení rychlosti?, velmi jednoduchý model, který se slušně přizpůsobí naměřeným křivkám palivové účinnosti, je předpokládat, že síla čerpaná automobilem má formu class = "math-container"> $$ P = A v ^ 3 + P_0 $$ je zde $ \ propto v ^ 3 $ termín náklady na odpor vzduchu, protože $ F _ {\ text {air}} \ propto v ^ 2, P \ propto F v \ propto v ^ 3 $ a $ P_0 $ označuje naše stálé ztráty energie způsobené zapnutým vozem. Jak jsem ukázal v této jiné odpovědi, dělá to slušnou práci při modelování pozorované účinnosti paliva.
Pokusíme se tentokrát o něco přesnější, zahrňme valivé tření a rotační ztráty v našem automobilu, používáme jako náš model síly $$ F = A + Bv + Cv ^ 2 $$ podle této zprávy EPA (str. 8). Výhodou tedy je, že můžeme jejich parametry použít pro model Honda Civic DX z roku 2004 (str. 99) $$ A = 105,47 \ text {N} \ quad B = 5,4276 \ text {N / mps} \ quad C = 0,2670 \ text {N / mps $ ^ 2 $} \ quad m = 1239 \ text {kg} $$ a získáte určitou úroveň skromného realismu.
Zbývá určit $ P_0 $ , které jsem nastavil na $ P_0 = 6 \ text {kW} $ za účelem získání rozumné hodnoty pro naši optimální rychlost. Náš výsledný model uvádí pro palivovou účinnost našeho modelu automobilu:
s maximem v tomto případě rychlostí 41 mph. To také kvalitativně souhlasí s pozorovanými křivkami palivové účinnosti, tj. tento údaj wikipedie nebo tento příspěvek z automatického
Nyní by mělo být jasné, že pokud nás to zajímá při dosažení slušné vzdálenosti bude naší optimální trajektorií zrychlení na přibližně 41 mil za hodinu, poté tuto rychlost po většinu cesty udržovat a na konci zpomalit. To zajišťuje optimální kompromis mezi časem, kdy potřebujeme, aby bylo vozidlo zapnuto, a ztrátami v důsledku různých třecích sil, které naše auto cítí. To dá mé odpovědi velmi odlišný charakter než Edwardsovi, protože jeho strategií bylo jít co nejpomaleji, aby nedocházelo ke ztrátám třením. Bohužel, pokud to vezmeme do extrému, znamenalo by to, že při zapnutém autě zbytečně ztrácíme palivo.
Je pravda, že si lze představit, že auto zařadíte na neutrál a vypnete motor, ale to není bezpečná nebo realistická strategie. V následujícím textu se pokusím zjistit, jaký druh odpovědi dostaneme, za předpokladu, že nevypneme auto ani nebudeme provádět žádné zvlášť chytré triky s hypermilingem.
Optimální ovládání pro pevnou vzdálenost a rovný terén
Když jsme zjistili, jaká je optimální pevná rychlost pro pevnou vzdálenost, chtěli bychom vedle zjistit, jaký je optimální rychlostní profil pro pevnou vzdálenost, za předpokladu, že začneme a skončíme nulovou rychlostí. Ukázalo se, že to je problém optimální kontroly.
Abychom formálně vyjádřili problém, máme stav našeho vozu, $ v (x) $ rychlost jako funkce vzdálenosti mezi dvěma pevnými body $ x = 0, x = X $ . Máme řídicí proměnnou $ u (x) $ , která bude zhruba odpovídat tomu, jak moc tlačíme na plyn nebo brzdu. Hledáme $ u (x) $ , který minimalizuje naši spotřebu paliva, což budeme brát jako:
$$ F = \ int dt \, r (v, u) = \ int_0 ^ X dx \, \ frac {r (v, u)} {v} $$ kde $ r (u, v) $ je rychlost, kterou spotřebováváme palivo pro daný $ v, u $ . Naše auto je popsáno danou dynamikou. $$ \ dot v = a (u, v) = u - \ frac {A} {m} (v>0) - \ frac {B } {m} v - \ frac {C} {m} v ^ 2 $$ zde máme výrazy $ A, B, C $ představující valivý odpor, rotační tření a odpor vzduchu a $ u $ je zvláštní zrychlení poskytované automobilem.
Co si vezmeme jako palivo míra spotřeby? Měl jsem s tím spoustu potíží, ale myslím, že dobrá definice je $$ r (v, u) = m v u (u>0) + P_0 $$
Intuice spočívá v tom, že spotřeba paliva by měla být úměrná výkonu, který naše auto potřebuje poskytnout, naše auto poskytuje zrychlení $ u $ , takže výkon $ P = mvu $ . Palivo však spotřebováváme, pouze pokud máme pozitivní zrychlení. Když brzdíme, pokud nemáme rekuperační brzdy, tato energie se ztrácí a nezískává zpět, proto nastavím naši funkci spotřeby paliva na pozitivní hodnoty $ u $ . Dalším důležitým upozorněním je, že automobily mají maximální a minimální hodnotu $ u $ , kterou mohou použít. U našeho modelu auta vezmu $ u $ , aby byl ohraničen v intervalu $ [- b, a] = [ -7,2, 3,2] $ , které jsem získal z časů zrychlení 0-60 mph ( $ u \ leq a $ ) a měření brzdné dráhy pro honda civics. ( $ u \ geq -b $ )
Problém s optimální kontrolou
V tomto okamžiku jsme náš problém formulovali jako problém v variačním počtu. Minimalizujte spotřebu paliva ve všech možných profilech akcelerátoru $ u (x) $ s výhradou fyzických omezení a dynamických omezení.
$$ \ min_ {u (x) \ in [-b, a]} \ int dt \, r (v, u) \ quad \ text {předmět} \ dot v = a (v , u), v (0) = 0, v (X) = 0 $$ v tomto okamžiku bychom mohli pokračovat přidáním Lagrangeova multiplikátoru pro naše kontraindikace a převzít funkční derivaci a najít věci odpovídající Euler Lagrangeovy rovnice pro tento systém. Ale to bylo pro mě příliš těžké. Nefungovalo to.
Dále bychom se mohli pokusit najít podmínky, které musí splňovat naše optimum, a to uplatněním minimálního principu Pontryagin a řešením věcí tímto způsobem, ale opět se to ukázalo jako příliš obtížné já.
Takže místo toho se rozhodneme pro numerické řešení, které najdeme zavedením dynamického programování.
Dynamické programování
Shrnutí zde je, že nemusíme řešit celý problém najednou, místo toho uděláme něco podobného důkazu indukcí, pokusíme se problém rozdělit na jeho nejmenší část a napsat řešení k tomuto malému problému, pokud jde o řešení o něco menšího problému. Tím nastavíte jakési opakování, které v kombinaci s řešením nejmenšího možného problému nám umožní hrubou silou vyřešit jakýkoli problém, který chceme.
Začneme nahrazením našeho problému ještě větším. Hledejme optimální cesty počínaje jakýmkoli mezilehlým $ x $ s jakoukoli mezilehlou rychlostí $ v $ a zapišme
$$ F_ {x, v} [u (x)] = \ int_x ^ X dx \, \ frac {r (u, v)} {v} \ quad v (x) = v, v (X) = 0 $$ , takže $ F_ {x, v} [u (x)] $ span > je palivo spotřebované pro zásadu $ u (x) $ počínaje $ x = x $ s $ v (x) = v $ a končící na $ x = X $ s $ v (X) = 0 $ . Z tohoto hlediska můžeme definovat náklady na tyto optimální dílčí cesty. $$ C (x, v) = \ min_ {u (x) \ in [-b, a]} F_ {x, v} [u (x)] $$
Takže $ C (x, v) $ nám dává palivo použité pro optimální cestu počínaje $ x $ span> with velocity $ v $ přechod na $ x = X $ s velocity $ C (0,0) $ ) jsme vytvořili problém řešení celé sady optimální trajektorie. Kouzlo se stane další. Představujeme si rozdělení $ x $ a $ v $ do diskrétní mřížky, $ x_i $ , $ v_i = v (x_i) $ a zkuste napsat řešení v jednom z našich bodů mřížky z hlediska řešení v dalším bodě mřížky.
$$ C (x_i, v_i) = \ min \ left \ {\ int_ {x_i} ^ {X} dx \ , \ frac {r (u, v)} {v} \ pravý \} = \ min \ levý \ {\ int_ {x_i} ^ {x_ {i + 1}} dx \, \ frac {r (u, v )} {v} + \ int_ {x_ {i + 1}} ^ {X} dx \, \ frac {r (u, v)} {v} \ vpravo \} $$ ale ten druhý výraz je jen $ C (x_ {i + 1}, v_ {i + 1}) $ a náš integrál je jediný krok, takže máme: $$ C (x_i, v_i) = \ min \ left \ {\ frac {r (u, v)} {v} \ Delta x + C (x_ {i + 1}, v_ {i +1}) \ right \} $$
Bohužel, udělali jsme pokrok. Hodnotu $ C (x_i, v_i) $ máme jako minimum paliva, které použijeme v tomto kroku, plus optimální hodnotu v dalším bodě mřížky. S vědomím toho a toho, že na samém konci naší cesty máme $$ C (X, v) = \ begin {cases} 0 & v = 0 \\ \ infty & v \ neq 0 \ end {cases} $$
můžeme pokračovat ve výpočtu $ C (x, v) $ pro všechny hodnoty $ x $ . Musíme jen definovat, co máme na mysli pomocí $ v $ a $ u $ . Za tímto účelem musíme zajistit, abychom uspokojili naše dynamické kontrakty a udělali slušnou práci při aproximaci integrálu tím, že $ r $ v jednom bodě. Vezmeme tedy $$ v = \ frac 12 \ left (v_ {i-1} + v_ {i} \ right) $$ $$ \ Delta x = x_ {i} - x_ {i-1} = \ left (v + \ frac 12 \ dot v \ Delta t \ right) \ Delta t $$ $$ \ dot v = \ frac {v_ {i} - v_ {i-1}} {\ Delta t} = a (v, u) $$ to nám umožňují považovat $ \ Delta x $ za konstantu a určit $ u, r (v, u), a (v , u) $ vše z hlediska $ v_i $ , a poté převezme minimum nad všechny hodnoty $ v_i $ vpravo. Tento přístup je podobný přístupu přijatému v tomto příspěvku (doi), který shodou okolností provádí složitější model s převodovými poměry a přepínáním a podobně a stojí za to si ho prohlédnout.
Dynamické výsledky programu pro rovinatý terén
Poté můžeme kódovat celou věc a vyřešit optimální profily pro pevnou vzdálenost. Vezmu si jako naši vzdálenost 1 míli. To je to, co dostaneme pro naše profily rychlosti a akcelerátoru:
Všimněte si, že máme v zásadě tři fáze. Na začátku akcelerujeme poměrně rychle až na téměř optimální rychlost. Potom ve střední části pojedeme téměř optimální rychlostí, abychom pokryli zem, a pak v určitém okamžiku dojedeme, abychom snížili naši rychlost, a nakonec zabrzdíme, abychom na konci skončili nulovou rychlostí.
Můžeme také vidět naši spotřebu paliva jako funkci vzdálenosti a vypočítat celkovou spotřebu paliva a spotřebu paliva pro tuto cestu:
V tomto případě používáme 0,29 galonů pro průměrnou palivovou účinnost 34,3 mpg .
Všimněte si však, že většina našeho používání paliva pochází z hlavního úseku při téměř optimální rychlosti. Kvůli té porci není nic, čeho bychom byli schopni. Pokud doufáme, že uděláme nějaké kroky směrem k úsporám, bude to muset být ve snížení spotřeby paliva v počáteční části trajektorie. Jen ta první část, kde zrychlujeme až na rychlost, zabírá v současných cenách 0,008 galonu plynu nebo asi 0,02 $. Toto je opravdu jediné místo, kde bychom měli doufat, že uvidíme nějakou výhodu, takže i když se nám podaří dělat lépe, nebude to moc.
Intuice pro Hill Answer
Dobře, když jsme zjistili, co bychom měli dělat na rovině, nyní jsme opravdu v pozici, abychom tuto otázku vyřešili. Jaký by byl optimální návrh výšky silnice mezi našimi dvěma koncovými body? Existuje nějaká výhoda, kterou lze získat?
Nyní, když jsme nastavili rámec, je rovnou dopředu, jen znovu spustit problém numerické optimalizace, tentokrát s jinou dimenzí naší mřížky odpovídající výšce silnice, což uděláme brzy, ale uvidíme, jestli na základě naší odpovědi pro rovný terén extrahujeme nějakou intuici.
Všimněte si, že optimální cesta řízení má v zásadě tři fáze. Fáze I je zrychlení až na téměř optimální rychlost, při které utrpíme náš největší zásah do paliva. Jakmile ve fázi II dosáhneme rychlosti, udržujeme tuto rychlost, což nás bude stát nějakou malou, ale konstantní a téměř optimální míru spotřeby paliva. A konečně, když se blížíme k cíli, ve fázi III zpomalíme, nejprve téměř dojezdem a dokončením s některými brzdami.
Takže, můžeme si s kopci poradit lépe? Jelikož máme co do činění s automobilem, bolí nás zrychlit pomocí motoru, zatímco pro brzdění nic nezotavíme, takže pokud se chystáme lépe, musíme s touto počáteční akcelerací něco udělat.
K dosažení tohoto počátečního zrychlení bychom ale mohli použít sklon dolů . Nechte gravitaci, aby pracovala za nás, a nevznikne nám žádný trest za palivo.
Fyzika je velmi podobná klasické ukázce, kterou předvádějí na hodinách úvodní mechaniky. Zvažte následující nastavení:
Máme dvě rampy. Jeden s mírným stálým sklonem po celou cestu a druhý s poklesem uprostřed. Napsána velkými červenými písmeny napříč věcí je „ZACHOVÁNÍ ENERGIE“. Studenti se ptají: Který míč dosáhne konce jako první? Přemýšlejte o tom chvíli, než se posuňte dolů.
Zde je výsledek:
Všimněte si, že míček, který klesá, hravě porazí první míč . Nyní je tato ukázka obvykle zábavná, protože studenti všichni říkají, že jejich míče budou trvat stejně dlouho, hlavně kvůli výzvě způsobené „ZACHOVÁNÍ ENERGIE“ napsané napříč zařízením. Ale zatímco je energie zachována, čas potřebný k cestování mezi dvěma body není.
Jelikož část ztráty paliva, kterou způsobujeme, je konstantní výkon $ P_0 $ za to, že jsme v našem modelu měli zapnuté auto, jsme mohli těžit ze v podstatě stejného designu. Pomocí gravitace zkrátte čas, který nám trvá přechod z bodu A do bodu B, a pomozte nám dosáhnout téměř optimální rychlosti a my bychom mohli ušetřit nějaké palivo.
Zejména, jak jsme před chvílí navrhli, skutečným trikem by bylo pokusit se na začátku zmírnit velké náklady na palivo naší počáteční akcelerace. Kdybychom jen mohli použít zkosenou cestu, abychom nás zrychlili, pak jen udržujeme konstantní téměř optimální rychlost pro většinu trajektorie a pak se svažujeme na konci, kde by nám opět gravitace pomohla zabrzdit, aniž bychom ji museli použít sami.
Ve skutečnosti se podívejme na integrované zrychlení naší optimální cesty jako funkce vzdálenosti:
Zde jsem se dokonce rozdělil pomocí $ g $ , aby se jednalo o cestu, na které by naše auto pocítilo stejný profil zrychlení, jaký vyžaduje v optimální trajektorii pro plochý terén.
Naše skutečně optimální cesta by měla vypadat kvalitativně takto. Použijeme počáteční sklon dolů, abychom auto zrychlili na téměř optimální rychlost, pak budeme tuto rychlost udržovat po většinu trajektorie. Když dojdeme na konec, použijeme stoupající svah, abychom pomohli zpomalit auto. Všimněte si, že naše integrovaná akcelerace úplně nevrací zálohu na $ h = 0 $ . Je to způsobeno našimi ztrátami třením a bude to znamenat, že pokud se pokusíme použít sestupný pokles, budeme muset na konci uvést nějaké zrychlení, abychom ho mohli obnovit.
V našem plochá trajektorie, na konci jsme nemuseli používat další palivo, protože jsme zabrzdili. Tady na konci budeme muset dát trochu oomph, ale to by mělo trvat jen část paliva, které trvalo v plochém případě, aby nás dostalo do rychlosti. V řeči této věci do kopce nás svah dolů snižuje na rychlost, a přestože je pravda, že nepřijdeme celou cestu zpět, určitě to uděláme částečně nebo většinou zpět na poslední kopec.
Pojďme nyní skutečně vypočítat optimální cestu pro silnici rozšířením našeho dynamického programu.
Optimální Hill Design
Použijeme stejnou numerickou techniku, jakou jsme použili dříve, ale s novou řídicí proměnnou $ h (x) $ bude výška naší silnice jako funkce vzdálenosti. Musíme upravit naše dynamické omezení, tentokrát budeme mít
$$ \ dot v = a (v, u, h) = u - \ frac { A} {m} (v>0) - \ frac {B} {m} v - \ frac {C} {m} v ^ 2 - g \ frac {dh} {dx} $$ , kam jsme přidali další výraz pro naše zrychlení daný tvarem naší silnice. Naše spotřeba paliva zůstane stejná, protože za použití našeho plynového pedálu nám vzniknou pouze náklady na palivo. Nyní ale budeme muset vyřešit větší dynamický program:
$$ C (x_i, v_i, h_i) = \ min \ left \ {\ frac {r (v, u, h)} {v} \ Delta x + C (x_ {i + 1}, v_ {i + 1}, h_ {i + 1}) \ right \} $$ Kde jsme bude ukládat naše dynamická omezení v podstatě stejným způsobem jako výše, ale nyní bude naše minimalizace dvourozměrná minimalizace přes kandidátské rychlosti a výšky. V obou případech program stále běží, jen zabere více času a pro naši optimální cestu najdeme:
Což upřímně vypadá hezky podobné tomu, co navrhovala naše intuice. Stejně jako dříve se můžeme podívat na optimální $ v (x), u (x) $ :
Kde náš profil rychlosti vypadá docela podobně. Náš akcelerátor vykazuje určité praštěné chování, ale celkově má takové trendy, jaké jsme očekávali. Necháme auto víceméně klouzat z kopce dolů, pak udržujeme konstantní téměř optimální rychlost a poté necháme kopec zpomalit, ale na konci přidáme trochu šťávy.
Skutečným testem bude výpočet spotřeba paliva v tomto případě:
a TADA, používáme o něco méně paliva, 0,027 galonů , což odpovídá průměrné účinnosti 37,6 mpg pokud dovolíme silnici najít vlastní optimální konfiguraci.
To je o 0,002 galonu méně než v případě plochého terénu, což je při současných cenách asi půl centu plynu. Tato úspora by měla být také víceméně nezávislá na vzdálenosti, kterou doufáme, že najedeme, protože v obou případech máme dlouhý úsek času, kdy cestujeme téměř optimální rychlostí, rozdíl byl jen v tom, jak se snažíme zmírnit počáteční zrychlete z našeho rovinatého terénu.
Závěr
Ano, můžete lehce lépe, asi o 1 cent lépe. Trik spočívá v tom, že necháte silnici zrychlit auto, pak stačí udržovat téměř optimální rychlost po většinu cesty a na konci vás nechá kopec většinou zpomalit. To vám umožní vyjít mírně dopředu.
Celý kód použitý ke generování těchto výsledků je k dispozici jako Notebook IPython.
Velmi zábavná otázka.
Reference:
- Předchozí odpověď o palivové účinnosti při konstantní rychlosti
- Zpráva EPA o účinnosti automobilu pdf
- Poznámky k optimálnímu řízení pdf
- Optimální řízení automobilů pro úsporu paliva doi
- Notebook IPython kódu pro tuto odpověď prohlížeč ipynb
Příloha A: Hypermiling
Jak Floris navrhuje v komentáři, mohlo by nás zajímat v tom, jak se příběh změní, pokud dovolíme našemu řidiči automobilu, aby byl maximálně efektivní a vypnul motor, když se nepoužívá. Můžeme také vyřešit tento případ. Ve skutečnosti můžeme tento scénář modelovat pouhou úpravou naší funkce spotřeby paliva
$$ r (u, v) = \ left (mvu + P_0 \ right) (u>0) $ :
Aby náš řidič jen pulzně zapnul motor a jinak po většinu cesty doběhl. To ve skutečnosti snižuje naši spotřebu paliva téměř na polovinu:
s použitím pouze 0,013 galonů nebo s průměrnou účinností paliva pro tuto trasu 76,8 mpg .