Solving the 1D Bin Packing Thesis

Pages: 20 (9676 words)  ·  Bibliography Sources: 8  ·  File: .docx  ·  Level: Master's  ·  Topic: Physics

The NASA antenna was created using "evolutionary computation" programs, so named because they solve problems in a way that mimics biological evolution, natural selection, and "the survival of the fittest" (2009, p. 23). It is also important to point out, though, that the "automatic" aspects of the design process are based on carefully formulated requirements that software engineers must develop based on the specific requirements of the initiative. In the case of the NASA space antenna, the "fitness criteria" for the design specified that the antenna must be able to transmit and receive signals broadcast within certain frequency parameters as well as the antenna's overall size; however, these fitness criteria to not instruct the algorithm as to what types of materials should be used or how they should be configured in the final design (Plotkin, 2009).

Buy full Download Microsoft Word File paper
for $19.77
In line with its Darwinian roots, based on the specified fitness criteria that are developed for a given project, evolutionary algorithms generate an initial random "population" of antenna design permutations using computer modeling techniques (Plotkin, 2009). Evolutionary algorithms then perform simulations of the various design permutations to evaluate their congruence with the specified fitness criteria for the project and select the one that best accomplishes the task, with the best designs being used as the foundation for subsequent generations (Plotkin, 2009). The biological analogies do not end at this point, however. In this regard, Plotkin (2009) adds that evolutionary algorithms marry some designs with others to produce hybrid designs that contain the most desirable attributes of their "parents."

Dissertation or Thesis complete on Solving the 1D Bin Packing Assignment

Furthermore, the evolutionary algorithms also create mutations of previous designs through the introduction of different permutations which are then evaluated against the original fitness criteria, with the best designs once again being selected in an iterative process that may involve hundreds or even thousands of generations of designs (Plotkin, 2009). According to Plotkin, "Designs are tested and refined quickly and inexpensively, potentially without ever having to build a single physical model until the final version is created. If all goes well, the result is one or more antennas that satisfy the human-provided fitness criteria to a high degree" (2009, p. 23). This real-world example of evolutionary computing is part of a larger trend in the use of biologically inspired computing approaches, a trend that includes genetic algorithms which are discussed further below.

Background and Overview of Genetic Algorithms and Their Applications

Like evolutionary computing, it is important to note that the term "genetic algorithm" describes a computational method rather than the analysis of genetics, although the method can certainly be applied to this area of investigation. In this regard, Clark and Mangel note that, "Terms such as genotype and evolution are used in a purely descriptive sense, referring to the computation, not to the underlying biology" (2000, p. 223). The fundamental principles of genetic algorithms can be depicted through the use of a pseudo code as follows:

begin initialize population evaluate initial population while not (stop condition) do begin select organisms select a genetic operator generate new population by applying a genetic operator evaluate newly generated population end

Although all genetic algorithms will be unique in some fashion, the foregoing structure is a common attribute of all such algorithms (Joh et al., 2001). The various permutations of genetic algorithms depend on what types of application domain issues are involved, including the following:

1. The specification of a representation scheme of the possible solutions;

2. The specification of the fitness function;

3. The choice of genetic operators, and,

4. The choice of stop condition (Joh et al., 2001).

Each of the algorithmic generations depends on a single genetic operator and a set of human-provided parameters that are used to direct the flow of the algorithm, which includes the following:

1. The size of a population;

2. The selection probabilities of genetic operators in each generation;

3. The number of organisms to be selected from a population; and,

4. The application probabilities of reproduction and crossover to each selected organism and the mutation probability of each gene of the selected organism (Joh et al., 2001).

Researchers have found that genetic algorithms are especially useful for identifying solutions to optimization problems involving state spaces that exceed the abilities of stochastic dynamic programming approaches (Clark & Mangel, 2000). As an example, Clark and Mangel report that, "If there is a high level of environmental uncertainty and unpredictability such as a pelagic larva might encounter with highly variable oceanic currents, then it is difficult to store all of the environmental states for stochastic dynamic programming" (2000, p. 224). Comparable optimization problems might involve weather predictions that involve potentially billions of permutations of a wide range of environmental variables. Genetic algorithms provide a useful approach to analyzing the evolution of behavior as well as the effect of selection on behavior (Clark & Mangel, 2000). In addition, because genetic algorithms operate at the population level instead of the individual level, they can be designed to include real-world factors such as population densities, frequency dependence and coevolution in their analyses (Clark & Mangel, 2000).

In sum, search algorithms that are based on genetic principles "evolve" over time, continually becoming more efficient in their operation (Sunal, Kerr & Sunal, 2003). As Sunal and his colleagues put it, "[Genetic algorithms] improve over time, working toward optimal solutions. Genetic algorithms learn from experiences, discarding characteristics when they do not facilitate an optimal solution" (2003, p. 72).

Likewise, mutations may be introduced into the search algorithm if these additions appear to provide superior search results, with less efficient algorithms being discarded in an iterative fashion as many times as is necessary to achieve the desired results (Sunal et al., 2003). According to Sunal et al., "Often, genetic algorithms are applied to search spaces comprising all possible solutions to a problem at hand that are too large to be exhaustively searched. The standard genetic algorithm generates an initial population of individuals. Every evolutionary step, or generation, is decoded and evaluated according to some predefined quality criterion -- the fitness function" (2003, p. 73).

Here again, a number of biologically inspired functions are used to develop new populations representing the next generation of the best search algorithm designs following the "survival of the fittest" analogy (Sunal et al., 2003). In this regard, Sunal et al. note that, "The introduction of new individuals into the population occurs through genetically inspired operators, crossover and mutation. Crossover is performed by exchanging parts of the encodings, or genomes, of two individuals to form new individuals. Mutation randomly samples new points in the search space, flipping bits at random with some small probability" (2003, p. 73). The use of genetic algorithms has been extended to a wide range of disciplines in recent years, including ecology, population genetics, and social systems based on their ability to evolve and improve over time as they seek superior solutions and eliminate undesirable features (Joh, Arentze & Timmermans, 2001). To date, genetic algorithms have been shown to be a useful method for identifying optimal solutions for a wide range of scientific and statistical purposes. The applications and overall effect of genetic algorithms is therefore expected to continue to expand into the foreseeable future (Anderson-Cook, 2005).

Chapter 2: Parallel Genetic Algorithms and 1D Bin Packing

Parallel Genetic Algorithms

Development and History of Parallel Genetic Algorithms. As noted in the introductory chapter, genetic algorithms are "genetic" only in a descriptive sense with respect to their evolutionary operation. Computational models that draw their inspiration from the natural processes that are thought to direct evolution have been used to good effect in optimizing complex designs and are termed "evolutionary algorithms." According to Lim, Ong, Jin, Sendhoff and Lee, "In Genetic Algorithms (GA), a subclass of EA, potential solutions are encoded into a simple chromosome-like data structure, and recombination and mutation operators are repeatedly applied to a population of such potential solutions until a certain termination condition is reached" (2006, p. 37). Genetic algorithms have attracted a great deal of interest from software engineers and researchers based on their ability to identify designs that are near the global optimum; thousands or tens of thousands (or more) of operations may be required to identify solutions that are close to the global optimum, though, with the majority of conventional genetic algorithms (Lim et al., 2006).

Despite the increase in computer processing speeds, the complexity of the applications to which these algorithms have been applied have demanded a more elegant and efficient solution. In this regard Lim and his colleagues point out that, "The increasing use of time-consuming high-fidelity analysis codes in science and engineering for studying the effect of altering key design parameters on product performance has further led to even longer and intractable design cycle times" (2006, p. 37). It is possible to achieve superior operations with genetic algorithms, though, by using them in parallel. According to Lim et al., "Fortunately, another well-known strength of genetic algorithms is the ability to partition the population of individuals among multiple computing nodes. Doing… [END OF PREVIEW] . . . READ MORE

Two Ordering Options:

Which Option Should I Choose?
1.  Buy full paper (20 pages)Download Microsoft Word File

Download the perfectly formatted MS Word file!

- or -

2.  Write a NEW paper for me!✍🏻

We'll follow your exact instructions!
Chat with the writer 24/7.

Solving Conflict in the Workplace Term Paper

Solving the Problem of Holiday Traffic Essay

Solves a Teaching Problem Essay

Ward's Cove Packing Company v. Antonio Term Paper

Osama Bin Laden Has Risen to Iconic Term Paper

View 200+ other related papers  >>

How to Cite "Solving the 1D Bin Packing" Thesis in a Bibliography:

APA Style

Solving the 1D Bin Packing.  (2011, April 4).  Retrieved July 11, 2020, from

MLA Format

"Solving the 1D Bin Packing."  4 April 2011.  Web.  11 July 2020. <>.

Chicago Style

"Solving the 1D Bin Packing."  April 4, 2011.  Accessed July 11, 2020.