Over a million developers have joined DZone.
Platinum Partner

The Optimization Problem

· Performance Zone

The Performance Zone is brought to you in partnership with New Relic. Quickly learn how to use Docker and containers in general to create packaged images for easy management, testing, and deployment of software.

There are many different ways to approach optimization, but we've stumbled on one real-life application that may help you organize your thoughts when developing. It's seasonally appropriate, too! Austin Walters writes about the Lawn Mowing optimization problem over on his blog; he posits the question of optimizing for several different factors when mowing lawns – a project a lot of kids take up in the hot summer months for extra cash.

One thing I always tried to do was optimize my mowing, cutting as close as I could to rocks, ensuring the wheels followed a straight line to ensure maximum coverage (and it looked better), etc. Something that always bothered me was that even though many of the lawns were the same size the time to mow each lawn would vary wildly. Now, years later as my girlfriend is mowing my grandfathers lawn, I am wondering if there is an optimal way to mow a lawn and if so how to calculate it. This is the problem I will call The Lawn Mowing Optimization Problem not really imaginative, but to the point. I am curious on how to optimize for energy expenditure, fuel consumption, ease of mow, time, and potentially beauty/uniform lines. It may not be possible to optimize for each of the goals, however most of the goals will overlap and in turn provide a “close enough” solution.

His approach to the problem provides a pretty solid methodology and is also a fun and interesting exercise for taking normal development/logical practices and applying them in a different context. Check out the post over here  and stay tuned on his blog for results!

The Performance Zone is brought to you in partnership with New Relic. Read more about providing a framework that gets you started on the right path to move your IT services to cloud computing, and give you an understanding as to why certain applications should not move to the cloud.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}