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)
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
Table of Contents
ii
Works Cited ...................................................................................................................... 34
Bibliography ..................................................................................................................... 35
Appendix A: Test Data ..................................................................................................... 36
Appendix B: Textual Output............................................................................................. 37
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
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.
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
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%
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
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
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
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
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.
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.
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
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);
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);
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 }
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); }
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 } } }
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
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"
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
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.
Chapter 3: Results
19
Figure 15: Stages of Optimization for “Shatter the Vessel”
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
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
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
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.
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
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”
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
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”
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
Chapter 4: Testing the Circuiting Algorithm
29
Figure 22: The 710-foot Solution or "Goodnight Desdemona"
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.
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
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
Chapter 5: Conclusions
33
CAD tool used to create the light plot. The latter solution could eliminate the need to
manually enter any data.
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.
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.
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
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
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
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