+ All Categories
Home > Documents > Mathematical model of scenery hoist system at the olivier theatre

Mathematical model of scenery hoist system at the olivier theatre

Date post: 20-Sep-2016
Category:
Upload: sk
View: 215 times
Download: 1 times
Share this document with a friend
12
Mathematical model of scenery hoist system at the Olivier theatre S.K. Das, M.Sc. Indexing terms: Switches and switching theory, Algorithms, Mathematical modelling Abstract: Theatres generally have a substantial number of hoists etc. for moving scenery during perform- ances, but one never needs to use more than a proportion of them at any one time. The number of drive controllers provided can therefore be limited to the maximum number needed for simultaneous use, and these can be connected to the required set of hoists through a switching network. The paper gives an account of the design of the switching network developed for the Olivier Theatre, and of the algorithm which selects paths through this network during operational use. The algorithm is implemented on a minicomputer. 1 Introduction The National Theatre complex, situated on the south bank of the River Thames in London, contains three separate theatres, of which the largest is the Olivier Theatre. This theatre has elaborate arrangements for moving scenery during performances, and it is the control of these move- ments that forms the subject of the present paper. The scenery can be moved in several ways (see Fig. 1): ^. \ fly tower scenery 'flown' out wagon auditorium drum revolve Fig. 1 Means of moving scenery at the Olivier Theatre (a) Most of the stage is covered by a large fly tower equipped with power-operated hoists which can be used in various combinations to 'fly', i.e. to lift clear of the stage, scenery of almost any size or shape. (p) The back of the stage can be opened or closed as required. On this rear stage, scenery may be assembled behind sound-proof doors and brought on by motorised wagons. (c) Scenery may be moved downwards through the floor and replaced by a new setting in the same or a differ- ent part of the stage. The latter operation is achieved through a 40 foot drum revolve, split between two elevators which can operate either independently or in concert, raising or lowering scenery and actors. Paper 1018E, first received 28th May and in revised form 28th August 1980 The author was formerly with the Department of Computer Sci- ence, University College London, London WClE 6BT, and is now with the Department of Computer Science, City University, London EC1V OHB, England IEEPR0C, Vol. 127, Pt. E, No. 6, NOVEMBER 1980 The hoist subsystem, i.e. the hardware and software which controls scenery movements associated with the fly tower referred to in (a), is the main subject of our discussion. It has been in operational use for some time. 2 Hoist subsystem The unique requirements of the Olivier Theatre which motivated the design of the hoist subsystem are discussed in earlier papers. 1 ' 2 ' 3 ' 4 These requirements culminated in the recommendation that the theatre be equipped with 170 'elements', 35 being the maximum to be powered at any one time. These elements include large point hoists, bar hoists and stage wagons, and constitute part of the hard- ware of the hoist subsystem. From a digital control view- point all can be assumed identical, even though mechan- ically they are very different, and therefore we will refer to hoists in the remainder of this paper. It would be uneconomical to provide one cycloconvertor (drive) for each of the 170 hoists. A possible alternative of providing 35 drives and a manual facility of plugs and sockets for connecting (patching) n hoists with n drives (1 < « < 3 5 ) would prove too slow and inflexible. There- fore, a system of automatic patching was adopted, and achieved by placing an interface between the hoists and drives. The interface includes an array of switches, part electrical and part electromechanical, whose operation is controlled by a minicomputer under the supervision of an operator seated at a control desk about 50 feet above the stage. Each route through the switching array needs to carry four power lines to the hoist and three precision analogue signals. Crosspoint (or switch) elements were chosen as electrical contactors for the power, and field-effect transis- tors (f.e.t.s) for the analogue signals. A simple rectangular array of switches would number 170 by 35 (= 5950), but this would be uneconomical to build and extravagant of space. Furthermore, it would permit any of the 170 hoists to be routed to any of the 35 drives, whereas our requirement is simply to route any hoist to one drive or another; the drive to which a hoist is routed is unimportant since all drives are identical. In the routing scheme for switches (Fig. 2), this flexi- bility concerning drives is exploited. A route can be created between a hoist and a drive, using one of r busbars, by closing: (a) one of the p hoist-bus switches connected to the hoist (b) one of the q drive-bus switches connected to the drive. Note how Fig. 2 illustrates a route between hoist 23 and drive 4 using busbar 10. The integer variables p, q and r 263 0143- 7062/80/060263 + 12 $01-50/0
Transcript
Page 1: Mathematical model of scenery hoist system at the olivier theatre

Mathematical model of scenery hoist system at theOlivier theatre

S.K. Das, M.Sc.

Indexing terms: Switches and switching theory, Algorithms, Mathematical modelling

Abstract: Theatres generally have a substantial number of hoists etc. for moving scenery during perform-ances, but one never needs to use more than a proportion of them at any one time. The number of drivecontrollers provided can therefore be limited to the maximum number needed for simultaneous use, andthese can be connected to the required set of hoists through a switching network. The paper gives an accountof the design of the switching network developed for the Olivier Theatre, and of the algorithm which selectspaths through this network during operational use. The algorithm is implemented on a minicomputer.

1 Introduction

The National Theatre complex, situated on the south bankof the River Thames in London, contains three separatetheatres, of which the largest is the Olivier Theatre. Thistheatre has elaborate arrangements for moving sceneryduring performances, and it is the control of these move-ments that forms the subject of the present paper.

The scenery can be moved in several ways (see Fig. 1):^ . \ fly tower

scenery 'flown'out

wagon

auditoriumdrumrevolve

Fig. 1 Means of moving scenery at the Olivier Theatre

(a) Most of the stage is covered by a large fly towerequipped with power-operated hoists which can be used invarious combinations to 'fly', i.e. to lift clear of the stage,scenery of almost any size or shape.

(p) The back of the stage can be opened or closed asrequired. On this rear stage, scenery may be assembledbehind sound-proof doors and brought on by motorisedwagons.

(c) Scenery may be moved downwards through thefloor and replaced by a new setting in the same or a differ-ent part of the stage.The latter operation is achieved through a 40 foot drumrevolve, split between two elevators which can operateeither independently or in concert, raising or loweringscenery and actors.

Paper 1018E, first received 28th May and in revised form 28thAugust 1980The author was formerly with the Department of Computer Sci-ence, University College London, London WClE 6BT, and is nowwith the Department of Computer Science, City University, LondonEC1V OHB, England

IEEPR0C, Vol. 127, Pt. E, No. 6, NOVEMBER 1980

The hoist subsystem, i.e. the hardware and softwarewhich controls scenery movements associated with the flytower referred to in (a), is the main subject of our discussion.It has been in operational use for some time.

2 Hoist subsystem

The unique requirements of the Olivier Theatre whichmotivated the design of the hoist subsystem are discussedin earlier papers.1'2'3'4 These requirements culminated inthe recommendation that the theatre be equipped with 170'elements', 35 being the maximum to be powered at anyone time. These elements include large point hoists, barhoists and stage wagons, and constitute part of the hard-ware of the hoist subsystem. From a digital control view-point all can be assumed identical, even though mechan-ically they are very different, and therefore we will referto hoists in the remainder of this paper.

It would be uneconomical to provide one cycloconvertor(drive) for each of the 170 hoists. A possible alternativeof providing 35 drives and a manual facility of plugs andsockets for connecting (patching) n hoists with n drives(1 < « < 3 5 ) would prove too slow and inflexible. There-fore, a system of automatic patching was adopted, andachieved by placing an interface between the hoists anddrives. The interface includes an array of switches, partelectrical and part electromechanical, whose operation iscontrolled by a minicomputer under the supervision of anoperator seated at a control desk about 50 feet above thestage.

Each route through the switching array needs to carryfour power lines to the hoist and three precision analoguesignals. Crosspoint (or switch) elements were chosen aselectrical contactors for the power, and field-effect transis-tors (f.e.t.s) for the analogue signals.

A simple rectangular array of switches would number170 by 35 (= 5950), but this would be uneconomical tobuild and extravagant of space. Furthermore, it wouldpermit any of the 170 hoists to be routed to any of the 35drives, whereas our requirement is simply to route anyhoist to one drive or another; the drive to which a hoist isrouted is unimportant since all drives are identical.

In the routing scheme for switches (Fig. 2), this flexi-bility concerning drives is exploited. A route can be createdbetween a hoist and a drive, using one of r busbars, byclosing:

(a) one of the p hoist-bus switches connected to thehoist

(b) one of the q drive-bus switches connected to thedrive.Note how Fig. 2 illustrates a route between hoist 23 anddrive 4 using busbar 10. The integer variables p, q and r

263

0143- 7062/80/060263 + 12 $01-50/0

Page 2: Mathematical model of scenery hoist system at the olivier theatre

are constrained by the inequalities: 1 < p < 3 5 , 1 <q<35and 35 < r < 170. There would be no benefit in connectingwith a busbar, either from a hoist using a single hoist-busswitch (p = 1) or from a drive using a single drive-busswitch (q = 1). In either case, a fixed rather than a switchedconnection would achieve our objective. Therefore, wedefine p > 1 and q > 1. Moreover, there is no benefit inusing p = 35 hoist-bus switches. In this case, having 35fixed rather than 35 switched connections between a hoistand each of the 35 drives would achieve our objective.Having more hoist-bus switches than drives (p > 35) has novalue, and therefore we define p < 3 5 . Similarly, we defineq < 35 so that the number of drive-bus switches is less thanthe number of drives. Clearly, the number of hoists must begreater than the number of busbars (i.e. 170 > r), which inturn must be greater than the number of drives (i.e. r >35).

Fig. 2 Partial illustration of a routing scheme for switches

2.1 Mathematical model

The notation and definitions introduced below will beused to express our problem:d — maximum number of hoists that can be used simul-

taneously = total number of drivesh = total number of hoists (d < h)n = number of hoists required for use simultaneously

. (1 < n < d)p = number of hoist-bus switches per hoist (1 <p<d)q = number of drive-bus switches per drive (1 < q < d)r = total number of busbars (d<r<h)

columnsrepresenting

*~ r buses —"

rows representing170 hoists

35 drives column

bus 10

hoist-bus matrixp ones per row

Trows representing

r buses

drive UFig. 3 Partial illustration of the hoist-bus model H and the bus-drive model D

Hu = 1

/ = used for numbering hoists i = 1, 2 , . . . , hj = used for numbering busbars / = 1, 2, . . . , rk = used for numbering drives k = 1, 2, . . . , dTwo Boolean matrices will be used to represent theswitching scheme of Fig. 2. The hoist-bus switches will berepresented by H of dimension hx r, where

if hoist / can be switched to busbar/= 0 otherwise

The drive-bus switches will be represented by D of dimen-sion r x d, where

Djk = 1 if drive k can be switched to busbar;= 0 otherwise

In Fig. 3, matrix H, the hoist-bus model, and matrix/), thebus-drive model, are used to illustrate a route betweenhoist 23 and drive 4 using busbar 10.

Three Boolean vectors will be used to represent selec-tions of hoists, busbars and drives to meet a specific

i = 1,2, ...,h

j = 1,2,

k = 1,2,

The problem is to determine values p, q and r which mini-mise the total cost of the switches, i.e. to minimise

requirement:V, where (/,- = 1

= 0V, where Vj = 1

= 0W, where Wk = 1

= 0

if hoist/is required,otherwiseif busbar/ is used,otherwiseif drivek is usedotherwise

f(p,q) = hp + dq (1)

subject to the constraints that, given any selection of nhoists, we may close n hoist-bus switches and n drive-busswitches to create n unique routes. This enables n hoiststo be powered by n drives using n busbars. Moreover, wemust decide which p busbars to group together and associ-ate with a given hoist through hoist-bus switches, and whichq busbars to group together and associate with a givendrive through drive-bus switches.

The constraints that any selection of n hoists may beconnected to n drives is equivalent to the existence of thefollowing mapping from any given vector U to some vectorW, both vectors containing n ones. There is a mapping fromU to W if there exists a matrix // ' , formed from H byselecting one 1 from each row for which £/,• = 1 in U,corresponding to a connection from one of the requiredhoists to a busbar, and a matrix D' formed from D byselecting one 1 from each column, corresponding to aconnection from a busbar to a drive, such that

H'TU = V = D'W (2)

F o r e x a m p l e , if ft = 6,r = 4,d = 3,n = 3 , a n d t h e ma t r i ce sH, D, U a n d W are given by

H =

0 0

0 0

0 0 1

D =

264 IEEPROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980

Page 3: Mathematical model of scenery hoist system at the olivier theatre

u =

1

0

0

1

0

1

w =1

1

1

then, by defining matrices H' and D' as

1 0 0 0

H' =

0 0 0 0

0 0 0 0

0 1 0 0

0 0 0 0

0 0 0 1

D' =

1 0 0

0 1 0

0 0 0

0 0 1

the vector

V = 1

0

1

satisfies the mapping defined in eqn. 2.The problem of minimising f(p,q) is a combinatorial

problem of considerable size and the overall optimum wasnot obtained. Instead, the restricted optimum, consideringblock schemes for the hoist-bus switches based on cyclicrotation, was obtained. This scheme will be described inSection 2.2. The results described in Section 4 show thatthere is a considerable reduction in the total number ofswitches using this scheme compared with the scheme ofconnecting every hoist to every drive.

2.2 Hois t-bus m ode I

To construct a hoist-bus model H it is necessary to:(a) assign a value to p (i.e. how many ones are there to

be in each row?)(b) designate to which p busbars a given hoist is switchable

(i.e. where in each row are thep ones to be positioned?)The designation specified in (b) is achieved by using a 'cyclicblock scheme' for constructing H. Once p has been speci-fied, the p busbars to group together and associate with agiven hoist through hoist-bus switches is implicit in thedefinition ofH-p,m = 1,2,. .. ,b given below.

Given a prime integer s such that

s2>h (3)

let" us define b=\h/s\ (i.e. the smallest integer >h/s)Then, a matrix H will be constructed to consist of {b — 1)blocks, each block containing s rows, and a last blockcontaining the final (h — s (b — 1)) rows. This partitioningcorresponds to forming b blocks of hoists, each blockcontaining s hoists with the exception that the last blockcontains the remaining hoists.

Let us assume that p is specified. (The specification of

p will be discussed later, in Section 4.) The number ofbusbars required is

r = ps (4)

Every row of H has p nonzero elements. For the firstblock Hi, we define nonzero elements in row / to be incolumns /, / + s,. . . , / + (p — 1) s; i.e.

Hi = 1 for/ = / ! (/, t) = i + ts, with

/ = 1,2, . . . ,s= 0 otherwise

The subsequent blocks / / m + 1 , where m = 1, 2 , .are constructed from H1 by cyclic rotation, thusHf? + 1 = 1 for / = / m + i ( / ,0, w i t h ^ = 0 , 1 , .where if m + 1 <.b,ms < / < (m + 1)5,

b-\

p-\

or if m + 1 = b, (b-\)s < i

= 0 otherwise

h,

The busbar numbers / m + 1 (/ + s, 0 for the rows (/ + s) inthe (m + l)th block are defined as follows:

im*i 0 + *> 0 =/m 0' + t> 0 i f i+t<ms~ im (i + t — s, t) if / + t > ms

where, if m + 1 <b,ms<i + s< (m + l)s,

orifm+l=b, (b - l)s < i + s < h.

Consider an example where the total number of hoistsh = 37 and the prime integer s = 7. Therefore, the numberof blocks into which H is partitioned b = [37/7] = 6. Letus assume the number of hoist-bus switches per hoist p — 3,then the number of busbars r = 21. There are two matriceswhich may be used to represent this example of a cyclicblock scheme; the hoist-bus model H (Table 1) of dimen-sion h by r, and the hoist-bus table (Table 2) of dimensionh by p, which is constructed from H in Table 1. For eachrow in H, there are p nonzero elements. The p columnnumbers of the columns containing a one in row /, / = 1,. . . , h, become the elements for row / in the hoist-bustable. Therefore, the hoist-bus table has rows corre-sponding to hoist numbers, and elements which are thebusbar numbers j m (i, t), m = 1, 2, . . . , b to which hoist /,1 < / < h, can be switched.

Consider only the n rows of H which correspond toUi•= 1 in U, i= 1, . . . ,h. Performing an inclusive-Ofloperation on the n rows results in a 1 by r vector. Let p bethe number of ones in this vector. Therefore, p<*p' <^r,and p' is the total number of columns in these n rows ofH containing at least one 1. Thus, p' is the total number ofbusbars to which the n hoists are switchable, the n hoistsbeing defined in U. A necessary but not sufficient conditionfor the existence of the mapping H'TU = V (see eqn. 2) isthat

n < p' (5)

In the example of Section 2.1, the hoist-bus table corre-sponding to H is

hoists busbars

U =

IEE PROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980 265

Page 4: Mathematical model of scenery hoist system at the olivier theatre

ii

123

H1 4567

89

10H2 11

121314

151617

H3 18192021

222324

H* 25262728

293031

Hs 32333435

36H6 37

Table 1: Hoist-bus model H for h = 37, s = 7 and p =

t = 0

1 2 3 4 5 6 7

11

11

11

1

11

11

11

1

11

11

11

1

11

11

11

1

11

11

11

1

11

t = 1

8 9 10 11 12 13 14

11

11

11

1

11

11

11

1

11

11

11

1

11

11

11

1

11

11

11

1

11

3

f = 2

15 16 17 18 19 20 21

11

11

11

1

11

11

11

1

11

11

11

1

11

11

11

1

11

11

11

1

11

The n hoists (n = 3) defined in U are 1, 4 and 6, and eachhoist is switchable to p busbars (p = 2), which are 1 or 2, 2or 4, and 3 or 4, respectively. Therefore, hoists 1, 4 and 6are switchable to busbars 1, 2, 3 and 4: a total of four.Expr. 5 is satisfied because n = 3 and p' = 4.

The necessary condition defined in expr. 5 encouragesus to construct H so that, given n hoists, p is a maximum.In addition to defining the position of p ones in each rowof H, a cyclic block scheme has the additional advantageof trying to maximise p'. The following theorem provesthat if a hoist is switchable to one of two busbars, noother hoist is switchable to the same two busbars. Forexample, by selecting four rows from Table 2:

hoist numbers12192633

busbar numbers5 13 215 14 165 8 185 9 20

we observe that hoist 12 is switchable to either busbar5 or 13. N6 other row in Table 2 contains both 5 and 13.Similarly, hoist 19 is switchable to either busbar 14 or 16,and no other row contains both 14 and 16. For n = 2,using hoists 12 and 19, p = 5. By adding hoist 26, n = 3

266

and p' = 7, and for hoist 30, n = 4 and p' = 9. Althoughwe have tried to restrict p' by choosing four hoists, all ofwhich were switchable to busbar 5, for this example, p' isfound to increase in value for each increment of n.

Theorem

Given any two busbars numbered v and w, there is at mostone row of H such that Hiv = Hiw = 1.

Proof: We can assume without loss of generality that v > w.There is one row in the first block Hx for which theelement in column v is 1. This element will be in row /given by

t = fy/sl - 1

/ = v — ts(6)

The other rows of H which contain a 1 in column v aregiven by / = /m + j for m = 1, 2, . . . , b — 1 where

h — f, and

im+i = im-t + s if (im -t) > ( m - l ) s ,

or = im - t + 2s if (im -t) < (m-l)s

IEEPROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980

Page 5: Mathematical model of scenery hoist system at the olivier theatre

Table 2: Hoist-bus Table corresponding to H in Table 1, showingvalues of jmU, t)

m = 1

m = 2

m = 3

m — 4

m = 5

m = 6

/'

1234567

891011121314

15161718192021

22232425262728

29303132333435

3637

t = 0

1234567

1234567

1234567

1234567

1234567

12

f= 1

891011121314

910111213148

101112131489

111213148910

121314891011

1314

f=2

15161718192021

17181920211516

19202115161718

21151617181920

16171819202115

1819

Thus, for m>2, im.1 (v) — t + s = im.l (w) — u + s(mod s), i.e. im.l(v)-im.1(w) = (t-u)(mod s), andtherefore, reducing this iteratively,

When m = b — 1, we disregard any / derived from thisiterative formula which yields im+l > h. The values ofim+i are also given by

im+i = im -t + s (mods)

using the known ranges

ms < im+l < (m + ])s, if m < b — 1

(b-l)s < im+l < h, if m = b-\

These values of / depend on v, and will be denoted byim (y),m = 1,2, . . . ,b. Thus,

'i 00 = />

im 00 = im -1 00 - t + s (mod s) for m = 2 , 3 , . . . ,b

Similarly, the rows of H which contain a 1 in column w aregiven by

u = \w/s] — 1 and g = w — us. , , (7)

/, (w) = g

im (w) s im_1 (w) — u + s (mod s)

for m = 2, 3, . . . , bTherefore, any rows which contain a 1 in column v andcolumn w are given by im (v) = im (w) for m = 1, 2, . . . , b.IEEPROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980

~g = (t — u)(m — l)(mods) (8)

We shall first prove that there is no solution if t = u. Ift = u, then, from expr. 8, f—g = 0(mods). However,from eqns. 6 and 7,f—g = (v — ts) — (w— us). Therefore,if t = u and since v > wj — g> 0. Since / and g are rownumbers in Hl ,f—g<s, that is, 0<f—g<s, and there-fore, /—# $ 0 (mod s). Thus we have a contradiction^and therefore, when t = u there is no value of m whichsatisfies expr. 8.

If t>u, the general solution to expr. 8 is m ~ m' +sC, where C = 0, ± 1, ± 2 , . . . and m is a particular sol-ution (Appendix 1). Therefore, there is just one value of min the range l < m < s . But, s2>h, and b<(h/s)+l.Thus, b <s + 1, i.e. b < s . Therefore, there is at most onevalue of m in the range 1 < m < b, which implies thatthere is at most one value of / = im (v) = im (w) in therange 1 < / < h for which Hiv = Hiw = 1. Q.E.D.

2.3 Bus-drive model

There are two reasons why we do not adopt cyclic blockschemes for determining q, and constructing the bus-drive model D (an example of D has been given in Section2.1). First, consider the problem if n is a maximum, i.e.n = d. For the matrix H of dimension h x r we attempt topatch n of h hoists to n of r busbars, where n < r by defi-nition. However, for the matrix D of dimension r x d, weattempt to patch n of r busbars to n of d drives, wheren = d for this case. In the former matrix, the number ofcolumns r is strictly greater than the number of rows n inuse, whereas in the latter, the number of columns d and thenumber of rows in use n are equal.

Secondly, since the number of ones in each column ofD is q, the average number of ones per row is qd/r, whichin general is not an integer. Therefore, a cyclic blockscheme which implies a constant number of ones in everyrow cannot be used.

An example (Table 3) of D for r = 11 and d = 5 will beused to illustrate how q may be calculated. Four zeros arethe maximum we can insert in any one column since fivezeros in a column would mean that five busbars (rows)could be selected such that no drive-bus switch exists forthat drive (column), and we would have a patching failure(Table 4). Rows 2, 5, 8 and 9 from Table 3 have been used,togetlier with an incomplete row containing zero in column3. An * means an entry is undefined.

Table 3: Example of D for r = 11 and d = 5

busbar

nos.

1234567891011

drive nos

1

00001111111

2

01110001111

3

10110110011

4

11011010110

5

11101101001

,

3 ones per row

4 ones per row

q = 7 ones per column

267

Page 6: Mathematical model of scenery hoist system at the olivier theatre

Table 4: Patching failure for drive 3

drives

b

usbars

kj

2589

1

0111*

2

1011#

3

00000

4

1101

5

1110*

In general, therefore, for a matrix D of dimension r x d,the maximum number of zeros allowed in any column isd — \. Thus,

Qmin = r-{d-\) (9)

and, using eqn. 4, qmin = (ps)— d + 1. Therefore, fromeqn. 1, and using this minimum value of q, f(p,q) =(h + ds)p —d (d — 1). Since h and d are constants and 5,once defined by expr. 3, is fixed,

/ = f(p) (10)

Thus, to minimise the cost of switches defined in eqn. 1,(a) s must be the smallest prime integer to satisfy expr. 3(b) the integer p should be a minimum such that the

following mapping exists: H'TU = V (see eqn. 2).The analysis gives a lower bound on q, which is qmin

(see eqn. 9), and a lower bound on the total number ofones in matrix D, which is qd. Therefore, we know theminimum number of ones allowed per column, but thisdoes not provide any information on how many ones tohave per row. In Table 3, the number of ones per row isdistributed as uniformly as possible, i.e. nine rows withthree ones and the remaining two rows with four ones.Therefore, qd = 7 x 5 = 35 = 11 x 3 + 2 = (9 x 3) + (2 x4). For all other matrices D which we construct, we willchoose the minimum value of q, and distribute the numberof ones per row as uniformly as possible. Note, however,

Table 5: Bus-drive model D for r = 21 and d = 10

drive numbers

busbar

numbers

k

i

123456789

101112131415161718192021

1

100101101010010110111

2

011010110101001111010

3

101101010011101101001

4

110111101011010110000

5

011011110111101000001

6

101100111110110001100

7

010111011101011000110

8

101010101110101010011

9

110100010101110101110

10

011011001000111011101

6 ones per row

5 ones per row

that in general any D is not unique. An example hoist-busmodel H was shown in Table 1, for h=31 and r = 2\.Using the ideas developed above, we construct a corre-sponding bus-drive model D for d = 10 (Table 5). In Table6, we translate this bus-drive model D into a bus-drive tablewhose rows correspond to busbar numbers and whoseelements are drive numbers. In Tables 1 and 5 we representa mathematical model for h = 37 and d = 10. Tables 2 and6 together are equivalent to this model, and are used in thefollowing Section to illustrate the algorithm for deter-mining routes.

Table 6: Bus-drive Table corresponding to D in Table 5

busbar

numbers

j

123456789

101112131415161718192021

drive numbers

122121121212312112111

343343234

CJl

33

CJl

43223623

455454456644665346775

676675

CJl

67755877489988

8987876788679989

101099

10

910109

101089

10989

101010

q — 1 2 ones per column

3 Routing algorithm

We can look upon the present study as having two objec-tives:

(a) to produce a design strategy for constructing the twotables of numbers which are eventually realised in hardwareas an array of crosspoint switches

(b) to produce a routing algorithm which, given n hoistnumbers, searches the two tables to produce n busbarnumbers and n drive numbers so that the hardware of thecrosspoint array can be switched to create n routes.At the time the project was started the time available forits completion was limited and so no thorough study ofpublished routing algorithms was carried out. Instead, analgorithm was designed quite independently, and, in prac-tice, this has proved entirely satisfactory.

However, there are three ways in which a routing algor-ithm could conceivably fail, and the present algorithm hasnot been proved to avoid them. They are:

(i) failure to find an existing hoist-bus mapping(ii) finding a hoist-bus mapping for which no corre-

sponding bus-drive mapping exists(iii) failure to find an existing bus-drive mapping.

It has since been pointed out to the writer that the routingproblem can be presented as a network-flow problem,5'6

and that an algorithm which is guaranteed to avoid theabove failures is the maximal flow algorithm (for detailssee Section 4.5 of Reference 5 and Section 6.5.3 of Refer-ence 6). In any future implementation the use of thisalgorithm would be seriously considered, but the onedescribed in the following Section is the one in actual use.

268 IEEPROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980

Page 7: Mathematical model of scenery hoist system at the olivier theatre

3.1 Algorithm description

Determination of routes will be illustrated using an examplewhere the total number of hoists h = 31, busbars r— 21,drives d = 10, and the number of hoists in use n = 10 arenumbered 1, 6, 8, 13, 18, 20, 25, 27, 32 and 33. Thealgorithm divides naturally into two phases; the first usesn hoists and searches an array of hoist-bus switch numbersfor n busbars, and the second uses n busbars and searchesan array of drive-bus switch numbers for n drives. The datastructures to be used during the first phase are displayed inTables 2, 7 and 8.

hoist

168

13182025273233

Table 7:

1616464645

Arrays hoist, bus and allocated

bus

8139

14138

14989

15201715151717191920

allocated

1520171413

849

195

k

occur

k

occur

Table 8:

1

2

11

0

2

0

12

0

Initial values in vector occur with p

3

0

13

2

4

3

14

2

5

1

15

3

6

4

16

0

7

0

17

3

8

3

18

0

= 12

9

3

19

2

10

0

20

2

21

0

START:RESTART:

INCVAL:

FINISH:

The elements hoist (/) (/ = 1,. . . , n) specify the nhoists in use, sorted into ascending order so that the busbarallocations remain the same between different executionsof the routing algorithm. Vector hoist is not changed by thealgorithm.

The elements bus ( / , / ) ( /= 1, . . . , n; / = 1, . . . , p) arethe busbars which may be connected to the hoists specified

IEEPROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980

in hoist, and is constructed by taking appropriate rowsfrom the hoist-bus table of Table 2. Array bus is notchanged by the algorithm.

The elements allocated (i) (/= 1 , . . . , « ) are zero,initially. During the first phase of the algorithm, as eachbusbar from bus is connected to a hoist in hoist, its numberis deposited in the appropriate element of vector allocated.In Table 7, we display the elements of allocated producedby the first phase of the algorithm.

The elements occur (k) (k = 1 , . . . , r) are initially thenumber of occurrences of busbar k in bus (Table 8). Forexample, busbar 6 occurs four times in the columns of bus.Therefore, occur (6) = 4. Note, also, that p' = 12 is theinitial number of nonzero elements of vector occur, and p'is constrained by expr. 5. Each time a busbar is connectedto a hoist, the appropriate elements of occur are modified.For example, in Table 7, when connecting bus (10, 1) tohoist (10), i.e. closing the hoist-bus switch connectingbusbar 5 to hoist 33, the following assignments would beexecuted:

allocated (10): = bus (10, 1) = 5;occur (5): = 0;occur (9): = occur (9) — 1;occur (20): = occur (20) - 1;

Expr. 5 constrains the number of hoists which are yet to beconnected to a busbar, never to be greater than the remain-ing number of nonzero elements in occur. Otherwise,there would be insufficient busbars to connect to theunallocated hoists. The elements of occur are finally zero.

Algol 60 is used to express the essential features of thefollowing routing algorithm:

beginvalue: = 1;for k:—r step — 1 until 1 do

if occur (k) = value thenbegin

for/: = p step — 1 until 1 dofor /: = n step — 1 until 1 do

if bus (/,/) = k and allocated (i) = 0 thenbegin

allocated (/): = k; occur (k): = 0;for;): = p step — 1 until 1 do

if occur (bus (i, //)) > 0 thenoccur (bus (i, //)): = occur (bus (i, //)) - 1;goto START

end;goto ERROR. EXIT. 1

end;for k: = r step — 1 until 1 do

if occur (k) * 0 thenbegin

value: = value + 1;if value > maxvalue then goto ERROR. EXIT. 2else goto RESTART

end;for /: = n step — 1 until 1 do

if allocated (i) = 0 then goto ERROR_EXIT_3end

Three for loops, with labels RESTART, INCVAL andFINISH, are used. In each, the loop counter is decrementedinstead of incremented to remain consistent with the finalversion of the routing algorithm, which is written inassembly language suited to decrementing loop counters.

In for loop RESTART, during the first phase of thealgoithm, we search occur for an element equal to the

269

Page 8: Mathematical model of scenery hoist system at the olivier theatre

integer variable value, which is initially equal to one. Valueis used in an attempt to introduce priority allocation ofbusbars to hoists. If there exists a busbar kk which can onlybe switched to a single hoist at this point in the algorithm,i.e. occur (kk) = value = 1, it seems desirable to performthis allocation immediately. If we find an element of occurequal to value, then the index k of occur gives the busbarnumber which we try to allocate next to a hoist. Therefore,bus is searched for an unallocated (signified by allocated(/) = 0) busbar number k, and, when successful, the busbaris assigned to the hoist by the statement allocated (/): =k, then occur is modified and a branch to the START ofthe algorithm is taken.

If we are unable to find an element of occur equal tovalue, the for loop INCVAL is invoked. Here, as long as anelement of occur is nonzero, value is incremented by one,and if its upper bound has not been exceeded the algorithmis RESTARTed.

However, when all the elements of occur are zero, i.e.no more busbars are available for allocation, the third forloop FINISH is entered to determine if each hoist has beenallocated a busbar. If an element of allocated is zero, nobusbar has been assigned to the corresponding hoist.Otherwise, n hoists have been successfully routed to nbusbars and, therefore, the second phase is entered. Finally,note that, in practice, we have never used any of the threeERROR-EXITs, and, furthermore, examination of thealgorithm shows that an exit via either 1 or 2 is not poss-ible. The data structures to be used during the secondphase are displayed in Tables 6, 9 and 10.

busbars

4589

131415171920

Table 9

1221312111

: Arrays busbars, drive and allocated

3434

CJl

43262

4556665477

drive

6767877898

7878998

10109

9109

10101010

000

allocated

910

38675412

k

occur

Table

1

6

10:

2

CJl

Initial values in vector occur with p" —

3 4 5 6 7 8

4 5 4 6 8 6

10

9

6

10

7

The elements busbars (i) (/= 1 , . . . , « ) are the n busbarnumbers deposited in vector allocated during the firstphase, sorted into ascending order so that the drive allo-cations remain the same between the different executionsof the routing algorithm. Vector busbars is not changed bythe algorithm.

The elements drive (/,/) (i = 1,. . . , n\j = 1,. . . ,\(qd)/r]) are the drives which may be connected to thebusbars specified in busbars, and is constructed by takingappropriate rows from the bus-drive table of Table 6. Arraydrive is not changed by the algorithm.

The elements allocated (/) (/= 1 , . . . , « ) are zero,initially. During the second phase of the algorithm, as eachdrive from drive is connected to a busbar in busbars, itsnumber is deposited in the appropriate element of vectorallocated. In Table 9, we display the elements of allocatedproduced by the second phase of the algorithm.

The elements occur (k) (k — 1,. . . , d) are initially the

number of occurrences of drive k in drive (Table 10). Forexample, drive number 7 occurs eight times in the columnsof drive. Therefore, occur (7) = 8. Let p" be the totalnumber of drives to which the n busbars are switchable,the n busbars being determined during the first phase. Thus,\qd/r] — 1 <p" <d and p" is the initial number of non-zero elements of vector occur. Similar reasoning which ledto expr. 5 (i.e. n<p') yields p" constrained by theinequality rc < p". Therefore, p " of the second phase is verysimilar to p' of the first phase. Each time a drive is connec-ted to a busbar, the appropriate elements of occur aremodified. For example, in Table 9, when connectingdrive (7, 3) to busbars (7), i.e. closing the drive-bus switchconnecting drive number 5 to busbar number 15, thefollowing assignments would be executed:

allocated (7): = drive (7,3) = 5;occur (5): = 0;occur (k): = occur (k)-l fork = 2 , 3 , 7 , 8 , 10;

The inequality n < p" constrains the number of busbarswhich are yet to be connected to a drive, never to begreater than the remaining number of nonzero elementsin occur. Otherwise, there would be insufficient drives toconnect to the unallocated busbars. The elements of occurare finally zero.

During the second phase, we reuse the Algol 60 com-pound statement of the routing algorithm. Since thedimension of occur changes between the two phases, thefor loops with labels RESTART and INCVAL will have tobe modified from k: = r to k: = d. In addition, we substi-tute drive for bus throughout the routing algorithm,because the data structure used in the second phase is asin Table 9, while that in the first was as in Table 7. Thismeans that the for loops begining with /: = p and jj: = p,both appearing in the for loop with label RESTART, willhave to be modified to /: = q and ;/: =q', where q' =, \(qd)/r). The terminating conditions of the second phase.are the same as those of the first phase. Note, finally, thatthe routes for the example discussed in this Section aregiven in Table 11.

Table 11: Routes for an example where n = 10

hoists busbars drives

168

13182025273233

1520171413

849

19

CJl

CJl

24763981

10

4 Results

Given h and d, the procedure for constructing the hoist-busand bus-drive tables is summarised.

(a) Compute s so that it is the smallest prime to satisfys2 > h (see expr. 3).

(b) Specify a trial value of the integer p starting at 2 andincreasing by 1 until a possible scheme is attained.

(c) Compute r from r = ps (see eqn. 4).(d) Construct the hoist-bus table using a cyclic block

scheme.(e) Calculate qmin from qmin =r — d+l (see eqn. 9).(/) Construct a bus-drive model D distributing the number

270 IEEPROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980

Page 9: Mathematical model of scenery hoist system at the olivier theatre

of ones per row uniformly, and translate into the bus-drivetable. Note that Boolean matrix D is not unique.

(g) For comparison of different schemes, compute /from/(p, q) = hp + dq (see eqn. 1).This procedure will be applied to two different schemes(schemes 3 and 4) and compared with two others (schemes1 and 2), for the values ^ = 170 and d = 35.

4.1 Scheme 1

Permitting each hoist to switch to each drive can be rep-resented as a single Boolean matrix of dimension 170 x 35,where every element is equal to one. This would require170 x 35 = 5950 switches.

4.2 Scheme 2

The technique of inserting zeros into each column of amatrix, as illustrated in Table 3, (Section 2.3), can beapplied to scheme 1. This yields (h — d + \)d = (170 —34) 35 = 4760 switches, a reduction of 1190 switches.

4.3 Scheme 3

0)00

(iii)(v)

(vii)For

s = 17 (smallest prime >\/T70)p = 4 (see below)r = 68Qmin ~ 34-/ = (170 x 4) + (35 x 34) = 1870= l or 2 the constraint r > 3 5 is not satisfied.

Table 12:

hoist

nos.

11835526986

103120137154

21936537087

104121138155

32037547188

105122139156

421385572

Selection of n = 35 hoists showing 1 < pa cyclic block scheme where s = 17

busbar nos.

values of p1

1111111111

2212222222

3333333333

44444

2

18192021222324252627

19202122232425262728

20212223242526272829

2122232425

< 4,

3

35373941434547495136

36384042444648503537

37394143454749513638

3840424446

taken from

4

52555861646753565962

53565962656854576063

54576063665255586164

5558616467

Moreover, we reject p = 3 because an example (Table 12)can be constructed from a cyclic block scheme for h = 170and s = 17, where expr. 5, i.e. n<p', is not satisfied. Forp = 1, 2, 3 and 4 we find p' = 4, 16, 33 and 50, respect-ively. Here, n = 35, i.e. the example uses 35 hoist numberswhich are recorded in the left-hand column of Table 12;but note that they are not in ascending order. The 35hoists were deliberately selected as those which couldswitch to busbars 1, 2, 3 or 4, in an attempt to restrict p ' .

For p = 4, r takes the value 68 and p' = 50. Becausef=f(p) (see expr. 10), the integer p must be a minimumwithout introducing patching failures. Thus, the routingalgorithm was tested thoroughly with p = 4, for variousvalues of n. No patching failures were found, which weattributed to the excess of the value p over the value n\in the example of Table 12, p ' — n- 5 0 - 3 5 = 15. So, weadopted the value p = 4. Note, however, only a necessary,but not a sufficient, condition for the existence of themapping H'TU= V (see eqn. 2) has been established forp = 4, with 5 = 1 7 and 1 < « < 3 5 . If a patching failureever occurred, it would be necessary to adopt p = 5, andretest the algorithm.

4.4 Scheme 4

In scheme 3, s = 17. Because the largest prime < 17 is 13,and 132 = 169, we investigated the case 5= 13 for 169hoists using a cyclic block scheme, and selected p busbarsourselves to assign to the 170th hoist.

Table 13:

hoist

nos.

114274053667992

105118131144157

215284154678093

106119132145158

316294255688194

107

Selection of n = 35 hoists showing 1a cyclic block scheme where s =

busbar nos.

values of p1

1111111111111

2222222222222

333333333

2

14151617181920212223242526

15161718192021222324252614

161718192021222324

<p < 4,13

3

27293133353739283032343638

28303234363827293133353739

293133353739283032

taken from

4

40434649524245485141444750

41444750404346495242454851

424548514144475040

IEEPROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980 271

Page 10: Mathematical model of scenery hoist system at the olivier theatre

(i) 5 = 1 3(ii) p = 4 (see below)

(iii) r = 520 ) Qmin = 18

(vii) / = (169 x 4) +(35 x 18) =1306For p = 1 or 2 the constraint r > 35 is not satisfied. More-over, we reject p = 3 because an example (Table 13) canbe constructed from a cyclic block scheme for h = 169and 5 = 1 3 (see the block scheme in Appendix 2), wherethe inequality n < p ' is not satisfied. For p — 1, 2, 3 and 4we find p = 3, 16, 29 and 42, respectively. Here, n = 35,i.e. the example uses 35 hoist numbers which are recordedin the left-hand column of Table 13; but note that they arenot in ascending order. The 35 hoists were deliberatelyselected as those which could switch to busbars 1, 2 or 3, inan attempt to restrict p ' .

For p = 4, r takes the value 52 and p = 42. Note also,in the example of Table 13, p — « = 42 — 35 = 7. Usingsimilar arguments to those of Section 4.3, we adoptedp-4, for s = 13, h = 169 and 1 < « < 3 5 . For hoist 170,busbars 1, 14, 28 and 43 were selected. From Appendix 2,we see that, although busbars 1 and 14 are switchable tohoist 1, and busbars 14 and 28 are switchable to hoist 26,busbars 1, 14 and 28 are switchable to hoist 170 only. Weused the same approach when choosing busbar 43. Notethat f(p, q) = 1306 and with these four additional hoist-busswitches the total number of switches is 1310.

4.5 Concluding remarks

Of the four schemes discussed, only 3 and 4 use an accep-able number of switches, the latter being preferred becauseit uses the least. In all routing algorithm tests a patchingfailure in scheme 4 has never been discovered. The hoist-busand bus-drive tables for scheme 4 are displayed inAppendixes 2 and 3, respectively. Once realised in hardware,the switching array becomes a permanent part of a hoistsubsystem. Moreover, a program which accepts as inputn hoist numbers, and produces n routes in a form similarto Table 11 for further processing, has to be written.

In operational use, an operator communicates a set ofhoist numbers to software in a minicomputer via a speciallydesigned theatrical control panel. In this way the hardwarearray of crosspoint elements is switched so that power isrouted between drives and hoists. Since the patching isautomatic, the operator is not aware of which busbars anddrives are used and, indeed, this information is of noconcern to him. His only concern is that the hoists hespecifies should move when required to do so.

The design strategy of Section 2 was used to constructthe array of crosspoint elements, and the routing algorithmof Section 3.1 has been implemented as an assembly-language program which runs on a minicomputer.

5 Acknowledgments

The author is grateful to Evershed Power-Optics Ltd.,Chertsey (in particular Roger Keenan) and Theatre ProjectsConsultants Ltd., London, whose imaginative ideas for theOlivier Theatre provided him with such a challenging,stimulating and interesting project, Nigel Martin and SteveTreadwell, University College, London, whose assistancewith document preparation has proved invaluable, and JohnSnell, City University, London, for many enriching dis-cussions on matrix theory.

He wishes to express his particular appreciation to Prof.V.E. Price, City University, London, whose constructivesuggestions, perceptive criticisms, and careful readings havematerially improved this paper.

6 References

1 DAS, S.K., and KEENAN, R.H.: 'The National Theatre's sceneryhoist matrix scheme'. Proceedings of the European computingsymposium (Decus), 1977, pp. 261-264

2 BRETT, R.G.: 'Electronics at the National Theatre', Electron. &Power, 1979, (10), pp. 715-718

3 KEENAN, R.H.: 'The National Theatre's scenery flying system',ibid., 1979, (10), pp. 719-722

4 'A quick change of scene*. Datalink, 15th Jan. 1979, p. 115 LAWLER, E.L.: 'Combinatorial optimization: Networks and

matroids' (Holt, Rinehart & Winston, 1976) ch. 46 CARRE, B.A.: 'Graphs and networks' (Oxford University Press,

1979), ch. 67 GELFOND, A.O.: The solution of equations in integers' (trans-

lated from the Russian by Roberts, J.B., Reed College, USA)(W.H. Freeman & Co., San Francisco) p. 4

7 Appendixes

7. / Appendix 1

In the first chapter of "The solution of equations inintegers'7 there is a discussion of first degree, integerequations in two unknowns and, in particular, a proof ofthe following theorem.

Theorem

Let a and b be relatively prime, and let x',y' be anysolution of the equation

ax + by + c = 0 (11)

Then the formulas x = x' — bt, y = y' + at for t — 0, ± 1, ±2 , . . . give all solutions of eqn. 11.

Applying this theorem to our problem, we recall thatf—g = (t — u)(m — l)(mod s) (see expr.8). Letx = m — \,a = t — u and f—g = — c. Then, ax + c = 0 (mod s) whichimplies "that ax + c — sy. Therefore, ax — sy + c = 0.Let b = — s; then ax 4- by + c = 0. Therefore, using thetheorem above, x =x' — bC for C= 0, ± 1, ± 2 , . . . , i.e.m — m + sC, where m' = x' + 1.

272 IEE PROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980

Page 11: Mathematical model of scenery hoist system at the olivier theatre

7.2 Appendix 2

This Appendix illustrates a hoist-bus Table for h = 169,5 = 13 and p = 4, constructed using a cyclic block scheme.Note that row 170 has been constructed in the waydescribed in Section 4.4 (i.e. cyclic rotation has not beenused for this row).

12345678910111213

14151617181920212223242526

27282930313233343536373839

40414243444546474849505152

12345678910111213

12345678910111213

12345678910111213

12345678910111213

14151617181920212223242526

15161718192021222324252614

16171819202122232425261415

17181920212223242526141516

27282930313233343536373839

29303132333435363738392728

31323334353637383927282930

33343536373839272829303132

40414243444546474849505152

43444546474849505152404142

46474849505152404142434445

49505152404142434445464748

53545556575859606162636465

66676869707172737475767778

79808182838485868788899091

9293949596979899100101102103104

12345678910111213

12345678910111213

12345678910111213

12345678910111213

18192021222324252614151617

19202122232425261415161718

20212223242526141516171819

21222324252614151617181920

35363738392728293031323334

37383927282930313233343536

39272829303132333435363738

28293031323334353637383927

52404142434445464748495051

42434445464748495051524041

45464748495051524041424344

48495051524041424344454647

105106107108109110111112113114115116117

118119120121122123124125126127128129130

131132133134135136137138139140141142143

144145146147148149150151152153154155156

157158159160161162163164165166167168169

170

12345678910111213

12345678910111213

12345678910111213

12345678910111213

12345678910111213

1

22232425261415161718192021

23242526141516171819202122

24252614151617181920212223

25261415161718192021222324

26141516171819202122232425

14

30313233343536373839272829

32333435363738392728293031

34353637383927282930313233

36373839272829303132333435

38392728293031323334353637

28

51524041424344454647484950

41424344454647484950515240

44454647484950515240414243

47484950515240414243444546

50515240414243444546474849

43

IEE PROC, Vol. 127, Pt. E, No. 6, NOVEMBER 1980 273

Page 12: Mathematical model of scenery hoist system at the olivier theatre

7.3 Appendix 3

This Appendix illustrates a bus-drive Table for r = 52,q = 18 and d = 35. Note however, this table is not unique.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152

1231231121121411312341231234123122412312341231234332

3444544

CJI

634

CJI

37

CJI

274

CJI

6526745655662537

CJI

6743665674567564

89789679779768868

CJI

11875785897897496891089587689689101097

9141011121011121011121089108121014991189111013101013108131011131111131011910111210111212111210

11161215141314141314141311121311151316121314121314121611121711121714151814151814161212161314161313131312

15211717161717171817171814151914161518151516151617151914161914162018162018202015201714211516171516161513

17231918192018191919201915162115211920171818171821182017182018192421192319252119242115241720211819171816

22252422222321222021222119202220222422211921252024232220232220232622232421262324252220272122232122182119

25282525232425252627252223242522232625232424262627252623272622272825262624272627282626282226242425232423

29293129262728262728282627282823242830262725322728282927282823283229293125302928293127292832272827242725

32303230303132303231293031293031303031322930332930313230313233313333303329323129303432333134293031272930

34343432333435333435333435323234323334353334353134353333323334343534343531353532333535353435333433293031

353535333135

Sunil K. Das was born, brought up andeducated in Harrow, England. He hasbeen resident in London since beingawarded a Bachelor's degree in Math-ematics by the University of Surrey,and a Masters degree in NumericalAnalysis and Computing by theVictoria University of Manchester. In1970 he was appointed as a lecturer inthe Department of Mathematics atCity University, London. In 1977,

Mr. Das was granted leave of absence to take up a positionas a Research Fellow in the Computer Networks ResearchGroup (Indra), Department of Computer Science, Univer-sity College, London. In 1980, he returns to City Univer-sity as a lecturer in the newly formed Department ofComputer Science.

274 IEEPR0C, Vol. 127, Pt. E, No. 6, NOVEMBER 1980


Recommended