In this example we’ll solve a simple covering problem: how to build cell towers to provide signal to the largest number of people.
We’ll construct a mathematical model of the business problem, implement this model in the Gurobi Python interface, and compute and visualize an optimal solution.
Although your own business may not involve operating a telecommunications network, the same basic techniques used in this example can be used for many other applications.
In this example, a telecom company needs to build a set of cell towers to provide signal for inhabitants on Cape Cod.
The number of potential locations for building the towers have been determined. The choice of these locations is based on several factors, including how well the tower blends into the surrounding environment and the height of the terrain.
The towers have a fixed range, and due to budget constraints, only a limited number of them can be built. Given these restrictions, the company wishes to provide coverage to as large a fraction of the population as possible.
To simplify the problem, the company has split the area it wishes to cover into a set of regions, each of which has a known population.
The goal is then to choose at which of the potential locations the company should build cell towers to provide coverage to as many people as possible.
To access the cellphone tower demo application and create your scenario using your own data from a blank template or to play with existing default scenarios, you must first register for a Gurobi website account and then view the demo.
We make it easy for students, faculty, and researchers to work with mathematical optimization.
When you face complex optimization challenges, you can trust our Gurobi Alliance partners for expert services.
Our global team of helpful, PhD-level experts are here to support you—with responses in hours, not days.
GUROBI NEWSLETTER
Latest news and releases
Privacy Policy | © Gurobi Optimization, LLC. All Rights Reserved.
Cookie | Duration | Description |
---|---|---|
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. |
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. |
Cookie | Duration | Description |
---|---|---|
CONSENT | 2 years | YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data. |
Cookie | Duration | Description |
---|---|---|
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. |