You are on page 1of 5

An Algorithm to Find Absorber Distributions for

Optimal Reverberation Times


Stefan Drechsler
Architectural Acoustics, HafenCity University, Hamburg, Germany.
Summary
Too many usual rooms, as e.g. classrooms, foyers, restaurants, suer from bad room acoustics - just
because architects and owners have less concept of that or hesitate to apply uncomfortable software.
In most cases, the acoustic quality could be much improved just by respecting Sabines formula to
reach the recommended reverberation times. In practice, this is a process of selecting appropriate
absorbers and assigning them to the rooms surfaces. This, however, is often a long-winded trial
and error process for those with less acoustical knowledge. It would be much more comfortable and
inviting to have a program solving the inverse problem: Given are some optimal reverberation times
and some other practical conditions, wanted is the optimum selection of absorbers. Within the rst
step of our CARAO project (Computer Aided Room Acoustical Optimisation) we address this
combinatorial task. The problem of selecting absorbers for given surfaces whose sum of absorption
areas just reach a given value can be expressed as a Multiple-Choice Subset-Sum Problem (MCSSP).
However, this algorithm has to be modied to a multidimensional version, as the values of N target
absorption areas leading to N optimal reverberation times (usually for 6 octave bands) have to be
reached. Some known and some modied algorithms are discussed with respect to convergence and
user comfort.
PACS no. 43.58.Ta, 43.55.Dt
1. Motivation
In many cases the acoustical design of the reverbera-
tion time is based on Sabines formula. The design
process assigns absorbers to the walls of the room
in a manner that the absorption values of the ab-
sorbers yield with this formula the targeted rever-
beration times. This trial and error process needs an
experienced acoustics engineer to keep the number of
iteration steps low. If the absorber assignment process
can be done by software, the user is free to direct her
attention to the more aesthetic aspects of the design
process.
In the rst part the inverse Sabine problem is ex-
pressed as a Multiple-Choice Subset-Sum Problem
(MCSSP). Then two variants of an algorithm to solve
this problem are presented before comparing their
performance for two scenarios. The article ends with
a short discussion on further possibilities for improve-
ments.
(c) European Acoustics Association
2. Using Sabines Formula for Optimi-
sation
Sabines formula for reverberation time is often used
in a forward direction. In a given acoustic enclosure
the walls and the absorbers assigned to these walls
are given and the reverbaration time is calculated ac-
cording to:
T = 0.161
V
A
, (1)
where T is the reverberation time, V is the Volume
of the acoustic enclosure composed of n walls. A is the
equivalent absorption area consisting of the equivalent
absorption areas A
i
= S
i

i
of all the walls:
A =
n

i=1
A
i
, (2)
where S
i
is the surface of wall i and
i
its absorp-
tion coecient [1].
2.1. The inverse Sabine Problem
For the inverse problem the reverberation time T is
given as the targeted reverberation time T
t
and the
1499
Drechsler: Algorithm to Find Absorber Distributions for Optimal Reverberation Times FORUM ACUSTICUM 2011
27. June - 1. July, Aalborg
equivalent absorption area shall be calculated. But
reversely equation 1 gives only the targeted sum and
no assignment of absorbers to walls:
A
t
= 0.161
V
T
t
=
n

i=1
A
i
(3)
To describe the assignment of absorbers to walls
it is assumed that for each wall i there is a set C
i
,
called catalog, containing m
i
= C
i
possible equiv-
alent absorption areas according to the absorber ma-
terials that may be selected for this wall:
C
i
= {A
ij
}, i = 1, . . . , n, j = 1, . . . , m
i
(4)
To determine for each absorber, whether it is se-
lected or not, it is useful to introduce a binary variable
x
ij
. When an absorber j from catalog i is selected, x
ij
is 1, otherwise it is 0. The targeted absorption area is
described as:
n

i=1
m
i

j=1
A
ij
x
ij
= A
t
(5)
Only a few of the x
ij
will be 1 instead of 0, because
from each catalog C
i
exact one absorber has to be
selected. This condition is expressed as:
m
i

j=1
x
ij
= 1, i = 1, . . . , n, (6)
with
x
ij
{0, 1}, i = 1, . . . , n, j = 1, . . . , m
i
(7)
2.2. Formulation as Subset Sum Problem
Instead of reaching the targeted equivalent absorption
area exactly as in equation 5, it is also allowed to
reach this target from below as close as possible. This
approach replaces equation 5 by two other equations:
maximize
n

i=1
m
i

j=1
A
ij
x
ij
(8)
subject to
n

i=1
m
i

j=1
A
ij
x
ij
A
t
(9)
Together with the condition of equation 6 and the
integrality condition 7 these equations describe in a
standard form a problem which is called Multiple
Choice Subset Sum Problem (MCSSP). One tries to
nd a subset from the set of all items, where the sum
of its elements reaches a target value as close as pos-
sible while one has to choose exact one of these items
from each catalog. The MCSSP is a special case from
a class of problems called knapsack problems.
For the inverse Sabine problem it is not necessary
to do this modication, but to see the connection to
the eld of knapsack problems, it is useful to refer to
the standard formulation.
In the area of operations research the knapsack
problems are handled for cases of combinatorial op-
timisation. From the numerous literature on dierent
cases of knapsack problems and its algorithms [2] and
[3] give a good overview on this topic.
2.3. Multidimensional
Up to this point the resulting MCSSP takes into re-
gard only a target value for a reverberation time at
one single frequency. Usually a target reverberation
time is specied for six octave bands with the mid fre-
quencies 125 Hz, 250 Hz, 500 Hz, 1000 Hz 2000 Hz and
4000 Hz. In this case an additional parameter needs
to be introduced to identify the octave band. Instead
of A
t
we get A
tf
for the targeted equivalent reverber-
ation time in the octave band f, with f = 1, . . . , d for
d = 6 octave bands. In the octave band f the absorber
j in Catalog i yields an equivalent absorption area of
A
ijf
.
maximize
n

i=1
m
i

j=1
A
ijf
x
ij
(10)
subject to
n

i=1
m
i

j=1
A
ijf
x
ij
A
tf
(11)
Equations 6 and 7 keep their validity also in this
d-dimensional case, as the selection of absorbers must
be the same for all octave bands.
This set of equations describes a d-dimensional MC-
SSP (d-MCSSP) where d is the number of used octave
bands. These octave bands are also referred to as com-
ponents of the multidimensional problem.
2.4. Properties of the d-MCSSP for rever-
beration time
The equivalent absorption areas of the catalog items
are called weights in the literature of knapsack prob-
lems. These weights are regarded to be integer num-
bers, which is no limitation because according to the
tolerances for the target reverberation times it is easy
to nd a unit area, so that the equivalent absorption
areas can be expressed approximately as integer mul-
tiples of this unit area.
The integer approach is also useful to meet the mul-
tiple objective function for each octave band of equa-
tion 10. Reaching the integer target value in each oc-
tave band exactly, grants to get the optimum value.
1500
Drechsler: Algorithm to Find Absorber Distributions for Optimal Reverberation Times FORUM ACUSTICUM 2011
27. June - 1. July, Aalborg
3. The Algorithm
As the one-dimensional MCSSP for the single oc-
tave bands can be processed independently from each
other, the suggested algorithm for the all octave band
d-MCSSP is divided into several steps. It is based on
a dynamic programming strategy [2, 3]. The term dy-
namic programming may be somehow misleading for
historical reasons [4], it means optimisation based on
the solution of subproblems.
The rst step generates the data structure neces-
sary for the dynamic programming of the single MC-
SSPs. Within these data it is possible to iterate all
the possible solutions for a single component.
The second step determines the intersection of these
solution sets.
3.1. Dynamic Programming
One of the standard approaches for a solution of knap-
sack problems is the concept of dynamic program-
ming. So the concept for this rst step needs only
minor adaptions to the algorithms presented in chap-
ter 2.3 and 11.5 of [2]
Based on the catalogs C
i
an additional data struc-
ture is calculated as seen in Figure 1. Each array
D
i
contains at index t a boolean value, that shows
whether a target value t can be reached or not with
all catalogs up to the i-th catalog.
As the indices of these arrays correspond to values
of equivalent absorption areas, it is essential that these
parameters are expressed as integer values. For array
D
0
no catalog at all is used, so only the value 0 is
reachable. Each additional catalog C
i
adds true-values
at additional indices in the next array according to the
values A
ij
of the items in the catalog. These additional
indices in D
i
dier from the reachable indices in D
i1
by the value of A
ij
.
Values beyond the targeted value cannot yield a
feasable solution, so it is not necessary to allocate
memory for more than A
t
values per catalog.
The last index A
t
in the last catalog C
n
shows im-
mediately, whether the target value can be reached or
not.
3.2. Iterating through the Set of Solutions
Starting from the target value A
t
in the last of these
arrays D
n
the algorithm goes back through the cat-
alogs: Select an item in catalog C
i
that leads from a
reachable value in the dynamic data structure D
i1
to
the focused reachable value in the dynamic data struc-
ture D
i
. This moves the focus from a target value in
D
i
to another target value in D
i1
. Performed for all
catalogs back to the rst catalog this algorithm leads
to a rst feasible solution as a tuple of selected items.
Assuming an order of the items in the catalogs, it
is also possible instead of selecting any item, to se-
lect the next feasible one after the previous selected
item. This procedure leads to an order of the tuples
A
11
.
.
.
2
.
.
.
4
.
.
.
A
1j
.
.
.
C
1
1
0
0
0
0
0
0
0
.
.
.
D
0
0
1
2
3
4
5
6
7
.
.
.
A
t
0
0
1
0
1
0
0
0
.
.
.
D
1
0
0
0
1
0
1
0
1
0
.
.
.
D
2
.
.
.
0
0
1
0
0
.
.
.
D
i-1
.
.
.
0
0
0
0
1
0
0
.
.
.
D
i
.
.
.
0
0
1
0
1
1
1
D
n
A
21
.
.
.
1
.
.
.
3
.
.
.
A
2j
.
.
.
C
2
A
i1
.
.
.
A
ij
.
.
.
C
i
C
n
. . . . . .
. . . . . .
A
n1
.
.
.
A
.
.
.
Figure 1. The concept of dynamic programming makes use
of data arrays D
i
, that show whether there are solutions
for subproblems consisting of the i rst catalogs of the
original problem.
of selected items. Therefore the tuple is also called se-
lection number. A selection number refers to the same
set of selected items in all components.
3.3. The Intersection Algorithm
A valid selection for the d-dimensional MCSSP is a
solution that is valid for each of its one-dimensional
components. To nd this intersection, two algorithms
are suggested and compared.
It is intented to integrate the suggested algorithms
in an interactive, computer aided design process, so
that the user can choose between several possible ab-
sorber assignments recommended by the algorithm.
Therefore it is assumed, that the user does not need
all possible selections at the same time, but one after
the other. For that reason the suggested intersection
algorithms start in a state with an arbitrary selection
of items in the catalogs and stops again, when the
next valid selection is reached. So in most cases, ex-
cept in the rst one, the starting arbitrary selection
will also be a valid one.
The algorithm 1, called All-Component-Step
(ACS), steps to the next valid selection in each com-
ponent and compares whether these selections are the
same. As the algorithm starts at a state of a valid se-
lection, line 1 is necessary to avoid that the condition
1501
Drechsler: Algorithm to Find Absorber Distributions for Optimal Reverberation Times FORUM ACUSTICUM 2011
27. June - 1. July, Aalborg
in line 8 prevents the loop from nding this already
found starting state a second time.
Algorithm 1 All-Component-Step
1: Increase selection in one octave band.
2: repeat
3: Identify octave band with largest selection
number.
4: for all octave bands do
5: Use selection from octave band with largest
selection number.
6: Select next valid selection.
7: end for
8: until same selection for all octave bands
Instead of comparing all components at the
same time, the algorithm 2, called Two-Component-
Step(TCS), compares the selections of two compo-
nents and if this comparison fails, it works on the
next valid selection instead of comparing with the
next component.
Algorithm 2 Two-Component-Step
1: Begin with second component.
2: repeat
3: Use selection from previous component.
4: Select next valid selection.
5: if the selection of this component is the same
as in previous component, then
6: go on with next component,
7: else
8: copy actual selection to the rst component,
9: Go on with second component.
10: end if
11: until last component reached.
The idea of both of these algorithm is to jump over
several valid selections in one component, when the
next valid selection in another component allows to
do so. The algorithm ACS needs more cycles for a
single comparison but may jump over more selections
in the single components than the algorithm TCS.
To help the TCS it is useful to work on the octave-
bands in a sequence so that the -values are least
correlated in subsequent octave bands. Therefore in
a variation of TCS the lowest octave band is used as
rst component and the highest as second, and so on.
4. The Performance
Because the target values in the subproblems are in-
teger values, there are many target values that can be
reached by dierent combinations of selected items.
This fact reduces the eort of computation when us-
ing dynamic programming compared with the naive
approach by checking all k
n
possible combinations,
where k is the number of items in each of the n cata-
logs. For example, the true-value at index 5 in D
2
in
Figure 1 can be reached by two ways (5 = 2 + 3 =
4 + 1), but needs only one entry. Therefore all valid
combinations are stored implicitely in the data struc-
ture of the arrays D
i
in an ecient way.
Setting up this data structure needs memory for
O(n d A
t
) items, where n is the number of catalogs,
d is the number of components and A
t
is the number
of the integer target value. The time complexity for
that operation is also O(n d A
t
) [2].
But the most of the CPU-time is used during the
following intersection algorithm. To compare TCS and
ACS for dierent cases two scenarios were used. The
rst one lled the catalogs with values corresponding
to equally distributed between 0 and 1. In a second
scenario the catalogs are lled with randomly selected
sets of equivalent absorption areas corresponding to
from an absorber database [5]. That means, the
absorption coecients in neighbouring octave bands
are not independent from each other. This correlation
may help the TCS. Both scenarios used d = 6 octave
bands, n = 9 catalogs, each with m
i
= 15 items, that
distinguish between 10 dierent absorption values.
All examples were processed on a single core of a
System with an Intel Core-2-Quad-CPU at 3 GHz.
The CPU-time to nd the next valid selection was
averaged over 50 random problem instances and over
all valid selections within these instances.
Distinguishing between dierent target values leads
to dierent sizes of the dynamic data structure and
therefore to dierent average CPU-times for nding
the next valid solutions. For this reason all results are
shown as a function of the target value.
As expected the number of valid selections depends
on the distribution of -values and their correlation
as shown in Figure 2.
As demonstrated in Figure 3 the intersection algo-
rithms need more CPU-time in the equally distributed
scenario (blue lines) than in the scenario with a real
distribution(red and black lines).
In the rst scenario ACS is faster than TCS. This is
not as obvious in the second scenario. Here it is clear,
that the ACS (black and red dotted lines) can not take
an advantage from the correlation of the -values in
neighbouring octave bands.
As the TCS (black and red continuous lines) takes
into regard the sequence of octave bands, there is a
dierence between the case without (red) and with
(black) making use of the correlation between subse-
quent octave bands.
5. Conclusion and Outlook
The formulation of the inverse Sabine problem as a
d-dimensional Multiple Choice Subset Sum Problem
1502
Drechsler: Algorithm to Find Absorber Distributions for Optimal Reverberation Times FORUM ACUSTICUM 2011
27. June - 1. July, Aalborg
0 10 20 30 40 50 60 70
0
20
40
60
80
100
120
Target Value
Number of valid selections
Figure 2. The distribution of the numbers of valid solu-
tions due to the target value depends on the distribution
of the absorption values of the absorbers. With an equal
distribution(red) higher target values are more likely than
with distribution of real absorbers(black).
0 10 20 30 40 50 60 70
1.0E-6
1.0E-5
1.0E-4
1.0E-3
1.0E-2
1.0E-1
1.0E+0
1.0E+1
Target Value
CPU-time [s]
Figure 3. The CPU-times to nd the next valid selection
as a function of target value for equally random distribu-
tion of (blue), for real distribution of without (red)
and with (black) making use of the correlation. Both al-
gorithms TCS (line) and ACS (dotted) were used.
makes a lot of algorithmic concepts accessible, that
are already well known in operations research. Some
modications of algorithms from that area are neces-
sary to t the demands of acoustical design. On the
other hand these modications can also take use of
the correlation of absorber data to accelerate the al-
gorithm.
The shown approach with the concept of dynamic
programming can therefore be only a rst step. It is
also worth to have a look to other algorithmic con-
cepts as e. g. relaxation techniques or greedy algo-
rithms [2, 3].
As most knapsack problems are formulated for in-
tegers rather than continuous values there is also the
question of roundo errors that needs to get a closer
look at those eects.
And last but not least it is still a lot to do to im-
plement these algorithms in a software that helps ar-
chitects in an intuitive manner to design good room
acoustics for usual rooms.
Acknowledgement
The project Computer Aided Room Acoustical Op-
timisation (CARAO) is funded by the German Fed-
eration of Industrial Research Associations.
References
[1] H. Kuttru: Room acoustics. Spon Press/Taylor &
Francis, London, 2009.
[2] H. Kellerer, U. Pferschy, D. Pisinger: Knapsack prob-
lems. Springer, Berlin, 2004.
[3] S. Martello, P. Toth: Knapsack problems. John Wiley
and Sons, Chichester, 1990.
[4] R. Bellmann: Dynamic programming. Princeton Uni-
versity Press, Princeton, 1957.
[5] Physikalisch Technische Bundesanstalt: Absorption
grade (a) - data collection. http://www.ptb.de/en/
org/1/16/163/_raumakustik.htm, Braunschweig, (14
March 2010).
1503

You might also like