Example of an Optimization Problem

<< Click to Display Table of Contents >>

Navigation:  Chapter 2 - What are Genetic Algorithms >

Example of an Optimization Problem

Previous pageReturn to chapter overviewNext page

Following is a very simple example of an optimization problem (which, by the way, is easily solved by traditional methods).  Suppose you are a tin can manufacturer and you make cans of various heights and radii.  Suppose further that a customer orders a new can to be designed, but instead of giving you the height and radius desired, the customer specifies that the can contain at least 50 cubic inches.  The customer tells you any shape (height and radius) is OK, but that he wants a minimum amount of metal in the can to minimize his cost.  The optimization problem is to minimize the metal in a 50 cubic inch can.  The variables are the height and radius.  The formula you want to minimize is the area formula for cylinders:

 

sq. in. of metal = 2 * (3.14159 * radius^2)+height * (2 * 3.14159 * radius)

 

where height and radius are measured in inches.

 

Math Notes:

The formula (3.14159 * radius^2) is the formula for the area of a circle.  It is doubled to account for measurements of the top and bottom of the can.

 

The formula (3.14159 * 2 * radius) computes the circumference of the circle.  It is multiplied by the height to account for measurements of the side of the can.

 

However, you must keep the volume of the cylinder to at least 50. This is called a "hard constraint".  It may be represented mathematically by the cylinder volume formula:

volume = 3.14159 * radius^2  * height,    or

volume = 3.14159 * radius^2 * height >= 50

 

We obviously do not want any strange cans, so we should limit the height to between 2 and 8 inches, and we should also limit the radius to between 1 and 3 inches.  These minimum/maximum ranges of the variables are also a form of constraint.

 

Figure 2.1 Tin Can

Figure 2.1  Main dialog for Tin Can example

 

Evolution and Genetic Algorithms

Solving Optimization Problems

Implementation Details