Wolfram Library Archive

Courseware Demos MathSource Technical Notes
All Collections Articles Books Conference Proceedings
Title Downloads

Heuristic Optimization with Mathematica

Namrata Khemka
Organization: University of Calgary
Christian J. Jacob
Organization: University of Calgary
Department: Computer Science

2007 Wolfram Technology Conference
Conference location

Champaign, IL


Parameter optimization is an important component of various disciplines (e.g., mathematics, life sciences, kinesiology, economics, engineering, art, and many more) that form an important part of our day-to-day life. It is always beneficial for the society to continually improve on the current available solutions. As a result, a wide range of traditional, mathematical, and nontraditional algorithmic approaches have been introduced to solve challenging real-world problems. Evolutionary algorithms (including genetic algorithms, evolution strategies, genetic programming, and evolutionary programming) representing a category of nontraditional algorithms have drawn inspiration from nature and utilize the principles of evolution. Swarm optimizers represent another set of nontraditional algorithmic approaches inspired by social behaviors of organisms like birds (namely particle optimizers) and ants (ant colony optimization). These evolutionary and swarm-based nontraditional heuristic approaches are now becoming more broadly recognized, and perform remarkably well solving real-world optimization problems.

A course on heuristic optimization can be a beneficial asset to getting desired job in today's competitive job market for a graduating student. This is mainly due to the role of optimization in various industries. Hence, we introduced and developed a new, fourth-year undergraduate course at the University of Calgary on heuristic optimization with Mathematica in the summer of 2007. This course focused on evolution and swarm-based approaches.

The objective of this course was to provide opportunities for self-directed inquiry regarding tools and methodologies that are used for performing optimization tasks across many disciplines. Students were given the opportunity to work on optimization problems related to their disciplines or their particular research. A suite of Mathematica notebooks provided a unified computing environment for all students to explore the advantages and shortcomings of the optimization algorithms discussed in the course. We used Mathematica notebooks from the EVOLVICA Package, which covers evolution-based optimizers along with recently added swarm algorithms. This provided a large experimental and inquiry platform for students to further their knowledge in heuristic optimization.

Students gained extensive knowledge of how and why these techniques worked along with a better understanding of Mathematica as a programming environment, research tool, and platform for application development. The built-in symbolic and visualization capabilities of Mathematica made our teaching a lot easier. The novel concept of interactive computing allowed us to create dynamic interfaces. These new graphical capabilities enabled us to further explore the dynamics of various algorithms. In our presentation, we will share our experiences teaching this heuristic optimization course using Mathematica with the newly created high-quality graphics. Mathematica gave the students the power to generate amazing visualizations as well as to develop new tools for scientific explorations. In our talk, we will highlight the best projects that came out of this course.

*Wolfram Technology

Downloads Download Wolfram CDF Player

HeuristicOptimization.nb (5.3 MB) - Mathematica Notebook [for Mathematica 6.0]