AC 2011-1535: AN OPTIMIZATION ROUTINE FOR ASSIGNING STU- DENTS TO CAPSTONE PROJECT GROUPS Peter L Schmidt, University of North Carolina, Charlotte Peter L. Schmidt received his bachelor’s degree in mechanical engineering from the University of Louisville, a master’s degree in mechanical engineering from the Rose-Hulman Institute of Technology and his doc- torate degree in mechanical engineering from Vanderbilt University. He is currently an assistant professor at the University of North Carolina at Charlotte. He has served as a research associate and as an instructor at Vanderbilt University.
He has also worked at the Naval Surface Warfare Center in Crane, Indiana; at Precision Rubber, now part of Parker Hannifin in Lebanon, Tennessee; for CDAI in Atlanta, Georgia and at UTC / Carrier in Lewisburg, Tennessee. Schmidt is a member of the ASEE and a licensed profes- sional engineer in Tennessee and Georgia. He is also a member of ASME, ASHRAE, ASA and INCE. Schmidt’s research interests include aeroacoustics and ultrasonics, and has authored several journal and conference papers on these subjects.
Daniel Hoch, University of North Carolina, Charlotte Nabila A. Bousaba, University of North Carolina, Charlotte Nabila (Nan) BouSaba, University of North Carolina, Charlotte Nabila (Nan) BouSaba is a faculty asso- ciate in the Electrical and Computer Engineering Department at the University of North Carolina in Char- lotte. Nan Earned her BS in Electrical Engineering (1982), and a Master Degree in Electrical Engineering (1986) from North Carolina A&T State University. Prior to her current position at UNC- Charlotte, Nan worked for IBM (15 years) and Solectron (8 years) in the area of test development and management.
She teaches the senior design course for the Electrical and computer sections and Basic Electrical Circuit course. Heybruck, University of North Carolina, Charlotte Bill received is BSEE degree from Merrimack College in North Andover MA, a Masters in Computer Science from Union College in Schenectady NY and more recently his Ph. in EE from UNC Charlotte in 2001. He was with IBM for 32 years when he retired as a Hard Disk Drive Consultant when Hitachi bought his division.
Prior to that, he was a consulting engineer for test technology, a wireless consultant and a Product Development Manager in Printer Development. He worked for Hitachi Global Storage Technology for 5 years as an expert on Micro hard disk drives before coming to UNC Charlotte as Director of the Industrial Solutions Lab. Deborah L Sharer, University of North Carolina, Charlotte Valentina Cecchi, The University of North Carolina at Charlotte Valentina Cecchi is originally from Rome, Italy. She attended Drexel University in Philadelphia, PA, where she completed B.
degrees in Electrical Engineering in 2005, 2007, and 2010, respectively. She joined UNC Charlotte in 2010 as Assistant Professor of Electrical Engineering and researcher in the Energy Production and Infrastructure Center (EPIC). Gary Teng, The University of North Carolina at Charlotte Dr. Gary Teng is Professor and Director of Systems Engineering & Engineering Management Program and Center for Lean Logistics & Engineered Systems at the University of North Carolina at Charlotte.
degrees in Industrial Engineering. Teng is a Professional Engineer in the State of Wisconsin and an ASQ-certified Quality Engineer and Reliability Engineer. His research interests are in engineering system design and analysis, lean systems design & implementation, Lean logistics and transportation systems, supply chain management, healthcare system enhancement, and quality and reliability engineering. Teng has been appointed by North Carolina Governor Bev Perdue to serve on Governor’s Logistics Task Force.
He is also serving as an advisor on the ad hoc Logistics Advisory Group for Charlotte Regional Logistics Network and on the board of Logistics Alliance of the Carolinas. Elizabeth Sharer, Francis Marion University Page 22.1 c American Society for Engineering Education, 2011 Introduction At the beginning of the first semester of the two-semester sequence a list of potential projects are offered to students in a multidisciplinary capstone course at The University of North Carolina at Charlotte via the course website. Each project is accompanied by a description submitted by the sponsoring organization or individual, and has been vetted by the course’s faculty committee before display. These project descriptions include a suggested staffing level for the project, broken-down by major area of study (i., Mechanical, Electrical, Computer, Civil, etc.
Unless specified, there is no distinction between Engineering Sciences and Engineering Technology disciplines. The faculty committee associated with this course has decided that student choice in project assignments is a critical component to project success, and, therefore, enrolled students are granted the opportunity to rank their top three project choices. These student rankings are used, in association with the expertise requirements of the project, to staff projects each semester. In addition, the faculty has implemented a system where a student’s cumulative GPA is used as a weighting factor.
If two students from the same technical discipline rank projects in the same order, the student with the higher GPA would be given preference in obtaining their highest ranked project choice that is still open for staffing. The capstone course features projects that are sponsored internally as well as externally. Externally sponsored projects serve a dual purpose to the program and to the university at large. These projects provide students with the experience of working with established engineers.
They also provide a marketing opportunity for the College of Engineering (COE), as well as the capstone design program. In the last four years, course population has increased from 60 to 265. The solution described herein for the student assignment problem allows projects to be staffed with students using a weighted coefficient for each student/project combination. This course begins with an event where project representatives are present to answer student queries regarding project specifics and expectations.
The course timetable is such that project assignments need to be made quickly, so that an initial planning meeting with student teams, faculty supervisors and project sponsors can take place in week three of the semester. When the entire class size was 30 students, the project staffing process was accomplished by hand. Now that the student population has exceeded 200, this is no longer an option, either from an accuracy or execution time standpoint. The vast majority of departments and programs have all students participate in the COE senior design, with an emphasis on drastic reduction of self- defined and self-funded projects.
This is still a possibility, but all students are required to work on teams and a detailed project proposal must be submitted and before the semester begins. An automated method was desired, and its development and testing is the subject of this work. Implementation of the solution Page 22.2 Since the staffing process represents a multivariate optimization with a large search space (more than 200 students and 70 projects in Fall 2010), a Genetic Algorithm (GA) was chosen as the tool of choice to execute the problem. A GA is a problem solving technique that uses the concepts of evolution and heredity to produce quality solutions to complex problems that typically have enormous search spaces and are therefore difficult to solve.
GAs have proved to be very helpful in solving complex, combinatorial problems. Reference [1] is a survey of various implementations of GAs in solving complex, combinatorial production and operations management problems. A well designed GA allows for the efficient and effective exploration and exploitation of the problem's search space of feasible solutions in an effort to identify the global optimal, or near optimal, solution to difficult problems [2]. A GA creates and manipulates a group of possible solutions referred to as a population.
Each possible solution within the population is called an individual. The population undergoes change throughout the run of the GA thereby evolving the individuals toward a best solution. Within the GA, the population loops through a series of processes a number of times; each executed loop is known as a generation. These processes include an evaluation process, an alteration process, and a selection process.
These processes may occur in various orders; however, each is required at each generation. [2] The evaluation process uses an evaluation function that assesses the relative fitness of each individual of the population at each generation. In addition, at each generation a number of individuals are subjected to some form of change. These alterations are manifested through the use of genetic operators.
Genetic operators can be either mutation operators, which introduce small changes within a single individual, or crossover operators, which cut and paste different parts from two or more individuals together in order to create new individuals called offspring. The probability of an individual experiencing some form of transformation within any given generation is subject to the predefined parameters of the probability of mutation, and/or the probability of crossover. Through this process, some, or all, of the individuals are altered and used to create a new population for the next generation. Finally, the GA uses the evaluated fitness of each individual to promote the survival of the best individuals to the next generation.
This use of selective pressure encourages the population to converge to a quality solution. The GA will run for a predetermined maximum number of generations or until some specified terminating condition is met. [3] Each GA is unique in its design with regard to several important elements. Some of these elements include data structure, genetic operators, method for creating the initial population, constraint handling techniques, evaluation function, selection method, generational policy, parameters, and terminating conditions.
Parameters include population size, maximum number of generations, probability of mutation, and/or the probability of crossover. However, regardless Page 22.3 of the differences, all GAs attempts to evolve the individuals within the population through the use of genetic operators and selective pressures to converge at a suitable solution to complex problems. [3] The inputs for the GA used in this solution are given as: Population Size: The number of individuals in each generation, during the execution of the algorithm. Crossover 1 Probability: The probability that crossover operator #1 will be applied.
If a randomly generated number is less than or equal to the crossover probability value, then crossover #1 will be performed. Crossover 2 Probability: The probability that crossover operator #2 will be applied with the same rules as crossover operator #1. Mutation 1 Probability: The probability that mutation operator #1 will be applied. If a randomly generated number is less than or equal to the mutation 1 probability value, then mutation #1 will be performed.
Mutation 2 Probability: The probability that mutation operator #2 will be applied with the same rules as mutation operator #1. Chance: Applies to crossover #1, crossover #2, mutation #1, and mutation #2 operators. This value sets the number of attempts to perform each operator. Maximum number of generations: This value sets the number of search iterations the algorithm will run.
This is the number of generations a population of individual solutions will evolve. As the algorithm runs, the solutions evolve, thereby randomly sampling the problem’s search space. For our implementation, the individual solution identified with the largest fitness value during the run of the GA is given as the “best” solution. The development of a GA is complex.
Generally, the larger the search space (in this case, the more student/project combinations), the larger the population size and maximum number of generations required in order to adequately examine the problem’s search space. For the student assignment problem a population size of 20 to 40 was theorized as sufficient, along with a maximum number of generations below 200. The data structure employed to solve the student assignment problem is a simple two- dimensional binary array as shown in Figure 1. Each student is assigned to exactly one project; however, each project may have many students.
Each cell in the two-dimensional array represents a unique student/project combination. If a student is assigned to a given project there will be a one entered in that student/project index, otherwise the value will be zero. Basic Data Structure for Individual Solutions. As discussed, each project is assigned a weight based on its priority.