国内: 海外
分野: 物流・運輸
製品: Gurobi Optimizer
オンデマンド航空輸送は、日々の通勤時間を人々に取り戻し、都市交通を劇的に改善する可能性を持っています。Uber Elevateチームは、都市型航空ライドシェアリングを大規模に展開して世界の姿を変えようとしています。Uberは、都市周辺部での相乗り航空輸送システムを開発中で、2023年初就航を目指しています。現在、小型の電動垂直離着陸機(eVTOL)の機体群をダラス、ロサンジェルスおよび発表予定の国際マーケットでの就航に向け、Elevate Networkのパートナー各社と開発中です。
Uberのこの未来的ベンチャー事業が成功する上で決定的に重要なのが、運用の最適化です。電動垂直離着陸機(eVTOL)の離発着は、ユニークに建設されたスカイポートと呼ばれる設備に限定されているため、飛行ルートの決定を複雑にしています。
そこで、Uberチームは、数理最適化技術を利用してネットワーク設計と飛行ルートの決定を行いました。
最初に行うのがネットワーク設計で、スカイポートを配置する最適な場所を求めていきます。出発地と目的地を入力し、変形クラスタリングアルゴリズムを使ってインフラを建設すべき最も合理的な場所を決め、カスタムメイドの需要選択モデルを活用しながら、乗客数の期待値を最大化するようにスカイポートの場所を絞り込みます。
次は、機体の飛行ルート問題です。ネットワークが設計されて離発着場所が決まった後、乗客に航路スケジュールを提供するため、飛行ルート問題を最適化により解きます。これは機体の充電と乗客の搭乗待ちを考慮しなければならないため、従来のルート問題よりもはるかに複雑な問題になります。つまり、ネットワーク全体ですべての機体が、いつ、どこで、どのくらいの頻度で充電するかという問題を充電場所のキャパシティを超えてはならないという条件の下で、スループットを最大化し、非稼働時間を最小化するように決定するので、構造的に解くことが難しい数理モデルになります。UberPOOLと同様、類似の出発地/目的地がある乗客を組み合わせることにより、すべての当事者にとって費用効率が高くなります。システム効率と乗客の快適さのバランスを取ることはデリケートで難しい問題であり、注意深く構築された数理モデルと最適化手法を必要とします。
この問題にはまったく新しい輸送形態に関連する不確実性があり、このサービスのためのデータ収集はきわめて複雑です。その他に考慮すべき事柄としては、選択可能な複数の移動形態の間のトレードオフに対し乗客がどのような行動を取るかがあり、これらをより複雑なネットワーク最適化モデルとして構築する必要があります。
Uber独自の Flux Optimizer(需要予測およびネットワーク最適化ツール)は、Uber Elevateのネットワーク設計と飛行ルート決定の問題を解くことができました。モデルのサイズは主に具体的なインスタンスにより決まりますが、整数変数の数で言えば数10万~数100万個になります。エネルギー的な実行可能性を追跡するパスベース(path-based)モデルを使うことで実行時間を改善でき、整数変数の数が10倍になっても解くことができました。
解を得るまでの実行時間は、ユーザ入力、飛行ルート数などに依存し、数秒から数時間の範囲になります。ある段階でネットワーク設計問題を解き、次の段階で乗客のマッチングとバッテリー充電を考慮した飛行ルート問題を解きます。ほとんどの時間は、経路モデルに使われるパスの生成に費やされます。
Uberチームはシンプルな ユーザインタフェースを構築し、1日の実態を詳しく調べたり、飛行日の特定部分を指定して点検ができるようにしました。これによりソリューションが適切に機能していることを確認し、独立した検討調査を行うことができるだけでなく高度に複雑であるソリューションおよび相互の影響具合も可視化できます。この柔軟な解析によりユーザは、様々な機種、バッテリー、運用上または騒音の要件、価格などを入力することができます。
私達は、私達のカスタムユースケースにも利用できるよう、中核となるGurobiの混合整数線形計画法(MILP)ソルバーをラッピングしました。これは、強力で使い易い計算処理上のいくつかのトリックに依存します。私達が航路パターンをベースとしたモデルを使い始めてからは特に、Gurobiのプリソルブ(前処理)ルーチンは、可変上限値不等式が現れる本来の定式化を厳しい定式化に変形することができ、最適化を行うのに極めて有効なものです。チームは、RINSのようなヒューリスティックスおよび評価すべき複数のソリューションをユーザに提供するソリューションプールにおいて、いくつかの成功を収めてきました。
このモデルは、かなりのカスタマイズが要求されます。例えば、モデルの制約式の部分集合に遅延制約を追加する場合は、非常に効果的であることが実証されています。コールバック手法はとても柔軟性があって使い易く、それにより、分枝限定法等のようなアルゴリズムの実装を容易にします。
現在はまだ基準がないため、最適化の効果を測定することは困難です。スカイポートの配置場所をできる限り正確に求めかつeVTOLの利用者数を最大化することは、収益に多大な影響を与えます。機体の効率利用、つまりは、地上待機時間を小さくすることを確実にし、適切な場所で適切な電力量の充電をすることは、このベンチャー事業の成功には不可欠です。
Uberは、より高速で、より積載量が大きい、あるいは、より長距離の飛行ができるような新しい複数の機体の仕様に影響を与える、異なった機体のコンセプトの解析を実施しました。
Uberは都市部の航空ライドシェアリングがプレミアム製品に発展し、
「都市での有意義な飛行のシェアリング」のニーズに答え、低価格でのサービス提供が可能になることを期待しています。
私達のパートナーによる投資があまりに莫大であるために、最適化を基盤にしたリューション以外の選択肢は考えられません。そして、私の意見では、私達の要求を満たすべき製品は、 Gurobi以外にはありません。私は、会社を創業して以来 Gurobi のソフトウェアに頼ってきました。彼らの製品とチームに対して最高の敬意を捧げたいと思います。
Uber Elevate データサイエンス部長
Jon Petersen
Uber Elevate の Webサイト:
http://www.uber.com/elevate
Cookie Settings | Privacy Policy | © Gurobi Optimization, LLC. All Rights Reserved.
Choose the evaluation license that fits you best, and start working with our Expert Team for technical guidance and support.
Request free trial hours, so you can see how quickly and easily a model can be solved on the cloud.
Cookie | Duration | Description |
---|---|---|
_biz_flagsA | 1 year | A Cloudflare cookie set to record users’ settings as well as for authentication and analytics. |
_biz_pendingA | 1 year | A Cloudflare cookie set to record users’ settings as well as for authentication and analytics. |
_biz_sid | 30 minutes | This cookie is set by Bizible, to store the user's session id. |
ARRAffinity | session | ARRAffinity cookie is set by Azure app service, and allows the service to choose the right instance established by a user to deliver subsequent requests made by that user. |
ARRAffinitySameSite | session | This cookie is set by Windows Azure cloud, and is used for load balancing to make sure the visitor page requests are routed to the same server in any browsing session. |
BIGipServersj02web-nginx-app_https | session | NGINX cookie |
cookielawinfo-checkbox-advertisement | 1 year | Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category . |
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
CookieLawInfoConsent | 1 year | Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie. |
elementor | never | This cookie is used by the website's WordPress theme. It allows the website owner to implement or change the website's content in real-time. |
JSESSIONID | session | New Relic uses this cookie to store a session identifier so that New Relic can monitor session counts for an application. |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Cookie | Duration | Description |
---|---|---|
__cf_bm | 30 minutes | This cookie, set by Cloudflare, is used to support Cloudflare Bot Management. |
_biz_nA | 1 year | Bizible sets this cookie to remember users’ settings as well as for authentication and analytics. |
_biz_uid | 1 year | This cookie is set by Bizible, to store user id on the current domain. |
_hjAbsoluteSessionInProgress | 30 minutes | Hotjar sets this cookie to detect a user's first pageview session, which is a True/False flag set by the cookie. |
_mkto_trk | 2 years | This cookie is set by Marketo. This allows a website to track visitor behavior on the sites on which the cookie is installed and to link a visitor to the recipient of an email marketing campaign, to measure campaign effectiveness. Tracking is performed anonymously until a user self-identifies by submitting a form. |
bcookie | 1 year | LinkedIn sets this cookie from LinkedIn share buttons and ad tags to recognize browser ID. |
bscookie | 1 year | LinkedIn sets this cookie to store performed actions on the website. |
doc_langsBB | 1 year | Documentation system cookie |
doc_version | 1 year | Documentation system cookie |
lang | session | LinkedIn sets this cookie to remember a user's language setting. |
lidc | 1 day | LinkedIn sets the lidc cookie to facilitate data center selection. |
UserMatchHistory | 1 month | LinkedIn sets this cookie for LinkedIn Ads ID syncing. |
whova_client_id | 10 years | Event agenda system cookie |
Cookie | Duration | Description |
---|---|---|
_gat_UA-5909815-1 | 1 minute | A variation of the _gat cookie set by Google Analytics and Google Tag Manager to allow website owners to track visitor behaviour and measure site performance. The pattern element in the name contains the unique identity number of the account or website it relates to. |
Cookie | Duration | Description |
---|---|---|
_an_uid | 7 days | 6Sense Cookie |
_BUID | 1 year | This cookie, set by Bizible, is a universal user id to identify the same user across multiple clients’ domains. |
_ga | 2 years | The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors. |
_ga_* | 1 year 1 month 4 days | Google Analytics sets this cookie to store and count page views. |
_gat_UA-* | 1 minute | Google Analytics sets this cookie for user behaviour tracking. |
_gcl_au | 3 months | Provided by Google Tag Manager to experiment advertisement efficiency of websites using their services. |
_gd_session | 4 hours | This cookie is used for collecting information on users visit to the website. It collects data such as total number of visits, average time spent on the website and the pages loaded. |
_gd_visitor | 2 years | This cookie is used for collecting information on the users visit such as number of visits, average time spent on the website and the pages loaded for displaying targeted ads. |
_gid | 1 day | Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously. |
_hjFirstSeen | 30 minutes | Hotjar sets this cookie to identify a new user’s first session. It stores the true/false value, indicating whether it was the first time Hotjar saw this user. |
_hjIncludedInSessionSample_* | 2 minutes | Hotjar cookie that is set to determine if a user is included in the data sampling defined by a site's daily session limit. |
_hjRecordingEnabled | never | Hotjar sets this cookie when a Recording starts and is read when the recording module is initialized, to see if the user is already in a recording in a particular session. |
_hjRecordingLastActivity | never | Hotjar sets this cookie when a user recording starts and when data is sent through the WebSocket. |
_hjSession_* | 30 minutes | Hotjar cookie that is set when a user first lands on a page with the Hotjar script. It is used to persist the Hotjar User ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID. |
_hjSessionUser_* | 1 year | Hotjar cookie that is set when a user first lands on a page with the Hotjar script. It is used to persist the Hotjar User ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID. |
_hjTLDTest | session | To determine the most generic cookie path that has to be used instead of the page hostname, Hotjar sets the _hjTLDTest cookie to store different URL substring alternatives until it fails. |
6suuid | 2 years | 6Sense Cookie |
AnalyticsSyncHistory | 1 month | LinkedIn cookie |
BE_CLA3 | 1 year 1 month 4 days | BrightEdge sets this cookie to enable data aggregation, analysis and report creation to assess marketing effectiveness and provide solutions for SEO, SEM and website performance. |
CONSENT | 2 years | YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data. |
dj | 10 years | DemandJump cookie |
djaimid.a28e | 2 years | DemandJump cookiean |
djaimses.a28e | 30 minutes | DemandJump cookie |
li_gc | 5 months 27 days | LinkedIn Cookie |
ln_or | 1 day | LinkedIn Cookie |
vuid | 2 years | Vimeo installs this cookie to collect tracking information by setting a unique ID to embed videos to the website. |
Cookie | Duration | Description |
---|---|---|
__adroll | 1 year 1 month | This cookie is set by AdRoll to identify users across visits and devices. It is used by real-time bidding for advertisers to display relevant advertisements. |
__adroll_fpc | 1 year | AdRoll sets this cookie to target users with advertisements based on their browsing behaviour. |
__adroll_shared | 1 year 1 month | Adroll sets this cookie to collect information on users across different websites for relevant advertising. |
__ar_v4 | 1 year | This cookie is set under the domain DoubleClick, to place ads that point to the website in Google search results and to track conversion rates for these ads. |
_fbp | 3 months | This cookie is set by Facebook to display advertisements when either on Facebook or on a digital platform powered by Facebook advertising, after visiting the website. |
_te_ | session | Adroll cookie |
fr | 3 months | Facebook sets this cookie to show relevant advertisements to users by tracking user behaviour across the web, on sites that have Facebook pixel or Facebook social plugin. |
IDE | 1 year 24 days | Google DoubleClick IDE cookies are used to store information about how the user uses the website to present them with relevant ads and according to the user profile. |
li_sugr | 3 months | LinkedIn sets this cookie to collect user behaviour data to optimise the website and make advertisements on the website more relevant. |
test_cookie | 15 minutes | The test_cookie is set by doubleclick.net and is used to determine if the user's browser supports cookies. |
VISITOR_INFO1_LIVE | 5 months 27 days | A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface. |
YSC | session | YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages. |
yt-remote-connected-devices | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt-remote-device-id | never | YouTube sets this cookie to store the video preferences of the user using embedded YouTube video. |
yt.innertube::nextId | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |
yt.innertube::requests | never | This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen. |