44
CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING A THESIS IN TCC 402 PRESENTED TO THE FACULTY OF THE SCHOOL OF ENGINEERING AND APPLIED SCIENCE UNIVERSITY OF VIRGINIA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE BACHELOR OF SCIENCE IN COMPUTER SCIENCE BY ROBERT MITCHELL PARRY MARCH 24, 2000 On my honor as a University student, on this assignment I have neither given nor received unauthorized aid as defined by the Honor Guidelines for Papers in TCC Courses. ____________________________________________________ Approved _______________________________________Date_________ Dr. James P. Cohoon (Technical Advisor) Approved _______________________________________Date_________ Dr. Rosanne R. Welker (TCC Advisor)

CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Embed Size (px)

Citation preview

Page 1: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING

A THESIS IN TCC 402

PRESENTED TO THE FACULTY OF THE

SCHOOL OF ENGINEERING AND APPLIED SCIENCE UNIVERSITY OF VIRGINIA

IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE

BACHELOR OF SCIENCE IN COMPUTER SCIENCE

BY

ROBERT MITCHELL PARRY

MARCH 24, 2000

On my honor as a University student, on this assignment I have neither given nor received unauthorized aid as defined by the Honor Guidelines for Papers in TCC Courses.

____________________________________________________ Approved _______________________________________Date_________ Dr. James P. Cohoon (Technical Advisor) Approved _______________________________________Date_________ Dr. Rosanne R. Welker (TCC Advisor)

Page 2: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Table of Contents

i

TABLE OF CONTENTS Table of Figures ................................................................................................................. iii

Abstract .............................................................................................................................. iv

Chapter 1: Introduction ....................................................................................................... 1 The Lighting Designer’s Light Plot................................................................................. 1 The Master Electrician’s Circuit Plot .............................................................................. 2 Electrical Connections in Helms Theater ........................................................................ 4 Helms Theater Characteristics and Limitations............................................................... 4 Similarity to VLSI Placement ......................................................................................... 6 Simulated Annealing ....................................................................................................... 6 Following Chapters ......................................................................................................... 7

Chapter 2: Programming Representation............................................................................ 8 Theater Components........................................................................................................ 8

The Instruments............................................................................................................ 8 The Circuit Boxes......................................................................................................... 9 The Circuits ................................................................................................................ 10 The Helms Distance Class.......................................................................................... 10

The Circuiting Optimization Algorithm........................................................................ 12 Computing the Score.................................................................................................. 12 Mutation ..................................................................................................................... 13 Randomization ........................................................................................................... 14

Chapter 3: Results ............................................................................................................. 15 Program Features........................................................................................................... 15

Plot ► New................................................................................................................ 15 Plot ► Open............................................................................................................... 16 Plot ► Edit................................................................................................................. 16 Plot ► Save................................................................................................................ 17 Solution ► Solve ....................................................................................................... 18 Solution ► Save......................................................................................................... 20 Channel View Option................................................................................................. 20

Chapter 4: Testing the Circuiting Algorithm.................................................................... 21 Testing Specifics............................................................................................................ 21 The Testing Algorithm .................................................................................................. 22 Program Usage .............................................................................................................. 22 Test Case 1: “Love’s Fire” ............................................................................................ 23 Test Case 2: “Forever Plaid” ......................................................................................... 25 Test Case 3: “Goodnight Desdemona”.......................................................................... 27

Chapter 5: Conclusions ..................................................................................................... 30 Interpretation ................................................................................................................. 30 Recommendations ......................................................................................................... 32

Page 3: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Table of Contents

ii

Works Cited ...................................................................................................................... 34

Bibliography ..................................................................................................................... 35

Appendix A: Test Data ..................................................................................................... 36

Appendix B: Textual Output............................................................................................. 37

Page 4: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Abstract

iii

TABLE OF FIGURES Figure 1: Lighting Control .................................................................................................. 2 Figure 2: Lighting Designer's Light Plot for "Forever Plaid"............................................. 3 Figure 3: Overhead View of the Circuiting Space.............................................................. 5 Figure 4: Representation of an Instrument.......................................................................... 9 Figure 5: Representation of a Circuit Box .......................................................................... 9 Figure 6: Representation of a Circuit................................................................................ 10 Figure 7: Representation of the Helms Distance Class..................................................... 11 Figure 8: Pseudo-code Description of Simulated Annealing Algorithm.......................... 12 Figure 9: Pseudo-code Description of Computing Score ................................................. 13 Figure 10: Pseudo-code Description of Mutation............................................................. 14 Figure 11: Pseudo-code Description of Randomization ................................................... 14 Figure 12: A New Light Plot ............................................................................................ 15 Figure 13: Light Plot for "Shatter the Vessel" .................................................................. 16 Figure 14: Edit Control Box ............................................................................................. 17 Figure 15: Stages of Optimization for “Shatter the Vessel” ............................................. 19 Figure 16: Sample Textual Output for "Shatter the Vessel"............................................. 20 Figure 17: Test Summary for “Love’s Fire”..................................................................... 24 Figure 18: A 155-foot Circuiting Solution for “Love’s Fire”........................................... 25 Figure 19: Test Summary for “Forever Plaid”.................................................................. 26 Figure 20: The 420-foot Circuiting Solution for “Forever Plaid” .................................... 27 Figure 21: Test Summary for "Goodnight Desdemona"................................................... 28 Figure 22: The 710-foot Solution or "Goodnight Desdemona"........................................ 29

Page 5: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Abstract

iv

ABSTRACT

Helms Theater at the University of Virginia hosts many theatrical performances.

Each show requires a different placement for the lights. When the lights are moved, they

must be reconnected to electrical outlets using an efficient length of cable. The master

electrician circuits each light in the theater to a unique electrical outlet. This process

relies on trial-and-error and lacks time efficiency. This thesis produces a computer

program named CompACT that uses a simulated annealing algorithm to solve the

circuiting problem.

CompACT is a windows-based program that gives the user the necessary

functionality to generate solutions that require less time and cable. The master electrician

spends between 10 and 15 hours generating a manual solution. CompACT produces a

solution in approximately 2 hours. This thesis tested the cabling efficiency of CompACT

against the master electrician’s solution for, “Love’s Fire,” “Forever Plaid,” and

“Goodnight Desdemona” as performed in Helms Theater. CompACT’s shortest solution

for each test used 14, 33, and 22 percent less cable respectively.

Page 6: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 1: Introduction

1

CHAPTER 1: INTRODUCTION

Helms Theater at the University of Virginia hosts many theatrical performances.

Each show requires a different placement for the lights. When the lights are moved, they

must be reconnected to electrical outlets using an efficient length of cable. The master

electrician circuits each light in the theater to a unique electrical outlet. This process

relies on trial-and-error and lacks time efficiency. This thesis produced a computer

program named CompACT (Computer Aided Circuiting for Theaters) that uses lighting

information and a published algorithm to solve the circuiting problem. For each light, the

solution specifies the circuit number, circuit box position, and length of cable necessary

to make the connection. The master electrician can use this information to complete the

circuit plot.

CompACT generates solutions that require less time and cable. The master

electrician spends between 10 and 15 hours generating a manual solution. CompACT

produces a solution in approximately 2 hours. This thesis tested the cabling efficiency of

CompACT against the master electrician’s solution for, “Love’s Fire,” “Forever Plaid,”

and “Goodnight Desdemona” as performed in Helms Theater. CompACT’s shortest

solution for each test used 14, 33, and 22 percent less cable respectively.

THE LIGHTING DESIGNER’S LIGHT PLOT

The lighting designer worries little about the specifics of cabling the lights. The

lighting designer creates a light plot that indicates the type, position, accessories, and

channel number for each light. Figure 1 shows the relationship between an arbitrary

channel number, “4A,” and intensity control. The channel number identifies the logical

Page 7: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 1: Introduction

2

group to which a light belongs. One lever in the booth controls every light with the same

channel number. Dimming channel “4A” means every light in that group is dimmed to

the same level. Once the designer completes the light plot, the master electrician must

find a way to circuit the lights.

THE MASTER ELECTRICIAN’S CIRCUIT PLOT

The master electrician creates a circuit plot that overlays the lighting designer’s

light plot. Figure 2 shows the light plot for “Forever Plaid.” The circuit plot indicates

the circuit number for each light (i.e. the specified connection to the control booth). A

Figure 1: Lighting Control

4A 4A

4A 100%

0%

Page 8: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 1: Introduction

3

special type of cable called a 2-fer allows a lighting technician to connect 2 lights (or

more with multiple 2-fers) to the same outlet in a circuit box. The master electrician

specifies this connection on the circuit plot by drawing a line between the lights that are

connected together.

The master electrician wishes to minimize the length of cable necessary to cable

the lights while adhering to the rules of the theater. Generally, the master electrician

accomplishes this tedious task by trial and error, which can lead to frustration and long

Figure 2: Lighting Designer's Light Plot for "Forever Plaid" Unpublished CAD drawing courtesy of Professor R. Lee Kennedy

Page 9: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 1: Introduction

4

hours. The master electrician for Helms Theater is typically a student with little or no

experience circuiting the theater. First-time master electrician Lucia Gajda reports

spending between 10 and 15 hours creating the circuit plot for “Shatter The Vessel”

performed in the spring of 1999.

ELECTRICAL CONNECTIONS IN HELMS THEATER

The Department of Drama at the University of Virginia presents several plays and

musicals in Helms Theater every semester. Before the opening night of each of these

performances, the lights must be hung in their appropriate place and connected via

electrical cable to large dimming units in the basement of the Drama Building. The

dimmers manipulate the electrical current flow and therefore the intensity of the lights.

Most of the cable is permanently in place. Starting from the basement, a bundle

of cables connect the dimmers to the input of the switchboard in the control booth. From

the output of the switchboard, 108 feeds enter the theater. A circuit number identifies

each feed. The control panel in the booth operates the dimmers in the basement, thereby

giving a technician in the booth control over the intensity of all lights connected to

electrical outlets in the theater.

HELMS THEATER CHARACTERISTICS AND LIMITATIONS

Figure 3 shows the overhead view of the circuiting space above the theater. A

five-by-five grid of circuiting sections physically divides the theater. The circuit boxes

are the small skewed rectangles typically in the upper-left and lower-right corners of the

square sections. Each feed from the control booth connects to two circuit boxes in the

theater. Each circuit box contains four electrical outlets. Notice that each circuit box has

Page 10: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 1: Introduction

5

four circuit numbers associated with its outlets next to it. With one exception, two circuit

boxes belong to each section. The spaces between the sections are catwalks where

technicians can maneuver. As a rule, technicians run cable along the boundaries of these

catwalks.

Along the outside walls of the theater, there are no catwalks. These sections have

an added limitation. Cable cannot be safely run to the outside of these sections.

Therefore, a solution that requires cable to run along the walls of the theater is not valid.

If a technician needs to run cable between two circuiting sections, he must raise the cable

above the catwalks and proceed at a height of approximately 7 feet. The railings are

Figure 3: Overhead View of the Circuiting Space. Unpublished CAD drawing courtesy of Melissa McLearen

Page 11: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 1: Introduction

6

approximately 4 feet high. Therefore, connecting a light to a circuit box in a different

circuiting section incurs a penalty of about 6 feet.

The cables and circuits possess their own limitations. Each circuit in the theater

safely delivers up to 2,400 Watts of power. Therefore, the sum of wattages for all of the

lights connected to a given circuit must not exceed this maximum. In addition, cable is

available only in discrete lengths. Currently, all cables used in Helms Theater are 5, 10,

15, 20, or 50 feet long. Therefore, cabling a shorter distance, such as 8 feet, may still

require the same length of cable, 10 feet.

SIMILARITY TO VLSI PLACEMENT

The circuiting problem in Helms Theater is analogous to the placement problem

of Very Large Scale Integration (VLSI) circuits. Many smaller, interconnected circuits,

called “modules,” compose a VLSI circuit (Wong 101). The placement problem has

prerequisite module connections. The modules are placed so that the total length of

connecting wire is minimal. The theater-circuiting problem has prerequisite light

locations. The connections are chosen so that the total length of connection cable is

minimal.

SIMULATED ANNEALING A simulated annealing algorithm solves the VLSI placement problem (Wong 101).

Simulated annealing is an algorithm that is based on the annealing process for metals

(Kirkpatrick 672). This general algorithm can solve specific problems that meet three

criteria: there must be a way to generate a random solution, randomly modify that

solution, and compute a solution’s score (Kirkpatrick 679). It performs this task by

1. Creating a random solution

Page 12: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 1: Introduction

7

2. Computing the score of the solution 3. Repeating steps a and b until no improvements are found after N number of

iterations (N is proportional to the size of the problem) a. Modifying the solution b. Computing the score of the new solution

i. Keeping the solution if the score is better ii. Keeping the solution P% of the time if the score is worse

iii. Discarding the solution (1-P)% of the time if score is worse (Sherwani 227)

The variable, N, is proportional to the size of the problem. A function of time determines

the variable, P. As time increases, P decreases exponentially.

While simulated annealing does not guarantee an optimal solution, it provides

very good solutions to very complex problems (Kirkpatrick). It is particularly useful in

finding good solutions to problems that cannot be solved in polynomial time. According

to Horowitz et. al., “algorithms whose computing times are greater than polynomial very

quickly require such vast amounts of time to execute that even moderate-size problems

cannot be solved” (495). Problems that are not solvable in polynomial time are termed

“NP-complete.” This project does not prove the circuiting problem at Helms Theater is

NP-complete. Instead, CompACT proves a simulated annealing algorithm can solve the

circuiting problem.

FOLLOWING CHAPTERS The following chapters focus on specific parts of the project. Chapter 2 will

describe the programming representation for theater elements and the optimization

algorithm. Chapter 3 will illustrate the final working program. Chapter 4 will cover the

testing methodology and results. Finally, Chapter 5 will discuss the conclusions and

recommendations for future work.

Page 13: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 2: Programming Representation

8

CHAPTER 2: PROGRAMMING REPRESENTATION

Solving the circuiting problem in Helms Theater using a computer program poses

two main challenges. First, the program must represent the components of the problem.

Second, the program must integrate those components into an optimization algorithm.

The two tasks are interrelated and require concurrent development.

THEATER COMPONENTS Several components in Helms Theater define the circuiting problem. The

instruments (lights) change location and must be reconnected to circuits in the theater.

Circuit boxes contain these circuits. The sum of the distances between the instruments

and their connecting circuit boxes determines the efficacy of the solution. Designing

these components means giving each component attributes and an interface with the

algorithm.

The Instruments A channel number, wattage, and position in the theater identify an instrument.

The lighting designer specifies these characteristics. A circuit box and circuit identify a

specific outlet in the theater. The circuiting algorithm assigns these characteristics to the

instrument. Therefore, the programming representation of an instrument includes x- and

y-position coordinates, a channel number, a circuit box, a circuit, and a power

requirement. Figure 4 summarizes the programming representation of an instrument.

The circuiting algorithm manipulates an instrument either by specifying a new

connection or disconnecting an old one.

Page 14: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 2: Programming Representation

9

The Circuit Boxes A location in the theater and the circuits it contains define a circuit box. The

physical layout of the theater specifies these. Circuit boxes are permanently placed and

labeled with circuit numbers. Figure 5 summarizes the programming representation of a

circuit box. The circuiting algorithm interacts with circuit boxes by connecting and

disconnecting an instrument to and from a given circuit in the circuit box. Additionally,

the algorithm can disconnect all instruments connected to the circuit box or determine if

all circuits are connected.

Figure 4: Representation of an Instrument

Figure 5: Representation of a Circuit Box

float x; // x-coordinate float y; // y-coordinate String Channel; // channel number CircuitBox CB; // circuit box Circuit C; // circuit int Power; // power requirement

Instrument

setConnection(x, y, Channel); disconnect();

Interface

float x; // x-coordinate float y; // y-coordinate Vector Circuits; // Circuits in box

Circuit Box

connectInstrument(int CircuitNumber, Instrument Inst);

disconnectInstrument(int CircuitNumber, Instrument Inst);

disconnectAll(); full();

Interface

Page 15: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 2: Programming Representation

10

The Circuits A circuit number, power limit, and the circuit boxes to which it belongs define a

circuit. The characteristics of the theater predefine the circuit number associated with

each circuit. Because a circuit may belong to more than one circuit box, a vector of

circuit boxes represents them. Figure 6 summarizes the programming representation of a

circuit. The algorithm uses the notConnected, connectedTo, getRandomCB,

getInstruments, and checkPower functions to interact with the circuiting algorithm.

A circuit provides functions for the circuiting algorithm. The circuit can indicate

whether the algorithm has already connected an instrument to it. In addition, a circuit can

signal if an instrument with a given channel number is using it. To facilitate the random

connections the algorithm needs to make, the circuit allows for the random selection of a

circuit box to which the circuit belongs. The circuit can also give a vector of all

instruments connected to this circuit to the algorithm. To maintain safety, the circuit can

determine if it has enough power for an additional instrument.

The Helms Distance Class The Helms Distance class represents the dimensions of the theater, cabling

specifics, and a method for calculating the distance between any two points in the theater.

Figure 6: Representation of a Circuit

Vector CircuitBoxes; // of CircuitBoxes int CircuitNumber; int maxPower; // Power restriction

Circuit

Interface

notConnected(); connectedTo(String Channel); getRandomCB(); getInstruments(); checkPower(int powerNeeded);

Page 16: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 2: Programming Representation

11

Figure 7 summarizes the programming representation of the Helms Distance class. The

data structures indicate the discrete measuring unit, section size, path size, room size,

cable increment, length of theater in number of sections, width of theater in number of

sections, the length of cable already attached to the circuit boxes, and the height at which

cable runs between sections, respectively. The sole function of the Helms Distance class

is to provide the circuiting algorithm with the cabling distance between any two locations

in the theater.

The unit is a length in inches that specifies the precision of coordinates in the

theater. If the unit is 3, then a coordinate of 4 units is equivalent to one foot. Imagine the

two-dimensional theater space divided into a grid of 3-inch by 3-inch squares.

Essentially, the only allowable placement for a circuit box or instrument is on the crosses

in the grid. Limiting possibilities in this way increases the performance of the circuiting

algorithm while decreasing its precision.

The Helms Distance class deals with the cabling limitations of the theater. When

calculating the distance between an instrument and circuit box in the same circuiting

Figure 7: Representation of the Helms Distance Class

int unit; // inches int SectionSize; // 'units' int PathSize; // 'units' int RoomSize; // 'units' int CableIncrement; // 'units' int XDimension; // Sections Across int YDimension; // Sections Down int buffer; // distance for which

// no cable is needed. int height; // distance up to

// carry over walkway.

Helms Distance

Interface GetDist(int X1, int Y1, int X2, int Y2);

Page 17: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 2: Programming Representation

12

section along an outside wall of the theater, the algorithm calculates the distance

differently. Usually, it sums the distance from the instrument to the nearest edge of the

section and the shortest distance around the section to the circuit box. In this case, it uses

a possibly longer distance around the inside boarder of the circuiting section. When the

light and circuit box are in different circuiting sections, it adds 6 vertical feet to the

horizontal distance. After the algorithm computes the distance, it rounds up to the nearest

multiple of 5, satisfying the discrete cable lengths available in the theater.

THE CIRCUITING OPTIMIZATION ALGORITHM A simulated annealing algorithm optimizes the circuiting solution. Reusing a

template written by Professor James P. Cohoon for the general simulated annealing

algorithm, the following functions define the specific circuiting optimization algorithm.

All simulated annealing algorithms need the ability to compute the score, mutate the

solution, and create a random solution. Figure 8 shows a pseudo-code representation of

the simulated annealing algorithm.

Computing the Score The score computing function iterates through all the instruments in the plot and

sums the distances between each instrument and its circuit box. The instrument provides

its x- and y-coordinates, and circuit box. The instrument’s circuit box provides its x- and

Figure 8: Pseudo-code Description of Simulated Annealing Algorithm

Generate random solution Compute the score Try a new solution until finished { Mutate solution Compute new Score Keep new solution/ revert back to old solution }

Page 18: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 2: Programming Representation

13

y-coordinates. If two lights are near each other and have the same channel number, they

may be 2-fered together and connected via a single cable to a distant circuit box. The

defined method for computing the score does not account for the sharing of cables and

computes all distances independently. Figure 9 shows a pseudo-code explanation of the

score computing process.

For a large number of instruments, iterating through each one to compute the

score is inefficient. Because this occurs frequently, the algorithm applies a common trick

to maintain the score. Given that the algorithm stores the current score and each change

in the solution involves only one instrument, the algorithm updates the score by

subtracting the distance of the old connection and adding the distance of the new

connection.

Mutation The circuiting algorithm modifies an existing solution by first randomly selecting

an instrument, I; circuit, C; and circuit box, CB. If I requires a wattage C can supply, the

algorithm determines if it has already connected an instrument to C. If it has not, the

algorithm connects I. If it has, the algorithm checks the channel number of the

instrument connected to the circuit to that of I. If the channel numbers are the same, the

algorithm connects I to C at CB. Otherwise, it selects another circuit and circuit box and

tries again. The mutation function handles the power limitations of Helms Theater. The

function does not make a connection if the circuit does not have enough power. Figure

Figure 9: Pseudo-code Description of Computing Score

For every instrument, I, and its circuit box CB calculate { score = score + GetDist(x-coordinate of I, y-coordinate of I,

x-coordinate of CB, y-coordinate of CB); }

Page 19: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 2: Programming Representation

14

10 summarizes the mutation function. The possibility exists that no modifications are

possible. In this case the mutation function eventually stops trying to mutate and reports

back to the circuiting algorithm. If this happens the algorithm stops optimizing the

solution.

Randomization Randomizing is almost identical to mutating. The randomize function iterates

through every instrument and specifies a connection following the same protocol as the

mutate function. Figure 11 illustrates the similarity.

Figure 10: Pseudo-code Description of Mutation

Figure 11: Pseudo-code Description of Randomization

Instrument I = Random Instrument; Keep trying until successful { Circuit C = Random Circuit Circuit Box CB = Random Circuit Box Containing C If C has enough power { If C is not used Connect I to C at CB Otherwise, if C is used by an instrument with the same channel number as I AND C has enough power,

Connect I to C at CB Otherwise, Try Again } }

For every instrument in the theater do { Keep trying until successful { Circuit C = Random Circuit Circuit Box CB = Random Circuit Box Containing C If C has enough power { If C is not used AND C has enough power Connect I to C at CB Otherwise, if C is used by instrument with same channel number as I AND C has enough power,

Connect I to C at CB Otherwise, Try Again } } }

Page 20: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 3: Results

15

CHAPTER 3: RESULTS CompACT solves the circuiting problem for a master electrician working in

Helms Theater. CompACT provides textual and graphical output that facilitates the

circuiting of a light plot. The program provides functionality through menu and dialog

commands familiar to users of windows applications. The following sections describe

the features of the program and its output.

PROGRAM FEATURES Program execution produces a fresh window for plot manipulation. The user may

choose to create a new plot, open a previously saved light plot, save a light plot, compute

a circuiting solution for the current light plot, save a current circuiting solution, or toggle

optional settings.

Plot ► New The new command produces a fresh light plot for Helms Theater with no lights.

The circuiting sections and circuit boxes appear. Figure 12 shows a new light plot. The

orange rectangles are circuit boxes.

Figure 12: A New Light Plot

Page 21: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 3: Results

16

Plot ► Open The open command presents an open dialog box common to most windows

applications. The user browses for the correct file to open. Then, CompACT uses the

information in the file to load the light plot. Lights and their channel numbers appear on

the plot. Figure 13 shows a newly loaded light plot for “Shatter the Vessel” performed in

the spring of 1999. Each blue light has its channel number written near its bottom left

corner.

Plot ► Edit The edit command allows the user to Add, Remove, or Modify lights on a plot.

Figure 14 shows the edit control box. Entering the channel number, section, and location

of the light and pressing Add, inserts a new light in the plot. In this case, the added light

would have channel number 25A, section 1B, require 750 watts, and be located 1.5 feet

to the right and 6.5 feet above the lower left corner of the circuiting section.

Figure 13: Light Plot for "Shatter the Vessel"

Page 22: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 3: Results

17

Clicking the left or right arrow steps through all the existing lights. The current

light’s information appears in the edit boxes. Pressing Remove deletes the current light

from the plot. Adjusting the values in the edit boxes then pressing Modify, updates the

current instrument with the new values. Changes are made to the light plot

instantaneously. However, they will not be seen on the graphical light plot until the user

presses Done.

The edit window allows the user to take a shortcut in finding the appropriate light.

If the user is looking for a light with a given channel number she may type it in the box

containing “CH” in the figure. Then, pressing the left or right arrow only steps through

lights with the specified channel number.

Plot ► Save The save plot command opens a dialog box common to most windows

applications. The user names the file and browses to the desired saving location on disk.

CompACT appends “.plt” to the file name. The file preserves all light information so

that the user can return to the plot at a later time.

Figure 14: Edit Control Box

Page 23: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 3: Results

18

Solution ► Solve The solve command engages the circuiting algorithm. The algorithm uses the plot

information currently on the screen to find a circuiting solution. The solutions get better

as the algorithm progresses. CompACT periodically updates the screen to show the best

solution so far.

Figure 15 shows 16 stages during the optimization process starting with the

randomly generated first stage and ending with CompACT’s final solution. The color-

coded table on the right of each solution indicates the quantity of each connection length.

Because the theater does not have 25- or 30-foot cables, shorter cables must combine to

make these connections. The colors map to the connecting lines on the plot.

Page 24: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 3: Results

19

Figure 15: Stages of Optimization for “Shatter the Vessel”

Page 25: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 3: Results

20

Solution ► Save The save solution command opens a dialog box that allows the user to name the

file and browse to the desired saving location on disk. CompACT appends “.sol” to the

file name. The user can then open the solution file in a text editor and print the

connection specifics to help physically circuit the theater. Figure 16 shows the first five

connections in the 525-foot solution to “Shatter the Vessel” from Figure 15. The first

number in the file is the total length of cable for the solution. The listing represents every

connection with a row of values. These values are the light’s channel number, row,

column, relative x-coordinate, relative y-coordinate; the connection’s circuit number; the

circuit box’s row, column, relative x-coordinate, and relative y-coordinate; and the length

of the connecting cable. The distances are relative to the lower left corner of the given

circuiting section. CompACT rounds distances to the nearest foot.

Channel View Option The channel numbers for lights on a congested light plot often overlap and are

hard to see. CompACT allows the user to choose between viewing the lights with or

without their channel numbers.

Figure 16: Sample Textual Output for "Shatter the Vessel"

525.0 Instrument CircuitBox Length Chn# Row Col X Y Cir# Row Col X Y 32E 3 E 6 4 29 4 E 0 8 20 24A 3 D 8 5 30 4 E 0 8 15 23C 3 D 8 4 32 4 E 0 8 15 8 4 D 7 4 33 4 D 8 0 5 42A 4 D 7 0 34 4 D 8 0 0

Page 26: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 4: Testing the Circuiting Algorithm

21

CHAPTER 4: TESTING THE CIRCUITING ALGORITHM This thesis tested the computer program CompACT with three documented circuit

plots for Helms Theater. These plots represent the lighting placement and circuit

connections for performances of “Goodnight Desdemona (Good Morning Juliet)” in

October 1994, “Forever Plaid” in July 1995, and “Love’s Fire” in March 2000. The

paper work for each play indicates the placement, channel number, and circuit number

for each light. This thesis used a testing algorithm to compare the relative worth of the

master electrician’s circuiting solution to that of CompACT. A different master

electrician was responsible for circuiting the three different plots. The following sections

highlight the evaluation specifics, testing algorithm, and test cases found in Appendix A.

This thesis ran all tests on an Intel Pentium II-350 running Windows 98.

TESTING SPECIFICS

This thesis obtained the testing information for “Love’s Fire” from the circuit plot

and “Forever Plaid” and “Goodnight Desdemona” from the light plot and channel hookup

sheet. A circuit plot uniquely specifies channel and circuit numbers for all lights.

However, the light plot and hookup sheet exhibit redundancy. The light plot provides

position and channel number for each light. The hookup sheet provides the channel and

circuit numbers for each light. Ideally the hookup sheet matches the light plot. However,

some lights that appear on the light plot are not listed on the hookup sheet and some

lights listed on the hookup sheet are not shown on the light plot. In addition, some

channel numbers on the light plot do not agree with channel numbers on the hookup

Page 27: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 4: Testing the Circuiting Algorithm

22

sheet. Both the light plots and hookup sheets are dated. This thesis resolved

inconsistencies by giving precedence to the more recent paperwork.

When a light listed on the channel hookup sheet is not shown on the light plot,

this thesis positioned the light closer to both circuit boxes that contain its circuit than any

other circuit boxes. Therefore, CompACT’s choice of circuit for this light can be no

better than that of the master electrician.

THE TESTING ALGORITHM

The testing algorithm evaluates the master electrician’s circuiting solution in

order to compare it to CompACT’s generated solutions. The algorithm uses the position,

channel number, and circuit number for each light on the circuit plot to determine the

total amount of cable necessary to circuit the manual solution. Since the algorithm uses

the same distance function as CompACT, the cabling distances for each are directly

comparable.

The master electrician’s circuit plot does not uniquely define each light-to-circuit

connection. The plot indicates the circuit to which each light connects. However, two

different circuit boxes contain the same circuits. The testing algorithm must choose

between two potentially correct distances. In order to represent the best scenario for the

master electricians in this study, the testing algorithm always chooses the shortest

distance.

PROGRAM USAGE Using the edit control box to input an entire light plot requires a sizeable amount

of time. This thesis used the edit control box to create the three light plots detailed in the

following sections. Entering the plots for “Love’s Fire,” “Forever Plaid,” and

Page 28: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 4: Testing the Circuiting Algorithm

23

“Goodnight Desdemona” required approximately 45, 75, and 120 minutes respectively.

This averages to about 70 seconds per light.

TEST CASE 1: “LOVE’S FIRE”

This thesis acquired the paperwork for the Drama Department’s production of

Love’s Fire before opening night. The light plot at this stage is by definition not final.

However, the circuit plot does represent the master electrician’s best effort to circuit the

lights given the current light plot as provided by the lighting designer.

The light plot for “Love’s Fire” contains 39 lights. CompACT produces a

solution in about 8 seconds. Figure 17 summarizes CompACT’s effort at solving the

circuiting problem for this performance. The first trial on the graph represents the master

electrician’s solution of 180 feet achieved without the use of CompACT. Given the light

plot for “Love’s Fire,” CompACT generated 15 circuiting solutions. Trials 2 through 16

represent these solutions. The shortest, median, and longest scores were 155, 160, and

180 feet of cable respectively. No solutions required 2-fers.

Page 29: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 4: Testing the Circuiting Algorithm

24

Figure 18 shows CompACT’s graphical output for the best solution. Appendix B

contains CompACT’s textual output for this solution.

Figure 17: Test Summary for “Love’s Fire”

Love's Fire Cable Distribution

0

50

100

150

2001 3 5 7 9 11 13 15

Trial Number

Cab

le L

engt

h20-footCables

15-footCables

10-footCables

5-footCables

Page 30: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 4: Testing the Circuiting Algorithm

25

Zx x

TEST CASE 2: “FOREVER PLAID” Professor R. Lee Kennedy provided the light plot and channel hookup sheet for

“Forever Plaid.” The light plot and channel hookup sheet is dated July 6, and July 18,

1995 respectively. Therefore, this thesis gives precedence to the hookup sheet.

The light plot for “Forever Plaid” contains 71 lights. CompACT produces a

solution in about 15 seconds. Figure 19 summarizes CompACT’s trial solutions for this

show. The first trial in the graph represents the master electrician’s circuit plot that uses

630 feet of cable. Given the light plot from “Forever Plaid,” CompACT generated 15

circuiting solutions. Trials 2 through 16 represent these trials solutions. The shortest,

Figure 18: A 155-foot Circuiting Solution for “Love’s Fire”

Page 31: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 4: Testing the Circuiting Algorithm

26

median, and longest scores were 420, 480, 530 feet of cable respectively. The number at

the top of each bar indicates that solution’s number of 2-fers.

Figure 20 shows CompACT’s graphical output for the best solution. Appendix B

contains CompACT’s textual output for this solution.

Figure 19: Test Summary for “Forever Plaid”

Forever Plaid Cable Distribution

0

100

200

300400

500

600

700

1 4 7 10 13 16Trial Number

Leng

th o

f Cab

le45-footConnects

30-footConnects

25-footConnects

20-footCables

15-footCables

10-footCables

5-footCables

14

11 11 11 11 16 11 8 131312

1113

9 10 11

Page 32: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 4: Testing the Circuiting Algorithm

27

TEST CASE 3: “GOODNIGHT DESDEMONA”

Professor R. Lee Kennedy provided the light plot and channel hookup sheet for

“Goodnight Desdemona.” The light plot and channel hookup sheet is dated October 19,

and October 31, 1994 respectively. Therefore, this thesis gives precedence to the hookup

sheet.

The light plot for “Goodnight Desdemona” contains 95 lights. CompACT

produces a solution in about 20 seconds. The master electrician’s circuit plot uses a total

of 805 feet of cable. Given the light plot for “Goodnight Desdemona,” CompACT

generated 15 circuiting solutions. Figure 21 summarizes CompACT’s solutions for

“Goodnight Desdemona.” Trial 1 represents the master electricians manual solution.

Figure 20: The 420-foot Circuiting Solution for “Forever Plaid”

Page 33: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 4: Testing the Circuiting Algorithm

28

Trials 2 through 16 represent CompACT’s trial solutions. The shortest, median, and

longest scores were 710, 780, and 870 respectively. The number at the top of each bar

indicates that solution’s number of 2-fers.

Figure 22 shows CompACT’s graphical output for the best solution. Appendix B

contains CompACT’s textual output or this solution.

Figure 21: Test Summary for "Goodnight Desdemona"

Goodnight Desdemona Cable Distribution

0

200

400

600

800

1000

1 4 7 10 13 16Trial Number

Leng

th o

f Cab

le

30-footConnects

25-footConnects

20-footCables

15-footCables

10-footCables

5-footCables

35 24 23

18 20 2023

19

2123 21 23 22 23 24 23

Page 34: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 4: Testing the Circuiting Algorithm

29

Figure 22: The 710-foot Solution or "Goodnight Desdemona"

Page 35: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 5: Conclusions

30

CHAPTER 5: CONCLUSIONS This thesis developed the computer program CompACT to solve the circuiting

problem in Helms Theater with a simulated annealing algorithm. Using CompACT, a

master electrician may create or modify a light plot and generate feasible circuiting

solutions. Entering the plot information takes far more time than the generation of a

solution. For two of the three test plots, “Love’s Fire” and “Forever Plaid,” all of

CompACT’s solutions required no more cable than the master electrician’s solution. For

the third test plot, “Goodnight Desdemona,” CompACT generated a median solution

shorter than the master electrician’s. The shortest solution for each test plot used 14, 33,

and 12 percent less cable respectively. For all of CompACT’s solutions only one used

more 2-fers than the master electrician’s.

INTERPRETATION

CompACT provides all necessary functionality for a master electrician. In one

sitting she can enter a light plot and generate several feasible solutions. CompACT

solves a circuiting problem in seconds compared to the 10-15 hours Miss Gajda reports.

Using CompACT saves all the time otherwise spent circuiting a light plot. However,

CompACT introduces a new task: entering the plot information. This process, though

tedious, is quicker and easier than circuiting the theater by hand. A master electrician

must verify power constraints are met, that only lights with common channel numbers

share circuits, and try to manage the problem’s complexity. CompACT can keep track of

that information and produce as many solutions as the master electrician desires.

Page 36: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 5: Conclusions

31

Not only does CompACT save the master electrician time, it can produce better

solutions. Over the three test cases, 82 percent of CompACT’s solutions required less

cable than the master electrician’s. In addition, 60 percent of CompACT’s solutions

provided a decrease in cable length of 10 percent or more. These statistics coincide with

the master electrician almost always using more 2-fers. If the distance algorithm

accurately determined the distance for lights that share a cable, the manually derived

solutions may improve relative to CompACT’s. However, not all connections that use 2-

fers save cable, for instance when the lights are on opposite sides of the connecting

circuit box. In addition, different combinations of cable and 2-fers can connect the same

lights to the same outlet. The simplest way to deal with this complexity is to consider the

worst case. This thesis treats all 2-fered connections as if the lights were independently

connected to the same outlet.

This project used appropriate programming representations for the theater

elements. Each part worked together to create a model of a light plot and circuit plot

solution. The HelmsDist class and various input files encapsulated all information

specific to Helms Theater. The class is modifiable if conditions in the theater change.

However, this is not to imply that applying CompACT to a different theater would be as

easy as redefining distance variables. The two dimensional layout of the circuiting space

and the regularity of circuit box placement in Helms Theater lent itself to simple distance

calculation. Other theaters have fewer restrictions. For instance, the lights in Culbreth

Theater hang from horizontal pipes that suspend from the ceiling. Technicians raise and

lower these pipes at the director’s discretion. Some pipes have circuit boxes on them;

some do not. Lights that hang on a pipe without an electrical outlet must either connect

Page 37: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 5: Conclusions

32

to an outlet on a nearby pipe, a hanging circuit box, or the floor. In this case, all distance

calculations require three coordinates. In addition, the master electrician can move some

of the circuit boxes. Clearly this is a more complicated problem. CompACT can adapt to

the added height coordinate, however the transition will not be simple.

Another application of this project is for the calculation of an ideal cable

inventory. Through routine usage, a researcher could maintain a spreadsheet of quantities

of each cable length necessary to circuit numerous plots in Helms Theater. Statistical

analysis techniques may aid in the maintenance of appropriate quantities of cable.

RECOMMENDATIONS

One criticism of CompACT is that it does not allow the user to set connections. If

a light plot changes after the technicians complete the physical connections in the theater,

CompACT can no longer assist the master electrician. It would be helpful to set the

connections of all but the modified lights and then let CompACT work at circuiting the

remaining lights. The implementation of this feature is left for future work.

Because CompACT generates a different solution every time, the user will likely

run the solver several times. One appropriate feature might be to run the solver a number

of times and display the best solution found. Alternatively, the solver could keep running

until it reaches a solution better than a user-defined score.

As mentioned before, entering the plot information is tedious and time

consuming. One potential solution is to add a graphically based plot editor. Perhaps a

window could zoom in on a circuiting section and the user could point and click to place

a light. Another more elegant solution would be to extract light information from the

Page 38: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Chapter 5: Conclusions

33

CAD tool used to create the light plot. The latter solution could eliminate the need to

manually enter any data.

Page 39: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Works Cited

34

WORKS CITED Horowitz, Ellis, Sartaj Sahni, Sanguthevar Rajasekaran. Computer Algorithms. New

York: Computer Science Press, 1998. Kirkpatrick, S., C. D. Gelatt, Jr., M. P. Vecchi. “Optimization by Simulated Annealing.”

Science 13 May 1983: 671-680. Sherwani, Naveed. Algorithms for VLSI Physical Design Automation. Boston: Kluwer

Academic Publishers, 1999. Wong, D. F., and C. L. Liu. “A New Algorithm for Floorplan Design.” Proceedings of

the 23rd ACM/IEEE Conference on Design Automation, 1986. New York: Institute of Electrical and Electronics Engineers, 1986. 101-107.

Page 40: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Bibliography

35

BIBLIOGRAPHY Esbensen, H. “A Genetic Algorithm for Macro Cell Placement.” Proceedings of The

Conference on European Design Automation, 1992. New York: Institute of Electrical and Electronics Engineers, 1992.52-57.

Gillette, J. Michael. Designing With Light. Mountain View, CA: Mayfield Publishing

Company, 1998. Horowitz, Ellis, Sartaj Sahni, Sanguthevar Rajasekaran. Computer Algorithms. New

York: Computer Science Press, 1998.

Kirkpatrick, S., C. D. Gelatt, Jr., M. P. Vecchi. “Optimization by Simulated Annealing.” Science 13 May 1983: 671-680.

Leinecker, Rick. SAMS Teach Yourself Visual J++ 6 in 21 Days. Indianapolis:

Macmillan, 1998.

Quinn, N. R., and M. A. Breuer. “A Forced Directed Component Placement Procedure for Printed Circuit Boards.” IEEE Transactions on Circuits and Systems. (1979): 377-388.

Sherwani, Naveed. Algorithms for VLSI Physical Design Automation. Boston: Kluwer

Academic Publishers, 1999. Vecchi, M. P., and S. Kirkpatrick. “Global Wiring by simulated annealing.” IEEE

Transactions on Computer Aided Design 2 (1983): 215-222. Vidal, René V. V. Applied Simulated Annealing. New York: Springer-Verlag, 1993. Wong, D. F., and C. L. Liu. “A New Algorithm for Floorplan Design.” Proceedings of

the 23rd ACM/IEEE Conference on Design Automation, 1986. New York: Institute of Electrical and Electronics Engineers, 1986. 101-107.

Page 41: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Appendix A: Test Data

36

APPENDIX A: TEST DATA LOVE’S FIRE

Love's Fire Actual CompACT Results Total Cable Length 180 155 160 155 160 160 165 165 165 160 180 180 155 155 155 160No Cable Required 12 12 12 12 12 11 11 11 11 11 11 10 12 12 12 12

5-foot Cables 21 23 22 23 23 25 24 25 25 25 21 25 24 23 24 22 10-foot Cables 4 4 5 4 3 2 3 1 1 2 6 1 2 4 2 5 15-foot Cables 1 0 0 0 1 1 1 2 2 1 1 3 1 0 1 0 20-foot Cables 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Cables > 20 feet 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2-Fers 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

FOREVER PLAID

Forever Plaid Actual CompACT Results Total Cable Length 630 460 455 510 480 455 485 490 465 480 420 480 435 530 510 490No Cable Required 27 26 29 25 22 27 26 26 28 27 28 24 28 23 25 25

5-foot Cables 16 17 18 17 23 19 16 16 17 16 20 19 18 17 16 17 10-foot Cables 3 11 6 8 8 8 9 11 7 9 8 11 10 10 9 11 15-foot Cables 10 15 11 16 15 13 17 12 15 14 12 13 12 15 16 13 20-foot Cables 7 2 7 4 3 3 3 6 3 5 3 4 2 6 5 5 25-foot Cables 5 0 0 1 0 1 0 0 1 0 0 0 1 0 0 0 30-foot Cables 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45-foot Cables 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2-Fers 14 11 11 11 11 16 13 11 8 13 12 11 13 9 10 11 GOODNIGHT DESDEMONA

Goodnight Desdemona Actual CompACT Results Total Cable Length 805 750 730 845 725 780 800 850 710 870 805 735 780 730 805 825No Cable Required 18 15 16 14 14 16 13 15 18 11 14 18 15 18 15 17

5-foot Cables 44 42 40 37 42 39 40 30 41 33 34 39 37 37 34 34 10-foot Cables 8 14 17 13 16 14 13 17 14 17 18 14 17 16 17 12 15-foot Cables 9 18 16 21 21 18 22 26 16 29 25 17 19 19 24 21 20-foot Cables 9 4 6 7 2 5 7 7 5 5 4 6 7 5 4 11 25-foot Cables 4 2 0 3 0 3 0 0 1 0 0 1 0 0 1 0 30-foot Cables 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Cables > 30 feet 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2-Fers 35 24 23 18 20 20 23 23 19 21 21 23 22 23 23 24

Page 42: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Appendix B: Textual Output

37

APPENDIX B: TEXTUAL OUTPUT 525-FOOT SOLUTION FOR “SHATTER THE VESSEL” 525.0 Instrument CircuitBox Length Chn# Row Col X Y Cir# Row Col X Y 32E 3 E 6 4 29 4 E 0 8 20

24A 3 D 8 5 30 4 E 0 8 15 23C 3 D 8 4 32 4 E 0 8 15 8 4 D 7 4 33 4 D 8 0 5 42A 4 D 7 0 34 4 D 8 0 0 33D 3 D 0 5 36 4 D 0 8 15 23B 3 C 0 5 37 4 C 0 8 15 7 4 C 7 4 38 4 C 8 0 5 42B 3 C 1 0 39 4 C 0 8 10 6 4 C 2 4 40 4 C 0 8 5 5 4 B 2 4 41 4 B 0 8 5 42A 4 B 1 0 42 4 B 0 8 5 23D 4 B 7 4 43 4 B 8 0 5 23E 4 B 7 0 44 4 B 8 0 0 4 3 A 4 0 45 4 A 8 0 20 23A 3 B 0 5 47 4 A 3 8 20 24B 3 E 6 5 49 3 E 0 8 10 35C 3 E 2 6 50 3 E 0 8 0 34D 3 E 6 2 51 3 E 6 0 0 9 3 E 5 0 52 3 E 6 0 0 42D 3 D 1 0 53 3 D 8 0 5 15B 3 D 4 6 54 3 D 0 8 5 8 3 D 4 0 55 3 D 8 0 0 12A 3 D 3 6 56 3 D 0 8 0 12A 2 D 2 5 56 3 D 0 8 15 7 3 C 4 0 57 3 C 8 0 5 6 3 C 5 0 58 3 C 8 0 0 29C 3 C 7 0 59 3 C 8 0 0 14 3 C 5 6 60 3 C 0 8 5 24C 3 B 8 1 61 3 B 8 0 0 5 3 B 4 0 62 3 B 8 0 0 10A 3 B 4 6 63 3 B 0 8 5 35A 3 B 0 6 64 3 B 0 8 0 10C 3 A 5 6 65 3 A 2 8 5 33C 3 A 7 1 66 3 A 8 0 0 42C 3 A 3 6 67 3 A 2 8 0 13C 3 A 7 6 68 3 A 2 8 5 31C 2 D 8 1 69 2 E 0 8 15 35E 2 E 2 1 70 2 E 0 8 5 41B 2 D 8 5 71 2 E 0 8 10 26A 2 E 0 4 72 2 E 0 8 0 15B 2 D 2 3 73 2 D 0 8 5 34B 2 D 3 6 74 2 D 0 8 5 26A 2 D 4 8 75 2 D 0 8 0 23C 2 D 8 2 76 2 D 8 0 0 24D 2 C 8 1 77 2 C 8 0 0 14 2 C 4 6 78 2 C 0 8 5 27A 2 C 6 8 79 2 C 0 8 5 11 3 C 3 6 80 2 C 8 0 15 11 2 C 3 6 80 2 C 0 8 5 35B 2 B 3 6 81 2 B 0 8 0 29B 2 B 0 2 82 2 B 0 8 5 10B 2 B 7 3 83 2 B 8 0 5 32C 2 C 4 1 84 2 B 8 0 15 32C 2 B 4 1 84 2 B 8 0 5 33B 2 B 6 6 85 2 A 3 8 20 13A 3 B 5 6 86 2 A 8 0 20 26A 2 A 6 8 87 2 A 3 8 0 34C 2 A 7 2 88 2 A 8 0 0

31D 2 D 5 6 92 1 E 0 5 20 30B 1 D 8 5 93 1 D 8 0 5 28B 1 D 8 7 94 1 D 8 0 5 29A 1 D 8 1 95 1 D 8 0 0 30C 2 C 5 8 96 1 D 0 5 20 42E 2 C 5 0 97 1 C 8 0 20 35D 1 C 5 1 98 1 C 8 0 5 32D 1 C 4 1 99 1 C 8 0 5 28A 1 C 8 7 100 1 C 8 0 5 36A 2 B 4 8 101 1 B 8 0 15 25A 1 B 7 6 102 1 B 0 5 10 25A 1 B 2 6 102 1 B 0 5 0 13B 2 B 7 4 103 1 B 8 0 15 30A 2 C 7 5 104 1 B 8 0 20 41B 2 B 0 6 107 1 A 8 5 20 155-FOOT SOLUTION FOR “LOVE’S FIRE” 155.0 Instrument CircuitBox Length Chn# Row Col X Y Cir# Row Col X Y 14 4 E 4 2 9 4 E 1 0 5 23 5 D 8 3 13 5 D 8 2 0 19 3 C 5 1 33 4 D 0 8 15 27 4 D 8 2 34 4 D 8 0 0 7 4 D 2 0 36 4 D 8 0 5 12 4 C 3 0 37 4 C 8 0 5 20 3 C 3 0 38 4 C 0 8 10 2 4 C 8 6 39 4 C 8 0 5 15 4 C 0 3 40 4 C 0 8 5 28 4 B 0 1 42 4 B 8 0 5 31 4 B 0 2 43 4 B 0 8 5 21 4 B 6 6 44 4 B 0 8 5 10 4 A 3 4 45 4 A 3 8 10 24 4 A 4 0 48 4 A 8 0 0 21 3 D 1 1 53 3 D 0 8 5 15 3 D 5 8 54 3 D 0 8 5 9 3 D 2 6 55 3 D 0 8 0 6 3 D 3 0 56 3 D 8 0 5 16 3 C 2 6 57 3 C 0 8 0 17 3 C 6 6 58 3 C 0 8 5 11 3 C 7 8 59 3 C 8 0 5 18 3 C 1 1 60 3 C 0 8 5 12 3 B 0 6 61 3 B 0 8 0 3 3 B 0 2 62 3 B 0 8 5 9 3 B 4 1 63 3 B 8 0 5 5 3 B 6 0 64 3 B 8 0 0 4 2 E 3 4 70 2 E 0 8 5 30 2 D 8 7 73 2 D 0 8 5 22 2 D 1 1 76 2 D 0 8 5 3 2 C 8 5 77 2 C 8 0 5 6 2 C 7 8 78 2 C 0 8 5 32 2 C 8 4 79 2 C 8 0 0 13 2 C 2 2 80 2 C 0 8 5 29 2 B 0 5 81 2 B 0 8 0 8 2 B 5 8 83 2 B 0 8 5 22 2 B 7 3 84 2 B 8 0 5 25 2 A 3 8 85 2 A 3 8 0 26 1 D 8 2 93 1 D 8 0 0 1 1 B 0 4 101 1 B 0 5 0

Page 43: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Appendix B: Textual Output

38

420-FOOT SOLUTION FOR “FOREVER PLAID” 420.0

Instrument CircuitBox Length Chn# Row Col X Y Cir# Row Col X Y 23 5 E 5 6 9 5 E 0 1 10 23 5 E 4 5 10 5 E 0 1 10 23 5 E 3 4 11 5 E 0 1 5 36 5 C 4 4 20 5 C 0 8 5 35A 4 D 4 0 33 4 D 8 0 0 35A 4 D 8 4 33 4 D 8 0 0 5 3 C 7 0 34 4 D 0 8 10 1 4 D 7 0 36 4 D 8 0 0 1 4 C 4 0 37 4 C 8 0 0 11 3 B 5 6 38 4 C 0 8 20 32 3 B 8 1 39 4 C 0 8 10 30 4 B 7 6 41 4 B 8 0 5 10 3 B 0 1 42 4 B 0 8 10 4 4 B 5 6 43 4 B 0 8 5 36 4 B 4 4 44 4 B 0 8 5 37 3 D 4 4 53 3 D 0 8 5 33 2 C 7 0 54 3 D 0 8 10 1 3 D 8 4 55 3 D 8 0 0 9 2 C 3 3 56 3 D 0 8 20 2 3 C 3 5 57 3 C 0 8 5 28 3 C 6 0 58 3 C 8 0 0 31 3 C 8 1 59 3 C 8 0 0 20 3 C 2 6 60 3 C 0 8 0 20 3 B 4 6 61 3 B 0 8 5 18 3 B 0 6 62 3 B 0 8 0 18 3 B 0 5 62 3 B 0 8 0 18 2 B 3 6 62 3 B 0 8 15 13 3 B 0 4 63 3 B 0 8 0 28 3 B 7 0 64 3 B 8 0 0 9 3 A 6 0 65 3 A 8 0 0 20 3 A 7 6 66 3 A 2 8 5 8 3 A 2 2 67 3 A 2 8 5 7 3 A 4 0 68 3 A 8 0 5 13 2 C 5 8 70 2 E 0 8 20 28 2 C 8 1 73 2 D 0 8 15 6 2 D 5 0 74 2 D 8 0 0 10 2 C 8 4 75 2 D 0 8 15 3 2 D 3 0 76 2 D 8 0 5 18 2 C 3 8 77 2 C 0 8 0 18 2 C 4 8 77 2 C 0 8 0 16 2 B 7 3 78 2 C 0 8 15 16 2 C 1 8 78 2 C 0 8 0 34 2 C 2 3 79 2 C 0 8 5 12 2 B 4 6 80 2 C 0 8 15 17 2 B 5 6 81 2 B 0 8 5 22 2 B 0 3 82 2 B 0 8 5 22 2 B 7 8 82 2 B 0 8 5 22 2 B 4 6 82 2 B 0 8 5 14 2 B 3 8 83 2 B 0 8 0 14 2 B 0 7 83 2 B 0 8 0 14 2 B 4 8 83 2 B 0 8 0 8 2 B 6 3 84 2 B 8 0 5 24 2 A 8 1 85 2 A 8 0 0 24 2 B 6 0 85 2 A 8 0 15 28 2 A 6 1 86 2 A 8 0 0 14 2 B 0 6 87 2 A 8 0 15 14 2 B 2 8 87 2 A 3 8 15 16 2 B 0 2 88 2 A 8 0 10 16 2 A 5 1 88 2 A 8 0 5 7 1 D 8 1 93 1 D 8 0 0 11 1 D 6 1 94 1 D 8 0 0 12 1 D 4 6 96 1 D 0 5 5 22 1 C 0 2 97 1 C 0 5 0 20 2 C 5 4 98 1 C 8 0 15 20 1 C 6 1 98 1 C 8 0 0

16 1 C 3 5 99 1 C 0 5 0 24 1 C 4 0 100 1 C 8 0 0 15 2 B 7 6 101 1 B 8 0 10 28 1 C 2 3 102 1 B 8 0 15 21 2 B 6 6 103 1 B 8 0 15 19 2 B 2 6 104 1 B 8 0 15

Page 44: CIRCUITING HELMS THEATER WITH SIMULATED ANNEALING …home.cc.gatech.edu/parry/uploads/1/UVA-Thesis.pdf · circuiting helms theater with simulated annealing a thesis in tcc 402 presented

Appendix B: Textual Output

39

710-FOOT SOLUTION FOR “GOODNIGHT DESDEMONA”

710.0 Instrument CircuitBox Length Chn# Row Col X Y Cir# Row Col X Y 42 5 C 4 1 17 5 C 8 2 5 42 5 C 2 1 18 5 C 8 2 10 42 5 C 6 1 18 5 C 8 2 5 11 3 C 8 6 33 4 D 0 8 20 38 4 D 4 4 34 4 D 0 8 5 3 4 D 2 4 35 4 D 0 8 5 36 3 D 2 0 36 4 D 0 8 10 1 4 C 2 4 37 4 C 0 8 5 8 3 C 0 6 38 4 C 0 8 15 3 4 C 6 4 39 4 C 8 0 5 2 4 C 4 4 40 4 C 0 8 5 34 3 B 7 0 41 4 B 0 8 15 1 4 B 6 4 42 4 B 8 0 5 33 4 B 3 4 43 4 B 0 8 5 37 4 B 4 4 44 4 B 0 8 5 13 3 D 8 6 49 3 E 0 8 10 32 3 E 4 4 50 3 E 0 8 5 16 3 E 6 8 51 3 E 0 8 5 16 3 E 6 8 52 3 E 0 8 5 12 3 D 3 6 53 3 D 0 8 5 32 3 D 4 4 54 3 D 0 8 5 22 3 D 5 6 55 3 D 8 0 10 22 3 D 1 6 55 3 D 0 8 0 22 3 C 4 6 55 3 D 0 8 15 14 2 C 8 2 56 3 D 0 8 15 35 3 C 5 0 57 3 C 8 0 0 28 2 C 8 0 58 3 C 8 0 15 28 2 C 3 0 58 3 C 0 8 10 28 2 B 9 0 58 3 C 0 8 10 4 3 C 4 0 59 3 C 8 0 0 4 3 C 6 0 59 3 C 8 0 0 4 3 C 2 0 59 3 C 8 0 5 5 3 C 6 4 60 3 C 8 0 5 5 3 C 2 4 60 3 C 0 8 5 5 3 C 4 4 60 3 C 0 8 5 22 3 B 7 6 61 3 B 8 0 5 22 3 B 4 6 61 3 B 0 8 5 7 3 B 5 6 62 3 B 0 8 5 32 3 C 4 4 63 3 B 8 0 15 32 3 B 4 4 63 3 B 0 8 5 39 3 B 5 0 64 3 B 8 0 0 33 3 A 3 8 65 3 A 2 8 0 33 3 A 3 8 66 3 A 2 8 0 19 3 A 3 8 67 3 A 2 8 0 19 3 A 3 8 68 3 A 2 8 0 17 2 E 5 3 69 2 E 6 0 5 37 2 E 4 4 70 2 E 0 8 5 17 2 E 5 3 71 2 E 6 0 5 18 2 E 5 7 72 2 E 0 8 5 18 2 E 5 7 72 2 E 0 8 5 25 2 D 3 0 73 2 D 8 0 5 25 2 C 10 0 73 2 D 0 8 5 27 2 C 10 7 74 2 D 0 8 0 26 2 C 10 3 75 2 D 0 8 5 26 2 C 5 3 75 2 D 0 8 15 26 2 B 10 3 75 2 D 0 8 20 24 2 D 1 6 76 2 D 0 8 0 24 2 C 4 6 76 2 D 0 8 15 27 2 C 5 7 77 2 C 0 8 5 27 2 B 10 7 77 2 C 0 8 0 30 2 C 8 7 78 2 C 8 0 5 30 2 C 4 7 78 2 C 0 8 0 25 2 B 10 0 79 2 C 8 0 5

25 2 C 5 0 79 2 C 8 0 0 23 2 C 4 3 80 2 C 8 0 5 23 2 D 1 2 80 2 C 8 0 10 23 2 B 7 2 80 2 C 0 8 15 24 2 B 7 6 81 2 B 8 0 5 9 2 C 0 2 82 2 B 8 0 10 9 2 B 0 2 82 2 B 0 8 5 29 2 C 4 3 83 2 B 8 0 15 29 2 B 9 3 83 2 B 8 0 0 25 2 B 5 0 84 2 B 8 0 0 20 2 A 2 3 85 2 A 8 0 10 20 2 A 2 3 85 2 A 8 0 10 21 2 A 2 7 86 2 A 3 8 0 21 2 A 2 7 86 2 A 3 8 0 37 2 A 4 4 87 2 A 3 8 10 10 2 C 0 6 88 2 A 3 8 25 10 2 B 0 6 88 2 A 3 8 15 40 2 C 6 7 93 1 D 0 5 20 14 2 D 8 2 94 1 D 8 0 15 15 2 D 8 6 96 1 D 8 0 10 15 2 C 8 6 97 1 C 8 0 10 42 1 C 4 4 98 1 C 8 0 15 42 1 C 4 4 98 1 C 0 5 5 41 1 C 6 6 99 1 C 8 0 5 41 1 C 3 6 99 1 C 0 5 5 29 2 C 8 3 100 1 C 8 0 15 30 2 B 9 7 101 1 B 8 0 10 41 1 C 5 6 102 1 B 8 0 20 39 2 C 2 4 103 1 B 8 0 15 39 2 C 7 4 103 1 B 8 0 20 40 2 C 2 7 104 1 B 8 0 15 40 1 B 4 4 104 1 B 0 5 5