Urban Tree Planting Optimization in Python
ISEF Category: Environmental Engineering
Ready to Turn This Idea Into a Real Project?
This guide was put together with the help of AI research tools to give you a solid starting point. But a competitive science fair project lives in the details: refining your research question, fine-tuning your variables, analyzing your data, and presenting your findings like a seasoned scientist.
For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →
Subcategory: Other · Difficulty: Advanced · Setup: Home Setup · Time: Full Year
The Hook
One tree can help with three city problems at once. It can store carbon, slow runoff, and trap some air pollution. The hard part is choosing where each tree does the most good. Your project can use data and optimization to answer that question.
What Is It?
This project asks a simple question with a tricky answer, where should a city plant trees if it wants the most benefit for the least tradeoff? A tree that wins on carbon storage might not be the best for stormwater, and the best tree for pollution removal might not fit every street.
Multi-objective optimization means you do not chase one best answer. You search for a set of strong answers, often called a Pareto front. Think of it like packing a backpack. You want the best mix of items, but adding more of one thing can crowd out something else. NSGA-II is a search method in Python that helps find those tradeoffs.
The i-Tree tools and open data help estimate what trees do for carbon, water, and air. You can use those estimates to compare tree species, planting locations, or planting plans. Your final result is not just a map or a chart. It is a decision model that shows how different goals push the plan in different directions.
Why This Is a Good Topic
This is a strong science fair topic because you can test real tradeoffs instead of chasing one yes-or-no result. It connects to urban heat, flooding, air quality, and climate action, so the stakes are easy to explain. You can learn data cleaning, optimization, and decision-making, all with public data and Python. That makes the project technical, but still doable from home.
Research Questions
- How does changing the weight on carbon sequestration alter the best tree-planting plan?
- What is the effect of including stormwater interception as a second goal on the species ranking?
- Does adding air-pollution removal change which neighborhoods receive the highest-priority trees?
- To what extent do different objective weights change the shape of the Pareto front?
- Which tree species stays near the top across all three goals?
- How does the optimization result change when you limit planting to certain street types or land-use zones?
Basic Materials
- Laptop or desktop computer with Python installed.
- Spreadsheet software for cleaning and checking data.
- Access to i-Tree open data or published tree-benefit tables.
- Urban tree inventory data from a city open-data portal.
- NOAA rainfall or storm data for local context.
- Air-quality or land-use data from a public government database.
- Notepad or document editor for tracking assumptions and model choices.
Advanced Materials
- Laptop or desktop computer with Python installed.
- Python libraries for optimization and data analysis, such as NumPy, pandas, and matplotlib.
- A local street-tree inventory with species, size, and location fields.
- i-Tree Eco output tables or species benefit estimates.
- GIS software or spatial data files for neighborhood mapping.
- Public PM2.5 or ozone data from EPA or local monitoring networks.
- Local runoff or impervious-surface datasets for scenario testing.
Software & Tools
- Python: Runs the NSGA-II optimization model and handles data cleaning, scoring, and plotting.
- pandas: Organizes tree, city, and benefit data into tables you can analyze.
- NumPy: Supports fast math for objective calculations and model arrays.
- matplotlib: Makes Pareto fronts, tradeoff plots, and comparison charts.
- GeoPandas: Helps you compare tree benefits across neighborhoods or map-based zones.
Experiment Steps
- Define the three goals you will optimize, and decide how you will measure each one with public data or i-Tree estimates.
- Build a clean table of candidate trees, planting sites, or neighborhood zones, and record the fields your model needs.
- Decide the decision variables your optimizer can change, such as species choice, site choice, or planting mix.
- Set up the objective functions so each candidate plan gets a score for carbon, stormwater, and pollution removal.
- Run NSGA-II and compare the Pareto front to a simple baseline plan, such as equal-weight ranking or random selection.
- Test sensitivity by changing assumptions, then check whether the best plan stays stable or shifts a lot.
Common Pitfalls
- Using mixed data sources with different units, which makes one objective dominate the others by accident.
- Treating i-Tree estimates as exact values, which hides uncertainty and makes the ranking look cleaner than it is.
- Optimizing only for total benefit, which can produce one strong score and two weak scores instead of a true tradeoff set.
- Choosing too many decision variables at once, which makes the search space hard to interpret and hard to defend.
- Forgetting to compare against a simple baseline, which makes it hard to prove the optimizer adds value.
What Makes This Competitive
A stronger project goes beyond running NSGA-II once. You compare multiple weighting schemes, test whether the Pareto front changes under uncertainty, and explain why certain plans survive those tests. You can also add a spatial angle, such as comparing downtown, residential, and industrial zones. That kind of careful analysis shows you understand both the math and the city problem.
Project Variations
- Compare tree species for one neighborhood using the same three objectives and see which species stays on the Pareto front.
- Add a spatial constraint so the optimizer must place trees only in high-heat or high-runoff zones.
- Replace one objective with biodiversity or maintenance cost, then compare how the tradeoff set changes.
Learn More
- i-Tree Tools from the USDA Forest Service: Search for i-Tree Eco, i-Tree Canopy, and i-Tree Streets to find open tree-benefit tools and documentation.
- USDA Forest Service Urban Forestry Research: Search the USDA Forest Service site for urban tree ecosystem services and species benefit studies.
- EPA Air Quality System (AQS): Find public air-pollution monitoring data for local or regional comparisons.
- NOAA Climate Data Online: Find rainfall and storm data that can help you frame stormwater risk.
- MIT OpenCourseWare, Introduction to Algorithms: Search the course site for optimization and search concepts that support NSGA-II.
Environmental Engineering Category Guide
How to Do Real Environmental Engineering Research at Home: A High School Student’s Guide to Free Tools, Affordable Kits, and Public Databases →For next steps tailored to your interests, skill level, and timeline, work one-on-one with a MehtA+ mentor. Learn more about MehtA+ Science & Engineering Research Mentorship →
To discover more projects, visit the MehtA+ Science Fair Project Discovery Hub →
